txf 3 år sedan
förälder
incheckning
3cb066faf2

+ 6 - 1
src/main/java/com/steerinfo/dil/controller/TmstruckLoadResultController.java

@@ -177,7 +177,12 @@ public class TmstruckLoadResultController extends BaseRESTfulController {
     })
     @PostMapping("/addSale2LoadResult")
     public RESTfulResult addSale2LoadResult(@RequestBody(required=false) Map<String, Object> map){
-        int i = tmstruckLoadResultService.addXS2LoadResult(map);
+        int i = 0;
+        try {
+            i = tmstruckLoadResultService.addXS2LoadResult(map);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         return success(i);
     }
 

+ 2 - 1
src/main/java/com/steerinfo/dil/mapper/TmstruckMeasureCommissionMapper.java

@@ -92,5 +92,6 @@ public interface TmstruckMeasureCommissionMapper extends IBaseMapper<TmstruckMea
     //查询零星订单发货单位ID
     Integer getPtLxSendUnitIdByOrderId(BigDecimal orderId);
 
-   List<Map<String,Object>> getMaterialIdAndCalculateId(Map<String,Object> map);
+    //查找未计量完成的物资
+    List<Map<String,Object>> getMaterialIdAndCalculateId(Map<String,Object> map);
 }

+ 7 - 1
src/main/java/com/steerinfo/dil/mapper/UtilsMapper.java

