Ver Fonte

采购入库接口

zengtx há 2 anos atrás
pai
commit
c1a5a991fb

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

@@ -328,4 +328,12 @@ public interface PurchaseWarehousingMapper extends BaseMapper<PurchaseWarehousin
      * @return
      */
     public String querySupplierCode(@Param("supplierCode") String supplierCode);
+
+    /**
+     * 根据子表ID查询物料自由项
+     * @param poDetailsId
+     * @return
+     */
+    public Map<String,Object> getPODetails(@Param("poDetailsId") String poDetailsId);
+
 }

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

@@ -993,16 +993,16 @@
     <select id="getOM_MOMaterials" resultType="java.util.HashMap" parameterType="java.util.HashMap">
         select * from OM_MOMaterials where
                     MoDetailsID = #{map.moDetailId}
-           AND isnull(cFree1,'') = #{map.cFree1}
-           AND isnull(cFree2,'') = #{map.cFree2}
-           AND isnull(cFree3,'') = #{map.cFree3}
-           AND isnull(cFree4,'') = #{map.cFree4}
-           AND isnull(cFree5,'') = #{map.cFree5}
-           AND isnull(cFree6,'') = #{map.cFree6}
-           AND isnull(cFree7,'') = #{map.cFree7}
-           AND isnull(cFree8,'') = #{map.cFree8}
-           AND isnull(cFree9,'') = #{map.cFree9}
-           AND isnull(cFree10,'') = #{map.cFree10}
+           AND isnull(cFree1,'') = isnull(#{map.cFree1},'')
+           AND isnull(cFree2,'') = isnull(#{map.cFree2},'')
+           AND isnull(cFree3,'') = isnull(#{map.cFree3},'')
+           AND isnull(cFree4,'') = isnull(#{map.cFree4},'')
+           AND isnull(cFree5,'') = isnull(#{map.cFree5},'')
+           AND isnull(cFree6,'') = isnull(#{map.cFree6},'')
+           AND isnull(cFree7,'') = isnull(#{map.cFree7},'')
+           AND isnull(cFree8,'') = isnull(#{map.cFree8},'')
+           AND isnull(cFree9,'') = isnull(#{map.cFree9},'')
+           AND isnull(cFree10,'') = isnull(#{map.cFree10},'')
     </select>
 
     <select id="getOM_MOMaterialsByMoIdAndCinvcode" resultType="java.util.HashMap" parameterType="java.util.HashMap">
@@ -1020,4 +1020,19 @@
         select cOMWhCode from Vendor where cVenCode = #{supplierCode}
 
     </select>
+
+    <select id="getPODetails" parameterType="java.lang.String" resultType="java.util.HashMap">
+
+   select cFree1,
+        cFree2,
+        cFree3,
+        cFree4,
+        cFree5,
+        cFree6,
+        cFree7,
+        cFree8,
+        cFree9,
+        cFree10 from PO_POdetails where ID = #{poDetailsId}
+
+    </select>
 </mapper>

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

@@ -759,23 +759,36 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
                 if(mapOMMODetails==null){
                     throw new RuntimeException("第"+vI+"行未找到对应下游委外订单表体行");
                 }
+                //查询采购订单子表获取物料自由项
+                Map<String,Object> mapPoDetails=this.baseMapper.getPODetails(String.valueOf(recordsMap.get("moDetailId")));
+
                 vouchsMap.put("MoDetailsID",mapOMMODetails.get("MODetailsID"));//委外订单子表id
                 vouchsMap.put("invcode",mapOMMODetails.get("cInvCode"));//产品编码
                 vouchsMap.put("comcode",rdRecords01List.get(0).get("downstreamOrderNumber"));//委外订单号
                 vouchsMap.put("cTVBatch",recordsMap.get("cBatch"));//批号
                 vouchsMap.put("cInvCode",recordsMap.get("cInvCode"));//存货编码
                 vouchsMap.put("iTVQuantity",recordsMap.get("iQuantity"));//数量
+                vouchsMap.put("moDetailId",recordsMap.get("moDetailId"));
                 //获取自由项与自定义项
-                getcFree(vouchsMap,recordsMap);
+               // getcFree(vouchsMap,recordsMap);
+                vouchsMap.put("cFree1",setNull(mapPoDetails.get("cFree1")));
+                vouchsMap.put("cFree2",setNull(mapPoDetails.get("cFree2")));
+                vouchsMap.put("cFree3",setNull(mapPoDetails.get("cFree3")));
+                vouchsMap.put("cFree4",setNull(mapPoDetails.get("cFree4")));
+                vouchsMap.put("cFree5",setNull(mapPoDetails.get("cFree5")));
+                vouchsMap.put("cFree6",setNull(mapPoDetails.get("cFree6")));
+                vouchsMap.put("cFree7",setNull(mapPoDetails.get("cFree7")));
+                vouchsMap.put("cFree8",setNull(mapPoDetails.get("cFree8")));
+                vouchsMap.put("cFree9",setNull(mapPoDetails.get("cFree9")));
+                vouchsMap.put("cFree10",setNull(mapPoDetails.get("cFree10")));
                 //获取批次属性
                 getcBatchProperty(vouchsMap,recordsMap);
                 vouchsMap.put("cbMemo",recordsMap.get("cbMemo"));//备注
                 vouchsMap.put("cTVCode",transVouchMao.get("cTVCode"));//主表调拨单号
 //                vouchsMap.put("autoID", oConvertUtils.addOne(getMaxId("autoID","TransVouchs")));//子表id
                 vouchsMap.put("ID",transVouchMao.get("ID"));//主表ID
-                //根据存货与自由项找对应子件
-
 
+                //根据存货与自由项找对应子件
 
                 List<Map<String,Object>> OM_MOMaterialsList= this.baseMapper.getOM_MOMaterials(vouchsMap);
                 if(OM_MOMaterialsList!=null&&OM_MOMaterialsList.size()>0){