From a9a4ba8964d11bb4cfafb98276f578abcc81df50 Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期五, 18 八月 2023 21:24:53 +0800
Subject: [PATCH] #产出计算

---
 server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java |   30 +++++++++++++++++++-----------
 1 files changed, 19 insertions(+), 11 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 b83e401..4a22cda 100644
--- a/server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java
@@ -8,12 +8,10 @@
 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.MaterialExtMapper;
 import doumeemes.dao.ext.dto.SalaryParamDTO;
 import doumeemes.dao.ext.dto.SalaryParamImportDTO;
 import doumeemes.service.business.DepartmentService;
@@ -50,6 +48,9 @@
     private MaterialMapper materialMapper;
 
     @Autowired
+    private MaterialDistributeMapper materialDistributeMapper;
+
+    @Autowired
     private ProceduresMapper proceduresMapper;
 
     @Override
@@ -59,7 +60,7 @@
         LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
 
         SalaryParam insert = new SalaryParam();
-        insert.setRootDepartId(salaryParam.getRootDepartId());
+        insert.setRootDepartId(principal.getRootDepartment().getId());
         insert.setDepartId(salaryParam.getDepartId());
         insert.setProcedureId(salaryParam.getProcedureId());
         insert.setMaterialId(salaryParam.getMaterialId());
@@ -158,7 +159,7 @@
         LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         SalaryParamDTO model = pageWrap.getModel();
         model.setRootDepartId(principal.getRootDepartment().getId());
-        model.setDepartId(principal.getComDepartment().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))));
@@ -220,14 +221,21 @@
             if (Objects.isNull(material)){
                 throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵煎叆鏁版嵁鍐呭銆愪骇鍝佺紪鐮併�戞湁璇紒");
             }
-            if (Objects.nonNull(material) && Objects.equals(material.getName(),salaryParamImportDTO.getMaterialName())){
-                throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵煎叆鏁版嵁鍐呭銆愪骇鍝佸悕绉般�戞湁璇紒");
-            }
+            QueryWrapper<MaterialDistribute>  materialDistribute = new QueryWrapper<>();
+            materialDistribute.lambda()
+                                .eq(MaterialDistribute::getDeleted,Constants.ZERO)
+                                .eq(MaterialDistribute::getMaterialId,material.getId())
+                                .eq(MaterialDistribute::getRootDepartId,department.getRootId())
+                                .eq(MaterialDistribute::getDepartId,department.getParentId());
+            MaterialDistribute materialDistribute1 = materialDistributeMapper.selectOne(materialDistribute);
+//            if (Objects.nonNull(material) && !Objects.equals(material.getName(),salaryParamImportDTO.getMaterialName())){
+//                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)){
@@ -237,7 +245,7 @@
             salaryParam.setRootDepartId(department.getRootId());
             salaryParam.setDepartId(department.getId());
             salaryParam.setProcedureId(procedures.getId());
-            salaryParam.setMaterialId(material.getId());
+            salaryParam.setMaterialId(materialDistribute1.getId());
             salaryParam.setSalary(salaryParamImportDTO.getSalary());
             salaryParam.setNum(new BigDecimal(salaryParamImportDTO.getNum()));
             salaryParam.setTimes(getIntegerTimes(salaryParamImportDTO.getTimesName()));

--
Gitblit v1.9.3