luobang vor 2 Jahren
Ursprung
Commit
a49cba0205

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -45,4 +45,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     int updateOrderStatus(BigDecimal orderIds);
 
+    BigDecimal selectOrderIdByFLID(Object flid);
+
 }

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

@@ -168,4 +168,10 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
 
     Map<String,Object> getLineName(BigDecimal lineId);
 
+    Map<String, Object> getOrderMesFinish(String carNo);
+
+    Map<String, Object> getOrderMesByFLID(String flid, String carNo);
+
+    Map<String, Object> getOrderMesByOrderId(BigDecimal orderIdByFLID);
+
 }

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

@@ -57,7 +57,7 @@ public class TmstrainQualityResultServiceImpl implements ITmstrainQualityResultS
     public int insertTmstrainQualityResult() throws IOException, DocumentException {
         //先查出所有需要质检的但是没有质检的磅单号
         List<Map<String,Object>> mapList=tmstrainQualityResultMapper.selectWzInputId();
-        System.out.println(mapList);
+        //System.out.println(mapList);
         if (mapList.size() != 0){
             for (Map<String,Object> map:mapList
             ) {
@@ -74,16 +74,16 @@ public class TmstrainQualityResultServiceImpl implements ITmstrainQualityResultS
                 //		4. 读response获取HttpEntity
                 if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                     HttpEntity entity = httpResponse.getEntity();
-                    System.out.println(entity);
+                    //System.out.println(entity);
                     //		5. 对得到后的内容进行处理
                     String result = EntityUtils.toString(entity, "utf-8");
-                    System.out.println(result);
+                    //System.out.println(result);
                     try {
                         JSONObject object = XmlToJsonUtil.xmlToJson(result);
-                        System.out.println("-----object------");
-                        System.out.println(object);
+                        //System.out.println("-----object------");
+                        //System.out.println(object);
                         Map<String, Object>map1 = (Map<String, Object>) object.get("JsonResult");
-                        System.out.println(map1);
+                        //System.out.println(map1);
                         List mapList2= JSON.parseArray((String) map1.get("jsonResult"));
                         if(mapList2.size() == 0){
                             continue;

+ 19 - 1
src/main/java/com/steerinfo/dil/service/impl/TmstruckWeightResultServiceImpl.java

@@ -257,9 +257,27 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
         //该数据为不走物流扫码的数据
         //1.通过车号去寻找正在作业的5的运输订单号
         String carNo = (String) map.get("carNo");
+        //String FLID = (String) map.get("FLID");
+        //不能影响皮重
         Map<String,Object> orderMes = tmstruckWeightResultMapper.getOrderMes(carNo);
         if (orderMes == null){
-            throw new Exception("该车没有正在运行中的信息");
+            Object FLID = map.get("FLID");
+            if(FLID != null && !"".equals(FLID)) {
+                //存在分录id,说明有整条数据,且该车又没有正在运行中的信息,那么就去找该分录id对应的运单的信息
+                BigDecimal orderIdByFLID = omstruckOrderMapper.selectOrderIdByFLID(FLID);
+                if(orderIdByFLID != null) {
+                    Map<String,Object> orderMesByFLIDMap = tmstruckWeightResultMapper.getOrderMesByOrderId(orderIdByFLID);
+                    if(orderMesByFLIDMap != null) {
+                        map.putAll(orderMesByFLIDMap);
+                    }else{
+                        throw new Exception("没有可进行填充的计量实绩");
+                    }
+                }else{
+                    throw new Exception("该分录没有对应的订单");
+                }
+            }else{
+                throw new Exception("没有正在运行中的订单");
+            }
         }
         map.putAll(orderMes);
         tmstruckWeightResult.setId(DataChange.dataToBigDecimal(map.get("weightTaskResultId")));

+ 13 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -1016,6 +1016,19 @@
             RC.CAPACITY_NUMBER = #{capacityNumber}
           AND OO.order_status = 5
     </select>
+    <select id="selectOrderIdByFLID" resultType="java.math.BigDecimal">
+        SELECT DISTINCT OO.ORDER_ID FROM AMS_SALE_MATERIAL ASM
+        LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+        ON ASTM.MATERIAL_ID = ASM.SALE_MATERIAL_ID
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_MATERIAL_ID = ASTM.SALE_ORDER_MATERIAL_ID
+        LEFT JOIN OMSTRUCK_ORDER OO
+        ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        WHERE
+        OO.ORDER_TYPE = 1
+        AND
+        ASM.EAS_PRIMARY_ID = #{FLID}
+    </select>
     <update id="updateOrderStatus">
         UPDATE OMSTRUCK_ORDER OO
         SET OO.ORDER_STATUS = 2,

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

@@ -1390,4 +1390,89 @@
         ORDER BY RLS.SEGMENT_SQE DESC
         FETCH FIRST 1 ROW ONLY
     </select>
+    <select id="getOrderMesFinish" resultType="java.util.Map">
+        select *
+        from (
+                 select OO.ORDER_ID               "orderId",
+                        OO.ORDER_TYPE             "orderTypee",
+                        OO.ORDER_NUMBER           "orderNo",
+                        TWR.WEIGHT_TASK_RESULT_ID "weightTaskResultId",
+                        TTR.RESULT_TOTAL_ID       "resultTotalId",
+                        TWR.TARE_SEGMENT_SQE      "tareSegmentSqe",
+                        TWR.GROSS_SEGMENT_SQE     "grossSegmentSqe"
+                 from TMSTRUCK_WEIGHT_RESULT TWR
+                          left join TMSTRUCK_TOTAL_RESULT TTR
+                                    on TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+                          left join OMSTRUCK_ORDER OO
+                                    on OO.ORDER_ID = TTR.ORDER_ID
+                          left join RMS_CAPACITY RC
+                                    ON RC.CAPACITY_ID = OO.CAPACITY_ID
+                          left join AMS_SALE_ORDER_MATERIAL ASOM
+                                    on asom.SALE_ORDER_MATERIAL_ID = oo.ORDER_PLAN_ID
+                 where RC.CAPACITY_NUMBER = #{carNo}
+                   and TWR.RESULT_NET_WEIGHT is null
+                   and TWR.sale_material_id is not null
+                   and oo.order_status = 2
+                   and oo.order_type in (1,4)
+                   and oo.order_id > 510000
+                   AND ASOM.SALE_DATE_OF_RECEIPT  > SYSDATE - 1
+                   AND SYSDATE > ASOM.SALE_DATE_OF_RECEIPT
+                 order by "tareSegmentSqe" asc, "orderId" desc
+             )
+        where rownum = 1
+    </select>
+    <select id="getOrderMesByFLID" resultType="java.util.Map">
+        select *
+        from (
+                 select OO.ORDER_ID               "orderId",
+                        OO.ORDER_TYPE             "orderTypee",
+                        OO.ORDER_NUMBER           "orderNo",
+                        TWR.WEIGHT_TASK_RESULT_ID "weightTaskResultId",
+                        TTR.RESULT_TOTAL_ID       "resultTotalId",
+                        TWR.TARE_SEGMENT_SQE      "tareSegmentSqe",
+                        TWR.GROSS_SEGMENT_SQE     "grossSegmentSqe"
+                 from TMSTRUCK_WEIGHT_RESULT TWR
+                          left join TMSTRUCK_TOTAL_RESULT TTR
+                                    on TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+                          left join OMSTRUCK_ORDER OO
+                                    on OO.ORDER_ID = TTR.ORDER_ID
+                          left join RMS_CAPACITY RC
+                                    ON RC.CAPACITY_ID = OO.CAPACITY_ID
+                          LEFT JOIN AMS_SALE_MATERIAL ASM
+                                    ON ASM.SALE_MATERIAL_ID = TWR.SALE_MATERIAL_ID
+                 where RC.CAPACITY_NUMBER = #{carNo}
+                   and TWR.RESULT_NET_WEIGHT is null
+                   and TWR.sale_material_id is not null
+                   and oo.order_status = 2
+                   and oo.order_type in (1,4)
+                   AND ASM.EAS_PRIMARY_ID = #{FLID}
+                 order by "tareSegmentSqe" asc, "orderId" desc
+             )
+        where rownum = 1
+    </select>
+    <select id="getOrderMesByOrderId" resultType="java.util.Map" parameterType="java.math.BigDecimal">
+        select *
+        from (
+                 select OO.ORDER_ID               "orderId",
+                        OO.ORDER_TYPE             "orderTypee",
+                        OO.ORDER_NUMBER           "orderNo",
+                        TWR.WEIGHT_TASK_RESULT_ID "weightTaskResultId",
+                        TTR.RESULT_TOTAL_ID       "resultTotalId",
+                        TWR.TARE_SEGMENT_SQE      "tareSegmentSqe",
+                        TWR.GROSS_SEGMENT_SQE     "grossSegmentSqe"
+                 from TMSTRUCK_WEIGHT_RESULT TWR
+                          left join TMSTRUCK_TOTAL_RESULT TTR
+                                    on TTR.RESULT_TOTAL_ID = TWR.RESULT_TOTAL_ID
+                          left join OMSTRUCK_ORDER OO
+                                    on OO.ORDER_ID = TTR.ORDER_ID
+                          left join RMS_CAPACITY RC
+                                    ON RC.CAPACITY_ID = OO.CAPACITY_ID
+                 where
+                   TWR.RESULT_NET_WEIGHT is null
+                   and OO.ORDER_ID = #{orderIdByFLID}
+                   and oo.order_type in (1,4)
+                 order by "tareSegmentSqe" asc, "orderId" desc
+             )
+        where rownum = 1
+    </select>
 </mapper>