From 37d6ceefa256356961be44e868842bf6a77e4599 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期一, 18 八月 2025 13:37:50 +0800 Subject: [PATCH] 加工设备三级保养验收单 加工设备三级保养移交单批量打印接口 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java | 174 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 172 insertions(+), 2 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 fd1686d..641593a 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,6 +3,7 @@ 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; @@ -23,11 +24,15 @@ 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.dto.EamThirdMaintenanceOrderExport; +import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper; +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; @@ -38,6 +43,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; @@ -46,6 +52,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -90,6 +97,8 @@ private IEamThirdMaintenanceOrderDetailService eamThirdMaintenanceOrderDetailService; @Resource private IEamThirdMaintenanceSpareService eamThirdMaintenanceSpareService; + @Resource + private ISysDictService sysDictService; @Override public IPage<EamThirdMaintenanceOrder> queryPageList(Page<EamThirdMaintenanceOrder> page, EamThirdMaintenanceQuery query) { @@ -99,9 +108,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 { //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶� @@ -341,6 +350,7 @@ /** * 鏌ヨ涓変繚宸ュ崟鍩烘湰淇℃伅 + * * @param id * @return */ @@ -369,6 +379,68 @@ 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; } /** @@ -521,6 +593,104 @@ } /** + * 鎵归噺鎵撳嵃鍔犲伐璁惧涓夌骇淇濆吇瀹屽伐绉讳氦鍗� + * @param ids + * @return + */ + @Override + public List<EamThirdMaintenanceOrderExport> 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); + //濉厖瀵瑰簲淇悊鏇存崲澶囦欢鏄庣粏 + eamThirdMaintenanceOrderExports.forEach(eamThirdMaintenanceOrderExport->{ + List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpares=eamThirdMaintenanceSpareService.list( + new QueryWrapper<EamThirdMaintenanceSpare>().eq("order_Id",eamThirdMaintenanceOrderExport.getId())); + if (!eamThirdMaintenanceSpares.isEmpty()){ + eamThirdMaintenanceOrderExport.setEamThirdMaintenanceSpareList(eamThirdMaintenanceSpares); + } + }); + return eamThirdMaintenanceOrderExports; + } + + /** + * 鎵归噺鎵撳嵃鍔犲伐璁惧涓夌骇淇濆吇楠屾敹鍗� + */ + @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; + } + + /** * 鏇存柊宸ュ崟鐘舵�� */ private void updateOrderStatus(Result result, EamThirdMaintenanceRequest request, EamThirdMaintenanceOrder order, LoginUser user) { -- Gitblit v1.9.3