浏览代码

采购入库接口

zengtx 2 年之前
父节点
当前提交
d7d76e960e

+ 4 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/documents/shippingDetails/mapper/xml/SyShippingDetailsMapper.xml

@@ -226,18 +226,16 @@ ${ew.customSqlSegment}
     </update>
 
     <update id="writeBackElenmentId">
-        update sy_shipping_details_item a
-        left join sy_shipping_details b
-        on a.shipping_details_id = b.id
-        set a.elements_id = #{elementsId}
+        update sy_shipping_details_item
+        set elements_id = #{elementsId}
         <if test='type !="0"'>
-            where b.push_state = '0' and a.id in
+            where id in
             <foreach collection="id" item="item"  open="(" separator="," close=")">
                 #{item}
             </foreach>
         </if>
         <if test='type =="0"'>
-            where b.push_state = '0' and  a.order_number = #{code}  and a.id in
+            where order_number = #{code}  and id in
             <foreach collection="id" item="item"  open="(" separator="," close=")">
                 #{item}
             </foreach>

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

@@ -336,4 +336,23 @@ public interface PurchaseWarehousingMapper extends BaseMapper<PurchaseWarehousin
      */
     public Map<String,Object> getPODetails(@Param("poDetailsId") String poDetailsId);
 
+    /**
+     * 根据云工厂传过来他们的单号查询有没有入库单
+     * @param cCusCode
+     * @return
+     */
+    public String getCcusCode(@Param("cCusCode") String cCusCode);
+
+    /**
+     * 修改采购入库表体扩展自定义项表
+     * @param autoidList
+     */
+    public void updateRdrecords01ExtraDefine(@Param("cbdefine3") String cbdefine3,@Param("autoidList") List<String> autoidList);
+
+    /**
+     * 查找采购入库单子表ID
+     * @param cCode
+     * @return
+     */
+    public List<String> queryAutoIDList(@Param("cCode") String cCode);
 }

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

@@ -1035,4 +1035,28 @@
         cFree10 from PO_POdetails where ID = #{poDetailsId}
 
     </select>
+
+
+    <select id="getCcusCode" resultType="String">
+        select cCusCode from RdRecord01 where CcusCode = #{cCusCode}
+    </select>
+
+
+    <select id="queryAutoIDList" resultType="String">
+   select b.AutoID as autoid from rdrecord01 a
+    left join rdrecords01 b
+    on a.id = b.id
+    where a.cCode = #{cCode}
+
+    </select>
+
+    <update id="updateRdrecords01ExtraDefine">
+        update rdrecords01_ExtraDefine
+        set cbdefine3 = #{cbdefine3}
+        where AutoID in
+        <foreach collection="autoidList" item="item" separator="," open="(" close=")">
+        #{item}
+        </foreach>
+
+    </update>
 </mapper>

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

