瀏覽代碼

Merge remote-tracking branch 'origin/master'

zengyf 2 年之前
父節點
當前提交
a54914773f

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

@@ -136,4 +136,8 @@ public interface TmstruckLeaveFactoryResultMapper extends IBaseMapper<TmstruckLe
 
     Integer getCanWorkStatus(BigDecimal orderId);
 
+    String getIsSelfMention(BigDecimal orderId);
+
+    Map<String, Object> getUnloadResult(BigDecimal orderId);
+
 }

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

@@ -126,4 +126,6 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
     int copyQmsResult(Map<String, Object> updateMap);
 
     int updateOmstruckStatus(Map<String, Object> updateMap);
+
+    int updateOrderStatus(Map<String, Object> updateMap);
 }

+ 17 - 3
src/main/java/com/steerinfo/dil/service/impl/TmstruckLeaveFactoryResultServiceImpl.java

@@ -235,6 +235,13 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
                 }
             }
         }
+        if(orderType == 23 || orderType == 24) {
+            //查询卸货
+            Map<String,Object> unloadMap = tmstruckLeaveFactoryResultMapper.getUnloadResult(DataChange.dataToBigDecimal(mesMap.get("orderId")));
+            if (unloadMap != null && unloadMap.get("resultEndTime") == null) {
+                throw new Exception("该车未扫卸货,请提醒司机去补扫卸货");
+            }
+        }
         map.putAll(mesMap);
         map.putAll(selectMap);
         map.remove("Sqe");
@@ -245,9 +252,16 @@ public class TmstruckLeaveFactoryResultServiceImpl implements ITmstruckLeaveFact
         i += utilsService.updateOrderLineSequence(map);
         switch (orderType){
             case 1:
-                Integer driverConfirmationSteel = utilsMapper.getDriverConfirmation(orderId);
-                if(driverConfirmationSteel == null){
-                    throw new Exception("请提醒司机确认订单!");
+                //判断该订单是不是自提
+                String isSelfMention = tmstruckLeaveFactoryResultMapper.getIsSelfMention(orderId);
+                try {
+                    if(isSelfMention != null && isSelfMention.equals("是")) {
+                        //如果是自提,则关闭运单
+                        i += utilsService.closeOrderSteel(map);
+                        break;
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
                 }
                 try {
                     //发送短信

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

@@ -67,7 +67,7 @@ public class TmstruckSmsRusultServiceImpl  implements ITmstruckSmsRusultService
         String tmpTmp = MD5Util.formatTimeTmp();
         String sign = MD5Util.sign("EUCP-EMY-SMS1-10QNI","EE20B0B28B75E567");
         String driverTel = tmstruckSmsRusultMapper.getDriverTel(orderId);
-        String mobile1 = mobile;
+        String mobile1 = mobile.trim();
         String content = "【达州钢铁】您好!您在达钢购买的钢材已发车。司机电话:" + driverTel + "。欲知详情,请前往达州钢铁智慧物流平台查看车辆实时轨迹。退订";
         String sendUrl = url+"timestamp=" + tmpTmp + "&sign=" + sign + "&mobiles=" + mobile1 + "&content=" + content;
         System.out.println(mobile1);

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

@@ -111,6 +111,12 @@ public class TmstruckTotalResultServiceImpl implements ITmstruckTotalResultServi
             serachMap.put("resultTotalId",maxId);
             serachMap.put("resultTotalIdOld",resultTotalIdOld);
             tmstruckWeightResultMapper.copyQmsResult(serachMap);
+        }else{
+            //未进厂,状态为待接收
+            Map<String,Object> orderMap=new HashMap<>();
+            orderMap.put("orderId",orderId);
+            orderMap.put("orderStatus",4);
+            tmstruckWeightResultMapper.updateOrderStatus(orderMap);
         }
         return maxId.intValue();
     }

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

@@ -205,4 +205,9 @@ public class UtilsServiceImpl implements IUtilsService {
             return 0;
         }
     }
+
+    public int closeOrderSteel(Map<String, Object> map) {
+        map.put("orderStatus", 2);
+        return utilsMapper.updateOrderStatusByOrderIdOrNum(map);
+    }
 }

