Browse Source

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/DAL-DAZHOU-AMS-API

liyg 2 năm trước cách đây
mục cha
commit
bd701e570a

+ 9 - 1
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.controller;
 
 import com.alibaba.druid.support.json.JSONUtils;
+import com.steerinfo.dil.feign.BmstruckFeign;
 import com.steerinfo.dil.feign.ColumnDataFeign;
 import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.feign.JoinFeign;
@@ -18,7 +19,6 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
@@ -74,6 +74,8 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
     EASCapacityTestUtil easCapacityTestUtil;
     @Autowired
     EasFluMakeDateUtil easFluMakeDateUtil;
+    @Autowired
+    BmstruckFeign bmstruckFeign;
 
 
     private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -1490,6 +1492,12 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
                         BigDecimal orderId = amsSaleOrderService.selectTransPortOrder(closeWlEntryId);
                         if (orderId != null) {
                             amsSaleOrderService.updateTransportOrderStatus(orderId);
+                            //看该分录有没有磅重,如果有磅重,有没有计费详单
+                            BigDecimal detailsOrder = amsSaleOrderMaterialService.getDeatailsOrder(closeWlEntryId);
+                            if(detailsOrder == null) {
+                                //如果没有结算数据,则生成结算数据
+                                bmstruckFeign.addDetailsOrder(orderId);
+                            }
                         }
                     } catch (Exception e) {
                         e.printStackTrace();

+ 3 - 3
src/main/java/com/steerinfo/dil/feign/BmstruckFeign.java

@@ -4,11 +4,8 @@ import com.steerinfo.framework.controller.RESTfulResult;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import java.math.BigDecimal;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -23,6 +20,9 @@ public interface BmstruckFeign {
     @PostMapping("/api/v1/bmstruck/bmstruckdetailsorder/updateBatchDetailsOrder")
     Map<String, Object> updateBatchDetailsOrder(Map<String, Object> map);
 
+    @PostMapping("api/v1/bmstruck/bmstruckdetailsorder/addDetailsOrder/{orderId}")
+    public RESTfulResult addDetailsOrder(@PathVariable("orderId") BigDecimal orderId);
+
 
 }
 

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

@@ -83,4 +83,7 @@ public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMate
 
     //把现地址赋值给旧地址字段
     int setHistoryAddressId(Map<String, Object> mapValue);
+
+    BigDecimal getDeatailsOrder(BigDecimal closeWlEntryId);
+
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderMaterialService.java

@@ -75,4 +75,6 @@ public interface IAmsSaleOrderMaterialService{
     int mergeOrder(Map<String, Object> map);
 
     int splitOrder(Map<String, Object> map);
+
+    BigDecimal getDeatailsOrder(BigDecimal closeWlEntryId);
 }

+ 14 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java

@@ -998,6 +998,9 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
     @Override
     @Transactional
     public int mergeOrder(Map<String, Object> map) {
+        System.out.println(new Date() + "-----------");
+        System.out.println(map);
+        System.out.println(new Date() + "-----------");
         int i = 0 ;
         List<Map<String,Object>> mapList = (List<Map<String,Object>>)map.get("mapList");
         BigDecimal toMergeSaleOrderMaterialID = DataChange.dataToBigDecimal(mapList.get(0).get("saleOrderMaterialId"));
@@ -1017,6 +1020,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
                 AmsSaleTrucknoMaterial amsSaleTrucknoMaterial = new AmsSaleTrucknoMaterial();
                 amsSaleTrucknoMaterial.setTrucknoMaterialId(truckNoMaterialId);
                 amsSaleTrucknoMaterial.setSaleOrderMaterialId(toMergeSaleOrderMaterialID);
+                amsSaleTrucknoMaterial.setUpdateTime(new Date());
                 amsSaleTrucknoMaterial.setInsertUpdateRemark("执行合并操作,原车序号ID为" + saleOrderMaterialId);
                 i += amsSaleTrucknoMaterialMapper.updateByPrimaryKeySelective(amsSaleTrucknoMaterial);
             }
@@ -1025,6 +1029,7 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
                 amsSaleMaterial.setSaleMaterialId(saleMaterialId);
                 amsSaleMaterial.setSaleOrderId(saleOrderId);
                 amsSaleMaterial.setInsertUpdateRemark("执行合并操作,原销售订单号为" + saleOrderId);
+                amsSaleMaterial.setUpdateTime(new Date());
                 i += amsSaleMaterialMapper.updateByPrimaryKeySelective(amsSaleMaterial);
             }
         }
@@ -1035,6 +1040,9 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
     @Override
     @Transactional
     public int splitOrder(Map<String, Object> map) {
+        System.out.println(new Date() + "-----------");
+        System.out.println(map);
+        System.out.println(new Date() + "-----------");
         int i = 0;
         List<Map<String,Object>> mapList = (List<Map<String,Object>>)map.get("mapList");
         BigDecimal toSplitSaleOrderMaterialID = DataChange.dataToBigDecimal(mapList.get(0).get("saleOrderMaterialId"));
@@ -1087,4 +1095,10 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
         }
         return i;
     }
+
+
+    @Override
+    public BigDecimal getDeatailsOrder(BigDecimal closeWlEntryId) {
+        return amsSaleOrderMaterialMapper.getDeatailsOrder(closeWlEntryId);
+    }
 }

+ 13 - 2
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -820,6 +820,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             amsSaleMaterial.setMaterialId(materialId);
             amsSaleMaterial.setMaterialNumber(materialNumber);
             amsSaleMaterial.setMaterialPlanNumber(materialNumber);
