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 fa4910b8..efaedba0 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 @@ -95,7 +95,6 @@ public class OpenController extends BaseController { @PostMapping(value = "/createCheckProduceTask") public AjaxResult createCheckProduceTask(@RequestBody QcCheckTaskProduceDTO qcCheckTaskProduce) { - if (StringUtils.isBlank(qcCheckTaskProduce.getOrderNo())) { return error("[orderNo]不能为空"); } 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 3bd8ad5f..53e36544 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 @@ -11,6 +11,7 @@ import com.op.system.api.domain.quality.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -82,5 +83,7 @@ public interface OpenMapper { public int addCheckUsers(@Param("list") List users); String getSampNum(QcCheckTaskProduceDTO sampQua); + + Date getLastTask(QcCheckTaskProduceDTO qcCheckTaskProduce); } 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 71ec4418..effe61ea 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 @@ -303,16 +303,11 @@ public class OpenServiceImpl implements OpenService { public int insertQcCheckTaskProduce(QcCheckTaskProduceDTO qcCheckTaskProduce) { DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskProduce.getFactoryCode()); - - // 创建两个日期时间对象 -// LocalDateTime dateTime1 = LocalDateTime.of(2023, 1, 1, 10, 30); // 2023年1月1日 10:30 -// LocalDateTime dateTime2 = LocalDateTime.now(); // 2023年1月2日 11:45 -// // 计算分钟差 -// long minutesBetween = Duration.between(dateTime1, dateTime2).toMinutes(); -// if(minutesBetween<=1){ -// logger.info("++++++++++++检验任务1分钟内生成过,不再重复创建++++++++++++++"); -// return 0; -// } + // 1分钟不允许存在两条 + Date lastData = openMapper.getLastTask(qcCheckTaskProduce); + if(this.oneMinHas(lastData)){ + return 0; + } qcCheckTaskProduce.setCreateTime(DateUtils.getNowDate()); @@ -504,4 +499,36 @@ public class OpenServiceImpl implements OpenService { return error(e.getMessage()); } } + + + protected Boolean oneMinHas(Date lastData){ + if(lastData != null){ + int year= Integer.parseInt(String.format("%tY", lastData)); + int mon= Integer.parseInt(String .format("%tm", lastData)); + int day= Integer.parseInt(String .format("%td", lastData)); + int h= Integer.parseInt(String .format("%tH", lastData)); + int m= Integer.parseInt(String .format("%tM", lastData)); + + LocalDateTime dateTime1 = LocalDateTime.of(year, mon, day, h, m); // 2023年1月1日 10:30 + LocalDateTime dateTime2 = LocalDateTime.now(); // 2023年1月2日 11:45 + // 计算分钟差 + long minutesBetween = Duration.between(dateTime1, dateTime2).toMinutes(); + if(minutesBetween<=1){ + logger.info("++++++++++++检验任务1分钟内生成过,不再重复创建++++++++++++++"); + return true; + } + } + return false; + } + + public static void main(String args[]){ + // 创建两个日期时间对象 + LocalDateTime dateTime1 = LocalDateTime.of(2024, 4, 18, 9, 33); // 2023年1月1日 10:30 + LocalDateTime dateTime2 = LocalDateTime.now(); // 2023年1月2日 11:45 + // 计算分钟差 + long minutesBetween = Duration.between(dateTime1, dateTime2).toMinutes(); + if(minutesBetween<=1){ + System.out.println("++++++++++++检验任务1分钟内生成过,不再重复创建++++++++++++++"); + } + } } 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 7255db33..099a2a96 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 @@ -207,6 +207,13 @@ where end_value>= #{quality} and #{quality}>=start_value and del_flag = '0' and check_type = #{checkType} + insert into equ_repair_order diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java index 7e033ffd..117a8227 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QuaController.java @@ -195,6 +195,9 @@ public class QuaController extends BaseController { if(StringUtils.isBlank(qcCheckTaskIncome.getUpdateByName())){ return error("[updateByName]不能为空"); } + if(StringUtils.isBlank(qcCheckTaskIncome.getCheckResult())){ + return error("[checkResult]不能为空"); + } return toAjax(qcCheckTaskIncomeService.commitCheckResults(qcCheckTaskIncome)); } /** diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java index 5d1e0c9c..c8fb94d9 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskIncome.java @@ -196,6 +196,15 @@ public class QcCheckTaskIncome extends BaseEntity { private String materialType;//来料类别 private String materialFrom;//物料来源 + private String startOA;//发起oa 1是 0否 + + public String getStartOA() { + return startOA; + } + + public void setStartOA(String startOA) { + this.startOA = startOA; + } public String getOrderTypeDesc() { return orderTypeDesc; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckUnqualified.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckUnqualified.java index cbeb3e6e..2d31f096 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckUnqualified.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckUnqualified.java @@ -117,6 +117,51 @@ public class QcCheckUnqualified extends BaseEntity { private Date startTime; private String startOaStatus; private String startOaMsg; + private String materialType;//来料类别 + private String materialFrom;//物料来源 + private String oaFactory;//oa厂区 + private String czbjr;//仓储报检人 + private String qczg;//QC主管 + + public String getQczg() { + return qczg; + } + + public void setQczg(String qczg) { + this.qczg = qczg; + } + + public String getCzbjr() { + return czbjr; + } + + public void setCzbjr(String czbjr) { + this.czbjr = czbjr; + } + + public String getOaFactory() { + return oaFactory; + } + + public void setOaFactory(String oaFactory) { + this.oaFactory = oaFactory; + } + + public String getMaterialType() { + return materialType; + } + + public void setMaterialType(String materialType) { + this.materialType = materialType; + } + + public String getMaterialFrom() { + return materialFrom; + } + + public void setMaterialFrom(String materialFrom) { + this.materialFrom = materialFrom; + } public String getStartOaMsg() { return startOaMsg; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java index 74b61d47..30ff553d 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckUnqualifiedServiceImpl.java @@ -91,8 +91,9 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService //发起来料检验OA流程 AjaxResult oaR = new AjaxResult(); - QcCheckUnqualified taskIfo = qcCheckUnqualifiedMapper.selectQcCheckUnqualifiedById(qcCheckUnqualified.getId()); - taskIfo.setRemark(qcCheckUnqualified.getRemark()); + QcCheckUnqualified taskIfo = qcCheckUnqualified; +// QcCheckUnqualified taskIfo = qcCheckUnqualifiedMapper.selectQcCheckUnqualifiedById(qcCheckUnqualified.getId()); +// taskIfo.setRemark(qcCheckUnqualified.getRemark()); if("material".equals(taskIfo.getTypeCode())) { //ZL0010-来料检验不合格控制流程 oaR = this.createLLOA(taskIfo); @@ -164,13 +165,13 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService /*来料检验不良OA流程 * CQ 厂区、 OEMCM 厂名 、 LLLB 来料类别【0、1】、MATNR 物料编号、MAKTX 物料名称、suppliernum 供应商编码 - * supplier 供应商名称、CHARG 生产批号、comeQty 来料数量、testDate 检验日期 、 JYBH 检验编号、 + * supplier 供应商名称、CHARG 生产批号、comeQty 来料数量、DW 单位、testDate 检验日期 、 JYBH 检验编号、 * BJY 仓储报检人(OEM产品提报人)、WLLY 物料来源、ZCF 转出方、 ZCOEMCM 转出OEM厂名、 * memo 不合格情况描述 、PZGLBZG QC主管 */ private AjaxResult createLLOA(QcCheckUnqualified task){ - QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId()); + //QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId()); //发起来料检验OA流程 Map paramMap = new HashMap<>(); paramMap.put("user",SecurityUtils.getUsername());//提交人工号 @@ -179,16 +180,35 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService paramMap.put("workflowId",26235);//该流程对应的唯- workFlowld StringBuffer mainObject = new StringBuffer(); - mainObject.append("{"); - mainObject.append("\"CQ\":"+detailInfo.getFactoryCode());//厂区 - mainObject.append(",\"LLLB\":"+0);//来料类别【0、1】 - mainObject.append(",\"MATNR\":"+"\""+detailInfo.getMaterialCode()+"\"");//物料编码 - mainObject.append(",\"MAKTX\":"+"\""+detailInfo.getMaterialName()+"\"");//物料名称 - mainObject.append(",\"suppliernum\":"+"\""+detailInfo.getSupplierCode()+"\"");//供应商编码 - mainObject.append(",\"supplier\":"+"\""+detailInfo.getSupplierName()+"\"");//供应商名称 - mainObject.append(",\"CHARG\":"+"\""+detailInfo.getIncomeBatchNo()+"\"");//生产批号 - mainObject.append(",\"comeQty\":"+"\""+detailInfo.getQuality()+"\"");//来料数量 - mainObject.append(",\"memo\":"+"\""+task.getRemark()+"\"");//不合格情况描述 +// mainObject.append("{"); +// mainObject.append("CQ:"+task.getOaFactory());//厂区 +// mainObject.append(",LLLB:"+task.getMaterialType());//来料类别【0、1】 +// mainObject.append(",MATNR:"+task.getMaterialCode());//物料编码 +// mainObject.append(",MAKTX"+task.getMaterialName());//物料名称 +// mainObject.append(",suppliernum"+task.getSupplierCode());//供应商编码 +// mainObject.append(",supplier"+task.getSupplierName());//供应商名称 +// mainObject.append(",CHARG:"+task.getIncomeBatchNo());//生产批号 +// mainObject.append(",comeQty:"+task.getQuality()+"\"");//来料数量 +// mainObject.append(",DW:"+task.getUnit()+"\"");//来料单位 +// mainObject.append(",JYBH:"+task.getCheckNo());//检验编码 +// mainObject.append(",BJY:"+task.getCheckNo());//仓储报检人 +// mainObject.append(",WLLY:"+task.getMaterialFrom());//物料来源 +// mainObject.append(",memo:"+task.getRemark());//不合格描述 +// mainObject.append(",PZGLBZG:"+task.getRemark());//qc主管 + mainObject.append("\"CQ\":"+task.getOaFactory());//厂区 + mainObject.append("\"LLLB\":"+task.getMaterialType());//来料类别【0、1】 + mainObject.append(",\"MATNR\":"+"\""+task.getMaterialCode()+"\"");//物料编码 + mainObject.append(",\"MAKTX\":"+"\""+task.getMaterialName()+"\"");//物料名称 + mainObject.append(",\"suppliernum\":"+"\""+task.getSupplierCode()+"\"");//供应商编码 + mainObject.append(",\"supplier\":"+"\""+task.getSupplierName()+"\"");//供应商名称 + mainObject.append(",\"CHARG\":"+"\""+task.getIncomeBatchNo()+"\"");//生产批号 + mainObject.append(",\"comeQty\":"+"\""+task.getQuality()+"\"");//来料数量 + mainObject.append(",\"DW\":"+"\""+task.getUnit()+"\"");//来料单位 + mainObject.append(",\"JYBH\":"+"\""+task.getCheckNo()+"\"");//检验编码 + mainObject.append(",\"BJY\":"+"\""+task.getCheckNo()+"\"");//仓储报检人 + mainObject.append(",\"WLLY\":"+"\""+task.getMaterialFrom()+"\"");//物料来源 + mainObject.append(",\"memo\":"+"\""+task.getRemark()+"\"");//不合格描述 + mainObject.append(",\"PZGLBZG\":"+"\""+task.getRemark()+"\"");//qc主管 mainObject.append("}"); paramMap.put("mainObject",mainObject.toString());