From 478e70ca22014e9d7638be6021411d72c6034145 Mon Sep 17 00:00:00 2001 From: FCD <2453864257@qq.com> Date: Mon, 3 Nov 2025 09:55:00 +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=E4=BB=BB=E5=8A=A1=E6=8F=90=E9=86=92=EF=BC=8C=E7=95=99?= =?UTF-8?q?=E6=A0=B7=E5=A4=8D=E6=A3=80=E4=BB=BB=E5=8A=A1=E8=A7=A6=E5=8F=91?= =?UTF-8?q?OA=E6=B5=81=E7=A8=8B?= 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 | 6 + .../QcCheckSampleTaskController.java | 30 +++ .../quality/domain/QcCheckSampleSignTask.java | 24 +- .../op/quality/domain/QcCheckSampleTask.java | 116 ++++++++- .../domain/query/QcCheckSampleTaskQuery.java | 20 ++ .../mapper/QcCheckSampleTaskMapper.java | 16 +- .../service/IQcCheckSampleTaskService.java | 8 + .../impl/QcCheckSampleTaskServiceImpl.java | 238 +++++++++++++++++- .../quality/QcCheckSampleTaskMapper.xml | 209 +++++++++++---- 11 files changed, 602 insertions(+), 73 deletions(-) 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 35e0b51a3..fecacc087 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 @@ -50,4 +50,7 @@ public interface RemoteQualityService { @PostMapping("/qc-check-sample-task/createTask") public R createCheckSampleTask(); + + @PostMapping("/qc-check-sample-task/sendSampleRemind") + public R syncSendSampleCheckRemind(); } 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 d314926ad..f2f433df4 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 @@ -72,6 +72,11 @@ public class RemoteQualityFallbackFactory implements FallbackFactory resultList; + public String getId() { return id; } @@ -279,4 +307,68 @@ public class QcCheckSampleTask extends BaseEntity { public void setSampleUserName(String sampleUserName) { this.sampleUserName = sampleUserName; } + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public List getResultList() { + return resultList; + } + + public void setResultList(List resultList) { + this.resultList = resultList; + } + + public String getHalfYearCheckResult() { + return halfYearCheckResult; + } + + public void setHalfYearCheckResult(String halfYearCheckResult) { + this.halfYearCheckResult = halfYearCheckResult; + } + + public String getHalfYearCheckUserName() { + return halfYearCheckUserName; + } + + public void setHalfYearCheckUserName(String halfYearCheckUserName) { + this.halfYearCheckUserName = halfYearCheckUserName; + } + + public String getHalfYearCheckTime() { + return halfYearCheckTime; + } + + public void setHalfYearCheckTime(String halfYearCheckTime) { + this.halfYearCheckTime = halfYearCheckTime; + } + + public String getOneYearCheckResult() { + return oneYearCheckResult; + } + + public void setOneYearCheckResult(String oneYearCheckResult) { + this.oneYearCheckResult = oneYearCheckResult; + } + + public String getOneYearCheckUserName() { + return oneYearCheckUserName; + } + + public void setOneYearCheckUserName(String oneYearCheckUserName) { + this.oneYearCheckUserName = oneYearCheckUserName; + } + + public String getOneYearCheckTime() { + return oneYearCheckTime; + } + + public void setOneYearCheckTime(String oneYearCheckTime) { + this.oneYearCheckTime = oneYearCheckTime; + } } 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 index 83bca89eb..e60b9ce4a 100644 --- 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 @@ -30,6 +30,10 @@ public class QcCheckSampleTaskQuery { private String thirdDate; + private String searchFlag; + + private String intervalDate; + public String getQueryDate() { return queryDate; @@ -94,4 +98,20 @@ public class QcCheckSampleTaskQuery { public void setThirdDate(String thirdDate) { this.thirdDate = thirdDate; } + + public String getSearchFlag() { + return searchFlag; + } + + public void setSearchFlag(String searchFlag) { + this.searchFlag = searchFlag; + } + + public String getIntervalDate() { + return intervalDate; + } + + public void setIntervalDate(String intervalDate) { + this.intervalDate = intervalDate; + } } 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 index 8541b5649..b7c78bdf0 100644 --- 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 @@ -2,6 +2,7 @@ package com.op.quality.mapper; import com.op.quality.domain.QcCheckSampleSignTask; import com.op.quality.domain.QcCheckSampleTask; +import com.op.quality.domain.QcCheckSampleTaskResult; import com.op.quality.domain.query.QcCheckSampleTaskQuery; import org.apache.ibatis.annotations.Mapper; @@ -55,7 +56,7 @@ public interface QcCheckSampleTaskMapper { /** - * 批量插入留样检验列表 + * 插入留样检验列表 * **/ int insertQcCheckSampleTask(QcCheckSampleTask params); @@ -64,4 +65,17 @@ public interface QcCheckSampleTaskMapper { * * **/ QcCheckSampleTask selectQcCheckSampleTask(QcCheckSampleTask params); + + /** + *根据id获取留样检验任务 + * **/ + QcCheckSampleTask selectQcCheckSampleTaskById(String id); + + List selectQcCheckSampleTaskResultByTaskId(String taskId); + + Long selectQcCheckSampleTaskResultId(QcCheckSampleTaskResult params); + + void insertQcCheckSampleTaskResult(QcCheckSampleTaskResult params); + + void insertQcCheckSampleSignTask( QcCheckSampleSignTask params); } 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 index 5ed946c49..e4935293c 100644 --- 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 @@ -3,6 +3,7 @@ package com.op.quality.service; import com.op.common.core.web.domain.AjaxResult; import com.op.quality.domain.QcCheckSampleSignTask; import com.op.quality.domain.QcCheckSampleTask; +import com.op.quality.domain.QcCheckSampleTaskResult; import com.op.quality.domain.query.QcCheckSampleTaskQuery; import java.util.List; @@ -42,4 +43,11 @@ public interface IQcCheckSampleTaskService { * **/ AjaxResult createCheckSampleTask(); + void submitCheckSampleTaskZl0030(QcCheckSampleTaskResult params); + + void insertQcCheckSampleSignTask(QcCheckSampleSignTask params); + + void sendSampleCheckRemind(); + + } 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 index 1bf5f19cc..5a312ba5f 100644 --- 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 @@ -1,22 +1,33 @@ package com.op.quality.service.impl; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson2.JSONObject; 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.DateUtils; +import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.core.utils.uuid.UUID; import com.op.common.core.web.domain.AjaxResult; import com.op.quality.domain.QcCheckSampleSignTask; import com.op.quality.domain.QcCheckSampleTask; +import com.op.quality.domain.QcCheckSampleTaskResult; import com.op.quality.domain.query.QcCheckSampleTaskQuery; import com.op.quality.mapper.QcCheckSampleTaskMapper; +import com.op.quality.mapper.QcCheckTaskIncomeMapper; import com.op.quality.service.IQcCheckSampleTaskService; -import com.op.system.api.RemoteUserService; +import com.op.system.api.RemoteOpenService; +import com.op.system.api.domain.SysNoticeGroup; +import com.op.system.api.domain.dto.WechartDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; import static com.op.common.core.web.domain.AjaxResult.success; @@ -35,13 +46,59 @@ public class QcCheckSampleTaskServiceImpl implements IQcCheckSampleTaskService { @Resource private QcCheckSampleTaskMapper qcCheckSampleTaskMapper; + @Resource + private RemoteOpenService remoteOpenService; + + @Resource + private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper; /** * 留样检验任务列表 * **/ @Override @DS("#header.poolName") public List selectQcCheckSampleTaskList(QcCheckSampleTaskQuery query) { - return qcCheckSampleTaskMapper.selectQcCheckSampleTaskList(query); + List list = qcCheckSampleTaskMapper.selectQcCheckSampleTaskList(query); + for (QcCheckSampleTask task : list) { + List results = qcCheckSampleTaskMapper.selectQcCheckSampleTaskResultByTaskId(task.getId()); + if (results != null && !results.isEmpty()) { + for (QcCheckSampleTaskResult result : results) { + String user = result.getCreateUserName(); + String isQualified = result.getIsQualified(); + String checkTime = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", result.getCreateTime()); + switch (result.getCheckTimes()) { + case 1: + task.setFirstCheckTime(checkTime); + task.setFirstCheckUserName(user); + task.setFirstCheckResult(isQualified); + break; + case 2: + task.setSecondCheckTime(checkTime); + task.setSecondCheckUserName(user); + task.setSecondCheckResult(isQualified); + break; + case 3: + task.setThirdCheckTime(checkTime); + task.setThirdCheckUserName(user); + task.setThirdCheckResult(isQualified); + break; + case 6: + task.setHalfYearCheckTime(checkTime); + task.setHalfYearCheckUserName(user); + task.setHalfYearCheckResult(isQualified); + break; + case 12: + task.setOneYearCheckTime(checkTime); + task.setOneYearCheckUserName(user); + task.setOneYearCheckResult(isQualified); + break; + default: break; + } + } + } + } + return list; + + } @@ -62,7 +119,15 @@ public class QcCheckSampleTaskServiceImpl implements IQcCheckSampleTaskService { @Override @DS("#header.poolName") public List selectQcWaitCheckSampleTaskList(QcCheckSampleTaskQuery query) { - return qcCheckSampleTaskMapper.selectQcWaitCheckSampleTaskList(query); + List list = qcCheckSampleTaskMapper.selectQcWaitCheckSampleTaskList(query); + //获取检验结果 + for (QcCheckSampleTask task : list) { + List results = qcCheckSampleTaskMapper.selectQcCheckSampleTaskResultByTaskId(task.getId()); + if (results != null && !results.isEmpty()) { + task.setResultList(results); + } + } + return list; } /** @@ -97,4 +162,169 @@ public class QcCheckSampleTaskServiceImpl implements IQcCheckSampleTaskService { return success(); } + @Override + @DS("#header.poolName") + public void submitCheckSampleTaskZl0030(QcCheckSampleTaskResult params) { + + QcCheckSampleTask task = qcCheckSampleTaskMapper.selectQcCheckSampleTaskById(params.getSampleTaskId()); + + if (ObjectUtil.isEmpty(task)){ + throw new RuntimeException("留样复检任务不存在"); + } + + Long id = qcCheckSampleTaskMapper.selectQcCheckSampleTaskResultId(params); + + //不合格发起OA流程 + if ("N".equals(params.getQualified()) && "0".equals(params.getIsApplyOa()) ){ + //新增留样检验发起oa流程记录 + + + //发起来料检验OA流程 + Map paramMap = new HashMap<>(); + //提交人工号 + paramMap.put("user",params.getCreateBy()); + //流程紧急度 + paramMap.put("requestLevel",0); + //流程名称 + paramMap.put("requestName","ZL0030-品质异常流程-留样复检-"+"(产品名称:"+task.getMaterialName()+")"); + //该流程对应的唯 + paramMap.put("workflowId","187461"); + + StringBuffer mainObject = new StringBuffer(); + mainObject.append("{"); + //产品名称 + mainObject.append("\"CPMC\":"+"\""+task.getMaterialName()+"\""); + //产品编码 + mainObject.append(",\"CPBM\":"+"\""+task.getMaterialCode()+"\""); + //0品质保障部 + mainObject.append(",\"SQBM\":"+"\""+params.getApplyDept()+"\""); + //申请人:默认当前用户 + mainObject.append(",\"SQR\":"+"\""+"MSL#"+params.getCreateBy()+"\""); + //申请时间 + mainObject.append(",\"SQSJ\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd",new Date())+"\""); + //所属车间 + mainObject.append(",\"SCCJ\":"+"\""+"MSD#"+params.getWorkshop()+"\""); + //生产批号 + mainObject.append(",\"SCPH\":"+"\""+task.getIncomeBatchNo()+"\""); + //生产数量 + mainObject.append(",\"SCSL\":"+params.getQuantity()); + //发现地点 + mainObject.append(",\"FXDD\":"+"\""+params.getFindPlace()+"\""); + //发现日期 + mainObject.append(",\"FXRQ\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd",new Date())+"\""); + //编号:流水号 年月日+四位流水号 + mainObject.append(",\"BH\":"+"\""+id+"\""); +// mainObject.append(",\"BH\":"+"\""+"202510230001"+"\""); + //*异常范围:下拉框榄菊所有工厂 1代表小榄工厂 + mainObject.append(",\"YCFW\":"+"\""+params.getExcRange()+"\""); + //品质异常描述 + mainObject.append(",\"PZYCMS\":"+"\""+params.getReason()+"\""); + if (StringUtils.isNotBlank(params.getRemark())){ + //备注 + mainObject.append(",\"Notes\":"+"\""+params.getRemark()+"\""); + } + //*是否需要主管审核 1否 0是 + mainObject.append(",\"SFXYZG\":"+"\""+params.getIsNeedAudit()+"\""); + //QC主管:SFXYZG字段为"是",则此项选择QC主管信息 + mainObject.append(",\"PGZG\":"+"\""+"MSL#"+params.getQcManager()+"\""); + //质量主管 660:朱继新 + mainObject.append(",\"PGZR\":"+"\""+"MSL#"+params.getQtManager()+"\""); + //*是否供应商问题 1非供应商问题 0是供应商问题 + mainObject.append(",\"SFGYSWT\":"+"\""+params.getIsSupplierIssue()+"\""); + + mainObject.append("}"); + paramMap.put("mainObject",mainObject.toString()); + + logger.info("流程Id 187461:"+ JSONObject.toJSONString(paramMap)); + + + AjaxResult res = remoteOpenService.OAInspection(paramMap); + + if (res.isSuccess()){ + params.setRequestId(res.get("data").toString()); + } + + } + + params.setId(id); + qcCheckSampleTaskMapper.insertQcCheckSampleTaskResult(params); + + } + + @Override + @DS("#header.poolName") + public void insertQcCheckSampleSignTask(QcCheckSampleSignTask task) { + if (StringUtils.isEmpty(task.getWorkOrderCodeSap())){ + throw new RuntimeException("工单号不能为空"); + } + if (!task.getWorkOrderCodeSap().startsWith("000")){ + task.setWorkOrderCodeSap("000"+task.getWorkOrderCodeSap()); + } + task.setId(IdUtils.fastSimpleUUID()); + qcCheckSampleTaskMapper.insertQcCheckSampleSignTask(task); + } + + @Override + public void sendSampleCheckRemind() { + //获取今天是几号 + String nowDate = DateUtils.parseDateToStr("dd", new Date()); + DynamicDataSourceContextHolder.push("ds_1000"); + try { + //获取需要发送的人员以及发送的模板 + SysNoticeGroup noticeQo = new SysNoticeGroup(); + noticeQo.setNoticeId(26L); + List notices = qcCheckTaskIncomeMapper.getNoticesGroup(noticeQo); + //1号发送6、12个月 + if ("01".equals(nowDate)){ + //间隔6个月 + handleSendMessage(notices, -6); + //间隔12个月 + handleSendMessage(notices, -12); + } + //15号发送1、2、3个月 + if ("15".equals(nowDate)){ + //间隔1个月 + handleSendMessage(notices, -1); + //间隔2个月 + handleSendMessage(notices, -2); + //间隔3个月 + handleSendMessage(notices, -3); + } + }finally { + DynamicDataSourceContextHolder.poll(); + } + + + } + + + private void handleSendMessage(List notices, Integer intervalMonth){ + QcCheckSampleTaskQuery query = new QcCheckSampleTaskQuery(); + String intervalDate = DateUtils.parseDateToStr("yyyy-MM", DateUtils.addMonths(new Date(), intervalMonth)); + query.setIntervalDate(intervalDate); + List list = qcCheckSampleTaskMapper.selectQcCheckSampleTaskList(query); + List messageList = new ArrayList<>(); + + if (!list.isEmpty()){ + List workOrderCode = list.stream() + .map(QcCheckSampleTask::getWorkOrderCodeSap) + .limit(10) + .collect(Collectors.toList()); + + for (SysNoticeGroup notice : notices) { + WechartDTO message = new WechartDTO(); + message.setUserId(notice.getWxId()); + String contentInfo = notice.getNoticeContent(); + contentInfo = contentInfo + .replace("${month}", Math.abs(intervalMonth)+"") + .replace("${workOrderCodes}", workOrderCode.toString()); + message.setText(contentInfo); + messageList.add(message); + } + } + + remoteOpenService.sendWeChartMessage(messageList); + + } + } 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 index 8ca6f1e5e..841849d4d 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckSampleTaskMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckSampleTaskMapper.xml @@ -6,6 +6,7 @@ + @@ -34,25 +35,18 @@ - select - id, material_name, income_batch_no, work_order_code_sap, sample_time, - first_check_user_code, first_check_user_name, first_check_result, first_check_time, - second_check_user_code, second_check_user_name, second_check_result, second_check_time, - third_check_user_code, third_check_user_name, third_check_result, third_check_time - from qc_check_sample_task + SELECT + t.id, + t.material_name, + t.income_batch_no, + t.work_order_code_sap, + t.sample_time + FROM ( + SELECT + t.id, + t.material_name, + t.income_batch_no, + t.work_order_code_sap , + FORMAT ( t.sample_time, 'yyyy-MM' ) AS sample_date, + t.sample_time, + COALESCE ( r.check_times, 0 ) check_times + FROM qc_check_sample_task t + LEFT JOIN qc_check_sample_result r ON t.id = r.sample_task_id + ) t - - and CONVERT(VARCHAR(10), sample_time ,23) #{firstDate} - and first_check_result is null + t.sample_date is not null + + AND sample_date CASE WHEN DAY(GETDATE()) 14 THEN FORMAT(DATEADD(MONTH, -1, GETDATE()), 'yyyy-MM') ELSE FORMAT(GETDATE(), 'yyyy-MM') END + + + AND sample_date CASE WHEN DAY(GETDATE()) 14 THEN FORMAT(DATEADD(MONTH, -2, GETDATE()), 'yyyy-MM') ELSE FORMAT(DATEADD(MONTH, -1, GETDATE()), 'yyyy-MM') END + + + AND sample_date CASE WHEN DAY(GETDATE()) 14 THEN FORMAT(DATEADD(MONTH, -3, GETDATE()), 'yyyy-MM') ELSE FORMAT(DATEADD(MONTH, -2, GETDATE()), 'yyyy-MM') END + + + AND FORMAT(DATEADD(mm, -6, GETDATE()), 'yyyy-MM') >= t.sample_date + + + AND FORMAT(DATEADD(mm, -12, GETDATE()), 'yyyy-MM') >= t.sample_date - - UNION - select - id, material_name, income_batch_no, work_order_code_sap, sample_time, - first_check_user_code, first_check_user_name, first_check_result, first_check_time, - second_check_user_code, second_check_user_name, second_check_result, second_check_time, - third_check_user_code, third_check_user_name, third_check_result, third_check_time - from qc_check_sample_task - - - and CONVERT(VARCHAR(10), sample_time ,23) #{secondDate} - and second_check_result is null - - - UNION - select - id, material_name, income_batch_no, work_order_code_sap, sample_time, - first_check_user_code, first_check_user_name, first_check_result, first_check_time, - second_check_user_code, second_check_user_name, second_check_result, second_check_time, - third_check_user_code, third_check_user_name, third_check_result, third_check_time - from qc_check_sample_task - - - and CONVERT(VARCHAR(10), sample_time ,23) #{thirdDate} - and third_check_result is null + + and t.work_order_code_sap like concat('%', #{workOrderCodeSap}, '%') + + GROUP BY t.id, t.material_name, t.income_batch_no, t.work_order_code_sap, t.sample_time + + HAVING SUM(t.check_times) 1 + + + HAVING SUM(t.check_times) 3 + + + HAVING SUM(t.check_times) 6 + + + HAVING SUM(t.check_times) 12 + + + HAVING SUM(t.check_times) 24 + + ORDER BY t.sample_time desc @@ -173,6 +191,9 @@ first_check_result = #{firstCheckResult}, + + first_check_reason = #{firstCheckReason}, + first_check_time = #{firstCheckTime}, @@ -185,6 +206,9 @@ second_check_result = #{secondCheckResult}, + + second_check_reason = #{secondCheckReason}, + second_check_time = #{secondCheckTime}, @@ -197,6 +221,9 @@ third_check_result = #{thirdCheckResult}, + + third_check_reason = #{thirdCheckReason}, + third_check_time = #{thirdCheckTime}, @@ -298,5 +325,77 @@ WHERE material_name = #{materialName} AND work_order_code_sap = #{workOrderCodeSap} + + + + + + + + + insert into qc_check_sample_result ( + id,sample_task_id,check_times,quantity,qualified,apply_dept,find_place,supplier_issue, + exc_range,workshop,need_audit,qc_manager,qt_manager,reason,request_id,remark,create_by,create_user_name,create_time,is_apply_oa + ) + VALUES + ( + #{id},#{sampleTaskId},#{checkTimes},#{quantity},#{qualified},#{applyDept},#{findPlace},#{isSupplierIssue}, + #{excRange},#{workshop},#{isNeedAudit},#{qcManager},#{qtManager},#{reason},#{requestId},#{remark},#{createBy},#{createUserName},GETDATE(),#{isApplyOa} + ) + + + + + + INSERT INTO qc_check_sample_task ( + id, + material_name, + income_batch_no, + work_order_code_sap, + sample_num, + sample_user_code, + sample_user_name, + sample_time, + create_time + ) + VALUES + ( + #{id}, + #{materialName}, + #{incomeBatchNo}, + #{workOrderCodeSap}, + #{sampleNum}, + #{sampleUserCode}, + #{sampleUserName}, + #{sampleTime}, + #{createTime} + ) + \ No newline at end of file