cy
2023-12-02 69abbfbdbda77af152490e47851622905df7eb8e
feat: 部门物品回退
1个文件已添加
6个文件已修改
392 ■■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/controller/UsingFormBackController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java 338 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/core/utils/CommonUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/UsingFormBackService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/UsingFormBackController.java
@@ -40,7 +40,7 @@
        if (sysInfo == null) {
            return ResponseValue.error("请先登录");
        }
        usingFormBackService.add(usingFormBackParam, sysInfo);
        usingFormBackService.add(usingFormBackParam, sysInfo,this.getCurrentUser());
        return ResponseValue.success();
    }
consum-base/src/main/java/com/consum/base/core/DepFormScrappedCoreServiceImpl.java
@@ -114,7 +114,7 @@
            Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId);
            int goodsModelNum = 0;
            synchronized (warehouseModelLockObj) {
                goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 1, null);
                goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 2, null);
                for (Map<String, Object> depFormScrappedModel : eachFfModelList) {
                    // 调拨单信息
                    Long transBusinessId = (Long) depFormScrappedModel.get("TRANS_BUSINESS_ID");
consum-base/src/main/java/com/consum/base/core/DepUsingFormBackCoreServiceImpl.java
New file
@@ -0,0 +1,338 @@
package com.consum.base.core;
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.*;
import com.consum.model.po.*;
import com.iplatform.model.po.S_user_core;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.web.ResponseValue;
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
 * @Author cy
 * @Date 2023/12/2
 * @Description
 * @Version 1.0
 **/
@Service
@Slf4j
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
public class DepUsingFormBackCoreServiceImpl {
    @Resource
    private GoodsBaseServiceImpl goodsBaseService;
    @Resource
    private LWhGoodsService lWhGoodsService;
    @Resource
    private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService;
    @Resource
    private LWhGoodsRecordService lWhGoodsRecordService;
    @Resource
    private LWarehouseFlowService lWarehouseFlowService;
    @Resource
    private LWhWarningCoreServiceImpl lWhWarningCoreService;
    /**
     * 根据报废单报废:修改调拨单中可退回数量;仓库中物品状态设置为报废;生成一个保费流水;更新报废型号表中,物品价值
     * <p>
     * 1.找到需要退回的型号, 按同一个
     *
     * @param lWhFormBackId
     */
    public ResponseValue updateBack(Long lWhFormBackId, S_user_core currentUser, Long dealTime) {
        // 查询报废单状态
        UsingFormBack depFormScrapped = new UsingFormBack(lWhFormBackId);
        depFormScrapped = goodsBaseService.get(depFormScrapped);
        //状态 1=待报废;2=已报废
        if (depFormScrapped == null || depFormScrapped.getStates() != 1) {
            return ResponseValue.error("请检查报废单");
        }
        Long userId = currentUser.getId();
        String nickName = currentUser.getNick_name();
        // 根据报废单 查询需要报废的型号数量
        List<Map<String, Object>> bfModelList = goodsBaseService.select("SELECT scrGoods.TRANS_OUT_WAREHOUSE_TYPE,scrGoods.TRANS_OUT_WAREHOUSE_ID,scrGoods.TRANS_BUSINESS_ID,scrGoods.BUSINESS_FORM_CODE,scrGoods.TRANS_OUT_WAREHOUSE_TYPE,scrGoods.TRANS_OUT_WAREHOUSE_ID,scrGoods.BASE_GOODS_TEMPLATE_ID,scrGoods.BASE_GOODS_TEMPLATE_NAME,goodsModel.id formScrappedModelId,goodsModel.BASE_GOODS_TEMPLATE_ID,goodsModel.BASE_GOODS_MODELS_ID,goodsModel.COUNTS,goodsModel.PROCURE_MODEL_USER_ID,goodsModel.GOODS_USER_NAME,goodsModel.BASE_GOODS_MODELS_NAME FROM USING_FORM_BACK_GOODS scrGoods LEFT JOIN USING_FORM_BACK_MODEL goodsModel ON scrgoods.id=goodsModel.USING_FORM_BACK_GOODS_ID WHERE scrGoods.USING_FORM_BACK_ID=?", new Object[]{lWhFormBackId});
        Map<Object, List<Map<String, Object>>> groupByModelIdMap = bfModelList.stream()
                .collect(Collectors.groupingBy(map -> map.get("BASE_GOODS_MODELS_ID")));
        Integer warehouseType = depFormScrapped.getOutWarehouseType();
        Long warehouseId = depFormScrapped.getOutWarehouseId();
        String warehouseName = depFormScrapped.getOutWarehouseName();
        // 流水记录总表ID
        long lWarehouseFlowId = IdUtil.generateId();
        // 更新 报废单物品【DEP_FORM_SCRAPPED_MODEL】中价格的list
        Map<Long, Long> modelTotalPriceMap = new HashMap<>();
        ArrayList<LWhGoodsRecord> lWhGoodsRecordList = new ArrayList<>();
        //采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量
        Map<String, Integer> procureModelMap = new HashMap<>();
        for (Object key : groupByModelIdMap.keySet()) {
            Long modelTotalPrice = 0l;
            //要报废的总数量
            int modelTotalNum = 0;
            Long baseGoodsModelsId = (Long) key;
            List<Map<String, Object>> eachFfModelList = groupByModelIdMap.get(key);
            Map<String, Object> eachFfModelBase = eachFfModelList.get(0);
            Long tempGoodsId = Convert.toLong(eachFfModelBase.get("BASE_GOODS_TEMPLATE_ID"));
            String goodsName = Convert.toStr(eachFfModelBase.get("BASE_GOODS_TEMPLATE_NAME"));
            String modelName = Convert.toStr(eachFfModelBase.get("BASE_GOODS_MODELS_NAME"));
            // 插入 各规格物品的进出库记录 L_WH_GOODS_RECORD
            long whGoodsRecordId = IdUtil.generateId();
            LWhGoodsRecord whGoodsRecord = new LWhGoodsRecord();
            whGoodsRecord.setId(whGoodsRecordId);
            whGoodsRecord.setWarehouseType(warehouseType);
            whGoodsRecord.setWarehouseId(warehouseId);
            whGoodsRecord.setWarehouseFlowId(lWarehouseFlowId);
            whGoodsRecord.setBaseGoodsTemplateId(tempGoodsId);
            whGoodsRecord.setGoodsTemplateName(goodsName);
            whGoodsRecord.setBaseGoodsModelsId(baseGoodsModelsId);
            whGoodsRecord.setBaseGoodsModelsName(modelName);
            whGoodsRecord.setDealTime(dealTime);
            //本次调整类型 1=调增;2=调减
            whGoodsRecord.setThisType(2);
            //通过LockManage获得锁
            Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId);
            int goodsModelNum = 0;
            synchronized (warehouseModelLockObj) {
                goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 2, null);
                for (Map<String, Object> depFormScrappedModel : eachFfModelList) {
                    // 调拨单信息
                    Long transBusinessId = (Long) depFormScrappedModel.get("TRANS_BUSINESS_ID");
                    String nowUserName = Convert.toStr(depFormScrappedModel.get("GOODS_USER_NAME"));
                    Integer counts = Convert.toInt(depFormScrappedModel.get("COUNTS"));
                    Long formScrappedModelId = Convert.toLong(depFormScrappedModel.get("formScrappedModelId"));
                    modelTotalNum += counts;
                    // 根据分发单、型号、使用人信息查询物品信息
                    List<Map<String, Object>> scrappedGoodsList = lWhGoodsService.queryScrappedGoods(warehouseType, warehouseId, transBusinessId, nowUserName, baseGoodsModelsId, (short) 2, counts);
                    if (CollectionUtils.isEmpty(scrappedGoodsList) || scrappedGoodsList.size() < counts) {
                        log.error("要报废的物品数量不足!");
                        // 手动回滚
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        throw new RuntimeException("报废失败!型号数量不足");
                    }
                    // 放入物品ID等信息
                    depFormScrappedModel.put("scrappedGoodsList", scrappedGoodsList);
                    Long formScrappedModelPrice = scrappedGoodsList.stream().mapToLong(map -> (long) map.get("price")).sum();
                    modelTotalPrice += formScrappedModelPrice;
                    // 更新 报废单物品【DEP_FORM_SCRAPPED_MODEL】中 价格
                    modelTotalPriceMap.put(formScrappedModelId, formScrappedModelPrice);
                    //采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 在用数量
                    Integer procureModelNum = Convert.toInt(procureModelMap.get(transBusinessId + "_" + baseGoodsModelsId), 0);
                    procureModelMap.put(transBusinessId + "_" + baseGoodsModelsId, counts + procureModelNum);
                    // 汇总出需要修改状态的物品id
                    List<Long> srappedGoodsIds = scrappedGoodsList.stream().map(map -> (Long) map.get("id")).collect(Collectors.toList());
                    // 设置物品为报废状态
//                    lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3);
                    // 批量插入 进出库流水明细[L_WH_GOODS_RECORD_DETAILS]
                    lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short) 2);
                }
            }
            whGoodsRecord.setInitialCount(goodsModelNum);
            whGoodsRecord.setEndCount(goodsModelNum - modelTotalNum);
            whGoodsRecord.setThisCount(modelTotalNum);
            whGoodsRecord.setTotalPrice(modelTotalPrice);
