From 24c4699005da96f45562d7057d80c103b8e428a2 Mon Sep 17 00:00:00 2001
From: WangHan <wwh_work@126,com>
Date: 星期五, 03 一月 2025 10:32:34 +0800
Subject: [PATCH] 子级分类在用删除

---
 consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java |  375 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 326 insertions(+), 49 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java
index db6a904..644b65b 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/UsingFormBackServiceImpl.java
@@ -2,24 +2,37 @@
 
 import com.consum.base.core.CodeGeneratorEnum;
 import com.consum.base.core.CodeGeneratorService;
+import com.consum.base.service.core.DepUsingFormBackCoreService;
 import com.consum.base.core.utils.IdUtil;
+import com.consum.base.core.utils.MapUtils;
+import com.consum.base.core.utils.MapperUtil;
+import com.consum.base.core.utils.PageUtil;
+import com.consum.base.pojo.dto.UsingFormBackDetailDTO;
+import com.consum.base.pojo.query.UsingFormBackQry;
 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.service.BaseCategoryServiceImpl;
-import com.consum.base.service.UsingFormBackService;
-import com.consum.model.po.BaseCategory;
-import com.consum.model.po.FinSysTenantUser;
-import com.consum.model.po.UsingFormBack;
-import com.consum.model.po.UsingFormBackGoods;
+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.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.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author asus
@@ -33,59 +46,318 @@
     @Autowired
     private CodeGeneratorService codeGeneratorService;
     @Autowired
-    private BaseCategoryServiceImpl baseCategoryService;
+    private BaseCategoryService baseCategoryService;
+    @Autowired
+    private UsingFormBackModelService usingFormBackModelService;
+    @Autowired
+    private UsingFormBackGoodsService usingFormBackGoodsService;
+    @Autowired
+    private FinSysTenantDepartmentService finSysTenantDepartmentService;
+    @Autowired
+    private LWhFormTransferService lWhFormTransferService;
+    @Resource
+    private DepUsingFormBackCoreService depUsingFormBackCoreService;
+    @Resource
+    private UsingFormBackModelService UsingFormBackModelService;
 
     @Override
