luobang 1 year ago
parent
commit
7b6ba94d54

+ 5 - 0
src/main/java/com/steerinfo/dil/controller/TmstruckUnloadResultController.java

@@ -153,4 +153,9 @@ public class TmstruckUnloadResultController extends BaseRESTfulController {
         }
         return  success(i+i1+i2);
     }
+
+    @PostMapping("deleteUnloadResult")
+    public RESTfulResult deleteUnloadResult() {
+        return success(tmstruckUnloadResultService.deleteUnloadResult());
+    }
 }

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

@@ -71,4 +71,15 @@ public interface TmstruckUnloadResultMapper extends IBaseMapper<TmstruckUnloadRe
     int clearRepeat(TmstruckUnloadResult TmstruckUnloadResult);
 
     int selectUnloadIdByInwardSteel(Map<String, Object> map);
+
+    List<BigDecimal> getUnloadResult();
+
+    int deleteUnload(BigDecimal unloadId);
+
+    Integer getUnloadResultId(BigDecimal totalId);
+
+    int getresultCount(BigDecimal totalId);
+
+    int deleteByResultId(BigDecimal totalId);
+
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/service/ITmstruckUnloadResultService.java

@@ -1,5 +1,6 @@
 package com.steerinfo.dil.service;
 
+import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.IBaseService;
 
 import java.math.BigDecimal;
@@ -40,4 +41,7 @@ public interface ITmstruckUnloadResultService{
 
     //零星物资判断多拼物资是否计量
     int materialIdIsNorWeight(Map<String,Object> map);
+
+    int deleteUnloadResult();
+
 }

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

@@ -10,6 +10,7 @@ import org.apache.http.ParseException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import sun.awt.image.BufferedImageGraphicsConfig;
 
 import javax.xml.crypto.Data;
 import java.io.IOException;
@@ -179,7 +180,7 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
             map.put("totalId",totalId);
             TmstruckUnloadResult tmstruckUnloadResult = generateUnload(map);
             try{
-                Integer resultId=tmstruckUnloadResultMapper.checkMaterialIdUnload(totalId, DataChange.dataToBigDecimal(map.get("materialId")));
+                Integer resultId=tmstruckUnloadResultMapper.getUnloadResultId(totalId);
                 if(orderType == 11 && resultId != null){
                     //如果已经存在,根据主键更新
                     tmstruckUnloadResult.setResultId(new BigDecimal(resultId));
@@ -191,6 +192,11 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
             }catch (Exception e){
                 e.printStackTrace();
                 //出现异常,插入
+                //首先判断卸货实绩有几个
+                int resultCount = tmstruckUnloadResultMapper.getresultCount(totalId);
+                if(resultCount > 0) {
+                    tmstruckUnloadResultMapper.deleteByResultId(totalId);
+                }
                 tmstruckUnloadResultMapper.insertSelective(tmstruckUnloadResult);
             }
             //更新路段顺序号
@@ -426,6 +432,8 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
         return 2;
     }
 
+
+
     //内转物流新增卸车实绩
     @Override
     public int addUnloadresultForconverted(Map<String, Object> map) {
@@ -458,5 +466,14 @@ public class TmstruckUnloadResultServiceImpl implements ITmstruckUnloadResultSer
         return 1;
     }
 
+    @Override
+    @Transactional
+    public int deleteUnloadResult() {
+        List<BigDecimal> unloadIds = tmstruckUnloadResultMapper.getUnloadResult();
+        for(BigDecimal unloadId : unloadIds) {
+            tmstruckUnloadResultMapper.deleteUnload(unloadId);
+        }
+        return 0;
+    }
 
 }

+ 16 - 4
src/main/resources/com/steerinfo/dil/mapper/StatisticalReportMapper.xml

@@ -2644,7 +2644,10 @@
             and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >=  ASM.SALE_MAKE_DATE
         </if>
         <if test="remark != null" >
