From 2837bdd57f72e386bbf9a725e7b3a13e5eb9e930 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 21 八月 2023 09:19:57 +0800
Subject: [PATCH] 修复bug

---
 server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java |   55 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 38 insertions(+), 17 deletions(-)

diff --git a/server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java b/server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java
index b165cd9..368d0ae 100644
--- a/server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java
@@ -11,16 +11,21 @@
 import doumeemes.dao.business.*;
 import doumeemes.dao.business.model.*;
 import doumeemes.dao.business.vo.SalaryParamVO;
+import doumeemes.dao.ext.MaterialExtMapper;
 import doumeemes.dao.ext.dto.SalaryParamDTO;
 import doumeemes.dao.ext.dto.SalaryParamImportDTO;
+import doumeemes.dao.ext.vo.DepartmentExtListVO;
 import doumeemes.service.business.DepartmentService;
 import doumeemes.service.business.SalaryParamService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import doumeemes.service.ext.DepartmentExtService;
 import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -42,6 +47,9 @@
 
     @Autowired
     private DepartmentMapper departmentMapper;
+    @Lazy
+    @Autowired
+    private DepartmentExtService departmentExtService;
 
     @Autowired
     private MaterialMapper materialMapper;
@@ -54,15 +62,17 @@
     @Override
     public Integer create(SalaryParam salaryParam) {
 
-
         LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-
+        DepartmentExtListVO department =departmentExtService.getModelById(principal.getCompany().getId(),salaryParam.getDepartId());
+        Integer comDepartId = departmentExtService.getComDepartId(department);
         SalaryParam insert = new SalaryParam();
         insert.setRootDepartId(principal.getRootDepartment().getId());
         insert.setDepartId(salaryParam.getDepartId());
+//        insert.setDepartId(comDepartId);
         insert.setProcedureId(salaryParam.getProcedureId());
         insert.setMaterialId(salaryParam.getMaterialId());
         insert.setDeleted((byte) Constants.ZERO);
+        insert.setType(salaryParam.getType());
         if(findOne(insert) != null){
             throw  new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍚屼竴涓墿鏂欏湪鐩稿悓宸ュ簭涓嶈兘閲嶅閰嶇疆鍝︼紒");
         }
@@ -157,7 +167,7 @@
         LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         SalaryParamDTO model = pageWrap.getModel();
         model.setRootDepartId(principal.getRootDepartment().getId());
-//        model.setDepartId(principal.getComDepartment().getId());
+//        model.setDepartId(principal.getCurComDepartment().getId());
         IPage<SalaryParamVO> salaryParamVOIPage = salaryParamMapper.selectPage(page, model);
         if (!CollectionUtils.isEmpty(salaryParamVOIPage.getRecords())){
             salaryParamVOIPage.getRecords().forEach(s->s.setSalary(s.getSalary().divide(new BigDecimal(100))));
@@ -198,22 +208,32 @@
 
         for (int i = 0; i < plansList.size(); i++) {
             SalaryParamImportDTO salaryParamImportDTO = plansList.get(i);
-
-            QueryWrapper<Department> wrapper = new QueryWrapper<>();
-            wrapper.lambda()
-                    .eq(Department::getName,salaryParamImportDTO.getDepartName())
-                    .eq(Department::getType,Constants.DEPART_TYPE.factory)
-                    .eq(Department::getDeleted,Constants.ZERO)
-                    .last("limit 1");
-            Department department = departmentMapper.selectOne(wrapper);
-            if (Objects.isNull(department)){
-                throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵煎叆鏁版嵁鍐呭銆愬叕鍙稿悕绉般�戞湁璇紒");
+//
+//            QueryWrapper<Department> wrapper = new QueryWrapper<>();
+//            wrapper.lambda()
+//                    .eq(Department::getName,salaryParamImportDTO.getDepartName())
+//                    .eq(Department::getType,Constants.DEPART_TYPE.factory)
+//                    .eq(Department::getDeleted,Constants.ZERO)
+//                    .last("limit 1");
+            Department dparam = new Department();
+            dparam.setName(salaryParamImportDTO.getDepartName());
+            dparam.setDeleted(Constants.ZERO);
+            dparam.setType(Constants.DEPART_TYPE.factory);
+            dparam = departmentExtService.findOne(dparam);
+            if (Objects.isNull(dparam)){
+                throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵煎叆鏁版嵁鍐呭銆愬伐鍘傜粍缁囥�戞湁璇紒");
             }
-
+            DepartmentExtListVO department = new DepartmentExtListVO();
+            department.setId(dparam.getId());
+            department.setType(dparam.getType());
+            department.setParentId(dparam.getParentId());
+            department.setRootId(dparam.getRootId());
+            department.setCompanyId(dparam.getCompanyId());
+            Integer comDepartId = departmentExtService.getComDepartId(department);
             QueryWrapper<Material> materialWrapper = new QueryWrapper<>();
             materialWrapper.lambda()
                     .eq(Material::getCode,salaryParamImportDTO.getMaterialCode())
-                    .eq(Material::getRootDepartId,department.getRootId())
+                    .eq(Material::getRootDepartId,dparam.getRootId())
                     .eq(Material::getDeleted,Constants.ZERO)
                     .last("limit 1");
             Material material = materialMapper.selectOne(materialWrapper);
@@ -228,6 +248,7 @@
             materialDistributeQueryWrapper.lambda()
                     .eq(MaterialDistribute::getMaterialId,material.getId())
                     .eq(MaterialDistribute::getRootDepartId,department.getRootId())
+                    .eq(MaterialDistribute::getDepartId, comDepartId)
                     .eq(MaterialDistribute::getDeleted,Constants.ZERO)
                     .last("limit 1");
             MaterialDistribute materialDistribute = materialDistributeMapper.selectOne(materialDistributeQueryWrapper);
@@ -246,7 +267,7 @@
             }
             SalaryParam salaryParam = new SalaryParam();
             salaryParam.setRootDepartId(department.getRootId());
-            salaryParam.setDepartId(department.getId());
+            salaryParam.setDepartId(dparam.getId());
             salaryParam.setProcedureId(procedures.getId());
             salaryParam.setMaterialId(materialDistribute.getId());
             salaryParam.setSalary(salaryParamImportDTO.getSalary());
@@ -261,7 +282,7 @@
             }).orElse(0);
             salaryParam.setUnqualified(unqualified);
 
-            Integer type = Optional.ofNullable(salaryParamImportDTO.getUnqualified()).map(s -> {
+            Integer type = Optional.ofNullable(salaryParamImportDTO.getType()).map(s -> {
                 if ("璁′欢".equals(s)) {
                     return 0;
                 } else {

--
Gitblit v1.9.3