@@ -94,6 +94,10 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
         if(mapList!=null&&mapList.size()>0){
 
             for(Map<String,Object> map:mapList){
+
+                //云工厂编号
+                String ygcCode = map.get("cCode").toString();
+                //map.put("ygcCode",ygcCode);
                 //获取主表最大编码
 //                Map<String,Integer> pkMap = callGetUAMaxPK2("rd",accID);
 //                if(pkMap.get("iFatherId")==null){
@@ -388,20 +392,50 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
 
                 //由于前期是自己插入U8数据库 后前改变方式先择调用第三方插入接口 所以需要把字段名整体转换成第三方的
 //                JSONArray resturn =InterfaceConnUtils.doPost(saveRdRecord01JSON(map,itemList,accID),"purchaseinlist_batch_get");
-                JSONArray resturn =InterfaceConnUtils.doPost(saveRdRecord01JSON(map,itemList,accID),"purchasein_import");
-                if(resturn.getJSONObject(0).get("Result").equals("T")){
-                    //成功
-                    //调拨单
-                    if(iscVenCodeReceiver){
-                        //保存调拨单
-                        saveTransVouch(map,itemList,accID);
+
+               // if(.eques("0") || .eques("1")){
+
+                //查询入库单是否有生成单据,如果有直接生成调拨单
+              //  String code = this.baseMapper.getCcusCode(ygcCode);
+             //   if(oConvertUtils.isEmpty(code)){
+                    JSONArray resturn =InterfaceConnUtils.doPost(saveRdRecord01JSON(map,itemList,accID),"purchasein_import");
+                    if(resturn.getJSONObject(0).get("Result").equals("T")){
+                        //成功 修改表体扩展自定义项表
+                        List<String> autoidList = new ArrayList<>();
+                        //根据单据号查找采购入库单
+                        List<String> autoIDList = purchaseWarehousingMapper.queryAutoIDList(map.get("cCode").toString());
+                        for(String str:autoIDList){
+                            autoidList.add(str);
+                        }
+
+                        String ygcVencode = map.get("cVenCodeReceiver").toString(); //获取接收方供应商
+                        if(oConvertUtils.isNotEmpty(ygcVencode)){
+                            //根据接收方获取供应商信息
+                            Map<String,Object> mapVenCode= this.baseMapper.getWhCodeByVenCode(ygcVencode);
+                            if(oConvertUtils.isNotEmpty(mapVenCode.get("cVenAbbName").toString())){
+                                ygcVencode = mapVenCode.get("cVenAbbName").toString();
+                            }else{
+                                throw new RuntimeException("未获取到供应商简称!");
+                            }
+
+                        }
+                        purchaseWarehousingMapper.updateRdrecords01ExtraDefine(ygcVencode,autoidList);
+
+                        //调拨单
+                        if(iscVenCodeReceiver){
+                            //保存调拨单
+                            saveTransVouch(map,itemList,accID);
+                        }
+                    }else{
+                        //失败
+                        log.info(resturn.getJSONObject(0).get("Description")+"");
+                        throw new RuntimeException(resturn.getJSONObject(0).get("Description")+"");
                     }
-                }else{
-                    //失败
-                    log.info(resturn.getJSONObject(0).get("Description")+"");
-                    throw new RuntimeException(resturn.getJSONObject(0).get("Description")+"");
 
-                }
+//                }else{
+//                    saveTransVouch(map,itemList,accID);
+//                }
+
 
             }
         }
@@ -410,19 +444,10 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
     //由于前期是自己插入U8数据库 后前改变方式先择调用第三方插入接口 所以需要把字段名整体转换成第三方的
     public JSONArray saveRdRecord01JSON(Map<String,Object> map,List<Map<String,Object>> itemList,String accID){
         JSONArray jsonArraySave=new JSONArray();
-        String ygcVencode = map.get("cVenCodeReceiver").toString();
+
         if(map!=null){
 
-            if(oConvertUtils.isNotEmpty(ygcVencode)){
-                //根据接收方获取供应商信息
-                Map<String,Object> mapVenCode= this.baseMapper.getWhCodeByVenCode(ygcVencode);
-                if(oConvertUtils.isNotEmpty(mapVenCode.get("cVenAbbName").toString())){
-                    ygcVencode = mapVenCode.get("cVenAbbName").toString();
-                }else{
-                    throw new RuntimeException("未获取到供应商简称!");
-                }
 
-            }
             //主表
             JSONObject saveJson=new JSONObject();
             saveJson.put("CACCID",accID);
@@ -451,7 +476,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
                     saveItemJson.put("POAUTOIDCOL",m.get("POAUTOIDCOL"));
                     saveItemJson.put("IPROCESSCOST",m.get("iOriCost"));
                     saveItemJson.put("INQUANTITY",m.get("INQUANTITY"));
-                    saveItemJson.put("CDEFINE37",ygcVencode);//表体自定义项13(供应商)
+                   // saveItemJson.put("CDEFINE34",ygcVencode);//表体自定义项13(供应商)
                     //获取自定义项 自由项 批次项
                     getCDEFINEJson(saveItemJson,m,"1");
                     itemJsonArray.add(saveItemJson);
@@ -475,7 +500,6 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
             saveItemJson.put("CDEFINE26",null);
         }else{
             saveItemJson.put("CDEFINE26",m.get("cDefine26"));
-            saveItemJson.put("CDEFINE37",m.get("cDefine37"));
         }
         saveItemJson.put("CDEFINE27",m.get("cDefine27"));
         saveItemJson.put("CDEFINE28",m.get("cDefine28"));
@@ -487,7 +511,7 @@ public class PurchaseWarehousingServiceImpl extends ServiceImpl<PurchaseWarehous
         saveItemJson.put("CDEFINE34",m.get("cDefine34"));
         saveItemJson.put("CDEFINE35",m.get("cDefine35"));
         saveItemJson.put("CDEFINE36",m.get("cDefine36"));
-
+        saveItemJson.put("CDEFINE37",m.get("cDefine37"));
         saveItemJson.put("CFREE1",m.get("cFree1"));
         saveItemJson.put("CFREE2",m.get("cFree2"));
         saveItemJson.put("CFREE3",m.get("cFree3"));