luobang před 2 roky
rodič
revize
5fa64bdf68

+ 13 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -755,6 +755,9 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
         try {
             // 成功
             int result = amsSaleOrderService.addSteelSaleOrder(mapValue);
+            if (mapValue.get("isUploadEas") != null && result != 0) {
+                amsSaleOrderService.uploadSaleOrder(new BigDecimal(result));
+            }
             return success(result);
         } catch (Exception e) {
             // 失败
@@ -1472,6 +1475,15 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
                         continue;
                     }
                     amsSaleOrderService.updateAMSDeleted(closeWlEntryId);
+                    //根据物流分录id寻找运输订单号
+                    try {
+                        BigDecimal orderId = amsSaleOrderService.selectTransPortOrder(closeWlEntryId);
+                        if (orderId != null) {
+                            amsSaleOrderService.updateTransportOrderStatus(orderId);
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
                     String wholeOrder = "0";
                     String status = "close";
                     //需要的数据
@@ -1496,6 +1508,7 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
                     String json = JSONUtils.toJSONString(totalMap);
                     System.out.println(json);
                     Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
+
                     System.out.println(resultMap);
                 }
             }catch (Exception e){

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

@@ -39,4 +39,7 @@ public interface AmsSaleMaterialMapper extends IBaseMapper<AmsSaleMaterial, BigD
     int getSaleMaterialDelete(BigDecimal saleOrderMaterialId);
 
     int updateSaleMaterialMakeDate(Map<String, Object> rowSet);
+
+    BigDecimal selectTransPortOrderId(BigDecimal closeWlEntryId);
+
 }

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

@@ -3,6 +3,7 @@ package com.steerinfo.dil.mapper;
 import com.steerinfo.dil.model.AmsSaleOrderMaterial;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.math.BigDecimal;
@@ -68,4 +69,6 @@ public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMate
 
     String getAddressRemark(BigDecimal saleShippingAddressId);
 
+    int updateTransportOrderStatus(@Param("orderId") BigDecimal orderId, @Param("orderStatus") Integer orderStatus);
+
 }

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

@@ -62,4 +62,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     int getWeightResultNum(BigDecimal orderId);
 
+    int selectNetWeightCount(BigDecimal orderId);
+
 }

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

@@ -185,4 +185,8 @@ public interface IAmsSaleOrderService {
     List<String> getEasPrimaryIds(Map<String, Object> map);
 
     int addSteelSaleOrderLoading(Map<String, Object> mapValue) throws Exception;
+
+    BigDecimal selectTransPortOrder(BigDecimal closeWlEntryId);
+
+    int updateTransportOrderStatus(BigDecimal orderId);
 }

+ 26 - 9
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -11,7 +11,9 @@ import com.steerinfo.dil.mapper.*;
 import com.steerinfo.dil.model.*;
 import com.steerinfo.dil.service.IAmsSaleOrderService;
 import com.steerinfo.dil.util.*;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -547,15 +549,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     @Transactional(rollbackFor = Exception.class)
     public int addSteelSaleOrder(Map<String, Object> mapValue) throws Exception {
         List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
-        //如果前端传输过来的销售订单id不是空,则改变为已上传
-        if (mapValue.get("saleOrderId") != null) {
-            //先判断该销售订单有没有被上传,如果传了则不允许重复上传
-            int count = amsSaleOrderMaterialMapper.selectSaleOrderIdIsUpload(DataChange.dataToBigDecimal(mapValue.get("saleOrderId")));
-            if(count != 0) {
-                return 0;
-            }
-             amsSaleOrderMapper.updateOldSaleOrderUpload(DataChange.dataToBigDecimal(mapValue.get("saleOrderId")));
-        }
         // 得到发货单位
         BigDecimal shipperId = DataChange.dataToBigDecimal(mapValue.get("shipperId"));
         // 收货单位
@@ -2487,6 +2480,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         JSONObject jsonObject = new JSONObject(totalMap);
         System.out.println(jsonObject);
         Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
+        System.out.println("返回");
+        System.out.println(resultMap);
         String outPut = (String) resultMap.get("output");
         JSONObject outputjson = JSONObject.parseObject(outPut);
         Map<String,Object> outputMap = (Map<String,Object>) outputjson;
@@ -2719,6 +2714,28 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return saleOrderId.intValue();
     }
 
