mes相关

master
zhaoxiaolin 10 months ago
parent 374d2dc592
commit 3c0d9f16ad

@ -95,7 +95,6 @@ public class OpenController extends BaseController {
@PostMapping(value = "/createCheckProduceTask") @PostMapping(value = "/createCheckProduceTask")
public AjaxResult createCheckProduceTask(@RequestBody QcCheckTaskProduceDTO qcCheckTaskProduce) { public AjaxResult createCheckProduceTask(@RequestBody QcCheckTaskProduceDTO qcCheckTaskProduce) {
if (StringUtils.isBlank(qcCheckTaskProduce.getOrderNo())) { if (StringUtils.isBlank(qcCheckTaskProduce.getOrderNo())) {
return error("[orderNo]不能为空"); return error("[orderNo]不能为空");
} }

@ -11,6 +11,7 @@ import com.op.system.api.domain.quality.*;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -82,5 +83,7 @@ public interface OpenMapper {
public int addCheckUsers(@Param("list") List<QcUserMaterialDTO> users); public int addCheckUsers(@Param("list") List<QcUserMaterialDTO> users);
String getSampNum(QcCheckTaskProduceDTO sampQua); String getSampNum(QcCheckTaskProduceDTO sampQua);
Date getLastTask(QcCheckTaskProduceDTO qcCheckTaskProduce);
} }

@ -303,16 +303,11 @@ public class OpenServiceImpl implements OpenService {
public int insertQcCheckTaskProduce(QcCheckTaskProduceDTO qcCheckTaskProduce) { public int insertQcCheckTaskProduce(QcCheckTaskProduceDTO qcCheckTaskProduce) {
DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskProduce.getFactoryCode()); DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskProduce.getFactoryCode());
// 1分钟不允许存在两条
// 创建两个日期时间对象 Date lastData = openMapper.getLastTask(qcCheckTaskProduce);
// LocalDateTime dateTime1 = LocalDateTime.of(2023, 1, 1, 10, 30); // 2023年1月1日 10:30 if(this.oneMinHas(lastData)){
// LocalDateTime dateTime2 = LocalDateTime.now(); // 2023年1月2日 11:45 return 0;
// // 计算分钟差 }
// long minutesBetween = Duration.between(dateTime1, dateTime2).toMinutes();
// if(minutesBetween<=1){
// logger.info("++++++++++++检验任务1分钟内生成过不再重复创建++++++++++++++");
// return 0;
// }
qcCheckTaskProduce.setCreateTime(DateUtils.getNowDate()); qcCheckTaskProduce.setCreateTime(DateUtils.getNowDate());
@ -504,4 +499,36 @@ public class OpenServiceImpl implements OpenService {
return error(e.getMessage()); 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分钟内生成过不再重复创建++++++++++++++");
}
}
} }

@ -207,6 +207,13 @@
where end_value>= #{quality} and #{quality}>=start_value and del_flag = '0' where end_value>= #{quality} and #{quality}>=start_value and del_flag = '0'
and check_type = #{checkType} and check_type = #{checkType}
</select> </select>
<select id="getLastTask" resultType="java.util.Date">
select max(create_time) from qc_check_task
where check_type = #{checkType}
and order_no= #{orderNo}
and income_batch_no = #{incomeBatchNo}
and del_flag='0'
</select>
<insert id="insertEquRepairOrder" parameterType="DeviceRepairOrder"> <insert id="insertEquRepairOrder" parameterType="DeviceRepairOrder">
insert into equ_repair_order insert into equ_repair_order

