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

调整调拨新需求

阿伏兔 4 éve
szülő
commit
13d03bfbbc

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

@@ -205,7 +205,7 @@ public class TWarehouseInStockController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.waitWarehousing(warehouseBills, warehousebillsitems, tEnclosure,
-                warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType, "20");
+                warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType, "RK");
     }
 
 

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

@@ -228,7 +228,7 @@ public class TWarehouseOutStockController extends BaseController {
         // 获取当前的用户
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
         return itWarehouseBillsService.waitWarehousing(warehouseBills, warehousebillsitems,
-                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType , "70");
+                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType , "CK");
     }
 
     /**

+ 43 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseStockTransferController.java

@@ -103,6 +103,49 @@ public class TWarehouseStockTransferController extends BaseController {
     }
 
     /**
+     * 打印作业单  状态 改为 -->  待入库
+     * 生成 流水号 --> log 记录 20
+     * waitWarehousing
+     */
+    @PreAuthorize("@ss.hasPermi('warehouseBusiness:inStock:add')")
+    @Log(title = "详情主表", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/waitWarehousing")
+    @RepeatSubmit
+    public AjaxResult waitWarehousing(@RequestParam("warehouseBills") String warehouseBills,
+                                      @RequestParam("tEnclosure") String tEnclosure,
+                                      @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
+                                      @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
+                                      @RequestParam("warehousebillsitems") String warehousebillsitems
+    ) {
+        Long billsType = 20L;
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return itWarehouseBillsService.waitWarehousing(warehouseBills, warehousebillsitems, tEnclosure,
+                warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType, "DB");
+    }
+
+    /**
+     *   装货      状态 改为 -->  装货中
+     *                   log 记录 30
+     *      ischargeCargo
+     */
+    @PreAuthorize("@ss.hasPermi('warehouseBusiness:outStock:add')")
+    @Log(title = "详情主表", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/ischargeCargo")
+    @RepeatSubmit
+    public AjaxResult ischargeCargo(@RequestParam("warehouseBills") String warehouseBills,
+                                    @RequestParam("tEnclosure") String tEnclosure,
+                                    @RequestParam("warehousebillsfeesCr") String warehousebillsfeesCr,
+                                    @RequestParam("warehousebillsfeesDr") String warehousebillsfeesDr,
+                                    @RequestParam("warehousebillsitems") String warehousebillsitems) {
+        Long billsType = 30L;
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        return itWarehouseBillsService.waitWarehousing(warehouseBills, warehousebillsitems,
+                tEnclosure, warehousebillsfeesCr, warehousebillsfeesDr, loginUser, billsType,"1");
+    }
+
+    /**
      * 调拨提交
      */
     @PreAuthorize("@ss.hasPermi('warehouseBusiness:stockTransfer:add')")

+ 13 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/domain/TWarehousebillsitems.java

@@ -282,6 +282,10 @@ public class TWarehousebillsitems extends BaseEntity {
     @Excel(name = "业务类型(存汉字的,用来选择 产地 规格 品牌)")
     private Long fBusinessType;
 
+    /** 是否入库0入总帐;1不计入总账(用于入库时候选择场地直装) */
+    @Excel(name = "是否入库")
+    private Long fIsInventory;
+
     public void setfId(Long fId) {
         this.fId = fId;
     }
@@ -642,6 +646,14 @@ public class TWarehousebillsitems extends BaseEntity {
         return fBusinessType;
     }
 
+    public void setfIsInventory(Long fIsInventory) {
+        this.fIsInventory = fIsInventory;
+    }
+
+    public Long getfIsInventory() {
+        return fIsInventory;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
@@ -693,6 +705,7 @@ public class TWarehousebillsitems extends BaseEntity {
                 .append("fIsPass", getfIsPass())
                 .append("fBilltype", getfBilltype())
                 .append("fBillingQty", getfBillingQty())
+                .append("fIsInventory", getfIsInventory())
                 .append("fBusinessType", getfBusinessType())
                 .append("fBillingDeadline", getfBillingDeadline())
                 .toString();

+ 40 - 27
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -337,6 +337,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             // 原始单号
             tWhgenleg.setfOriginalbillno(warehouseBills.getfMblno());
         }
+        // 明细类型
+        tWhgenleg.setfBusinessType(warehousebillsitems.getfBusinessType());
         // 仓库
         tWhgenleg.setfWarehouseid(warehouseBills.getfWarehouseid());
         // 库区
@@ -434,7 +436,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
             List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
             for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
-                boolean warehouseStatus = "SJRK".equals(billsType) || "SJCK".equals(billsType);
+                boolean warehouseStatus = "SJRK".equals(billsType) || "SJCK".equals(billsType) || "CKDB".equals(billsType);
                 // 仓储计费日期
                 wbItem.setfChargedate(warehouseBills.getfChargedate());
                 wbItem.setfBilltype(billsType);
@@ -589,7 +591,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         int line = 0;
         for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
             line++;
-            if ("SJRK".equals(billsType) || "SJCK".equals(billsType)) {
+            if ("SJRK".equals(billsType) || "SJCK".equals(billsType) || "CKDB".equals(billsType)) {
                 // 除了入库其他模块不需要更新主表的 仓储费计费日期到明细表,其他模块 应从库存总账把仓储费计费日期 赋给明细表
                 if ("SJRK".equals(billsType)) {
                     wbItem.setfMblno(warehouseBills.getfMblno());
@@ -811,29 +813,35 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         }
         tEnclosureMapper.deleteByFPid(tWarehouseBills.getfId());
         tWarehousebillsfeesMapper.deleteByFPid(tWarehouseBills.getfId());
+        boolean businessStatus = "场地直装".equals(tWarehouseBills.getfBusinessType());
         JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
         List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
         for (TWarehousebillsitems item : warehousebillsitemsList) {
-            // 查询库容量  是否可入库
-            int m = calculation(tWarehouseBills.getfWarehouseid(), item.getfGrossweight());
-            if (m == 0) {
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return AjaxResult.error("更新库存总账失败-->入库毛重大于库容");
-            }
-            item.setfBillingway(tWarehouseBills.getfBillingway());
-            item.setfChargedate(tWarehouseBills.getfChargedate());
-            TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item);
-            if (StringUtils.isNotNull(tWhgenle)) {
-                int i = updateTWhgenlegData(item, tWhgenle.getfId(), billsType);
-                if (i <= 0) {
+            if (!businessStatus) {
+                // 查询库容量  是否可入库
+                int m = calculation(tWarehouseBills.getfWarehouseid(), item.getfGrossweight());
+                if (m == 0) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return AjaxResult.error("更新库存总账失败");
+                    return AjaxResult.error("更新库存总账失败-->入库毛重大于库容");
                 }
-            } else {
-                if (instalTWhgenleg(tWarehouseBills, item, loginUser.getUser()) <= 0) {
-                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return AjaxResult.error("新增库存总账失败");
+                item.setfBillingway(tWarehouseBills.getfBillingway());
+                item.setfChargedate(tWarehouseBills.getfChargedate());
+                TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item);
+                if (StringUtils.isNotNull(tWhgenle)) {
+                    int i = updateTWhgenlegData(item, tWhgenle.getfId(), billsType);
+                    if (i <= 0) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("更新库存总账失败");
+                    }
+                } else {
+                    if (instalTWhgenleg(tWarehouseBills, item, loginUser.getUser()) <= 0) {
+                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                        return AjaxResult.error("新增库存总账失败");
+                    }
                 }
+                item.setfIsInventory(0L);
+            } else {
+                item.setfIsInventory(1L);
             }
             int num = 0;
             if (StringUtils.isNotNull(item.getfId())) {
@@ -1153,12 +1161,15 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             Date time = new Date();
             String serialNumber;
             if (item.getfBillstatus() < 30L) {
-                if (billtystatus.equals("20")) { // 生成 入库 流水号
+                if ("RK".equals(billtystatus)) { // 生成 入库 流水号
                     serialNumber = billnoSerialServiceImpl.getSerialNumber("RK", time);
                     item.setfSerialNumber(serialNumber);
-                } else if (billtystatus.equals("70")) { //生成 出库 流水号
+                } else if ("CK".equals(billtystatus)) { //生成 出库 流水号
                     serialNumber = billnoSerialServiceImpl.getSerialNumber("CK", time);
                     item.setfSerialNumber(serialNumber);
+                } else if ("DB".equals(billtystatus)) { //生成 出库 流水号
+                    serialNumber = billnoSerialServiceImpl.getSerialNumber("DB", time);
+                    item.setfSerialNumber(serialNumber);
                 }
                 item.setfBillstatus(status);
                 item.setUpdateTime(new Date());
@@ -1736,11 +1747,13 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 // 查询库存总账
                 TWhgenleg tWhgenle = queryTWhgenleg(tWarehousebills, wb);
                 if ("SJRKRevoke".equals(billsType)) { // 撤销 入库
-                    if (StringUtils.isNotNull(tWhgenle) && (wb.getfQty() <= tWhgenle.getfQtyblc())) { // 非空 且 撤销数 <= 结余数
-                        updateTWhgenlegData(wb, tWhgenle.getfId(), billsType);
-                    } else { // 撤销数>结余数
-                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return AjaxResult.error("第" + i + "行撤销数大于库存结余数");
+                    if (wb.getfIsInventory().equals(0L)) {
+                        if (StringUtils.isNotNull(tWhgenle) && (wb.getfQty() <= tWhgenle.getfQtyblc())) { // 非空 且 撤销数 <= 结余数
+                            updateTWhgenlegData(wb, tWhgenle.getfId(), billsType);
+                        } else { // 撤销数>结余数
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            return AjaxResult.error("第" + i + "行撤销数大于库存结余数");
+                        }
                     }
                     wb.setfBillstatus(10L);
                 } else if ("SJCKRevoke".equals(billsType)) { // 撤销出库
@@ -1769,7 +1782,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                     wb.setfWarehouselocid(warehouselocid);
                     TWhgenleg tWhgenle2 = queryTWhgenleg(tWarehousebills, wb);
                     updateTWhgenlegData(wb, tWhgenle2.getfId(), "SJCKRevoke");
-                    wb.setfBillstatus(1L);
+                    wb.setfBillstatus(10L);
                 } else if ("HQZYRevoke".equals(billsType)) { // 货转撤销
                     Long fCorpid = tWarehousebills.getfCorpid();// 原货权方
                     Long fTocorpid = tWarehousebills.getfTocorpid(); // 新货权方

+ 3 - 1
ruoyi-warehouse/src/main/resources/mapper/reportManagement/TWhgenlegMapper.xml

@@ -82,6 +82,7 @@
         DISTINCT
             leg.f_id AS fId,
             corp.f_name AS fCorpid,
+            ware.f_name AS fWarehouseids,
             area.f_name AS fWarehouseLocationids,
             leg.f_originalbillno AS fOriginalbillno,
             leg.f_warehouse_locationid AS fWarehouseLocationid,
@@ -112,8 +113,9 @@
         FROM
             t_whgenleg leg
             LEFT JOIN t_corps corp ON corp.f_id = leg.f_corpid
-            LEFT JOIN t_warehouse_area area ON area.f_id = leg.f_warehouse_locationid
             LEFT JOIN t_goods goods ON goods.f_id = leg.f_goodsid
+            LEFT JOIN t_warehouse ware ON ware.f_id = leg.f_warehouseid
+            LEFT JOIN t_warehouse_area area ON area.f_id = leg.f_warehouse_locationid
         <where>
             <if test="fOriginalbillno != null  and fOriginalbillno != ''">and leg.f_originalbillno =
                 #{fOriginalbillno}

+ 19 - 10
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsitemsMapper.xml

@@ -53,12 +53,13 @@
         <result property="fIsPass" column="f_is_pass"/>
         <result property="fBilltype" column="f_billtype"/>
         <result property="fBillingQty" column="f_billing_qty"/>
+        <result property="fIsInventory" column="f_is_inventory"/>
         <result property="fBusinessType" column="f_business_type"/>
         <result property="fBillingDeadline" column="f_billing_deadline"/>
     </resultMap>
 
     <sql id="selectTWarehousebillsitemsVo">
-        select f_id, f_pid, f_lineno, f_srcid, f_goodsid, f_billno, f_warehouselocid, f_mblno, f_originalbillno, f_bsdate, f_boxno, f_cntqty, f_goodsval, f_cntrtype, f_planvolumn, f_originalbilldate, f_transfer_warehouselocid, f_planqty, f_billingway, f_plangrossweight, f_packagespecs, f_chargedate, f_plannetweight, f_qty, f_grossweight, f_volumn, f_netweight, f_cntrno, f_truckno, f_billstatus, del_flag, create_by, create_time, update_by, update_time, remark, f_marks, f_inventory_days, f_storage_fee_deadline, f_amt, f_billing_days, f_driver_name, f_driver_tel, f_driver_id_car, f_serial_number, f_is_pass, f_billtype, f_billing_qty, f_billing_deadline, f_business_type from t_warehousebillsitems
+        select f_id, f_pid, f_lineno, f_srcid, f_goodsid, f_billno, f_warehouselocid, f_mblno, f_originalbillno, f_bsdate, f_boxno, f_cntqty, f_goodsval, f_cntrtype, f_planvolumn, f_originalbilldate, f_transfer_warehouselocid, f_planqty, f_billingway, f_plangrossweight, f_packagespecs, f_chargedate, f_plannetweight, f_qty, f_grossweight, f_volumn, f_netweight, f_cntrno, f_truckno, f_billstatus, del_flag, create_by, create_time, update_by, update_time, remark, f_marks, f_inventory_days, f_storage_fee_deadline, f_amt, f_billing_days, f_driver_name, f_driver_tel, f_driver_id_car, f_serial_number, f_is_pass, f_billtype, f_billing_qty, f_billing_deadline, f_business_type, f_is_inventory from t_warehousebillsitems
     </sql>
 
     <select id="selectTWarehousebillsitemsList" parameterType="TWarehousebillsitems"
@@ -83,8 +84,9 @@
             <if test="fPlanqty != null ">and f_planqty = #{fPlanqty}</if>
             <if test="fPlanvolumn != null ">and f_planvolumn = #{fPlanvolumn}</if>
             <if test="fChargedate != null ">and f_chargedate = #{fChargedate}</if>
-            <if test="fBusinessType != null "> and f_business_type = #{fBusinessType}</if>
+            <if test="fIsInventory != null ">and f_is_inventory = #{fIsInventory}</if>
             <if test="fPackagespecs != null ">and f_packagespecs = #{fPackagespecs}</if>
+            <if test="fBusinessType != null "> and f_business_type = #{fBusinessType}</if>
             <if test="fPlangrossweight != null ">and f_plangrossweight = #{fPlangrossweight}</if>
             <if test="fPlannetweight != null ">and f_plannetweight = #{fPlannetweight}</if>
             <if test="fQty != null ">and f_qty = #{fQty}</if>
@@ -120,6 +122,7 @@
             goods.f_name AS fGoodsids,
             item.f_warehouselocid AS fWarehouselocid,
             area.f_name AS fWarehouselocids,
+            ware.f_name AS fWarehouseids,
             item.f_is_pass AS fIsPass,
             item.f_originalbillno AS fOriginalbillno,
             item.f_mblno AS fMblno,
@@ -145,6 +148,7 @@
             item.f_serial_number AS fSerialNumber,
             item.f_marks AS fMarks,
             item.f_grossweight AS fGrossweight,
+            item.f_is_inventory AS fIsInventory,
             item.f_business_type AS fBusinessType,
             item.f_netweight AS fNetweight,
             item.f_cntrno AS fCntrno,
@@ -155,6 +159,7 @@
             t_warehousebillsitems item
             LEFT JOIN t_goods goods ON goods.f_id = item.f_goodsid
             LEFT JOIN t_warehouse_area area ON area.f_id = item.f_warehouselocid
+            LEFT JOIN t_warehouse ware ON ware.f_id = area.f_warehouseid
         <where>
             <if test="fPid != null ">and item.f_pid = #{fPid}</if>
         </where>
@@ -182,18 +187,18 @@
             <if test="fCntqty != null">f_cntqty,</if>
             <if test="fGoodsval != null">f_goodsval,</if>
             <if test="fCntrtype != null">f_cntrtype,</if>
-            <if test="fPlanvolumn != null">f_planvolumn,</if>
             <if test="fOriginalbilldate != null">f_originalbilldate,</if>
+            <if test="fBillingway != null">f_billingway,</if>
             <if test="fTransferWarehouselocid != null">f_transfer_warehouselocid,</if>
             <if test="fPlanqty != null">f_planqty,</if>
-            <if test="fBillingway != null">f_billingway,</if>
+            <if test="fPlanvolumn != null">f_planvolumn,</if>
+            <if test="fChargedate != null">f_chargedate,</if>
             <if test="fPlangrossweight != null">f_plangrossweight,</if>
             <if test="fPackagespecs != null">f_packagespecs,</if>
-            <if test="fChargedate != null">f_chargedate,</if>
             <if test="fPlannetweight != null">f_plannetweight,</if>
             <if test="fQty != null">f_qty,</if>
-            <if test="fGrossweight != null">f_grossweight,</if>
             <if test="fVolumn != null">f_volumn,</if>
+            <if test="fGrossweight != null">f_grossweight,</if>
             <if test="fNetweight != null">f_netweight,</if>
             <if test="fCntrno != null">f_cntrno,</if>
             <if test="fTruckno != null">f_truckno,</if>
@@ -218,6 +223,7 @@
             <if test="fBillingQty != null">f_billing_qty,</if>
             <if test="fBillingDeadline != null">f_billing_deadline,</if>
             <if test="fBusinessType != null">f_business_type,</if>
+            <if test="fIsInventory != null">f_is_inventory,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="fPid != null">#{fPid},</if>
@@ -233,18 +239,18 @@
             <if test="fCntqty != null">#{fCntqty},</if>
             <if test="fGoodsval != null">#{fGoodsval},</if>
             <if test="fCntrtype != null">#{fCntrtype},</if>
-            <if test="fPlanvolumn != null">#{fPlanvolumn},</if>
             <if test="fOriginalbilldate != null">#{fOriginalbilldate},</if>
+            <if test="fBillingway != null">#{fBillingway},</if>
             <if test="fTransferWarehouselocid != null">#{fTransferWarehouselocid},</if>
             <if test="fPlanqty != null">#{fPlanqty},</if>
-            <if test="fBillingway != null">#{fBillingway},</if>
+            <if test="fPlanvolumn != null">#{fPlanvolumn},</if>
+            <if test="fChargedate != null">#{fChargedate},</if>
             <if test="fPlangrossweight != null">#{fPlangrossweight},</if>
             <if test="fPackagespecs != null">#{fPackagespecs},</if>
-            <if test="fChargedate != null">#{fChargedate},</if>
             <if test="fPlannetweight != null">#{fPlannetweight},</if>
             <if test="fQty != null">#{fQty},</if>
-            <if test="fGrossweight != null">#{fGrossweight},</if>
             <if test="fVolumn != null">#{fVolumn},</if>
+            <if test="fGrossweight != null">#{fGrossweight},</if>
             <if test="fNetweight != null">#{fNetweight},</if>
             <if test="fCntrno != null">#{fCntrno},</if>
             <if test="fTruckno != null">#{fTruckno},</if>
@@ -269,6 +275,7 @@
             <if test="fBillingQty != null">#{fBillingQty},</if>
             <if test="fBillingDeadline != null">#{fBillingDeadline},</if>
             <if test="fBusinessType != null">#{fBusinessType},</if>
+            <if test="fIsInventory != null">#{fIsInventory},</if>
         </trim>
     </insert>
 
@@ -322,6 +329,7 @@
             <if test="fIsPass != null">f_is_pass = #{fIsPass},</if>
             <if test="fBilltype != null">f_billtype = #{fBilltype},</if>
             <if test="fBillingQty != null">f_billing_qty = #{fBillingQty},</if>
+            <if test="fIsInventory != null">f_is_inventory = #{fIsInventory},</if>
             <if test="fBillingDeadline != null">f_billing_deadline = #{fBillingDeadline},</if>
             <if test="fBusinessType != null">f_business_type = #{fBusinessType},</if>
         </trim>
@@ -356,6 +364,7 @@
             item.f_volumn AS fVolumn,
             item.f_marks AS fMarks,
             item.f_billing_days AS fBillingDays,
+            item.f_is_inventory AS fIsInventory,
             item.f_qty AS fQty,
             item.f_grossweight AS fGrossweight,
             item.f_netweight AS fNetweight,