-    public void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo) {
+    public void add(UsingFormBackParam usingFormBackParam, FinSysTenantUser sysInfo, S_user_core currentUser) {
 
         Long departmentId = usingFormBackParam.getDepartmentId();
-        String departmentName = usingFormBackParam.getDepartmentName();
         Long operatorId = usingFormBackParam.getOperatorId();
         String operatorName = usingFormBackParam.getOperatorName();
         Long backTime = usingFormBackParam.getDealTime();
         String procureDoc = usingFormBackParam.getProcureDoc();
-        List<UsingFormBackGoodsInfo> usingFormBackGoodsInfo = usingFormBackParam.getGoods();
+        List<UsingFormBackGoodsInfo> goodsList = usingFormBackParam.getGoods();
 
-        Long usingFormBackId = addUsingFormBack(sysInfo, departmentId, departmentName, operatorId, operatorName, backTime, procureDoc);
-        for (UsingFormBackGoodsInfo backingGoodsInfo : usingFormBackGoodsInfo) {
-            Long baseCategoryId = backingGoodsInfo.getBaseCategoryId();
-            Long baseGoodsTemplateId = backingGoodsInfo.getBaseGoodsTemplateId();
-            String goodsTemplateName = backingGoodsInfo.getGoodsTemplateName();
-            Long transBusinessId = backingGoodsInfo.getTransBusinessId();
-            String businessFormCode = backingGoodsInfo.getBusinessFormCode();
-
-            Map<String, List<baseGoodModel>> collect = backingGoodsInfo.getModels().stream()
-                .collect(Collectors.groupingBy(baseGoodModel::getBaseGoodsModelsId));
-
-            UsingFormBackGoods usingFormBackGoods = new UsingFormBackGoods();
-            usingFormBackGoods.setId(IdUtil.generateId());
-            usingFormBackGoods.setUsingFormBackId(usingFormBackId);
-            usingFormBackGoods.setBaseGoodsTemplateId(baseGoodsTemplateId);
-            usingFormBackGoods.setBaseGoodsTemplateName(goodsTemplateName);
-
-            BaseCategory baseCategory = baseCategoryService.getById(baseCategoryId);
-            String categoryName = baseCategory.getCategoryName();
-            String classification = baseCategory.getClassification();
-            usingFormBackGoods.setCategoryName(categoryName);
-            usingFormBackGoods.setClassification(classification);
-            usingFormBackGoods.setTransBusinessId(transBusinessId);
-            usingFormBackGoods.setBusinessFormCode(businessFormCode);
-
-//            usingFormBackGoods.setTransOutWarehouseType();
-//            usingFormBackGoods.setTransOutWarehouseId();
-
+        // 妫�鏌ラ儴闂ㄦ槸鍚﹀瓨鍦�
+        FinSysTenantDepartment department = finSysTenantDepartmentService.getById(departmentId);
+        if (department == null) {
+            throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�");
         }
+        String departmentName = department.getName();
+
+        // 娣诲姞閫�鍥炶〃鍗�
+        Long usingFormBackId =
+            addUsingFormBack(sysInfo, departmentId, departmentName, operatorId, operatorName, backTime, procureDoc);
+
+        // 鎵归噺鎻掑叆閫�鍥炲晢鍝佸拰閫�鍥炲晢鍝佹ā鍨�
+        List<UsingFormBackGoods> goodsBatch = new ArrayList<>();
+        List<UsingFormBackModel> modelBatch = new ArrayList<>();
+
+        for (UsingFormBackGoodsInfo goodsInfo : goodsList) {
+            UsingFormBackGoods goods = createUsingFormBackGoods(usingFormBackId, goodsInfo);
+            goodsBatch.add(goods);
+
+            for (baseGoodModel model : goodsInfo.getModels()) {
+                UsingFormBackModel formModel =
+                    createUsingFormBackModel(usingFormBackId, goods.getId(), goodsInfo, model);
+                modelBatch.add(formModel);
+            }
+        }
+
+        // 鎵归噺鎻掑叆閫�鍥炲晢鍝佸拰閫�鍥炲晢鍝佹ā鍨�
+        usingFormBackModelService.insertBatch(goodsBatch);
+        usingFormBackGoodsService.insertBatch(modelBatch);
+
+        depUsingFormBackCoreService.updateBack(usingFormBackId, currentUser,
+            DateUtils.getDateTimeNumber(System.currentTimeMillis()));
+    }
+
+    private UsingFormBackGoods createUsingFormBackGoods(Long usingFormBackId, UsingFormBackGoodsInfo goodsInfo) {
+        UsingFormBackGoods goods = new UsingFormBackGoods();
+        goods.setId(IdUtil.generateId());
+        goods.setUsingFormBackId(usingFormBackId);
+        goods.setBaseGoodsTemplateId(goodsInfo.getBaseGoodsTemplateId());
+        goods.setBaseGoodsTemplateName(goodsInfo.getGoodsTemplateName());
+
+        BaseCategory baseCategory = baseCategoryService.getById(goodsInfo.getBaseCategoryId());
+        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());
+
+        return goods;
+    }
+
+    private UsingFormBackModel createUsingFormBackModel(Long usingFormBackId, Long usingFormBackGoodsId,
+        UsingFormBackGoodsInfo goodsInfo, baseGoodModel model) {
+        UsingFormBackModel formModel = new UsingFormBackModel();
+        formModel.setId(IdUtil.generateId());
+        formModel.setUsingFormBackId(usingFormBackId);
+        formModel.setUsingFormBackGoodsId(usingFormBackGoodsId);
+        formModel.setBaseGoodsTemplateId(model.getGoodsTemplatesId());
+        formModel.setBaseGoodsTemplateName(goodsInfo.getGoodsTemplateName());
+        formModel.setClassification(model.getClassification());
+        formModel.setUnit(model.getUnit());
+        formModel.setBaseGoodsModelsId(model.getBaseGoodsModelsId());
+        formModel.setBaseGoodsModelsName(model.getModelName());
+        formModel.setProcureModelUserId(model.getModelUserId());
+        formModel.setInitialCount(model.getGoodsNum());
+        formModel.setUseCount(model.getUserUseCount());
+        formModel.setCounts(model.getCounts());
+        formModel.setGoodsUserName(model.getNowUserName());
+
+        return formModel;
+    }
+
+    @Override
+    public PageUtil selectPageByList(UsingFormBackQry usingFormBackParam) {
+
+        StringBuilder sql = new StringBuilder("SELECT\n" + "\tDISTINCT ufb.ID,\n" + "\tufb.BUSINESS_FORM_CODE,\n"
+            + "\tufb.DEPARTMENT_NAME,\n" + "\tufb.OPERATOR_NAME,\n" + "\tufb.DEAL_TIME\n" + "FROM\n"
+            + "\tusing_form_back ufb\n" + "\tLEFT JOIN using_form_back_goods ufbg ON ufb.ID = ufbg.USING_FORM_BACK_ID\n"
+            + "\tLEFT JOIN using_form_back_model ufbm ON ufbg.ID = ufbm.USING_FORM_BACK_GOODS_ID\n" + "where 1=1 ");
+
+        String businessFormCode = usingFormBackParam.getBusinessFormCode();
+        Long departmentId = usingFormBackParam.getDepartmentId();
+        String goodsTemplateName = usingFormBackParam.getGoodsTemplateName();
+        String goodsTemplateId = usingFormBackParam.getGoodsTemplateId();
+        Long startTime = usingFormBackParam.getStartTime();
+        Long endTime = usingFormBackParam.getEndTime();
+        Long baseGoodsModelsId = usingFormBackParam.getBaseGoodsModelsId();
+        Long agencyId = usingFormBackParam.getAgencyId();
+        String createName = usingFormBackParam.getCreateName();
+        Map<String, Object> map = new HashMap<>();
+        if (StringUtils.isNotEmpty(businessFormCode)) {
+            sql.append("AND ufb.BUSINESS_FORM_CODE = :businessFormCode ");
+            map.put("businessFormCode", businessFormCode);
+        }
+        if (departmentId != null) {
+            sql.append("AND ufb.DEPARTMENT_ID = :departmentId ");
+            map.put("departmentId", departmentId);
+        }
+        if (StringUtils.isNotEmpty(goodsTemplateName)) {
+            sql.append("AND ufbg.BASE_GOODS_TEMPLATE_NAME = :goodsTemplateName ");
+            map.put("goodsTemplateName", goodsTemplateName);
+        }
+        if (StringUtils.isNotEmpty(goodsTemplateId)) {
+            sql.append("AND ufbg.BASE_GOODS_TEMPLATE_ID = :goodsTemplateId ");
+            map.put("goodsTemplateId", goodsTemplateId);
+        }
+        if (startTime != null) {
+            sql.append("AND ufb.CREATE_TIME >= :startTime ");
+            map.put("startTime", startTime * 1000000);
+        }
+        if (endTime != null) {
+            sql.append("AND ufb.CREATE_TIME < :endTime ");
+            map.put("endTime", endTime * 1000000 + 240000);
+        }
+        if (baseGoodsModelsId != null) {
+            sql.append("AND ufbm.BASE_GOODS_MODELS_ID = :baseGoodsModelsId ");
+            map.put("baseGoodsModelsId", baseGoodsModelsId);
+        }
+        if (agencyId != null) {
+            sql.append("AND ufb.AGENCY_ID like :agencyId");
+            map.put("agencyId", agencyId);
+        }
+        if (StringUtils.isNotEmpty(createName)) {
+            sql.append("AND ufb.OPERATOR_NAME = :createName ");
+            map.put("createName", createName);
+        }
+        sql.append("ORDER BY ufb.CREATE_TIME DESC ");
+        GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), map,
+            usingFormBackParam.getPageNum(), usingFormBackParam.getPageSize(), new MapperUtil());
+        PageUtil pageUtil = new PageUtil(mapGenericPager);
+        List<UsingFormBackVO> pageList = Lists.newArrayList();
+        mapGenericPager.getDatas().forEach(item -> {
+            UsingFormBackVO usingFormBackVO = MapUtils.convertMapToObj(item, UsingFormBackVO.class);
+            Long id = usingFormBackVO.getId();
+            List<GoodsTemplateCountVO> usingCount = UsingFormBackModelService.getUsingCountByBusinessId(id);
+            usingFormBackVO.setGoodsTemplateInfoList(usingCount);
+            pageList.add(usingFormBackVO);
+        });
+        pageUtil.setDatas(pageList);
+        return pageUtil;
+    }
+
+    @Override
+    public UsingFormBackDetailVO getDetail(Long id) {
+        StringBuilder sql = new StringBuilder("SELECT\n" + "\tDISTINCT ufb.ID,\n" + "\tufb.BUSINESS_FORM_CODE,\n"
+            + "\tufb.AGENCY_NAME,\n" + "\tufb.DEPARTMENT_NAME,\n" + "\tufb.OPERATOR_NAME,\n" + "\tufb.DEAL_TIME,\n"
+            + "\tufb.PROCURE_DOC,\n" + "\tufbg.CATEGORY_NAME,\n" + "\tufbg.BASE_GOODS_TEMPLATE_NAME,\n"
+            + "\tufbg.CLASSIFICATION,\n" + "\tufbg.BUSINESS_FORM_CODE,\n" + "\tufbm.BASE_GOODS_MODELS_NAME,\n"
+            + "\tufbm.BASE_GOODS_TEMPLATE_ID,\n" + "\tufbm.BASE_GOODS_MODELS_ID,\n" + "\tufbm.UNIT,\n"
+            + "\tufbm.COUNTS,\n" + "\tufbm.USE_COUNT,\n" + "\tufbm.GOODS_USER_NAME\n" + "FROM\n"
+            + "\tusing_form_back ufb\n" + "\tLEFT JOIN using_form_back_goods ufbg ON ufb.ID = ufbg.USING_FORM_BACK_ID\n"
+            + "\tLEFT JOIN using_form_back_model ufbm ON ufbg.ID = ufbm.USING_FORM_BACK_GOODS_ID where ufb.id =:id");
+        Map<String, Object> map = new HashMap<>();
+        map.put("id", id);
+        List<Map<String, Object>> select = this.select(sql.toString(), map, new MapperUtil());
+        if (CollectionUtils.isEmpty(select)) {
+            return null;
+        }
+        List<UsingFormBackDetailDTO> usingFormBackDetailDTOList = Lists.newArrayList();
+        select.forEach(item -> {
+            UsingFormBackDetailDTO usingFormBackDetailDTO =
+                MapUtils.convertMapToObj(item, UsingFormBackDetailDTO.class);
+            usingFormBackDetailDTOList.add(usingFormBackDetailDTO);
+        });
+
+        UsingFormBackDetailVO usingFormBackDetailVO = new UsingFormBackDetailVO();
+        List<UsingFormBackGoodsTemplateInfo> goodsTemplateInfoList = Lists.newArrayList();
+        usingFormBackDetailDTOList.stream()
+            .collect(Collectors.groupingBy(UsingFormBackDetailDTO::getBaseGoodsTemplateId))
+            .forEach((templateId, templateInfo) -> {
+                UsingFormBackDetailDTO templateInfoDTO = templateInfo.get(0);
+                BeanUtils.copyProperties(templateInfoDTO, usingFormBackDetailVO);
+                UsingFormBackGoodsTemplateInfo usingFormBackGoodsTemplateInfo = new UsingFormBackGoodsTemplateInfo();
+                usingFormBackGoodsTemplateInfo.setId(templateId);
+                usingFormBackGoodsTemplateInfo.setCategoryName(templateInfoDTO.getCategoryName());
+                usingFormBackGoodsTemplateInfo.setBaseGoodsTemplateName(templateInfoDTO.getBaseGoodsTemplateName());
+                usingFormBackGoodsTemplateInfo.setType(templateInfoDTO.getClassification());
+                usingFormBackGoodsTemplateInfo.setBusinessFormCode(templateInfoDTO.getBusinessFormCode());
+                goodsTemplateInfoList.add(usingFormBackGoodsTemplateInfo);
+                usingFormBackDetailVO.setGoodsTemplateInfoList(goodsTemplateInfoList);
+                List<UsingFormBackModelInfo> modelInfoList = Lists.newArrayList();
+                templateInfo.stream().collect(Collectors.groupingBy(UsingFormBackDetailDTO::getBaseGoodsModelsId))
+                    .forEach((modelId, modelInfo) -> {
+                        UsingFormBackDetailDTO modelInfoDTO = modelInfo.stream().findFirst().orElse(null);
+                        UsingFormBackModelInfo usingFormBackModelInfo = new UsingFormBackModelInfo();
+                        if (modelInfoDTO != null) {
+                            usingFormBackModelInfo.setBaseGoodsModelsName(modelInfoDTO.getBaseGoodsModelsName());
+                            usingFormBackModelInfo.setUnit(modelInfoDTO.getUnit());
+                            usingFormBackModelInfo.setId(modelId);
+                        }
+                        modelInfoList.add(usingFormBackModelInfo);
+                        usingFormBackGoodsTemplateInfo.setModelInfoList(modelInfoList);
+                        List<UseInfo> useInfoList = Lists.newArrayList();
+                        for (UsingFormBackDetailDTO useInfoDTO : modelInfo) {
+                            UseInfo useInfo = new UseInfo();
+                            useInfo.setUseName(useInfoDTO.getGoodsUserName());
+                            useInfo.setReturnNum(useInfoDTO.getCounts());
+                            useInfo.setUseUnm(useInfoDTO.getUseCount());
+                            useInfoList.add(useInfo);
+                            usingFormBackModelInfo.setUseInfoList(useInfoList);
+                        }
+                    });
+            });
+
+        return usingFormBackDetailVO;
+    }
+
+    @Override
+    public PageUtil selectPageByDetail(UsingFormBackQry usingFormBackParam) {
+        StringBuilder sql = new StringBuilder("SELECT\n" + "\tufb.ID,\n" + "\tufb.BUSINESS_FORM_CODE,\n"
+            + "\tufbm.BASE_GOODS_TEMPLATE_NAME,\n" + "\tufbm.BASE_GOODS_MODELS_NAME,\n" + "\tufbm.counts,\n"
+            + "\tufb.AGENCY_NAME,\n" + "\tufb.DEPARTMENT_NAME,\n" + "\tufb.OPERATOR_NAME,\n" + "\tufb.DEAL_TIME\n"
+            + "FROM\n" + "\tusing_form_back ufb\n"
+            + "\tLEFT JOIN using_form_back_goods ufbg ON ufb.ID = ufbg.USING_FORM_BACK_ID\n"
+            + "\tLEFT JOIN using_form_back_model ufbm ON ufbg.ID = ufbm.USING_FORM_BACK_GOODS_ID\n" + "where 1=1 ");
+
+        String businessFormCode = usingFormBackParam.getBusinessFormCode();
+        Long departmentId = usingFormBackParam.getDepartmentId();
+        String goodsTemplateName = usingFormBackParam.getGoodsTemplateName();
+        String goodsTemplateId = usingFormBackParam.getGoodsTemplateId();
+        Long startTime = usingFormBackParam.getStartTime();
+        Long endTime = usingFormBackParam.getEndTime();
+        Long baseGoodsModelsId = usingFormBackParam.getBaseGoodsModelsId();
+        Long agencyId = usingFormBackParam.getAgencyId();
+        String createName = usingFormBackParam.getCreateName();
+        Map<String, Object> map = new HashMap<>();
+        if (StringUtils.isNotEmpty(businessFormCode)) {
+            sql.append("AND ufb.BUSINESS_FORM_CODE = :businessFormCode ");
+            map.put("businessFormCode", businessFormCode);
+        }
+        if (departmentId != null) {
+            sql.append("AND ufb.DEPARTMENT_ID = :departmentId ");
+            map.put("departmentId", departmentId);
+        }
+        if (StringUtils.isNotEmpty(goodsTemplateName)) {
+            sql.append("AND ufbg.BASE_GOODS_TEMPLATE_NAME = :goodsTemplateName ");
+            map.put("goodsTemplateName", goodsTemplateName);
+        }
+        if (StringUtils.isNotEmpty(goodsTemplateId)) {
+            sql.append("AND ufbg.BASE_GOODS_TEMPLATE_ID = :goodsTemplateId ");
+            map.put("goodsTemplateId", goodsTemplateId);
+        }
+        if (startTime != null) {
+            sql.append("AND ufb.CREATE_TIME >= :startTime ");
+            map.put("startTime", startTime * 1000000);
+        }
+        if (endTime != null) {
+            sql.append("AND ufb.CREATE_TIME < :endTime ");
+            map.put("endTime", endTime * 1000000 + 240000);
+        }
+        if (baseGoodsModelsId != null) {
+            sql.append("AND ufbm.BASE_GOODS_MODELS_ID = :baseGoodsModelsId ");
+            map.put("baseGoodsModelsId", baseGoodsModelsId);
+        }
+        if (agencyId != null) {
+            sql.append("AND ufb.AGENCY_ID like :agencyId ");
+            map.put("agencyId", agencyId);
+        }
+        if (StringUtils.isNotEmpty(createName)) {
+            sql.append("AND ufb.OPERATOR_NAME = :createName ");
+            map.put("createName", createName);
+        }
+        sql.append("ORDER BY ufb.CREATE_TIME DESC ");
+        GenericPager<Map<String, Object>> mapGenericPager = this.selectSplit(sql.toString(), map,
+            usingFormBackParam.getPageNum(), usingFormBackParam.getPageSize(), new MapperUtil());
+        PageUtil pageUtil = new PageUtil(mapGenericPager);
+        List<UsingFormBackDetailListVO> pageList = Lists.newArrayList();
+        mapGenericPager.getDatas().forEach(item -> {
+            UsingFormBackDetailListVO usingFormBackVO = MapUtils.convertMapToObj(item, UsingFormBackDetailListVO.class);
+            pageList.add(usingFormBackVO);
+        });
+        pageUtil.setDatas(pageList);
+        return pageUtil;
     }
 
     @Transactional
