Browse Source

仓库业务->修改入库确认也要更新明细srcId

caifc 3 years ago
parent
commit
5501eddaaf

+ 9 - 51
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -473,44 +473,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         tWhgenleg.setfTrademodeid(warehouseBills.getfTrademodeid());
         return tWhgenlegMapper.selectTWhgenleg(tWhgenleg);
     }
-    /*public TWhgenleg queryTWhgenleg1(TWarehouseBills warehouseBills, TWarehousebillsitems warehousebillsitems, String ifCntrno, String operate) {
-        // 货转时如果调出操作是10-1且计费日期10-1那么调入的时候也要判断计费日期10-1业务日期10-1,调入之后吧id赋值给费用明细新加字段中
-        // 调拨同理
-        TWhgenleg tWhgenleg = new TWhgenleg();
-        // 客户
-        tWhgenleg.setfCorpid(warehouseBills.getfCorpid());
-        // 提单号
-        if (WarehouseTypeEnum.HQZY.getType().equals(warehouseBills.getfBilltype()) ||
-                WarehouseTypeEnum.CKDB.getType().equals(warehouseBills.getfBilltype()) ||
-                WarehouseTypeEnum.HWTG.getType().equals(warehouseBills.getfBilltype()) ||
-                WarehouseTypeEnum.SJCK.getType().equals(warehouseBills.getfBilltype())) {
-            tWhgenleg.setfMblno(warehousebillsitems.getfMblno());
-        } else {
-            tWhgenleg.setfMblno(warehouseBills.getfMblno());
-        }
-        // 业务日期
-        if (!WarehouseTypeEnum.SJRK.getType().equals(warehouseBills.getfBilltype()) &&
-                !WarehouseTypeEnum.SJCK.getType().equals(warehouseBills.getfBilltype())) {
-            // 转换日期最小值
-            tWhgenleg.setfBsdate(DateUtils.dateConversionMin(warehousebillsitems.getfBsdate()));
-        } else {
-            tWhgenleg.setfBsdate(warehousebillsitems.getfOriginalbilldate());
-        }
-        // 业务类型
-        tWhgenleg.setfBusinessType(warehousebillsitems.getfBusinessType());
-        // 业务类型详情
-        tWhgenleg.setfMarks(warehousebillsitems.getfMarks());
-        if ("1".equals(ifCntrno)) {
-            tWhgenleg.setfCntrno(warehousebillsitems.getfCntrno());
-        }
-        // 库区
-        tWhgenleg.setfWarehouseLocationid(warehousebillsitems.getfWarehouselocid());
-        // 货物品名
-        tWhgenleg.setfGoodsid(warehousebillsitems.getfGoodsid());
-        // 贸易方式
-        tWhgenleg.setfTrademodeid(warehouseBills.getfTrademodeid());
-        return tWhgenlegMapper.selectTWhgenleg(tWhgenleg);
-    }*/
 
     /**
      * 新增库存总账
@@ -519,8 +481,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
      * @param warehousebillsitems 仓库明细表
      * @return 结果
      */
-    @Transactional
-    public int instalTWhgenleg(TWarehouseBills warehouseBills, TWarehousebillsitems warehousebillsitems, SysUser user) {
+    public Long instalTWhgenleg(TWarehouseBills warehouseBills, TWarehousebillsitems warehousebillsitems, SysUser user) {
         TWhgenleg tWhgenleg = new TWhgenleg();
         if (WarehouseTypeEnum.SJRK.getType().equals(warehouseBills.getfBilltype())) {
             tWhgenleg.setfOriginalbilldate(warehousebillsitems.getfBsdate());
@@ -606,7 +567,8 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         tWhgenleg.setfStatus("T");
         // 结余件数
         tWhgenleg.setfQtyblc(warehousebillsitems.getfQty());
-        return tWhgenlegMapper.insertTWhgenleg(tWhgenleg);
+        tWhgenlegMapper.insertTWhgenleg(tWhgenleg);
+        return tWhgenleg.getfId();
     }
 
     @Transactional
@@ -3051,10 +3013,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 warehousebillsitems.setfStevedore(tWarehousebillsitems.getfStevedore());
                 warehousebillsitems.setRemark(tWarehousebillsitems.getRemark());
                 warehousebillsitems.setfWarehouselocid(tWarehousebillsitems.getfWarehouselocid());
-                if (instalTWhgenleg(warehouseBills, warehousebillsitems, loginUser.getUser()) <= 0) {
-                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return AjaxResult.error("新增库存总账失败");
-                }
+                instalTWhgenleg(warehouseBills, warehousebillsitems, loginUser.getUser());
             }
             tWarehousebillsitems.setfIsInventory(0L);
             tWarehousebillsitems.setfSerialNumber(warehousebillsitems.getfSerialNumber());
@@ -3372,11 +3331,10 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 }
                 if (StringUtils.isNotNull(tWhgenle)) {
                     updateTWhgenlegData(item, tWhgenle.getfId(), billsType);
+                    item.setfSrcid(tWhgenle.getfId());
                 } else {
-                    if (instalTWhgenleg(tWarehouseBills, item, loginUser.getUser()) <= 0) {
-                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return AjaxResult.error("新增库存总账失败");
-                    }
+                    Long whgenlegId = instalTWhgenleg(tWarehouseBills, item, loginUser.getUser());
+                    item.setfSrcid(whgenlegId);
                 }
                 item.setfIsInventory(0L);
             } else {
@@ -3632,7 +3590,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             if (Objects.isNull(tWhgenle)) {
                 throw new WarehouseException("库存明细第" + i + "行找不到库存信息");
             }
-            if (wbItem.getfBsdate().before(tWarehouseBills.getfChargedate())) {
+            if (wbItem.getfBsdate().before(tWhgenle.getfChargedate())) {
                 throw new WarehouseException("业务日期不得超出库存总帐日期");
             }
             //  入库数特殊不判断入账
@@ -7114,7 +7072,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         }
         // 查询总账是否存在
         TWhgenleg tWhgenle = queryTWhgenleg(warehousebillsDTO, item, goods.getIfCntrno());
-        if (Objects.nonNull(tWhgenle) && item.getfBsdate().before(item.getfChargedate())) {
+        if (Objects.nonNull(tWhgenle) && item.getfBsdate().before(tWhgenle.getfChargedate())) {
             throw new WarehouseException("出库明细第" + line + "行业务日期不得超出库存总帐日期");
         }
         if (Objects.isNull(tWhgenle)) {