From 5f0bc1e4ad0c51a8bf1382dc3f98e282c1393c3b Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 11 九月 2025 17:48:55 +0800
Subject: [PATCH] 真空热处理炉批量打印接口 三保 加工设备保养计划变更申请单批量打印接口 设备精度检查单批量打印接口开发

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java |   70 +++++++++++++++++++++++++++++++++-
 1 files changed, 67 insertions(+), 3 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
index 1c68444..5fd573e 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
@@ -17,12 +17,14 @@
 import org.jeecg.common.constant.DataBaseConstant;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.DateUtils;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.eam.constant.*;
 import org.jeecg.modules.eam.entity.*;
 import org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationOrderMapper;
 import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderQuery;
 import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderRequest;
+import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderResult;
 import org.jeecg.modules.eam.service.*;
 import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness;
 import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService;
@@ -85,6 +87,8 @@
     private ISysUserService sysUserService;
     @Autowired
     private IEamEquipmentExtendService equipmentExtendService;
+    @Autowired
+    private IEamTechnicalStatusEvaluationOrderDetailService eamTechnicalStatusEvaluationOrderDetailService;
 
     @Override
     public IPage<EamTechnicalStatusEvaluationOrder> queryPageList(Page<EamTechnicalStatusEvaluationOrder> page, EamTechnicalStatusEvaluationOrderQuery query) {
@@ -251,7 +255,7 @@
         this.getBaseMapper().updateById(entity);
 
         //鍚姩娴佺▼
-        flowCommonService.initActBusiness("宸ュ崟鍙�: " + entity.getOrderNum() + ";璁惧缂栧彿: " + equipment.getEquipmentCode() + ";瀹夎浣嶇疆" + equipment.getInstallationPosition(),
+        flowCommonService.initActBusiness("宸ュ崟鍙�: " + entity.getOrderNum() + ";璁惧缂栧彿: " + equipment.getEquipmentCode(),
                 entity.getId(), "IEamTechnicalStatusEvaluationOrderService", "technical_status_evaluation_process", null);
         Map<String, Object> variables = new HashMap<>();
         variables.put("dataId", entity.getId());
@@ -501,8 +505,6 @@
                     values.put("NextAssignee", userApprovalList);
                     entity.setEvaluationStatus(TechnicalStatusEvaluationOrderStatusEnum.REPAIRER_SIGNING.name());
                 }
-//                //鏇存柊璁惧淇濆吇鐘舵��
-//                eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.NORMAL.name());
                 break;
             case PROCESS_TECHNICIAN_SIGNING:
                 //宸ヨ壓鍛樼瀛�
@@ -562,6 +564,11 @@
                 entity.setInspectorComment(request.getInspectorComment());
                 entity.setEvaluationResult(request.getEvaluationResult());
                 entity.setEvaluationReason(request.getEvaluationReason());
+                //鏇存柊璁惧鎶�鏈姸鎬�
+                // 鎸夌収濉姤瀹屾垚鏃ユ湡璁$畻鏈涓変繚鏃ユ湡锛屽幓闄ゆ椂鍒嗙
+                Date evaluationDate = DateUtils.localDateToDate(DateUtils.dateToLocalDate(entity.getActualEndTime()));
+                equipmentExtendService.updateTechnologyParam(equipment.getId(), entity.getEvaluationResult(),
+                        evaluationDate, CommonConstant.STATUS_0);
                 break;
         }
         request.setValues(values);
@@ -619,6 +626,63 @@
         return this.getBaseMapper().selectList(queryWrapper);
     }
 
+    /**
+     * 鎶�鏈壌瀹氳〃鎵归噺鎵撳嵃鎺ュ彛
+     * @param ids
+     * @param type
+     * @return
+     */
+    @Override
+    public List<EamTechnicalStatusEvaluationOrderResult> batchPrint(String ids, String type){
+        QueryWrapper<EamTechnicalStatusEvaluationOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("ems.del_flag",CommonConstant.DEL_FLAG_0.toString());
+        queryWrapper.eq("ems.evaluation_status",TechnicalStatusEvaluationOrderStatusEnum.COMPLETED.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("ems.id", idList);
+        } else {
+            queryWrapper.orderByDesc("ems.create_time");
+        }
+        List<EamTechnicalStatusEvaluationOrderResult> list = this.baseMapper.queryList(queryWrapper);
+        list.forEach(item->{
+            if (TechnicalStatusEvaluationCheckCategoryEnum.SAFETY_EQUIPMENT_CHECK.name().equals(type)){
+                List<EamTechnicalStatusEvaluationOrderDetail> evaluationStandardDetails=
+                        eamTechnicalStatusEvaluationOrderDetailService.queryList(item.getId(),TechnicalStatusEvaluationCheckCategoryEnum.SAFETY_EQUIPMENT_CHECK.name());
+                item.setTableSafetyDetailList(evaluationStandardDetails);
+            }else if (TechnicalStatusEvaluationCheckCategoryEnum.PRECISION_CHECK.name().equals(type)){
+                List<EamTechnicalStatusEvaluationOrderDetail> evaluationOrderDetails=
+                        eamTechnicalStatusEvaluationOrderDetailService.queryList(item.getId(),TechnicalStatusEvaluationCheckCategoryEnum.PRECISION_CHECK.name());
+                item.setTablePrecisionDetailList(evaluationOrderDetails);
+            }else  if (TechnicalStatusEvaluationCheckCategoryEnum.OTHER_CHECK.name().equals(type)){
+                List<EamTechnicalStatusEvaluationOrderDetail> evaluationOrderDetails=
+                        eamTechnicalStatusEvaluationOrderDetailService.queryList(item.getId(),TechnicalStatusEvaluationCheckCategoryEnum.OTHER_CHECK.name());
+                item.setTableOtherDetailList(evaluationOrderDetails);
+            }
+        });
+        return list;
+    }
 
     private EamTechnicalStatusEvaluationOrder checkDuplicate(String equipmentId) {
         LambdaQueryWrapper<EamTechnicalStatusEvaluationOrder> queryWrapper = new LambdaQueryWrapper<>();

--
Gitblit v1.9.3