liyg 2 vuotta sitten
vanhempi
commit
3648183543

+ 13 - 0
src/main/java/com/steerinfo/dil/controller/TmstruckTotalResultController.java

@@ -46,6 +46,19 @@ public class TmstruckTotalResultController extends BaseRESTfulController {
         int i = tmstruckTotalResultService.addTotalResult(orderId);
         return i;
     }
+
+    @ApiOperation(value="继续装补录实绩 ")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "订单Id", required = false, dataType = "Map"),
+    })
+    @PostMapping("/copyAllResult")
+    public int copyAllResult(@RequestBody(required=false) Map<String, Object> map){
+        BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
+        BigDecimal orderIdOld = DataChange.dataToBigDecimal(map.get("orderIdOld"));
+        BigDecimal resultTotalIdOld = DataChange.dataToBigDecimal(map.get("resultTotalIdOld"));
+        int i = tmstruckTotalResultService.copyAllResult(orderId,orderIdOld,resultTotalIdOld);
+        return i;
+    }
     /**
      * 展示计数实绩列表
      *

+ 2 - 0
src/main/java/com/steerinfo/dil/feign/OmsFeign.java

@@ -55,4 +55,6 @@ public interface OmsFeign {
                                         @RequestParam("sqe") Integer sqe,
                                         @RequestParam("resultNetWeight") String resultNetWeight);
 
+    @PostMapping("api/v1/oms/omstruckorders/driverReceiveOrRefuse")
+    Map<String,Object> driverReceiveOrRefuse(@RequestBody Map<String,Object> mapValue);
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.java

@@ -120,4 +120,10 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
 
     //更新路段顺序号
     void updateToRoadId(BigDecimal orderlinesequence,BigDecimal orderId);
+
+   List<TmstruckWeightResult> selectByTotalId(Map<String,Object> map);
+
+    int copyQmsResult(Map<String, Object> updateMap);
+
+    int updateOmstruckStatus(Map<String, Object> updateMap);
 }

+ 1 - 0
src/main/java/com/steerinfo/dil/service/ITmstruckTotalResultService.java

@@ -12,6 +12,7 @@ import java.util.Map;
 public interface ITmstruckTotalResultService {
 
     public int addTotalResult(BigDecimal orderId);
+    int copyAllResult(BigDecimal orderId,BigDecimal orderIdOld,BigDecimal resultTotalIdOld);
     //查询计数作业
     List<Map<String,Object>> selectCountList(Map<String,Object> map);
     //查询包月作业

+ 75 - 0
src/main/java/com/steerinfo/dil/service/impl/TmstruckTotalResultServiceImpl.java

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

+ 19 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.xml

@@ -2855,4 +2855,23 @@
         set oo.ORDER_LINE_SEQUENCE=#{orderlinesequence}
         where oo.ORDER_ID=#{orderId}
     </update>
+
+    <select id="selectByTotalId" resultMap="BaseResultMap">
+        <include refid="select"/>
+        WHERE RESULT_TOTAL_ID=#{resultTotalId}
+        <if test="switch != null">
+            AND RESULT_TARE_WEIGHT IS NOT NULL AND RESULT_NET_WEIGHT IS NULL
+        </if>
+        ORDER BY TARE_SEGMENT_SQE
+    </select>
+    <update id="copyQmsResult">
+        update QMS_QUEUE_RESULT
+        SET RESULT_TOTAL_ID=#{resultTotalId}
+        WHERE RESULT_TOTAL_ID=#{resultTotalIdOld}
+    </update>
+    <update id="updateOmstruckStatus">
+        update OMSTRUCK_ORDER
+        SET ORDER_LINE_SEQUENCE=#{seq}
+        WHERE ORDER_ID=#{orderId}
+    </update>
 </mapper>