//            lWhGoodsRecordService.insert(whGoodsRecord);
            lWhGoodsRecordList.add(whGoodsRecord);
        }
        // 插入总流水
        LWarehouseFlow warehouseFlow = new LWarehouseFlow();
        warehouseFlow.setId(lWarehouseFlowId);
        warehouseFlow.setWarehouseType(warehouseType);
        warehouseFlow.setWarehouseId(warehouseId);
        warehouseFlow.setWarehouseName(warehouseName);
        warehouseFlow.setThisType(2);
        warehouseFlow.setBusinessType(WhBusinessEnum.BAOFEI.getValue() + 0);
        warehouseFlow.setBusinessFormId(lWhFormBackId);
        warehouseFlow.setOperatorId(userId);
        warehouseFlow.setOperatorName(nickName);
        warehouseFlow.setDealTime(dealTime);
        // 插入流水总表
        int flowInsertFlag = lWarehouseFlowService.insert(warehouseFlow);
        if (flowInsertFlag == 0) {
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return null;
        }
        // 批量插入 各规格物品的进出库【L_WH_GOODS_RECORD】
        lWhGoodsRecordService.insertBatch(lWhGoodsRecordList);
        // 更新报废单
        depFormScrapped = new UsingFormBack(lWhFormBackId);
        depFormScrapped.setStates(2);
        goodsBaseService.update(depFormScrapped);
        // 更新 报废单物品【DEP_FORM_SCRAPPED_MODEL】中价格的list
        List<Object[]> parameterList = new ArrayList<>();
        for (Map.Entry<Long, Long> entry : modelTotalPriceMap.entrySet()) {
            Long key = entry.getKey();
            Long value = entry.getValue();
            Object[] one = new Object[2];
            one[0] = value;
            one[1] = key;
            parameterList.add(one);
        }
        goodsBaseService.execBatchUpdate("update DEP_FORM_SCRAPPED_MODEL set TOTAL_AMOUNT=? where id=?", parameterList);
        //采购、调拨、出库等的物品型号【L_WH_PROCURE_MODEL】中 根据调拨单+型号 更新 在用数量
        List<Object[]> procureModelParameterList = new ArrayList<>();
        for (Map.Entry<String, Integer> entry : procureModelMap.entrySet()) {
            String key = entry.getKey();
            Integer modelUseingNum = entry.getValue();
            String[] strings = key.split("_");
            String transBusinessId = strings[0];
            String baseGoodsModelsId = strings[1];
            Object[] one = new Object[4];
            one[0] = modelUseingNum;
            one[1] = transBusinessId;
            one[2] = baseGoodsModelsId;
            one[3] = modelUseingNum;
            procureModelParameterList.add(one);
            StringBuilder sb = new StringBuilder("update L_WH_PROCURE_MODEL set USE_COUNT=USE_COUNT-");
            sb.append(modelUseingNum).append(" where BUSINESS_TYPE=4 and BUSINESS_ID=");
            sb.append(transBusinessId).append(" and BASE_GOODS_MODELS_ID=");
            sb.append(baseGoodsModelsId).append(" and USE_COUNT-");
            sb.append(modelUseingNum).append(" >=0");
            goodsBaseService.update(sb.toString());
        }
