From 82c525da4e13329733ecbd9bca30124f0eb91081 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 18 八月 2023 21:57:29 +0800
Subject: [PATCH] 111
---
server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java | 115 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 86 insertions(+), 29 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 95da0cb..7347a46 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;
@@ -29,10 +27,8 @@
import org.springframework.util.CollectionUtils;
import org.springframework.web.multipart.MultipartFile;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.math.BigDecimal;
+import java.util.*;
/**
* 璁剧疆绫�-缁╂晥宸ヨ祫閰嶇疆琛⊿ervice瀹炵幇
@@ -50,26 +46,34 @@
@Autowired
private MaterialMapper materialMapper;
+ @Autowired
+ private MaterialDistributeMapper materialDistributeMapper;
@Autowired
private ProceduresMapper proceduresMapper;
@Override
public Integer create(SalaryParam salaryParam) {
+
+
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);
+ insert.setType(salaryParam.getType());
+ 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 +115,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 +143,7 @@
@Override
public SalaryParam findOne(SalaryParam salaryParam) {
QueryWrapper<SalaryParam> wrapper = new QueryWrapper<>(salaryParam);
+ wrapper.last("limit 1");
return salaryParamMapper.selectOne(wrapper);
}
@@ -151,8 +156,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
@@ -180,7 +192,7 @@
|| Objects.isNull(s.getDepartName())
|| Objects.isNull(s.getMaterialCode())
|| Objects.isNull(s.getProcedureName())
- || Objects.isNull(s.getNUM())){
+ || Objects.isNull(s.getNum())){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵煎叆鏁版嵁鍐呭鏈夎锛�");
}
});
@@ -193,6 +205,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 +216,28 @@
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())){
- 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::getDepartId,department.getId())
+// .eq(Procedures::getOrgId,department.getId())
.last("limit 1");
Procedures procedures = proceduresMapper.selectOne(proceduresWrapper);
if (Objects.isNull(procedures)){
@@ -226,15 +247,51 @@
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(salaryParamImportDTO.getNUM());
- //todo
-// salaryParam.setTimes();
-// salaryParam.setUnqualified(salaryParamImportDTO.getUnqualified() );
-// salaryParam.setType(salaryParamImportDTO.getType());
+ salaryParam.setNum(new BigDecimal(salaryParamImportDTO.getNum()));
+ salaryParam.setTimes(getIntegerTimes(salaryParamImportDTO.getTimesName()));
+ Integer unqualified = Optional.ofNullable(salaryParamImportDTO.getUnqualified()).map(s -> {
+ if ("鍚�".equals(s)) {
+ return 0;
+ } else {
+ return 1;
+ }
+ }).orElse(0);
+ salaryParam.setUnqualified(unqualified);
+
+ Integer type = Optional.ofNullable(salaryParamImportDTO.getUnqualified()).map(s -> {
+ if ("璁′欢".equals(s)) {
+ return 0;
+ } else {
+ return 1;
+ }
+ }).orElse(0);
+ salaryParam.setType(type);
create(salaryParam);
}
}
+
+ private Integer getIntegerTimes(String a) {
+ int h =0,m=0,s=0;
+ try{
+ int hIndex =a.lastIndexOf("灏忔椂");
+ int mIndex=a.lastIndexOf("鍒嗛挓");
+ int sIndex =a.lastIndexOf("绉�");
+ if( hIndex>0){
+ h = Integer.parseInt(a.substring(0,hIndex));
+ }
+ if(mIndex > hIndex){
+ m = Integer.parseInt(a.substring(hIndex >=0?hIndex+2:0,mIndex));
+ }
+ if(sIndex > mIndex){
+ s = Integer.parseInt(a.substring(mIndex >= 0 ? mIndex+2 : 0, sIndex));
+ }
+ return h*3600+m*60+s;
+ }catch (Exception e){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鏃堕暱銆�"+a+"銆戞牸寮忎笉姝g‘锛�" );
+ }
+
+ }
}
--
Gitblit v1.9.3