Browse Source

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

liyg 2 years ago
parent
commit
fb6360f41f

+ 7 - 0
src/main/java/com/steerinfo/dil/feign/AmsFeign.java

@@ -4,7 +4,9 @@ import com.steerinfo.framework.controller.RESTfulResult;
 import org.springframework.cloud.openfeign.FeignClient;
 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;
 
@@ -20,4 +22,9 @@ public interface AmsFeign {
     @PostMapping("api/v1/ams/amssaleorders/continueSteelOrder")
     RESTfulResult continueSteelOrder(@RequestBody List<Map<String, Object>> mapList);
 
+    @PostMapping("api/v1/ams/amssaleorders/closeSteelMaterialId")
+    RESTfulResult closeSteelMaterialId(@RequestBody Map<String, Object> closeEntryMap);
+
+    @PostMapping("api/v1/ams/amssaleorders/adverseCloseSaleMaterialByEas")
+    RESTfulResult adverseCloseSaleMaterialByEas(@RequestParam BigDecimal saleMaterialId);
 }

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

@@ -35,4 +35,6 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     int getResultOrder(BigDecimal orderId);
 
+    Map<String, Object> selecrCloseEntryMes(BigDecimal saleMaterialId);
+
 }

+ 10 - 37
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -14,6 +14,7 @@ import com.steerinfo.dil.util.MyException;
 import com.sun.org.apache.bcel.internal.generic.NEW;
 import io.swagger.models.auth.In;
 import org.apache.ibatis.executor.loader.ResultLoader;
+import org.apache.shiro.crypto.hash.Hash;
 import org.assertj.core.internal.bytebuddy.implementation.FieldAccessor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -184,28 +185,16 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 List<AmsSaleMaterial> amsSaleMaterials = amsSaleMaterialMapper.selectByParameters(easMap);
                 if (amsSaleMaterials != null && amsSaleMaterials.size() != 0 && amsSaleMaterials.get(0) != null) {
                     AmsSaleMaterial amsSaleMaterial = amsSaleMaterials.get(0);
-                    amsSaleMaterial.setDeleted(new BigDecimal(0));
-                    result += amsSaleMaterialMapper.updateByPrimaryKeySelective(amsSaleMaterial);
+                    //amsSaleMaterial.setDeleted(new BigDecimal(0));
+                    //result += amsSaleMaterialMapper.updateByPrimaryKeySelective(amsSaleMaterial);
                     BigDecimal saleMaterialId = amsSaleMaterial.getSaleMaterialId();
-                    BigDecimal materialId = amsSaleMaterial.getMaterialId();
+                    //调用自己关闭分录服务接口--运单id,车序号id,理由,物流分录id
+                    Map<String, Object> closeEntryMap = omstruckOrderMapper.selecrCloseEntryMes(saleMaterialId);
+                    closeEntryMap.put("reason","金蝶关闭分录,物流同步关闭");
+                    closeEntryMap.put("closeEntryFlag",1);
                     //判断该分录有没有运单
                     try {
-                        BigDecimal orderId = omstruckOrderMapper.selectOrderMes(saleMaterialId);
-                        if(orderId != null) {
-                            //如果存在订单,则将订单物资取消装货1.首先判断有几拼
-                            omstruckOrderMapper.updateOrderToMa(orderId,materialId);
-                            int orderMaterialcount = omstruckOrderMapper.selectOrderMaterialcount(orderId);
-                            if (orderMaterialcount == 1) {
-                                //如果单拼关闭运单
-                                OmstruckOrder omstruckOrder = new OmstruckOrder();
-                                omstruckOrder.setOrderId(DataChange.dataToBigDecimal(orderId));
-                                //如果是单拼或者只剩一条分录没有关闭了则将状态设为7
-                                omstruckOrder.setOrderStatus(new BigDecimal(7));
-                                omstruckOrder.setUpdateTime(new Date());
-                                omstruckOrder.setInsertUpdateRemark("金蝶关闭分录,物流同步关闭运输订单");
-                                result += omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
-                            }
-                        }
+                        amsFeign.closeSteelMaterialId(closeEntryMap);
                     } catch (Exception e) {
                         e.printStackTrace();
                     }
@@ -256,27 +245,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 List<AmsSaleMaterial> amsSaleMaterials = amsSaleMaterialMapper.selectByParameters(easMap);
                 if (amsSaleMaterials != null && amsSaleMaterials.size() != 0 && amsSaleMaterials.get(0) != null) {
                     AmsSaleMaterial amsSaleMaterial = amsSaleMaterials.get(0);
-                    result += amsSaleMaterialMapper.unCloseSaleMaterial(amsSaleMaterial.getSaleMaterialId());
+                    //result += amsSaleMaterialMapper.unCloseSaleMaterial(amsSaleMaterial.getSaleMaterialId());
                     BigDecimal saleMaterialId = amsSaleMaterial.getSaleMaterialId();
-                    BigDecimal materialId = amsSaleMaterial.getMaterialId();
                     //判断该分录有没有运单
                     try {
-                        BigDecimal orderId = omstruckOrderMapper.selectOrderMes(saleMaterialId);
-                        if(orderId != null) {
-                            //如果存在订单,则将订单物资去掉取消装货1.首先判断有几拼
-                            omstruckOrderMapper.updateUnOrderToMa(orderId,materialId);
-                            //查询订单状态
-                            Integer orderStatusOrder = omstruckOrderMapper.selectOrderStatus(orderId);
-                            int factoryResult = omstruckOrderMapper.getResultOrder(orderId);
-                            OmstruckOrder omstruckOrder = new OmstruckOrder();
-                            if(orderStatusOrder == 7 && factoryResult == 0) {
-                                omstruckOrder.setOrderId(orderId);
-                                omstruckOrder.setOrderStatus(new BigDecimal(4));
-                                omstruckOrder.setInsertUpdateRemark("反关闭分录,运单同步开启");
-                                omstruckOrder.setUpdateTime(new Date());
-                                omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
-                            }
-                        }
+                        amsFeign.adverseCloseSaleMaterialByEas(saleMaterialId);
                     } catch (Exception e) {
                         e.printStackTrace();
                     }

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

@@ -935,8 +935,8 @@
       WHERE ASOM.SALE_ORDER_ID = #{saleOrderId}
         AND TER.RESULT_ENTRY_GATE_TIME IS NULL
         AND OO.ORDER_ID IS NOT NULL
-        AND OO.ORDER_TYPE IN (1,2)
-        AND OO.ORDER_STATUS IN (4,5)
+        AND OO.ORDER_STATUS BETWEEN 4 AND 5
+        AND OO.ORDER_TYPE BETWEEN 1 AND 2
     )
   </update>
 

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

@@ -897,4 +897,13 @@
         WHERE OOM.ORDER_ID = #{orderId}
           and OOM.MATERIAL_ID = #{materialId}
     </update>
+    <select id="selecrCloseEntryMes" resultType="java.util.Map" parameterType="java.math.BigDecimal">
+        SELECT distinct oo.ORDER_ID "orderId",ASOM.SALE_ORDER_MATERIAL_ID "saleOrderMaterialId",
+              ASM.SALE_MATERIAL_ID  "saleMaterialId"
+              FROM AMS_SALE_MATERIAL ASM
+              LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM on ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+              LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM on ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
+              LEFT JOIN OMSTRUCK_ORDER OO ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID
+        WHERE ASM.SALE_MATERIAL_ID = #{saleMaterialId}
+    </select>
 </mapper>