+ 71 - 12
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -1336,6 +1336,24 @@
                     "orderNumber" like '%${item}%'
                 </foreach>
             </if>
+            <if test="gatepostName1 != null">
+                and
+                <foreach collection="gatepostName1" item="item" open="(" separator="or" close=")">
+                    "gatepostName1" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="gatepostName2 != null">
+                and
+                <foreach collection="gatepostName2" item="item" open="(" separator="or" close=")">
+                    "gatepostName2" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="materialName != null">
+                and
+                <foreach collection="materialName" item="item" open="(" separator="or" close=")">
+                    "materialName" like '%${item}%'
+                </foreach>
+            </if>
         </where>
         <include refid="orderBy"></include>
     </select>
@@ -1934,6 +1952,8 @@
                     RRA.ADDRESS_TOWN "addressTown",
                     OO.ORDER_LINE_SEQUENCE "lineSqe",
                     OO.DRIVER_TEL "capacityTel",
+                    QQR.RESULT_START_TIME   "queueStartTime",
+                    QQR.UPDATE_TIME         "allowEnfactoryTime",
                     TWR.RESULT_GROSS_WEIGHT "grossWeight",
                     TWR.RESULT_GROSS_WEIGHT_TIME "grossWeightTime",
                     TWR.RESULT_TARE_WEIGHT       "tareWeight",
@@ -1956,15 +1976,15 @@
                     ASO.sale_remark "saleRemark",
                     DECODE(OO.PRINTNUMBER,1,'已打印','未打印') "isPrintDelivery",
                     decode(TSR.RESULT_ID,null,'未发送','已发送')  "smsResultId",
-                    DECODE(ASO.SALE_ORDER_STATUS,1,'销售订单已上报',
-                                                 2,'销售已提交',
-                                                 4,'财务已审批',
-                                                 0,'销售订单未上报') "saleOrderStatus",
+                    DECODE(ASO.SALE_ORDER_STATUS,1,'保存',
+                                                 2,'提交',
+                                                 4,'审核',
+                                                 0,'未上报') "saleOrderStatus",
                     (CASE
                     when OO.ORDER_STATUS =2
-                    then '作业已完成'
+                    then '已完成'
                     when OO.ORDER_STATUS=4
-                    then '物流公司已派单'
+                    then '已派单'
                     when nvl(OO.ORDER_STATUS,0)=0
                     then '未派发'
                     when OO.ORDER_STATUS=7
@@ -1977,8 +1997,10 @@
                     THEN '已出厂'
                     WHEN TER.RESULT_ENTRY_GATE_TIME IS NOT NULL
                     THEN '已进厂'
+                    WHEN QQR.RESULT_START_TIME IS NOT NULL
+                    THEN '排队中'
                     when OO.ORDER_STATUS=5
-                    then '司机已接单'
+                    then '已接单'
                     WHEN TER.INSERT_TIME IS NULL
                     THEN ' '
                     WHEN TLFR.INSERT_TIME IS NULL THEN ' '
@@ -2016,6 +2038,8 @@
                               ON RCA.CAPACITY_ID = OO.CAPACITY_ID
                     LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
                               ON TTR.ORDER_ID = OO.ORDER_ID
+                    LEFT JOIN QMS_QUEUE_RESULT QQR
+                              ON QQR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
                     LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER
                               ON TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
                     LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
@@ -2063,7 +2087,12 @@
                     </if>
                     <if test="capacityList != null">
                         and <foreach collection="capacityList" item="item" open="(" separator="or" close=")">
-                        RCA.CAPACITY_NUMBER like '%${item}%'
+                        <if test="item == null">
+                            RCA.CAPACITY_NUMBER is null
+                        </if>
+                        <if test="item != null">
+                            RCA.CAPACITY_NUMBER like '%${item}%'
+                        </if>
                     </foreach>
                     </if>
                     <if test="consigneeNames != null">
@@ -2102,7 +2131,31 @@
                     </if>
                     <if test="orderStatusList != null">
                         and <foreach collection="orderStatusList" item="item" open="(" separator="or" close=")">
-                        DECODE(OO.ORDER_STATUS ,2,'作业已完成',4,'物流公司已派单',5,'司机已接单',0,'未派发',7,'已关闭',8,'已关闭') like '%${item}%'
+                        (CASE
+                        when OO.ORDER_STATUS =2
+                        then '作业已完成'
+                        when OO.ORDER_STATUS=4
+                        then '物流公司已派单'
+                        when nvl(OO.ORDER_STATUS,0)=0
+                        then '未派发'
+                        when OO.ORDER_STATUS=7
+                        then '已关闭'
+                        when OO.ORDER_STATUS=8
+                        then '已关闭'
+                        WHEN TRR.INSERT_TIME IS NOT NULL
+                        THEN '已完成'
+                        WHEN TLFR.RESULT_OUT_GATE_TIME IS NOT NULL
+                        THEN '已出厂'
+                        WHEN TER.RESULT_ENTRY_GATE_TIME IS NOT NULL
+                        THEN '已进厂'
+                        WHEN QQR.RESULT_START_TIME IS NOT NULL
+                        THEN '排队中'
+                        when OO.ORDER_STATUS=5
+                        then '司机已接单'
+                        WHEN TER.INSERT_TIME IS NULL
+                        THEN ' '
+                        WHEN TLFR.INSERT_TIME IS NULL THEN ' '
+                        END) like '%${item}%'
                     </foreach>
                     </if>
                     <if test="addressPlaceList != null">
@@ -2116,7 +2169,15 @@
                         RM.MATERIAL_SPECIFICATION || RM.MATERIAL_MODEL like '%${item}%'
                     </foreach>
                     </if>
-                    order by ASO.SALE_ORDER_ID DESC, OO.ORDER_ID  DESC
+                    <if test="saleOrderStatusList != null">
+                        and <foreach collection="saleOrderStatusList" item="item" open="(" separator="or" close=")">
+                        DECODE(ASO.SALE_ORDER_STATUS,1,'保存',
+                        2,'提交',
+                        4,'审核',
+                        0,'未上报') like '%${item}%'
+                    </foreach>
+                    </if>
+                    order by ASO.SALE_ORDER_ID DESC, ASOM.SALE_ORDER_MATERIAL_ID DESC,OO.ORDER_ID  DESC
                      )
     </select>
     <select id="getInwardSaleSteelReport" resultType="java.util.Map" parameterType="java.util.Map">
