Kaynağa Gözat

问题修改

xiaochen 2 yıl önce
ebeveyn
işleme
a9a26256c5

+ 9 - 0
src/main/java/com/tld/controller/GsPlugOutController.java

@@ -55,4 +55,13 @@ public class GsPlugOutController {
     public void CreateGMReqOutStock(String removalCode){
         askGoodsService.CreateGMReqOutStock(removalCode);
     }
+
+    /**
+     * 生产收货接口文档
+     * @param removalCode 入库单编号
+     */
+    @GetMapping("CreateGRReqInStock")
+    public void CreateGRReqInStock(String removalCode){
+        askGoodsService.CreateGRReqInStock(removalCode);
+    }
 }

+ 12 - 0
src/main/java/com/tld/mapper/AskGoodsMapper.java

@@ -131,4 +131,16 @@ public interface AskGoodsMapper {
     void delReturnWarehouseTransferZ(@Param("warehouseTransferTd") String warehouseTransferTd);
 
     String getMing(String code);
+
+    ReturnWarehousing getReturnGsWarehousing(@Param("removalCode") String removalCode);
+
+    List<String>  getStorageLocationWarehouseWhere( ReturnWarehousing returnWarehousing);
+
+    List<Map<String, Object>> getNoticeParent(@Param("orderNumber") String orderNumber);
+
+    List< Map<String, Object>> getNoticeSubtabulation(String noticeId);
+
+    void delNoticeParent(@Param("orderNumber") String orderNumber);
+
+    void delNoticeSubtabulation(@Param("orderNumber") String orderNumber);
 }

+ 1 - 1
src/main/java/com/tld/model/ReturnWarehousing.java

