Переглянути джерело

Merge remote-tracking branch 'origin/dev' into dev

lazhaoqian 3 роки тому
батько
коміт
43947baceb

+ 1 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java

@@ -84,7 +84,7 @@ public class SysLoginService {
                 if (StringUtils.equals(username, user.getUsername()))
                 {
                     // 若发现有其他用户登录,顶替掉其他用户
-                    redisCache.deleteObject(Constants.LOGIN_TOKEN_KEY + user.getToken());
+//                    redisCache.deleteObject(Constants.LOGIN_TOKEN_KEY + user.getToken());
                 }
             }
         }

+ 20 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/component/CalculationWarehouseService.java

@@ -0,0 +1,20 @@
+package com.ruoyi.warehouseBusiness.component;
+
+import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
+
+/**
+ * @author caifc
+ * @date 2021-11-11 9:14
+ */
+public interface CalculationWarehouseService {
+
+    /**
+     * 仓库查询库存总帐
+     *
+     * @param warehouseBills 主表数据
+     * @return 状态
+     */
+    Long calculationBillStatus(TWarehouseBills warehouseBills);
+
+
+}

+ 65 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/component/impl/CalculationWarehouseServiceImpl.java

@@ -0,0 +1,65 @@
+package com.ruoyi.warehouseBusiness.component.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.ruoyi.warehouseBusiness.component.CalculationWarehouseService;
+import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
+import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
+import com.ruoyi.warehouseBusiness.domain.enums.WarehouseTypeEnum;
+import com.ruoyi.warehouseBusiness.mapper.TWarehousebillsitemsMapper;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author caifc
+ * @date 2021-11-23 18:52
+ */
+@Slf4j
+@Component
+@AllArgsConstructor
+public class CalculationWarehouseServiceImpl implements CalculationWarehouseService {
+
+    private final TWarehousebillsitemsMapper warehousebillsitemsMapper;
+
+
+    /**
+     * 仓库查询库存总帐
+     *
+     * @param warehouseBills 主表数据
+     * @return 状态
+     */
+    @Override
+    public Long calculationBillStatus(TWarehouseBills warehouseBills) {
+
+        List<TWarehousebillsitems> warehousebillsitems = warehousebillsitemsMapper.selectItemsStatusByPid(warehouseBills.getfId());
+        // 如果没有明细则是未xxx
+        if (CollectionUtils.isEmpty(warehousebillsitems)) {
+            return 1L;
+        }
+        // 代表有明细数据
+        long count;
+        // 判断是否货权转移
+        if (WarehouseTypeEnum.HQZY.getType().equals(warehouseBills.getfBilltype())) {
+            count = warehousebillsitems.stream().filter(item ->
+                    !Objects.equals(item.getfBillstatus(), 6L)
+            ).count();
+            // 货权转移存在不为已货转的数据则判定货转中
+            if (count > 0) {
+                return 2L;
+            }
+        } else {
+            count = warehousebillsitems.stream().filter(item ->
+                            !Objects.equals(item.getfBillstatus(), 40L))
+                    .count();
+            // 如果明细中不存在已经操作库存总帐的则判定xx中
+            if (count > 0) {
+                return 2L;
+            }
+        }
+        // 最终判定 已经xxx
+        return 4L;
+    }
+}

+ 2 - 2
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/component/impl/QueryWhgenlegServiceImpl.java

