Selaa lähdekoodia

'反关闭接口同步'

hujg 2 vuotta sitten
vanhempi
commit
fe8192fe38

+ 36 - 0
src/main/java/com/steerinfo/dil/controller/OtherWarehouseController.java

@@ -0,0 +1,36 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.service.impl.OtherWarehouseServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/${api.version}/otherWarehouse")
+public class OtherWarehouseController extends BaseRESTfulController {
+
+    @Autowired
+    OtherWarehouseServiceImpl otherWarehouseService;
+
+    /**
+     * 推送出厂车辆数据到异地库
+     *
+     * @param orderId
+     * @return
+     */
+    @ApiModelProperty(value = "推送出厂车辆数据到异地库")
+    @PostMapping("/sendMessageToOtherWarehouse")
+    public RESTfulResult sendMessageToOtherWarehouse(@RequestParam BigDecimal orderId) {
+        Map<String,Object> resultMap = otherWarehouseService.sendMessageToOtherWarehouse(orderId);
+        return success(resultMap);
+    }
+}

+ 4 - 2
src/main/java/com/steerinfo/dil/controller/WSFaceController.java

@@ -128,17 +128,19 @@ public class WSFaceController extends BaseRESTfulController {
     }
 
     @PostMapping("/deleteSaleOrderToEas")
-    @ApiModelProperty(value = "删除销售订单同步金蝶")
+    @ApiModelProperty(value = "关闭/反关闭销售订单同步金蝶接口")
     public Map<String, Object> deleteSaleOrderToEas(@RequestBody Map<String,Object> map) {
         // 正式服务器
         com.steerinfo.dil.wsdl.ServiceInfo service = new ServiceInfo("user", "dgjt@kingdee", "eas", "FDDGEAS85", "L2", 0);
         WSFaceFacadeSrvProxyServiceLocator locator = new WSFaceFacadeSrvProxyServiceLocator();
         service.setServername("172.16.33.111" , "8888");
+        WSContext wsContext = LoginUtil.doEASLogin(service);
         // 测试服务器
 //        DeleteServiceInfo service = new DeleteServiceInfo("user", "dgjt@kingdee", "eas", "A004", "L2", 0);
 //        DeleteWSFaceFacadeSrvProxyServiceLocator locator = new DeleteWSFaceFacadeSrvProxyServiceLocator();
 //        service.setServername("172.16.62.243" , "8888");
-        WSContext wsContext = LoginUtil.doEASLogin(service);
+//
+//        WSContext wsContext = LoginTestUtil.doEASLogin(service);
         String sessionId = wsContext.getSessionId();
         Map<String , Object> resultMap = new HashMap<>();
         String output = null;

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

@@ -18,4 +18,10 @@ public interface AmsSaleMaterialMapper extends IBaseMapper<AmsSaleMaterial, BigD
     BigDecimal getMaterialId(String materialCode);
     // 得到物资出现次数
     Integer getMaterialCount(BigDecimal materialId);
+    // 反关闭销售订单下的所有分录
+    int openAllSaleMaterial(BigDecimal saleOrderId);
+    // 关闭销售订单下的所有分录
+    int closeAllSaleMaterial(BigDecimal saleOrderId);
+
+    int unCloseSaleMaterial(BigDecimal saleMaterialId);
 }

+ 17 - 0
src/main/java/com/steerinfo/dil/mapper/OtherWarehouseMapper.java

@@ -0,0 +1,17 @@
+package com.steerinfo.dil.mapper;
+
+
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface OtherWarehouseMapper {
+
+    // 查询车辆信息
+    Map<String, Object> getMapMessage(BigDecimal orderId);
+    // 查询车辆所运物资信息
+    List<Map<String, Object>> getListMessage(BigDecimal orderId);
+}

+ 12 - 0
src/main/java/com/steerinfo/dil/service/OtherWarehouseService.java

@@ -0,0 +1,12 @@
+package com.steerinfo.dil.service;
+
+import org.springframework.stereotype.Component;
+
+import java.math.BigDecimal;
+import java.util.Map;
+
+@Component
+public interface OtherWarehouseService {
+    // 推送出厂车辆数据到异地库
+    Map<String, Object> sendMessageToOtherWarehouse(BigDecimal orderId);
+}

+ 27 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -109,6 +109,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         List<AmsSaleOrder> amsSaleOrders = amsSaleOrderMapper.selectByParameters(map);
         // 关闭分录
         Object closeEntryId = mapVal.get("closeEntryId");
+        // 反关闭分录
+        Object unCloseEntryId = mapVal.get("unCloseEntryId");
         // 关闭原因
         Object reason = mapVal.get("reason");
         // 是否整单
@@ -120,6 +122,7 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             if (reason != null) {
                 amsSaleOrder.setInsertUpdateRemark(reason.toString());
             }
