巡检报表4

master
zhaoxiaolin 6 months ago
parent 2113fc5927
commit c75289012a

@ -93,7 +93,15 @@ public class QcCheckTaskDefect extends BaseEntity {
private String defectCodes;
private String defectNames;
private String defectQualitys;
private String classId;
public String getClassId() {
return classId;
}
public void setClassId(String classId) {
this.classId = classId;
}
public String getDefectCodes() {
return defectCodes;
}

@ -138,6 +138,7 @@ public class QcCheckTaskDetail extends BaseEntity {
private String defectCodes;
private String defectNames;
private String defectQualitys;
private String classTypeCodes;
private String itemType;
private String judgeRate;
private String samplePlan;
@ -147,6 +148,14 @@ public class QcCheckTaskDetail extends BaseEntity {
private String sampleAql;
private String checkLevel;
public String getClassTypeCodes() {
return classTypeCodes;
}
public void setClassTypeCodes(String classTypeCodes) {
this.classTypeCodes = classTypeCodes;
}
public String getCheckLevel() {
return checkLevel;
}

@ -91,4 +91,6 @@ public interface QcStaticTableMapper {
Map<String, QcStaticTable> getNoOkNum(QcStaticTable qcStaticTable);
List<QcStaticTable> getTableHzNoOkData(QcStaticTable qcStaticTable);
@MapKey("ymdms")
Map<String, QcStaticTable> getNoOkRatioNum(QcStaticTable qcStaticTable);
}

@ -750,20 +750,17 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
}
}
if(qcCheckTaskIncome.getSampleQuality()!=null && qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){
qcCheckTask.setSampleQuality(sampleQuality);
}else{
qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality());
}
/**qc_check_task_cg**/
List<QcCheckTaskIncome> valiData = qcCheckTaskIncomeMapper.selectQcCheckTaskCgByRecordId(belongId);
// 判断表中是否存在此条数据
if (valiData != null && valiData.size() > 0) {
n = qcCheckTaskIncomeMapper.updateQcCheckTaskCg(qcCheckTask);//updateQcCheckTaskCG
}else {
if(qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){
qcCheckTask.setSampleQuality(sampleQuality);
}else{
qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality());
}
qcCheckTask.setCheckNo(qcCheckTaskIncome.getCheckNo());
qcCheckTask.setOrderNo(qcCheckTaskIncome.getOrderNo());
qcCheckTask.setMaterialCode(qcCheckTaskIncome.getMaterialCode());
@ -798,10 +795,12 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
String[] defectCodes = detail.getDefectCodes().split(",");
String[] defectNames = detail.getDefectNames().split(",");
String[] defectQualitys = detail.getDefectQualitys().split(",");
String[] classIds = detail.getClassTypeCodes().split(",");
for(int d=0;d<defectCodes.length;d++){
defect = new QcCheckTaskDefect();
defect.setDefectCode(defectCodes[d]);
defect.setDefectSubclass(defectNames[d].split(":")[0]);
defect.setClassId(classIds[d]);
defect.setNoOkQuality(new BigDecimal(defectQualitys[d]));
defect.setRecordId(IdUtils.fastSimpleUUID());
defect.setCreateTime(nowTime);
@ -899,7 +898,7 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
}
}
if(qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){
if(qcCheckTaskIncome.getSampleQuality()!=null && qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){
qcCheckTask.setSampleQuality(sampleQuality);
}else{
qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality());
@ -923,11 +922,13 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
String[] defectCodes = detail.getDefectCodes().split(",");
String[] defectNames = detail.getDefectNames().split(",");
String[] defectQualitys = detail.getDefectQualitys().split(",");
String[] classIds = detail.getClassTypeCodes().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.setClassId(classIds[d]);
defect.setRecordId(IdUtils.fastSimpleUUID());
defect.setCreateTime(nowTime);
defect.setCreateBy(updateBy);

@ -166,6 +166,7 @@ public class QcProCheckServiceImpl implements QcProCheckService {
qcd.setDefectCodes(defectInfo.getDefectCodes());
qcd.setDefectNames(defectInfo.getDefectNames());
qcd.setDefectQualitys(defectInfo.getDefectQualitys());
qcd.setClassTypeCodes(defectInfo.getClassId());
}
}
@ -205,6 +206,7 @@ public class QcProCheckServiceImpl implements QcProCheckService {
qcd.setDefectCodes(defectInfo.getDefectCodes());
qcd.setDefectNames(defectInfo.getDefectNames());
qcd.setDefectQualitys(defectInfo.getDefectQualitys());
qcd.setClassTypeCodes(defectInfo.getClassId());
}
}

