|
@@ -2290,7 +2290,7 @@ public class OmsTransOrderServiceImpl {
|
|
|
List<Map<String, Object>> mapList = (ArrayList) map.get("list");
|
|
List<Map<String, Object>> mapList = (ArrayList) map.get("list");
|
|
|
Map<String, Object> orderChild = new HashMap<>();
|
|
Map<String, Object> orderChild = new HashMap<>();
|
|
|
orderChild.put("planChildId", DataChange.dataToBigDecimal(map.get("planChildId")));
|
|
orderChild.put("planChildId", DataChange.dataToBigDecimal(map.get("planChildId")));
|
|
|
- List<OmsOrderChild> omsOrderChildList = omsOrderChildMapper.selectByParameters(orderChild);
|
|
|
|
|
|
|
+// List<OmsOrderChild> omsOrderChildList = omsOrderChildMapper.selectByParameters(orderChild);
|
|
|
//效验是否超出计划重量
|
|
//效验是否超出计划重量
|
|
|
BigDecimal sumWeight = new BigDecimal(0);
|
|
BigDecimal sumWeight = new BigDecimal(0);
|
|
|
Map<String, Object> transPlanMap = new HashMap<>();
|
|
Map<String, Object> transPlanMap = new HashMap<>();
|
|
@@ -2458,7 +2458,39 @@ public class OmsTransOrderServiceImpl {
|
|
|
params.put("bhnm","");
|
|
params.put("bhnm","");
|
|
|
}
|
|
}
|
|
|
mapArray.add(params);
|
|
mapArray.add(params);
|
|
|
-
|
|
|
|
|
|
|
+ if(planDetails.get("sbdd") != null) {
|
|
|
|
|
+ //司磅地点不为空,判断是否需要做限制
|
|
|
|
|
+ List<String> controlList = omsTransOrderMapper.getControlList(planDetails.get("sbdd").toString());
|
|
|
|
|
+ //说明需要控制
|
|
|
|
|
+ if(controlList.size() > 0 ) {
|
|
|
|
|
+ Map<String, Object> dzInfoMap = dzFeign.getCapacityDetails(capacity);
|
|
|
|
|
+ if(dzInfoMap == null || dzInfoMap.get("hzlx") == null) {
|
|
|
|
|
+ throw new Exception("请核对车辆信息!");
|
|
|
|
|
+ }
|
|
|
|
|
+ if(!dzInfoMap.get("hzlx").toString().equals(capacity.get("capacityType"))) {
|
|
|
|
|
+ throw new Exception("请核对车辆信息!");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ Map<String,Object> queryMap = new HashMap<>();
|
|
|
|
|
+ queryMap.put("tdls",planDetails.get("tdls") != null ? planDetails.get("tdls"):planDetails.get("transRequirementId"));
|
|
|
|
|
+ queryMap.put("businessScene",businessMap.get("businessScene"));
|
|
|
|
|
+ String sbdd = dzFeign.getSbdd(queryMap);
|
|
|
|
|
+ if(sbdd != null) {
|
|
|
|
|
+ //司磅地点不为空,判断是否需要做限制
|
|
|
|
|
+ List<String> controlList = omsTransOrderMapper.getControlList(sbdd);
|
|
|
|
|
+ //说明需要控制
|
|
|
|
|
+ if(controlList.size() > 0 ) {
|
|
|
|
|
+ Map<String, Object> dzInfoMap = dzFeign.getCapacityDetails(capacity);
|
|
|
|
|
+ if(dzInfoMap == null || dzInfoMap.get("hzlx") == null) {
|
|
|
|
|
+ throw new Exception("请核对车辆信息!");
|
|
|
|
|
+ }
|
|
|
|
|
+ if(!dzInfoMap.get("hzlx").toString().equals(capacity.get("capacityType"))) {
|
|
|
|
|
+ throw new Exception("请核对车辆信息!");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
//推送车辆档案
|
|
//推送车辆档案
|
|
|
Map<String,Object> capacityMap = new HashMap<>();
|
|
Map<String,Object> capacityMap = new HashMap<>();
|
|
|
capacity = omsTransOrderMapper.findCapacityMes(omsTransOrder.getCapacityId());
|
|
capacity = omsTransOrderMapper.findCapacityMes(omsTransOrder.getCapacityId());
|
|
@@ -2466,7 +2498,6 @@ public class OmsTransOrderServiceImpl {
|
|
|
capacityMap.putAll(capacity);
|
|
capacityMap.putAll(capacity);
|
|
|
capacityMap.putAll(driver);
|
|
capacityMap.putAll(driver);
|
|
|
daZongUtil.execute("30010000002", new Map[]{capacityMap});
|
|
daZongUtil.execute("30010000002", new Map[]{capacityMap});
|
|
|
-
|
|
|
|
|
//新增各类实绩
|
|
//新增各类实绩
|
|
|
creatTransResult(lineId, omsTransOrder.getTransOrderId(), omsOrderChild.getPlanChildId(),map.get("userName").toString());
|
|
creatTransResult(lineId, omsTransOrder.getTransOrderId(), omsOrderChild.getPlanChildId(),map.get("userName").toString());
|
|
|
}
|
|
}
|
|
@@ -3324,10 +3355,29 @@ public class OmsTransOrderServiceImpl {
|
|
|
if(dzInfoMap == null || dzInfoMap.get("hzlx") == null) {
|
|
if(dzInfoMap == null || dzInfoMap.get("hzlx") == null) {
|
|
|
throw new Exception("请核对车辆信息!");
|
|
throw new Exception("请核对车辆信息!");
|
|
|
}
|
|
}
|
|
|
- if(!dzInfoMap.get("hzlx").toString().equals(capacity.get("cllx"))) {
|
|
|
|
|
|
|
+ if(!dzInfoMap.get("hzlx").toString().equals(capacity.get("capacityType"))) {
|
|
|
throw new Exception("请核对车辆信息!");
|
|
throw new Exception("请核对车辆信息!");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ }else{
|
|
|
|
|
+ Map<String,Object> queryMap = new HashMap<>();
|
|
|
|
|
+ queryMap.put("tdls",planDetails.get("tdls") != null ? planDetails.get("tdls"):planDetails.get("transRequirementId"));
|
|
|
|
|
+ queryMap.put("businessScene",businessMap.get("businessScene"));
|
|
|
|
|
+ String sbdd = dzFeign.getSbdd(queryMap);
|
|
|
|
|
+ if(sbdd != null) {
|
|
|
|
|
+ //司磅地点不为空,判断是否需要做限制
|
|
|
|
|
+ List<String> controlList = omsTransOrderMapper.getControlList(sbdd);
|
|
|
|
|
+ //说明需要控制
|
|
|
|
|
+ if(controlList.size() > 0 ) {
|
|
|
|
|
+ Map<String, Object> dzInfoMap = dzFeign.getCapacityDetails(capacity);
|
|
|
|
|
+ if(dzInfoMap == null || dzInfoMap.get("hzlx") == null) {
|
|
|
|
|
+ throw new Exception("请核对车辆信息!");
|
|
|
|
|
+ }
|
|
|
|
|
+ if(!dzInfoMap.get("hzlx").toString().equals(capacity.get("capacityType"))) {
|
|
|
|
|
+ throw new Exception("请核对车辆信息!");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
Map<String, Object> capacityMes = omsTransOrderMapper.findCapacityMes(omsTransOrder.getCapacityId());
|
|
Map<String, Object> capacityMes = omsTransOrderMapper.findCapacityMes(omsTransOrder.getCapacityId());
|
|
|
Map<String, Object> driverMes = omsTransOrderMapper.findDriverMes(omsTransOrder.getDriverId());
|
|
Map<String, Object> driverMes = omsTransOrderMapper.findDriverMes(omsTransOrder.getDriverId());
|
|
@@ -6487,4 +6537,92 @@ public class OmsTransOrderServiceImpl {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ public synchronized void reGenerateTransOrder(Map<String,Object> map) throws Exception {
|
|
|
|
|
+ try {
|
|
|
|
|
+ // 查询运输订单号是否存在系统
|
|
|
|
|
+ BigDecimal transOrderId = omsTransOrderMapper.checkTransOrder(map);
|
|
|
|
|
+ if(transOrderId != null) {
|
|
|
|
|
+ OmsTransOrder omsTransOrder = omsTransOrderMapper.selectByPrimaryKey(transOrderId);
|
|
|
|
|
+ omsTransOrder.setDeleted(new BigDecimal(2));
|
|
|
|
|
+ omsTransOrderMapper.updateByPrimaryKeySelective(omsTransOrder);
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ //去大宗查询数据
|
|
|
|
|
+ Map<String,Object> map1 = dzFeign.getTransOrderByNo(map);
|
|
|
|
|
+ String capacityNumber = map1.get("capacityNumber").toString();
|
|
|
|
|
+ // 根据车牌号查找车号
|
|
|
|
|
+ BigDecimal capacityId =omsTransOrderMapper.selectCapacityId(capacityNumber);
|
|
|
|
|
+ BigDecimal driverId = omsTransOrderMapper.selectDriverId(map1);
|
|
|
|
|
+ Date issueTime = DataChange.dataToDate(map1.get("issueTime").toString());
|
|
|
|
|
+ BigDecimal transRequirementId = DataChange.dataToBigDecimal(map1.get("transRequirementId").toString());
|
|
|
|
|
+ AmsTransRequirement amsTransRequirement = amsTransRequirementMapper.selectByPrimaryKey(transRequirementId);
|
|
|
|
|
+ BigDecimal requirementChildId = DataChange.dataToBigDecimal(map1.get("requirementChildId").toString());
|
|
|
|
|
+ AmsRequirementChild amsRequirementChild = amsRequirementChildMapper.selectByPrimaryKey(requirementChildId);
|
|
|
|
|
+ BigDecimal materialNumber = DataChange.dataToBigDecimal(map1.get("materialNumber").toString());
|
|
|
|
|
+ BigDecimal transOrderChildId = DataChange.dataToBigDecimal(map1.get("transOrderChildId").toString());
|
|
|
|
|
+ String planNo = map1.get("planNo").toString();
|
|
|
|
|
+ // 根据计划号及需求主子表信息找计划子表id
|
|
|
|
|
+ BigDecimal planChildId = omsTransOrderMapper.getPlanChildId(planNo);
|
|
|
|
|
+ // 查询路线id
|
|
|
|
|
+ BigDecimal lineId = amsTransRequirement.getLineId();
|
|
|
|
|
+ if(map1 == null) {
|
|
|
|
|
+ throw new Exception("未找到运单信息");
|
|
|
|
|
+ }
|
|
|
|
|
+ String transOrderNumber = map.get("transOrderNumber").toString();
|
|
|
|
|
+ //截取运单信息
|
|
|
|
|
+ if (transOrderNumber == null || !transOrderNumber.startsWith("YSDD") || transOrderNumber.length() < 12) {
|
|
|
|
|
+ throw new Exception("无效运单号");
|
|
|
|
|
+ }
|
|
|
|
|
+ // 截取固定前缀(前12位)后的部分
|
|
|
|
|
+ String remainingPart = transOrderNumber.substring(12);
|
|
|
|
|
+ // 去除前导0(如果没有0,会保持原字符串不变)
|
|
|
|
|
+ String serialNumber = remainingPart.replaceAll("^0+", "");
|
|
|
|
|
+ // 处理全0的特殊情况
|
|
|
|
|
+ if (serialNumber.isEmpty()) {
|
|
|
|
|
+ serialNumber = "0";
|
|
|
|
|
+ }
|
|
|
|
|
+ transOrderId = DataChange.dataToBigDecimal(serialNumber);
|
|
|
|
|
+ // 根据运单ID删除所有实绩
|
|
|
|
|
+ tmsEnfactoryResultMapper.updateResult(transOrderId);
|
|
|
|
|
+ tmsLoadResultMapper.updateResult(transOrderId);
|
|
|
|
|
+ tmsOutfactoryResultMapper.updateResult(transOrderId);
|
|
|
|
|
+ tmsSignInResultMapper.updateResult(transOrderId);
|
|
|
|
|
+ tmsWeightResultMapper.updateResult(transOrderId);
|
|
|
|
|
+ tmsUnloadResultMapper.updateResult(transOrderId);
|
|
|
|
|
+ tmsQualityResultMapper.updateResult(transOrderId);
|
|
|
|
|
+ OmsTransOrder omsTransOrder = new OmsTransOrder();
|
|
|
|
|
+ omsTransOrder.setTransOrderId(transOrderId);
|
|
|
|
|
+ omsTransOrder.setSerialNumber(transOrderNumber);
|
|
|
|
|
+ omsTransOrder.setCapacityId(capacityId);
|
|
|
|
|
+ omsTransOrder.setCurrentLineSeq(BigDecimal.ZERO);
|
|
|
|
|
+ omsTransOrder.setLineId(lineId);
|
|
|
|
|
+ omsTransOrder.setIssueTime(issueTime);
|
|
|
|
|
+ omsTransOrder.setInsertTime(new Date());
|
|
|
|
|
+ omsTransOrder.setDeleted(new BigDecimal(2));
|
|
|
|
|
+ omsTransOrder.setInsertUsername("admin");
|
|
|
|
|
+ omsTransOrder.setDriverId(driverId);
|
|
|
|
|
+ omsTransOrder.setInsertUpdateRemark("系统自动补录生成");
|
|
|
|
|
+ //新增运输订单子表
|
|
|
|
|
+ omsTransOrder.setOrderType(amsTransRequirement.getBusinessType());//设置运单类型为业务类型
|
|
|
|
|
+ entityDispose.disposeOmsTransOrder(omsTransOrder);
|
|
|
|
|
+ OmsOrderChild omsOrderChild = new OmsOrderChild();
|
|
|
|
|
+ omsOrderChild.setOrderChildId(transOrderChildId);
|
|
|
|
|
+ omsOrderChild.setTransOrderId(omsTransOrder.getTransOrderId());
|
|
|
|
|
+ omsOrderChild.setPlanChildId(planChildId);
|
|
|
|
|
+ omsOrderChild.setMaterialId(amsRequirementChild.getMaterialId());
|
|
|
|
|
+ omsOrderChild.setMaterialNumber(materialNumber);
|
|
|
|
|
+ omsOrderChild.setInsertTime(new Date());
|
|
|
|
|
+ omsOrderChild.setInsertUsername("admin");
|
|
|
|
|
+ omsOrderChild.setDeleted(BigDecimal.ZERO);
|
|
|
|
|
+ entityDispose.disposeOrderChild(omsOrderChild);
|
|
|
|
|
+ creatTransResult(lineId, transOrderId,planChildId, "admin");
|
|
|
|
|
+ omsTransOrderMapper.insertSelective(omsTransOrder);
|
|
|
|
|
+ omsOrderChildMapper.insertSelective(omsOrderChild);
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|