From d48de59b57bce614e17e91f1845789c071930a2f Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 16 九月 2025 08:01:35 +0800
Subject: [PATCH] 1、大理片进片报表添加连续工作时间统计
---
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 109 insertions(+), 2 deletions(-)
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
index b6d0cba..859eb82 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -1,11 +1,20 @@
package com.mes.engineering.service.impl;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.mapper.EngineeringMapper;
import com.mes.engineering.service.EngineeringService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.mapper.OptimizeProjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* <p>
@@ -16,14 +25,112 @@
* @since 2024-04-22
*/
@Service
+@Slf4j
public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engineering> implements EngineeringService {
+
+ @Autowired
+ OptimizeProjectMapper optimizeProjectMapper;
+ @Autowired
+ private EngineeringMapper engineeringMapper;
+
//寮�濮�/鏆傚仠浠诲姟
@Override
public boolean changeTask(String projectId, Integer state) {
+ //鏆傚仠姝e湪杩涜宸ョ▼
+ LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
+ pauseWrapper.set(Engineering::getState,0);
+ pauseWrapper.eq(Engineering::getState,1);
+ boolean pause = pauseWrapper.update();
+ //浣跨敤projectId浣滀负鏉′欢寮�濮嬪伐绋�
LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
wrapper.set(Engineering::getState,state);
wrapper.eq(Engineering::getEngineerId,projectId);
- return wrapper.update();
+ wrapper.update();
+ return pause;
+ }
+
+ @Override
+ @DS("pp")
+ public List<Engineering> selectEngineering(String engineeringId) {
+ //鏌ヨ閽㈠寲宸ョ▼淇℃伅
+ List<OptimizeProject> optimizeEngineerings = null;
+ if (engineeringId != null) {
+ QueryWrapper<OptimizeProject> wrapper = new QueryWrapper<>();
+ wrapper.select("project_no,project_name,avg_cut_pct,valid_cut_pct,last_cut_pct,glass_total,glass_total_area,raw_stock_qty,raw_stock_area,glass_type,remark ")
+ .eq("project_no", engineeringId);
+ optimizeEngineerings = optimizeProjectMapper.selectList(wrapper);
+
+ }
+ List<Engineering> resultList=new ArrayList<>();
+// 閬嶅巻鏌ヨ缁撴灉璧嬪��
+ if (optimizeEngineerings != null) {
+ for (OptimizeProject map : optimizeEngineerings) {
+ // 鍒涘缓涓�涓柊鐨� OptimizeProject 瀵硅薄
+ Engineering engineering = new Engineering();
+ // 灏� Map 涓殑姣忎釜閿�煎鏄犲皠鍒� OptimizeProject 瀵硅薄鐨勭浉搴斿瓧娈典笂
+ engineering.setEngineerId( map.getProjectNo());//宸ョ▼id
+ engineering.setEngineerName( map.getProjectName());//宸ョ▼鍚嶇О
+ engineering.setAvgAvailability( map.getAvgCutPct());//骞冲潎浼樺寲鐜�
+ engineering.setValidAvailability( map.getValidCutPct());//鏈夋晥浼樺寲鐜�
+ engineering.setLastAvailability( map.getLastCutPct());//灏剧墖浼樺寲鐜�
+ engineering.setState(0);//鐘舵��
+ engineering.setGlassTotal( map.getGlassTotal());//灏忕墖鐜荤拑鎬绘暟
+ engineering.setGlassTotalArea( map.getGlassTotalArea());//灏忕墖鎬婚潰绉�
+ engineering.setPlanPatternTotal( map.getRawStockQty());//璁″垝鍘熺墖鎬绘暟
+ engineering.setPlanPatternTotalArea( map.getRawStockArea());//璁″垝鍘熺墖鎬婚潰绉�
+ engineering.setFilmsId( map.getGlassType());//鑶滅郴
+ engineering.setNotes( map.getRemark());//澶囨敞
+ // 灏嗘槧灏勫悗鐨勫璞℃坊鍔犲埌缁撴灉鍒楄〃涓�
+ resultList.add(engineering);
+ }
+ }
+ log.info("鏌ヨ鍑洪挗鍖栧伐绋嬮泦鍚堜繚瀛樺埌瀹炰綋绫粄}",resultList);
+ return resultList;
+ }
+
+ @Override
+ public void saveEngineering(List<Engineering> engineering) {
+ this.saveBatch(engineering);
+ //淇濆瓨閽㈠寲宸ョ▼淇℃伅
+ }
+
+ @Override
+ public Engineering selectInitiate(Integer state) {
+ //鏌ヨ鏄惁鏈夊紑濮嬩笂鐗囩殑宸ョ▼浠诲姟
+ QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
+ wrapper.eq("state", state);
+ return engineeringMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<Engineering> selectTask() {
+ //鏌ヨ鍙紑濮嬩换鍔$殑宸ョ▼
+ QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
+ wrapper.eq("state", 0);
+ return engineeringMapper.selectList(wrapper);
+ }
+
+ @Override
+ public boolean pauseTask(String engineerId, Integer state) {
+ //鏆傚仠姝e湪杩涜宸ョ▼
+ LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
+ pauseWrapper.set(Engineering::getState,0);
+ pauseWrapper.eq(Engineering::getState,1);
+ return pauseWrapper.update();
+ }
+
+ @Override
+ public boolean deleteTask(String engineerId) {
+ //鍒犻櫎宸ョ▼琛�
+ QueryWrapper<Engineering> wrapper = new QueryWrapper<>();
+ wrapper.eq("engineer_id", engineerId);
+ return this.remove(wrapper);
+ }
+
+ @Override
+ public Engineering selectEngineeringState(String engineerId){
+ //鏌ヨ宸ョ▼鐘舵��
+ return baseMapper.selectEngineeringState(engineerId);
}
}
--
Gitblit v1.8.0