@@ -2744,8 +2805,6 @@
         WHEN TER.INSERT_TIME IS NULL
         THEN ' '
         WHEN TLFR.INSERT_TIME IS NULL THEN ' ' end
-        END
-        "status"
         from OMSTRUCK_ORDER OO
         LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
         ON TTR.ORDER_ID=OO.ORDER_ID

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

@@ -1376,4 +1376,18 @@
         SELECT OO.CAN_WORK FROM OMSTRUCK_ORDER OO
         WHERE OO.ORDER_ID = #{orderId}
     </select>
+    <select id="getIsSelfMention" resultType="java.lang.String" parameterType="java.math.BigDecimal">
+        SELECT ASO.SALE_ORDER_ISSELF_MENTION FROM OMSTRUCK_ORDER OO
+        LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+        ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+        LEFT JOIN AMS_SALE_ORDER ASO
+        ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
+    <select id="getUnloadResult" resultType="java.util.Map" parameterType="java.math.BigDecimal">
+        SELECT tur.RESULT_END_TIME "resultEndTime" FROM TMSTRUCK_TOTAL_RESULT TTR
+        LEFT JOIN TMSTRUCK_UNLOAD_RESULT TUR
+        ON TUR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        WHERE TTR.ORDER_ID = #{orderId}
+    </select>
 </mapper>

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

@@ -2874,4 +2874,9 @@
         SET ORDER_LINE_SEQUENCE=#{seq}
         WHERE ORDER_ID=#{orderId}
     </update>
+    <update id="updateOrderStatus">
+        update OMSTRUCK_ORDER
+        SET ORDER_STATUS=#{orderStatus}
+        where ORDER_ID=#{orderId}
+    </update>
 </mapper>