|
@@ -857,19 +857,19 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
for (Map<String,Object> map : mapList) {
|
|
|
// 得到车牌号
|
|
|
String capacityNumber = (String) map.get("capacityNumber");
|
|
|
- Map<String,Object> details = amsSaleOrderMapper.getOrderIdByCapacity(map);
|
|
|
- if(details!=null && details.get("orderId")!=null){
|
|
|
- if(details.get("isEn")==null){
|
|
|
- throw new Exception(capacityNumber+"有未进厂的运输订单任务,无法派单");
|
|
|
- }else if(details.get("isLeave")==null){
|
|
|
- throw new Exception(capacityNumber+"有未出厂的运输订单任务,无法派单");
|
|
|
- }else if(details.get("isArrival")==null){
|
|
|
- throw new Exception(capacityNumber+"有未抵达的运输订单任务,无法派单");
|
|
|
- }else if(details.get("isReceipt")==null){
|
|
|
- throw new Exception(capacityNumber+"有未签收的运输订单任务,无法派单");
|
|
|
- }
|
|
|
- throw new Exception(capacityNumber+"有未完成的运输订单任务,无法派单");
|
|
|
- }
|
|
|
+ //Map<String,Object> details = amsSaleOrderMapper.getOrderIdByCapacity(map);
|
|
|
+ //if(details!=null && details.get("orderId")!=null){
|
|
|
+ // if(details.get("isEn")==null){
|
|
|
+ // throw new Exception(capacityNumber+"有未进厂的运输订单任务,无法派单");
|
|
|
+ // }else if(details.get("isLeave")==null){
|
|
|
+ // throw new Exception(capacityNumber+"有未出厂的运输订单任务,无法派单");
|
|
|
+ // }else if(details.get("isArrival")==null){
|
|
|
+ // throw new Exception(capacityNumber+"有未抵达的运输订单任务,无法派单");
|
|
|
+ // }else if(details.get("isReceipt")==null){
|
|
|
+ // throw new Exception(capacityNumber+"有未签收的运输订单任务,无法派单");
|
|
|
+ // }
|
|
|
+ // throw new Exception(capacityNumber+"有未完成的运输订单任务,无法派单");
|
|
|
+ //}
|
|
|
if(isCheckGps!=null && isCheckGps==0){
|
|
|
Map<String,Object> locationResult = null;
|
|
|
try{
|
|
@@ -2339,5 +2339,84 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public int adverseCloseSaleMaterialByEas(BigDecimal saleMaterialId) {
|
|
|
+ AmsSaleMaterial amsSaleMaterial = amsSaleMaterialMapper.selectByPrimaryKey(saleMaterialId);
|
|
|
+ int result = amsSaleMaterialMapper.adverseCloseSaleMaterial(saleMaterialId);
|
|
|
+ AmsSaleOrder amsSaleOrder = amsSaleOrderMapper.selectByPrimaryKey(amsSaleMaterial.getSaleOrderId());
|
|
|
+ // 根据分录id查询运单id,物资id,总实绩id
|
|
|
+ Map<String,Object> saleMaterialMap = amsSaleOrderMapper.getSaleMaterialMessage(saleMaterialId);
|
|
|
+ BigDecimal orderId = (BigDecimal) saleMaterialMap.get("orderId");
|
|
|
+ BigDecimal orderStatus = (BigDecimal) saleMaterialMap.get("orderStatus");
|
|
|
+ //查询订单字表条数
|
|
|
+ int orderMaterialNum = omstruckOrderMapper.getOrderMaterialNum(orderId);
|
|
|
+ //查询计量实绩条数
|
|
|
+ int weightResultNum = omstruckOrderMapper.getWeightResultNum(orderId);
|
|
|
+ if (orderId != null && orderStatus.intValue() == 5 && orderMaterialNum != weightResultNum) {
|
|
|
+ BigDecimal resultTotalId = (BigDecimal) saleMaterialMap.get("resultTotalId");
|
|
|
+ BigDecimal materialId = (BigDecimal) saleMaterialMap.get("materialId");
|
|
|
+ // 根据总实绩id查询订单中的最大路段顺序号
|
|
|
+ // 得到皮重顺序号
|
|
|
+ int tareNum = (weightResultNum + 1) * 3 - 1;
|
|
|
+ // 得到装货顺序号
|
|
|
+ int loadNum = (weightResultNum + 1) * 3;
|
|
|
+ // 得到毛重顺序号
|
|
|
+ int grossNum = (weightResultNum + 1) * 3 + 1;
|
|
|
+ // 装货实绩
|
|
|
+ TmstruckLoadResult tmstruckLoadResult = new TmstruckLoadResult();
|
|
|
+ TmstruckWeightResult tmstruckWeightResult = new TmstruckWeightResult();
|
|
|
+ tmstruckLoadResult.setResultId(tmstruckLoadResultMapper.selectMaxId());
|
|
|
+ tmstruckLoadResult.setResultTotalId(resultTotalId);
|
|
|
+ tmstruckLoadResult.setSegmentSqe(new BigDecimal(loadNum));
|
|
|
+ result += tmstruckLoadResultMapper.insertSelective(tmstruckLoadResult);
|
|
|
+ // 计量实绩
|
|
|
+ tmstruckWeightResult.setWeightTaskResultId(tmstruckWeightResultMapper.selectMaxId());
|
|
|
+ tmstruckWeightResult.setResultTotalId(resultTotalId);
|
|
|
+ tmstruckWeightResult.setResultTarePlaceId(new BigDecimal(10));
|
|
|
+ tmstruckWeightResult.setResultGrossPlaceId(new BigDecimal(2));
|
|
|
+ tmstruckWeightResult.setGrossSegmentSqe(new BigDecimal(grossNum));
|
|
|
+ tmstruckWeightResult.setTareSegmentSqe(new BigDecimal(tareNum));
|
|
|
+ result += tmstruckWeightResultMapper.insertSelective(tmstruckWeightResult);
|
|
|
+
|
|
|
+ // 出库子表
|
|
|
+ BigDecimal outBoundId = (BigDecimal) saleMaterialMap.get("outBoundId");
|
|
|
+ BigDecimal materialNumber = (BigDecimal) saleMaterialMap.get("materialNumber");
|
|
|
+ if (outBoundId != null) {
|
|
|
+ BigDecimal resultMaterialId = wmspOutboundResultMaterialMapper.getSeqNumber("seq__WMSP_OUTBOUND_RESUL_TMATRIAL");
|
|
|
+ WmspOutboundResultMaterial wmspOutboundResultMaterial = new WmspOutboundResultMaterial();
|
|
|
+ wmspOutboundResultMaterial.setResultMaterialId(resultMaterialId);
|
|
|
+ wmspOutboundResultMaterial.setOutboundResultId(outBoundId);
|
|
|
+ wmspOutboundResultMaterial.setMaterialId(materialId);
|
|
|
+ wmspOutboundResultMaterial.setMaterialNumber(materialNumber);
|
|
|
+ wmspOutboundResultMaterial.setInsertTime(new Date());
|
|
|
+ wmspOutboundResultMaterial.setInsertUsername("admin");
|
|
|
+ wmspOutboundResultMaterial.setStatus(new BigDecimal(1));
|
|
|
+ result += wmspOutboundResultMaterialMapper.insertSelective(wmspOutboundResultMaterial);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //去掉取消装货
|
|
|
+ result += omstruckOrderMaterialMapper.updateOmsMaterial(saleMaterialMap);
|
|
|
+ if (orderId != null && orderStatus.intValue() == 7) {
|
|
|
+ //如果订单被关闭,那么还原
|
|
|
+ //判断下面有没有实绩
|
|
|
+ int resultCount = omstruckOrderMapper.getResultCount(orderId);
|
|
|
+ OmstruckOrder omstruckOrder = new OmstruckOrder();
|
|
|
+ if (resultCount == 0) {
|
|
|
+ omstruckOrder.setOrderId(orderId);
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(4));
|
|
|
+ omstruckOrder.setInsertUpdateRemark("反关闭分录,运单同步开启");
|
|
|
+ omstruckOrder.setUpdateTime(new Date());
|
|
|
+ omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
+ }else{
|
|
|
+ omstruckOrder.setOrderId(orderId);
|
|
|
+ omstruckOrder.setOrderStatus(new BigDecimal(5));
|
|
|
+ omstruckOrder.setInsertUpdateRemark("反关闭分录,运单同步开启");
|
|
|
+ omstruckOrder.setUpdateTime(new Date());
|
|
|
+ omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|