|
@@ -255,10 +255,30 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
|
|
|
*/
|
|
|
@Transactional
|
|
|
public int addXS2LoadResult(Map<String, Object> map) throws Exception {
|
|
|
- int j=0;
|
|
|
+
|
|
|
+ //通过运输订单号查询订单类型
|
|
|
+ String orderNumber = (String) map.get("orderNumber");
|
|
|
+ //通过订单号查询订单类型 及总实绩Id
|
|
|
+ Map<String, Object> mesMap = utilsMapper.getOrderTypeByOrderNumber(orderNumber);
|
|
|
+ String capacityNumber = (String) mesMap.get("capacityNumber");
|
|
|
+ BigDecimal orderType = DataChange.dataToBigDecimal(mesMap.get("orderType"));
|
|
|
+ BigDecimal resultTotalId = DataChange.dataToBigDecimal(mesMap.get("totalId"));
|
|
|
+ if(orderType.intValue() == 11){
|
|
|
+ Integer sqe = DataChange.dataToBigDecimal(mesMap.get("Sqe")).intValue();
|
|
|
+ sqe = sqe + 1;
|
|
|
+ map.put("resultId",tmstruckLoadResultMapper.selectMaxId());
|
|
|
+ map.put("Sqe",sqe);//查询路段顺序号+1
|
|
|
+ map.put("resultTotalId", resultTotalId);
|
|
|
+ int i =tmstruckLoadResultMapper.insertSelective(generateLoad(map));
|
|
|
+ //更新路段顺序号
|
|
|
+ mesMap.put("orderLineSequence",sqe);
|
|
|
+ utilsService.updateOrderLineSqeByOrderNumber(mesMap);
|
|
|
+ //推送消息到websocket
|
|
|
+ utilsService.pushMesToWebsocket(capacityNumber, "装货");
|
|
|
+ return i;
|
|
|
+ }
|
|
|
//通过运输订单号 查询 总实绩ID、订单类型
|
|
|
Map<String,Object> orderMap = tmstruckEnfactoryResultMapper.selectTotalResultIdByCpAndOn(map);
|
|
|
- BigDecimal resultTotalId = (BigDecimal) orderMap.get("resultTotalId");
|
|
|
//查询装车实绩ID
|
|
|
map.putAll(tmstruckLoadResultMapper.getLoadResultIdByMIdAndTotalId(resultTotalId.intValue(), null));
|
|
|
TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
|
|
@@ -281,18 +301,6 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
|
|
|
tmstruckLoadResult.setLoaderId(new BigDecimal(personnelId));
|
|
|
}
|
|
|
}
|
|
|
- BigDecimal orderType =(BigDecimal) orderMap.get("orderType");
|
|
|
- BigDecimal orderId=DataChange.dataToBigDecimal("orderId");
|
|
|
- if (orderType.intValue()==11){
|
|
|
- //判断是否需要第二次计量
|
|
|
- //根据运输订单号查找物资
|
|
|
- Integer materialNum = utilsMapper.countMaterialByOrderId(orderId);
|
|
|
- if (materialNum>1) {
|
|
|
- //发送第二次计量委托
|
|
|
- j += tmstruckMeasureCommissionService.sendMeasureCommssion(map);
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
// 更新装货点
|
|
|
tmstruckLoadResult.setLoadingId(DataChange.dataToBigDecimal(map.get("warehouseId")));
|
|
|
//更新路段顺序号
|
|
@@ -305,16 +313,42 @@ public class TmstruckLoadResultServiceImpl implements ITmstruckLoadResultService
|
|
|
}
|
|
|
tmstruckLoadResult.setInsertUpdateRemark(insertUpdateRemark);
|
|
|
}
|
|
|
- if (j == 0) {
|
|
|
- throw new Exception("第二次委托发送失败");
|
|
|
- }
|
|
|
tmstruckLoadResult.setCaseNumber((String) map.get("caseNumber"));
|
|
|
i += tmstruckLoadResultMapper.updateByPrimaryKeySelective(tmstruckLoadResult);
|
|
|
//推送消息到websocket
|
|
|
- utilsService.pushMesToWebsocket((String) orderMap.get("capacityNumber"), "装货");
|
|
|
+ utilsService.pushMesToWebsocket(capacityNumber, "装货");
|
|
|
return i;
|
|
|
}
|
|
|
|
|
|
+ //内转添加装货实绩
|
|
|
+ private TmstruckLoadResult generateLoad(Map<String, Object> map) {
|
|
|
+ TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
|
|
|
+ tmstruckLoadResult.setId(DataChange.dataToBigDecimal(map.get("resultId")));
|
|
|
+ tmstruckLoadResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
|
|
|
+ tmstruckLoadResult.setStatus(new BigDecimal(0));
|
|
|
+ tmstruckLoadResult.setSegmentSqe(DataChange.dataToBigDecimal(map.get("Sqe")));
|
|
|
+ tmstruckLoadResult.setMaterialId(DataChange.dataToBigDecimal(map.get("materialId")));
|
|
|
+ //添加装车开始时间
|
|
|
+ Date loadStartTime = new Date((long) map.get("loadStartTime"));
|
|
|
+ tmstruckLoadResult.setResultLoadStartTime(loadStartTime);
|
|
|
+ //添加装车结束时间(当前时间)
|
|
|
+ Date loadEndTime = new Date();
|
|
|
+ tmstruckLoadResult.setResultLoadEndTime(loadEndTime);
|
|
|
+ //计算装车时长 取分钟
|
|
|
+ long differentTime = (loadEndTime.getTime() - loadStartTime.getTime()) / 60000;
|
|
|
+ tmstruckLoadResult.setResultLoadDuration(new BigDecimal(differentTime));
|
|
|
+ if(map.get("personnelSsoId") != null){
|
|
|
+ //通过SSo主键查询人员管理主键
|
|
|
+ Integer personnelId = utilsMapper.getPersonnelIdBySsoId((String) map.get("personnelSsoId"));
|
|
|
+ if(personnelId != null){
|
|
|
+ tmstruckLoadResult.setLoaderId(new BigDecimal(personnelId));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 添加装货点
|
|
|
+ tmstruckLoadResult.setLoadingId(DataChange.dataToBigDecimal(map.get("warehouseId")));
|
|
|
+ return tmstruckLoadResult;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 更改最大路段顺序号 -1
|
|
|
* @Author TXF
|