chenchuang hace 3 años
padre
commit
ef2957fc26

+ 33 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/mapper/PurchaseWarehousingMapper.java

@@ -234,5 +234,37 @@ public interface PurchaseWarehousingMapper extends BaseMapper<PurchaseWarehousin
      */
     void saveAA_BatchProperty(@Param("map")Map<String,Object> map);
 
-    Map<String,Object> getInventoryBycInvCode();
+    /**
+     * 根据存货编码查询存货数据
+     * @param cInvCode
+     * @return
+     */
+    Map<String,Object> getInventoryBycInvCode(@Param("cInvCode")String cInvCode);
+
+    /**
+     * 根据存货、批次、自由项查询批次
+     * @param map
+     * @return
+     */
+    Map<String,Object> getCurrentStock(@Param("map")Map<String,Object> map);
+
+    /**
+     * 新增现存量
+     * @param map
+     */
+    void insertCurrentStock(@Param("map")Map<String,Object> map);
+
+    /**
+     * 根据存货、自由项查询SCM_ITEM
+     * @param map
+     * @return
+     */
+    Map<String,Object> getSCM_ITEM(@Param("map")Map<String,Object> map);
+
+    /**
+     * 新增SCM_ITEM
+     * @param map
+     * @return
+     */
+    void saveSCM_ITEM(@Param("map")Map<String,Object> map);
 }

+ 72 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/mapper/xml/PurchaseWarehousingMapper.xml

@@ -585,6 +585,78 @@
           AND cFree10 = #{map.cFree10}
     </update>
 
+    <select id="getCurrentStock" parameterType="java.util.HashMap" resultType="java.util.HashMap">
+        select * from CurrentStock
+        where
+            cWhCode = #{map.cWhCode}
+          AND cInvCode = #{map.cInvCode}
+          AND cBatch = #{map.cBatch}
+          AND cFree1 = #{map.cFree1}
+          AND cFree2 = #{map.cFree2}
+          AND cFree3 = #{map.cFree3}
+          AND cFree4 = #{map.cFree4}
+          AND cFree5 = #{map.cFree5}
+          AND cFree6 = #{map.cFree6}
+          AND cFree7 = #{map.cFree7}
+          AND cFree8 = #{map.cFree8}
+          AND cFree9 = #{map.cFree9}
+          AND cFree10 = #{map.cFree10}
+    </select>
+
+    <insert id="insertCurrentStock">
+        INSERT into CurrentStock(cWhCode,cInvCode,ItemId,cBatch,iQuantity,cFree1,cFree2,cFree3,cFree4,cFree5,cFree6,cFree7,cFree8,cFree9,cFree10)
+        VALUES(
+               #{map.cWhCode},
+               #{map.cInvCode},
+               #{map.ItemId},
+               #{map.cBatch},
+               #{map.iQuantity},
+               #{map.cFree1},
+               #{map.cFree2},
+               #{map.cFree3},
+               #{map.cFree4},
+               #{map.cFree5},
+               #{map.cFree6},
+               #{map.cFree7},
+               #{map.cFree8},
+               #{map.cFree9},
+               #{map.cFree10}
+               )
+    </insert>
+
+    <select id="getSCM_ITEM" parameterType="java.util.HashMap" resultType="java.util.HashMap">
+        select * from SCM_ITEM
+        where
+            cInvCode = #{map.cInvCode}
+          AND cFree1 = #{map.cFree1}
+          AND cFree2 = #{map.cFree2}
+          AND cFree3 = #{map.cFree3}
+          AND cFree4 = #{map.cFree4}
+          AND cFree5 = #{map.cFree5}
+          AND cFree6 = #{map.cFree6}
+          AND cFree7 = #{map.cFree7}
+          AND cFree8 = #{map.cFree8}
+          AND cFree9 = #{map.cFree9}
+          AND cFree10 = #{map.cFree10}
+    </select>
+
+    <insert id="saveSCM_ITEM">
+        INSERT into SCM_ITEM(cInvCode,cFree1,cFree2,cFree3,cFree4,cFree5,cFree6,cFree7,cFree8,cFree9,cFree10)
+        VALUES(
+                #{map.cInvCode},
+                #{map.cFree1},
+                #{map.cFree2},
+                #{map.cFree3},
+                #{map.cFree4},
+                #{map.cFree5},
+                #{map.cFree6},
+                #{map.cFree7},
+                #{map.cFree8},
+                #{map.cFree9},
+                #{map.cFree10}
+              )
+    </insert>
+
     <select id="getAA_BatchPropertyCount" resultType="java.util.HashMap" parameterType="java.util.HashMap">
         SELECT
             *

+ 57 - 16
jeecg-boot-module-system/src/main/java/org/jeecg/modules/openApi/service/impl/PurchaseWarehousingServiceImpl.java

@@ -157,6 +157,12 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
                         //订单号
                         itemMap.put("cPOID",String.valueOf(map.get("cOrderCode")));
                         String rowmId="";
