Commit c8a84cc053adc7a6e0527c828b32fb6dfccd93a4

Authored by 房远帅
1 parent c47d9e6f

合同管理:销售订单审核分支有时候不生成订货单问题处理

@@ -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)