소스 검색

修改路径

txf 3 년 전
부모
커밋
66cb043715

+ 3 - 3
pom.xml

@@ -118,9 +118,9 @@
                 <artifactId>generator-maven-plugin</artifactId>
                 <version>3.0</version>
                 <configuration>
-                    <connUrl>jdbc:oracle:thin:@192.168.1.51:1521:steerinfo</connUrl>
-                    <user>DIL0901</user>
-                    <password>st#0901</password>
+                    <connUrl>jdbc:oracle:thin:@172.16.33.163:1521:ilsdbpri</connUrl>
+                    <user>dil</user>
+                    <password>dil123789</password>
                     <!--包名-->
                     <targetPackage>com.steerinfo.dil</targetPackage>
                     <tables>

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

@@ -18,6 +18,12 @@ public interface TmstruckLeaveFactoryResultMapper extends IBaseMapper<TmstruckLe
     //查询采购所有的出厂实绩、
     List<Map<String, Object>> getCGLeaveFactoryResult(Map<String, Object> map);
 
+    //根据运输订单Id查询物资Id
+    BigDecimal queryOrderMesByOrderId(String orderNumber);
+
+    //根据物资Id、门岗规则 查询门岗id (可能会查询出多个)
+    List<Map<String, Object>> queryGatepostByMaterialId(Map<String, Object> map);
+
     //查询运输路线是否为出厂
     Integer selectTransportRoute(String orderNumber);
 

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckUnloadResultMapper.java

@@ -29,4 +29,7 @@ public interface TmstruckUnloadResultMapper extends IBaseMapper<TmstruckUnloadRe
 
     //根据运输订单号查找装车实绩
     Map<String,Object> selectUnloadResultIdByOrderNumber(String orderNumber);
+
+    //通过总实绩ID查询卸货点
+    BigDecimal getUnloadPointId(Map<String, Object> map);
 }

+ 10 - 2
src/main/java/com/steerinfo/dil/service/impl/TmstruckEnfactoryResultServiceImpl.java

@@ -1,7 +1,9 @@
 package com.steerinfo.dil.service.impl;
 
 import com.steerinfo.dil.mapper.TmstruckEnfactoryResultMapper;
+import com.steerinfo.dil.mapper.TmstruckWeightResultMapper;
 import com.steerinfo.dil.model.TmstruckEnfactoryResult;
+import com.steerinfo.dil.model.TmstruckWeightResult;
 import com.steerinfo.dil.service.ITmstruckEnfactoryResultService;
 import com.steerinfo.dil.util.DataChange;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +36,9 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
     @Autowired
     private TmstruckMeasureCommissionServiceImpl tmstruckMeasureCommissionService;
 
+    @Autowired
+    private TmstruckWeightResultServiceImpl tmstruckWeightResultService;
+
     @Autowired
     private UtilsServiceImpl utilsService;
 
@@ -51,8 +56,10 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
         //生成进厂作业主键Id
         //添加主键
         tmstruckEnfactoryResult.setResultId(tmstruckEnfactoryResultMapper.selectMaxId());
-        //添加门岗ID 路线起点就是进厂门岗
-        tmstruckEnfactoryResult.setGatepostId(DataChange.dataToBigDecimal(map.get("lineStartNodeId")));
+        //如果有线路ID  添加门岗ID 路线起点就是进厂门岗
+        if(map.get("lineStartNodeId") != null){
+            tmstruckEnfactoryResult.setGatepostId(DataChange.dataToBigDecimal(map.get("lineStartNodeId")));
+        }
         //添加实绩总表Id
         tmstruckEnfactoryResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
         return tmstruckEnfactoryResultMapper.insertSelective(tmstruckEnfactoryResult);
@@ -180,6 +187,7 @@ public class TmstruckEnfactoryResultServiceImpl implements ITmstruckEnfactoryRes
                 i += updateEnFactoryResultByMJ(map); //添加进厂实绩
                 i += tmstruckMeasureCommissionService.addMaoMeasureCommission(map); //添加计毛委托 并发送计毛委托
                 i += utilsService.updateOrderLineSequence(map, 2);//修改路段顺序号 2:计毛
