From 300aabfa533665b6b790bb07573b1faf6d8b42b7 Mon Sep 17 00:00:00 2001 From: FCD <2453864257@qq.com> Date: Mon, 31 Mar 2025 14:08:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=95=99=E6=A0=B7=E5=A4=8D?= =?UTF-8?q?=E6=A3=80=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/system/api/RemoteQualityService.java | 3 + .../factory/RemoteQualityFallbackFactory.java | 5 + .../src/main/java/com/op/job/task/RyTask.java | 7 + .../QcCheckSampleTaskController.java | 77 ++++++ .../op/quality/domain/QcCheckSampleTask.java | 245 ++++++++++++++++++ .../domain/query/QcCheckSampleTaskQuery.java | 97 +++++++ .../mapper/QcCheckSampleTaskMapper.java | 49 ++++ .../service/IQcCheckSampleTaskService.java | 39 +++ .../impl/QcCheckSampleTaskServiceImpl.java | 88 +++++++ .../quality/QcCheckSampleTaskMapper.xml | 234 +++++++++++++++++ 10 files changed, 844 insertions(+) create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckSampleTaskController.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckSampleTask.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/domain/query/QcCheckSampleTaskQuery.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckSampleTaskMapper.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckSampleTaskService.java create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java create mode 100644 op-modules/op-quality/src/main/resources/mapper/quality/QcCheckSampleTaskMapper.xml diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java index 37aad484d..35e0b51a3 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteQualityService.java @@ -47,4 +47,7 @@ public interface RemoteQualityService { @PostMapping("/qcInventory/createCCTask") public R createCCTask(); + + @PostMapping("/qc-check-sample-task/createTask") + public R createCheckSampleTask(); } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java index 9673c5cfd..d314926ad 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteQualityFallbackFactory.java @@ -67,6 +67,11 @@ public class RemoteQualityFallbackFactory implements FallbackFactory list = qcCheckSampleTaskService.selectQcCheckSampleTaskList(query); + return getDataTable(list); + } + + + /** 获取待复检样品列表 **/ + @GetMapping("/wait-list") + public TableDataInfo waitList(QcCheckSampleTaskQuery query) { + startPage(); + List list = qcCheckSampleTaskService.selectQcWaitCheckSampleTaskList(query); + return getDataTable(list); + } + + + /** 更新留样信息 **/ + @PutMapping() + public AjaxResult updateQcCheckSampleTask(@RequestBody QcCheckSampleTask qcCheckSampleTask) { + qcCheckSampleTaskService.updateQcCheckSampleTask(qcCheckSampleTask); + return success(); + } + + /** 导出留样观察与复检记录表 **/ + @Log(title = "留样观察与复检记录表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void exportQcCheckSampleTask(HttpServletResponse response, QcCheckSampleTaskQuery query) { + List list = qcCheckSampleTaskService.selectQcCheckSampleTaskList(query); + ExcelUtil util = new ExcelUtil(QcCheckSampleTask.class); + util.exportExcel(response, list, "留样观察与复检记录表"); + } + + /** + * 同步留样检验任务 + * **/ + @PostMapping("createTask") + public AjaxResult createCheckSampleTask() { + return qcCheckSampleTaskService.createCheckSampleTask(); + } + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckSampleTask.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckSampleTask.java new file mode 100644 index 000000000..0243a9dd9 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckSampleTask.java @@ -0,0 +1,245 @@ +package com.op.quality.domain; + +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +import java.util.Date; + +/** + * + * 留样检验-实体类 + * @author 019117 + * + * + */ + +public class QcCheckSampleTask extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** id **/ + private String id; + + /** 物料名称 **/ + @Excel(name = "物料名称") + private String materialName; + + /** 来料批次号 **/ + @Excel(name = "来料批次号") + private String incomeBatchNo; + + /** 订单号 **/ + @Excel(name = "订单号") + private String workOrderCodeSap; + + /** 留样时间 **/ + @Excel(name = "留样时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date sampleTime; + + + /** 留样数量 **/ + @Excel(name = "留样数量") + private String sampleNum; + + + /** 留样存放位置 **/ + @Excel(name = "留样存放位置") + private String sampleAddress; + + /** 第一次检验人工号 **/ + private String firstCheckUserCode; + + /** 第一次检验人姓名 **/ + @Excel(name = "第一次检验人姓名") + private String firstCheckUserName; + + /** 第一次检验结果 **/ + @Excel(name = "第一次检验结果") + private String firstCheckResult; + + /** 第一次检验时间 **/ + @Excel(name = "第一次检验时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private String firstCheckTime; + + /** 第二次检验人工号 **/ + private String secondCheckUserCode; + + /** 第二次检验人姓名 **/ + @Excel(name = "第二次检验人姓名") + private String secondCheckUserName; + + /** 第二次检验结果 **/ + @Excel(name = "第二次检验结果") + private String secondCheckResult; + + /** 第二次检验时间 **/ + @Excel(name = "第二次检验时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private String secondCheckTime; + + /** 第三次检验人工号 **/ + private String thirdCheckUserCode; + + /** 第三次检验人姓名 **/ + @Excel(name = "第三次检验人姓名") + private String thirdCheckUserName; + + /** 第三次检验结果 **/ + @Excel(name = "第三次检验结果") + private String thirdCheckResult; + + /** 第三次检验时间 **/ + @Excel(name = "第三次检验时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private String thirdCheckTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getIncomeBatchNo() { + return incomeBatchNo; + } + + public void setIncomeBatchNo(String incomeBatchNo) { + this.incomeBatchNo = incomeBatchNo; + } + + public String getWorkOrderCodeSap() { + return workOrderCodeSap; + } + + public void setWorkOrderCodeSap(String workOrderCodeSap) { + this.workOrderCodeSap = workOrderCodeSap; + } + + public Date getSampleTime() { + return sampleTime; + } + + public void setSampleTime(Date sampleTime) { + this.sampleTime = sampleTime; + } + + public String getSampleNum() { + return sampleNum; + } + + public void setSampleNum(String sampleNum) { + this.sampleNum = sampleNum; + } + + public String getSampleAddress() { + return sampleAddress; + } + + public void setSampleAddress(String sampleAddress) { + this.sampleAddress = sampleAddress; + } + + public String getFirstCheckUserCode() { + return firstCheckUserCode; + } + + public void setFirstCheckUserCode(String firstCheckUserCode) { + this.firstCheckUserCode = firstCheckUserCode; + } + + public String getFirstCheckUserName() { + return firstCheckUserName; + } + + public void setFirstCheckUserName(String firstCheckUserName) { + this.firstCheckUserName = firstCheckUserName; + } + + public String getFirstCheckResult() { + return firstCheckResult; + } + + public void setFirstCheckResult(String firstCheckResult) { + this.firstCheckResult = firstCheckResult; + } + + public String getFirstCheckTime() { + return firstCheckTime; + } + + public void setFirstCheckTime(String firstCheckTime) { + this.firstCheckTime = firstCheckTime; + } + + public String getSecondCheckUserCode() { + return secondCheckUserCode; + } + + public void setSecondCheckUserCode(String secondCheckUserCode) { + this.secondCheckUserCode = secondCheckUserCode; + } + + public String getSecondCheckUserName() { + return secondCheckUserName; + } + + public void setSecondCheckUserName(String secondCheckUserName) { + this.secondCheckUserName = secondCheckUserName; + } + + public String getSecondCheckResult() { + return secondCheckResult; + } + + public void setSecondCheckResult(String secondCheckResult) { + this.secondCheckResult = secondCheckResult; + } + + public String getSecondCheckTime() { + return secondCheckTime; + } + + public void setSecondCheckTime(String secondCheckTime) { + this.secondCheckTime = secondCheckTime; + } + + public String getThirdCheckUserCode() { + return thirdCheckUserCode; + } + + public void setThirdCheckUserCode(String thirdCheckUserCode) { + this.thirdCheckUserCode = thirdCheckUserCode; + } + + public String getThirdCheckUserName() { + return thirdCheckUserName; + } + + public void setThirdCheckUserName(String thirdCheckUserName) { + this.thirdCheckUserName = thirdCheckUserName; + } + + public String getThirdCheckResult() { + return thirdCheckResult; + } + + public void setThirdCheckResult(String thirdCheckResult) { + this.thirdCheckResult = thirdCheckResult; + } + + public String getThirdCheckTime() { + return thirdCheckTime; + } + + public void setThirdCheckTime(String thirdCheckTime) { + this.thirdCheckTime = thirdCheckTime; + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/query/QcCheckSampleTaskQuery.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/query/QcCheckSampleTaskQuery.java new file mode 100644 index 000000000..83bca89eb --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/query/QcCheckSampleTaskQuery.java @@ -0,0 +1,97 @@ +package com.op.quality.domain.query; + +/** + * + * 留样检验查询实体类 + * + * @author 019117 + * @date 2025/3/25 10:50 + */ +public class QcCheckSampleTaskQuery { + + /** 时间查询条件 **/ + private String queryDate; + + /** 留样起始时间 **/ + private String startSampleDate; + + /** 留样结束时间 **/ + private String endSampleDate; + + /** 物料名称 **/ + private String materialName; + + /** 订单号 **/ + private String workOrderCodeSap; + + private String firstDate; + + private String secondDate; + + private String thirdDate; + + + public String getQueryDate() { + return queryDate; + } + + public void setQueryDate(String queryDate) { + this.queryDate = queryDate; + } + + public String getStartSampleDate() { + return startSampleDate; + } + + public void setStartSampleDate(String startSampleDate) { + this.startSampleDate = startSampleDate; + } + + public String getEndSampleDate() { + return endSampleDate; + } + + public void setEndSampleDate(String endSampleDate) { + this.endSampleDate = endSampleDate; + } + + public String getMaterialName() { + return materialName; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getWorkOrderCodeSap() { + return workOrderCodeSap; + } + + public void setWorkOrderCodeSap(String workOrderCodeSap) { + this.workOrderCodeSap = workOrderCodeSap; + } + + public String getFirstDate() { + return firstDate; + } + + public void setFirstDate(String firstDate) { + this.firstDate = firstDate; + } + + public String getSecondDate() { + return secondDate; + } + + public void setSecondDate(String secondDate) { + this.secondDate = secondDate; + } + + public String getThirdDate() { + return thirdDate; + } + + public void setThirdDate(String thirdDate) { + this.thirdDate = thirdDate; + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckSampleTaskMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckSampleTaskMapper.java new file mode 100644 index 000000000..b72f487cc --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckSampleTaskMapper.java @@ -0,0 +1,49 @@ +package com.op.quality.mapper; + +import com.op.quality.domain.QcCheckSampleTask; +import com.op.quality.domain.query.QcCheckSampleTaskQuery; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * + * reason + * + * @author 019117 + * @date 2025/3/25 + */ +@Mapper +public interface QcCheckSampleTaskMapper { + + /** + * 留样检验任务列表 + * **/ + List selectQcCheckSampleTaskList(QcCheckSampleTaskQuery query); + + /** + * 获取待复检样品列表 + * **/ + List selectQcWaitCheckSampleTaskList(QcCheckSampleTaskQuery query); + + + /** + * 更新留样信息 + * + * @param qcCheckSampleTask 成品留样实体类 + **/ + void updateQcCheckSampleTask(QcCheckSampleTask qcCheckSampleTask); + + + /** + * 获取每天首检任务的各物料的第一条数据 + * **/ + List selectScTaskListByDay(); + + + /** + * 批量插入留样检验列表 + * **/ + + int batchInsertQcCheckSampleTask(List list); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckSampleTaskService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckSampleTaskService.java new file mode 100644 index 000000000..b5a7a8371 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckSampleTaskService.java @@ -0,0 +1,39 @@ +package com.op.quality.service; + +import com.op.common.core.web.domain.AjaxResult; +import com.op.quality.domain.QcCheckSampleTask; +import com.op.quality.domain.query.QcCheckSampleTaskQuery; + +import java.util.List; + +/** + * + * @author 019117 + * @date 2025/3/25 + */ +public interface IQcCheckSampleTaskService { + + /** + * 留样检验任务列表 + * **/ + List selectQcCheckSampleTaskList(QcCheckSampleTaskQuery query); + + + /** + * 获取待复检样品列表 + * **/ + List selectQcWaitCheckSampleTaskList(QcCheckSampleTaskQuery query); + + + /** + * 更新留样信息 + * **/ + void updateQcCheckSampleTask(QcCheckSampleTask qcCheckSampleTask); + + + /** + * 同步留样检验任务 + * **/ + AjaxResult createCheckSampleTask(); + +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java new file mode 100644 index 000000000..98fc5e3ad --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckSampleTaskServiceImpl.java @@ -0,0 +1,88 @@ +package com.op.quality.service.impl; + +import com.alibaba.nacos.client.naming.utils.CollectionUtils; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.core.web.domain.AjaxResult; +import com.op.quality.domain.QcCheckSampleTask; +import com.op.quality.domain.query.QcCheckSampleTaskQuery; +import com.op.quality.mapper.QcCheckSampleTaskMapper; +import com.op.quality.service.IQcCheckSampleTaskService; +import com.op.system.api.RemoteUserService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +import static com.op.common.core.web.domain.AjaxResult.success; + +/** + * + * + * + * @author 019117 + * @date 2025/3/25 + */ +@Service() +public class QcCheckSampleTaskServiceImpl implements IQcCheckSampleTaskService { + + protected Logger logger = LoggerFactory.getLogger(getClass()); + + @Resource + private QcCheckSampleTaskMapper qcCheckSampleTaskMapper; + + @Resource + private RemoteUserService remoteUserService; + + /** + * 留样检验任务列表 + * **/ + @Override + @DS("#header.poolName") + public List selectQcCheckSampleTaskList(QcCheckSampleTaskQuery query) { + return qcCheckSampleTaskMapper.selectQcCheckSampleTaskList(query); + } + + /** + * 获取待复检样品列表 + * + * @param query + **/ + @Override + @DS("#header.poolName") + public List selectQcWaitCheckSampleTaskList(QcCheckSampleTaskQuery query) { + return qcCheckSampleTaskMapper.selectQcWaitCheckSampleTaskList(query); + } + + /** + * 更新留样信息 + * + * @param qcCheckSampleTask 成品留样实体类 + **/ + @Override + @DS("#header.poolName") + public void updateQcCheckSampleTask(QcCheckSampleTask qcCheckSampleTask) { + qcCheckSampleTaskMapper.updateQcCheckSampleTask(qcCheckSampleTask); + } + + /** + * 同步留样检验任务操作 + **/ + @Override + public AjaxResult createCheckSampleTask() { + // 这是数据源的key + DynamicDataSourceContextHolder.push("ds_1000"); + List list = qcCheckSampleTaskMapper.selectScTaskListByDay(); + if (!CollectionUtils.isEmpty(list)) { + for (QcCheckSampleTask item : list) { + item.setId(IdUtils.fastSimpleUUID()); + } + qcCheckSampleTaskMapper.batchInsertQcCheckSampleTask(list); + } + return success(); + } + +} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckSampleTaskMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckSampleTaskMapper.xml new file mode 100644 index 000000000..eb863e8fb --- /dev/null +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckSampleTaskMapper.xml @@ -0,0 +1,234 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + update qc_check_sample_task + + + sample_time = #{sampleTime}, + + + sample_Num = #{sampleNum}, + + + sample_Address = #{sampleAddress}, + + + first_check_user_code = #{firstCheckUserCode}, + + + first_check_user_name = #{firstCheckUserName}, + + + first_check_result = #{firstCheckResult}, + + + first_check_time = #{firstCheckTime}, + + + second_check_user_code = #{secondCheckUserCode}, + + + second_check_user_name = #{secondCheckUserName}, + + + second_check_result = #{secondCheckResult}, + + + second_check_time = #{secondCheckTime}, + + + third_check_user_code = #{thirdCheckUserCode}, + + + third_check_user_name = #{thirdCheckUserName}, + + + third_check_result = #{thirdCheckResult}, + + + third_check_time = #{thirdCheckTime}, + + update_time = getDate() + + where id = #{id} + + + + + + + INSERT INTO qc_check_sample_task ( + id, + material_name, + income_batch_no, + work_order_code_sap, + create_time + ) + VALUES + + ( + #{item.id}, + #{item.materialName}, + #{item.incomeBatchNo}, + #{item.workOrderCodeSap}, + #{item.createTime} + ) + + + + + \ No newline at end of file