|
@@ -1,13 +1,21 @@
|
|
|
package com.steerinfo.dil.service.impl;
|
|
|
|
|
|
+import com.steerinfo.dil.feign.OmsFeign;
|
|
|
+import com.steerinfo.dil.feign.QmsFeign;
|
|
|
+import com.steerinfo.dil.mapper.TmstruckEnfactoryResultMapper;
|
|
|
import com.steerinfo.dil.mapper.TmstruckTotalResultMapper;
|
|
|
+import com.steerinfo.dil.mapper.TmstruckWeightResultMapper;
|
|
|
+import com.steerinfo.dil.model.TmstruckEnfactoryResult;
|
|
|
import com.steerinfo.dil.model.TmstruckTotalResult;
|
|
|
+import com.steerinfo.dil.model.TmstruckWeightResult;
|
|
|
import com.steerinfo.dil.service.ITmstruckTotalResultService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.Date;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
@@ -22,6 +30,15 @@ public class TmstruckTotalResultServiceImpl implements ITmstruckTotalResultServi
|
|
|
@Autowired
|
|
|
private TmstruckTotalResultMapper tmstruckTotalResultMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private OmsFeign omsFeign;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ TmstruckEnfactoryResultMapper tmstruckEnfactoryResultMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ TmstruckWeightResultMapper tmstruckWeightResultMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 新增实绩总表
|
|
|
* 运输订单ID
|
|
@@ -39,6 +56,64 @@ public class TmstruckTotalResultServiceImpl implements ITmstruckTotalResultServi
|
|
|
return maxId.intValue();
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ public int copyAllResult(BigDecimal orderId,BigDecimal orderIdOld,BigDecimal resultTotalIdOld){
|
|
|
+ //总实绩
|
|
|
+ TmstruckTotalResult tmstruckTotalResult = new TmstruckTotalResult();
|
|
|
+ BigDecimal maxId = tmstruckTotalResultMapper.selectMaxId();
|
|
|
+ tmstruckTotalResult.setResultTotalId(maxId);
|
|
|
+ tmstruckTotalResult.setOrderId(orderId);
|
|
|
+ tmstruckTotalResult.setInsertTime(new Date());
|
|
|
+ tmstruckTotalResult.setInsertUsername("admin");
|
|
|
+ tmstruckTotalResultMapper.insertSelective(tmstruckTotalResult);
|
|
|
+ //处理旧实绩
|
|
|
+ Map<String,Object> serachMap=new HashMap<>();
|
|
|
+ serachMap.put("resultTotalId",resultTotalIdOld);
|
|
|
+ List<TmstruckEnfactoryResult> enOlds = tmstruckEnfactoryResultMapper.selectByParameters(serachMap);
|
|
|
+ if( enOlds !=null && enOlds.size()>0){
|
|
|
+ //已经进厂则迁移旧的实绩
|
|
|
+ //接单,生成所有路段实绩
|
|
|
+ Map<String,Object> map=new HashMap<>();
|
|
|
+ map.put("orderId",orderId);
|
|
|
+ map.put("orderReceiveStatus",1);
|
|
|
+ map.put("capacityNumber","capacityNumber");
|
|
|
+ omsFeign.driverReceiveOrRefuse(map);
|
|
|
+ //进厂
|
|
|
+ serachMap.put("resultTotalId",maxId);
|
|
|
+ TmstruckEnfactoryResult tmstruckEnfactoryResult=tmstruckEnfactoryResultMapper.selectByParameters(serachMap).get(0);
|
|
|
+ TmstruckEnfactoryResult tmstruckEnfactoryResult1=enOlds.get(0);
|
|
|
+ tmstruckEnfactoryResult1.setResultId(tmstruckEnfactoryResult.getResultId());
|
|
|
+ tmstruckEnfactoryResult1.setResultTotalId(tmstruckEnfactoryResult.getResultTotalId());
|
|
|
+ tmstruckEnfactoryResultMapper.updateByPrimaryKeySelective(tmstruckEnfactoryResult1);
|
|
|
+ //计皮
|
|
|
+ serachMap.put("resultTotalId",maxId);
|
|
|
+ TmstruckWeightResult tmstruckWeightResult=tmstruckWeightResultMapper.selectByTotalId(serachMap).get(0);
|
|
|
+ serachMap.put("switch","1");
|
|
|
+ serachMap.put("resultTotalId",resultTotalIdOld);
|
|
|
+ List<TmstruckWeightResult> olds = tmstruckWeightResultMapper.selectByTotalId(serachMap);
|
|
|
+ if(olds!=null && olds.size()>0){
|
|
|
+ TmstruckWeightResult tmstruckWeightResult1=olds.get(0);
|
|
|
+ tmstruckWeightResult.setResultTareWeightTime(tmstruckWeightResult1.getResultTareWeightTime());
|
|
|
+ tmstruckWeightResult.setResultTareWeight(tmstruckWeightResult1.getResultTareWeight());
|
|
|
+ tmstruckWeightResult.setResultTarePlaceId(tmstruckWeightResult1.getResultTarePlaceId());
|
|
|
+ tmstruckWeightResultMapper.updateByPrimaryKeySelective(tmstruckWeightResult);
|
|
|
+ Map<String,Object> orderMap=new HashMap<>();
|
|
|
+ orderMap.put("orderId",orderId);
|
|
|
+ orderMap.put("seq",2);
|
|
|
+ tmstruckWeightResultMapper.updateOmstruckStatus(orderMap);
|
|
|
+ }else{
|
|
|
+ Map<String,Object> orderMap=new HashMap<>();
|
|
|
+ orderMap.put("orderId",orderId);
|
|
|
+ orderMap.put("seq",0);
|
|
|
+ tmstruckWeightResultMapper.updateOmstruckStatus(orderMap);
|
|
|
+ }
|
|
|
+ //迁移排队实绩
|
|
|
+ serachMap.put("resultTotalId",maxId);
|
|
|
+ serachMap.put("resultTotalIdOld",resultTotalIdOld);
|
|
|
+ tmstruckWeightResultMapper.copyQmsResult(serachMap);
|
|
|
+ }
|
|
|
+ return maxId.intValue();
|
|
|
+ }
|
|
|
/**
|
|
|
* 展示计数实绩列表
|
|
|
* @param map
|