From b3bcf1594fba5dd2d1535fe49288543cc8644ad6 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin <khd@123> Date: Mon, 1 Apr 2024 13:55:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9C=E7=8F=AD=E5=B7=A1=E6=A3=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/mes/controller/MesBoardController.java | 6 ++-- .../java/com/op/mes/mapper/MesMapper.java | 2 +- .../quality/domain/QcCheckReportIncome.java | 9 +++++ .../op/quality/domain/QcCheckTaskProduce.java | 9 +++++ .../com/op/quality/domain/QcStaticTable.java | 10 +++++- .../quality/mapper/QcStaticTableMapper.java | 2 ++ .../impl/QcCheckReportProduceServiceImpl.java | 1 + .../impl/QcStaticTableServiceImpl.java | 8 ++++- .../quality/QcCheckTaskProduceMapper.xml | 6 ++-- .../mapper/quality/QcStaticTableMapper.xml | 28 +++++++++++++++ .../com/op/sap/controller/SapController.java | 35 ++++++++++++++++++- .../op/sap/service/impl/SapItemSyncImpl.java | 6 ++++ 12 files changed, 113 insertions(+), 9 deletions(-) diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java index 5b792d07..8c1f9f8c 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/MesBoardController.java @@ -36,7 +36,7 @@ public class MesBoardController extends BaseController { /**计划产量、当前产量、15天的产量趋势图**/ @PostMapping("/getProduction15Days") - public AjaxResult getProduction15Days(BoardDTO mesBoard) { + public AjaxResult getProduction15Days(@RequestBody BoardDTO mesBoard) { if (StringUtils.isBlank(mesBoard.getFactoryCode())) { return error("[facotryCode] 不能为空"); } @@ -48,9 +48,9 @@ public class MesBoardController extends BaseController { /**产线信息**/ @PostMapping("/getProductionLineInfo") - public AjaxResult getProductionLineInfo(BoardDTO mesBoard) { + public AjaxResult getProductionLineInfo(@RequestBody BoardDTO mesBoard) { if (StringUtils.isBlank(mesBoard.getFactoryCode())) { - return error("[facotryCode] 不能为空"); + return error("[factoryCode] 不能为空"); } if (StringUtils.isBlank(mesBoard.getEquCode())) { return error("[equCode] 不能为空"); diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java index 82fed22b..063a71a6 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java @@ -77,7 +77,7 @@ public interface MesMapper { List<BoardDTO> getLineList(BoardDTO boardDTO); - @MapKey("dayStr") + @MapKey("productDate") Map<String, MesReportWork> getProduction15Days(BoardDTO boardDTO); BoardDTO getWorkOrder(BoardDTO boardDTO); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java index 5afc755e..130ecf4f 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java @@ -185,6 +185,15 @@ public class QcCheckReportIncome extends BaseEntity { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date confirmTime; private Boolean myself; + private String shiftId; + + public String getShiftId() { + return shiftId; + } + + public void setShiftId(String shiftId) { + this.shiftId = shiftId; + } public Boolean getMyself() { return myself; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java index df8df2f1..acbc55e5 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskProduce.java @@ -205,6 +205,15 @@ public class QcCheckTaskProduce extends BaseEntity { private String confirm; private String confirmRemark; private String confirmTime; + private String shiftId; + + public String getShiftId() { + return shiftId; + } + + public void setShiftId(String shiftId) { + this.shiftId = shiftId; + } public String getConfirm() { return confirm; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java index a3e86420..9a69cc94 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java @@ -41,7 +41,7 @@ public class QcStaticTable extends BaseEntity { private String typeCode; private String checkResult; private String noOkBatchRate; - + private String shiftId; private String ymArrayStart; private String ymArrayEnd; private List<String> legendData; @@ -106,6 +106,14 @@ public class QcStaticTable extends BaseEntity { private List<HashMap> details; private String[] projectNoArray; + public String getShiftId() { + return shiftId; + } + + public void setShiftId(String shiftId) { + this.shiftId = shiftId; + } + public String[] getProjectNoArray() { return projectNoArray; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java index b2732f2e..36b64150 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java @@ -51,6 +51,8 @@ public interface QcStaticTableMapper { @MapKey("ymdms") Map<String, QcStaticTable> getProjectDetail(QcStaticTable qcStaticTable); + @MapKey("ymdms") + Map<String, QcStaticTable> getProjectDetailNight(QcStaticTable qcStaticTable); List<String> getBatchnos(String orderNo); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java index 7bceff9d..0b70e824 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java @@ -218,6 +218,7 @@ public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceSer QcStaticTable qcStaticTable = new QcStaticTable(); qcStaticTable.setOrderNo(qcCheckTaskProduce.getOrderNo()); + qcStaticTable.setShiftId(qcCheckTaskProduce.getShiftId()); List<QcStaticTable> checkInfos = qcStaticTableService.getXJCheckTableDetail(qcStaticTable); produce.setCheckInfos(checkInfos); QcCheckTaskProduce lastProduce = qcCheckReportIncomeMapper.getLastProductTypeInfo(qcCheckTaskProduce); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java index 0b74694e..ae7e83ed 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java @@ -171,7 +171,13 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { @DS("#header.poolName") public List<QcStaticTable> getXJCheckTableDetail(QcStaticTable qcStaticTable) { List<QcStaticTable> projects = qcStaticTableMapper.getXJProjects(qcStaticTable); - Map<String, QcStaticTable> detailMap = qcStaticTableMapper.getProjectDetail(qcStaticTable); + Map<String, QcStaticTable> detailMap = null; + if(qcStaticTable.getShiftId().equals("5")){ + detailMap = qcStaticTableMapper.getProjectDetail(qcStaticTable); + }else if(qcStaticTable.getShiftId().equals("2")){ + detailMap = qcStaticTableMapper.getProjectDetailNight(qcStaticTable); + } + Map<String, QcStaticTable> picsMap = qcStaticTableMapper.picsMap(qcStaticTable); for (QcStaticTable project : projects) { this.getDataFromMap(detailMap, project, picsMap); diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml index a24887af..89958265 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml @@ -82,7 +82,8 @@ <result property="confirm" column="confirm"/> <result property="confirmManCode" column="confirm_man_code"/> <result property="confirmManName" column="confirm_man_name"/> - <result property="confirmManName" column="confirm_remark"/> + <result property="confirmRemark" column="confirm_remark"/> + <result property="shiftId" column="shift_id"/> </resultMap> <sql id="selectQcCheckTaskProduceVo"> @@ -339,7 +340,7 @@ </select> <select id="selectQcCheckReportIncomeList" parameterType="QcCheckReportIncome" resultMap="QcCheckReportIncomeResult"> - select * from ( + select t.*,pow.shift_id from ( select qct.record_id, qct.check_no, qct.income_batch_no, qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit, qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status, @@ -409,6 +410,7 @@ qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_type,CONVERT(varchar(10),qct.create_time, 120), qct.confirm,qct.confirm_man_name ) t + left join pro_order_workorder pow on pow.workorder_code = t.order_no where 1=1 <if test="checkType != null "> and t.check_type = #{checkType} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml index 045f3c53..0e81d572 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml @@ -179,6 +179,34 @@ </select> + <select id="getProjectDetailNight" resultType="com.op.quality.domain.QcStaticTable"> + select qctd.record_id recordId, + qctd.project_id projectId, + qctd.status, + qctd.remark, + CONVERT(VARCHAR(5),qctd.create_time, 108), + concat(qctd.project_id, + case when '21:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '20:30' then '08' + when '22:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '21:30' then '09' + when '23:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '22:30' then '10' + when '23:59'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '23:30' then '11' + when '01:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '00:00' then '11' + when '02:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '01:30' then '12' + when '03:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '02:30' then '13' + when '04:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '03:30' then '14' + when '05:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '04:30' then '15' + when '06:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '05:30' then '16' + when '07:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '06:30' then '18' + when '08:30'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '07:30' then '19' + else '-' end + )ymdms + from qc_check_task qct + left join qc_check_task_detail qctd on qct.record_id = qctd.belong_to + where qct.order_no = #{orderNo} and qct.check_type = 'checkTypeSCXJ' and qct.check_status = '2' + order by qctd.create_time + + </select> + <select id="getBatchnos" resultType="java.lang.String"> select powb.batch_code batchCode from pro_order_workorder_batch powb diff --git a/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java index 1d80b017..f410c1ff 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/controller/SapController.java @@ -24,6 +24,10 @@ import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; @RestController @RequestMapping("/sap") @@ -66,8 +70,37 @@ public class SapController extends BaseController { @PostMapping("/itemSync") @Log(title = "同步SAP物料清单", businessType = BusinessType.SAP) public R itemSync(@RequestBody SapItemQuery qo) { + // 加载sf-cloud库的sys_datasource - return sapItemSyncService.itemSync(qo); + SysUser sysUser = new SysUser(); + sysUser.setUserId(1L); + R<List<Map<String, String>>> dateSources0 = remoteUserService.getPoolNameList(sysUser); + List<Map<String, String>> dateSources = dateSources0.getData(); + ExecutorService executorService = new ThreadPoolExecutor( + dateSources.size(), + dateSources.size(), + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue<Runnable>()); + try { + + dateSources.forEach(dateSource -> { + if(!"ds_999".equals(dateSource.get("poolName"))){ + SapItemQuery sapItemQuery = new SapItemQuery(); + sapItemQuery.setWerks(dateSource.get("poolName").replace("ds_","")); + Runnable run = () -> sapItemSyncService.itemSync(sapItemQuery); + executorService.execute(run); + } + + }); + + } catch (Exception e) { + logger.error("controller == createIncomeBatchTask == exception", e); + return R.fail("controller == createIncomeBatchTask == exception"); + } finally { + executorService.shutdown(); + } + return R.ok(); + } /** diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java index 41400e15..8cce8f66 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapItemSyncImpl.java @@ -53,6 +53,12 @@ public class SapItemSyncImpl implements SapItemSyncService { @Override public R itemSync(SapItemQuery sapItemQuery) { try { + + DynamicDataSourceContextHolder.push("ds_"+sapItemQuery.getWerks()); + //TODO; + //sapItemQuery.setLaeda(); + //sapItemQuery.setErsda(); + // 获取调用 RFC 函数对象 //获取连接 log.info("物料基础数据同步输入参数---------" + JSONObject.toJSONString(sapItemQuery));