+                i += tmstruckWeightResultService.isNextNeedJl(DataChange.dataToBigDecimal(map.get("orderId")));
                 break;
             case 10: // 采购内转(老区-厂内)
                 break;

+ 49 - 1
src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java

@@ -13,6 +13,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -74,7 +75,7 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
         //添加总实绩ID
         tmstruckLeaveFactoryResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
         //添加门岗ID 出厂门岗为线路的终点
-        tmstruckLeaveFactoryResult.setGatepostId(DataChange.dataToBigDecimal(map.get("lineEndNodeId")));
+//        tmstruckLeaveFactoryResult.setGatepostId(DataChange.dataToBigDecimal(map.get("lineEndNodeId")));
         return tmstruckLeaveFactoryResultMapper.insertSelective(tmstruckLeaveFactoryResult);
     }
 
@@ -169,6 +170,53 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
         return i;
     }
 
+    /**
+     * 通过运输订单号查询物资并根据门岗规则计算出厂门岗
+     * @param map
+     * @return
+     */
+    public int calculateGatepost(Map<String, Object> map){
+        BigDecimal materialId = tmstruckLeaveFactoryResultMapper.queryOrderMesByOrderId((String) map.get("orderNumber"));
+        Map<String, Object> map1 = new HashMap<>();
+        map1.put("materialId", materialId);
+        //类型为出厂
+        map1.put("type", 1);
+        List<Map<String, Object>> list = tmstruckLeaveFactoryResultMapper.queryGatepostByMaterialId(map1);
+        for (Map<String, Object> mes : list) {
+            //从数据库中获取门岗开始时间结束时间 若当前时间满足该门岗进门时间 则下放 暂不考虑门岗优先级
+            boolean judgeTime = judgeTime((String)mes.get("startTime"), (String)mes.get("endTime"));
+            if(judgeTime){
+                //更新出厂实绩门岗ID
+                //通过运输订单号获取出厂实绩ID
+                Map<String, Object> map2 = tmstruckLeaveFactoryResultMapper.selectResultId((String) map.get("orderNumber"));
+                TmstruckLeaveFactoryResult tmstruckLeaveFactoryResult = new TmstruckLeaveFactoryResult();
+                tmstruckLeaveFactoryResult.setResultId(DataChange.dataToBigDecimal(map2.get("resultId")));
+                tmstruckLeaveFactoryResult.setGatepostId(DataChange.dataToBigDecimal(mes.get("gatepostId")));
+                return tmstruckLeaveFactoryResultMapper.updateByPrimaryKeySelective(tmstruckLeaveFactoryResult);
+            }
+        }
+        return 0;
+    }
+
+    /**
+     * 判断当前时间是否在时间区间范围内
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    public boolean judgeTime(String startTime, String endTime){
+        SimpleDateFormat sdf = new SimpleDateFormat("HHmmss");
+        String format = sdf.format(new Date());
+        int begin = Integer.parseInt(startTime);
+        int end = Integer.parseInt(endTime);
+        int now = Integer.parseInt(format);
+        if(begin < end){
+            return now < end && now >= begin;
+        }else {
+            return now < end || now >= begin;
+        }
+    }
+
     /**
      * 更新出厂实绩
      * @param mapValue {运输订单号:orderNumber 门岗名称:gatepostName}

+ 5 - 3
src/main/java/com/steerinfo/dil/service/impl/TmstruckUnloadResultServiceImpl.java

@@ -56,7 +56,8 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
     @Autowired
     private TmstruckMeasureCommissionServiceImpl tmstruckMeasureCommissionService;
 
-
+    @Autowired
+    private TmstruckWeightResultServiceImpl tmstruckWeightResultService;
 
     /**
      * 新增卸货实绩
@@ -72,8 +73,8 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
         tmstruckUnloadResult.setId(maxId);
         //插入实绩总表ID
         tmstruckUnloadResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
-        //插入卸货点
-        tmstruckUnloadResult.setResultUnloadPlaceId(DataChange.dataToBigDecimal(map.get("resultUnloadPlaceId")));
+        //插入卸货点 通过总实绩ID查询卸货点
+        tmstruckUnloadResult.setResultUnloadPlaceId(tmstruckUnloadResultMapper.getUnloadPointId(map));
         //新增卸车实绩
         return tmstruckUnloadResultMapper.insertSelective(tmstruckUnloadResult);
     }
@@ -146,6 +147,7 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
                 i += tmstruckMeasureCommissionService.addPiMeasureCommission(map); //卸货完成后新增一条计皮委托 并发送计皮委托
                 i += tmstruckReceiptResultService.addReceiptResult(map); //新增完卸车实绩后新增一条收货实绩
                 i += utilsService.updateOrderLineSequence(map, 4);//修改路段顺序号 4:计皮
+                i += tmstruckWeightResultService.isNextNeedJl(DataChange.dataToBigDecimal(map.get("orderId")));//卸货完成后计算计皮汽车衡
                 break;
             case 9:
                 break;

+ 12 - 8
src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java

@@ -41,6 +41,8 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
     @Autowired
     private UtilsServiceImpl utilsService;
 
+    @Autowired
+    private TmstruckLeaveFactoryResultServiceImpl tmstruckLeaveFactoryResultService;
     /**
      * 查询所有计毛实绩
      * @param map
@@ -126,8 +128,8 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         tmstruckWeightResult.setWeightTaskResultId(tmstruckWeightResultMapper.selectMaxId());
         tmstruckWeightResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
         // 添加计皮计毛作业点ID
-        tmstruckWeightResult.setResultGrossPlaceId(DataChange.dataToBigDecimal(map.get("truckCalculateIdMao")));
-        tmstruckWeightResult.setResultTarePlaceId(DataChange.dataToBigDecimal(map.get("truckCalculateIdPi")));
+//        tmstruckWeightResult.setResultGrossPlaceId(DataChange.dataToBigDecimal(map.get("truckCalculateIdMao")));
+//        tmstruckWeightResult.setResultTarePlaceId(DataChange.dataToBigDecimal(map.get("truckCalculateIdPi")));
         return tmstruckWeightResultMapper.insertSelective(tmstruckWeightResult);
     }
 
@@ -246,7 +248,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         if(calculateId != null){
             tmstruckWeightResult.setResultTarePlaceId(new BigDecimal(calculateId));
         }
-        int i1 = 0;
+        int i = 0;
         Integer lineSequence = null; //路段顺序号
         BigDecimal orderType = DataChange.dataToBigDecimal(map.get("orderTypee"));
         switch (orderType.intValue()){
@@ -275,8 +277,10 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
                 tmstruckReceiptResult.setStatus(new BigDecimal(1));
                 tmstruckReceiptResult.setInsertUsername("admin");
                 tmstruckReceiptResult.setInsertTime(new Date());
-                i1 = tmstruckReceiptResultMapper.updateByTotalResultId(tmstruckReceiptResult);
+                i += tmstruckReceiptResultMapper.updateByTotalResultId(tmstruckReceiptResult);
                 lineSequence = 5; // 出厂
+                //计皮完成后计算出厂门岗并更新实绩出厂门岗ID
+                i += tmstruckLeaveFactoryResultService.calculateGatepost(map);
                 break;
             case 9:
                 break;
@@ -285,10 +289,10 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
             case 11:
                 break;
         }
-        int i = tmstruckWeightResultMapper.updateByPrimaryKeySelective(tmstruckWeightResult);
+        i += tmstruckWeightResultMapper.updateByPrimaryKeySelective(tmstruckWeightResult);
         //更新订单路段顺序号
-        int i2 = utilsService.updateOrderLineSequence(map, lineSequence);
-        return i + i1 + i2;
+        i += utilsService.updateOrderLineSequence(map, lineSequence);
+        return i;
     }
 
     /**
@@ -410,7 +414,7 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         }else {
             return 0;
         }
-        return 0;
+        return 1;
     }
 
     public List<BigDecimal> getNextStep(BigDecimal lineId, int orderLineSequence) {

+ 6 - 1
src/main/resources/bootstrap.yml

@@ -35,7 +35,12 @@ openfeign:
 eureka:
   client:
     service-url:
-      defaultZone: http://root:root@${EUREKA_HOST:172.16.33.161}:${EUREKA_PORT:8061}/eureka/
+      defaultZone: http://root:root@${EUREKA_HOST:localhost}:${EUREKA_PORT:8061}/eureka/
+
+  instance:
+    prefer-ip-address: true
+    status-page-url: http://${spring.cloud.client.ip-address}:${server.port}/swagger-ui.html#/
+    instance-id: ${spring.cloud.client.ip-address}:${server.port}
 
 genxml:
   pth: com/a

+ 34 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckLeaveFactoryResultMapper.xml

@@ -534,6 +534,40 @@
         <include refid="orderByOutTime"></include>
     </select>
 
+    <!--  根据运单Id查询物资Id-->
+    <select id="queryOrderMesByOrderId" parameterType="string" resultType="java.math.BigDecimal">
+        select OOM.MATERIAL_ID "materialId"
+        from OMSTRUCK_ORDER OO
+                 left join OMSTRUCK_ORDER_MATERIAL OOM
+                           on OO.ORDER_ID = OOM.ORDER_ID
+        where OO.ORDER_NUMBER = #{orderNumber}
+    </select>
+
+    <!--  根据物资Id、门岗规则(进或出) 查询门岗id -->
+    <select id="queryGatepostByMaterialId" parameterType="java.util.Map" resultType="java.util.Map">
+        select
+        RG.GATEPOST_ID "gatepostId",
+        RGR.RULES_GATEPOST_START_TIME "startTime",
+        RGR.RULES_GATEPOST_END_TIME "endTime"
+        from RMS_GATEPOST RG
+        left join RMS_GATEPOST_RULES RGR
+        on RGR.GATEPOST_ID = RG.GATEPOST_ID
+        left join RMS_MATERIAL_TYPE RMT
+        on RMT.MATERIAL_TYPE_ID = RGR.MATERIAL_TYPE_ID
+        left join RMS_MATERIAL RM
+        on RM.MATERIAL_TYPE_ID = RMT.MATERIAL_TYPE_ID
+        <where>
+            <if test="materialId != null">
+                RM.MATERIAL_ID = #{materialId}
+            </if>
+            <if test="type != null">
+                and RGR.RULES_GATEPOST_ENTRY_OUT_TYPE = #{type}
+            </if>
+        </where>
+        order by
+        "gatepostId"
+    </select>
+
     <!--  通过运输订单号查询 路段顺序号是否为 4 :已计皮-->
     <select id="selectTransportRoute" parameterType="string" resultType="int">
         select ORDER_LINE_SEQUENCE

+ 8 - 0
src/main/resources/com/steerinfo/dil/mapper/TmstruckUnloadResultMapper.xml

@@ -607,4 +607,12 @@
         where WAREHOUSE_NAME = #{warehouseName}
     </select>
 
+<!--  通过总实绩ID查询订单中卸货实绩  -->
+    <select id="getUnloadPointId" resultType="java.math.BigDecimal" parameterType="java.util.Map">
+        select OO.UNLOAD_POINT_ID from OMSTRUCK_ORDER OO
+            left join TMSTRUCK_TOTAL_RESULT TTR
+                on OO.ORDER_ID = TTR.ORDER_ID
+        where TTR.RESULT_TOTAL_ID = #{resultTotalId}
+    </select>
+
 </mapper>