巡检报告加不良数量+首检闸口添加

master
zhaoxiaolin 7 months ago
parent 63c8a50843
commit 1377d82514

@ -86,7 +86,7 @@ public interface OpenMapper {
String getSampNum(QcCheckTaskProduceDTO sampQua);
Date getLastTask(QcCheckTaskProduceDTO qcCheckTaskProduce);
String getLastTask(QcCheckTaskProduceDTO qcCheckTaskProduce);
List<SysNoticeGroup> getNoticesGroup(SysNoticeGroup noticeQo);

@ -391,11 +391,12 @@ public class OpenServiceImpl implements OpenService {
public int insertQcCheckTaskProduce(QcCheckTaskProduceDTO qcCheckTaskProduce) {
DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskProduce.getFactoryCode());
logger.info("创建检验任务"+qcCheckTaskProduce.getCheckType()+":"+JSONObject.toJSONString(qcCheckTaskProduce));
// 1分钟不允许存在两条
Date lastData = openMapper.getLastTask(qcCheckTaskProduce);
if(this.oneMinHas(lastData)){
logger.info("【重复创建任务】orderNo:"+qcCheckTaskProduce.getOrderNo()+";"+"incomeBatchNo:"+qcCheckTaskProduce.getIncomeBatchNo());
return 0;
// 同一个工单同一个批次,上个检验没完成,下一个不允许执行
String lastStatus = openMapper.getLastTask(qcCheckTaskProduce);
if(StringUtils.isNotBlank(lastStatus) && !"2".equals(lastStatus)){
//logger.info("【重复创建任务】orderNo:"+qcCheckTaskProduce.getOrderNo()+";"+"incomeBatchNo:"+qcCheckTaskProduce.getIncomeBatchNo());
logger.info("【重复创建任务】"+JSONObject.toJSONString(qcCheckTaskProduce));
return -100;
}
qcCheckTaskProduce.setCreateTime(DateUtils.getNowDate());
@ -646,13 +647,20 @@ public class OpenServiceImpl implements OpenService {
}
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分钟内生成过不再重复创建++++++++++++++");
// // 创建两个日期时间对象
// 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分钟内生成过不再重复创建++++++++++++++");
// }
int f = -100;
if(f != -100){
System.out.println("-100");
}else{
System.out.println("0");
}
}

@ -207,8 +207,8 @@
where end_value>= #{quality} and #{quality}>=start_value and del_flag = '0'
and check_type = #{checkType}
</select>
<select id="getLastTask" resultType="java.util.Date">
select max(create_time) from qc_check_task
<select id="getLastTask" resultType="java.lang.String">
select check_status from qc_check_task
where check_type = #{checkType}
and order_no= #{orderNo}
and income_batch_no = #{incomeBatchNo}

@ -74,6 +74,7 @@ public class QcStaticTable extends BaseEntity {
private String workCenter;
private String recordId;
private String detailId;
private String checkNo;
@JsonFormat(pattern = "yyyy-MM-dd")
@ -108,6 +109,14 @@ public class QcStaticTable extends BaseEntity {
private BigDecimal upperDiff;
private BigDecimal downDiff;
public String getDetailId() {
return detailId;
}
public void setDetailId(String detailId) {
this.detailId = detailId;
}
public BigDecimal getUpperDiff() {
return upperDiff;
}

@ -79,4 +79,6 @@ public interface QcStaticTableMapper {
List<QcStaticTable> getProjectList(String checkType);
QcStaticTable getUpAndDown(QcStaticTable qcStaticTable);
@MapKey("detailId")
Map<String, QcStaticTable> defectMap(QcStaticTable qcStaticTable);
}

@ -177,15 +177,21 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
}else if(qcStaticTable.getShiftId().equals("2")){
detailMap = qcStaticTableMapper.getProjectDetailNight(qcStaticTable);
}
Map<String, QcStaticTable> picsMap = qcStaticTableMapper.picsMap(qcStaticTable);
Map<String, QcStaticTable> defectMap = qcStaticTableMapper.defectMap(qcStaticTable);
if(defectMap.size()==0){
defectMap.put("0",null);
}
for (QcStaticTable project : projects) {
this.getDataFromMap(detailMap, project, picsMap);
this.getDataFromMap(detailMap, project, picsMap,defectMap);
}
return projects;
}
private void getDataFromMap(Map<String, QcStaticTable> detailMap, QcStaticTable project, Map<String, QcStaticTable> picsMap) {
private void getDataFromMap(Map<String, QcStaticTable> detailMap, QcStaticTable project, Map<String, QcStaticTable> picsMap,
Map<String, QcStaticTable> defectMap) {
String keystr = project.getProjectId() + "08";
QcStaticTable detail = detailMap.get(keystr);
if (detail != null) {
@ -194,6 +200,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn080090(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn080090(project.getColumn080090()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn080090(project.getColumn080090() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径
@ -210,6 +222,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn090100(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn090100(project.getColumn090100()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn090100(project.getColumn090100() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径
@ -226,6 +244,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn100110(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn100110(project.getColumn100110()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn100110(project.getColumn100110() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径
@ -242,6 +266,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn110120(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn110120(project.getColumn110120()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn110120(project.getColumn110120() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径
@ -258,6 +288,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn123133(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn123133(project.getColumn123133()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn123133(project.getColumn123133() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径
@ -274,6 +310,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn133143(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn133143(project.getColumn133143()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn133143(project.getColumn133143() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径
@ -290,6 +332,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn143153(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn143153(project.getColumn143153()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn143153(project.getColumn143153() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径
@ -306,6 +354,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn153163(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn153163(project.getColumn153163()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn153163(project.getColumn153163() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径
@ -322,6 +376,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn163173(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn163173(project.getColumn163173()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn163173(project.getColumn163173() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径
@ -338,6 +398,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn180190(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn180190(project.getColumn180190()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn180190(project.getColumn180190() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径
@ -354,6 +420,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn190200(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn190200(project.getColumn190200()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn190200(project.getColumn190200() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径
@ -370,6 +442,12 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} else if (detail != null && StringUtils.isNotBlank(detail.getStatus())) {
project.setColumn200210(detail.getStatus().equals("Y") ? "✓" : "✘");
}
QcStaticTable defect = defectMap.get(detail.getDetailId());
if(defect != null && StringUtils.isNotBlank(defect.getRemark())){
project.setColumn200210(project.getColumn200210()+" "+defect.getRemark());
}
QcStaticTable urlDTO = picsMap.get(detail.getRecordId());
if (urlDTO != null) {
project.setColumn200210(project.getColumn200210() + "," + urlDTO.getProjectId().replace("&amp;", "&"));//projectId存的照片路径

@ -379,7 +379,7 @@
select
'','','',
qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time,'','',
qct.supplier_code, qct.supplier_name,CONVERT(varchar(10), qct.income_time, 120) income_time,'','',
null,'', qct.check_type,'巡检检验' check_name,CONVERT(varchar(10),qct.create_time, 120) createTimeStr,
qct.confirm,qct.confirm_man_name
from qc_check_task qct
@ -409,7 +409,7 @@
and qct.check_type = 'checkTypeSCXJ'
</where>
GROUP BY qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_type,CONVERT(varchar(10),qct.create_time, 120),
qct.supplier_code, qct.supplier_name,CONVERT(varchar(10), qct.income_time, 120), qct.check_type,CONVERT(varchar(10),qct.create_time, 120),
qct.confirm,qct.confirm_man_name
) t
left join pro_order_workorder pow on pow.workorder_code = t.order_no

@ -154,6 +154,7 @@
<select id="getProjectDetail" resultType="com.op.quality.domain.QcStaticTable">
select qctd.record_id recordId,
qctd.project_id projectId,
qctd.record_id detailId,
qctd.status,
qctd.remark,
CONVERT(VARCHAR(5),qctd.create_time, 108),
@ -176,12 +177,12 @@
left join qc_check_task_detail qctd on qct.record_id = qctd.belong_to
where qct.order_no = #{orderNo} and qct.check_type = 'checkTypeSCXJ' and qct.check_status = '2'
order by qctd.create_time
</select>
<select id="getProjectDetailNight" resultType="com.op.quality.domain.QcStaticTable">
select qctd.record_id recordId,
qctd.project_id projectId,
qctd.record_id detailId,
qctd.status,
qctd.remark,
CONVERT(VARCHAR(5),qctd.create_time, 108),
@ -400,4 +401,20 @@
from qc_check_type_project where project_id = #{projectNo}
and type_id = #{checkType}
</select>
<select id="defectMap" resultType="com.op.quality.domain.QcStaticTable">
SELECT
qctd.belong_to,
qctd.belong_to_detail detailId,
STUFF(
(SELECT ';' + defect_subclass+':'+ CONVERT(NVARCHAR(15), noOk_quality)
FROM qc_check_task_defect
WHERE belong_to = qctd.belong_to and belong_to_detail = qctd.belong_to_detail
FOR xml path('')
),1,1,''
) remark
FROM qc_check_task_defect qctd
left join qc_check_task qct on qctd.belong_to = qct.record_id
where qctd.del_flag = '0' and qct.order_no = #{orderNo}
GROUP by qctd.belong_to,qctd.belong_to_detail
</select>
</mapper>

Loading…
Cancel
Save