Forráskód Böngészése

[CODE]: 入库从表校验、主表修改更新库存明细从表

maxianghua 4 éve
szülő
commit
da9c5e7bb9

+ 11 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseInStockController.java

@@ -94,12 +94,21 @@ public class TWarehouseInStockController extends BaseController {
         if (StringUtils.isEmpty(tWarehouseBills)) {
             return AjaxResult.error("提交失败:请检查主表数据");
         }
-        if (StringUtils.isEmpty(tWarehousebillsitems)) {
+        if (tWarehousebillsitems.equals("[]")) {
+            return AjaxResult.error("提交失败:请检查库存明细数据");
+        }
+        if (tWarehousebillsfeesDr.equals("[]")) {
+            return AjaxResult.error("提交失败:请检查收款明细数据");
+        }
+        if (tWarehousebillsitems.equals("[]")) {
+            return AjaxResult.error("提交失败:请检查付款明细数据");
+        }
+        /*if (StringUtils.isEmpty(tWarehousebillsitems)) {
             return AjaxResult.error("提交失败:请检货物明细数据");
         }
         if (StringUtils.isEmpty(tWarehousebillsfeesCr) || StringUtils.isEmpty(tWarehousebillsfeesDr)) {
             return AjaxResult.error("提交失败:请检费用明细数据");
-        }
+        }*/
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.insertTWarehousebills(tWarehouseBills, tWarehousebillsfeesCr,

+ 43 - 5
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -222,23 +222,29 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Transactional
     public AjaxResult insertTWarehousebills(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr
             , String tWarehousebillsitems, String tWhgenleg, LoginUser loginUser, String billsType) {
+        Long fPid = null;
         TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
         if (StringUtils.isNull(warehouseBills.getFId())) {
             warehouseBills.setCreateBy(loginUser.getUser().getUserName());
             warehouseBills.setFBilltype(billsType);
             warehouseBills.setFBsdeptid(loginUser.getUser().getDeptId());
             warehouseBills.setFBillstatus("T");
+            // 提交时:  生流水号
+            if(warehouseBills.getFBillstatus().equals("1")){
+
+            }
             tWarehouseBillsMapper.insertTWarehousebills(warehouseBills);
+            fPid=warehouseBills.getFId();
         } else {
+            fPid=warehouseBills.getFId();
             warehouseBills.setUpdateBy(loginUser.getUser().getUserName());
             warehouseBills.setUpdateTime(new Date());
             tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
-            tWarehousebillsitemsMapper.deleteByFPid(warehouseBills.getFId());
-            tWarehousebillsfeesMapper.deleteByFPid( warehouseBills.getFId());
-            tEnclosureMapper.deleteByFPid(warehouseBills.getFId());
+            tWarehousebillsitemsMapper.deleteByFPid(fPid);
+            tWarehousebillsfeesMapper.deleteByFPid(fPid);
+            tEnclosureMapper.deleteByFPid(fPid);
         }
 
-
         /*if (tWhgenleg != null) {
             JSONArray whgenlegJSON = JSONArray.parseArray(tWhgenleg);
             List<TEnclosure> enclosures = JSONObject.parseArray(whgenlegJSON.toJSONString(), TEnclosure.class);
@@ -272,16 +278,48 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             }
         }*/
 
+        // 库存明细添加
         if (tWarehousebillsitems != null) {
             JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
             List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
             for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
-                wbItem.setfPid(warehouseBills.getFId());
+                wbItem.setfPid(fPid);
                 wbItem.setCreateBy(loginUser.getUser().getUserName());
                 wbItem.setCreateTime(new Date());
                 tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
             }
         }
+        //  附件添加
+
+        // 收款明细添加
+        if (tWarehousebillsfeesDr != null) {
+            JSONArray jsonDrArray = JSONArray.parseArray(tWarehousebillsfeesDr);
+            List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
+            for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
+                // 检验  数量*单价=金额
+                wbDr.getfQty();
+                wbDr.getfUnitprice();
+
+
+                wbDr.setfPid(fPid);
+                wbDr.setfDc("D");
+                wbDr.setCreateBy(loginUser.getUser().getUserName());
+                wbDr.setCreateTime(new Date());
+                tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
+            }
+        }
+        // 付款明细添加
+        if (tWarehousebillsfeesCr != null) {
+            JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
+            List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
+            for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
+                wbCr.setfPid(fPid);
+                wbCr.setfDc("C");
+                wbCr.setCreateBy(loginUser.getUser().getUserName());
+                wbCr.setCreateTime(new Date());
+                tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
+            }
+        }
 
         // 后续 添加优化 计算数据是否正确
         /*for (TWarehousebillsfees wFees : warehousebillsfeesCrList) {

+ 4 - 0
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsitemsMapper.xml

@@ -180,4 +180,8 @@
         </foreach>
     </delete>
 
+    <delete id="deleteByFPid" parameterType="Long">
+        delete from t_warehousebillsitems where f_pid = #{fId}
+    </delete>
+
 </mapper>