|
|
|
@ -642,8 +642,8 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
//@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public int commitCheckResults(QcCheckTaskIncome qcCheckTaskIncome) {
|
|
|
|
|
logger.info("质检提交参数:"+JSONObject.toJSONString(qcCheckTaskIncome));
|
|
|
|
|
public int commitCheckResultsCg(QcCheckTaskIncome qcCheckTaskIncome) {
|
|
|
|
|
logger.info("草稿质检提交参数:"+JSONObject.toJSONString(qcCheckTaskIncome));
|
|
|
|
|
List<QcCheckTaskDetail> details = qcCheckTaskIncome.getQcCheckTaskDetails();
|
|
|
|
|
|
|
|
|
|
Date nowTime = DateUtils.getNowDate();
|
|
|
|
@ -689,7 +689,119 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
|
|
|
|
|
qcCheckTask.setCheckManName(qcCheckTaskIncome.getUpdateByName());
|
|
|
|
|
qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality());
|
|
|
|
|
qcCheckTask.setReason(qcCheckTaskIncome.getReason());
|
|
|
|
|
qcCheckTask.setAttr3(qcCheckTaskIncome.getAttr3());
|
|
|
|
|
qcCheckTask.setBz(qcCheckTaskIncome.getAttr3());//备注
|
|
|
|
|
/**qc_check_task_cg**/
|
|
|
|
|
n = qcCheckTaskIncomeMapper.updateQcCheckTask(qcCheckTask);//updateQcCheckTaskCG
|
|
|
|
|
logger.info("qc_check_task:"+n);
|
|
|
|
|
/**更新qc_check_task_detail**/
|
|
|
|
|
for(QcCheckTaskDetail detail:details){
|
|
|
|
|
detail.setUpdateTime(nowTime);
|
|
|
|
|
//上传附件
|
|
|
|
|
if (StringUtils.isNotEmpty(detail.getFileListStr())) {
|
|
|
|
|
String[] ids = detail.getFileListStr().split(",");
|
|
|
|
|
List<BaseFileData> files = new ArrayList<>();
|
|
|
|
|
BaseFileData file = null;
|
|
|
|
|
for (String id : ids) {
|
|
|
|
|
file = new BaseFileData();
|
|
|
|
|
file.setFileId(IdUtils.fastSimpleUUID());
|
|
|
|
|
file.setFileName(id.split("&fileName=")[1]);
|
|
|
|
|
file.setFileAddress(id);
|
|
|
|
|
file.setSourceId(detail.getRecordId());
|
|
|
|
|
file.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
|
file.setCreateTime(nowTime);
|
|
|
|
|
files.add(file);
|
|
|
|
|
}
|
|
|
|
|
/**base_file**/
|
|
|
|
|
n = qmsFileMapper.insertBaseFileBatch(files);
|
|
|
|
|
System.out.println("base_file:"+n);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
n= qcCheckTaskIncomeMapper.updateQcCheckTaskDetails(details);
|
|
|
|
|
logger.info("更新qc_check_task_detail:"+n);
|
|
|
|
|
|
|
|
|
|
/**qc_check_task_defect**/
|
|
|
|
|
n=qcCheckTaskIncomeMapper.deleteQcCheckTaskDefects(belongId);
|
|
|
|
|
logger.info("清理qc_check_task_defect:"+n);
|
|
|
|
|
List<QcCheckTaskDefect> defects = new ArrayList<>();
|
|
|
|
|
QcCheckTaskDefect defect = null;
|
|
|
|
|
for(QcCheckTaskDetail detail:details){
|
|
|
|
|
if(StringUtils.isNotBlank(detail.getDefectCodes())){
|
|
|
|
|
String[] defectCodes = detail.getDefectCodes().split(",");
|
|
|
|
|
String[] defectNames = detail.getDefectNames().split(",");
|
|
|
|
|
String[] defectQualitys = detail.getDefectQualitys().split(",");
|
|
|
|
|
for(int d=0;d<defectCodes.length;d++){
|
|
|
|
|
defect = new QcCheckTaskDefect();
|
|
|
|
|
defect.setDefectCode(defectCodes[d]);
|
|
|
|
|
defect.setDefectSubclass(defectNames[d].split(":")[0]);
|
|
|
|
|
defect.setNoOkQuality(new BigDecimal(defectQualitys[d]));
|
|
|
|
|
defect.setRecordId(IdUtils.fastSimpleUUID());
|
|
|
|
|
defect.setCreateTime(nowTime);
|
|
|
|
|
defect.setCreateBy(updateBy);
|
|
|
|
|
defect.setFactoryCode(factoryCode);
|
|
|
|
|
defect.setBelongTo(belongId);
|
|
|
|
|
defect.setBelongToDetail(detail.getRecordId());
|
|
|
|
|
defects.add(defect);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(!CollectionUtils.isEmpty(defects)){
|
|
|
|
|
n= qcCheckTaskIncomeMapper.addQcCheckTaskDefects(defects);
|
|
|
|
|
logger.info("qc_check_task_defect:"+n);
|
|
|
|
|
}
|
|
|
|
|
return 1 ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
//@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public int commitCheckResults(QcCheckTaskIncome qcCheckTaskIncome) {
|
|
|
|
|
logger.info("质检提交参数:"+JSONObject.toJSONString(qcCheckTaskIncome));
|
|
|
|
|
List<QcCheckTaskDetail> details = qcCheckTaskIncome.getQcCheckTaskDetails();
|
|
|
|
|
|
|
|
|
|
Date nowTime = DateUtils.getNowDate();
|
|
|
|
|
String factoryCode = qcCheckTaskIncome.getFactoryCode();
|
|
|
|
|
String updateBy = qcCheckTaskIncome.getUpdateBy();
|
|
|
|
|
String belongId = details.get(0).getBelongTo();
|
|
|
|
|
String checkType = qcCheckTaskIncome.getCheckType();
|
|
|
|
|
qcCheckTaskIncome.setFactoryCode(qcCheckTaskIncome.getFactoryCode().replace("ds_",""));
|
|
|
|
|
//默认合格
|
|
|
|
|
|
|
|
|
|
String result=null;
|
|
|
|
|
if(StringUtils.isBlank(qcCheckTaskIncome.getCheckResult())){
|
|
|
|
|
result = "Y";
|
|
|
|
|
for(QcCheckTaskDetail detail:details){
|
|
|
|
|
if("N".equals(detail.getStatus())){
|
|
|
|
|
result = "N";//不合格
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
//有最终判定的情况
|
|
|
|
|
result = qcCheckTaskIncome.getCheckResult();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int n = 0;
|
|
|
|
|
QcCheckTaskIncome qcCheckTask = new QcCheckTaskIncome();
|
|
|
|
|
//qcCheckTask.setSampleQuality(sampleQua);
|
|
|
|
|
qcCheckTask.setUpdateBy(updateBy);
|
|
|
|
|
qcCheckTask.setRecordId(belongId);
|
|
|
|
|
qcCheckTask.setCheckStatus("2");//检测状态0待检测1检测中2检测完成
|
|
|
|
|
qcCheckTask.setUpdateTime(nowTime);
|
|
|
|
|
qcCheckTask.setCheckTime(nowTime);
|
|
|
|
|
qcCheckTask.setRemark(qcCheckTaskIncome.getRemark());
|
|
|
|
|
qcCheckTask.setCheckResult(result);//检验结果Y合格 N不合格
|
|
|
|
|
qcCheckTask.setIncomeBatchNo(qcCheckTaskIncome.getIncomeBatchNo());
|
|
|
|
|
BigDecimal noOkQquality = new BigDecimal("0");
|
|
|
|
|
List<QcCheckTaskDefect> defects0 = qcCheckTaskIncome.getDefects();
|
|
|
|
|
for(QcCheckTaskDefect defect0:defects0){
|
|
|
|
|
noOkQquality = noOkQquality.add(defect0.getNoOkQuality());
|
|
|
|
|
}
|
|
|
|
|
qcCheckTask.setNoOkQuality(noOkQquality);//累计不合格数
|
|
|
|
|
qcCheckTask.setCheckManCode(qcCheckTaskIncome.getUpdateBy());
|
|
|
|
|
qcCheckTask.setCheckManName(qcCheckTaskIncome.getUpdateByName());
|
|
|
|
|
qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality());
|
|
|
|
|
qcCheckTask.setReason(qcCheckTaskIncome.getReason());
|
|
|
|
|
qcCheckTask.setBz(qcCheckTaskIncome.getAttr3());//备注
|
|
|
|
|
/**qc_check_task**/
|
|
|
|
|
n = qcCheckTaskIncomeMapper.updateQcCheckTask(qcCheckTask);
|
|
|
|
|
logger.info("qc_check_task:"+n);
|
|
|
|
@ -784,7 +896,7 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}else if("product".equals(qcCheckTaskIncome.getTypeCode())){
|
|
|
|
|
/**wms_product_put-->check_status->1**/
|
|
|
|
|
/**wms_product_put-->check_status->1**/
|
|
|
|
|
qcCheckTaskIncome.setStatus("2");
|
|
|
|
|
qcCheckUnqualifiedMapper.updatePutStatus(qcCheckTaskIncome);
|
|
|
|
|
}
|
|
|
|
@ -800,14 +912,15 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
|
|
|
|
|
unqualified.setType(checkType);
|
|
|
|
|
n = qcCheckUnqualifiedMapper.insertQcCheckUnqualified(unqualified);
|
|
|
|
|
logger.info("qc_check_unqualified:" + n);
|
|
|
|
|
if("1".equals(qcCheckTaskIncome.getStartOA())){
|
|
|
|
|
this.setOaFunc(unqualified,qcCheckTaskIncome);
|
|
|
|
|
if("1".equals(qcCheckTaskIncome.getStartOA())){
|
|
|
|
|
this.setOaFunc(unqualified,qcCheckTaskIncome);
|
|
|
|
|
}
|
|
|
|
|
//发送企业微信
|
|
|
|
|
this.sendWX(qcCheckTaskIncome);
|
|
|
|
|
//发送企业微信
|
|
|
|
|
this.sendWX(qcCheckTaskIncome);
|
|
|
|
|
}
|
|
|
|
|
return 1 ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 首检巡检都是品质异常流程
|
|
|
|
|
* 成品的是成品检验控制流程
|
|
|
|
|
* 来料的是来料检验不合格流程*/
|
|
|
|
|