+            try {
+                amsSaleMaterial.setTransferInOfWarehouse(saleRemark);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
             amsSaleMaterial.setInsertTime(new Date());
             amsSaleMaterial.setUpdateTime(new Date());
             amsSaleMaterial.setIsPoundSale(isPoundSale);
@@ -2664,6 +2669,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
 
     @Override
     public List<String> getEasPrimaryIds(Map<String, Object> map) {
+        System.out.println("获取制单日期------------" + new Date());
         List<String> easPrimaryIds = amsSaleOrderMapper.getEasPrimaryIds(map);
         String easPrimaryList = "";
         for (String easPrimaryId :easPrimaryIds) {
@@ -2672,7 +2678,6 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         easPrimaryList = easPrimaryList.substring(0,easPrimaryList.length() - 1);
         ArrayList<String> easPrimaryList1 = new ArrayList<>();
         easPrimaryList1.add(easPrimaryList);
-        System.out.println(easPrimaryList);
         Map<String,Object> totalMap = easFluMakeDateUtil.getTotalMap();
         Map<String, Object> input = new HashMap<>();
         input.put("defineSqlNumber","defineXSCKTime");
@@ -2682,6 +2687,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         JSONObject jsonObject = new JSONObject(totalMap);
         System.out.println(jsonObject);
         Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
+        System.out.println(resultMap);
         try {
             newFileTool.newFile("deleteSaleOrderToEas:"+totalMap,"金蝶通讯报文");
         }catch (Exception e){
@@ -2902,6 +2908,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             amsSaleMaterial.setUpdateTime(new Date());
             amsSaleMaterial.setIsPoundSale(isPoundSale);
             amsSaleMaterial.setInsertUpdateRemark("物流新增");
+            try {
+                amsSaleMaterial.setTransferInOfWarehouse(saleRemark);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
             result += amsSaleMaterialMapper.insertSelective(amsSaleMaterial);
             /*
             车序号物资表
@@ -2938,7 +2949,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
     }
 
     @ApiOperation("定时获取制单日期")
-    @Scheduled(fixedRate = 180 * 60 * 1000)
+    @Scheduled(fixedRate = 20 * 60 * 1000)
     public void getMakeDateTime() {
         Map<String, Object> Map = new HashMap<>();
         getEasPrimaryIds(Map);

+ 2 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleMaterialMapper.xml

@@ -791,6 +791,7 @@
           (SELECT ASM.MATERIAL_ID
            FROM AMS_SALE_MATERIAL ASM
            WHERE ASM.SALE_MATERIAL_ID = #{saleMaterialId})
+      AND OOM.SALE_MATERIAL_ID = #{saleMaterialId}
   </delete>
 
   <delete id="deleteWmspOutResult" parameterType="java.util.Map" >
@@ -875,6 +876,7 @@
     TWR.RESULT_NET_WEIGHT IS NOT NULL
     AND
     TWR.MATERIAL_ID = (select ASM.MATERIAL_ID from AMS_SALE_MATERIAL ASM where ASM.SALE_MATERIAL_ID = #{saleMaterialId})
+    AND TWR.SALE_MATERIAL_ID = #{saleMaterialId}
     AND
     OO.ORDER_ID = #{orderId}
   </select>

+ 4 - 3
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -4681,6 +4681,7 @@
       AND TWR.RESULT_NET_WEIGHT IS NOT NULL
       AND ASM.EAS_PRIMARY_ID IS NOT NULL
       AND OO.ORDER_TYPE = 1
+      AND OO.ORDER_STATUS IN (2,5)
       <if test="easPrimaryList != null and easPrimaryList.size > 0">
         and <foreach collection="easPrimaryList" item="item" open="(" separator="or" close=")">
         ASM.EAS_PRIMARY_ID LIKE '%${item}%'
@@ -4688,10 +4689,10 @@
       </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
+         AND ASOM.SALE_DATE_OF_RECEIPT  &lt; sysdate + 1
+         AND ASOM.SALE_DATE_OF_RECEIPT  > sysdate - 2
          ORDER BY OO.ORDER_ID
-         FETCH NEXT 5000 ROWS ONLY
+         FETCH NEXT 50000 ROWS ONLY
       </if>
     </select>
   <select id="getNextCarrier" resultType="java.util.Map" parameterType="java.lang.Integer">

+ 9 - 1
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -978,9 +978,17 @@
     ORDER BY ACTP.PRICE_VALUE DESC
       FETCH NEXT 1 ROWS ONLY
   </select>
-  <update id="setHistoryAddressId">
+
+    <update id="setHistoryAddressId">
     UPDATE AMS_SALE_ORDER_MATERIAL
     SET HISTORY_SHIPPING_ADDRESS_ID = SALE_SHIPPING_ADDRESS_ID
     WHERE SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
   </update>
+  <select id="getDeatailsOrder" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
+    SELECT BDO.DETAILS_ID from TMSTRUCK_WEIGHT_RESULT ttr
+    LEFT JOIN BMSTRUCK_DETAILS_ORDER BDO
+    ON BDO.WEIGHT_TASK_RESULT_ID = TTR.WEIGHT_TASK_RESULT_ID
+    where ttr.SALE_MATERIAL_ID = #{closeWlEntryId}
+    FETCH NEXT 1 ROWS ONLY
+  </select>
 </mapper>

+ 1 - 0
src/main/resources/com/steerinfo/dil/mapper/AmstruckInwardRequirementMapper.xml

@@ -1393,6 +1393,7 @@
         WHERE AIR.PURCHASE_ORDER_ID IS NOT NULL
         AND AIR.REQUIREMENT_STATUS = #{requirementStatus}
         AND AIR.DELETED = 0
+        AND APO.DELETED = 0
         <if test="userId != null">
             and air.insert_username = #{userId}
         </if>