+    @Override
+    public BigDecimal selectTransPortOrder(BigDecimal closeWlEntryId) {
+        return amsSaleMaterialMapper.selectTransPortOrderId(closeWlEntryId);
+    }
+
+    @Override
+    public int updateTransportOrderStatus(BigDecimal orderId) {
+        //查询该运单下有没有净重,没有净重就变为7,有净重就变为2
+        int netWeight = omstruckOrderMapper.selectNetWeightCount(orderId);
+        int orderStatus = 7;
+        if(netWeight > 0) {
+            orderStatus = 2;
+        }
+        return amsSaleOrderMaterialMapper.updateTransportOrderStatus(orderId,orderStatus);
+    }
+
+    @ApiOperation("定时获取制单日期")
+    @Scheduled(fixedRate = 180 * 60 * 1000)
+    public void getMakeDateTime() {
+        Map<String, Object> Map = new HashMap<>();
+        getEasPrimaryIds(Map);
+    }
 
 
 }

+ 11 - 1
src/main/resources/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.xml

@@ -845,7 +845,17 @@
       WHERE ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
       and ASM.DELETED is null
     </select>
-  <update id="updateSaleMaterialMakeDate">
+    <select id="selectTransPortOrderId" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
+      SELECT 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 ASM.SALE_MATERIAL_ID = #{closeWlEntryId}
+    </select>
+    <update id="updateSaleMaterialMakeDate">
     update AMS_SALE_MATERIAL ASM
     SET ASM.SALE_MAKE_DATE = #{easprimaryIdMakeDate}
     WHERE ASM.EAS_PRIMARY_ID = #{FSALEORDERENTRYID}

+ 22 - 1
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -4665,13 +4665,34 @@
     SELECT count(*) FROM RMS_CAPACITY WHERE CAPACITY_NUMBER=#{capacityNumber} and CAPACITY_GPS='是'
   </select>
     <select id="getEasPrimaryIds" resultType="string" parameterType="map">
-      SELECT ASM.EAS_PRIMARY_ID FROM AMS_SALE_MATERIAL ASM
+      SELECT distinct EAS_PRIMARY_ID 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_TRUCKNO_MATERIAL ASTM
+      ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+      LEFT JOIN AMS_SALE_MATERIAL ASM
+      ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+      LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
+      ON TTR.ORDER_ID = TTR.ORDER_ID
+      LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+      ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+      AND ASM.MATERIAL_ID = TWR.MATERIAL_ID
       where NVL(ASM.DELETED,0) = 0
+      AND TWR.RESULT_NET_WEIGHT IS NOT NULL
+      AND ASM.EAS_PRIMARY_ID IS NOT NULL
+      AND OO.ORDER_TYPE = 1
       <if test="easPrimaryList != null and easPrimaryList.size > 0">
         and <foreach collection="easPrimaryList" item="item" open="(" separator="or" close=")">
         ASM.EAS_PRIMARY_ID LIKE '%${item}%'
       </foreach>
       </if>
+      <if test="easPrimaryList == null">
+         and ASM.SALE_MAKE_DATE IS NULL
+         AND ASOM.SALE_DATE_OF_RECEIPT  &lt; sysdate
+         AND ASOM.SALE_DATE_OF_RECEIPT  > sysdate -20
+         ORDER BY OO.ORDER_ID
+         FETCH NEXT 5000 ROWS ONLY
+      </if>
     </select>
   <select id="getNextCarrier" resultType="java.util.Map" parameterType="java.math.BigDecimal">
     select adso.CARRIER_ID "carrierId" from AMS_SALE_ORDER_MATERIAL asom

+ 6 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -938,4 +938,10 @@
     set RECEIVE_ID=#{consigneeId}
     WHERE SALE_ORDER_ID=#{saleOrderId}
   </update>
+  <update id="updateTransportOrderStatus">
+      UPDATE OMSTRUCK_ORDER OO
+      SET OO.ORDER_STATUS = #{orderStatus},
+          OO.INSERT_UPDATE_REMARK = '关闭金蝶分录,改变运单状态'
+      where OO.ORDER_ID = #{orderId}
+  </update>
 </mapper>

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

@@ -933,4 +933,12 @@
         ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
         WHERE TTR.ORDER_ID = #{orderId}
     </select>
+    <select id="selectNetWeightCount" resultType="java.lang.Integer" parameterType="java.math.BigDecimal">
+        SELECT COUNT(TWR.WEIGHT_TASK_RESULT_ID) FROM TMSTRUCK_TOTAL_RESULT TTR
+        LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWR
+        ON TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        WHERE
+        TWR.RESULT_NET_WEIGHT IS NOT NULL
+        AND TTR.ORDER_ID = #{orderId}
+    </select>
 </mapper>