Kaynağa Gözat

问题修改

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

+ 3 - 1
src/main/java/com/tld/mapper/AskGoodsMapper.java

@@ -134,7 +134,7 @@ public interface AskGoodsMapper {
 
     ReturnWarehousing getReturnGsWarehousing(@Param("removalCode") String removalCode);
 
-    List<String>  getStorageLocationWarehouseWhere( ReturnWarehousing returnWarehousing);
+    List<Map<String,Object>>  getStorageLocationWarehouseWhere(@Param("removalCode") String removalCode);
 
     List<Map<String, Object>> getNoticeParent(@Param("orderNumber") String orderNumber);
 
@@ -163,4 +163,6 @@ public interface AskGoodsMapper {
     void delNoticesSubtabulation(@Param("noticeId") String noticeId);
 
     List<Map<String,Object>> getCreateOtherInStockWarehouseWhere(@Param("removalCode") String removalCode);
+
+    void delReturnGsWarehousing(@Param("orderNumber") String orderNumber);
 }

+ 20 - 15
src/main/java/com/tld/service/impl/AskGoodsServiceImpl.java

@@ -967,19 +967,21 @@ public class AskGoodsServiceImpl implements AskGoodsService {
         try {
             JSONObject returnData = new JSONObject();
             List<JSONObject> retunList = new LinkedList<>();
+            String orderNumber = null ;
             //通过入库单编号查询入库单信息
-            ReturnWarehousing returnWarehousing = askGoodsMapper.getReturnGsWarehousing(removalCode);
+//            ReturnWarehousing returnWarehousing = askGoodsMapper.getReturnGsWarehousing(removalCode);
             //根据id查询子表的供货仓库
-            for (String warehouseWhere : askGoodsMapper.getStorageLocationWarehouseWhere(returnWarehousing)) {
+            for (Map<String,Object> returnWarehousing1 : askGoodsMapper.getStorageLocationWarehouseWhere(removalCode)) {
+                orderNumber = returnWarehousing1.get("orderNumber").toString() ;
                 //查询父表信息
-                List<Map<String, Object>> mapList = askGoodsMapper.getNoticeParent(returnWarehousing.getOrderNumber());
+                List<Map<String, Object>> mapList = askGoodsMapper.getNoticeParent(returnWarehousing1.get("orderNumber").toString());
                 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("WareHouse", returnWarehousing1.get("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());//移动类型
@@ -1048,14 +1050,13 @@ public class AskGoodsServiceImpl implements AskGoodsService {
             }
             //删除父子表信息
             //根据code
-            askGoodsMapper.delNoticeParent(returnWarehousing.getOrderNumber());
+            askGoodsMapper.delNoticeParent(orderNumber);
             //根据id
-            askGoodsMapper.delNoticeSubtabulation(returnWarehousing.getOrderNumber());
-            askGoodsMapper.delNoticeParent(returnWarehousing.getOrderNumber());
-            //根据id
-            askGoodsMapper.delNoticeSubtabulation(returnWarehousing.getOrderNumber());
+            askGoodsMapper.delNoticeSubtabulation(orderNumber);
+            //删除虚拟表
+            askGoodsMapper.delReturnGsWarehousing(orderNumber);
             //添加记录到tld_access
-            String names = "报工单";
+            String names = "生产收货";
             String accessType = "1";
             String returnGsRemoval = returnData.toString();
             askGoodsMapper.addAccess(names, returnGsRemoval, accessType);
@@ -1076,6 +1077,7 @@ public class AskGoodsServiceImpl implements AskGoodsService {
         try {
             JSONObject returnData = new JSONObject();
             List<JSONObject> retunList = new LinkedList<>();
+            LinkedList<String> noticeIds = new LinkedList<>();
             //通过入库单编号查询通知单ID
 //            List<ReturnWarehousing>  returnWarehousing = askGoodsMapper.getReturnGsOtherWarehousing(removalCode);
                 //根据id查询子表的供货仓库
@@ -1111,6 +1113,7 @@ public class AskGoodsServiceImpl implements AskGoodsService {
                     }
                     strJson.put("BillItems", list);
                     retunList.add(strJson);
+                    noticeIds.add(returnWarehousing1.get("noticeId").toString());
                 }
             JSONObject ReqOutStocks = new JSONObject();
             ReqOutStocks.put("BILLs", retunList);
@@ -1154,11 +1157,13 @@ public class AskGoodsServiceImpl implements AskGoodsService {
                 }
             }
 
-            //删除父子表信息
-            //根据code
-//            askGoodsMapper.delNoticesParent(returnWarehousing.getNoticeId());
-//            //根据id
-//            askGoodsMapper.delNoticesSubtabulation(returnWarehousing.getNoticeId());
+            for (String noticeId : noticeIds) {
+                //删除父子表信息
+                //根据code
+            askGoodsMapper.delNoticesParent(noticeId);
+            //根据id
+            askGoodsMapper.delNoticesSubtabulation(noticeId);
+            }
             //添加记录到tld_access
             String names = "其它入库";
             String accessType = "1";

+ 27 - 2
src/main/resources/mapper/AskGoodsMapper.xml

@@ -1100,6 +1100,12 @@
         from tld_notices
         where notice_id = #{noticeId}
     </delete>
+    <!--删除虚拟表-->
+    <delete id="delReturnGsWarehousing">
+        delete
+        from tld_return_gs_warehousing
+        where order_number = #{orderNumber}
+    </delete>
     <!-- 查询名牌物料CODE -->
     <select id="getMing" resultType="String">
         select wllb_code from tld_mingpai where code = #{code}
@@ -1124,8 +1130,27 @@
         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 id="getStorageLocationWarehouseWhere" resultType="java.util.Map">
+        SELECT
+            a.id as id,
+            a.storage_code as storageCde,
+            a.gs_ck as accountSleeve,
+            a.source_type as sourceType,
+            a.move_type as moveType,
+            a.entry_number as entryNumber,
+            ifnull(a.wbs, '')      as wbsId,
+            a.material_id as materialId,
+            a.warehousing_num as num,
+            a.receive_goods_id as receiveGoodsId,
+            a.scrq as scrq,
+            a.order_number as orderNumber,
+            a.user_name as userName,
+            a.storage_location_code as storageLocationCode,
+            b.warehouse_where as warehouseWhere
+        FROM tld_return_gs_warehousing a
+                 JOIN tld_storage_location b ON a.storage_location_code = b.storage_location_code
+        WHERE a.storage_code = #{removalCode}
+        group by b.warehouse_where
     </select>
     <!--查询父表信息-->
     <select id="getNoticeParent" resultType="java.util.Map">