diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml
index 83287198..40c7bc48 100644
--- a/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml
+++ b/op-modules/op-device/src/main/resources/mapper/device/EquRepairOrderMapper.xml
@@ -352,7 +352,7 @@
from sys_notice_group sng
left join sys_notice sn on sng.notice_id = sn.notice_id
left join base_team_user btu on sng.group_code = btu.team_code
- where sng.notice_id = #{noticeId}
+ where sng.notice_id = #{noticeId} and sng.del_flag = '0'
diff --git a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java
index bab4d908..d413ab74 100644
--- a/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java
+++ b/op-modules/op-open/src/main/java/com/op/open/controller/OpenController.java
@@ -92,7 +92,7 @@ public class OpenController extends BaseController {
}
/**
- * 创建生产过程(烘房 首检)检验
+ * 创建生产过程(首检)检验
*/
@PostMapping(value = "/createCheckProduceTask")
public AjaxResult createCheckProduceTask(@RequestBody QcCheckTaskProduceDTO qcCheckTaskProduce) {
@@ -116,6 +116,34 @@ public class OpenController extends BaseController {
return toAjax(openService.insertQcCheckTaskProduce(qcCheckTaskProduce));
}
+ /**
+ * 创建批次成品检验
+ */
+ @PostMapping(value = "/createCheckProductTask")
+ public AjaxResult createCheckProductTask(@RequestBody QcCheckTaskProduceDTO qcCheckTaskProduce) {
+
+ if (StringUtils.isBlank(qcCheckTaskProduce.getOrderNo())) {
+ return error("[orderNo]不能为空");
+ }
+ if (StringUtils.isBlank(qcCheckTaskProduce.getIncomeBatchNo())) {
+ return error("[incomeBatchNo]不能为空");
+ }
+ if (StringUtils.isBlank(qcCheckTaskProduce.getMaterialName())) {
+ return error("[materialName]不能为空");
+ }
+ if (StringUtils.isBlank(qcCheckTaskProduce.getMaterialCode())) {
+ return error("[materialCode]不能为空");
+ }
+ if (StringUtils.isBlank(qcCheckTaskProduce.getCheckType())) {
+ return error("[checkType]不能为空");
+ }
+ if (StringUtils.isBlank(qcCheckTaskProduce.getFactoryCode())) {
+ return error("[factoryCode]不能为空");
+ }
+ //添加检测任务
+ return toAjax(openService.insertQcCheckTaskProduce(qcCheckTaskProduce));
+ }
+
/**
* ===============ZL0010-来料检验不合格控制流程提交 :"workflowId": 26235=============
*
diff --git a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java
index fa441c9a..d73b7a56 100644
--- a/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java
+++ b/op-modules/op-open/src/main/java/com/op/open/mapper/OpenMapper.java
@@ -91,5 +91,7 @@ public interface OpenMapper {
List getNoticesGroup(SysNoticeGroup noticeQo);
EquEquipmentDTO selectEquipmentDetailByEquipmentCode(String equipmentCode);
+
+ List getNotices(SysNoticeGroup noticeQo);
}
diff --git a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java
index cd0fdf20..4d49b5cc 100644
--- a/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java
+++ b/op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java
@@ -75,8 +75,7 @@ public class OpenServiceImpl implements OpenService {
@Autowired
private OpenMapper openMapper;
- @Autowired
- private RemoteOpenService remoteOpenService;
+ private static Pattern p2= Pattern.compile("<[^>]+>");
/**
* 下一工序机台集合获取
@@ -373,7 +372,7 @@ public class OpenServiceImpl implements OpenService {
logger.info("上位机报修企业微信提醒请求:" + JSONObject.toJSONString(wecharts));
if (!CollectionUtils.isEmpty(wecharts)) {
new Thread(() -> {
- AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts);
+ AjaxResult wxresult = this.sendWeChartMessage(wecharts);
logger.info("上位机报修企业微信提醒结果:" + JSONObject.toJSONString(wxresult));
}).start();
@@ -391,7 +390,7 @@ public class OpenServiceImpl implements OpenService {
// 1分钟不允许存在两条
Date lastData = openMapper.getLastTask(qcCheckTaskProduce);
if(this.oneMinHas(lastData)){
- logger.info("【重复创建首检任务】orderNo:"+qcCheckTaskProduce.getOrderNo()+";"+"incomeBatchNo:"+qcCheckTaskProduce.getIncomeBatchNo());
+ logger.info("【重复创建任务】orderNo:"+qcCheckTaskProduce.getOrderNo()+";"+"incomeBatchNo:"+qcCheckTaskProduce.getIncomeBatchNo());
return 0;
}
@@ -491,6 +490,37 @@ public class OpenServiceImpl implements OpenService {
}
int n = openMapper.addBatch(items);
logger.info(qcCheckTaskProduce.getOrderNo()+":qc_check_task_detail新增" + n + "成功");
+
+ //发企业微信--------------------开始(跟班组有关)
+ SysNoticeGroup noticeQo = new SysNoticeGroup();
+ if(qcCheckTaskProduce.getCheckType().equals("checkTypeCPPC")){
+ noticeQo.setNoticeId(12L);//批次成品检验
+ }
+
+ List notices = openMapper.getNoticesGroup(noticeQo);
+ if(!CollectionUtils.isEmpty(notices)) {
+
+ List wecharts = new ArrayList<>();
+ for (SysNoticeGroup noticedto : notices) {
+ WechartDTO wechart0 = new WechartDTO();
+ wechart0.setUserId(noticedto.getWxId());
+ String contentInfo = noticedto.getNoticeContent();
+ contentInfo = contentInfo.replace("${checkNo}", qcCheckTaskProduce.getCheckNo()+"\n");
+ Matcher matcher = p2.matcher(contentInfo);
+ contentInfo = matcher.replaceAll("");
+ wechart0.setText(contentInfo);
+ wecharts.add(wechart0);
+ }
+ logger.info("来料检验企业微信提醒请求:" + JSONObject.toJSONString(wecharts));
+ if (!CollectionUtils.isEmpty(wecharts)) {
+ new Thread(() -> {
+ AjaxResult wxresult = this.sendWeChartMessage(wecharts);
+ logger.info("来料检验企业微信提醒结果:" + JSONObject.toJSONString(wxresult));
+
+ }).start();
+ }
+ //发企业微信--------------------结束
+ }
return n;
}
diff --git a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml
index 97d1f036..c6e8efcb 100644
--- a/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml
+++ b/op-modules/op-open/src/main/resources/mapper/open/OpenMapper.xml
@@ -396,7 +396,7 @@
from sys_notice_group sng
left join sys_notice sn on sng.notice_id = sn.notice_id
left join base_team_user btu on sng.group_code = btu.team_code
- where sng.notice_id = #{noticeId}
+ where sng.notice_id = #{noticeId} and sng.del_flag = '0'
+
diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java
index 25462d04..213ea450 100644
--- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java
+++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskWarehousingController.java
@@ -157,7 +157,7 @@ public class QcCheckTaskWarehousingController extends BaseController {
}
/**
- * 生产过程检验:巡检任务生产
+ * 成品检验:成品检验任务
**/
@PostMapping("/createCPBatchTask")
public R createCPBatchTask() {
diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java
index 0d9cd041..fbbf3fdc 100644
--- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java
+++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java
@@ -121,10 +121,9 @@ public class QcCheckTypeProjectController extends BaseController {
return toAjax(qcCheckTypeProjectService.submitProjects(typeProjects));
}
- //获取方案下拉
+ //获取方案分页
@GetMapping("/getProjectOptions")
public List getProjectOptions(QcCheckProject qcCheckProject) {
- startPage();
List list = qcCheckTypeProjectService.getProjectOptions(qcCheckProject);
return list;
}
diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java
index d1497c14..04c3d0a1 100644
--- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java
+++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskWarehousing.java
@@ -177,6 +177,23 @@ public class QcCheckTaskWarehousing extends BaseEntity {
private BigDecimal bNoOkquality;
private BigDecimal cNoOkquality;
private String workorderCode;
+ private String checkName;
+
+ public String getWorkorderCode() {
+ return workorderCode;
+ }
+
+ public void setWorkorderCode(String workorderCode) {
+ this.workorderCode = workorderCode;
+ }
+
+ public String getCheckName() {
+ return checkName;
+ }
+
+ public void setCheckName(String checkName) {
+ this.checkName = checkName;
+ }
public BigDecimal getaNoOkquality() {
return aNoOkquality;
diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskProduceMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskProduceMapper.java
index 0fd8942b..fa317379 100644
--- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskProduceMapper.java
+++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTaskProduceMapper.java
@@ -86,4 +86,6 @@ public interface QcCheckTaskProduceMapper {
public List getOrderWorksW2(ProOrderWorkorderDTO qoWork);
public QcCheckTaskProduce getLastXJTask(QcCheckTaskProduce productTask);
+
+ public List getOrderWorksW3(ProOrderWorkorderDTO qoWork);
}
diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java
index c6ec10d6..f5b66fd4 100644
--- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java
+++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java
@@ -96,6 +96,8 @@ public class QcCheckTaskIncomeServiceImpl implements
@Autowired
private QcCheckTaskUserMapper qcCheckTaskUserMapper;
+ private static Pattern p2= Pattern.compile("<[^>]+>");
+
/**
* 查询来料检验
*
@@ -284,7 +286,7 @@ public class QcCheckTaskIncomeServiceImpl implements
noticeQo.setNoticeId(6L);
List notices = qcCheckTaskIncomeMapper.getNotices(noticeQo);
if(!CollectionUtils.isEmpty(notices)) {
- Pattern p0= Pattern.compile("<[^>]+>");
+
List wecharts = new ArrayList<>();
//去主库查微信id
DynamicDataSourceContextHolder.push("master");// 这是数据源的key
@@ -297,7 +299,7 @@ public class QcCheckTaskIncomeServiceImpl implements
wechart0.setUserId(wxid);
String contentInfo = notices.get(0).getNoticeContent();
contentInfo = contentInfo.replace("${checkNo}", qcCheckTaskIncome.getCheckNo()+"\n");
- Matcher m = p0.matcher(contentInfo);
+ Matcher m = p2.matcher(contentInfo);
contentInfo = m.replaceAll("");
wechart0.setText(contentInfo);
wecharts.add(wechart0);
@@ -840,7 +842,6 @@ public class QcCheckTaskIncomeServiceImpl implements
noticeQo.setNoticeId(9L);
List notices = qcCheckTaskIncomeMapper.getNoticesGroup(noticeQo);
if(!CollectionUtils.isEmpty(notices)) {
- Pattern p= Pattern.compile("<[^>]+>");
List wecharts = new ArrayList<>();
for (SysNoticeGroup noticedto : notices) {
WechartDTO wechart0 = new WechartDTO();
@@ -851,7 +852,7 @@ public class QcCheckTaskIncomeServiceImpl implements
.replace("${checkNo}", qcCheckTaskIncome.getCheckNo()+"\n")
.replace("${supplierName}", qcCheckTaskIncome.getSupplierName()+"\n")
.replace("${quality}", qcCheckTaskIncome.getQuality()+"\n");
- Matcher m = p.matcher(contentInfo);
+ Matcher m = p2.matcher(contentInfo);
contentInfo = m.replaceAll("");
wechart0.setText(contentInfo);
wecharts.add(wechart0);
diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java
index 1ed7bd5e..bbd458c1 100644
--- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java
+++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskWarehousingServiceImpl.java
@@ -10,10 +10,13 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import ch.qos.logback.core.net.SyslogOutputStream;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.op.common.core.domain.R;
@@ -27,8 +30,11 @@ import com.op.quality.domain.*;
import com.op.quality.mapper.*;
import com.op.quality.service.IQcCheckTaskDefectService;
import com.op.quality.service.IQcCheckTaskUserService;
+import com.op.system.api.RemoteOpenService;
import com.op.system.api.RemoteUserService;
+import com.op.system.api.domain.SysNoticeGroup;
import com.op.system.api.domain.SysUser;
+import com.op.system.api.domain.dto.WechartDTO;
import com.op.system.api.domain.mes.ProOrderWorkorderDTO;
import com.op.system.api.domain.quality.QcUserMaterialDTO;
import org.slf4j.Logger;
@@ -79,6 +85,10 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
private RemoteUserService remoteUserService;
@Autowired
private QcCheckTaskProduceMapper qcCheckTaskProduceMapper;
+ @Autowired
+ private RemoteOpenService remoteOpenService;
+
+ private static Pattern p2= Pattern.compile("<[^>]+>");
/**
* 查询成品入库检验任务
*
@@ -241,6 +251,7 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
qcCheckTaskWarehousing.setSampleQuality(new BigDecimal(sampNum));
}
/**qc_check_task**/
+ qcCheckTaskWarehousing.setIncomeTime(DateUtils.getNowDate());//检验任务日期
int n = qcCheckTaskWarehousingMapper.insertQcCheckTaskWarehousing(qcCheckTaskWarehousing);
logger.info("qc_check_task:"+n+"成功");
@@ -255,9 +266,36 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
}
int s = qcCheckTaskDetailMapper.addBatch(items);
-// /**pro_order_workorder**/
-// qcCheckTaskWarehousing.setStatus("w6");
-// qcCheckTaskWarehousingMapper.updateWorkOrderStauts(qcCheckTaskWarehousing);
+ //发企业微信--------------------开始(跟班组有关)
+ SysNoticeGroup noticeQo = new SysNoticeGroup();
+ if(qcCheckTaskWarehousing.getCheckType().equals("checkTypeCP")){
+ noticeQo.setNoticeId(7L);//成品检验
+ }
+
+ List notices = qcCheckTaskIncomeMapper.getNoticesGroup(noticeQo);
+ if(!CollectionUtils.isEmpty(notices)) {
+
+ List wecharts = new ArrayList<>();
+ for (SysNoticeGroup noticedto : notices) {
+ WechartDTO wechart0 = new WechartDTO();
+ wechart0.setUserId(noticedto.getWxId());
+ String contentInfo = noticedto.getNoticeContent();
+ contentInfo = contentInfo.replace("${checkNo}", qcCheckTaskWarehousing.getCheckNo() + "\n");
+ Matcher matcher = p2.matcher(contentInfo);
+ contentInfo = matcher.replaceAll("");
+ wechart0.setText(contentInfo);
+ wecharts.add(wechart0);
+ }
+ logger.info("来料检验企业微信提醒请求:" + JSONObject.toJSONString(wecharts));
+ if (!CollectionUtils.isEmpty(wecharts)) {
+ new Thread(() -> {
+ AjaxResult wxresult = remoteOpenService.sendWeChartMessage(wecharts);
+ logger.info("来料检验企业微信提醒结果:" + JSONObject.toJSONString(wxresult));
+
+ }).start();
+ }
+ //发企业微信--------------------结束
+ }
logger.info("qc_check_task_detail:"+s+"成功");
return 1;
}
@@ -373,21 +411,15 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
ProOrderWorkorderDTO qoWork = new ProOrderWorkorderDTO();
qoWork.setStatus("w3");
//报工的
- List w3works = qcCheckTaskProduceMapper.getOrderWorksW2(qoWork);
+ List w3works = qcCheckTaskProduceMapper.getOrderWorksW3(qoWork);
for(QcCheckTaskProduce productTask:w3works){
QcCheckTaskWarehousing cpTask = new QcCheckTaskWarehousing();
productTask.setCheckType("checkTypeCP");//入库检验
productTask.setOrderNo(productTask.getWorkorderCode());
BeanUtils.copyProperties(productTask,cpTask);
- //是否已经存在入库检验
- QcCheckTaskProduce cpTask0 = qcCheckTaskProduceMapper.getLastXJTask(productTask);
- if(cpTask0 != null){
- logger.info("++++++++++++入库检验任务生成:已经存在++++++++++++++");
- }else{
- int m = insertQcCheckTaskWarehousing(cpTask);
- logger.info("++++++++++++入库检验任务生成" + m + "++++++++++++++");
- }
+ int m = insertQcCheckTaskWarehousing(cpTask);
+ logger.info("++++++++++++入库检验任务生成" + m + "++++++++++++++");
}
logger.info("++++++++++++" + poolName + "++++入库检验巡检结束++++++++++");
}
diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml
index 8f6f3aeb..23021603 100644
--- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml
+++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml
@@ -496,7 +496,7 @@
from sys_notice_group sng
left join sys_notice sn on sng.notice_id = sn.notice_id
left join base_team_user btu on sng.group_code = btu.team_code
- where sng.notice_id = #{noticeId}
+ where sng.notice_id = #{noticeId} and sng.del_flag = '0'
+
@@ -135,7 +137,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from wms_product_put wpp
left join mes_report_work mrw on wpp.work_order = mrw.report_code
where 1=1
- and wpp.work_order like concat like ('%',#{orderNo})
+ and wpp.work_order like concat ('%',#{orderNo})
order by wpp.create_time desc