hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/impl/OrdersServiceImpl.java
@@ -8,15 +8,18 @@ import com.mes.order.mapper.OrderdetailMapper; import com.mes.order.mapper.OrdersMapper; import com.mes.order.service.OrdersService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Collections; import java.util.List; /** * <p> * 服务实现类 * 服务实现类 * </p> * * @author wu @@ -24,9 +27,11 @@ */ @Service @DS("sd") @Slf4j public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, Orders> implements OrdersService { @Autowired private OrderdetailMapper orderdetailMapper; @Resource private OrderdetailMapper orderdetailMapper; @Override public List<Orders> selectOrders() { //获取所有未完成的订单 @@ -43,27 +48,29 @@ } @Override public List<OrderDTO> selectOrderPercent(){ public List<OrderDTO> selectOrderPercent() { return baseMapper.selectOrderPercent(); } @Override public HollowOrderDTO queryOrderByFlowCardId(String flowCardId){ public HollowOrderDTO queryOrderByFlowCardId(String flowCardId) { return baseMapper.queryOrderByFlowCardId(flowCardId); } @Override public List<HollowGlassDetailsDTO> queryFlowCardIdMaxLayerGlassInfo(String flowCardId, int totalLayer){ public List<HollowGlassDetailsDTO> queryFlowCardIdMaxLayerGlassInfo(String flowCardId, int totalLayer) { return baseMapper.queryFlowCardIdMaxLayerGlassInfo(flowCardId, totalLayer); } @Override public List<HollowGlassDetailsDTO> queryFlowCardIdLayerGlassInfo(String flowCardId, int totalLayer, int layer){ public List<HollowGlassDetailsDTO> queryFlowCardIdLayerGlassInfo(String flowCardId, int totalLayer, int layer) { return baseMapper.queryFlowCardIdLayerGlassInfo(flowCardId, totalLayer, layer); } @Override public OrderDetailsDTO queryProductNameByFlowCardId(String flowCardId){ @Cacheable(value = "orderDetails", key = "#flowCardId",unless = "#result == null") public OrderDetailsDTO queryProductNameByFlowCardId(String flowCardId) { log.info("查询数据库一次:{}", flowCardId); return baseMapper.queryProductNameByFlowCardId(flowCardId); } } hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -15,6 +15,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -106,15 +107,15 @@ } else { upPattenUsageService.deleteTask(engineering.getEngineerId()); engineeringService.deleteTask(engineering.getEngineerId()); glassInfoService.deleteTask(engineering.getEngineerId()); // glassInfoService.deleteTask(engineering.getEngineerId()); return Result.build(200, "请重新点击上片" + engineering.getEngineerId(), true); } } catch (Exception e) { log.info("异常信息:{}", e); log.error("异常信息:{}", e); upPattenUsageService.deleteTask(engineering.getEngineerId()); engineeringService.deleteTask(engineering.getEngineerId()); glassInfoService.deleteTask(engineering.getEngineerId()); // upPattenUsageService.deleteTask(engineering.getEngineerId()); // engineeringService.deleteTask(engineering.getEngineerId()); // glassInfoService.deleteTask(engineering.getEngineerId()); return Result.build(200, "保存失败" + engineering.getEngineerId(), false); } } hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/controller/HollowGlassRelationInfoController.java
@@ -49,8 +49,8 @@ @ApiOperation("缺片玻璃信息详情") @PostMapping("/queryLackGlassByFlowCard") public Result<List<GlassInfo>> queryLackGlassByFlowCard(@RequestBody HollowBigStorageDetailsQueryVO query) { List<GlassInfo> lackGlassList = hollowGlassRelationInfoService.queryLackGlassByFlowCard(query); public Result<List<LackDetailsDTO>> queryLackGlassByFlowCard(@RequestBody HollowBigStorageDetailsQueryVO query) { List<LackDetailsDTO> lackGlassList = hollowGlassRelationInfoService.queryLackGlassByFlowCard(query); return Result.success(lackGlassList); } hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassRelationInfoMapper.java
@@ -28,6 +28,6 @@ List<LackDetailsDTO> queryLackByFlowCard(@Param("flowCardId") String flowCardId); List<GlassInfo> queryLackGlassByFlowCard(@Param("flowCardId") String flowCardId, @Param("orderSort") Integer orderSort, @Param("layer") Integer layer); List<LackDetailsDTO> queryLackGlassByFlowCard(@Param("flowCardId") String flowCardId, @Param("orderSort") Integer orderSort, @Param("layer") Integer layer); } hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowGlassRelationInfoService.java
@@ -12,6 +12,7 @@ import com.mes.hollow.entity.vo.HollowBigStorageDetailsQueryVO; import java.util.List; import java.util.Map; /** * (HollowGlassRelationInfo)表服务接口 @@ -55,6 +56,6 @@ OrderDetailsDTO queryProductNameByFlowCardId(String flowCardId, String productName, String customerName); List<GlassInfo> queryLackGlassByFlowCard(HollowBigStorageDetailsQueryVO query); List<LackDetailsDTO> queryLackGlassByFlowCard(HollowBigStorageDetailsQueryVO query); } hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
@@ -445,13 +445,13 @@ } @Override public List<GlassInfo> queryLackGlassByFlowCard(HollowBigStorageDetailsQueryVO query) { public List<LackDetailsDTO> queryLackGlassByFlowCard(HollowBigStorageDetailsQueryVO query) { return baseMapper.queryLackGlassByFlowCard(query.getFlowCardId(), query.getOrderSort(), query.getLayer()); } @Override public OrderDetailsDTO queryProductNameByFlowCardId(String flowCardId, String productName, String customerName) { OrderDetailsDTO dto = hollowGlassOutRelationInfoService.queryProductNameByFlowCardId(flowCardId); OrderDetailsDTO dto = ordersService.queryProductNameByFlowCardId(flowCardId); if ((StringUtils.isBlank(productName) || dto.getProductName().contains(productName)) && (StringUtils.isBlank(customerName) || dto.getCustomerName().contains(customerName))) { return dto; } hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -105,20 +105,20 @@ @Scheduled(fixedDelay = 5000) public void hollowGlassTaskOne() { hollowGlassTaskChild(930, CMJ1ModbusTcp.readUInt16(42027 - offset) + "", "HollowGlassOne"); hollowGlassTaskChild(930, "", "HollowGlassOne"); } @Scheduled(fixedDelay = 5000) public void hollowGlassTaskTwo() { S7DataZKExtra s7DataZKExtra = s7SerializerZKQ2.read(S7DataZKExtra.class); hollowGlassTaskChild(931, (s7DataZKExtra.getIsFree() ? 1 : 0) + "", "HollowGlassTwo"); hollowGlassTaskChild(931, "", "HollowGlassTwo"); } @Scheduled(fixedDelay = 5000) public void hollowGlassTaskThree() { S7DataZKExtra s7DataZKExtra = s7SerializerZKQ2.read(S7DataZKExtra.class); //todo:暂无三线的空闲状态信号,临时标签空闲状态 hollowGlassTaskChild(932, (s7DataZKExtra.getIsFree03() ? 1 : 0) + "", "HollowGlassThree"); hollowGlassTaskChild(932, "", "HollowGlassThree"); } public void hollowGlassTaskChild(int cell, String isFreeTag, String websocketName) { @@ -154,9 +154,9 @@ public void queryDataSource1(JSONObject jsonObject) throws Exception { S7DataZKDLPOne s7DataZKDLPOne = s7SerializerZKDLPOne.read(S7DataZKDLPOne.class); S7DataZKDLPTwo s7DataZKDLPTwo = s7SerializerZKDLPTwo.read(S7DataZKDLPTwo.class); S7DataZKExtra s7DataZKExtra = s7SerializerZKQ2.read(S7DataZKExtra.class); // S7DataZKDLPOne s7DataZKDLPOne = s7SerializerZKDLPOne.read(S7DataZKDLPOne.class); // S7DataZKDLPTwo s7DataZKDLPTwo = s7SerializerZKDLPTwo.read(S7DataZKDLPTwo.class); // S7DataZKExtra s7DataZKExtra = s7SerializerZKQ2.read(S7DataZKExtra.class); List<Double> carPostion = new ArrayList<>(); carPostion.add(0.25); carPostion.add(0.5); @@ -164,150 +164,150 @@ //界面展示笼子信息 jsonObject.append("bigStorageCageInfos", hollowBigStorageCageDetailsService.queryHollowbigStorageCageDetail()); try { //进片任务数据 List<BigStorageTaskVO> inTaskList = new ArrayList(); String fromOpcUa = s7DataZKDLPOne.getFrom1().toString(); for (int i = 0; i < 6; i++) { String requestWord = ""; String stateWord = ""; String targetSlotWord = ""; switch (i) { case 0: requestWord = s7DataZKDLPOne.getId1(); stateWord = s7DataZKDLPOne.getState1().toString(); targetSlotWord = s7DataZKDLPOne.getTo1().toString(); break; case 1: requestWord = s7DataZKDLPOne.getId2(); stateWord = s7DataZKDLPOne.getState2().toString(); targetSlotWord = s7DataZKDLPOne.getTo2().toString(); break; case 2: requestWord = s7DataZKDLPOne.getId3(); stateWord = s7DataZKDLPOne.getState3().toString(); targetSlotWord = s7DataZKDLPOne.getTo3().toString(); break; case 3: requestWord = s7DataZKDLPOne.getId4(); stateWord = s7DataZKDLPOne.getState4().toString(); targetSlotWord = s7DataZKDLPOne.getTo4().toString(); break; case 4: requestWord = s7DataZKDLPOne.getId5(); stateWord = s7DataZKDLPOne.getState5().toString(); targetSlotWord = s7DataZKDLPOne.getTo5().toString(); break; case 5: requestWord = s7DataZKDLPOne.getId6(); stateWord = s7DataZKDLPOne.getState6().toString(); targetSlotWord = s7DataZKDLPOne.getTo6().toString(); break; } if (StringUtils.isNotEmpty(requestWord)) { BigStorageTaskVO task = new BigStorageTaskVO(); task.setGlassId(requestWord); int isExistCount = hollowBigStorageCageDetailsService.count(new LambdaQueryWrapper<HollowBigStorageCageDetails>().in(HollowBigStorageCageDetails::getGlassId, task.getGlassId()) .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL)); if (isExistCount > 0) { task.setIsSame(1); } else { task.setIsSame(0); } task.setStartSlot(Integer.parseInt(fromOpcUa)); task.setTargetSlot(Integer.parseInt(targetSlotWord)); task.setTaskState(Integer.parseInt(stateWord)); inTaskList.add(task); continue; } } jsonObject.append("bigStorageCageDetailsFeedTask", inTaskList); } catch (Exception e) { //todo:不做任务处理 } try { //进片联机 Boolean inkageEntity = s7DataZKDLPOne.getMesControl(); jsonObject.append("inkageEntity", inkageEntity); //进片请求 String requestEntity = s7DataZKDLPOne.getRequestMes().toString(); jsonObject.append("requestEntity", requestEntity); //启动命令 String mesReplyEntity = s7DataZKDLPOne.getMesReply().toString(); jsonObject.append("mesReplyEntity", mesReplyEntity); //出片联机 String outInkageEntity = s7DataZKDLPTwo.getMesControl().toString(); jsonObject.append("outInkageEntity", outInkageEntity); //出片请求 String outRequestEntity = s7DataZKDLPTwo.getRequestMes().toString(); jsonObject.append("outInkageEntity", outInkageEntity); //930空闲信号 jsonObject.append("freeOneRequestEntity", CMJ1ModbusTcp.readUInt16(42027 - offset)); //931空闲信号 jsonObject.append("freeTwoRequestEntity", s7DataZKExtra.getIsFree()); //932空闲信号 jsonObject.append("freeThreeRequestEntity", s7DataZKExtra.getIsFree()); } catch (Exception e) { //todo:不做任务处理 } //出片任务数据 List<BigStorageCageTask> outTaskList = new ArrayList<>(); for (int i = 0; i < 6; i++) { BigStorageCageTask bigStorageCageTask = new BigStorageCageTask(); String glassId = ""; Integer startSlot = 0; Integer targetSlot = 0; Integer taskState = 0; switch (i) { case 0: glassId = s7DataZKDLPTwo.getId1(); startSlot = s7DataZKDLPTwo.getFrom1(); targetSlot = s7DataZKDLPTwo.getTo1(); taskState = s7DataZKDLPTwo.getState1(); ; break; case 1: glassId = s7DataZKDLPTwo.getId2(); startSlot = s7DataZKDLPTwo.getFrom2(); targetSlot = s7DataZKDLPTwo.getTo2(); taskState = s7DataZKDLPTwo.getState2(); break; case 2: glassId = s7DataZKDLPTwo.getId3(); startSlot = s7DataZKDLPTwo.getFrom3(); targetSlot = s7DataZKDLPTwo.getTo3(); taskState = s7DataZKDLPTwo.getState3(); break; case 3: glassId = s7DataZKDLPTwo.getId4(); startSlot = s7DataZKDLPTwo.getFrom4(); targetSlot = s7DataZKDLPTwo.getTo4(); taskState = s7DataZKDLPTwo.getState4(); break; case 4: glassId = s7DataZKDLPTwo.getId5(); startSlot = s7DataZKDLPTwo.getFrom5(); targetSlot = s7DataZKDLPTwo.getTo5(); taskState = s7DataZKDLPTwo.getState5(); break; case 5: glassId = s7DataZKDLPTwo.getId6(); startSlot = s7DataZKDLPTwo.getFrom6(); targetSlot = s7DataZKDLPTwo.getTo6(); taskState = s7DataZKDLPTwo.getState6(); break; } if (StringUtils.isNotEmpty(glassId)) { bigStorageCageTask.setGlassId(glassId); bigStorageCageTask.setStartSlot(startSlot); bigStorageCageTask.setTargetSlot(targetSlot); bigStorageCageTask.setTaskState(taskState); outTaskList.add(bigStorageCageTask); } } jsonObject.append("bigStorageCageDetailsOutTask", outTaskList); // try { // //进片任务数据 // List<BigStorageTaskVO> inTaskList = new ArrayList(); // String fromOpcUa = s7DataZKDLPOne.getFrom1().toString(); // for (int i = 0; i < 6; i++) { // String requestWord = ""; // String stateWord = ""; // String targetSlotWord = ""; // switch (i) { // case 0: // requestWord = s7DataZKDLPOne.getId1(); // stateWord = s7DataZKDLPOne.getState1().toString(); // targetSlotWord = s7DataZKDLPOne.getTo1().toString(); // break; // case 1: // requestWord = s7DataZKDLPOne.getId2(); // stateWord = s7DataZKDLPOne.getState2().toString(); // targetSlotWord = s7DataZKDLPOne.getTo2().toString(); // break; // case 2: // requestWord = s7DataZKDLPOne.getId3(); // stateWord = s7DataZKDLPOne.getState3().toString(); // targetSlotWord = s7DataZKDLPOne.getTo3().toString(); // break; // case 3: // requestWord = s7DataZKDLPOne.getId4(); // stateWord = s7DataZKDLPOne.getState4().toString(); // targetSlotWord = s7DataZKDLPOne.getTo4().toString(); // break; // case 4: // requestWord = s7DataZKDLPOne.getId5(); // stateWord = s7DataZKDLPOne.getState5().toString(); // targetSlotWord = s7DataZKDLPOne.getTo5().toString(); // break; // case 5: // requestWord = s7DataZKDLPOne.getId6(); // stateWord = s7DataZKDLPOne.getState6().toString(); // targetSlotWord = s7DataZKDLPOne.getTo6().toString(); // break; // } // if (StringUtils.isNotEmpty(requestWord)) { // BigStorageTaskVO task = new BigStorageTaskVO(); // task.setGlassId(requestWord); // int isExistCount = hollowBigStorageCageDetailsService.count(new LambdaQueryWrapper<HollowBigStorageCageDetails>().in(HollowBigStorageCageDetails::getGlassId, task.getGlassId()) // .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL)); // if (isExistCount > 0) { // task.setIsSame(1); // } else { // task.setIsSame(0); // } // task.setStartSlot(Integer.parseInt(fromOpcUa)); // task.setTargetSlot(Integer.parseInt(targetSlotWord)); // task.setTaskState(Integer.parseInt(stateWord)); // inTaskList.add(task); // continue; // } // } // jsonObject.append("bigStorageCageDetailsFeedTask", inTaskList); // } catch (Exception e) { // //todo:不做任务处理 // } // try { // //进片联机 // Boolean inkageEntity = s7DataZKDLPOne.getMesControl(); // jsonObject.append("inkageEntity", inkageEntity); // //进片请求 // String requestEntity = s7DataZKDLPOne.getRequestMes().toString(); // jsonObject.append("requestEntity", requestEntity); // //启动命令 // String mesReplyEntity = s7DataZKDLPOne.getMesReply().toString(); // jsonObject.append("mesReplyEntity", mesReplyEntity); // //出片联机 // String outInkageEntity = s7DataZKDLPTwo.getMesControl().toString(); // jsonObject.append("outInkageEntity", outInkageEntity); // //出片请求 // String outRequestEntity = s7DataZKDLPTwo.getRequestMes().toString(); // jsonObject.append("outInkageEntity", outInkageEntity); // //930空闲信号 // jsonObject.append("freeOneRequestEntity", CMJ1ModbusTcp.readUInt16(42027 - offset)); // //931空闲信号 // jsonObject.append("freeTwoRequestEntity", s7DataZKExtra.getIsFree()); // //932空闲信号 // jsonObject.append("freeThreeRequestEntity", s7DataZKExtra.getIsFree()); // } catch (Exception e) { // //todo:不做任务处理 // } // // //出片任务数据 // List<BigStorageCageTask> outTaskList = new ArrayList<>(); // for (int i = 0; i < 6; i++) { // // BigStorageCageTask bigStorageCageTask = new BigStorageCageTask(); // String glassId = ""; // Integer startSlot = 0; // Integer targetSlot = 0; // Integer taskState = 0; // switch (i) { // case 0: // glassId = s7DataZKDLPTwo.getId1(); // startSlot = s7DataZKDLPTwo.getFrom1(); // targetSlot = s7DataZKDLPTwo.getTo1(); // taskState = s7DataZKDLPTwo.getState1(); // ; // break; // case 1: // glassId = s7DataZKDLPTwo.getId2(); // startSlot = s7DataZKDLPTwo.getFrom2(); // targetSlot = s7DataZKDLPTwo.getTo2(); // taskState = s7DataZKDLPTwo.getState2(); // break; // case 2: // glassId = s7DataZKDLPTwo.getId3(); // startSlot = s7DataZKDLPTwo.getFrom3(); // targetSlot = s7DataZKDLPTwo.getTo3(); // taskState = s7DataZKDLPTwo.getState3(); // break; // case 3: // glassId = s7DataZKDLPTwo.getId4(); // startSlot = s7DataZKDLPTwo.getFrom4(); // targetSlot = s7DataZKDLPTwo.getTo4(); // taskState = s7DataZKDLPTwo.getState4(); // break; // case 4: // glassId = s7DataZKDLPTwo.getId5(); // startSlot = s7DataZKDLPTwo.getFrom5(); // targetSlot = s7DataZKDLPTwo.getTo5(); // taskState = s7DataZKDLPTwo.getState5(); // break; // case 5: // glassId = s7DataZKDLPTwo.getId6(); // startSlot = s7DataZKDLPTwo.getFrom6(); // targetSlot = s7DataZKDLPTwo.getTo6(); // taskState = s7DataZKDLPTwo.getState6(); // break; // } // if (StringUtils.isNotEmpty(glassId)) { // bigStorageCageTask.setGlassId(glassId); // bigStorageCageTask.setStartSlot(startSlot); // bigStorageCageTask.setTargetSlot(targetSlot); // bigStorageCageTask.setTaskState(taskState); // outTaskList.add(bigStorageCageTask); // } // } // jsonObject.append("bigStorageCageDetailsOutTask", outTaskList); //调度开关 boolean dispatchHollowSwitch = false; hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/application-dev.yml
@@ -5,7 +5,7 @@ strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候回抛出异常,不启动会使用默认数据源. datasource: northGlassMes: url: jdbc:mysql://127.0.0.1:3306/yw_mes?serverTimezone=GMT%2b8 url: jdbc:mysql://127.0.0.1:3306/north_glass_mes?serverTimezone=GMT%2b8 username: root password: beibo.123/ driver-class-name: com.mysql.cj.jdbc.Driver @@ -24,7 +24,7 @@ discovery: server-addr: 127.0.0.1:8848 redis: database: 1 database: 0 host: 127.0.0.1 port: 6379 password: 123456 hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowBigStorageCageHistoryTaskMapper.xml
@@ -51,7 +51,7 @@ WITH big_storage_cage_history_task_temp AS (SELECT DISTINCT create_time FROM hollow_big_storage_cage_history_task WHERE task_type = 5 AND DATE ( create_time ) = '${days} ), WHERE task_type = 5 AND DATE ( create_time ) = '${days}' ), time_temp AS ( SELECT date (create_time) AS day_time, @@ -60,7 +60,7 @@ FROM hollow_big_storage_cage_history_task WHERE Date ( create_time ) = '${days} Date ( create_time ) = '${days}' GROUP BY date ( create_time ) ), hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml
@@ -13,38 +13,50 @@ <result column="lack_count" property="lackCount"/> <result column="damage_count" property="damageCount"/> </resultMap> <select id="queryLackByFlowCard" resultType="com.mes.hollow.entity.dto.LackDetailsDTO"> with hollow_flow_temp AS ( SELECT DISTINCT flow_card_id FROM hollow_big_storage_cage_details WHERE state = 100 <if test="flowCardId != null and flowCardId != ''"> and flow_card_id = #{flowCardId} </if> ) , glass_temp as ( select t1.* from hollow_flow_temp t INNER JOIN glass_info t1 on t.flow_card_id = t1.flow_card_id ) , detail_temp as ( select t.* from glass_temp t left join hollow_big_storage_cage_details t1 on t.glass_id = t1.glass_id where t1.glass_id is null ) , damage_ranked AS ( SELECT t.flow_card_id, t.layer, t.glass_id, t.glass_type, t.width, t.height, t.filmsId, t.thickness, case when type in (7, 8) and status = 1 then '' else t1.working_procedure end as working_procedure, ROW_NUMBER() OVER (PARTITION BY t1.glass_id ORDER BY t1.id DESC) as rn FROM detail_temp t inner join damage t1 on t.glass_id = t1.glass_id ) , damage_latest AS ( SELECT * FROM damage_ranked WHERE rn = 1 ) select * from damage_latest <select id="queryLackByFlowCard" resultMap="lackBaseMap"> <select id="queryFlowCardIdMaxLayerGlassInfo" resultMap="baseMap"> with temp_flow as (SELECT t.process_id, t.order_id, t.order_number, t.technology_number, t.quantity, t1.child_width, t1.child_height from pp.flow_card t LEFT JOIN sd.order_glass_detail t1 on t.order_id = t1.order_id and t.order_number = t1.order_number and t.technology_number = t1.technology_number where t.process_id = #{flowCardId}), glass_info_temp as ( select process_id, order_id, GREATEST(child_width, child_height) as first_length, least(child_width, child_height) as second_length, child_width, child_height, order_number, technology_number, quantity from temp_flow where technology_number = #{totalLayer} ) select row_number() over (order by second_length desc,first_length desc) as rn, t.* from glass_info_temp t </select> <select id="queryAllLackByFlowCard" resultMap="lackBaseMap"> with flow_card_id_info as ( @@ -105,39 +117,19 @@ from hollow_glass_relation_info where flow_card_id = #{flowCardId} </select> <select id="queryLackGlassByFlowCard" resultType="com.mes.glassinfo.entity.GlassInfo"> with glass_id_info as ( select glass_id,order_sort from hollow_glass_relation_info where flow_card_id=#{flowCardId} and order_sort=#{orderSort} and layer=#{layer} and glass_id is not null ), damage_glass_id as ( select glass_id from damage where process_id=#{flowCardId} and order_number=#{orderSort} and technology_number=#{layer} and type=8 and status < 3 and glass_id is not null ) select t.* from glass_info t left join glass_id_info t1 on t.glass_id=t1.glass_id left join damage_glass_id t2 on t.glass_id=t2.glass_id where t.flow_card_id=#{flowCardId} and t.glass_type=#{orderSort} and t.layer=#{layer} and t1.glass_id is null and t2.glass_id is null </select> <select id="queryLackByFlowCard" resultType="com.mes.hollow.entity.dto.LackDetailsDTO"> with hollow_flow_temp AS ( SELECT DISTINCT flow_card_id FROM hollow_big_storage_cage_details WHERE state = 100 <if test="flowCardId != null and flowCardId != ''"> and flow_card_id = #{flowCardId} </if> ) , glass_temp as ( select t1.* from hollow_flow_temp t INNER JOIN glass_info t1 on t.flow_card_id = t1.flow_card_id <select id="queryLackGlassByFlowCard" resultType="com.mes.hollow.entity.dto.LackDetailsDTO"> with glass_temp as ( select * from glass_info where flow_card_id = #{flowCardId} and glass_type = #{orderSort} and layer = #{layer} ) , detail_temp as ( select t.* from glass_temp t left join hollow_big_storage_cage_details t1 on t.glass_id = t1.glass_id where t1.glass_id is null left join hollow_big_storage_cage_details t1 on t.glass_id = t1.glass_id and t1.state not in (8, 9) WHERE t1.glass_id is null ) , damage_ranked AS ( SELECT t.flow_card_id, @@ -150,8 +142,8 @@ t.thickness, case when type in (7, 8) and status = 1 then '' else t1.working_procedure end as working_procedure, ROW_NUMBER() OVER (PARTITION BY t1.glass_id ORDER BY t1.id DESC) as rn else t1.working_procedure end as working_procedure, ROW_NUMBER() OVER (PARTITION BY t1.glass_id ORDER BY t1.id DESC) as rn FROM detail_temp t inner join damage t1 on t.glass_id = t1.glass_id ) @@ -162,9 +154,9 @@ ) select * from damage_latest </select> <update id="clearDirtyFlowCardData"> update tempering_glass_relation_info set shelf_order = null