From 709298cfae022fb0753d27c4d4143e93284fe22e Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 18 八月 2023 09:52:43 +0800
Subject: [PATCH] 111
---
server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java | 88 ++++++++++++++++++++++++++++++++-----------
1 files changed, 65 insertions(+), 23 deletions(-)
diff --git a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java
index e121285..75f7e0d 100644
--- a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java
@@ -149,30 +149,40 @@
}
//鍙兘鏌ョ湅褰撳墠鏍圭粍缁囩殑鏁版嵁
pageWrap.getModel().setRootDepartId(user.getRootDepartment().getId());
- pageWrap.getModel().setRootDepartId(user.getRootDepartment().getId());
PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
-
- //鏁版嵁鏉冮檺
- List<Integer> dataPermission = user.getDepartPermissionList();
- if(dataPermission!=null){
-// pageWrap.getModel().setUserId(user.getId());
-// pageWrap.getModel().setDepartIds(dataPermission);
- /*if(dataPermission.size() == 0){
- //鍙兘鐪嬭嚜宸辩殑(鐢熶骇浜哄憳淇℃伅锛�
- // pageWrap.getModel().setProUserId(user.getId());
- //闇�姹傚彉鏇� 鏌ョ湅鏁版嵁鏉冮檺鑼冨洿鍐呯殑鏁版嵁锛堣蛋鍒涘缓浜烘垨鑰呯敓浜т汉鍛樹负鎴戞暟鎹潈闄愯寖鍥村唴锛夛紱
- pageWrap.getModel().setCreateUser(user.getId());
- }else{
- //鍚﹀垯璧版暟鎹潈闄�
- pageWrap.getModel().setDepartIds(dataPermission);
- }*/
- }
List<SalaryStatisticsListVO> result = workorderRecordExtMapper.salaryStatistic(pageWrap.getModel());
if(result!=null){
List<DepartmentExtListVO> allDepartList = RedisUtil.getObject(redisTemplate,Constants.RedisKeys.COM_DEPART_LIST_KEY+user.getCompany().getId(),ArrayList.class);
for(SalaryStatisticsListVO model : result){
//鏌ヨ鐢熶骇浜哄憳濮撳悕
- initProUser(user,model,allDepartList);
+// model.setUserName(initProUser(user,model.getUserId(),allDepartList));
+ model.setUserInfo(initProUser(user,model.getUserId(),allDepartList));
+ }
+ }
+ return PageData.from(new PageInfo<>(result));
+ }
+ @Override
+ public PageData<UserSalaryListVO> userSalaryPage(PageWrap<QueryUserSalaryListDTO> pageWrap) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鎮ㄦ棤鏉冮檺杩涜璇ユ搷浣滐紒");
+ }
+ //鍙兘鏌ョ湅褰撳墠鏍圭粍缁囩殑鏁版嵁
+ pageWrap.getModel().setRootDepartId(user.getRootDepartment().getId());
+ pageWrap.getModel().setRootDepartId(user.getRootDepartment().getId());
+ PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
+
+ //鏁版嵁鏉冮檺
+// List<Integer> dataPermission = user.getDepartPermissionList();
+ List<UserSalaryListVO> result = workorderRecordExtMapper.userSalaryPage(pageWrap.getModel());
+ if(result!=null){
+ List<DepartmentExtListVO> allDepartList = RedisUtil.getObject(redisTemplate,Constants.RedisKeys.COM_DEPART_LIST_KEY+user.getCompany().getId(),ArrayList.class);
+ for(UserSalaryListVO model : result){
+ //鏌ヨ鐢熶骇浜哄憳濮撳悕
+ model.setUserInfo(initProUser(user,model.getUserId(),allDepartList));
+ if(Constants.formatBigdecimal4Float(model.getNum()).compareTo(new BigDecimal(0))>0){
+ model.setRate(Constants.formatBigdecimal4Float(model.getQualifiedNum()).divide(model.getNum(),4).multiply(new BigDecimal(100)));
+ }
}
}
return PageData.from(new PageInfo<>(result));
@@ -193,20 +203,28 @@
data.setProcedureName(comp.getName()+"-"+dName);
}
}
- private void initProUser(LoginUserInfo user, SalaryStatisticsListVO data, List<DepartmentExtListVO> allDepartList) {
- if(data.getUserId() ==null){
- return;
+ private UserBaseInfoVO initProUser(LoginUserInfo user, Integer userId, List<DepartmentExtListVO> allDepartList) {
+ if(userId ==null){
+ return null;
}
+
CompanyUser query=new CompanyUser();
- query.setUserId(data.getUserId());
+ query.setUserId(userId);
query.setRootDepartId(user.getRootDepartment().getId());
query.setDeleted(Constants.ZERO);
CompanyUser comp= companyUserExtMapper.selectOne(new QueryWrapper<>(query).last(" limit 1"));
if(comp!=null){
+ UserBaseInfoVO userinfo = new UserBaseInfoVO();
DepartmentExtListVO d = departmentExtService.getModelById(user.getCompany().getId(),comp.getDepartmentId(),allDepartList);
String dName =d==null?"":StringUtils.defaultString(d.getName(),"");
- data.setUserName(comp.getName()+"-"+dName);
+ userinfo.setNameAndDepart (comp.getName()+"-"+dName);
+ userinfo.setDepartId(d.getId());
+ userinfo.setUserId(userId);
+ userinfo.setUserName(comp.getName());
+ userinfo.setDepartName(d.getName());
+ return userinfo;
}
+ return null;
}
@Override
public List<WorkorderRecordExtListVO> findAll(QueryWorkorderRecordExtDTO pageWrap) {
@@ -1655,6 +1673,30 @@
@Override
+ public void exportUserSalary(PageWrap<QueryUserSalaryListDTO> pageWrap, HttpServletResponse response) {
+ List<UserSalaryListVO> result=this.userSalaryPage(pageWrap).getRecords();
+ for(UserSalaryListVO model : result) {
+ if(model.getUserInfo()!=null){
+ model.setUserName(model.getUserInfo().getUserName());
+ model.setDepartName(model.getUserInfo().getDepartName());
+ }
+ }
+ ExcelExporter.build(UserSalaryListVO.class).export(result, "鍛樺伐缁╂晥鏄庣粏"+System.currentTimeMillis(), response);
+
+ }
+ @Override
+ public void exportSalaryStatistics(PageWrap<QuerySalaryStatisticDTO> pageWrap, HttpServletResponse response){
+ List<SalaryStatisticsListVO> result=this.salaryStatistic(pageWrap).getRecords();
+ for(SalaryStatisticsListVO model : result) {
+ if(model.getUserInfo()!=null){
+ model.setUserName(model.getUserInfo().getUserName());
+ model.setDepartName(model.getUserInfo().getDepartName());
+ }
+ }
+ ExcelExporter.build(SalaryStatisticsListVO.class).export(result, "宸ヨ祫鎶ヨ〃"+System.currentTimeMillis(), response);
+
+ }
+ @Override
public void exportExcel(PageWrap<QueryWorkorderRecordExtDTO> pageWrap, HttpServletResponse response) {
List<WorkorderRecordExtListVO> result=this.findPage(pageWrap).getRecords();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
--
Gitblit v1.9.3