|
|
|
@ -1,16 +1,14 @@
|
|
|
|
|
package com.op.quality.service.impl;
|
|
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
|
|
import com.op.common.core.utils.DateUtils;
|
|
|
|
|
import com.op.common.core.web.domain.AjaxResult;
|
|
|
|
|
import com.op.common.security.utils.SecurityUtils;
|
|
|
|
|
import com.op.quality.domain.QcCheckProject;
|
|
|
|
|
import com.op.system.api.domain.quality.OAInfo;
|
|
|
|
|
import com.op.quality.domain.QcCheckTaskIncome;
|
|
|
|
|
import com.op.quality.mapper.QcCheckTaskIncomeMapper;
|
|
|
|
|
import com.op.system.api.RemoteOpenService;
|
|
|
|
@ -100,6 +98,7 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
|
|
|
|
|
oaR = this.createLLOA(taskIfo);
|
|
|
|
|
}else if("produce".equals(taskIfo.getTypeCode())){
|
|
|
|
|
//ZL0030-品质异常流程
|
|
|
|
|
oaR = this.createProduceOA(taskIfo);
|
|
|
|
|
}else if("product".equals(taskIfo.getTypeCode())) {
|
|
|
|
|
//ZL0020-成品检验控制流程
|
|
|
|
|
oaR = this.createProductOA(taskIfo);
|
|
|
|
@ -109,10 +108,13 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
|
|
|
|
|
/**qc_check_unqualified**/
|
|
|
|
|
qcCheckUnqualified.setRequestid(oaR.get("data").toString());
|
|
|
|
|
qcCheckUnqualified.setStartOaStatus("1");
|
|
|
|
|
qcCheckUnqualified.setStatus("1");
|
|
|
|
|
qcCheckUnqualified.setStartTime(nowTime);
|
|
|
|
|
int m = qcCheckUnqualifiedMapper.updateQcCheckUnqualified(qcCheckUnqualified);
|
|
|
|
|
return m;
|
|
|
|
|
}else{
|
|
|
|
|
qcCheckUnqualified.setStartOaStatus("2");
|
|
|
|
|
qcCheckUnqualified.setStartTime(nowTime);
|
|
|
|
|
qcCheckUnqualified.setStartOaMsg(oaR.get("msg").toString());
|
|
|
|
|
qcCheckUnqualifiedMapper.updateQcCheckUnqualified(qcCheckUnqualified);
|
|
|
|
|
return 0;
|
|
|
|
@ -146,6 +148,20 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
|
|
|
|
|
return qcCheckUnqualifiedMapper.deleteQcCheckUnqualifiedById(id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@DS("#header.poolName")
|
|
|
|
|
public List<OAInfo> getOAInfoList(QcCheckUnqualified qcCheckUnqualified) {
|
|
|
|
|
logger.info("查看流程Id"+ qcCheckUnqualified.getTaskId());
|
|
|
|
|
AjaxResult oaR = remoteOpenService.GetOaNodeInfo(qcCheckUnqualified.getTaskId());
|
|
|
|
|
logger.info("流程Id 26235:"+ JSONObject.toJSONString(oaR));
|
|
|
|
|
List<OAInfo> infoList = new ArrayList<>();
|
|
|
|
|
if((int)oaR.get("code")==200){
|
|
|
|
|
infoList=JSONArray.parseArray(oaR.get("msg").toString(),OAInfo.class);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return infoList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*来料检验不良OA流程
|
|
|
|
|
* CQ 厂区、 OEMCM 厂名 、 LLLB 来料类别【0、1】、MATNR 物料编号、MAKTX 物料名称、suppliernum 供应商编码
|
|
|
|
|
* supplier 供应商名称、CHARG 生产批号、comeQty 来料数量、testDate 检验日期 、 JYBH 检验编号、
|
|
|
|
@ -199,14 +215,14 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
|
|
|
|
|
|
|
|
|
|
//发起来料检验OA流程
|
|
|
|
|
Map<String, Object> paramMap = new HashMap<>();
|
|
|
|
|
paramMap.put("user","999999");//提交人工号qcCheckTaskIncome.getUpdateBy()
|
|
|
|
|
paramMap.put("user",SecurityUtils.getUsername());//提交人工号qcCheckTaskIncome.getUpdateBy()
|
|
|
|
|
paramMap.put("requestLevel",0);//流程紧急度
|
|
|
|
|
paramMap.put("requestName","ZL0020-成品检验控制流程");//流程名称
|
|
|
|
|
paramMap.put("workflowId",26234);//该流程对应的唯- workFlowld
|
|
|
|
|
|
|
|
|
|
StringBuffer mainObject = new StringBuffer();
|
|
|
|
|
mainObject.append("{");
|
|
|
|
|
mainObject.append("\"SSCJ\":"+detailInfo.getSupplierName());//所属车间
|
|
|
|
|
mainObject.append("\"SSCJ\":"+"\""+detailInfo.getSupplierName()+"\"");//所属车间
|
|
|
|
|
mainObject.append(",\"ZRPSN\":"+"\""+SecurityUtils.getUsername()+"\"");//报检人
|
|
|
|
|
mainObject.append(",\"OEM\":"+"\""+detailInfo.getFactoryCode()+"\"");//OEM厂名
|
|
|
|
|
mainObject.append(",\"DH\":"+"\""+detailInfo.getOrderNo()+"\"");//单号
|
|
|
|
@ -223,19 +239,90 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
|
|
|
|
|
detailObject.append("{\"PRONAME\":\""+detailInfo.getMaterialName()+"\"},");//产品名称
|
|
|
|
|
detailObject.append("{\"SCCODE\":\""+detailInfo.getIncomeBatchNo()+"\"},");//批次号
|
|
|
|
|
detailObject.append("{\"SCTOTAL\":\""+detailInfo.getQuality()+"\"},");//数量
|
|
|
|
|
detailObject.append("{\"BJDATE\":\""+detailInfo.getCreateTime()+"\"},");//报检日期
|
|
|
|
|
detailObject.append("{\"BJDATE\":\""+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getCreateTime())+"\"},");//报检日期
|
|
|
|
|
detailObject.append("{\"JYCODE\":\""+detailInfo.getCheckNo()+"\"},");// 检验编号
|
|
|
|
|
detailObject.append("{\"JYDATE\":\""+detailInfo.getCheckTime()+"\"},");// 检验日期
|
|
|
|
|
detailObject.append("{\"JYDATE\":\""+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getCheckTime())+"\"},");// 检验日期
|
|
|
|
|
detailObject.append("{\"JYRESULT\":\""+(detailInfo.getCheckResult().equals("Y")?"0":"2")+"\"},");//检验结果:0合格 2不合格
|
|
|
|
|
detailObject.append("{\"CPCYS\":\""+detailInfo.getQuality()+"\"},");// 产品抽样数(PC)
|
|
|
|
|
detailObject.append("{\"JYBHGMS\":\""+task.getRemark()+"\"}");// 不合格情况描述
|
|
|
|
|
|
|
|
|
|
detailObject.append("]}");
|
|
|
|
|
paramMap.put("mainObject",detailObject.toString());
|
|
|
|
|
paramMap.put("details",detailObject.toString());
|
|
|
|
|
|
|
|
|
|
logger.info("流程Id 26234:"+ JSONObject.toJSONString(paramMap));
|
|
|
|
|
AjaxResult oaR = remoteOpenService.OAInspection(paramMap);
|
|
|
|
|
logger.info("流程Id 26234:"+ JSONObject.toJSONString(oaR));
|
|
|
|
|
return oaR;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
{
|
|
|
|
|
"user": "999999", 提交用户账号
|
|
|
|
|
"requestLevel": "0", 紧急程度,默认0
|
|
|
|
|
"requestName": "ZL0030-品质异常流程-智能制造-2024-01-17(产品名称:榄菊高级型蚊香(60装))",
|
|
|
|
|
"workflowId": "26256",
|
|
|
|
|
"mainObject": "{
|
|
|
|
|
"CPMC":"榄菊高级型蚊香(60装)", *产品名称
|
|
|
|
|
"CPBM":"10101000115", *产品编码
|
|
|
|
|
"SQBM":"0", *申请部门 0品质保障部
|
|
|
|
|
"SQR":"15930", *申请人:默认当前用户 15930:智能制造
|
|
|
|
|
"SQSJ":"2024-01-17", *申请时间: 默认当前日期
|
|
|
|
|
"SCCJ":"162", *所属车间 162小榄黑蚊香车间
|
|
|
|
|
"SCPH":"240555a", *生产批号
|
|
|
|
|
"SCSL":500, *生产数量
|
|
|
|
|
"FXDD":"测试地点", *发现地点
|
|
|
|
|
"FXRQ":"2024-01-17", *发现日期:默认当前日期,可以选择
|
|
|
|
|
"BH":"202401170002", *编号:流水号 年月日+四位流水号
|
|
|
|
|
"YCFW":"1", *异常范围:下拉框榄菊所有工厂 1代表小榄工厂
|
|
|
|
|
"PZYCMS":"测试异常描述", *品质异常描述
|
|
|
|
|
"Notes":"测试备注", 备注
|
|
|
|
|
"SFXYZG":"1", *是否需要主管审核 1否 0是
|
|
|
|
|
"PGZG":"", QC主管:SFXYZG字段为"是",则此项选择QC主管信息
|
|
|
|
|
"PGZR":"660", *质量主管 660:朱继新
|
|
|
|
|
"SFGYSWT":"1" *是否供应商问题 1非供应商问题 0是供应商问题
|
|
|
|
|
}"
|
|
|
|
|
}
|
|
|
|
|
* @param task
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private AjaxResult createProduceOA(QcCheckUnqualified task){
|
|
|
|
|
|
|
|
|
|
QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId());
|
|
|
|
|
//发起来料检验OA流程
|
|
|
|
|
Map<String, Object> paramMap = new HashMap<>();
|
|
|
|
|
paramMap.put("user",SecurityUtils.getUsername());//提交人工号
|
|
|
|
|
paramMap.put("requestLevel",0);//流程紧急度
|
|
|
|
|
paramMap.put("requestName","ZL0030-品质异常流程-智能制造-"+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getIncomeTime())+"(产品名称:"+detailInfo.getMaterialName()+")");//流程名称
|
|
|
|
|
paramMap.put("workflowId",26256);//该流程对应的唯- workFlowld
|
|
|
|
|
|
|
|
|
|
StringBuffer mainObject = new StringBuffer();
|
|
|
|
|
mainObject.append("{");
|
|
|
|
|
mainObject.append("\"CPMC\":"+detailInfo.getMaterialName());//产品名称
|
|
|
|
|
mainObject.append(",\"CPBM\":"+detailInfo.getMaterialCode());//产品编码
|
|
|
|
|
//mainObject.append(",\"SQBM\":"+"\"0\"");//0品质保障部
|
|
|
|
|
mainObject.append(",\"SQR\":"+"\""+SecurityUtils.getUsername()+"\"");//申请人:默认当前用户
|
|
|
|
|
mainObject.append(",\"SQSJ\":"+"\""+detailInfo.getSupplierCode()+"\"");//申请时间
|
|
|
|
|
mainObject.append(",\"SCCJ\":"+"\""+detailInfo.getSupplierName()+"\"");//所属车间
|
|
|
|
|
mainObject.append(",\"SCPH\":"+"\""+detailInfo.getIncomeBatchNo()+"\"");//生产批号
|
|
|
|
|
mainObject.append(",\"SCSL\":"+"\""+detailInfo.getQuality()+"\"");//生产数量
|
|
|
|
|
mainObject.append(",\"FXDD\":"+"\""+detailInfo.getCheckLoc()+"\"");//发现地点
|
|
|
|
|
mainObject.append(",\"FXRQ\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getCheckTime())+"\"");//发现日期
|
|
|
|
|
mainObject.append(",\"BH\":"+"\""+detailInfo.getCheckNo()+"\"");//编号:流水号 年月日+四位流水号
|
|
|
|
|
mainObject.append(",\"YCFW\":"+"\"1\"");//*异常范围:下拉框榄菊所有工厂 1代表小榄工厂
|
|
|
|
|
mainObject.append(",\"PZYCMS\":"+"\""+detailInfo.getRemark()+"\"");//品质异常描述
|
|
|
|
|
mainObject.append(",\"Notes\":"+"\"\"");//测试备注
|
|
|
|
|
mainObject.append(",\"SFXYZG\":"+"\"1\"");//*是否需要主管审核 1否 0是
|
|
|
|
|
mainObject.append(",\"SFXYZG\":"+"\"1\"");//*是否需要主管审核 1否 0是
|
|
|
|
|
mainObject.append(",\"PGZG\":"+"\""+detailInfo.getRemark()+"\"");//QC主管:SFXYZG字段为"是",则此项选择QC主管信息
|
|
|
|
|
mainObject.append(",\"PGZR\":"+"\"660\"");//质量主管 660:朱继新
|
|
|
|
|
mainObject.append(",\"SFGYSWT\":"+"\"1\"");//*是否供应商问题 1非供应商问题 0是供应商问题
|
|
|
|
|
|
|
|
|
|
mainObject.append("}");
|
|
|
|
|
|
|
|
|
|
paramMap.put("mainObject",mainObject.toString());
|
|
|
|
|
logger.info("流程Id 26256:"+ JSONObject.toJSONString(paramMap));
|
|
|
|
|
AjaxResult oaR = remoteOpenService.OAInspection(paramMap);
|
|
|
|
|
logger.info("流程Id 26256:"+ JSONObject.toJSONString(oaR));
|
|
|
|
|
return oaR;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|