From a4e30eb43219ccc05b0826f49ecd5a3b639cf0c0 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 28 八月 2025 09:27:20 +0800
Subject: [PATCH] 修改计算百分比位置
---
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java | 406 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 392 insertions(+), 14 deletions(-)
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
index 191c988..97133c1 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
@@ -3,8 +3,10 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -17,20 +19,23 @@
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.DataBaseConstant;
import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.system.vo.DictModel;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.StrUtils;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
import org.jeecg.modules.eam.constant.*;
-import org.jeecg.modules.eam.entity.EamBaseHFCode;
-import org.jeecg.modules.eam.entity.EamEquipment;
-import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder;
-import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrderDetail;
+import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport;
+import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport;
+import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExportYj;
+import org.jeecg.modules.eam.dto.EchartsDto;
+import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper;
-import org.jeecg.modules.eam.request.EamInspectionOrderRequest;
+import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse;
import org.jeecg.modules.eam.request.EamThirdMaintenanceQuery;
import org.jeecg.modules.eam.request.EamThirdMaintenanceRequest;
import org.jeecg.modules.eam.service.*;
+import org.jeecg.modules.eam.vo.EamThirdMaintenanceBaseVo;
import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness;
import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService;
import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI;
@@ -41,6 +46,7 @@
import org.jeecg.modules.system.entity.BaseFactoryUser;
import org.jeecg.modules.system.service.IBaseFactoryService;
import org.jeecg.modules.system.service.IBaseFactoryUserService;
+import org.jeecg.modules.system.service.ISysDictService;
import org.jeecg.modules.system.service.ISysUserService;
import org.jeecg.modules.system.vo.UserSelector;
import org.springframework.beans.BeanUtils;
@@ -49,6 +55,8 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@@ -91,6 +99,10 @@
private IEamBaseHFCodeService eamBaseHFCodeService;
@Resource
private IEamThirdMaintenanceOrderDetailService eamThirdMaintenanceOrderDetailService;
+ @Resource
+ private IEamThirdMaintenanceSpareService eamThirdMaintenanceSpareService;
+ @Resource
+ private ISysDictService sysDictService;
@Override
public IPage<EamThirdMaintenanceOrder> queryPageList(Page<EamThirdMaintenanceOrder> page, EamThirdMaintenanceQuery query) {
@@ -100,9 +112,9 @@
if (sysUser == null) {
return page;
}
- if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
+ if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
//閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
- List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
+ List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
queryWrapper.in("e.equipment_code", equipArr);
} else {
//娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶�
@@ -268,7 +280,7 @@
eamThirdMaintenanceOrderMapper.updateById(entity);
//鍚姩娴佺▼
- flowCommonService.initActBusiness("宸ュ崟鍙�:" + entity.getOrderNum() + ";璁惧缂栧彿: " + equipment.getEquipmentCode() + (equipment.getInstallationPosition() == null ? "" : ";瀹夎浣嶇疆: " + equipment.getInstallationPosition()),
+ flowCommonService.initActBusiness("宸ュ崟鍙�:" + entity.getOrderNum() + ";璁惧缂栧彿: " + equipment.getEquipmentCode(),
entity.getId(), "IEamThirdMaintenanceOrderService", "third_maintenance_process", null);
Map<String, Object> variables = new HashMap<>();
variables.put("dataId", entity.getId());
@@ -342,6 +354,7 @@
/**
* 鏌ヨ涓変繚宸ュ崟鍩烘湰淇℃伅
+ *
* @param id
* @return
*/
@@ -360,6 +373,80 @@
return Result.ok(eamThirdMaintenanceRequestList);
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean updateMaintenanceStatus(String orderId, String maintenanceStatus) {
+ LambdaUpdateWrapper<EamThirdMaintenanceOrder> updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.eq(EamThirdMaintenanceOrder::getId, orderId);
+ updateWrapper.set(EamThirdMaintenanceOrder::getMaintenanceStatus, maintenanceStatus);
+ updateWrapper.eq(EamThirdMaintenanceOrder::getDelFlag, CommonConstant.DEL_FLAG_0);
+ updateWrapper.in(EamThirdMaintenanceOrder::getMaintenanceStatus, Arrays.asList(ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name(), ThirdMaintenanceStatusEnum.FREEZE.name()));
+ int update = this.getBaseMapper().update(null, updateWrapper);
+ return update > 0;
+ }
+
+ @Override
+ public List<EamThirdMaintenanceOrder> selectWaitMaintenanceOrderList() {
+ LambdaQueryWrapper<EamThirdMaintenanceOrder> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(EamThirdMaintenanceOrder::getMaintenanceStatus, ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name());
+ queryWrapper.isNotNull(EamThirdMaintenanceOrder::getFreezeOrderDate);
+ queryWrapper.eq(EamThirdMaintenanceOrder::getDelFlag, CommonConstant.DEL_FLAG_0);
+ LocalDate localDate = LocalDate.now();
+ queryWrapper.lt(EamThirdMaintenanceOrder::getFreezeOrderDate, localDate.toString());
+ return this.getBaseMapper().selectList(queryWrapper);
+ }
+
+ @Override
+ public List<EamThirdMaintenanceOrder> selectUnCompletedThirdMaintenanceOrderList() {
+ LambdaQueryWrapper<EamThirdMaintenanceOrder> queryWrapper = new LambdaQueryWrapper<>();
+ List<String> statusList = Arrays.asList(ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name(),
+ ThirdMaintenanceStatusEnum.UNDER_MAINTENANCE.name(),
+ ThirdMaintenanceStatusEnum.WAIT_CHECK.name(),
+ ThirdMaintenanceStatusEnum.UNDER_FIRST_ACCEPTANCE.name(),
+ ThirdMaintenanceStatusEnum.UNDER_SECOND_ACCEPTANCE.name(),
+ ThirdMaintenanceStatusEnum.OPERATOR_SIGNATURE.name(),
+ ThirdMaintenanceStatusEnum.REPAIRMAN_SIGNATURE.name(),
+ ThirdMaintenanceStatusEnum.REPAIR_MANAGER_SIGNATURE.name(),
+ ThirdMaintenanceStatusEnum.INSPECTOR_SIGNATURE.name(),
+ ThirdMaintenanceStatusEnum.FREEZE.name()
+ );
+ queryWrapper.in(EamThirdMaintenanceOrder::getMaintenanceStatus, statusList);
+ queryWrapper.isNotNull(EamThirdMaintenanceOrder::getOrderExpirationDate);
+ queryWrapper.eq(EamThirdMaintenanceOrder::getDelFlag, CommonConstant.DEL_FLAG_0);
+ LocalDate localDate = LocalDate.now();
+ queryWrapper.lt(EamThirdMaintenanceOrder::getOrderExpirationDate, localDate.toString());
+ return this.getBaseMapper().selectList(queryWrapper);
+ }
+
+ /**
+ * 鑾峰彇宸ュ崟鍩烘湰淇℃伅
+ *
+ * @param id 宸ュ崟id
+ * @return
+ */
+ @Override
+ public JSONObject exportThirdMaintenanceOrderBaseInfo(String id) {
+ // 鍒涘缓缁撴灉瀵硅薄
+ JSONObject result = new JSONObject();
+ EamThirdMaintenanceBaseResponse eamThirdMaintenanceBaseResponse = eamThirdMaintenanceOrderMapper.findThirdMaintenanceBaseInfo(id);
+ if (eamThirdMaintenanceBaseResponse == null) {
+ return result;
+ }
+ eamThirdMaintenanceBaseResponse.setOperatorSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getOperatorSignature()) + "," + eamThirdMaintenanceBaseResponse.getAssistantOperator());
+ eamThirdMaintenanceBaseResponse.setRepairmanSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getRepairmanSignature()) + "," + eamThirdMaintenanceBaseResponse.getAssistantRepairman());
+ eamThirdMaintenanceBaseResponse.setRepairManagerSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getRepairManagerSignature()));
+ eamThirdMaintenanceBaseResponse.setInspectorSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getInspectorSignature()));
+ eamThirdMaintenanceBaseResponse.setEquipmentCategory(sysDictService.queryDictTextByKey("equipment_category", eamThirdMaintenanceBaseResponse.getEquipmentCategory()));
+ //妫�鏌ヤ汉鍜屾鏌ユ椂闂�
+ EamThirdMaintenanceBaseVo vo = eamThirdMaintenanceOrderDetailService.selectCreatByAndTimeByOrderId(id);
+ if (vo != null) {
+ eamThirdMaintenanceBaseResponse.setCreateBy(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", vo.getOperateBy()));
+ eamThirdMaintenanceBaseResponse.setCreateTime(vo.getOperateTime());
+ }
+ result.put("data",Collections.singletonList(eamThirdMaintenanceBaseResponse));
+ return result;
+ }
+
/**
* 璁剧疆娴佺▼鍙橀噺
*/
@@ -375,7 +462,7 @@
values.put("dataId", order.getId());
values.put("organization", "鎶�鏈姸鎬侀壌瀹氱粨鏉�");
values.put("comment", "鎶�鏈姸鎬侀壌瀹氱粨鏉�");
- if (CommonConstant.YN_O.equals(request.getFullyFunctionalResult()) && CommonConstant.YN_O.equals(request.getRunningNormallyResult())) {
+ if (CommonConstant.YN_1.equals(request.getFullyFunctional()) && CommonConstant.YN_1.equals(request.getRunningNormally())) {
values.put("confirmation", "1");
// 鑾峰彇涓嬩竴姝ユ墽琛屼汉
userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0002);
@@ -397,9 +484,9 @@
values.put("organization", "淇濆吇浜轰繚鍏荤粨鏉�");
values.put("comment", "淇濆吇浜轰繚鍏荤粨鏉�");
// 鑾峰彇涓嬩竴姝ユ墽琛屼汉
- userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0002);
+ userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0003);
if (CollectionUtil.isEmpty(userSelectors)) {
- throw new JeecgBootException("璁惧鏈垎閰嶇粰缁翠慨宸ワ紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�");
+ throw new JeecgBootException("璁惧鏈垎閰嶇粰璁惧妫�楠屽憳锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒");
}
userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList());
values.put("NextAssignee", userApprovalList);
@@ -510,6 +597,289 @@
}
/**
+ * 鎵归噺鎵撳嵃鍔犲伐璁惧涓夌骇淇濆吇瀹屽伐绉讳氦鍗�
+ * @param ids
+ * @return
+ */
+ @Override
+ public List<EamThirdMaintenanceOrderExportYj> export(String ids){
+ QueryWrapper<EamThirdMaintenanceOrderExport> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("wmo.del_flag",CommonConstant.DEL_FLAG_0.toString());
+ queryWrapper.eq("wmo.maintenance_status",SecondMaintenanceStatusEnum.COMPLETE.name());
+ //鐢ㄦ埛鏁版嵁鏉冮檺
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ if (sysUser == null) {
+ return new ArrayList<>();
+ }
+ if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
+ //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
+ List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
+ queryWrapper.in("e.equipment_code", equipArr);
+ } else {
+ //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶�
+ List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService.
+ list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId()));
+ if(!CollectionUtils.isEmpty(baseFactoryUserList)){
+ Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet());
+ Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
+ queryWrapper.in("e.factory_org_code", factoryCode);
+ } else {
+ return new ArrayList<>();
+ }
+ }
+ //鏌ヨ鏉′欢杩囨护
+ if (StrUtil.isNotEmpty(ids)) {
+ List<String> idList = Arrays.asList(ids.split(","));
+ queryWrapper.in("wmo.id", idList);
+ } else {
+ queryWrapper.orderByDesc("wmo.create_time");
+ }
+ List<EamThirdMaintenanceOrderExport> eamThirdMaintenanceOrderExports=this.baseMapper.queryList(queryWrapper);
+ List<EamThirdMaintenanceOrderExportYj> eamThirdMaintenanceOrderExportYjs=new ArrayList<>();
+ if (!eamThirdMaintenanceOrderExports.isEmpty()){
+ for (EamThirdMaintenanceOrderExport eamThirdMaintenanceOrderExport:eamThirdMaintenanceOrderExports) {
+ EamThirdMaintenanceOrderExportYj eamThirdMaintenanceOrderExportYj = new EamThirdMaintenanceOrderExportYj();
+ BeanUtils.copyProperties(eamThirdMaintenanceOrderExport, eamThirdMaintenanceOrderExportYj);
+ eamThirdMaintenanceOrderExportYjs.add(eamThirdMaintenanceOrderExportYj);
+ }
+ }
+ //濉厖瀵瑰簲淇悊鏇存崲澶囦欢鏄庣粏
+ eamThirdMaintenanceOrderExportYjs.forEach(eamThirdMaintenanceOrderExportYj->{
+ List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpares=eamThirdMaintenanceSpareService.list(
+ new QueryWrapper<EamThirdMaintenanceSpare>().eq("order_Id",eamThirdMaintenanceOrderExportYj.getId()));
+ if (!eamThirdMaintenanceSpares.isEmpty()){
+ eamThirdMaintenanceOrderExportYj.setEamThirdMaintenanceSpareList(eamThirdMaintenanceSpares);
+ }
+ });
+ return eamThirdMaintenanceOrderExportYjs;
+ }
+
+ /**
+ * 鎵归噺鎵撳嵃鍔犲伐璁惧涓夌骇淇濆吇楠屾敹鍗�
+ */
+ @Override
+ public List<EamThirdMaintenanceOrderExport> exportAcceptance(String ids){
+ QueryWrapper<EamThirdMaintenanceOrderExport> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("wmo.del_flag",CommonConstant.DEL_FLAG_0.toString());
+ queryWrapper.eq("wmo.maintenance_status",SecondMaintenanceStatusEnum.COMPLETE.name());
+ //鐢ㄦ埛鏁版嵁鏉冮檺
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ if (sysUser == null) {
+ return new ArrayList<>();
+ }
+ if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
+ //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
+ List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
+ queryWrapper.in("e.equipment_code", equipArr);
+ } else {
+ //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶�
+ List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService.
+ list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId()));
+ if(!CollectionUtils.isEmpty(baseFactoryUserList)){
+ Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet());
+ Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
+ queryWrapper.in("e.factory_org_code", factoryCode);
+ } else {
+ return new ArrayList<>();
+ }
+ }
+ //鏌ヨ鏉′欢杩囨护
+ if (StrUtil.isNotEmpty(ids)) {
+ List<String> idList = Arrays.asList(ids.split(","));
+ queryWrapper.in("wmo.id", idList);
+ } else {
+ queryWrapper.orderByDesc("wmo.create_time");
+ }
+ List<EamThirdMaintenanceOrderExport> eamThirdMaintenanceOrderExports=this.baseMapper.queryList(queryWrapper);
+ //濉厖瀵瑰簲淇濆吇椤规槑缁�
+ eamThirdMaintenanceOrderExports.forEach(eamThirdMaintenanceOrderExport->{
+ List<EamThirdMaintenanceOrderDetail> eamThirdMaintenanceSpares=eamThirdMaintenanceOrderDetailService.list(
+ new QueryWrapper<EamThirdMaintenanceOrderDetail>().eq("order_Id",eamThirdMaintenanceOrderExport.getId()));
+ if (!eamThirdMaintenanceSpares.isEmpty()){
+ eamThirdMaintenanceOrderExport.setEamThirdMaintenanceOrderDetailList(eamThirdMaintenanceSpares);
+ }
+ });
+ return eamThirdMaintenanceOrderExports;
+ }
+
+ /**
+ * 璁惧绠$悊棣栭〉-涓変繚璁″垝
+ * @return
+ * */
+ @Override
+ public List<EchartsDto> selectList() {
+ List<EchartsDto> echartsDtos = new ArrayList<>();
+
+ // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌�
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ if (sysUser == null) {
+ return echartsDtos; // 杩斿洖绌哄垪琛ㄨ�岄潪null
+ }
+
+ QueryWrapper<EamThirdMaintenanceOrder> queryWrapper = new QueryWrapper<>();
+
+ // 璁惧杩囨护閫昏緫
+ if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
+ List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
+ queryWrapper.in("e.equipment_code", equipArr);
+ } else {
+ List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService
+ .list(new LambdaQueryWrapper<BaseFactoryUser>()
+ .eq(BaseFactoryUser::getUserId, sysUser.getId()));
+
+ if (CollectionUtils.isEmpty(baseFactoryUserList)) {
+ return echartsDtos; // 杩斿洖绌哄垪琛ㄨ�岄潪null
+ }
+
+ Set<String> factoryIds = baseFactoryUserList.stream()
+ .map(BaseFactoryUser::getFactoryId)
+ .collect(Collectors.toSet());
+
+ Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds)
+ .stream()
+ .map(BaseFactory::getOrgCode)
+ .collect(Collectors.toSet());
+
+ queryWrapper.in("e.factory_org_code", factoryCodes);
+ }
+
+ // 鑾峰彇褰撳墠骞存湀鍜屼笅涓や釜鏈堢殑骞存湀瀛楃涓�
+ String currentYearMonth = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM"));
+ String nextMonth = LocalDate.now().plusMonths(1).format(DateTimeFormatter.ofPattern("yyyy-MM"));
+ String nextNextMonth = LocalDate.now().plusMonths(2).format(DateTimeFormatter.ofPattern("yyyy-MM"));
+
+ // 浠庡瓧鍏歌〃鑾峰彇閰嶇疆鍊�
+ String bysbjh = sysDictService.queryEnableDictItemsByCode("eam_home_third_number_bysbzs").get(0).getValue();
+ String bywc = sysDictService.queryEnableDictItemsByCode("eam_home_third_number_bwc").get(0).getValue();
+ String xysb = sysDictService.queryEnableDictItemsByCode("eam_home_third_number_xysb").get(0).getValue();
+ String xxysb = sysDictService.queryEnableDictItemsByCode("eam_home_third_number_xxysb").get(0).getValue();
+
+ // 鏈湀涓変繚璁″垝鎬绘暟
+ if ("0".equals(bysbjh)) {
+ List<EamThirdMaintenanceOrder> currentMonthOrders = this.baseMapper.queryAsList(
+ queryWrapper.clone().like("maintenance_date", currentYearMonth)
+ );
+ echartsDtos.add(new EchartsDto("bysbzs", "鏈湀涓変繚璁″垝鎬绘暟",
+ String.valueOf(currentMonthOrders.size()), null, null));
+ } else {
+ echartsDtos.add(new EchartsDto("bysbzs", "鏈湀涓変繚璁″垝鎬绘暟",
+ bysbjh, null, null));
+ }
+
+ // 鏈湀瀹屾垚
+ if ("0".equals(bywc)) {
+ List<EamThirdMaintenanceOrder> currentMonthCompleted = this.baseMapper.queryAsList(
+ queryWrapper.clone().like("maintenance_date", currentYearMonth)
+ .eq("maintenance_status", ThirdMaintenanceStatusEnum.COMPLETE.name())
+ );
+ echartsDtos.add(new EchartsDto("bwc", "鏈湀瀹屾垚",
+ String.valueOf(currentMonthCompleted.size()), null, null));
+ } else {
+ echartsDtos.add(new EchartsDto("bwc", "鏈湀瀹屾垚",
+ bywc, null, null));
+ }
+
+ // 涓嬫湀涓変繚璁″垝
+ if ("0".equals(xysb)) {
+ List<EamThirdMaintenanceOrder> nextMonthOrders = this.baseMapper.queryAsList(
+ queryWrapper.clone().like("maintenance_date", nextMonth)
+ );
+ echartsDtos.add(new EchartsDto("xysb", "涓嬫湀涓変繚璁″垝",
+ String.valueOf(nextMonthOrders.size()), null, null));
+ } else {
+ echartsDtos.add(new EchartsDto("xysb", "涓嬫湀涓変繚璁″垝",
+ xysb, null, null));
+ }
+
+ // 涓嬩笅鏈堜笁淇濊鍒�
+ if ("0".equals(xxysb)) {
+ List<EamThirdMaintenanceOrder> nextNextMonthOrders = this.baseMapper.queryAsList(
+ queryWrapper.clone().like("maintenance_date", nextNextMonth)
+ );
+ echartsDtos.add(new EchartsDto("xxysb", "涓嬩笅鏈堜笁淇濊鍒�",
+ String.valueOf(nextNextMonthOrders.size()), null, null));
+ } else {
+ echartsDtos.add(new EchartsDto("xxysb", "涓嬩笅鏈堜笁淇濊鍒�",
+ xxysb, null, null));
+ }
+
+ return echartsDtos;
+ }
+
+ /**
+ * 璁惧绠$悊棣栭〉-涓変繚璁″垝鍒楄〃
+ * @param code
+ * @param page
+ * @return
+ */
+ @Override
+ public IPage<EamThirdMaintenanceOrder> maintenanceList(String code, Page<EamThirdMaintenanceOrder> page){
+ IPage<EamThirdMaintenanceOrder> eamThirdMaintenanceOrderIPage=new Page<>();
+ // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌�
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ if (sysUser == null) {
+ return null;
+ }
+
+ QueryWrapper<EamThirdMaintenanceOrder> queryWrapper = new QueryWrapper<>();
+
+ // 璁惧杩囨护閫昏緫
+ if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
+ List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
+ queryWrapper.in("e.equipment_code", equipArr);
+ } else {
+ List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService
+ .list(new LambdaQueryWrapper<BaseFactoryUser>()
+ .eq(BaseFactoryUser::getUserId, sysUser.getId()));
+
+ if (CollectionUtils.isEmpty(baseFactoryUserList)) {
+ return null;
+ }
+
+ Set<String> factoryIds = baseFactoryUserList.stream()
+ .map(BaseFactoryUser::getFactoryId)
+ .collect(Collectors.toSet());
+
+ Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds)
+ .stream()
+ .map(BaseFactory::getOrgCode)
+ .collect(Collectors.toSet());
+
+ queryWrapper.in("e.factory_org_code", factoryCodes);
+ }
+ queryWrapper.orderByDesc("wmo.create_time");
+ // 鑾峰彇褰撳墠骞存湀鍜屼笅涓や釜鏈堢殑骞存湀瀛楃涓�
+ String currentYearMonth = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM"));
+ switch (code){
+ case "bysbzs":
+ // 鏈湀涓変繚璁″垝鎬绘暟
+ eamThirdMaintenanceOrderIPage=this.baseMapper.queryPageList(page,queryWrapper.clone().like("maintenance_date", currentYearMonth));
+ break;
+ case "bwc":
+ // 鏈湀瀹屾垚
+ eamThirdMaintenanceOrderIPage=this.baseMapper.queryPageList(page,queryWrapper.clone().like("maintenance_date", currentYearMonth)
+ .eq("maintenance_status", ThirdMaintenanceStatusEnum.COMPLETE.name()));
+ break;
+ case "xysb":
+ // 涓嬫湀涓変繚璁″垝
+ String nextMonth = LocalDate.now().plusMonths(1).format(DateTimeFormatter.ofPattern("yyyy-MM"));
+ eamThirdMaintenanceOrderIPage=this.baseMapper.queryPageList(page,queryWrapper.clone().like("maintenance_date", nextMonth));
+ break;
+ case "xxysb":
+ // 涓嬩笅鏈堜笁淇濊鍒�
+ String nextNextMonth = LocalDate.now().plusMonths(2).format(DateTimeFormatter.ofPattern("yyyy-MM"));
+ eamThirdMaintenanceOrderIPage=this.baseMapper.queryPageList(page,queryWrapper.clone().like("maintenance_date", nextNextMonth));
+ break;
+ default:
+ break;
+ }
+ eamThirdMaintenanceOrderIPage.getRecords().forEach(eamThirdMaintenanceOrder -> {
+ eamThirdMaintenanceOrder.setTechnologyStatus(eamEquipmentExtendService.getById(eamThirdMaintenanceOrder.getEquipmentId()).getTechnologyStatus());
+ });
+ return eamThirdMaintenanceOrderIPage;
+ }
+
+ /**
* 鏇存柊宸ュ崟鐘舵��
*/
private void updateOrderStatus(Result result, EamThirdMaintenanceRequest request, EamThirdMaintenanceOrder order, LoginUser user) {
@@ -519,10 +889,10 @@
case WAIT_CHECK:
// 鎶�鏈姸鎬侀壌瀹氱粨鏉�
order.setInspector(user.getUsername());
- order.setFullyFunctional(request.getFullyFunctionalResult());
- order.setRunningNormally(request.getRunningNormallyResult());
+ order.setFullyFunctional(request.getFullyFunctional());
+ order.setRunningNormally(request.getRunningNormally());
order.setInspectTime(new Date());
- if (CommonConstant.YN_O.equals(request.getFullyFunctionalResult()) && CommonConstant.YN_O.equals(request.getRunningNormallyResult())) {
+ if (CommonConstant.YN_1.equals(request.getFullyFunctional()) && CommonConstant.YN_1.equals(request.getRunningNormally())) {
// 閴村畾閫氳繃
order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.UNDER_MAINTENANCE.name());
} else {
@@ -540,6 +910,14 @@
// 涓変繚鏄庣粏澶勭悊
eamThirdMaintenanceOrderDetailService.remove(new LambdaQueryWrapper<EamThirdMaintenanceOrderDetail>().eq(EamThirdMaintenanceOrderDetail::getOrderId, order.getId()));
eamThirdMaintenanceOrderDetailService.saveBatch(request.getTableDetailList());
+ // 涓変繚澶囦欢鏄庣粏澶勭悊
+ if (request.getTableSpareList() != null && !request.getTableSpareList().isEmpty()) {
+ List<EamThirdMaintenanceSpare> tableSpareList = request.getTableSpareList();
+ tableSpareList.forEach(eamThirdMaintenanceSpare -> {
+ eamThirdMaintenanceSpare.setOrderId(request.getId());
+ });
+ eamThirdMaintenanceSpareService.saveBatch(tableSpareList);
+ }
break;
case UNDER_FIRST_ACCEPTANCE:
// 绗竴娆¢獙鏀剁粨鏉�
--
Gitblit v1.9.3