From 937099239caa9136759d5d86b8fbcdc73e6b0510 Mon Sep 17 00:00:00 2001
From: Mr.Shi <1878285526@qq.com>
Date: 星期四, 14 九月 2023 10:21:44 +0800
Subject: [PATCH] 小程序
---
server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java | 185 +++++++++++++++++++++++++++++++++++----------
1 files changed, 142 insertions(+), 43 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..09bf3d7 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,43 @@
}
//鍙兘鏌ョ湅褰撳墠鏍圭粍缁囩殑鏁版嵁
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));
+ model.setJijianSalary(model.getJijianSalary().divide(new BigDecimal("100"),2,BigDecimal.ROUND_HALF_UP));
+ model.setJishiSalary(model.getJishiSalary().divide(new BigDecimal("100"),2,BigDecimal.ROUND_HALF_UP));
+ model.setTotalSalary(model.getTotalSalary().divide(new BigDecimal("100"),2,BigDecimal.ROUND_HALF_UP));
+ }
+ }
+ 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 +206,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) {
@@ -474,6 +495,7 @@
}
if(!Constants.equalsInteger(model.getWorkorderStatus(),Constants.WORKORDER_STATUS.create)
&& !Constants.equalsInteger(model.getWorkorderStatus(),Constants.WORKORDER_STATUS.material)
+ && !Constants.equalsInteger(model.getWorkorderStatus(),Constants.WORKORDER_STATUS.producing)
&& !Constants.equalsInteger(model.getWorkorderStatus(),Constants.WORKORDER_STATUS.check)
&& !Constants.equalsInteger(model.getWorkorderStatus(),Constants.WORKORDER_STATUS.done)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝璇ュ伐鍗曠姸鎬佸凡娴佽浆锛屼笉鑳借繘琛岃鎿嶄綔锛�");
@@ -511,6 +533,7 @@
}
if(!Constants.equalsInteger(model.getWorkorderStatus(),Constants.WORKORDER_STATUS.create)
&& !Constants.equalsInteger(model.getWorkorderStatus(),Constants.WORKORDER_STATUS.material)
+ && !Constants.equalsInteger(model.getWorkorderStatus(),Constants.WORKORDER_STATUS.producing)
&& !Constants.equalsInteger(model.getWorkorderStatus(),Constants.WORKORDER_STATUS.check)
&& !Constants.equalsInteger(model.getWorkorderStatus(),Constants.WORKORDER_STATUS.done)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝璇ュ伐鍗曠姸鎬佸凡娴佽浆锛屼笉鑳借繘琛岃鎿嶄綔锛�");
@@ -814,9 +837,11 @@
if(!Constants.equalsInteger(tModel.getDoneType(),Constants.ZERO)){
//濡傛灉涓嶈壇锛岀疮璁″伐鍗曠殑涓嶈壇浜у嚭
mp.setUnqualifiedNum(Constants.formatIntegerNum(mp.getUnqualifiedNum())+(Constants.formatBigdecimal(tModel.getNum()).intValue()));
+// mp.setUnqualifiedNum(mp.getUnqualifiedNum().add(tModel.getNum()));
}else{
//濡傛灉鏄悎鏍硷紝绱宸ュ崟鐨勫悎鏍兼暟閲�
mp.setQualifiedNum(Constants.formatIntegerNum(mp.getQualifiedNum())+(Constants.formatBigdecimal(tModel.getNum()).intValue()));
+// mp.setUnqualifiedNum(mp.getQualifiedNum().add(tModel.getNum()));
}
//妫�鏌ョ绛愭槸鍚﹁浣滀负浜у嚭绡瓙锛屽鏋滄槸锛屽垯闇�瑕佸垽鏂绡瓙鏄惁鎶曟枡浣欓涓�0
Appliances curUpdateModel = getApplianceFromList(tModel.getAppliancesId(),updateApplianceList);
@@ -1561,6 +1586,7 @@
}
if(!Constants.equalsInteger(mp.getStatus(),Constants.WORKORDER_STATUS.create)
&& !Constants.equalsInteger(mp.getStatus(),Constants.WORKORDER_STATUS.material)
+ && !Constants.equalsInteger(mp.getStatus(),Constants.WORKORDER_STATUS.producing)
&& !Constants.equalsInteger(mp.getStatus(),Constants.WORKORDER_STATUS.check)
&& !Constants.equalsInteger(mp.getStatus(),Constants.WORKORDER_STATUS.done)){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝璇ュ伐鍗曠姸鎬佸凡娴佽浆锛屼笉鑳借繘琛岃鎿嶄綔锛�");
@@ -1655,6 +1681,33 @@
@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());
+ model.setNum(Constants.formatBigdecimalFloat(model.getNum(),2));
+ model.setQualifiedNum(Constants.formatBigdecimalFloat(model.getQualifiedNum(),2));
+ model.setUnQualifiedNum(Constants.formatBigdecimalFloat(model.getUnQualifiedNum(),2));
+ model.setRate(Constants.formatBigdecimalFloat(model.getRate(),2));
+ }
+ }
+ 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");
@@ -1684,45 +1737,91 @@
unintname = re.getUmodel().getName();
}
if (re.getPmodel() != null) {
- Integer pmodelnum = re.getPmodel().getNum() != null ? re.getPmodel().getNum() : 0;
+ BigDecimal pmodelnum = re.getNum() != null ? re.getNum() : new BigDecimal("0");
// wreev.setPlanNum( new BigDecimal(pmodelnum).stripTrailingZeros().toPlainString() + unintname);
- wreev.setPlanNum( new BigDecimal(pmodelnum).stripTrailingZeros().toPlainString() );
- }
- if (re.getDoneType() != null) {
- switch (re.getDoneType()) {
- case 0:
- wreev.setDoneType("鍚堟牸");
- break;
- case 1:
- wreev.setDoneType("涓嶈壇");
- break;
- case 2:
- wreev.setDoneType("鎶ュ簾");
- break;
- default:
- break;
- }
+ wreev.setPlanNum( re.getNum().stripTrailingZeros().toPlainString()+unintname);
}
wreev.setProcedureName(re.getProcedureName());
+ wreev.setUnintname(unintname);
if(re.getNum()!=null){
- wreev.setAppliancenum(re.getNum().stripTrailingZeros().toPlainString() );
+ wreev.setAppliancenum(re.getNum().stripTrailingZeros().toPlainString()+unintname );
}
- wreev.setUnintname(unintname);
+
if (re.getAmodel() != null) {
wreev.setAppliancecode(re.getAmodel().getCode());
}
wreev.setDeviceCode(re.getDeviceCode()+"|"+re.getDeviceName());
wreev.setCreateTime(format.format(re.getCreateTime()));
+ wreev.setQualifiedNum( (Objects.nonNull(re.getQualifiedNum()) ? re.getQualifiedNum() : 0)+unintname);
+ wreev.setUnqualifiedNum((Objects.nonNull(re.getUnqualifiedNum()) ? re.getUnqualifiedNum() : 0)+unintname);
+ Integer duration = re.getDuration();
+ if (Objects.nonNull(duration)){
+ Integer h = duration/3600;
+ Integer m = (duration%3600)/60;
+ Integer s = ((duration%3600)%60);
+ wreev.setDuration(h+"灏忔椂"+m+"鍒嗛挓"+s+"绉�");
+ }else {
+ wreev.setDuration("-");
+ }
+ wreev.setSalaryType(re.getSalaryType());
+ wreev.setSalaryPrice(re.getSalary());
list.add(wreev);
}
- ExcelExporter.build(WorkorderRecordExportExtListVO.class).export(list, "宸ュ崟鐢熶骇杩囩▼璁板綍"+System.currentTimeMillis(), response);
+ ExcelExporter.build(WorkorderRecordExportExtListVO.class).export(list, "鐢熶骇浜у嚭鏄庣粏"+System.currentTimeMillis(), response);
// EasyExcelUtil.exportExcel(list, "宸ュ崟鐢熶骇杩囩▼璁板綍","宸ュ崟鐢熶骇杩囩▼璁板綍",WorkorderRecordExportExtListVO.class,"宸ュ崟鐢熶骇杩囩▼璁板綍"+System.currentTimeMillis()+".xls", response);
}
+ @Override
+ public void exportExcel2(PageWrap<QueryWorkorderRecordExtDTO> pageWrap, HttpServletResponse response) {
+ List<WorkorderRecordExtListVO> result=this.findPage(pageWrap).getRecords();
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ List<WorkorderRecordBathExportExtListVO> list=new ArrayList<>();
+ for(int i=0;i<result.size();i++) {
+ WorkorderRecordExtListVO re = result.get(i);
+ WorkorderRecordBathExportExtListVO wreev = new WorkorderRecordBathExportExtListVO();
+ if (re.getOmodel() != null) {
+ wreev.setWorkordercode(re.getOmodel().getCode());
+ if (re.getOmodel().getStatus() != null) {
+ String status = Constants.WORKORDER_STATUS.getTitleByStatus(null, re.getOmodel().getStatus());
+ wreev.setStatus(status);
+ }
+ }
+ if (re.getMmodel() != null) {
+ wreev.setMaterialcode(re.getMmodel().getCode());
+ wreev.setMaterialname(re.getMmodel().getName());
+ }
+ wreev.setBatch(re.getBatch());
+ if (re.getPromodel() != null) {
+ wreev.setProceduresname(re.getPromodel().getName());
+ }
+
+ String unintname = "";
+ if (re.getUmodel() != null) {
+ unintname = re.getUmodel().getName();
+ }
+ if (re.getNum() != null) {
+ BigDecimal pmodelnum = re.getNum() != null ? re.getNum() : new BigDecimal("0");
+ // wreev.setPlanNum( new BigDecimal(pmodelnum).stripTrailingZeros().toPlainString() + unintname);
+ wreev.setNum( pmodelnum.stripTrailingZeros().toPlainString()+unintname);
+ }
+ wreev.setProcedureName(re.getProcedureName());
+ wreev.setUnintname(unintname);
+ if(re.getOmodel().getPlanNum() != null){
+ wreev.setPlanNum(re.getOmodel().getPlanNum().toString() );
+ }
+ wreev.setMaterialDonetype(re.getMaterialDonetype());
+ wreev.setDeviceCode(re.getDeviceCode()+"|"+re.getDeviceName());
+ wreev.setCreateTime(format.format(re.getCreateTime()));
+ list.add(wreev);
+
+ }
+ ExcelExporter.build(WorkorderRecordBathExportExtListVO.class).export(list, "鐢熶骇鎶曟枡鏄庣粏"+System.currentTimeMillis(), response);
+
+ }
}
--
Gitblit v1.9.3