-    public Long addUsingFormBack(FinSysTenantUser sysInfo, Long departmentId, String departmentName, Long operatorId, String operatorName, Long backTime,
-        String procureDoc) {
+    public Long addUsingFormBack(FinSysTenantUser sysInfo, Long departmentId, String departmentName, Long operatorId,
+        String operatorName, Long backTime, String procureDoc) {
         UsingFormBack usingFormBack = new UsingFormBack();
         usingFormBack.setId(IdUtil.generateId());
         usingFormBack.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.GOBACK));
-//        usingFormBack.setOutWarehouseType();
-//        usingFormBack.setOutWarehouseId();
-//        usingFormBack.setOutWarehouseName();
+        usingFormBack.setOutWarehouseType(1);
+        usingFormBack.setOutWarehouseId(departmentId);
+        usingFormBack.setOutWarehouseName(departmentName);
 
         String tenantId = sysInfo.getTenantId();
         String tenantName = sysInfo.getTenantName();
@@ -94,9 +366,14 @@
         usingFormBack.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
         usingFormBack.setStates(1);
 
-        usingFormBack.setDepartmentId(departmentId);
-        usingFormBack.setDepartmentName(departmentName);
-        usingFormBack.setOperatorId(operatorId);
+        Long sysDeptId = sysInfo.getSysDeptId();
+        FinSysTenantDepartment department = finSysTenantDepartmentService.getById(sysDeptId);
+        if (department == null) {
+            throw new RuntimeException("閮ㄩ棬涓嶅瓨鍦�");
+        }
+        usingFormBack.setDepartmentId(department.getId());
+        usingFormBack.setDepartmentName(department.getName());
+        usingFormBack.setOperatorId(sysInfo.getId());
         usingFormBack.setOperatorName(operatorName);
         usingFormBack.setDealTime(backTime);
         usingFormBack.setProcureDoc(procureDoc);

--
Gitblit v1.9.1