@@ -42,9 +42,12 @@ public interface UtilsMapper {
     //根据运输订单号查询物资Id
     BigDecimal queryOrderMesByOrderId(String orderNumber);
 
-    //查询当前路段顺序号
+    //查询当前路段顺序号通过订单Id
     Integer getLineSequenceByOrderId(@Param("orderId") BigDecimal orderId);
 
+    //通过订单号查询订单实绩
+    Integer getLineSequenceByOrderNumber(String orderNumber);
+
     //查询订单跟订单物资中间表 查询是否有多个物资Id
     List<Integer> getAllMaterialId(Map<String, Object> map);
 
@@ -81,6 +84,9 @@ public interface UtilsMapper {
     //通过运输订单id查找运输订单类型
     BigDecimal getOrderTypeByOrderId(BigDecimal orderId);
 
+    //通过运输订单号查询运输订单类型
+    Map<String, Object> getOrderTypeByOrderNumber(String orderNumber);
+
     //根据运输订单id查找是否有多个物资
     Integer countMaterialByOrderId(BigDecimal orderId);
 

+ 3 - 0
src/main/java/com/steerinfo/dil/service/IUtilsService.java

@@ -29,6 +29,9 @@ public interface IUtilsService {
     //用于更新路段顺序号
     int updateOrderLineSequence(Map<String, Object> map);
 
+    //用于更新路段顺序号
+    int updateOrderLineSqeByOrderNumber(Map<String, Object> map);
+
     //通过月台名称查找月台Id platformName
     Integer queryPlatformIdByName(String platformName);
 

+ 30 - 7
src/main/java/com/steerinfo/dil/service/impl/TmstruckEnfactoryResultServiceImpl.java

@@ -4,8 +4,10 @@ import com.steerinfo.dil.feign.OmsFeign;
 import com.steerinfo.dil.mapper.TmstruckEnfactoryResultMapper;
 import com.steerinfo.dil.mapper.UtilsMapper;
 import com.steerinfo.dil.model.TmstruckEnfactoryResult;
+import com.steerinfo.dil.model.TmstruckLeaveFactoryResult;
 import com.steerinfo.dil.service.ITmstruckEnfactoryResultService;
 import com.steerinfo.dil.util.DataChange;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -149,6 +151,22 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
         int i = 0;
         //通过运输订单号查询订单类型
         String orderNumber = (String) map.get("orderNumber");
+        //通过订单号查询订单类型 及总实绩Id
+        Map<String, Object> mesMap = utilsMapper.getOrderTypeByOrderNumber(orderNumber);
+        Integer orderType = DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue();
+
+        if(orderType == 11){
+            //内转订单类型  没有生成实绩 直接新增
+            Integer sqe = utilsMapper.getLineSequenceByOrderNumber(orderNumber);
+            sqe = sqe == null ? 1 : sqe + 1;
+            map.put("resultId", tmstruckEnfactoryResultMapper.selectMaxId());  //插入进厂实绩Id
+            map.put("Sqe", sqe); //查询路段顺序号 + 1
+            i += tmstruckEnfactoryResultMapper.insertSelective(generateEnFactoryResult(map));
+            mesMap.put("orderLineSequence", sqe);
+            i += utilsService.updateOrderLineSqeByOrderNumber(mesMap); //更新路段顺序号
+            return i;
+        }
+
         Map<String, Object> selectMap = tmstruckEnfactoryResultMapper.selectEnFactoryResultId(orderNumber);
         if(selectMap == null){
             throw new Exception("该车已进厂!!");
@@ -161,12 +179,11 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
             }
         }
         map.putAll(selectMap);
-        BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
         BigDecimal orderId = DataChange.dataToBigDecimal(map.get("orderId"));
         BigDecimal resultTotalId = DataChange.dataToBigDecimal(map.get("resultTotalId"));
         //判断委托是否发送成功
         int checkMeasureCommission = 0;
-        switch (orderType.intValue()){
+        switch (orderType){
             case 1:
                 //查询未装车实绩
                 List<Map<String, Object>> mapList = rulesService.judgeLastMaterial(DataChange.dataToBigDecimal(map.get("orderId")));
@@ -199,7 +216,7 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
 //            case 8:
 //            case 9:
             case 10:
-            case 11:
+//            case 11:
 //            case 17:
             case 18:
                 checkMeasureCommission = tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计毛委托 并发送计毛委托
@@ -220,7 +237,7 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
         if(checkMeasureCommission == 0){
             throw new Exception("委托发送失败");
         }
-        i += updateEnFactoryResultByPDA(map); //添加进厂实绩
+        i += tmstruckEnfactoryResultMapper.updateByPrimaryKeySelective(generateEnFactoryResult(map)); //添加进厂实绩
         //修改路段顺序号
         i += utilsService.updateOrderLineSequence(map);
         utilsService.pushMesToWebsocket((String) map.get("capacityNumber"), "车辆进厂");
@@ -291,11 +308,11 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
     }
 
     /**
-     * 通过PDA添加进厂实绩方法
+     * 生成进厂实绩
      * @param map
      * @return
      */
-    public int updateEnFactoryResultByPDA(Map<String, Object> map){
+    public TmstruckEnfactoryResult generateEnFactoryResult(Map<String, Object> map){
         TmstruckEnfactoryResult tmstruckEnfactoryResult = new TmstruckEnfactoryResult();
         //获取进厂实绩id
         tmstruckEnfactoryResult.setResultId(DataChange.dataToBigDecimal(map.get("resultId")));
@@ -306,7 +323,13 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
         tmstruckEnfactoryResult.setInsertTime(new Date());
         tmstruckEnfactoryResult.setResultEntryMode("手动抬杠");
         tmstruckEnfactoryResult.setInsertUsername("admin");
-        return tmstruckEnfactoryResultMapper.updateByPrimaryKeySelective(tmstruckEnfactoryResult);
+        if(map.get("Sqe") != null){
+            tmstruckEnfactoryResult.setSegmenSqe(DataChange.dataToBigDecimal(map.get("Sqe")));
+        }
+        if(map.get("totalId") != null){
+            tmstruckEnfactoryResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("totalId")));
+        }
+        return tmstruckEnfactoryResult;
     }
 
     /**

+ 6 - 17
src/main/java/com/steerinfo/dil/service/impl/TmstruckMeasureCommissionServiceImpl.java

@@ -226,7 +226,7 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
      * @param map orderTypee 订单类型  type 计皮0还是计毛1类型  orderId  订单ID
      */
     public int sendMeasureCommissionMes(Map<String, Object> map){
-        Map<String, Object> measureCommission = null;
+        Map<String, Object> measureCommission = new HashMap<>();
         //查询计量委托
         Integer orderType = DataChange.dataToBigDecimal(map.get("orderTypee")).intValue();
         BigDecimal orderId=DataChange.dataToBigDecimal(map.get("orderId"));
@@ -244,13 +244,6 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
                  Integer materialNu = utilsMapper.countMaterialByOrderId(orderId);
                  if (materialNu > 1){
                      List<Map<String, Object>> inwardCommission = tmstruckMeasureCommissionMapper.getMaterialIdAndCalculateId(map);
-                     for (int i=0;i<=inwardCommission.size();i++){
-                         Map<String,Object> map1=new HashMap<>();
-                         map1=inwardCommission.get(i);
-                         BigDecimal materialId =(BigDecimal) map1.get("materialId");
-                         BigDecimal materiaName =(BigDecimal) map1.get("materiaName");
-                         measureCommission=tmstruckMeasureCommissionMapper.purchaseNzMeasure(map);
-                     }
                  }else {
                      measureCommission = tmstruckMeasureCommissionMapper.purchaseNzMeasure(map);
                  }
@@ -503,18 +496,14 @@ public class TmstruckMeasureCommissionServiceImpl implements ITmstruckMeasureCom
             case 5:
             case 6:
             case 7:
-            case 8:
-            case 9:
-            case 17:
-            case 18://通过订单ID查询物资Id
-                List<Integer> materialIds = utilsMapper.getMaterialIdByOrderId(DataChange.dataToBigDecimal(map.get("orderId")));
-                map.put("materialId", materialIds.get(0));
-                i+=addMaoMeasureCommission(map);
-                break;
+//            case 8:
+//            case 9:
             case 10:
             case 11:
+//            case 17:
+            case 18:
+                //通过订单ID查询物资Id
                 i+=addMaoMeasureCommission(map);
-
         }
         if (i==0){
             throw new Exception("委托发送失败");

+ 12 - 0
src/main/java/com/steerinfo/dil/service/impl/UtilsServiceImpl.java

@@ -109,6 +109,18 @@ public class UtilsServiceImpl implements IUtilsService {
         return utilsMapper.updateLineSeqByOrderIdOrNum(mesMap);
     }
 
+    /**
+     * 厂内内转订单专属更新路段顺序号方法
+     * @Author TXF
+     * @Date 2022/2/17 22:02
+     * @param map
+     * @return
+     **/
+    public int updateOrderLineSqeByOrderNumber(Map<String, Object> map){
+        return utilsMapper.updateLineSeqByOrderIdOrNum(map);
+    }
+
+
     /**
      * 通过月台名称查询月台Id
      * @param platformName

+ 1 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckMeasureCommissionMapper.xml

@@ -1182,6 +1182,7 @@
         WHERE
             ROWNUM = 1
     </select>
+
 <!--  查找未计量完成的物资  -->
     <select id="getMaterialIdAndCalculateId" resultType="java.util.Map" parameterType="java.util.Map">
         SELECT

+ 16 - 0
src/main/resources/com/steerinfo/dil/mapper/UtilsMapper.xml

@@ -189,4 +189,20 @@
         from OMSTRUCK_ORDER_MATERIAL OOM
         where OOM.ORDER_ID=#{orderId}
     </select>
+
+    <select id="getOrderTypeByOrderNumber" parameterType="string" resultType="map">
+        select OO.ORDER_TYPE "orderType",
+               TTR.RESULT_TOTAL_ID "totalId",
+               OO.ORDER_ID      "orderId"
+        from OMSTRUCK_ORDER OO
+        left join TMSTRUCK_TOTAL_RESULT TTR
+            on TTR.ORDER_ID = OO.ORDER_ID
+        where  OO.ORDER_ID=#{orderNumber}
+    </select>
+
+    <select id="getLineSequenceByOrderNumber" parameterType="string" resultType="java.lang.Integer">
+        select OO.ORDER_LINE_SEQUENCE
+        from OMSTRUCK_ORDER OO
+        where OO.ORDER_NUMBER = #{orderNumber}
+    </select>
 </mapper>