@@ -89,7 +89,7 @@ public class ReturnWarehousing implements Serializable {
      */
     private String isNotRed;
     /**
-     * 执行人姓名
+     * 执行人姓名/用户名称
      */
     private String userName;
     /**

+ 1 - 0
src/main/java/com/tld/service/AskGoodsService.java

@@ -50,4 +50,5 @@ public interface AskGoodsService {
 
     void CreateGMReqOutStock(String removalCode);
 
+    void CreateGRReqInStock(String removalCode);
 }

+ 104 - 0
src/main/java/com/tld/service/impl/AskGoodsServiceImpl.java

@@ -919,6 +919,110 @@ public class AskGoodsServiceImpl implements AskGoodsService {
 
     }
 
+    /** 
+    * @Description: 生产收货接口文档
+    * @Param: removalCode 入库单编号
+    * @return: void
+    * @Author: XiaoChen
+    * @Date: 2023/4/7
+    */
+    @Override
+    public void CreateGRReqInStock(String removalCode) {
+        try {
+            JSONObject returnData = new JSONObject();
+            List<JSONObject> retunList = new LinkedList<>();
+            //通过入库单编号查询入库单信息
+            ReturnWarehousing returnWarehousing = askGoodsMapper.getReturnGsWarehousing(removalCode);
+            //根据id查询子表的供货仓库
+            for (String warehouseWhere : askGoodsMapper.getStorageLocationWarehouseWhere(returnWarehousing)) {
+                //查询父表信息
+                List<Map<String, Object>> mapList = askGoodsMapper.getNoticeParent(returnWarehousing.getOrderNumber());
+                if (mapList.size() > 0) {
+                    JSONObject strJson = new JSONObject();
+                    //父表
+                    strJson.put("GRReqBillID", mapList.get(0).get("noticeId").toString());//入库通知单ID
+                    strJson.put("WMSID", mapList.get(0).get("id").toString());//利道WMS出库单id
+                    strJson.put("WMSCode", mapList.get(0).get("noticeCode").toString());//利道WMS出库单编号
+                    strJson.put("WareHouse", warehouseWhere);//仓库ID
+                    strJson.put("SourceBillDate", DateUtil.dateConversion(mapList.get(0).get("noticeTime").toString()));//业务日期
+                    strJson.put("SourceType", mapList.get(0).get("sourceType").toString());//来源类型
+                    strJson.put("MoveType", mapList.get(0).get("moveType").toString());//移动类型
+                    strJson.put("IsRed", 0);//是否红单1
+                    strJson.put("Creator", "测试");//制单人姓名1
+                    //子表
+                    List<JSONObject> list = new LinkedList<>();
+                    for (Map<String, Object> map : askGoodsMapper.getNoticeSubtabulation(mapList.get(0).get("noticeId").toString())) {
+                        JSONObject BillItems = new JSONObject();
+                        BillItems.put("WMSItemID", map.get("id"));//分录ID
+                        BillItems.put("GRReqBillID", map.get("noticeId"));//入库通知单ID
+                        BillItems.put("GRReqBillItemID", map.get("entryNumber"));//入库通知单明细ID
+                        BillItems.put("Material", map.get("materialId"));//物料id
+                        BillItems.put("Quantity", map.get("num"));//数量
+                        BillItems.put("FlexField1", map.get("wbsId"));//wbs
+                        BillItems.put("FlexField1Code", map.get("wbsCode"));//WBS编号
+                        BillItems.put("FlexField1Name", map.get("wbsName"));//WBS名称
+                        list.add(BillItems);
+                    }
+                    strJson.put("BillItems", list);
+                    retunList.add(strJson);
+                }
+            }
+            JSONObject ReqOutStocks = new JSONObject();
+            ReqOutStocks.put("BILLs", retunList);
+            List<JSONObject> retunList1 = new LinkedList<>();
+            returnData.put("strJson", JSON.toJSONString(ReqOutStocks));
+            System.out.println(returnData);
+            HttpClientUtil httpClientUtil1 = new HttpClientUtil();
+            Map<String, Object> result = httpClientUtil1.doPost("http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateGRReqInStock", returnData);
+            System.out.println("result:" + result);
+            Error error = new Error();
+            if (Integer.parseInt(result.get("msg").toString()) != 200) {
+                //如果失败存入报错信息跟数据
+                error.setErrorInfo(result.get("data").toString());
+                error.setUrl("http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateGRReqInStock");
+                error.setDataVal(returnData.toJSONString());
+                errorMapper.addError(error);
+            } else {
+                JSONObject jsonObject = (JSONObject) JSONObject.parse(result.get("data").toString());
+                JSONObject jsonObject1 = (JSONObject) JSONObject.parse(jsonObject.get("result").toString());
+                if (jsonObject1.get("State").toString().equals("0")) {
+                    //如果失败存入报错信息跟数据
+                    error.setErrorInfo(jsonObject1.get("Msg").toString());
+                    error.setUrl("http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateGRReqInStock");
+                    error.setDataVal(returnData.toJSONString());
+                    errorMapper.addError(error);
+                } else {
+                    List<JSONObject> data1 = (List<JSONObject>) JSONObject.parse(jsonObject1.get("data").toString());
+                    for (JSONObject map : data1) {
+                        if (map.get("State").toString().equals("0")) {
+                            for (JSONObject jsonObject2 : retunList) {
+                                if (jsonObject2.get("WMSCode").toString().equals(map.get("WMSCode")) && jsonObject2.get("WareHouse").toString().equals(map.get("WareHouse"))) {
+                                    //如果失败存入报错信息跟数据
+                                    error.setErrorInfo(map.get("FailReason").toString());
+                                    error.setUrl("http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateGRReqInStock");
+                                    error.setDataVal(jsonObject2.toString());
+                                    errorMapper.addError(error);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            //删除父子表信息
+            //根据code
+//            askGoodsMapper.delNoticeParent(returnWarehousing.getOrderNumber());
+//            //根据id
+//            askGoodsMapper.delNoticeSubtabulation(returnWarehousing.getOrderNumber());
+            //添加记录到tld_access
+            String names = "报工单";
+            String accessType = "1";
+            String returnGsRemoval = returnData.toString();
+            askGoodsMapper.addAccess(names, returnGsRemoval, accessType);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
     /**
      * 出库单生成
      * @return

+ 66 - 1
src/main/resources/mapper/AskGoodsMapper.xml

@@ -1074,9 +1074,74 @@
         from tld_return_warehouse_transfer_z
         where warehouse_transfer_id = #{warehouseTransferTd}
     </delete>
+    <!--删除移库父表-->
+    <delete id="delNoticeParent">
+        delete
+        from tld_notice_f
+        where notice_id = #{orderNumber}
+    </delete>
+    <!--删除移库子表-->
+    <delete id="delNoticeSubtabulation">
+        delete
+        from tld_notice
+        where notice_id = #{orderNumber}
+    </delete>
     <!-- 查询名牌物料CODE -->
     <select id="getMing" resultType="String">
         select wllb_code from tld_mingpai where code = #{code}
     </select>
-
+    <!--查询入库单信息-->
+    <select id="getReturnGsWarehousing" resultType="com.tld.model.ReturnWarehousing">
+        select
+            id,
+            storage_code,
+            gs_ck,
+            source_type,
+            move_type,
+            entry_number,
+            wbs,
+            material_id,
+            warehousing_num,
+            receive_goods_id,
+            scrq,
+            order_number,
+            user_name,
+            storage_location_code
+        from tld_return_gs_warehousing where storage_code = #{removalCode}
+    </select>
+    <!--根据库位查询仓库-->
+    <select id="getStorageLocationWarehouseWhere" resultType="java.lang.String">
+        select warehouse_where as warehouseWhere from tld_storage_location where storage_location_code = #{storageLocationCode}
+    </select>
+    <!--查询父表信息-->
+    <select id="getNoticeParent" resultType="java.util.Map">
+        select
+            id as id,
+            notice_id as noticeId,
+            notice_code as noticeCode,
+            company_number as companyNumber,
+            notice_time as noticeTime,
+            source_type as sourceType,
+            move_type as moveType
+        from tld_notice_f where notice_id = #{orderNumber}
+    </select>
+    <!--查询子表信息-->
+    <select id="getNoticeSubtabulation" resultType="java.util.Map">
+        select
+            a.id as id,
+            a.notice_id as noticeId,
+            a.entry_number as entryNumber,
+            a.production_code as productionCode,
+            a.material_id as materialId,
+            ifnull(a.wbs, '')       as wbsId,
+            a.measurement_id as measurementId,
+            a.num as num,
+            a.type as type,
+            a.warehousing_num as warehousingNum,
+            ifnull(b.code, '')      as wbsCode,
+            ifnull(b.name, '')      as wbsName
+        from tld_notice a
+        left join tld_wbs b on a.wbs = b.tld_id
+        where a.notice_id = #{orderNumber}
+    </select>
 </mapper>