@ -792,7 +792,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
@DS("#header.poolName")
public QcStaticTable getTableHzTitle(QcStaticTable qcStaticTable) {
QcStaticTable dto = new QcStaticTable();
qcStaticTable.setDataType("unqualified_remark");
//qcStaticTable.setDataType("unqualified_remark");
qcStaticTable.setRemark(qcStaticTable.getCheckType());
List<String> cols1 = qcStaticTableMapper.getTableHzTitle(qcStaticTable);
@ -887,17 +887,19 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
@DS("#header.poolName")
public List<HashMap> getTableHzData(QcStaticTable qcStaticTable) {
List<HashMap> dtos = new ArrayList<>();
qcStaticTable.setDataType("unqualified_remark");
//qcStaticTable.setDataType("unqualified_remark");
qcStaticTable.setRemark(qcStaticTable.getCheckType());
List<String> noOkTyps = qcStaticTableMapper.getTableHzTitle(qcStaticTable);
//第一列日期
List<String> days = this.getHzDays(qcStaticTable.getIncomeTimeStr(),qcStaticTable.getYmdms());
//抽样数、不良数、不良率
//抽样数
Map<String,QcStaticTable> samples = qcStaticTableMapper.getSamplesNum(qcStaticTable);
if(samples.isEmpty()){
return dtos;
}
//不良数
//不良数(折算后)、不良率
Map<String,QcStaticTable> noOkNumRs = qcStaticTableMapper.getNoOkRatioNum(qcStaticTable);
//不良数(不折算)
Map<String,QcStaticTable> noOks = qcStaticTableMapper.getNoOkNum(qcStaticTable);
HashMap colMap = null;
for(String col:days){
@ -905,9 +907,10 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
colMap.put("timeCol",col);
String samKey = col;
QcStaticTable sampl = samples.get(samKey);
if(sampl!=null&&!sampl.getSampleQuality().equals("0.00")){
QcStaticTable noOkNumR = noOkNumRs.get(samKey);
if(sampl!=null&&!sampl.getSampleQuality().equals("0.00")&&noOkNumR!=null && !noOkNumR.getNoOkQuality().equals("0.00")){
colMap.put("sampleQuality",sampl.getSampleQuality().replaceAll("\\..*", ""));
BigDecimal noOkRate = new BigDecimal(sampl.getNoOkQuality()).multiply(new BigDecimal("100.00"))
BigDecimal noOkRate = new BigDecimal(noOkNumR.getNoOkQuality()).multiply(new BigDecimal("100.00"))
.divide(new BigDecimal(sampl.getSampleQuality()),2, BigDecimal.ROUND_HALF_UP);
colMap.put("noOkRate",noOkRate);
}else{

@ -158,7 +158,14 @@
WHERE belong_to_detail = qctd.belong_to_detail and belong_to = qctd.belong_to
FOR xml path('')
),1,1,''
) defectQualitys
) defectQualitys,
STUFF(
(SELECT ',' + CAST(class_id AS VARCHAR(40))
FROM qc_check_task_defect
WHERE belong_to_detail = qctd.belong_to_detail and belong_to = qctd.belong_to
FOR xml path('')
),1,1,''
) classId
FROM qc_check_task_defect qctd where qctd.del_flag = '0' and belong_to= #{belongTo}
and belong_to_detail is not null
GROUP by qctd.belong_to,qctd.belong_to_detail

@ -686,14 +686,14 @@
insert into qc_check_task_defect(
record_id,belong_to,belong_to_detail,
defect_code,defect_subclass,
noOk_quality,
noOk_quality,class_id,
create_by,create_time,factory_code
) values
<foreach item="item" index="index" collection="list" separator=",">
(
#{item.recordId},#{item.belongTo},#{item.belongToDetail},
#{item.defectCode},#{item.defectSubclass},
#{item.noOkQuality},
#{item.noOkQuality},#{item.classId},
#{item.createBy},#{item.createTime},#{item.factoryCode}
)
</foreach>

@ -40,7 +40,7 @@
</if>
</select>
<select id="getCheckProjectsPie" resultType="com.op.quality.domain.QcInterface">
<!--
select count(0) quality,
qctd.project_no,
qctd.rule_name projectName
@ -56,21 +56,22 @@
<if test='ymdType=="dd"'>
and CONVERT(varchar(10),qcu.update_time, 120) = SUBSTRING(#{ymd},0,11)
</if>
group by qctd.project_no,qctd.rule_name-->
select qct.remark projectName,
count(0) quality
from qc_check_task qct
where qct.type_code = 'produce' and qct.check_result = 'N' and qct.remark is not null
<if test='ymdType=="yyyy"'>
and CONVERT(varchar(4),qct.check_time, 120) = SUBSTRING(#{ymd},0,5)
</if>
<if test='ymdType=="mm"'>
and CONVERT(varchar(7),qct.check_time, 120) = SUBSTRING(#{ymd},0,8)
</if>
<if test='ymdType=="dd"'>
and CONVERT(varchar(10),qct.check_time, 120) = SUBSTRING(#{ymd},0,11)
</if>
group by qct.remark
group by qctd.project_no,qctd.rule_name
<!--
select qct.remark projectName,
count(0) quality
from qc_check_task qct
where qct.type_code = 'produce' and qct.check_result = 'N' and qct.remark is not null
<if test='ymdType=="yyyy"'>
and CONVERT(varchar(4),qct.check_time, 120) = SUBSTRING(#{ymd},0,5)
</if>
<if test='ymdType=="mm"'>
and CONVERT(varchar(7),qct.check_time, 120) = SUBSTRING(#{ymd},0,8)
</if>
<if test='ymdType=="dd"'>
and CONVERT(varchar(10),qct.check_time, 120) = SUBSTRING(#{ymd},0,11)
</if>
group by qct.remark-->
</select>
<select id="getSupplierBadTOP5" resultType="com.op.quality.domain.QcInterface">
select top 5 * from(

@ -491,9 +491,11 @@
GROUP by qctd.belong_to,qctd.belong_to_detail
</select>
<select id="getTableHzTitle" resultType="java.lang.String">
select dict_label from base_dict_data
where dict_type = #{dataType}
and remark = #{remark} order by dict_sort
select dtc.class_name
from qc_defect_type dt
left join qc_defect_type_class dtc on dt.defect_code = dtc.defect_code
where dt.defect_type in (select type_code from qc_check_type where order_code = #{remark} and del_flag = '0')
and dtc.del_flag = '0' order by dtc.sort
</select>
<select id="getTableHzTitle2" resultType="java.lang.String">
select defect_subclass from qc_defect_type where defect_type = #{typeCode} and del_flag = '0'
@ -501,10 +503,9 @@
<select id="getSamplesNum" resultType="com.op.quality.domain.QcStaticTable">
<if test="ymdms == 'yyyy'">
select sum(sample_quality) sampleQuality,
sum(noOk_quality) noOkQuality,
ymdms
FROM(
select CONVERT(varchar(7),qct.create_time, 120) AS ymdms, qct.sample_quality, qct.noOk_quality
select CONVERT(varchar(7),qct.create_time, 120) AS ymdms, qct.sample_quality
from qc_check_task qct
where check_type = #{checkType}
and CONVERT(varchar(4),qct.create_time, 120) = #{incomeTimeStr}
@ -514,10 +515,9 @@
</if>
<if test="ymdms == 'mm'">
select sum(sample_quality) sampleQuality,
sum(noOk_quality) noOkQuality,
ymdms
FROM(
select CONVERT(varchar(10),qct.create_time, 120) AS ymdms, qct.sample_quality, qct.noOk_quality
select CONVERT(varchar(10),qct.create_time, 120) AS ymdms, qct.sample_quality
from qc_check_task qct
where check_type = #{checkType}
and CONVERT(varchar(7),qct.create_time, 120) = #{incomeTimeStr}
@ -527,10 +527,9 @@
</if>
<if test="ymdms == 'dd'">
select sum(sample_quality) sampleQuality,
sum(noOk_quality) noOkQuality,
RIGHT('00' + CAST(ymdms AS VARCHAR(2)), 2) ymdms
FROM(
select DATEPART(HOUR, qct.create_time) AS ymdms, qct.sample_quality, qct.noOk_quality
select DATEPART(HOUR, qct.create_time) AS ymdms, qct.sample_quality
from qc_check_task qct
where check_type = #{checkType}
and CONVERT(varchar(10),qct.create_time, 120) = #{incomeTimeStr}
@ -539,55 +538,112 @@
group by ymdms
</if>
</select>
<select id="getNoOkRatioNum" resultType="com.op.quality.domain.QcStaticTable">
<if test="ymdms == 'yyyy'">
select sum(noOkQuality) noOkQuality,
ymdms
FROM(
select
CONVERT(varchar(7),qct.create_time, 120) AS ymdms,
qctd.class_id,
qctd.noOk_quality*qdt.ratio noOkQuality
from qc_check_task qct
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
left join qc_defect_type qdt on qdt.defect_code = qdtc.defect_code
where qct.check_type = #{checkType} and qct.check_status = '2'
and CONVERT(varchar(4),qct.create_time, 120) = #{incomeTimeStr}
and qdt.del_flag = '0' and qdtc.del_flag = '0' and qctd.del_flag = '0' and qct.del_flag='0'
) t
group by ymdms
</if>
<if test="ymdms == 'mm'">
select sum(noOkQuality) noOkQuality,
ymdms
FROM(
select
CONVERT(varchar(10),qct.create_time, 120) AS ymdms,
qctd.class_id,
qctd.noOk_quality*qdt.ratio noOkQuality
from qc_check_task qct
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
left join qc_defect_type qdt on qdt.defect_code = qdtc.defect_code
where qct.check_type = #{checkType} and qdt.del_flag = '0' and qdtc.del_flag = '0' and qctd.del_flag = '0'
and CONVERT(varchar(7),qct.create_time, 120) = #{incomeTimeStr} and qct.del_flag='0' and qct.check_status = '2'
) t
group by ymdms
</if>
<if test="ymdms == 'dd'">
select sum(noOkQuality) noOkQuality,
RIGHT('00' + CAST(ymdms AS VARCHAR(2)), 2) ymdms
FROM(
select
DATEPART(HOUR, qct.create_time) AS ymdms,
qctd.class_id,
qctd.noOk_quality*qdt.ratio noOkQuality
from qc_check_task qct
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
left join qc_defect_type qdt on qdt.defect_code = qdtc.defect_code
where qct.check_type = #{checkType} and qdt.del_flag = '0' and qdtc.del_flag = '0' and qctd.del_flag = '0'
and CONVERT(varchar(10),qct.create_time, 120) = #{incomeTimeStr} and qct.del_flag='0' and qct.check_status = '2'
) t
group by ymdms
</if>
</select>
<select id="getNoOkNum" resultType="com.op.quality.domain.QcStaticTable">
<if test="ymdms == 'yyyy'">
select sum(noOk_quality) noOkQuality,
concat(hourName,dict_label) ymdUntype
concat(hourName,class_name) ymdUntype
FROM(
select CONVERT(varchar(7),qct.create_time, 120) AS hourName,
qct.noOk_quality,
bdd.dict_label
qctd.noOk_quality,
qdtc.class_name
from qc_check_task qct
left join base_dict_data bdd on bdd.dict_type = 'unqualified_remark' and qct.remark_code = dict_value
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
where qct.check_type = #{checkType} and qct.check_status = '2'
and CONVERT(varchar(4),qct.create_time, 120) = #{incomeTimeStr}
and del_flag = '0' and bdd.dict_label is not null
and qdtc.del_flag = '0' and qctd.del_flag = '0'
) t
group by hourName,dict_label
group by hourName,class_name
</if>
<if test="ymdms == 'mm'">
select sum(noOk_quality) noOkQuality,
concat(hourName,dict_label) ymdUntype
concat(hourName,class_name) ymdUntype
FROM(
select CONVERT(varchar(10),qct.create_time, 120) AS hourName,
qct.noOk_quality,
bdd.dict_label
qctd.noOk_quality,
qdtc.class_name
from qc_check_task qct
left join base_dict_data bdd on bdd.dict_type = 'unqualified_remark' and qct.remark_code = dict_value
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
where qct.check_type = #{checkType} and qct.check_status = '2'
and CONVERT(varchar(7),qct.create_time, 120) = #{incomeTimeStr}
and del_flag = '0' and bdd.dict_label is not null
and qdtc.del_flag = '0' and qctd.del_flag = '0'
) t
group by hourName,dict_label
group by hourName,class_name
</if>
<if test="ymdms == 'dd'">
select sum(noOk_quality) noOkQuality,
concat(hourName,dict_label) ymdUntype
concat(hourName,class_name) ymdUntype
FROM(
select RIGHT('00' + CAST(DATEPART(HOUR, qct.create_time) AS VARCHAR(2)), 2) AS hourName,
qct.noOk_quality,
bdd.dict_label
qctd.noOk_quality,
qdtc.class_name
from qc_check_task qct
left join base_dict_data bdd on bdd.dict_type = 'unqualified_remark' and qct.remark_code = dict_value
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
where qct.check_type = #{checkType} and qct.check_status = '2'
and CONVERT(varchar(10),qct.create_time, 120) = #{incomeTimeStr}
and del_flag = '0' and bdd.dict_label is not null
and qdtc.del_flag = '0' and qctd.del_flag = '0'
) t
group by hourName,dict_label
group by hourName,class_name
</if>
</select>
<select id="getTableHzNoOkData" resultType="com.op.quality.domain.QcStaticTable">
select * from (
<!--select * from (
select sum(t.noOk_quality) noOkQuality,
t.dict_label dataType
FROM(
@ -608,6 +664,25 @@
and del_flag = '0' and qct.remark_code is not null
) t
group by t.dict_label
) t0 order by noOkQuality desc-->
select * from (
select sum(t.noOk_quality) noOkQuality,
t.class_name dataType
FROM(
select
qctd.noOk_quality,
qdtc.class_name
from qc_check_task qct
left join qc_check_task_defect qctd on qctd.belong_to = qct.record_id
left join qc_defect_type_class qdtc on qctd.class_id = qdtc.id
where qct.check_type = #{checkType} and qct.check_status = '2'
<if test="ymdms == 'yyyy'">and CONVERT(varchar(4),qct.create_time, 120) = #{incomeTimeStr}</if>
<if test="ymdms == 'mm'">and CONVERT(varchar(7),qct.create_time, 120) = #{incomeTimeStr}</if>
<if test="ymdms == 'dd'"> and CONVERT(varchar(10),qct.create_time, 120) = #{incomeTimeStr}</if>
and qct.del_flag = '0' and qdtc.del_flag = '0' and qctd.del_flag = '0'
) t
group by t.class_name
) t0 order by noOkQuality desc
</select>
</mapper>

Loading…
Cancel
Save