Showing
1 changed file
with
30 additions
and
0 deletions
| @@ -1289,10 +1289,40 @@ public class ContractDistributorStandardServiceImpl extends | @@ -1289,10 +1289,40 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 1289 | 1289 | ||
| 1290 | OpLogUtil.setVariable("id", id); | 1290 | OpLogUtil.setVariable("id", id); |
| 1291 | OpLogUtil.setExtra(vo); | 1291 | OpLogUtil.setExtra(vo); |
| 1292 | + ContractDistributorStandard data = findById(id); | ||
| 1293 | + if (isEligibleForPurchaseOrder(data)) { | ||
| 1294 | + //框架合同只走办事处内勤审核(办事处内勤审核通过就生成订货单)保险起见,审核完成的时候再次生成一次(已经生成会过滤掉) | ||
| 1295 | + createPurchaseOrderInfo(data, "PRODUCTION"); | ||
| 1296 | + } | ||
| 1297 | + | ||
| 1292 | 1298 | ||
| 1293 | cleanCacheByKey(id); | 1299 | cleanCacheByKey(id); |
| 1294 | } | 1300 | } |
| 1295 | 1301 | ||
| 1302 | + private boolean isEligibleForPurchaseOrder(ContractDistributorStandard data) { | ||
| 1303 | + if (data == null) return false; // 增加空指针防御 | ||
| 1304 | + | ||
| 1305 | + String status = data.getStatus(); | ||
| 1306 | + String type = data.getType(); | ||
| 1307 | + | ||
| 1308 | + // 条件1:STANDARD 状态 + 5种特定类型 | ||
| 1309 | + boolean isStandardMatch = "STANDARD".equals(status) && ( | ||
| 1310 | + "DISTRIB_STD".equals(type) || | ||
| 1311 | + "INTL_STD_CONTRACT".equals(type) || | ||
| 1312 | + "PROCESS_STD_AGMT".equals(type) || | ||
| 1313 | + "DRAFT_DIST_AGMT".equals(type) || | ||
| 1314 | + "INTL_OPEN_SPEC_AGMT".equals(type) | ||
| 1315 | + ); | ||
| 1316 | + | ||
| 1317 | + // 条件2:FORMAL 状态 + 2种特定类型(加上括号,彻底消除优先级隐患) | ||
| 1318 | + boolean isFormalMatch = "FORMAL".equals(status) && ( | ||
| 1319 | + "DIST_STOCK_CONTRACT".equals(type) || | ||
| 1320 | + "INTL_INVENTORY_AGMT".equals(type) | ||
| 1321 | + ); | ||
| 1322 | + | ||
| 1323 | + return isStandardMatch || isFormalMatch; | ||
| 1324 | + } | ||
| 1325 | + | ||
| 1296 | @Override | 1326 | @Override |
| 1297 | @OpLog(type = OtherOpLogType.class, name = "合同删除,ID:{}", params = {"#id"}) | 1327 | @OpLog(type = OtherOpLogType.class, name = "合同删除,ID:{}", params = {"#id"}) |
| 1298 | @Transactional(rollbackFor = Exception.class) | 1328 | @Transactional(rollbackFor = Exception.class) |