-            and RSR.SALER_NAME || RCA.CAPACITY_NUMBER || RC.CONSIGNEE_COMPANY_NAME || R_CARRIER.CARRIER_ABBREVIATION || RM.MATERIAL_NAME || RM.MATERIAL_MODEL || RM.MATERIAL_SPECIFICATION
+            and RSR.SALER_NAME || RCA.CAPACITY_NUMBER || RC.CONSIGNEE_COMPANY_NAME || (CASE WHEN ASO.SALE_ORDER_ISSELF_MENTION = '是'
+            THEN '自提'
+            ELSE R_CARRIER.CARRIER_ABBREVIATION
+            END) || RM.MATERIAL_NAME || RM.MATERIAL_MODEL || RM.MATERIAL_SPECIFICATION
             || (CASE WHEN RRA_HISTORY.ADDRESS_PROVINCE is not null
             THEN '新地址:' || RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
             RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
@@ -2683,7 +2686,10 @@
         </foreach>
         </if>
         <if test="carrierNames != null">
-            and R_CARRIER.CARRIER_ABBREVIATION like #{carrierNames}
+            and (CASE WHEN ASO.SALE_ORDER_ISSELF_MENTION = '是'
+            THEN '自提'
+            ELSE R_CARRIER.CARRIER_ABBREVIATION
+            END) like #{carrierNames}
         </if>
         <if test="carrierList != null ">
             and <foreach collection="carrierList" item="item" open="(" separator="or" close=")">
@@ -2998,7 +3004,10 @@
             and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >=  ASM.SALE_MAKE_DATE
         </if>
         <if test="remark != null" >
-            and RSR.SALER_NAME || RCA.CAPACITY_NUMBER || RC.CONSIGNEE_COMPANY_NAME || R_CARRIER.CARRIER_ABBREVIATION || RM.MATERIAL_NAME || RM.MATERIAL_MODEL || RM.MATERIAL_SPECIFICATION
+            and RSR.SALER_NAME || RCA.CAPACITY_NUMBER || RC.CONSIGNEE_COMPANY_NAME || (CASE WHEN ASO.SALE_ORDER_ISSELF_MENTION = '是'
+            THEN '自提'
+            ELSE R_CARRIER.CARRIER_ABBREVIATION
+            END) || RM.MATERIAL_NAME || RM.MATERIAL_MODEL || RM.MATERIAL_SPECIFICATION
             || (CASE WHEN RRA_HISTORY.ADDRESS_PROVINCE is not null
             THEN '新地址:' || RRA.ADDRESS_PROVINCE || RRA.ADDRESS_DISTRICT ||
             RRA.ADDRESS_TOWN || RRP.ADDRESS_DELIVERY_ADDRESS
@@ -3037,7 +3046,10 @@
         </foreach>
         </if>
         <if test="carrierNames != null">
-            and R_CARRIER.CARRIER_ABBREVIATION like #{carrierNames}
+            and (CASE WHEN ASO.SALE_ORDER_ISSELF_MENTION = '是'
+            THEN '自提'
+            ELSE R_CARRIER.CARRIER_ABBREVIATION
+            END) like #{carrierNames}
         </if>
         <if test="carrierList != null ">
             and <foreach collection="carrierList" item="item" open="(" separator="or" close=")">

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

@@ -1151,6 +1151,7 @@
             ROWS ONLY
         )
     </delete>
+
     <select id="selectUnloadIdByInwardSteel" resultType="java.lang.Integer" parameterType="map">
         select count(OOM.ORDER_ID) from OMSTRUCK_ORDER_MATERIAL OOM
         LEFT JOIN AMS_SALE_MATERIAL ASM ON ASM.SALE_MATERIAL_ID = OOM.SALE_MATERIAL_ID
@@ -1159,4 +1160,41 @@
         WHERE TPAR.SEND_STATION_ID = #{sendStationId}
         AND OOM.ORDER_ID = #{orderId}
     </select>
+    <select id="getUnloadResult" resultType="java.math.BigDecimal">
+        select "a" from (SELECT COUNT(TUR.RESULT_TOTAL_ID) "c",tur.RESULT_TOTAL_ID "a" FROM TMSTRUCK_UNLOAD_RESULT TUR
+        LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+        ON TTR.RESULT_TOTAL_ID = tur.RESULT_TOTAL_ID
+        left join OMSTRUCK_ORDER oo
+        on oo.ORDER_ID = ttr.RESULT_TOTAL_ID
+        where oo.order_type = 11
+        GROUP BY TUR.RESULT_TOTAL_ID) TT
+        where TT."c" >= 2
+    </select>
+
+    <delete id="deleteUnload">
+        delete from TMSTRUCK_UNLOAD_RESULT TUR
+        where tur.RESULT_ID in (select tur.RESULT_ID from TMSTRUCK_UNLOAD_RESULT where TUR.RESULT_TOTAL_ID = #{unloadId}
+            FETCH NEXT (
+                --查询需要删除的数量
+                SELECT COUNT(RESULT_ID)-1
+                FROM TMSTRUCK_UNLOAD_RESULT
+                WHERE RESULT_TOTAL_ID=#{unloadId}
+                )
+                rows only
+            )
+    </delete>
+
+    <select id="getUnloadResultId" resultType="java.lang.Integer">
+        select TUR.RESULT_ID
+        from TMSTRUCK_UNLOAD_RESULT TUR
+        where TUR.RESULT_TOTAL_ID = #{totalId}
+    </select>
+    <select id="getresultCount" resultType="java.lang.Integer">
+        select COUNT(TUR.RESULT_ID)
+        from TMSTRUCK_UNLOAD_RESULT TUR
+        where TUR.RESULT_TOTAL_ID = #{totalId}
+    </select>
+    <delete id="deleteByResultId">
+        delete from TMSTRUCK_UNLOAD_RESULT where RESULT_TOTAL_ID = #{totalId}
+    </delete>
 </mapper>