Browse Source

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

caifc 3 years ago
parent
commit
8348f80480

+ 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()))
                 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;
+    }
+}

+ 9 - 2
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.SysDictDataMapper;
 import com.ruoyi.system.mapper.SysUserMapper;
 import com.ruoyi.system.mapper.SysUserMapper;
 import com.ruoyi.system.service.impl.SysConfigServiceImpl;
 import com.ruoyi.system.service.impl.SysConfigServiceImpl;
+import com.ruoyi.warehouseBusiness.component.CalculationWarehouseService;
 import com.ruoyi.warehouseBusiness.component.WarehouseBillsfilterService;
 import com.ruoyi.warehouseBusiness.component.WarehouseBillsfilterService;
 import com.ruoyi.warehouseBusiness.component.impl.QueryWhgenlegServiceImpl;
 import com.ruoyi.warehouseBusiness.component.impl.QueryWhgenlegServiceImpl;
 import com.ruoyi.warehouseBusiness.domain.*;
 import com.ruoyi.warehouseBusiness.domain.*;
@@ -145,6 +146,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     private QueryWhgenlegServiceImpl queryWhgenlegService;
     private QueryWhgenlegServiceImpl queryWhgenlegService;
 
 
     @Autowired
     @Autowired
+    private CalculationWarehouseService calculationWarehouseService;
+
+    @Autowired
     private SysConfigServiceImpl sysConfigServiceImpl;
     private SysConfigServiceImpl sysConfigServiceImpl;
 
 
     @Autowired
     @Autowired
@@ -4638,6 +4642,9 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
                 tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
                 tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
             }
             }
         }
         }
+        // 计算仓库状态
+        tWarehousebills.setfItemsStatus(calculationWarehouseService.calculationBillStatus(tWarehousebills));
+        tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
         if (billstatus) {
         if (billstatus) {
             String key = "warehouse.storageFeeCalculation.ApprovalFlow";
             String key = "warehouse.storageFeeCalculation.ApprovalFlow";
             SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
             SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
@@ -7009,7 +7016,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
         warehousebillsDTO.setfBsdeptid(loginUser.getUser().getDeptId());
         warehousebillsDTO.setfBsdeptid(loginUser.getUser().getDeptId());
         warehousebillsDTO.setfChargedate(warehousebillsDTO.getfBsdate());
         warehousebillsDTO.setfChargedate(warehousebillsDTO.getfBsdate());
         warehousebillsDTO.setfBillstatus(Long.parseLong(WarehouseTypeEnum.SAVE.getType()));
         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);
         tWarehouseBillsMapper.insertTWarehousebills(warehousebillsDTO);
         // 遍历进行入库、出库确认
         // 遍历进行入库、出库确认
         List<TWarehousebillsitems> itemList = warehousebillsDTO.getWarehousebillsitemsList();
         List<TWarehousebillsitems> itemList = warehousebillsDTO.getWarehousebillsitemsList();
@@ -7023,11 +7030,11 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             volumn = volumn.add(li.getfVolumn());
             volumn = volumn.add(li.getfVolumn());
             netweight = netweight.add(li.getfNetweight());
             netweight = netweight.add(li.getfNetweight());
             grossweight = grossweight.add(li.getfGrossweight());
             grossweight = grossweight.add(li.getfGrossweight());
-            grossweight = grossweight.add(li.getfGrossweight());
             // 如果业务时间超出当前时间则不允许
             // 如果业务时间超出当前时间则不允许
             if (li.getfBsdate().after(new Date())) {
             if (li.getfBsdate().after(new Date())) {
                 throw new WarehouseException("业务日期不得超出当前日期");
                 throw new WarehouseException("业务日期不得超出当前日期");
             }
             }
+            li.setfBillingway(2L);
             li.setfPid(warehousebillsDTO.getfId());
             li.setfPid(warehousebillsDTO.getfId());
             li.setfBillstatus(40L);
             li.setfBillstatus(40L);
             li.setfBillno(warehousebillsDTO.getfBillno());
             li.setfBillno(warehousebillsDTO.getfBillno());