From 8fd1e84e9d2611d0a018d37a507ab0b301c8be8a Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 18 八月 2023 21:06:24 +0800
Subject: [PATCH] 修复bug

---
 server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 39 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 38e3017..b165cd9 100644
--- a/server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java
@@ -8,10 +8,7 @@
 import doumeemes.core.utils.Constants;
 import doumeemes.core.utils.Utils;
 import doumeemes.core.utils.excel.EasyExcelUtil;
-import doumeemes.dao.business.DepartmentMapper;
-import doumeemes.dao.business.MaterialMapper;
-import doumeemes.dao.business.ProceduresMapper;
-import doumeemes.dao.business.SalaryParamMapper;
+import doumeemes.dao.business.*;
 import doumeemes.dao.business.model.*;
 import doumeemes.dao.business.vo.SalaryParamVO;
 import doumeemes.dao.ext.dto.SalaryParamDTO;
@@ -48,6 +45,8 @@
 
     @Autowired
     private MaterialMapper materialMapper;
+    @Autowired
+    private MaterialDistributeMapper materialDistributeMapper;
 
     @Autowired
     private ProceduresMapper proceduresMapper;
@@ -59,17 +58,20 @@
         LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
 
         SalaryParam insert = new SalaryParam();
+        insert.setRootDepartId(principal.getRootDepartment().getId());
+        insert.setDepartId(salaryParam.getDepartId());
+        insert.setProcedureId(salaryParam.getProcedureId());
+        insert.setMaterialId(salaryParam.getMaterialId());
         insert.setDeleted((byte) Constants.ZERO);
+        if(findOne(insert) != null){
+            throw  new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"鍚屼竴涓墿鏂欏湪鐩稿悓宸ュ簭涓嶈兘閲嶅閰嶇疆鍝︼紒");
+        }
         insert.setCreateUser(principal.getId());
         insert.setCreateTime(new Date());
         insert.setUpdateUser(principal.getId());
         insert.setUpdateTime(new Date());
         insert.setRemark(salaryParam.getRemark());
-        insert.setRootDepartId(salaryParam.getRootDepartId());
-        insert.setDepartId(salaryParam.getDepartId());
-        insert.setProcedureId(salaryParam.getProcedureId());
-        insert.setMaterialId(salaryParam.getMaterialId());
-        insert.setSalary(salaryParam.getSalary());
+        insert.setSalary(salaryParam.getSalary().multiply(new BigDecimal("100")));
         insert.setNum(salaryParam.getNum());
         insert.setTimes(salaryParam.getTimes());
         insert.setUnqualified(salaryParam.getUnqualified());
@@ -111,10 +113,10 @@
                 .set(SalaryParam::getUpdateTime,new Date())
                 .set(SalaryParam::getUpdateUser,principal.getId())
                 .set(SalaryParam::getType,salaryParam.getType())
-                .set(SalaryParam::getDepartId,salaryParam.getDepartId())
-                .set(SalaryParam::getMaterialId,salaryParam.getMaterialId())
-                .set(SalaryParam::getProcedureId,salaryParam.getProcedureId())
-                .set(SalaryParam::getSalary,salaryParam.getSalary())
+//                .set(SalaryParam::getDepartId,salaryParam.getDepartId())
+//                .set(SalaryParam::getMaterialId,salaryParam.getMaterialId())
+//                .set(SalaryParam::getProcedureId,salaryParam.getProcedureId())
+                .set(SalaryParam::getSalary,salaryParam.getSalary().multiply(new BigDecimal(100)))
                 .set(SalaryParam::getNum,salaryParam.getNum())
                 .set(SalaryParam::getTimes,salaryParam.getTimes())
                 .set(SalaryParam::getUnqualified,salaryParam.getUnqualified());
@@ -139,6 +141,7 @@
     @Override
     public SalaryParam findOne(SalaryParam salaryParam) {
         QueryWrapper<SalaryParam> wrapper = new QueryWrapper<>(salaryParam);
+        wrapper.last("limit 1");
         return salaryParamMapper.selectOne(wrapper);
     }
 
@@ -151,8 +154,15 @@
     @Override
     public PageData<SalaryParamVO> findPage(PageWrap<SalaryParamDTO> pageWrap) {
         IPage<SalaryParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         SalaryParamDTO model = pageWrap.getModel();
-        return PageData.from(salaryParamMapper.selectPage(page, model));
+        model.setRootDepartId(principal.getRootDepartment().getId());
+//        model.setDepartId(principal.getComDepartment().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))));
+        }
+        return PageData.from(salaryParamVOIPage);
     }
 
     @Override
@@ -193,6 +203,7 @@
             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)){
@@ -203,20 +214,31 @@
             materialWrapper.lambda()
                     .eq(Material::getCode,salaryParamImportDTO.getMaterialCode())
                     .eq(Material::getRootDepartId,department.getRootId())
+                    .eq(Material::getDeleted,Constants.ZERO)
                     .last("limit 1");
             Material material = materialMapper.selectOne(materialWrapper);
 
             if (Objects.isNull(material)){
                 throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵煎叆鏁版嵁鍐呭銆愪骇鍝佺紪鐮併�戞湁璇紒");
             }
-            if (Objects.nonNull(material) && Objects.equals(material.getName(),salaryParamImportDTO.getMaterialName())){
+            if (Objects.nonNull(material) && !Objects.equals(material.getName(),salaryParamImportDTO.getMaterialName())){
                 throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵煎叆鏁版嵁鍐呭銆愪骇鍝佸悕绉般�戞湁璇紒");
+            }
+            QueryWrapper<MaterialDistribute> materialDistributeQueryWrapper = new QueryWrapper<>();
+            materialDistributeQueryWrapper.lambda()
+                    .eq(MaterialDistribute::getMaterialId,material.getId())
+                    .eq(MaterialDistribute::getRootDepartId,department.getRootId())
+                    .eq(MaterialDistribute::getDeleted,Constants.ZERO)
+                    .last("limit 1");
+            MaterialDistribute materialDistribute = materialDistributeMapper.selectOne(materialDistributeQueryWrapper);
+            if (Objects.isNull(materialDistribute)){
+                throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵煎叆鏁版嵁鍐呭銆愪骇鍝佺紪鐮併�戞湁璇紒");
             }
             QueryWrapper<Procedures> proceduresWrapper = new QueryWrapper<>();
             proceduresWrapper.lambda()
                     .eq(Procedures::getName,salaryParamImportDTO.getProcedureName())
                     .eq(Procedures::getRootDepartId,department.getRootId())
-                    .eq(Procedures::getOrgId,department.getId())
+//                    .eq(Procedures::getOrgId,department.getId())
                     .last("limit 1");
             Procedures procedures = proceduresMapper.selectOne(proceduresWrapper);
             if (Objects.isNull(procedures)){
@@ -226,7 +248,7 @@
             salaryParam.setRootDepartId(department.getRootId());
             salaryParam.setDepartId(department.getId());
             salaryParam.setProcedureId(procedures.getId());
-            salaryParam.setMaterialId(material.getId());
+            salaryParam.setMaterialId(materialDistribute.getId());
             salaryParam.setSalary(salaryParamImportDTO.getSalary());
             salaryParam.setNum(new BigDecimal(salaryParamImportDTO.getNum()));
             salaryParam.setTimes(getIntegerTimes(salaryParamImportDTO.getTimesName()));

--
Gitblit v1.9.3