Browse Source

[CODE]: 入出库 库存总账添加结余数

maxianghua 4 years ago
parent
commit
720fd52311

+ 10 - 4
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseOutStockController.java

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

+ 37 - 19
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -268,6 +268,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         tWhgenleg.setCreateTime(new Date());
         // 状态
         tWhgenleg.setfStatus("T");
+        // 结余件数
+        tWhgenleg.setfQtyblc(warehousebillsitems.getfQty());
         return tWhgenlegMapper.insertTWhgenleg(tWhgenleg);
     }
 
@@ -298,6 +300,41 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             , String tWarehousebillsitems, String tWhgenleg, LoginUser loginUser, String billsType) {
         Long fPid = null;
         TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
+
+        // 查询库存总账   库存明细不为空 并且 入库不是暂存状态 进行库存总账的查询新增修改
+        if (tWarehousebillsitems != null && !warehouseBills.getfBillstatus().equals("2")) {
+            JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
+            List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
+            for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
+                // 查询总账是否存在
+                TWhgenleg tWhgenle=queryTWhgenleg(warehouseBills,wbItem);
+                if(billsType=="SJRK"){ //  入库数 、结余数
+                    if(StringUtils.isNull(tWhgenle)){ // 为空添加库存总账
+                        SysUser sysUser=new SysUser();
+                        sysUser.setUserName(loginUser.getUser().getUserName());
+                        instalTWhgenleg(warehouseBills,wbItem,sysUser);
+                    }else { // 非空修改库存总账
+                        if(warehouseBills.getfBillstatus().equals("6")){
+                            updateTWhgenlegData(wbItem,tWhgenle.getfId(),billsType);
+                        }
+                    }
+                } else if (billsType=="SJCK"){ // 出库 查询
+                    if(StringUtils.isNull(tWhgenle)){ // 为空 提示没有库存
+                        return AjaxResult.error("库存为空");
+                    }else { // 非空修改库存总账
+                        if(warehouseBills.getfBillstatus().equals("6")){
+                            //  库存 <  出库件数  提示库存不足
+                            if(tWhgenle.getfQtyblc()< wbItem.getfQty()){
+                                return AjaxResult.error("库存不足");
+                            }
+                            updateTWhgenlegData(wbItem,tWhgenle.getfId(),billsType);
+                        }
+                    }
+                }
+
+            }
+        }
+
         if (StringUtils.isNull(warehouseBills.getfId())) {
             // 如果是新数据
             warehouseBills.setCreateBy(loginUser.getUser().getUserName());
@@ -388,25 +425,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             }
         }
 
-        // 查询库存总账   库存明细不为空 并且 入库不是暂存状态 进行库存总账的查询新增修改
-        if (tWarehousebillsitems != null && !warehouseBills.getfBillstatus().equals("2")) {
-            JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
-            List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
-            for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
-                TWhgenleg tWhgenle = queryTWhgenleg(warehouseBills, wbItem);
-                if (StringUtils.isNull(tWhgenle)) { // 为空添加库存总账
-                    SysUser sysUser = new SysUser();
-                    sysUser.setUserName(loginUser.getUser().getUserName());
-                    instalTWhgenleg(warehouseBills, wbItem, sysUser);
-                } else { // 非空修改库存总账  fBillstatus : 6 入库提交、 3 撤销入库 ; billtype : SJRK 入库 、SJRKRevoke 撤销入库
-                    if (warehouseBills.getfBillstatus().equals("6")) {
-                        updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJRK");
-                    } else if (warehouseBills.getfBillstatus().equals("3")) {
-                        updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJRKRevoke");
-                    }
-                }
-            }
-        }
 
         return AjaxResult.success();
     }

+ 4 - 2
ruoyi-warehouse/src/main/resources/mapper/reportManagement/TWhgenlegMapper.xml

@@ -253,7 +253,8 @@
                 f_qtyD = f_qtyD + #{map.warehousebillsitems.fQty},
                 f_volumnD = f_volumnD + #{map.warehousebillsitems.fVolumn},
                 f_netweightD = f_netweightD + #{map.warehousebillsitems.fNetweight},
-                f_grossweightD = f_grossweightD + #{map.warehousebillsitems.fGrossweight}
+                f_grossweightD = f_grossweightD + #{map.warehousebillsitems.fGrossweight},
+                f_qtyblc = f_qtyblc + #{map.warehousebillsitems.fQty}
             </if>
             /*判断是否撤销入库*/
             <if test="map.billType == 'SJRKRevoke'">
@@ -267,7 +268,8 @@
                 f_qtyC = f_qtyC + #{map.warehousebillsitems.fQty},
                 f_volumnC = f_volumnC + #{map.warehousebillsitems.fVolumn},
                 f_netweightC = f_netweightC + #{map.warehousebillsitems.fNetweight},
-                f_grossweightC = f_grossweightC + #{map.warehousebillsitems.fGrossweight}
+                f_grossweightC = f_grossweightC + #{map.warehousebillsitems.fGrossweight},
+                f_qtyblc = f_qtyblc - #{map.warehousebillsitems.fQty}
             </if>
             /*判断是否撤销出库*/
             <if test="map.billType == 'SJCKRevoke'">