@@ -46,6 +46,8 @@ public class QueryWhgenlegServiceImpl implements QueryWhgenlegService {
         if (WarehouseTypeEnum.JUDGE_BOX.getType().equals(ifCntrno)) {
             whgenleg.setfCntrno(item.getfCntrno());
         }
+        // 业务类型详情
+        whgenleg.setfMarks(item.getfMarks());
         // 货物品名
         whgenleg.setfGoodsid(item.getfGoodsid());
         if (WarehouseTypeEnum.SJRK.getType().equals(warehouseBills.getfBilltype())) {
@@ -122,8 +124,6 @@ public class QueryWhgenlegServiceImpl implements QueryWhgenlegService {
         whgenleg.setfTrademodeid(warehouseBills.getfTrademodeid());
         // 业务日期
         whgenleg.setfBsdate(DateUtils.dateConversionMin(item.getfOriginalbilldate()));
-        // 业务类型详情
-        whgenleg.setfMarks(item.getfMarks());
         // 库区
         whgenleg.setfWarehouseLocationid(item.getfWarehouselocid());
     }

+ 0 - 3
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/component/impl/WarehouseBillsfilterServiceImpl.java

@@ -115,9 +115,6 @@ public class WarehouseBillsfilterServiceImpl implements WarehouseBillsfilterServ
             if (StringUtils.isEmpty(li.getfMarks())) {
                 throw new WarehouseException("序号" + line + "明细仓储明细未选择货物详情");
             }
-            if (StringUtils.isEmpty(li.getfCntrno())) {
-                throw new WarehouseException("序号" + line + "明细仓储明细未选择箱号");
-            }
             if (StringUtils.isNull(li.getfQty()) || Objects.equals(li.getfQty(), 0L)) {
                 throw new WarehouseException("序号" + line + "明细仓储明细未选填入数量");
             }

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

@@ -44,6 +44,7 @@ import com.ruoyi.system.mapper.SysDeptMapper;
 import com.ruoyi.system.mapper.SysDictDataMapper;
 import com.ruoyi.system.mapper.SysUserMapper;
 import com.ruoyi.system.service.impl.SysConfigServiceImpl;
+import com.ruoyi.warehouseBusiness.component.CalculationWarehouseService;
 import com.ruoyi.warehouseBusiness.component.WarehouseBillsfilterService;
 import com.ruoyi.warehouseBusiness.component.impl.QueryWhgenlegServiceImpl;
 import com.ruoyi.warehouseBusiness.domain.*;
@@ -145,6 +146,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     private QueryWhgenlegServiceImpl queryWhgenlegService;
 
     @Autowired
+    private CalculationWarehouseService calculationWarehouseService;
+
+    @Autowired
     private SysConfigServiceImpl sysConfigServiceImpl;
 
     @Autowired
@@ -4622,6 +4626,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
             }
         }
+        // 计算仓库状态
+        tWarehousebills.setfItemsStatus(calculationWarehouseService.calculationBillStatus(tWarehousebills));
+        tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
         if (billstatus) {
             String key = "warehouse.storageFeeCalculation.ApprovalFlow";
             SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
@@ -6989,11 +6996,12 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         }
         warehousebillsDTO.setfDateChanged(DateUtils.getTimestamp(new Date()).toString() + (int) (Math.random() * 900) + 100);
         warehousebillsDTO.setCreateTime(new Date());
+        warehousebillsDTO.setfBillingway(2L);
         warehousebillsDTO.setCreateBy(loginUser.getUsername());
         warehousebillsDTO.setfBsdeptid(loginUser.getUser().getDeptId());
         warehousebillsDTO.setfChargedate(warehousebillsDTO.getfBsdate());
         warehousebillsDTO.setfBillstatus(Long.parseLong(WarehouseTypeEnum.SAVE.getType()));
-        warehousebillsDTO.setfItemstatus(Long.parseLong(WarehouseTypeEnum.DETAILED_STATUS_PROCESSED.getType()));
+        warehousebillsDTO.setfItemsStatus(Long.parseLong(WarehouseTypeEnum.DETAILED_STATUS_PROCESSED.getType()));
         tWarehouseBillsMapper.insertTWarehousebills(warehousebillsDTO);
         // 遍历进行入库、出库确认
         List<TWarehousebillsitems> itemList = warehousebillsDTO.getWarehousebillsitemsList();
@@ -7007,7 +7015,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             volumn = volumn.add(li.getfVolumn());
             netweight = netweight.add(li.getfNetweight());
             grossweight = grossweight.add(li.getfGrossweight());
-            grossweight = grossweight.add(li.getfGrossweight());
             // 如果业务时间超出当前时间则不允许
             if (li.getfBsdate().after(new Date())) {
                 throw new WarehouseException("业务日期不得超出当前日期");
@@ -7054,9 +7061,6 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         if (StringUtils.isNotEmpty(warehousebillsDTO.getfCustomno())) {
             item.setfCustomno(warehousebillsDTO.getfCustomno());
         }
-        if (StringUtils.isNotEmpty(warehousebillsDTO.getRemark())) {
-            item.setRemark(warehousebillsDTO.getRemark());
-        }
         item.setfOriginalbilldate(item.getfBsdate());
         item.setfBillingway(warehousebillsDTO.getfBillingway());
         if ("1".equals(warehousebillsDTO.getfChargetype())) {