+                        //判断是否批次管理
+                        Boolean ispc=false;
+                        Map<String,Object> mapInvCode= this.baseMapper.getInventoryBycInvCode(String.valueOf(itemMap.get("cInvCode")));
+                        if(mapInvCode!=null&&String.valueOf(mapInvCode.get("bInvBatch")).equals("1")){
+                            ispc=true;
+                        }
                         //订单子表id
                         if(map.get("cRdCode").toString().equals("11")){
                             if(itemMap.get("moDetailId")!=null&&StringUtils.isNotBlank(String.valueOf(itemMap.get("moDetailId")))) {
@@ -180,16 +186,19 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
                                         this.baseMapper.updatePodetailsfreceivedqty(mapFreceivedqty);
                                         //回写到现存量
                                         itemMap.put("cWhCode",map.get("cWhCode"));//获取仓库
-                                        Integer isCount= this.baseMapper.getCurrentStockCount(itemMap);
-                                        if(isCount!=null&&isCount>0){
-                                            //修改现存量
-                                            this.baseMapper.updateCurrentStock(itemMap);
-                                        }
+                                        //回写到现存量
+                                        saveCurrentStock(itemMap);
+//                                        Integer isCount= this.baseMapper.getCurrentStockCount(itemMap);
+//                                        if(isCount!=null&&isCount>0){
+//
+//
+//                                        }
+                                    }
+                                    //判断存货是否勾选批次管理 勾选则需要新增表
+                                    if(ispc){
+                                        //新增AA_BatchProperty
+                                        message=message+saveAA_BatchProperty(map,itemMap,mapPOPodetails);
                                     }
-
-                                    //新增AA_BatchProperty
-                                    message=message+saveAA_BatchProperty(map,itemMap,mapPOPodetails);
-
                                 }else{
                                     message=message+"第"+rowId+"未找到对应的采购订单行;";
                                 }
@@ -221,14 +230,18 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
                                         this.baseMapper.updateOMMODetailsfreceivedqty(mapFreceivedqty);
                                         //回写到现存量
                                         itemMap.put("cWhCode",map.get("cWhCode"));//获取仓库
-                                        Integer isCount= this.baseMapper.getCurrentStockCount(itemMap);
-                                        if(isCount!=null&&isCount>0){
-                                            //修改现存量
-                                            this.baseMapper.updateCurrentStock(itemMap);
-                                        }
+                                        saveCurrentStock(itemMap);
+//                                        Integer isCount= this.baseMapper.getCurrentStockCount(itemMap);
+//                                        if(isCount!=null&&isCount>0){
+//                                            //修改现存量
+//                                            this.baseMapper.updateCurrentStock(itemMap);
+//                                        }
+                                    }
+                                    //判断存货是否勾选批次管理 勾选则需要新增表
+                                    if(ispc) {
+                                        //新增AA_BatchProperty
+                                        message = message + saveAA_BatchProperty(map, itemMap, mapOMMODetails);
                                     }
-                                    //新增AA_BatchProperty
-                                    message=message+saveAA_BatchProperty(map,itemMap,mapOMMODetails);
                                 }else{
                                     message=message+"第"+rowId+"未找到对应的委外订单行;";
                                 }
@@ -274,6 +287,34 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
         }
     }
 
+    //回写现存量
+    public void saveCurrentStock(Map<String,Object> itemMap){
+        //修改现存量
+        //查询SCM_ITEM是否存在
+        Map<String,Object> SCM_ITEMMap=this.baseMapper.getSCM_ITEM(itemMap);
+        String itemId="";
+        if(SCM_ITEMMap!=null){
+            //存在则进行获取id
+            itemId=String.valueOf(SCM_ITEMMap.get("Id"));
+        }else{//没找到则进行新增
+            itemId=oConvertUtils.addOne(getMaxId("Id","SCM_ITEM"));
+//            itemMap.put("SCMITEMId",itemId);
+            this.baseMapper.saveSCM_ITEM(itemMap);
+        }
+        //查询现存量是否存在
+//                                            Map<String,Object> CurrentStockMap=this.baseMapper.getCurrentStock(itemMap);
+        Integer isCount= this.baseMapper.getCurrentStockCount(itemMap);
+        if(isCount!=null&&isCount>0){
+            //存在则修改
+            this.baseMapper.updateCurrentStock(itemMap);
+        }else{
+            //不存在则新增
+            itemMap.put("ItemId",itemId);
+            itemMap.put("currentStockAutoID",oConvertUtils.addOne(getMaxId("AutoID","CurrentStock")));
+            this.baseMapper.insertCurrentStock(itemMap);
+        }
+    }
+
     //新增AA_BatchProperty
     public String saveAA_BatchProperty(Map<String,Object> map,Map<String,Object> itemMap,Map<String,Object> mapOMMODetails){
         String message="";