@ -195,6 +195,9 @@ public class QuaController extends BaseController {
if(StringUtils.isBlank(qcCheckTaskIncome.getUpdateByName())){ if(StringUtils.isBlank(qcCheckTaskIncome.getUpdateByName())){
return error("[updateByName]不能为空"); return error("[updateByName]不能为空");
} }
if(StringUtils.isBlank(qcCheckTaskIncome.getCheckResult())){
return error("[checkResult]不能为空");
}
return toAjax(qcCheckTaskIncomeService.commitCheckResults(qcCheckTaskIncome)); return toAjax(qcCheckTaskIncomeService.commitCheckResults(qcCheckTaskIncome));
} }
/** /**

@ -196,6 +196,15 @@ public class QcCheckTaskIncome extends BaseEntity {
private String materialType;//来料类别 private String materialType;//来料类别
private String materialFrom;//物料来源 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() { public String getOrderTypeDesc() {
return orderTypeDesc; return orderTypeDesc;

@ -117,6 +117,51 @@ public class QcCheckUnqualified extends BaseEntity {
private Date startTime; private Date startTime;
private String startOaStatus; private String startOaStatus;
private String startOaMsg; 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() { public String getStartOaMsg() {
return startOaMsg; return startOaMsg;

@ -91,8 +91,9 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
//发起来料检验OA流程 //发起来料检验OA流程
AjaxResult oaR = new AjaxResult(); AjaxResult oaR = new AjaxResult();
QcCheckUnqualified taskIfo = qcCheckUnqualifiedMapper.selectQcCheckUnqualifiedById(qcCheckUnqualified.getId()); QcCheckUnqualified taskIfo = qcCheckUnqualified;
taskIfo.setRemark(qcCheckUnqualified.getRemark()); // QcCheckUnqualified taskIfo = qcCheckUnqualifiedMapper.selectQcCheckUnqualifiedById(qcCheckUnqualified.getId());
// taskIfo.setRemark(qcCheckUnqualified.getRemark());
if("material".equals(taskIfo.getTypeCode())) { if("material".equals(taskIfo.getTypeCode())) {
//ZL0010-来料检验不合格控制流程 //ZL0010-来料检验不合格控制流程
oaR = this.createLLOA(taskIfo); oaR = this.createLLOA(taskIfo);
@ -164,13 +165,13 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
/*OA /*OA
* CQ OEMCM LLLB 01MATNR MAKTX suppliernum * CQ OEMCM LLLB 01MATNR MAKTX suppliernum
* supplier CHARG comeQty testDate JYBH * supplier CHARG comeQty DW testDate JYBH
* BJY OEMWLLY ZCF ZCOEMCM OEM * BJY OEMWLLY ZCF ZCOEMCM OEM
* memo PZGLBZG QC * memo PZGLBZG QC
*/ */
private AjaxResult createLLOA(QcCheckUnqualified task){ private AjaxResult createLLOA(QcCheckUnqualified task){
QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId()); //QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId());
//发起来料检验OA流程 //发起来料检验OA流程
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
paramMap.put("user",SecurityUtils.getUsername());//提交人工号 paramMap.put("user",SecurityUtils.getUsername());//提交人工号
@ -179,16 +180,35 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
paramMap.put("workflowId",26235);//该流程对应的唯- workFlowld paramMap.put("workflowId",26235);//该流程对应的唯- workFlowld
StringBuffer mainObject = new StringBuffer(); StringBuffer mainObject = new StringBuffer();
mainObject.append("{"); // mainObject.append("{");
mainObject.append("\"CQ\":"+detailInfo.getFactoryCode());//厂区 // mainObject.append("CQ:"+task.getOaFactory());//厂区
mainObject.append(",\"LLLB\":"+0);//来料类别【0、1】 // mainObject.append(",LLLB:"+task.getMaterialType());//来料类别【0、1】
mainObject.append(",\"MATNR\":"+"\""+detailInfo.getMaterialCode()+"\"");//物料编码 // mainObject.append(",MATNR:"+task.getMaterialCode());//物料编码
mainObject.append(",\"MAKTX\":"+"\""+detailInfo.getMaterialName()+"\"");//物料名称 // mainObject.append(",MAKTX"+task.getMaterialName());//物料名称
mainObject.append(",\"suppliernum\":"+"\""+detailInfo.getSupplierCode()+"\"");//供应商编码 // mainObject.append(",suppliernum"+task.getSupplierCode());//供应商编码
mainObject.append(",\"supplier\":"+"\""+detailInfo.getSupplierName()+"\"");//供应商名称 // mainObject.append(",supplier"+task.getSupplierName());//供应商名称
mainObject.append(",\"CHARG\":"+"\""+detailInfo.getIncomeBatchNo()+"\"");//生产批号 // mainObject.append(",CHARG:"+task.getIncomeBatchNo());//生产批号
mainObject.append(",\"comeQty\":"+"\""+detailInfo.getQuality()+"\"");//来料数量 // mainObject.append(",comeQty:"+task.getQuality()+"\"");//来料数量
mainObject.append(",\"memo\":"+"\""+task.getRemark()+"\"");//不合格情况描述 // 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("}"); mainObject.append("}");
paramMap.put("mainObject",mainObject.toString()); paramMap.put("mainObject",mainObject.toString());

Loading…
Cancel
Save