Browse Source

[CODE]: 撤销 入出库 库存总账进行修改

maxianghua 4 years ago
parent
commit
501f1d60a8

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseInStockController.java

@@ -138,4 +138,17 @@ public class TWarehouseInStockController extends BaseController {
     public AjaxResult remove(@PathVariable Long[] fIds) {
         return toAjax(itWarehouseBillsService.deleteTWarehousebillsByIds(fIds));
     }
+
+    /**
+     *  撤销入库信息
+     */
+    @PreAuthorize("@ss.hasPermi('warehouseBusiness:inStock:revoke')")
+    @Log(title = "详情主表", businessType = BusinessType.UPDATE)
+    @GetMapping(value = "/{fId}")
+    public AjaxResult revoke(@PathVariable("fId") Long fId) {
+        String  billsType="SJRKRevoke";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return toAjax(itWarehouseBillsService.revokeTWarehousebillsById(fId,loginUser,billsType));
+    }
 }

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseOutStockController.java

@@ -128,4 +128,17 @@ public class TWarehouseOutStockController extends BaseController {
     public AjaxResult remove(@PathVariable Long[] fIds) {
         return toAjax(itWarehouseBillsService.deleteTWarehousebillsByIds(fIds));
     }
+
+    /**
+     *  撤销出库信息
+     */
+    @PreAuthorize("@ss.hasPermi('warehouseBusiness:inStock:revoke')")
+    @Log(title = "详情主表", businessType = BusinessType.UPDATE)
+    @GetMapping(value = "/{fId}")
+    public AjaxResult revoke(@PathVariable("fId") Long fId) {
+        String  billsType="SJCKRevoke";
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return toAjax(itWarehouseBillsService.revokeTWarehousebillsById(fId,loginUser,billsType));
+    }
 }

+ 9 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/ITWarehouseBillsService.java

@@ -79,4 +79,13 @@ public interface ITWarehouseBillsService {
     String getWarehouseInStockBillsNo(TWarehouseBills tWarehouseBills);
 
     String getWarehouseOutStockBillsNo(TWarehouseBills tWarehouseBills);
+
+    /**
+     *  撤销入出库
+     * @param fId
+     * @param loginUser
+     * @param billsType
+     * @return
+     */
+    public int revokeTWarehousebillsById(Long fId, LoginUser loginUser, String billsType);
 }

+ 26 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -485,4 +485,30 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         return null;
     }
 
+
+    @Override
+    public int revokeTWarehousebillsById(Long fId, LoginUser loginUser, String billsType) {
+        // 查询 仓库主表信息、库存明细信息
+        TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
+        // 查询库存明细从表数据
+        TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems();
+        tWarehousebillsitems.setfPid(fId);
+        List<TWarehousebillsitems> warehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
+        // 撤销 库存总账
+        if (StringUtils.isNotEmpty(warehousebillsitems)) {
+            for (TWarehousebillsitems wb : warehousebillsitems) {
+                // 查询库存总账
+                TWhgenleg tWhgenle=queryTWhgenleg(tWarehousebills,wb);
+                if(!StringUtils.isNull(tWhgenle)){ // 非空修改
+                    updateTWhgenlegData(wb,tWhgenle.getfId(),billsType);
+                }
+            }
+        }
+        // 修改主表信息
+        tWarehousebills.setUpdateBy(loginUser.getUser().getUserName());
+        tWarehousebills.setUpdateTime(new Date());
+        tWarehousebills.setfBillstatus(""); //撤销状态
+        return tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
+    }
+
 }

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

@@ -261,7 +261,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 == 'SJCK'">
@@ -276,7 +277,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>
 --             update_by = NOW()
         </trim>