From 5f8b5d042e0aac2d36908e801f003b0d29335354 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Wed, 7 May 2025 11:13:11 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pcn/api/base/IMesEquipmentLogService.java | 1 + .../apiservice/controller/busi/TestController.java | 27 ++++++++++++++-------- .../pcn/apiservice/daoimpl/MesEquipmentLogDao.java | 12 +++++----- .../serviceimpl/base/MesEquipmentLogService.java | 11 +++++++++ 4 files changed, 36 insertions(+), 15 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java index 56bff8f..e7e4f75 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java @@ -8,6 +8,7 @@ public interface IMesEquipmentLogService { void saveEquipmentLogToRedis(ActorMessage actorMessage); void saveEquipmentLogDetails(String organizeCode, String userInfo, Integer qty); + void saveEquipmentLogDetailsById(String organizeCode, String userInfo, Long id); void updateValue(EquipLogMqttMsg equipLogMqttMsg); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java index 226d67d..95766be 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java @@ -1,16 +1,13 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi; +import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEquipmentLogService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderService; import cn.estsh.i3plus.ext.mes.pcn.api.job.IMesWorkOrderOfflineRestoreService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob.MesReportNoSortJob; import cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob.MesReportWorkByPreDayJob; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; -import cn.estsh.i3plus.platform.common.convert.ConvertBean; -import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; -import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord; -import cn.estsh.i3plus.pojo.mes.bean.MesShift; -import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; +import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.pojo.mes.repository.MesProductionRecordRepository; import cn.estsh.i3plus.pojo.mes.repository.MesShiftRepository; import cn.estsh.impp.framework.boot.exception.ImppBusiException; @@ -18,13 +15,9 @@ import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; -import java.util.Arrays; -import java.util.List; import java.util.Map; -import java.util.stream.Collectors; @RestController @RequestMapping(MesCommonConstant.MES_YANFEN + "/test") @@ -51,6 +44,9 @@ public class TestController { @Autowired private IMesWorkOrderOfflineRestoreService workOrderOfflineRestoreService; + @Autowired + private IMesEquipmentLogService mesEquipmentLogService; + @GetMapping("/reportWorkByPreDayJob") @ApiOperation(value = "查询设备交互") public ResultBean queryReworkTaskByPager(String organizeCode) { @@ -96,4 +92,17 @@ public class TestController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } + + @GetMapping("/testMesSaveVariableJob") + @ApiOperation(value = "保存工艺参数job") + public ResultBean testMesSaveVariableJob(Long id) { + try { + mesEquipmentLogService.saveEquipmentLogDetailsById("CF08", MesPcnExtConstWords.JOB, id); + return ResultBean.success("操作成功"); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java index 0100e4f..4d0c9b4 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java @@ -256,9 +256,9 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao { insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_DATE_TIME, index), nowTime); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_USER, index), userInfo); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), nowTime); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DESCRIPTION, index), null); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.REMARK, index), null); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, index), null); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DESCRIPTION, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.REMARK, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, index), ""); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, index), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.AREA_CODE, index), equipmentRecord.getAreaCode()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.WORK_CENTER_CODE, index), equipmentRecord.getWorkCenterCode()); @@ -271,13 +271,13 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao { insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ORG_EQUIP_ID, index), orgEquipId); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_ID, index), equipId); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_ID, index), equipmentLog.getEquipVariableId()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_NAME, index), equipmentLog.getEquipVariableName()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_DESC, index), equipmentLog.getEquipVariableDesc()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_NAME, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_DESC, index), ""); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.READ_WRITE_FLAG, index), equipmentLog.getReadWriteFlag()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DATA_TYPE, index), equipmentLog.getDataType()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_VALUE, index), equipmentLog.getEquipVariableValue()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.VARIABLE_TYPE, index), equipmentLog.getVariableType()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, index), equipmentLog.getCategoryLevelTwo()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, index), ""); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.QUALITY, index), equipmentLog.getQuality()); index ++; diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java index f023b9d..a1dd29a 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java @@ -136,6 +136,17 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { } + @Override + public void saveEquipmentLogDetailsById(String organizeCode, String userInfo, Long id) { + + MesEquipmentRecord equipmentRecord = mesEquipmentRecordRepository.getById(id); + + if (null == equipmentRecord) return; + + saveEquipmentLogDetail(organizeCode, userInfo, 50, equipmentRecord); + + } + private void saveEquipmentLogDetail(String organizeCode, String userInfo, Integer qty, MesEquipmentRecord mesEquipmentRecord) { String key = getKey(mesEquipmentRecord); From 60bd600fdea1c877e1852afffe1ad232d3918ba5 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Wed, 7 May 2025 14:42:17 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=2046751=20MES=EF=BC=9A=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=AE=9E=E6=97=B6=E5=80=BC=E6=9F=A5=E8=AF=A2=EF=BC=8C=E6=9D=A1?= =?UTF-8?q?=E7=A0=81=E5=AD=97=E6=AE=B5=E6=B2=A1=E6=9C=89=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pcn/api/base/IMesEquipmentLogService.java | 1 - .../apiservice/controller/busi/TestController.java | 41 +- .../pcn/apiservice/daoimpl/MesEquipmentLogDao.java | 583 +++++++++++---------- .../serviceimpl/base/MesEquipmentLogService.java | 11 - 4 files changed, 305 insertions(+), 331 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java index e7e4f75..56bff8f 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java @@ -8,7 +8,6 @@ public interface IMesEquipmentLogService { void saveEquipmentLogToRedis(ActorMessage actorMessage); void saveEquipmentLogDetails(String organizeCode, String userInfo, Integer qty); - void saveEquipmentLogDetailsById(String organizeCode, String userInfo, Long id); void updateValue(EquipLogMqttMsg equipLogMqttMsg); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java index 95766be..5ce663f 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java @@ -1,13 +1,11 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi; -import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEquipmentLogService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderService; import cn.estsh.i3plus.ext.mes.pcn.api.job.IMesWorkOrderOfflineRestoreService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob.MesReportNoSortJob; import cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob.MesReportWorkByPreDayJob; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; -import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.pojo.mes.repository.MesProductionRecordRepository; import cn.estsh.i3plus.pojo.mes.repository.MesShiftRepository; import cn.estsh.impp.framework.boot.exception.ImppBusiException; @@ -44,28 +42,25 @@ public class TestController { @Autowired private IMesWorkOrderOfflineRestoreService workOrderOfflineRestoreService; - @Autowired - private IMesEquipmentLogService mesEquipmentLogService; - @GetMapping("/reportWorkByPreDayJob") @ApiOperation(value = "查询设备交互") public ResultBean queryReworkTaskByPager(String organizeCode) { return null; } - @GetMapping("/reportOrder") - @ApiOperation(value = "报工") - public void reportOrder() { - mesReportNoSortJob.executeMesJob(null, null); - - } +// @GetMapping("/reportOrder") +// @ApiOperation(value = "报工") +// public void reportOrder() { +// mesReportNoSortJob.executeMesJob(null, null); +// +// } - @GetMapping("/reportOrder1") - @ApiOperation(value = "报工") - public void reportOrder1() { - mesReportWorkByPreDayJob.executeMesJob(null, null); - - } +// @GetMapping("/reportOrder1") +// @ApiOperation(value = "报工") +// public void reportOrder1() { +// mesReportWorkByPreDayJob.executeMesJob(null, null); +// +// } @GetMapping("/MesReportSortJob") @ApiOperation(value = "排序工单汇报") @@ -93,16 +88,4 @@ public class TestController { } } - @GetMapping("/testMesSaveVariableJob") - @ApiOperation(value = "保存工艺参数job") - public ResultBean testMesSaveVariableJob(Long id) { - try { - mesEquipmentLogService.saveEquipmentLogDetailsById("CF08", MesPcnExtConstWords.JOB, id); - return ResultBean.success("操作成功"); - } catch (ImppBusiException imppException) { - return ResultBean.fail(imppException); - } catch (Exception e) { - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java index 4d0c9b4..f2f309b 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java @@ -1,290 +1,293 @@ -package cn.estsh.i3plus.ext.mes.pcn.apiservice.daoimpl; - - -import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesEquipmentLogDao; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; -import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; -import cn.estsh.i3plus.platform.common.tool.TimeTool; -import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentRecord; -import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; - -import javax.persistence.EntityManager; -import javax.persistence.Query; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.StringJoiner; -import java.util.stream.Collectors; - -@Service -public class MesEquipmentLogDao implements IMesEquipmentLogDao { - - @Value("${mes.sharding.append.org:}") - public String mesShardingAppendOrg; - - @Autowired - private EntityManager entityManager; - - @Autowired - private SnowflakeIdMaker snowflakeIdMaker; - - private final static String TWO_S_APPEND = "%s_%s"; - - private final static String[] equipmentLogDetailFields = {MesPcnExtConstWords.ID, MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, - MesPcnExtConstWords.CREATE_USER, MesPcnExtConstWords.CREATE_DATE_TIME, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, - MesPcnExtConstWords.DESCRIPTION, MesPcnExtConstWords.REMARK, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, - MesPcnExtConstWords.AREA_CODE, MesPcnExtConstWords.WORK_CENTER_CODE, MesPcnExtConstWords.WORK_CELL_CODE, MesPcnExtConstWords.EQUIPMENT_CODE, - MesPcnExtConstWords.PROCESS_CODE, MesPcnExtConstWords.CRAFT_CODE, MesPcnExtConstWords.MOULD_RECORD_ID, MesPcnExtConstWords.EXTEND, - MesPcnExtConstWords.ORG_EQUIP_ID, MesPcnExtConstWords.EQUIP_ID, MesPcnExtConstWords.EQUIP_VARIABLE_ID, MesPcnExtConstWords.EQUIP_VARIABLE_NAME, - MesPcnExtConstWords.EQUIP_VARIABLE_DESC, MesPcnExtConstWords.READ_WRITE_FLAG, MesPcnExtConstWords.DATA_TYPE, MesPcnExtConstWords.EQUIP_VARIABLE_VALUE, - MesPcnExtConstWords.VARIABLE_TYPE, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, MesPcnExtConstWords.QUALITY}; - - @Override - public List queryMesEquipmentLog(List equipmentVariableList, String organizeCode, Integer equipId, Integer variableType) { - - List equipVariableCollectContextList = generateEquipVariableCollectContextList(equipmentVariableList); - - if (CollectionUtils.isEmpty(equipmentVariableList) || StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || StringUtils.isEmpty(variableType)) return null; - - StringBuffer builder = new StringBuffer(); - - builder.append(" select e.equip_variable_id, e.equip_variable_value, e.equip_variable_status, e.quality, e.modify_date_time, e.id "); - builder.append(" from mes_equipment_log_"); - if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); - builder.append(equipId); - builder.append(" e where e.organize_code = :organizeCode and e.variable_type = :variableType "); - - Query query = entityManager.createNativeQuery(builder.toString()); - query.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, organizeCode); - query.setParameter(MesPcnExtConstWords.VARIABLE_TYPE, variableType); - List list = query.getResultList(); - - if (CollectionUtils.isEmpty(list)) return equipVariableCollectContextList; - - List equipVariableIdList = equipmentVariableList.stream().filter(o -> null != o).map(o -> o.getId().toString()).collect(Collectors.toList()); - - for (Object equipmentLog : list) { - - if (null == equipmentLog) continue; - - Object[] equipmentLogArr = (Object[]) equipmentLog; - - if (null == equipmentLogArr || equipmentLogArr.length != 6 || StringUtils.isEmpty(equipmentLogArr[0]) || !equipVariableIdList.contains(equipmentLogArr[0].toString())) continue; - - equipVariableCollectContextList.stream().filter(o -> (null != o && o.getEquipVariableId().toString().equals(equipmentLogArr[0].toString()))).findFirst().get().copyValue(equipmentLogArr[1], equipmentLogArr[2], equipmentLogArr[3], equipmentLogArr[4], equipmentLogArr[5]); - - } - - return equipVariableCollectContextList; - } - - @Override - public void updateEquipVariableStatus(String organizeCode, Integer equipId, Map equipmentLogIdMap, Integer equipVariableStatus) { - - if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipmentLogIdMap) || StringUtils.isEmpty(equipVariableStatus)) return; - - StringBuffer builder = new StringBuffer(); - - for (int i = 0; i < equipmentLogIdMap.size(); i ++) { - - builder.append(" update mes_equipment_log_"); - if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); - builder.append(equipId); - builder.append(" set equip_variable_status = :equipVariableStatus_"); - builder.append(i); - builder.append(" where id = :id_"); - builder.append(i); - builder.append(" and modify_date_time = :modifyDatetime_"); - builder.append(i); - builder.append(" ;"); - - } - - Query update = entityManager.createNativeQuery(builder.toString()); - - Integer index = 0; - for (Map.Entry entry : equipmentLogIdMap.entrySet()) { - if (null == entry) continue; - update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, index), equipVariableStatus); - update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ID, index), entry.getKey()); - update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), entry.getValue()); - index ++; - } - - update.executeUpdate(); - - } - - private List generateEquipVariableCollectContextList(List equipmentVariableList) { - List equipVariableCollectContextList = new ArrayList<>(); - if (CollectionUtils.isEmpty(equipmentVariableList)) return equipVariableCollectContextList; - equipmentVariableList.stream().filter(o -> null != o).forEach(o -> { - MesEquipVariableCollectContext equipVariableCollectContext = new MesEquipVariableCollectContext(o.getId()); - BeanUtils.copyProperties(o, equipVariableCollectContext); - equipVariableCollectContextList.add(equipVariableCollectContext); - }); - return equipVariableCollectContextList; - } - - @Override - public List queryMesEquipmentLog(String organizeCode, Integer equipId, Integer variableType, List equipVariableIdList) { - - if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || StringUtils.isEmpty(variableType) || CollectionUtils.isEmpty(equipVariableIdList)) return null; - - equipVariableIdList = equipVariableIdList.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); - - StringBuffer builder = new StringBuffer(); - - builder.append(" select e.equip_variable_id, e.equip_variable_value, e.equip_variable_status, e.quality, e.modify_date_time, e.id "); - builder.append(" from mes_equipment_log_"); - if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); - builder.append(equipId); - builder.append(" e where e.organize_code = :organizeCode and e.variable_type = :variableType "); - if (equipVariableIdList.size() == 1) builder.append(" and e.equip_variable_id = :equipVariableId "); - else builder.append(" and e.equip_variable_id in (:equipVariableId) "); - - Query query = entityManager.createNativeQuery(builder.toString()); - query.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, organizeCode); - query.setParameter(MesPcnExtConstWords.VARIABLE_TYPE, variableType); - if (equipVariableIdList.size() == 1) query.setParameter(MesPcnExtConstWords.EQUIP_VARIABLE_ID, equipVariableIdList.get(0)); - else query.setParameter(MesPcnExtConstWords.EQUIP_VARIABLE_ID, equipVariableIdList); - List list = query.getResultList(); - - return backEquipVariableCollectContextList(list); - } - - @Override - public List queryMesEquipmentLog(String organizeCode, Integer equipId, Integer variableType) { - - if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || StringUtils.isEmpty(variableType)) return null; - - StringBuffer builder = new StringBuffer(); - - builder.append(" select e.equip_variable_id, e.equip_variable_value, e.equip_variable_status, e.quality, e.modify_date_time, e.id "); - builder.append(" from mes_equipment_log_"); - if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); - builder.append(equipId); - builder.append(" e where e.organize_code = :organizeCode and e.variable_type = :variableType "); - - Query query = entityManager.createNativeQuery(builder.toString()); - query.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, organizeCode); - query.setParameter(MesPcnExtConstWords.VARIABLE_TYPE, variableType); - List list = query.getResultList(); - - return backEquipVariableCollectContextList(list); - - } - - private List backEquipVariableCollectContextList(List list) { - - if (CollectionUtils.isEmpty(list)) return null; - - List equipVariableCollectContextList = new ArrayList<>(); - - for (Object equipmentLog : list) { - - if (null == equipmentLog) continue; - - Object[] equipmentLogArr = (Object[]) equipmentLog; - - if (null == equipmentLogArr || equipmentLogArr.length != 6 || StringUtils.isEmpty(equipmentLogArr[0])) continue; - - equipVariableCollectContextList.add(new MesEquipVariableCollectContext(Long.valueOf(equipmentLogArr[0].toString())).copyValue(equipmentLogArr[1], equipmentLogArr[2], equipmentLogArr[3], equipmentLogArr[4], equipmentLogArr[5])); - - } - - return equipVariableCollectContextList; - } - - @Override - public void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, MesEquipmentRecord equipmentRecord, List equipmentLogList) { - - StringBuffer builder = new StringBuffer(); - - Integer index = 0; - for (MesEquipVariableCollectContext equipmentLog : equipmentLogList) { - if (null == equipmentLog) continue; - - builder.append(" insert into mes_equipment_log_detail_"); - if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); - builder.append(equipId); - builder.append("( id, organize_code, is_valid, is_deleted, create_user, create_date_time, modify_user, modify_date_time,"); - builder.append(" description, remark, system_sync_date_time, system_sync_status,"); - builder.append(" area_code, work_center_code, work_cell_code, equipment_code, process_code, craft_code,"); - builder.append(" mould_record_id, extend, org_equip_id, equip_id, equip_variable_id, equip_variable_name, equip_variable_desc,"); - builder.append(" read_write_flag, data_type, equip_variable_value, variable_type, category_level_two, quality)"); - builder.append(" values ( "); - - for (int i = 0; i < equipmentLogDetailFields.length; i ++) { - if (StringUtils.isEmpty(equipmentLogDetailFields[i])) continue; - - builder.append(MesPcnExtConstWords.COLON); - builder.append(equipmentLogDetailFields[i]); - builder.append(MesPcnExtConstWords.E_UNDERLINE); - builder.append(index); - if (i != equipmentLogDetailFields.length - 1) builder.append(" , "); - } - - builder.append(" );"); - - index ++; - - } - - Query insert = entityManager.createNativeQuery(builder.toString()); - - String nowTime = TimeTool.getNowTime(true); - String orgEquipId = new StringJoiner(MesPcnExtConstWords.E_UNDERLINE).add(organizeCode).add(equipId.toString()).toString(); - - index = 0; - for (MesEquipVariableCollectContext equipmentLog : equipmentLogList) { - if (null == equipmentLog) continue; - - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ID, index), snowflakeIdMaker.nextId()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ORGANIZE_CODE, index), organizeCode); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.IS_VALID, index), CommonEnumUtil.IS_VAILD.VAILD.getValue()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.IS_DELETED, index), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_USER, index), userInfo); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_DATE_TIME, index), nowTime); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_USER, index), userInfo); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), nowTime); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DESCRIPTION, index), ""); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.REMARK, index), ""); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, index), ""); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, index), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.AREA_CODE, index), equipmentRecord.getAreaCode()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.WORK_CENTER_CODE, index), equipmentRecord.getWorkCenterCode()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.WORK_CELL_CODE, index), equipmentRecord.getWorkCellCode()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIPMENT_CODE, index), equipmentRecord.getEquipmentCode()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.PROCESS_CODE, index), equipmentRecord.getProcessCode()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CRAFT_CODE, index), equipmentRecord.getCraftCode()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MOULD_RECORD_ID, index), equipmentRecord.getId()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EXTEND, index), equipmentRecord.getProduceSnJson()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ORG_EQUIP_ID, index), orgEquipId); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_ID, index), equipId); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_ID, index), equipmentLog.getEquipVariableId()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_NAME, index), ""); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_DESC, index), ""); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.READ_WRITE_FLAG, index), equipmentLog.getReadWriteFlag()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DATA_TYPE, index), equipmentLog.getDataType()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_VALUE, index), equipmentLog.getEquipVariableValue()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.VARIABLE_TYPE, index), equipmentLog.getVariableType()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, index), ""); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.QUALITY, index), equipmentLog.getQuality()); - - index ++; - } - - insert.executeUpdate(); - - } - -} +package cn.estsh.i3plus.ext.mes.pcn.apiservice.daoimpl; + + +import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesEquipmentLogDao; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; +import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; +import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentRecord; +import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.StringJoiner; +import java.util.stream.Collectors; + +@Service +public class MesEquipmentLogDao implements IMesEquipmentLogDao { + + @Value("${mes.sharding.append.org:}") + public String mesShardingAppendOrg; + + @Autowired + private EntityManager entityManager; + + @Autowired + private SnowflakeIdMaker snowflakeIdMaker; + + private final static String TWO_S_APPEND = "%s_%s"; + + private final static String[] equipmentLogDetailFields = {MesPcnExtConstWords.ID, MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, + MesPcnExtConstWords.CREATE_USER, MesPcnExtConstWords.CREATE_DATE_TIME, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, + MesPcnExtConstWords.DESCRIPTION, MesPcnExtConstWords.REMARK, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, + MesPcnExtConstWords.AREA_CODE, MesPcnExtConstWords.WORK_CENTER_CODE, MesPcnExtConstWords.WORK_CELL_CODE, MesPcnExtConstWords.EQUIPMENT_CODE, + MesPcnExtConstWords.PROCESS_CODE, MesPcnExtConstWords.CRAFT_CODE, MesPcnExtConstWords.MOULD_RECORD_ID, MesPcnExtConstWords.EXTEND, + MesPcnExtConstWords.ORG_EQUIP_ID, MesPcnExtConstWords.EQUIP_ID, MesPcnExtConstWords.EQUIP_VARIABLE_ID, MesPcnExtConstWords.EQUIP_VARIABLE_NAME, + MesPcnExtConstWords.EQUIP_VARIABLE_DESC, MesPcnExtConstWords.READ_WRITE_FLAG, MesPcnExtConstWords.DATA_TYPE, MesPcnExtConstWords.EQUIP_VARIABLE_VALUE, + MesPcnExtConstWords.VARIABLE_TYPE, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, MesPcnExtConstWords.QUALITY}; + + @Override + public List queryMesEquipmentLog(List equipmentVariableList, String organizeCode, Integer equipId, Integer variableType) { + + List equipVariableCollectContextList = generateEquipVariableCollectContextList(equipmentVariableList); + + if (CollectionUtils.isEmpty(equipmentVariableList) || StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || StringUtils.isEmpty(variableType)) return null; + + StringBuffer builder = new StringBuffer(); + + builder.append(" select e.equip_variable_id, e.equip_variable_value, e.equip_variable_status, e.quality, e.modify_date_time, e.id "); + builder.append(" from mes_equipment_log_"); + if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); + builder.append(equipId); + builder.append(" e where e.organize_code = :organizeCode and e.variable_type = :variableType "); + + Query query = entityManager.createNativeQuery(builder.toString()); + query.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, organizeCode); + query.setParameter(MesPcnExtConstWords.VARIABLE_TYPE, variableType); + List list = query.getResultList(); + + if (CollectionUtils.isEmpty(list)) return equipVariableCollectContextList; + + List equipVariableIdList = equipmentVariableList.stream().filter(o -> null != o).map(o -> o.getId().toString()).collect(Collectors.toList()); + + for (Object equipmentLog : list) { + + if (null == equipmentLog) continue; + + Object[] equipmentLogArr = (Object[]) equipmentLog; + + if (null == equipmentLogArr || equipmentLogArr.length != 6 || StringUtils.isEmpty(equipmentLogArr[0]) || !equipVariableIdList.contains(equipmentLogArr[0].toString())) continue; + + equipVariableCollectContextList.stream().filter(o -> (null != o && o.getEquipVariableId().toString().equals(equipmentLogArr[0].toString()))).findFirst().get().copyValue(equipmentLogArr[1], equipmentLogArr[2], equipmentLogArr[3], equipmentLogArr[4], equipmentLogArr[5]); + + } + + return equipVariableCollectContextList; + } + + @Override + public void updateEquipVariableStatus(String organizeCode, Integer equipId, Map equipmentLogIdMap, Integer equipVariableStatus) { + + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipmentLogIdMap) || StringUtils.isEmpty(equipVariableStatus)) return; + + StringBuffer builder = new StringBuffer(); + + for (int i = 0; i < equipmentLogIdMap.size(); i ++) { + + builder.append(" update mes_equipment_log_"); + if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); + builder.append(equipId); + builder.append(" set equip_variable_status = :equipVariableStatus_"); + builder.append(i); + builder.append(" where id = :id_"); + builder.append(i); + builder.append(" and modify_date_time = :modifyDatetime_"); + builder.append(i); + builder.append(" ;"); + + } + + Query update = entityManager.createNativeQuery(builder.toString()); + + Integer index = 0; + for (Map.Entry entry : equipmentLogIdMap.entrySet()) { + if (null == entry) continue; + update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, index), equipVariableStatus); + update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ID, index), entry.getKey()); + update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), entry.getValue()); + index ++; + } + + update.executeUpdate(); + + } + + private List generateEquipVariableCollectContextList(List equipmentVariableList) { + List equipVariableCollectContextList = new ArrayList<>(); + if (CollectionUtils.isEmpty(equipmentVariableList)) return equipVariableCollectContextList; + equipmentVariableList.stream().filter(o -> null != o).forEach(o -> { + MesEquipVariableCollectContext equipVariableCollectContext = new MesEquipVariableCollectContext(o.getId()); + BeanUtils.copyProperties(o, equipVariableCollectContext); + equipVariableCollectContextList.add(equipVariableCollectContext); + }); + return equipVariableCollectContextList; + } + + @Override + public List queryMesEquipmentLog(String organizeCode, Integer equipId, Integer variableType, List equipVariableIdList) { + + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || StringUtils.isEmpty(variableType) || CollectionUtils.isEmpty(equipVariableIdList)) return null; + + equipVariableIdList = equipVariableIdList.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); + + StringBuffer builder = new StringBuffer(); + + builder.append(" select e.equip_variable_id, e.equip_variable_value, e.equip_variable_status, e.quality, e.modify_date_time, e.id "); + builder.append(" from mes_equipment_log_"); + if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); + builder.append(equipId); + builder.append(" e where e.organize_code = :organizeCode and e.variable_type = :variableType "); + if (equipVariableIdList.size() == 1) builder.append(" and e.equip_variable_id = :equipVariableId "); + else builder.append(" and e.equip_variable_id in (:equipVariableId) "); + + Query query = entityManager.createNativeQuery(builder.toString()); + query.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, organizeCode); + query.setParameter(MesPcnExtConstWords.VARIABLE_TYPE, variableType); + if (equipVariableIdList.size() == 1) query.setParameter(MesPcnExtConstWords.EQUIP_VARIABLE_ID, equipVariableIdList.get(0)); + else query.setParameter(MesPcnExtConstWords.EQUIP_VARIABLE_ID, equipVariableIdList); + List list = query.getResultList(); + + return backEquipVariableCollectContextList(list); + } + + @Override + public List queryMesEquipmentLog(String organizeCode, Integer equipId, Integer variableType) { + + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || StringUtils.isEmpty(variableType)) return null; + + StringBuffer builder = new StringBuffer(); + + builder.append(" select e.equip_variable_id, e.equip_variable_value, e.equip_variable_status, e.quality, e.modify_date_time, e.id "); + builder.append(" from mes_equipment_log_"); + if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); + builder.append(equipId); + builder.append(" e where e.organize_code = :organizeCode and e.variable_type = :variableType "); + + Query query = entityManager.createNativeQuery(builder.toString()); + query.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, organizeCode); + query.setParameter(MesPcnExtConstWords.VARIABLE_TYPE, variableType); + List list = query.getResultList(); + + return backEquipVariableCollectContextList(list); + + } + + private List backEquipVariableCollectContextList(List list) { + + if (CollectionUtils.isEmpty(list)) return null; + + List equipVariableCollectContextList = new ArrayList<>(); + + for (Object equipmentLog : list) { + + if (null == equipmentLog) continue; + + Object[] equipmentLogArr = (Object[]) equipmentLog; + + if (null == equipmentLogArr || equipmentLogArr.length != 6 || StringUtils.isEmpty(equipmentLogArr[0])) continue; + + equipVariableCollectContextList.add(new MesEquipVariableCollectContext(Long.valueOf(equipmentLogArr[0].toString())).copyValue(equipmentLogArr[1], equipmentLogArr[2], equipmentLogArr[3], equipmentLogArr[4], equipmentLogArr[5])); + + } + + return equipVariableCollectContextList; + } + + @Override + public void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, MesEquipmentRecord equipmentRecord, List equipmentLogList) { + + StringBuffer builder = new StringBuffer(); + + Integer index = 0; + + builder.append(" insert into mes_equipment_log_detail_"); + if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); + builder.append(equipId); + builder.append("( id, organize_code, is_valid, is_deleted, create_user, create_date_time, modify_user, modify_date_time,"); + builder.append(" description, remark, system_sync_date_time, system_sync_status,"); + builder.append(" area_code, work_center_code, work_cell_code, equipment_code, process_code, craft_code,"); + builder.append(" mould_record_id, extend, org_equip_id, equip_id, equip_variable_id, equip_variable_name, equip_variable_desc,"); + builder.append(" read_write_flag, data_type, equip_variable_value, variable_type, category_level_two, quality) values "); + + for (MesEquipVariableCollectContext equipmentLog : equipmentLogList) { + if (null == equipmentLog) continue; + + builder.append(" ( "); + + for (int i = 0; i < equipmentLogDetailFields.length; i ++) { + if (StringUtils.isEmpty(equipmentLogDetailFields[i])) continue; + + builder.append(MesPcnExtConstWords.COLON); + builder.append(equipmentLogDetailFields[i]); + builder.append(MesPcnExtConstWords.E_UNDERLINE); + builder.append(index); + if (i != equipmentLogDetailFields.length - 1) builder.append(" , "); + } + + builder.append(" ) "); + if (index != equipmentLogList.size() - 1) builder.append(" , "); + + index ++; + + } + + Query insert = entityManager.createNativeQuery(builder.toString()); + + String nowTime = TimeTool.getNowTime(true); + String orgEquipId = new StringJoiner(MesPcnExtConstWords.E_UNDERLINE).add(organizeCode).add(equipId.toString()).toString(); + + index = 0; + for (MesEquipVariableCollectContext equipmentLog : equipmentLogList) { + if (null == equipmentLog) continue; + + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ID, index), snowflakeIdMaker.nextId()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ORGANIZE_CODE, index), organizeCode); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.IS_VALID, index), CommonEnumUtil.IS_VAILD.VAILD.getValue()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.IS_DELETED, index), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_USER, index), userInfo); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_DATE_TIME, index), nowTime); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_USER, index), userInfo); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), nowTime); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DESCRIPTION, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.REMARK, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, index), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.AREA_CODE, index), equipmentRecord.getAreaCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.WORK_CENTER_CODE, index), equipmentRecord.getWorkCenterCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.WORK_CELL_CODE, index), equipmentRecord.getWorkCellCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIPMENT_CODE, index), equipmentRecord.getEquipmentCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.PROCESS_CODE, index), equipmentRecord.getProcessCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CRAFT_CODE, index), equipmentRecord.getCraftCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MOULD_RECORD_ID, index), equipmentRecord.getId()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EXTEND, index), equipmentRecord.getProduceSnJson()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ORG_EQUIP_ID, index), orgEquipId); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_ID, index), equipId); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_ID, index), equipmentLog.getEquipVariableId()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_NAME, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_DESC, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.READ_WRITE_FLAG, index), equipmentLog.getReadWriteFlag()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DATA_TYPE, index), equipmentLog.getDataType()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_VALUE, index), equipmentLog.getEquipVariableValue()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.VARIABLE_TYPE, index), equipmentLog.getVariableType()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.QUALITY, index), equipmentLog.getQuality()); + + index ++; + } + + insert.executeUpdate(); + + } + +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java index a1dd29a..f023b9d 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java @@ -136,17 +136,6 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { } - @Override - public void saveEquipmentLogDetailsById(String organizeCode, String userInfo, Long id) { - - MesEquipmentRecord equipmentRecord = mesEquipmentRecordRepository.getById(id); - - if (null == equipmentRecord) return; - - saveEquipmentLogDetail(organizeCode, userInfo, 50, equipmentRecord); - - } - private void saveEquipmentLogDetail(String organizeCode, String userInfo, Integer qty, MesEquipmentRecord mesEquipmentRecord) { String key = getKey(mesEquipmentRecord); From 930acdd2afd06bc82650fae77f6704aec362b9ea Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Wed, 7 May 2025 14:42:25 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=2046751=20MES=EF=BC=9A=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=AE=9E=E6=97=B6=E5=80=BC=E6=9F=A5=E8=AF=A2=EF=BC=8C=E6=9D=A1?= =?UTF-8?q?=E7=A0=81=E5=AD=97=E6=AE=B5=E6=B2=A1=E6=9C=89=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java index f2f309b..558ef4c 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java @@ -259,9 +259,9 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao { insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_DATE_TIME, index), nowTime); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_USER, index), userInfo); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), nowTime); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DESCRIPTION, index), ""); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.REMARK, index), ""); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DESCRIPTION, index), null); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.REMARK, index), null); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, index), null); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, index), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.AREA_CODE, index), equipmentRecord.getAreaCode()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.WORK_CENTER_CODE, index), equipmentRecord.getWorkCenterCode()); @@ -274,13 +274,13 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao { insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ORG_EQUIP_ID, index), orgEquipId); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_ID, index), equipId); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_ID, index), equipmentLog.getEquipVariableId()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_NAME, index), ""); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_DESC, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_NAME, index), equipmentLog.getTagName()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_DESC, index), equipmentLog.getTagAddress()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.READ_WRITE_FLAG, index), equipmentLog.getReadWriteFlag()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DATA_TYPE, index), equipmentLog.getDataType()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_VALUE, index), equipmentLog.getEquipVariableValue()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.VARIABLE_TYPE, index), equipmentLog.getVariableType()); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, index), ""); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, index), StringUtils.isEmpty(equipmentLog.getCategoryLevelTwo()) ? null : equipmentLog.getCategoryLevelTwo()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.QUALITY, index), equipmentLog.getQuality()); index ++; From 122cb3fa32d2b64ab4da89c3df1ae01c7df0906e Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Wed, 7 May 2025 15:48:41 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=2046751=20MES=EF=BC=9A=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=AE=9E=E6=97=B6=E5=80=BC=E6=9F=A5=E8=AF=A2=EF=BC=8C=E6=9D=A1?= =?UTF-8?q?=E7=A0=81=E5=AD=97=E6=AE=B5=E6=B2=A1=E6=9C=89=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java index 558ef4c..bc13065 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java @@ -256,9 +256,9 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao { insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.IS_VALID, index), CommonEnumUtil.IS_VAILD.VAILD.getValue()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.IS_DELETED, index), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_USER, index), userInfo); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_DATE_TIME, index), nowTime); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_DATE_TIME, index), StringUtils.isEmpty(equipmentLog.getWriteDatetime()) ? nowTime : equipmentLog.getWriteDatetime()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_USER, index), userInfo); - insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), nowTime); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), StringUtils.isEmpty(equipmentLog.getWriteDatetime()) ? nowTime : equipmentLog.getWriteDatetime()); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DESCRIPTION, index), null); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.REMARK, index), null); insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, index), null);