//        goodsBaseService.execBatchUpdate("update L_WH_PROCURE_MODEL set USE_COUNT=USE_COUNT-? where BUSINESS_TYPE=4 and BUSINESS_ID=? and BASE_GOODS_MODELS_ID=? and USE_COUNT=USE_COUNT-? >0", parameterList);
        // 操作入库,此时要按物品所属仓库 生成不同仓库入库的流水
        Map<String, List<Map<String, Object>>> groupByOutWarehouseIdMap = bfModelList.stream()
                .collect(Collectors.groupingBy(map -> map.get("TRANS_OUT_WAREHOUSE_TYPE") + "_" + map.get("TRANS_OUT_WAREHOUSE_ID")));
        //每个仓库一个流水表
        ArrayList<LWarehouseFlow> flowArrayList = new ArrayList<>();
        ArrayList<LWhGoodsRecord> flowRecordArrayList = new ArrayList<>();
        for (String outWarehouseTypeAndId : groupByOutWarehouseIdMap.keySet()) {
            List<Map<String, Object>> eachWareHouseList = groupByOutWarehouseIdMap.get(outWarehouseTypeAndId);
            Map<String, Object> eachWarehouseModelMap = eachWareHouseList.get(0);
//            Integer inWareHouseType = Convert.toInt(eachWarehouseModelMap.get("TRANS_OUT_WAREHOUSE_TYPE"));
            Long inWarehouseId = Convert.toLong(eachWarehouseModelMap.get("TRANS_OUT_WAREHOUSE_ID"));
            String inWarehouseName = null;
            BaseWarehouse baseWarehouse = goodsBaseService.get(new BaseWarehouse(inWarehouseId));
            if (baseWarehouse != null) {
                inWarehouseName = baseWarehouse.getWarehouseName();
            }
            // 每个仓库一个流水表
            LWarehouseFlow inWarehouseFlow = new LWarehouseFlow();
            // 流水记录总表ID
            long inWarehouseFlowId = IdUtil.generateId();
            inWarehouseFlow.setId(inWarehouseFlowId);
            inWarehouseFlow.setWarehouseType(0);
            inWarehouseFlow.setWarehouseId(inWarehouseId);
            inWarehouseFlow.setWarehouseName(inWarehouseName);
            inWarehouseFlow.setThisType(1);
            inWarehouseFlow.setBusinessType(WhBusinessEnum.BAOFEI.getValue() + 0);
            inWarehouseFlow.setBusinessFormId(lWhFormBackId);
            inWarehouseFlow.setOperatorId(userId);
            inWarehouseFlow.setOperatorName(nickName);
            inWarehouseFlow.setDealTime(dealTime);
            flowArrayList.add(inWarehouseFlow);
            //按型号分 每个型号一个 L_WH_GOODS_RECORD
            Map<Object, List<Map<String, Object>>> eachWareHouseModelMap = eachWareHouseList.stream()
                    .collect(Collectors.groupingBy(map -> map.get("BASE_GOODS_MODELS_ID")));
            for (Object key : eachWareHouseModelMap.keySet()) {
                Long baseGoodsModelsId = (Long) key;
                List<Map<String, Object>> eachFfModelList = eachWareHouseModelMap.get(baseGoodsModelsId);
                Map<String, Object> eachFfModelBase = eachFfModelList.get(0);
                Long tempGoodsId = Convert.toLong(eachFfModelBase.get("BASE_GOODS_TEMPLATE_ID"));
                String goodsName = Convert.toStr(eachFfModelBase.get("BASE_GOODS_TEMPLATE_NAME"));
                String modelName = Convert.toStr(eachFfModelBase.get("BASE_GOODS_MODELS_NAME"));
                // 插入 各规格物品的进出库记录 L_WH_GOODS_RECORD
                long whGoodsRecordId = IdUtil.generateId();
                LWhGoodsRecord whGoodsRecord = new LWhGoodsRecord();
                whGoodsRecord.setId(whGoodsRecordId);
                whGoodsRecord.setWarehouseType(0);
                whGoodsRecord.setWarehouseId(inWarehouseId);
                whGoodsRecord.setWarehouseFlowId(inWarehouseFlowId);
                whGoodsRecord.setBaseGoodsTemplateId(tempGoodsId);
                whGoodsRecord.setGoodsTemplateName(goodsName);
                whGoodsRecord.setBaseGoodsModelsId(baseGoodsModelsId);
                whGoodsRecord.setBaseGoodsModelsName(modelName);
                whGoodsRecord.setDealTime(dealTime);
                //本次调整类型 1=调增;2=调减
                whGoodsRecord.setThisType(1);
                //通过LockManage获得锁
                Object warehouseModelLockObj = LockManage.acquireLock(0, inWarehouseId, baseGoodsModelsId);
                int goodsModelNum = 0;
                // 存放所有的物品id 价格等信息
                List<Map<String, Object>> scrappedAllGoodsList = new ArrayList<>();
                synchronized (warehouseModelLockObj) {
                    //查询期初数量
                    goodsModelNum = lWhGoodsService.queryGoodsModelNum(0, inWarehouseId, baseGoodsModelsId, 1, null);
                    for (Map<String, Object> depFormScrappedModel : eachFfModelList) {
                        scrappedAllGoodsList.addAll((List<Map<String, Object>>) depFormScrappedModel.get("scrappedGoodsList"));
                    }
                    // 汇总出需要修改状态的物品id
                    List<Long> srappedGoodsIds = scrappedAllGoodsList.stream().map(map -> (Long) map.get("id")).collect(Collectors.toList());
                    // 设置物品为入库未分发, 并设置所属仓库
                    lWhGoodsService.modGoodsTransfering(srappedGoodsIds, 0, inWarehouseId, warehouseName, 1);
                    // 使用人信息
                    // 批量插入 进出库流水明细[L_WH_GOODS_RECORD_DETAILS]
                    lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short) 1);
                }
                // 上方物品的价格
                Long formScrappedModelPrice = scrappedAllGoodsList.stream().mapToLong(map -> (long) map.get("price")).sum();
                whGoodsRecord.setInitialCount(goodsModelNum);
                whGoodsRecord.setEndCount(goodsModelNum + scrappedAllGoodsList.size());
                whGoodsRecord.setThisCount(scrappedAllGoodsList.size());
                whGoodsRecord.setTotalPrice(formScrappedModelPrice);
                //lWhGoodsRecordService.insert(whGoodsRecord);
                flowRecordArrayList.add(whGoodsRecord);
            }
            // 提取baseGoodsModelsId并放入新的List中
            List<Long> allChangModelList = eachWareHouseList.stream()
                    .map(map -> Convert.toLong(map.get("BASE_GOODS_MODELS_ID")))
                    .distinct()
                    .collect(Collectors.toList());
            //当库存变动时调用该方法
            lWhWarningCoreService.updateKuCun((short) 0, inWarehouseId, allChangModelList, null, dealTime);
        }
        // 插入流水总表
        flowInsertFlag = lWarehouseFlowService.insertBatch(flowArrayList);
        if (flowInsertFlag == 0) {
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return null;
        }
        // 批量插入 各规格物品的进出库【L_WH_GOODS_RECORD】
        lWhGoodsRecordService.insertBatch(flowRecordArrayList);
        return null;
    }
}
consum-base/src/main/java/com/consum/base/core/utils/CommonUtil.java
@@ -246,7 +246,7 @@
            Field[] fields = sourceClass.getDeclaredFields();
            for (Field field : fields) {
                String fieldName = field.getName();
                if (!fieldName.startsWith("isset__")) {
                if (!fieldName.startsWith("isset_")) {
                    continue;
                }
                try {
consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
@@ -1,9 +1,9 @@
package com.consum.base.service;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.core.utils.LockManage;
import com.consum.model.po.*;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.NumberGenerator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -112,7 +112,7 @@
            String goodsUnit = (String) tempGoodsInfo.get("unit");
            // 插入 各规格物品的进出库记录 L_WH_GOODS_RECORD
            long whGoodsRecordId = NumberGenerator.getLongSequenceNumberNano();
            long whGoodsRecordId = IdUtil.generateId();
            LWhGoodsRecord whGoodsRecord = new LWhGoodsRecord();
            whGoodsRecord.setId(whGoodsRecordId);
            whGoodsRecord.setWarehouseId(warehouseId);
consum-base/src/main/java/com/consum/base/service/UsingFormBackService.java
@@ -5,6 +5,7 @@
import com.consum.base.pojo.request.UsingFormBackParam;
import com.consum.base.pojo.response.UsingFormBackDetailVO;
import com.consum.model.po.FinSysTenantUser;
import com.iplatform.model.po.S_user_core;
import com.walker.jdbc.service.BaseService;
/**
@@ -15,7 +16,7 @@
 */
public interface UsingFormBackService extends BaseService {
    void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo);
    void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo, S_user_core currentUser);
    PageUtil selectPageByList(UsingFormBackQry usingFormBackParam);
consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java
@@ -2,6 +2,7 @@
import com.consum.base.core.CodeGeneratorEnum;
import com.consum.base.core.CodeGeneratorService;
import com.consum.base.core.DepUsingFormBackCoreServiceImpl;
import com.consum.base.core.utils.IdUtil;
import com.consum.base.core.utils.MapUtils;
import com.consum.base.core.utils.MapperUtil;
@@ -11,40 +12,26 @@
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.BaseGoodsTemplateInfo;
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 java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
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.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * @author asus
@@ -67,9 +54,10 @@
    private FinSysTenantDepartmentService finSysTenantDepartmentService;
    @Autowired
    private LWhFormTransferService lWhFormTransferService;
    @Resource
    private DepUsingFormBackCoreServiceImpl depUsingFormBackCoreService;
    @Override
    public void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo) {
    public void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo, S_user_core currentUser) {
        Long departmentId = usingFormBackParam.getDepartmentId();
        FinSysTenantDepartment department = finSysTenantDepartmentService.getById(departmentId);
@@ -135,6 +123,7 @@
        }
        depUsingFormBackCoreService.updateBack(usingFormBackId ,currentUser,DateUtils.getDateTimeNumber(System.currentTimeMillis()));
    }
    @Override