+            result += amsSaleMaterialMapper.closeAllSaleMaterial(amsSaleOrder.getSaleOrderId());
             result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
             List<Map<String, Object>> warehouseList = amsSaleOrderMapper.getWareHouse(amsSaleOrder.getSaleOrderId());
             if (warehouseList != null && warehouseList.size() != 0) {
@@ -142,6 +145,30 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
                 }
             }
         }
+        // 反关闭整单
+        if (closeStatus.equals("-2") && "1".equals(wholeOrder)) {
+            AmsSaleOrder amsSaleOrder = amsSaleOrders.get(0);
+            amsSaleOrder.setDeleted(new BigDecimal(0));
+            BigDecimal saleOrderId = amsSaleOrder.getSaleOrderId();
+            if (reason != null) {
+                amsSaleOrder.setInsertUpdateRemark(reason.toString());
+            }
+            // 反关闭销售订单下的所有分录
+            result += amsSaleMaterialMapper.openAllSaleMaterial(saleOrderId);
+            result += amsSaleOrderMapper.updateByPrimaryKeySelective(amsSaleOrder);
+        }
+        // 反关闭单个分录订单
+        if (closeStatus.equals("-2") && wholeOrder.equals("0")) {
+            if (unCloseEntryId != null) {
+                Map<String, Object> easMap = new HashMap<>();
+                easMap.put("easPrimaryId", unCloseEntryId);
+                List<AmsSaleMaterial> amsSaleMaterials = amsSaleMaterialMapper.selectByParameters(easMap);
+                if (amsSaleMaterials != null && amsSaleMaterials.size() != 0) {
+                    AmsSaleMaterial amsSaleMaterial = amsSaleMaterials.get(0);
+                    result += amsSaleMaterialMapper.unCloseSaleMaterial(amsSaleMaterial.getSaleMaterialId());
+                }
+            }
+        }
         if (closeStatus.equals("0")) {
             AmsSaleOrder amsSaleOrder = amsSaleOrders.get(0);
             amsSaleOrder.setDeleted(new BigDecimal(1));

+ 31 - 0
src/main/java/com/steerinfo/dil/service/impl/OtherWarehouseServiceImpl.java

@@ -0,0 +1,31 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.mapper.OtherWarehouseMapper;
+import com.steerinfo.dil.service.OtherWarehouseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class OtherWarehouseServiceImpl implements OtherWarehouseService {
+
+    @Autowired
+    OtherWarehouseMapper otherWarehouseMapper;
+
+    /**
+     * 推送出厂车辆数据到异地库
+     * @param orderId
+     * @return
+     */
+    @Override
+    public Map<String, Object> sendMessageToOtherWarehouse(BigDecimal orderId) {
+        Map<String,Object> resultMap = otherWarehouseMapper.getMapMessage(orderId);
+        List<Map<String,Object>> details = otherWarehouseMapper.getListMessage(orderId);
+        resultMap.put("details",details);
+        return resultMap;
+    }
+}

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

@@ -509,4 +509,22 @@
         WHERE RM.MATERIAL_ID = #{materialId}
     </select>
 
+
+    <update id="openAllSaleMaterial" parameterType="DECIMAL" >
+        UPDATE AMS_SALE_MATERIAL ASM
+        SET ASM.DELETED = NULL
+        WHERE ASM.SALE_ORDER_ID = #{saleOrderId}
+    </update>
+
+    <update id="closeAllSaleMaterial" parameterType="DECIMAL" >
+        UPDATE AMS_SALE_MATERIAL ASM
+        SET ASM.DELETED = 0
+        WHERE ASM.SALE_ORDER_ID = #{saleOrderId}
+    </update>
+
+    <update id="unCloseSaleMaterial" parameterType="DECIMAL" >
+        UPDATE AMS_SALE_MATERIAL ASM
+        SET ASM.DELETED = NULL
+        WHERE ASM.SALE_MATERIAL_ID = #{saleMaterialId}
+    </update>
 </mapper>

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

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.steerinfo.dil.mapper.OtherWarehouseMapper">
+
+
+    <select id="getListMessage" parameterType="DECIMAL" resultType="java.util.Map" >
+        SELECT OO.ORDER_NUMBER AS ""
+        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 ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_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 RMS_MATERIAL RM
+        ON ASM.MATERIAL_ID = RM.MATERIAL_ID
+        LEFT JOIN RMS_CAPACITY RC
+        ON RC.CAPACITY_ID = OO.CAPACITY_ID
+
+    </select>
+
+    <select id="getMapMessage" parameterType="DECIMAL" resultType="java.util.Map" >
+        SELECT OO.ORDER_NUMBER AS "",
+               RC.CAPACITY_NUMBER AS ""
+        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 ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
+                 LEFT JOIN RMS_CAPACITY RC
+                           ON RC.CAPACITY_ID = OO.CAPACITY_ID
+                 LEFT JOIN RMS_CONSIGNEE RCO
+                           ON RCO.CONSIGNEE_ID = ASO.RECEIVE_ID
+
+    </select>
+</mapper>