|
|
|
|
@ -105,89 +105,90 @@ public class QcCheckTaskMarketServiceImpl implements IQcCheckTaskMarketService {
|
|
|
|
|
@Override
|
|
|
|
|
@DS("#header.poolName")
|
|
|
|
|
public int insertQcCheckTaskMarket(QcCheckTaskMarket qcCheckTaskMarket) {
|
|
|
|
|
String factoryCode = "";
|
|
|
|
|
if (StringUtils.isNotBlank(qcCheckTaskMarket.getFactoryCode())) {
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskMarket.getFactoryCode());
|
|
|
|
|
factoryCode = qcCheckTaskMarket.getFactoryCode();
|
|
|
|
|
} else {
|
|
|
|
|
//获取当前所选工厂
|
|
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
|
|
|
|
String key = "#header.poolName";
|
|
|
|
|
factoryCode = request.getHeader(key.substring(8)).replace("ds_", "");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
qcCheckTaskMarket.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
|
|
|
|
|
String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate());
|
|
|
|
|
int liushuiNum = qcCheckTaskMarketMapper.getTodayMaxNum(qcCheckTaskMarket);
|
|
|
|
|
String liushuiStr = String.format("%04d", liushuiNum);
|
|
|
|
|
|
|
|
|
|
String createBy = SecurityUtils.getUsername();
|
|
|
|
|
Date nowDate = DateUtils.getNowDate();
|
|
|
|
|
|
|
|
|
|
qcCheckTaskMarket.setCheckNo(bpDD + liushuiStr);
|
|
|
|
|
|
|
|
|
|
/**取检测项**/
|
|
|
|
|
QcCheckTypeProject qctp = new QcCheckTypeProject();
|
|
|
|
|
qctp.setTypeId(qcCheckTaskMarket.getCheckType());//生产过程检验
|
|
|
|
|
qctp.setMaterialCode(qcCheckTaskMarket.getMaterialCode());//特性
|
|
|
|
|
/**qc_check_type_project**/
|
|
|
|
|
List<QcCheckTaskDetail> items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp);
|
|
|
|
|
if (CollectionUtils.isEmpty(items)) {
|
|
|
|
|
/**qc_material_group_detail**/
|
|
|
|
|
QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckTaskMarket.getMaterialCode());
|
|
|
|
|
if (group == null) {
|
|
|
|
|
return 0;//没有找到检测项目
|
|
|
|
|
}
|
|
|
|
|
qctp.setGroupId(group.getGroupId());//共性
|
|
|
|
|
items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**qc_check_task_detail**/
|
|
|
|
|
if (CollectionUtils.isEmpty(items)) {
|
|
|
|
|
return 0;//没有找到检测项目
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**qc_check_task**/
|
|
|
|
|
String beLongId = IdUtils.fastSimpleUUID();
|
|
|
|
|
qcCheckTaskMarket.setRecordId(beLongId);
|
|
|
|
|
qcCheckTaskMarket.setFactoryCode(factoryCode);
|
|
|
|
|
qcCheckTaskMarket.setCreateTime(nowDate);
|
|
|
|
|
qcCheckTaskMarket.setTypeCode("market");//大检验节点
|
|
|
|
|
/**qc_task_user start**/
|
|
|
|
|
if (StringUtils.isNotBlank(qcCheckTaskMarket.getCheckManName())) {
|
|
|
|
|
String checkManName = qcCheckTaskMarket.getCheckManName();
|
|
|
|
|
String checkManCode = qcCheckTaskMarket.getCheckManCode();
|
|
|
|
|
qcCheckTaskMarket.setCheckManName("");
|
|
|
|
|
qcCheckTaskMarket.setCheckManCode("");
|
|
|
|
|
String[] splitNames = checkManName.split(",");
|
|
|
|
|
String[] splitCodes = checkManCode.split(",");
|
|
|
|
|
List<QcCheckTaskUser> qcCheckTaskUserList = new ArrayList<>();
|
|
|
|
|
for (int i = 0; i < splitNames.length; i++) {
|
|
|
|
|
QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser();
|
|
|
|
|
qcCheckTaskUser.setCheckManName(splitNames[i]);
|
|
|
|
|
qcCheckTaskUser.setCheckManCode(splitCodes[i]);
|
|
|
|
|
qcCheckTaskUser.setCheckNo(qcCheckTaskMarket.getCheckNo());
|
|
|
|
|
qcCheckTaskUser.setBelongTo(beLongId);
|
|
|
|
|
qcCheckTaskUserList.add(qcCheckTaskUser);
|
|
|
|
|
}
|
|
|
|
|
//检验人插入
|
|
|
|
|
qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList);
|
|
|
|
|
}
|
|
|
|
|
/** 不良品数据插入 */
|
|
|
|
|
if(qcCheckTaskMarket.getNoOkQuality()==null){
|
|
|
|
|
BigDecimal noOkQuality = new BigDecimal(0);
|
|
|
|
|
List<QcCheckTaskDefect> defectList = qcCheckTaskMarket.getDefects();
|
|
|
|
|
if (!CollectionUtils.isEmpty(defectList)) {
|
|
|
|
|
for (QcCheckTaskDefect defect : defectList) {
|
|
|
|
|
defect.setBelongTo(beLongId);
|
|
|
|
|
//qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
|
|
|
|
|
noOkQuality = noOkQuality.add(defect.getNoOkQuality() == null ? new BigDecimal("0") : defect.getNoOkQuality());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
qcCheckTaskMarket.setNoOkQuality(noOkQuality);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
String factoryCode = "";
|
|
|
|
|
if (StringUtils.isNotBlank(qcCheckTaskMarket.getFactoryCode())) {
|
|
|
|
|
DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskMarket.getFactoryCode());
|
|
|
|
|
factoryCode = qcCheckTaskMarket.getFactoryCode();
|
|
|
|
|
} else {
|
|
|
|
|
//获取当前所选工厂
|
|
|
|
|
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
|
|
|
|
String key = "#header.poolName";
|
|
|
|
|
factoryCode = request.getHeader(key.substring(8)).replace("ds_", "");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
qcCheckTaskMarket.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
|
|
|
|
|
String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate());
|
|
|
|
|
int liushuiNum = qcCheckTaskMarketMapper.getTodayMaxNum(qcCheckTaskMarket);
|
|
|
|
|
String liushuiStr = String.format("%04d", liushuiNum);
|
|
|
|
|
|
|
|
|
|
String createBy = SecurityUtils.getUsername();
|
|
|
|
|
Date nowDate = DateUtils.getNowDate();
|
|
|
|
|
|
|
|
|
|
qcCheckTaskMarket.setCheckNo(bpDD + liushuiStr);
|
|
|
|
|
|
|
|
|
|
/**取检测项**/
|
|
|
|
|
QcCheckTypeProject qctp = new QcCheckTypeProject();
|
|
|
|
|
qctp.setTypeId(qcCheckTaskMarket.getCheckType());//生产过程检验
|
|
|
|
|
qctp.setMaterialCode(qcCheckTaskMarket.getMaterialCode());//特性
|
|
|
|
|
/**qc_check_type_project**/
|
|
|
|
|
List<QcCheckTaskDetail> items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp);
|
|
|
|
|
if (CollectionUtils.isEmpty(items)) {
|
|
|
|
|
/**qc_material_group_detail**/
|
|
|
|
|
QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckTaskMarket.getMaterialCode());
|
|
|
|
|
if (group == null) {
|
|
|
|
|
return 0;//没有找到检测项目
|
|
|
|
|
}
|
|
|
|
|
qctp.setGroupId(group.getGroupId());//共性
|
|
|
|
|
items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**qc_check_task_detail**/
|
|
|
|
|
if (CollectionUtils.isEmpty(items)) {
|
|
|
|
|
return 0;//没有找到检测项目
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**qc_check_task**/
|
|
|
|
|
String beLongId = IdUtils.fastSimpleUUID();
|
|
|
|
|
qcCheckTaskMarket.setRecordId(beLongId);
|
|
|
|
|
qcCheckTaskMarket.setFactoryCode(factoryCode);
|
|
|
|
|
qcCheckTaskMarket.setCreateTime(nowDate);
|
|
|
|
|
qcCheckTaskMarket.setTypeCode("market");//大检验节点
|
|
|
|
|
/**qc_task_user start**/
|
|
|
|
|
if (StringUtils.isNotBlank(qcCheckTaskMarket.getCheckManName())) {
|
|
|
|
|
String checkManName = qcCheckTaskMarket.getCheckManName();
|
|
|
|
|
String checkManCode = qcCheckTaskMarket.getCheckManCode();
|
|
|
|
|
qcCheckTaskMarket.setCheckManName("");
|
|
|
|
|
qcCheckTaskMarket.setCheckManCode("");
|
|
|
|
|
String[] splitNames = checkManName.split(",");
|
|
|
|
|
String[] splitCodes = checkManCode.split(",");
|
|
|
|
|
List<QcCheckTaskUser> qcCheckTaskUserList = new ArrayList<>();
|
|
|
|
|
for (int i = 0; i < splitNames.length; i++) {
|
|
|
|
|
QcCheckTaskUser qcCheckTaskUser = new QcCheckTaskUser();
|
|
|
|
|
qcCheckTaskUser.setCheckManName(splitNames[i]);
|
|
|
|
|
qcCheckTaskUser.setCheckManCode(splitCodes[i]);
|
|
|
|
|
qcCheckTaskUser.setCheckNo(qcCheckTaskMarket.getCheckNo());
|
|
|
|
|
qcCheckTaskUser.setBelongTo(beLongId);
|
|
|
|
|
qcCheckTaskUserList.add(qcCheckTaskUser);
|
|
|
|
|
}
|
|
|
|
|
//检验人插入
|
|
|
|
|
qcCheckTaskUserService.insertQcCheckTaskUserList(qcCheckTaskUserList);
|
|
|
|
|
}
|
|
|
|
|
/** 不良品数据插入 */
|
|
|
|
|
if(qcCheckTaskMarket.getNoOkQuality()==null){
|
|
|
|
|
BigDecimal noOkQuality = new BigDecimal(0);
|
|
|
|
|
List<QcCheckTaskDefect> defectList = qcCheckTaskMarket.getDefects();
|
|
|
|
|
if (!CollectionUtils.isEmpty(defectList)) {
|
|
|
|
|
for (QcCheckTaskDefect defect : defectList) {
|
|
|
|
|
defect.setBelongTo(beLongId);
|
|
|
|
|
//qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
|
|
|
|
|
noOkQuality = noOkQuality.add(defect.getNoOkQuality() == null ? new BigDecimal("0") : defect.getNoOkQuality());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
qcCheckTaskMarket.setNoOkQuality(noOkQuality);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// /**qc_sample_rule**/
|
|
|
|
|
// QcCheckTaskIncome sampQua = new QcCheckTaskIncome();
|
|
|
|
|
// sampQua.setCheckType(qcCheckTaskMarket.getCheckType());
|
|
|
|
|
@ -196,20 +197,23 @@ public class QcCheckTaskMarketServiceImpl implements IQcCheckTaskMarketService {
|
|
|
|
|
// if(StringUtils.isNotBlank(sampNum)){
|
|
|
|
|
// qcCheckTaskMarket.setSampleQuality(new BigDecimal(sampNum));
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
/**qc_check_task**/
|
|
|
|
|
qcCheckTaskMarketMapper.insertQcCheckTaskMarket(qcCheckTaskMarket);
|
|
|
|
|
|
|
|
|
|
/**qc_check_task_detail**/
|
|
|
|
|
for (QcCheckTaskDetail item : items) {
|
|
|
|
|
item.setRecordId(IdUtils.fastSimpleUUID());
|
|
|
|
|
item.setBelongTo(beLongId);
|
|
|
|
|
item.setCreateTime(nowDate);
|
|
|
|
|
item.setCreateBy(createBy);
|
|
|
|
|
item.setFactoryCode(factoryCode);
|
|
|
|
|
item.setStatus("N");
|
|
|
|
|
|
|
|
|
|
/**qc_check_task**/
|
|
|
|
|
qcCheckTaskMarketMapper.insertQcCheckTaskMarket(qcCheckTaskMarket);
|
|
|
|
|
|
|
|
|
|
/**qc_check_task_detail**/
|
|
|
|
|
for (QcCheckTaskDetail item : items) {
|
|
|
|
|
item.setRecordId(IdUtils.fastSimpleUUID());
|
|
|
|
|
item.setBelongTo(beLongId);
|
|
|
|
|
item.setCreateTime(nowDate);
|
|
|
|
|
item.setCreateBy(createBy);
|
|
|
|
|
item.setFactoryCode(factoryCode);
|
|
|
|
|
item.setStatus("N");
|
|
|
|
|
}
|
|
|
|
|
return qcCheckTaskDetailMapper.addBatch(items);
|
|
|
|
|
}finally {
|
|
|
|
|
DynamicDataSourceContextHolder.poll();
|
|
|
|
|
}
|
|
|
|
|
return qcCheckTaskDetailMapper.addBatch(items);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|