feat: 1.新增人员机构错误 2.修改使用人时设置可用数量 3.重复预警 4.部门物品退回时设置调拨单信息 5.统计报表删除一列
12个文件已修改
230 ■■■■ 已修改文件
admin-web/src/views/statisticalreport/itemReport/index.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/RecordUserInfoVO.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/dto/UseRecordDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/request/ProcureModelInfoParam.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/LWhFormOutputServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelUserServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/statisticalreport/itemReport/index.vue
@@ -53,12 +53,12 @@
          label="报废数"
          width="150">
        </el-table-column>
        <el-table-column
          align="center"
          prop="diaoBoNum"
          label="调拨数"
          width="150">
        </el-table-column>
<!--        <el-table-column-->
<!--          align="center"-->
<!--          prop="diaoBoNum"-->
<!--          label="调拨数"-->
<!--          width="150">-->
<!--        </el-table-column>-->
        <el-table-column
          align="center"
          prop="totalNum"
consum-base/src/main/java/com/consum/base/controller/FinSysTenantUserController.java
@@ -224,7 +224,7 @@
        }
        tenantUser.setUserPhone(encPhone);
        // 怎么获取左侧机构树数据
        tenantUser.setSysDeptId(3L); // 对应平台机构id 默认为平台管理
//        tenantUser.setSysDeptId(3L); // 对应平台机构id 默认为平台管理
        this.finSysTenantUserService.insert(tenantUser);
        // 插入平台用户
consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java
@@ -1,25 +1,8 @@
package com.consum.base.controller;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.compress.utils.Lists;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.hutool.core.util.ReflectUtil;
import com.consum.base.BaseController;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.core.utils.IdUtil;
@@ -37,31 +20,31 @@
import com.consum.base.pojo.response.GoodsTemplateCountVO;
import com.consum.base.pojo.response.LWHFromTransferExtendVO;
import com.consum.base.pojo.response.TransferInfoVO;
import com.consum.base.service.BaseWarehouseService;
import com.consum.base.service.LGoodsUserRecordCoreService;
import com.consum.base.service.LWhFormTransferService;
import com.consum.base.service.LWhProcureModelService;
import com.consum.base.service.LWhProcureModelUserRecordService;
import com.consum.base.service.LWhProcureModelUserService;
import com.consum.base.service.*;
import com.consum.base.service.impl.LWhFormTransferCoreService;
import com.consum.model.po.BaseWarehouse;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.LWhFormTransfer;
import com.consum.model.po.LWhProcureModelUser;
import com.consum.model.po.LWhProcureModelUserRecord;
import com.consum.model.po.*;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.DateUtils;
import com.walker.web.ResponseValue;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.hutool.core.util.ReflectUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.compress.utils.Lists;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Field;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @Description 调拨管理
@@ -402,6 +385,11 @@
                    lWhProcureModelUser.setNowUserPhone(item.getPhone());
                    lWhProcureModelUser.setNowUserName(item.getUserName());
                    lWhProcureModelUser.setGoodsNum(item.getCount());
                    // 设置一下在用数量
                    Long oldProcureModelId = item.getOldProcureModelId();
                    LWhProcureModelUser oldInfo = lWhProcureModelUserService.get(new LWhProcureModelUser(oldProcureModelId));
                    lWhProcureModelUser.setUseCount(oldInfo.getUseCount());
                    procureModelUserList.add(lWhProcureModelUser);
                }
@@ -457,6 +445,7 @@
                            List<RecordUserInfoVO> recordUserInfoList = recordList.stream().map(userInfo -> {
                                RecordUserInfoVO recordUserInfoVO = new RecordUserInfoVO();
                                recordUserInfoVO.setOldProcureModelId(userInfo.getOldProcureModelId());
                                recordUserInfoVO.setUseName(userInfo.getUseName());
                                recordUserInfoVO.setPhone(userInfo.getPhone());
                                recordUserInfoVO.setNum(userInfo.getNum());
consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java
@@ -204,10 +204,13 @@
        }
        goodsBaseService.execBatchUpdate("update DEP_FORM_SCRAPPED_MODEL set TOTAL_AMOUNT=? where id=?", parameterList);
        //分发物品使用人【L_WH_PROCURE_MODEL_USER】 中 根据id 更新 在用数量(USE_COUNT)
        //如果是A类物品,则更新 分发物品使用人【L_WH_PROCURE_MODEL_USER】 中 根据id 更新 在用数量(USE_COUNT)
        List<Object[]> procureModelUserIdList = new ArrayList<>();
        for (Map<String, Object> itemMap : bfModelList) {
            Long procureModelUserId = Convert.toLong(itemMap.get("PROCURE_MODEL_USER_ID"));
            if (procureModelUserId == null) {
                continue;
            }
            Integer counts = Convert.toInt(itemMap.get("COUNTS"));
//            StringBuilder sb = new StringBuilder("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT-").append(counts);
@@ -221,7 +224,9 @@
            one[2] = counts;
            procureModelUserIdList.add(one);
        }
        goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT- ?  where id= ? and USE_COUNT- ? >=0", procureModelUserIdList);
        if (!CollectionUtils.isEmpty(procureModelUserIdList)) {
            goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT- ?  where id= ? and USE_COUNT- ? >=0", procureModelUserIdList);
        }
        //采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量
consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java
@@ -1,26 +1,14 @@
package com.consum.base.core;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import cn.hutool.core.convert.Convert;
import com.consum.base.core.service.LWhWarningCoreServiceImpl;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.core.utils.LockManage;
import com.consum.base.service.GoodsBaseServiceImpl;
import com.consum.base.service.LWarehouseFlowService;
import com.consum.base.service.impl.LWhGoodsRecordDetailsService;
import com.consum.base.service.LWhGoodsRecordService;
import com.consum.base.service.LWhGoodsService;
import com.consum.base.service.impl.LWhGoodsRecordDetailsService;
import com.consum.model.po.BaseWarehouse;
import com.consum.model.po.LWarehouseFlow;
import com.consum.model.po.LWhGoodsRecord;
@@ -28,9 +16,18 @@
import com.iplatform.model.po.S_user_core;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.web.ResponseValue;
import cn.hutool.core.convert.Convert;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * @ClassName DepFormScrappedCoreServiceImpl
@@ -138,7 +135,7 @@
                    // 根据分发单、型号、使用人信息查询物品信息
                    List<Map<String, Object>> scrappedGoodsList = lWhGoodsService.queryScrappedGoods(warehouseType, warehouseId, transBusinessId, nowUserName, baseGoodsModelsId, (short) 2, counts);
                    if (CollectionUtils.isEmpty(scrappedGoodsList) || scrappedGoodsList.size() < counts) {
                        log.error("要报废的物品数量不足!");
                        log.error("要退回的物品数量不足!");
                        // 手动回滚
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        throw new RuntimeException("报废失败!型号数量不足");
@@ -210,6 +207,31 @@
        }
        goodsBaseService.execBatchUpdate("update DEP_FORM_SCRAPPED_MODEL set TOTAL_AMOUNT=? where id=?", parameterList);
        //如果是A类物品,则更新 分发物品使用人【L_WH_PROCURE_MODEL_USER】 中 根据id 更新 在用数量(USE_COUNT)
        List<Object[]> procureModelUserIdList = new ArrayList<>();
        for (Map<String, Object> itemMap : bfModelList) {
            Long procureModelUserId = Convert.toLong(itemMap.get("PROCURE_MODEL_USER_ID"));
            if (procureModelUserId==null){
                continue;
            }
            Integer counts = Convert.toInt(itemMap.get("COUNTS"));
//            StringBuilder sb = new StringBuilder("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT-").append(counts);
//            sb.append(" where id=").append(procureModelUserId);
//            sb.append(" and USE_COUNT-").append(counts).append(" >=0");
//            goodsBaseService.update(sb.toString());
            Object[] one = new Object[3];
            one[0] = counts;
            one[1] = procureModelUserId;
            one[2] = counts;
            procureModelUserIdList.add(one);
        }
        if (!CollectionUtils.isEmpty(procureModelUserIdList)) {
            goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL_USER set USE_COUNT=USE_COUNT- ?  where id= ? and USE_COUNT- ? >=0", procureModelUserIdList);
        }
        //采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量
        List<Object[]> procureModelParameterList = new ArrayList<>();
        for (Map.Entry<String, Integer> entry : procureModelMap.entrySet()) {
consum-base/src/main/java/com/consum/base/pojo/RecordUserInfoVO.java
@@ -10,7 +10,8 @@
 */
@Data
public class RecordUserInfoVO {
    //以前的记录id
    private Long oldProcureModelId;
    // 使用人
    private String useName;
consum-base/src/main/java/com/consum/base/pojo/dto/UseRecordDTO.java
@@ -34,4 +34,6 @@
    private Long baseGoodsModelsId;
    @JsonProperty("procureModelId")
    private Long procureModelId;
    // l_wh_procure_model_user表旧有的id
    private Long oldProcureModelId;
}
consum-base/src/main/java/com/consum/base/pojo/request/ProcureModelInfoParam.java
@@ -10,6 +10,8 @@
 */
@Data
public class ProcureModelInfoParam {
    // l_wh_procure_model_user表旧有的id
    private Long oldProcureModelId;
    // 单号id
    private Long businessId;
consum-base/src/main/java/com/consum/base/service/LGoodsUserRecordCoreService.java
@@ -1,22 +1,20 @@
package com.consum.base.service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.core.utils.LockManage;
import com.consum.model.po.LGoodsUserRecord;
import com.consum.model.po.LWhFormTransfer;
import com.consum.model.po.LWhProcureModelUser;
import com.consum.model.po.LWhProcureModelUserRecord;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
 * @ClassName LGoodsUserRecordCoreService
@@ -57,10 +55,10 @@
        LWhFormTransfer whFormTransfer = goodsBaseService.get(new LWhFormTransfer(transBusinessId));
        Integer inWarehouseType = whFormTransfer.getInWarehouseType();
        Long inWarehouseId = whFormTransfer.getInWarehouseId();
        // 将所有物品设置为未分发
        // 将所有已下发物品设置为未分发 如果发生了退回,此时数量则小于分发时的数量!
        List<Long> srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(inWarehouseType, inWarehouseId,
            transBusinessId, null, null, null, null);
        lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3);
            transBusinessId, null, null, (short)2, null);
        lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 1);
        // 删除该调拨单旧有使用记录
        lGoodsUserRecordService.delete(new LGoodsUserRecord(), "where TRANS_BUSINESS_ID =" + transBusinessId,
            new HashMap<>());
consum-base/src/main/java/com/consum/base/service/impl/LWhFormOutputServiceImpl.java
@@ -21,7 +21,6 @@
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import lombok.extern.slf4j.Slf4j;
@@ -141,7 +140,7 @@
        }
        // 4 预警
        //当库存变动时调用该方法
        lWhWarningCoreService.updateKuCun((short) 0, warehouseId, new ArrayList<>(allChangModelList), null, DateUtils.getDateTimeNumber(System.currentTimeMillis()));
//        lWhWarningCoreService.updateKuCun((short) 0, warehouseId, new ArrayList<>(allChangModelList), null, DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        return 1;
consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelUserServiceImpl.java
@@ -6,10 +6,11 @@
import com.consum.base.service.LWhProcureModelUserService;
import com.google.common.collect.Lists;
import com.walker.jdbc.service.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Service;
/**
 * @author asus
@@ -24,6 +25,7 @@
    public List<UseRecordDTO> selectUseRecord(Long businessId) {
        String sql = "SELECT\n"
            + "\tpmur.ID,\n"
            + "\tpmu.id as oldProcureModelId,\n"
            + "\tpm.ID procureModelId,\n"
            + "\tpmur.DEAL_TIME updateTime,\n"
            + "\tpmur.OPERATOR_NAME updateUserName,\n"
consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java
@@ -1,19 +1,5 @@
package com.consum.base.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.consum.base.core.CodeGeneratorEnum;
import com.consum.base.core.CodeGeneratorService;
import com.consum.base.core.DepUsingFormBackCoreServiceImpl;
@@ -26,32 +12,27 @@
import com.consum.base.pojo.request.UsingFormBackGoodsInfo;
import com.consum.base.pojo.request.UsingFormBackParam;
import com.consum.base.pojo.request.baseGoodModel;
import com.consum.base.pojo.response.GoodsTemplateCountVO;
import com.consum.base.pojo.response.UseInfo;
import com.consum.base.pojo.response.UsingFormBackDetailListVO;
import com.consum.base.pojo.response.UsingFormBackDetailVO;
import com.consum.base.pojo.response.UsingFormBackGoodsTemplateInfo;
import com.consum.base.pojo.response.UsingFormBackModelInfo;
import com.consum.base.pojo.response.UsingFormBackVO;
import com.consum.base.service.BaseCategoryService;
import com.consum.base.service.FinSysTenantDepartmentService;
import com.consum.base.service.LWhFormTransferService;
import com.consum.base.service.UsingFormBackGoodsService;
import com.consum.base.service.UsingFormBackModelService;
import com.consum.base.service.UsingFormBackService;
import com.consum.model.po.BaseCategory;
import com.consum.model.po.FinSysTenantDepartment;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.LWhFormTransfer;
import com.consum.model.po.UsingFormBack;
import com.consum.model.po.UsingFormBackGoods;
import com.consum.model.po.UsingFormBackModel;
import com.consum.base.pojo.response.*;
import com.consum.base.service.*;
import com.consum.model.po.*;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * @author asus
@@ -134,6 +115,9 @@
        goods.setCategoryName(baseCategory.getCategoryName());
        goods.setClassification(baseCategory.getClassification());
        goods.setTransBusinessId(goodsInfo.getTransBusinessId());
        goods.setBusinessFormCode(goodsInfo.getBusinessFormCode());
        LWhFormTransfer lWhFormTransfer = lWhFormTransferService.selectById(goodsInfo.getTransBusinessId());
        goods.setTransOutWarehouseType(lWhFormTransfer.getOutWarehouseType());
        goods.setTransOutWarehouseId(lWhFormTransfer.getOutWarehouseId());