看板调整

master
zhaoxiaolin 8 months ago
parent 297e733e41
commit 7e7221183a

@ -49,4 +49,6 @@ public interface QcInterfaceMapper {
@MapKey("nameDate")
Map<String, QcInterface> getLineChartsDatas(QcInterface qcInterface);
QcInterface getProduceHz1(QcInterface qcInterface);
}

@ -82,32 +82,7 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
String nowYMD = DateUtils.getDate();
qcInterface.setYmd(nowYMD);
//生产打开List<QcInterface> dtos = qcInterfaceMapper.getCheckProjectsPie(qcInterface);
/**质量看板测试开始**/
List<QcInterface> dtos = new ArrayList<>();
QcInterface q0 = new QcInterface();
q0.setProjectName("热贮稳定性");
q0.setQuality("1");
dtos.add(q0);
QcInterface q1 = new QcInterface();
q1.setProjectName("[香坯包膜]15mm爆口直径");
q1.setQuality("2");
dtos.add(q1);
QcInterface q2 = new QcInterface();
q2.setProjectName("其它不良现象");
q2.setQuality("5");
dtos.add(q2);
QcInterface q3 = new QcInterface();
q3.setProjectName("眼头插孔");
q3.setQuality("1");
dtos.add(q3);
QcInterface q4 = new QcInterface();
q4.setProjectName("厚度(一盘)");
q4.setQuality("2");
dtos.add(q4);
/**质量看板测试结束**/
List<QcInterface> dtos = qcInterfaceMapper.getCheckProjectsPie(qcInterface);
return dtos;
}
@ -163,68 +138,68 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
dto.setCheckStatus("0".equals(dto.getCheckStatus()) ? "待检测" : "检测完成");
dto.setCheckResult("Y".equals(dto.getCheckResult()) ? "合格" : "不合格");
}
/**质量看板测试开始**/
QcInterface q0 = new QcInterface();
q0.setCheckNo("20240305001");
q0.setIncomeBatchNo("20270122LJ20240123BBBA0G");
q0.setOrderNo("000800000083-1");
q0.setMaterialName("10小时无烟型黑蚊香(繁体)纸盒");
q0.setQuality("19000");
q0.setUnit("个");
q0.setSupplierName("中山市粤华包装有限公司");
q0.setIncomeTime("2024-03-05 00:00:00");
q0.setCheckTime("2024-03-05 11:32:00");
q0.setCheckResult("合格");
q0.setCheckManName("马娥章");
q0.setCheckName("来料检验");
dtos.add(q0);
QcInterface q1 = new QcInterface();
q1.setCheckNo("20240306002");
q1.setIncomeBatchNo("20270122LJ20240123BCCA0F");
q1.setOrderNo("0008000001093-1");
q1.setMaterialName("依素猫狗(黄色)气雾盖");
q1.setQuality("5000");
q1.setUnit("个");
q1.setSupplierName("广州盛盈环保科技有限公司");
q1.setIncomeTime("2024-03-05 00:00:00");
q1.setCheckTime("2024-03-05 13:32:00");
q1.setCheckResult("合格");
q1.setCheckManName("马娥章");
q1.setCheckName("来料检验");
dtos.add(q1);
QcInterface q2 = new QcInterface();
q2.setCheckNo("20240307002");
q2.setIncomeBatchNo("20270122LJ20240456BCCA0D");
q2.setOrderNo("0008000001193-1");
q2.setMaterialName("King Brand蚊片(450装)纸箱");
q2.setQuality("5800");
q2.setUnit("个");
q2.setSupplierName("广州市网能产品设计有限公司");
q2.setIncomeTime("2024-08-06 00:00:00");
q2.setCheckTime("2024-08-06 13:42:00");
q2.setCheckResult("合格");
q2.setCheckManName("马娥章");
q2.setCheckName("来料检验");
dtos.add(q2);
QcInterface q3 = new QcInterface();
q3.setCheckNo("20240308001");
q3.setIncomeBatchNo("20270122LJ20240456BCBB0D");
q3.setOrderNo("0008000001203-1");
q3.setMaterialName("榄菊牌清香型蚊液(空白)纸箱");
q3.setQuality("7800");
q3.setUnit("个");
q3.setSupplierName("广州市网能产品设计有限公司");
q3.setCheckTime("2024-03-05 13:50:00");
q3.setIncomeTime("2024-08-06 00:00:00");
q3.setCheckResult("合格");
q3.setCheckManName("马娥章");
q3.setCheckName("来料检验");
dtos.add(q3);
/**质量看板测试结束**/
// /**质量看板测试开始**/
// QcInterface q0 = new QcInterface();
// q0.setCheckNo("20240305001");
// q0.setIncomeBatchNo("20270122LJ20240123BBBA0G");
// q0.setOrderNo("000800000083-1");
// q0.setMaterialName("10小时无烟型黑蚊香(繁体)纸盒");
// q0.setQuality("19000");
// q0.setUnit("个");
// q0.setSupplierName("中山市粤华包装有限公司");
// q0.setIncomeTime("2024-03-05 00:00:00");
// q0.setCheckTime("2024-03-05 11:32:00");
// q0.setCheckResult("合格");
// q0.setCheckManName("马娥章");
// q0.setCheckName("来料检验");
// dtos.add(q0);
//
// QcInterface q1 = new QcInterface();
// q1.setCheckNo("20240306002");
// q1.setIncomeBatchNo("20270122LJ20240123BCCA0F");
// q1.setOrderNo("0008000001093-1");
// q1.setMaterialName("依素猫狗(黄色)气雾盖");
// q1.setQuality("5000");
// q1.setUnit("个");
// q1.setSupplierName("广州盛盈环保科技有限公司");
// q1.setIncomeTime("2024-03-05 00:00:00");
// q1.setCheckTime("2024-03-05 13:32:00");
// q1.setCheckResult("合格");
// q1.setCheckManName("马娥章");
// q1.setCheckName("来料检验");
// dtos.add(q1);
//
// QcInterface q2 = new QcInterface();
// q2.setCheckNo("20240307002");
// q2.setIncomeBatchNo("20270122LJ20240456BCCA0D");
// q2.setOrderNo("0008000001193-1");
// q2.setMaterialName("King Brand蚊片(450装)纸箱");
// q2.setQuality("5800");
// q2.setUnit("个");
// q2.setSupplierName("广州市网能产品设计有限公司");
// q2.setIncomeTime("2024-08-06 00:00:00");
// q2.setCheckTime("2024-08-06 13:42:00");
// q2.setCheckResult("合格");
// q2.setCheckManName("马娥章");
// q2.setCheckName("来料检验");
// dtos.add(q2);
//
// QcInterface q3 = new QcInterface();
// q3.setCheckNo("20240308001");
// q3.setIncomeBatchNo("20270122LJ20240456BCBB0D");
// q3.setOrderNo("0008000001203-1");
// q3.setMaterialName("榄菊牌清香型蚊液(空白)纸箱");
// q3.setQuality("7800");
// q3.setUnit("个");
// q3.setSupplierName("广州市网能产品设计有限公司");
// q3.setCheckTime("2024-03-05 13:50:00");
// q3.setIncomeTime("2024-08-06 00:00:00");
// q3.setCheckResult("合格");
// q3.setCheckManName("马娥章");
// q3.setCheckName("来料检验");
// dtos.add(q3);
//
// /**质量看板测试结束**/
return dtos;
}
@ -236,40 +211,50 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
Map<String, String> dtoMap = new HashMap<>();
qcInterface.setYmdType("dd");
QcInterface hz = qcInterfaceMapper.getProduceHz(qcInterface);
if (hz != null) {
dtoMap.put("todayPro", hz.getQuality());
dtoMap.put("todaySample", hz.getSampleQuality());
dtoMap.put("todayNoOk", hz.getNoOkQuality());
BigDecimal tOkRate = (new BigDecimal(hz.getSampleQuality())
.subtract(new BigDecimal(hz.getNoOkQuality()))
QcInterface hz0 = qcInterfaceMapper.getProduceHz1(qcInterface);
if (hz0 != null) {
dtoMap.put("todayPro", hz0.getQuality().replaceAll("\\..*", ""));
}else{
dtoMap.put("todayPro", "0");
}
QcInterface hz1 = qcInterfaceMapper.getProduceHz(qcInterface);
if (hz1 != null) {
dtoMap.put("todaySample", hz1.getSampleQuality().replaceAll("\\..*", ""));
dtoMap.put("todayNoOk", hz1.getNoOkQuality().replaceAll("\\..*", ""));
BigDecimal tOkRate = (new BigDecimal(hz1.getSampleQuality())
.subtract(new BigDecimal(hz1.getNoOkQuality()))
)
.multiply(new BigDecimal(100))
.divide(new BigDecimal(hz.getQuality()), 2, RoundingMode.HALF_UP);
.divide(new BigDecimal(hz1.getSampleQuality()), 2, RoundingMode.HALF_UP);
dtoMap.put("todayOkRate", tOkRate + "%");
}
qcInterface.setYmdType("mm");
QcInterface hz20 = qcInterfaceMapper.getProduceHz1(qcInterface);
if (hz20 != null) {
dtoMap.put("monthPro", hz20.getQuality().replaceAll("\\..*", ""));
}else{
dtoMap.put("monthPro", "0");
}
QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface);
if (hz2 != null) {
dtoMap.put("monthPro", hz2.getQuality());
dtoMap.put("monthNoOk", hz2.getNoOkQuality());
dtoMap.put("monthNoOk", hz2.getNoOkQuality().replaceAll("\\..*", ""));
BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality())
.subtract(new BigDecimal(hz2.getNoOkQuality()))
)
.multiply(new BigDecimal(100))
.divide(new BigDecimal(hz2.getQuality()), 2, RoundingMode.HALF_UP);
.divide(new BigDecimal(hz2.getSampleQuality()), 2, RoundingMode.HALF_UP);
dtoMap.put("monthOkRate", tOkRate2 + "%");
}
/**质量看板测试开始**/
dtoMap.put("todayPro", "3800");
dtoMap.put("todaySample", "50");
dtoMap.put("todayNoOk", "2");
dtoMap.put("todayOkRate", "96.00%");
dtoMap.put("monthPro", "83600");
dtoMap.put("monthNoOk", "30");
dtoMap.put("monthOkRate", "99.96%");
/**质量看板测试结束**/
// /**质量看板测试开始**/
// dtoMap.put("todayPro", "3800");
// dtoMap.put("todaySample", "50");
// dtoMap.put("todayNoOk", "2");
// dtoMap.put("todayOkRate", "96.00%");
// dtoMap.put("monthPro", "83600");
// dtoMap.put("monthNoOk", "30");
// dtoMap.put("monthOkRate", "99.96%");
// /**质量看板测试结束**/
return dtoMap;
}
@ -298,7 +283,7 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
List<String> monthData = new ArrayList<>();
for (int mh = 1; mh <= nowMonth; mh++) {
String yyyymm = nowYMDs[1] + "-" + String.format("%02d", mh);
String yyyymm = nowYMDs[0] + "-" + String.format("%02d", mh);
monthNames.add(yyyymm);
if (!CollectionUtils.isEmpty(noOkHzs)&&noOkHzs.get(yyyymm)!=null) {
monthData.add(noOkHzs.get(yyyymm).getNoOkQuality());
@ -309,18 +294,18 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
dtoMap.put("month", monthNames);
dtoMap.put("monthData", monthData);
/**质量看板测试开始**/
List<String> monthNames0 = new ArrayList<>();
monthNames0.add("2024-01");monthNames0.add("2024-02");monthNames0.add("2024-03");monthNames0.add("2024-04");
monthNames0.add("2024-05");monthNames0.add("2024-06");monthNames0.add("2024-07");monthNames0.add("2024-08");
monthNames0.add("2024-09");monthNames0.add("2024-10");monthNames0.add("2024-11");monthNames0.add("2024-12");
List<String> monthData0 = new ArrayList<>();
monthData0.add("5");monthData0.add("4");monthData0.add("7");monthData0.add("10");monthData0.add("5");
monthData0.add("4");monthData0.add("9");monthData0.add("12");monthData0.add("3");monthData0.add("7");
monthData0.add("5");monthData0.add("2");
dtoMap.put("month", monthNames0);
dtoMap.put("monthData", monthData0);
/**质量看板测试结束**/
// /**质量看板测试开始**/
// List<String> monthNames0 = new ArrayList<>();
// monthNames0.add("2024-01");monthNames0.add("2024-02");monthNames0.add("2024-03");monthNames0.add("2024-04");
// monthNames0.add("2024-05");monthNames0.add("2024-06");monthNames0.add("2024-07");monthNames0.add("2024-08");
// monthNames0.add("2024-09");monthNames0.add("2024-10");monthNames0.add("2024-11");monthNames0.add("2024-12");
// List<String> monthData0 = new ArrayList<>();
// monthData0.add("5");monthData0.add("4");monthData0.add("7");monthData0.add("10");monthData0.add("5");
// monthData0.add("4");monthData0.add("9");monthData0.add("12");monthData0.add("3");monthData0.add("7");
// monthData0.add("5");monthData0.add("2");
// dtoMap.put("month", monthNames0);
// dtoMap.put("monthData", monthData0);
// /**质量看板测试结束**/
return dtoMap;
}
@ -392,58 +377,58 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
}
lastYM.setDayStr(daystr0);
nowYM.setDayStr(daystr1);
//生产打开
// qcInterface.setYmd("'" + nowYear + "','" + lastYear + "'");
//
// Map<String, QcInterface> noOkNum = qcInterfaceMapper.getMothNoOkNum(qcInterface);
// if (noOkNum == null) {
// return null;
// }
//
// List<String> dataBar0 = new ArrayList<>();//不合规数量
// List<String> dataLine0 = new ArrayList<>();//不合格率
// for (String day0 : daystr0) {
// QcInterface last = noOkNum.get(day0);
// if (last != null) {
// dataBar0.add(last.getNoOkQuality());
// BigDecimal norate0 = new BigDecimal(last.getNoOkQuality()).multiply(new BigDecimal(100))
// .divide(new BigDecimal(last.getQuality()), 2, RoundingMode.HALF_UP);
// dataLine0.add(norate0.toString());
// } else {
// dataBar0.add("0");
// dataLine0.add("0.00");
// }
// }
//
// List<String> dataBar1 = new ArrayList<>();//不合规数量
// List<String> dataLine1 = new ArrayList<>();//不合格率
// for (String day1 : daystr1) {
// QcInterface now = noOkNum.get(day1);
// if (now != null) {
// dataBar1.add(now.getNoOkQuality());
// BigDecimal norate0 = new BigDecimal(now.getNoOkQuality()).multiply(new BigDecimal(100))
// .divide(new BigDecimal(now.getQuality()), 2, RoundingMode.HALF_UP);
// dataLine1.add(norate0.toString());
// } else {
// dataBar1.add("0");
// dataLine1.add("0.00");
// }
// }
/**质量看板测试开始**/
//生产打开
qcInterface.setYmd("'" + nowYear + "','" + lastYear + "'");
Map<String, QcInterface> noOkNum = qcInterfaceMapper.getMothNoOkNum(qcInterface);
if (noOkNum == null) {
return null;
}
List<String> dataBar0 = new ArrayList<>();//不合规数量
List<String> dataLine0 = new ArrayList<>();//不合格率
for (String day0 : daystr0) {
QcInterface last = noOkNum.get(day0);
if (last != null) {
dataBar0.add(last.getNoOkQuality());
BigDecimal norate0 = new BigDecimal(last.getNoOkQuality()).multiply(new BigDecimal(100))
.divide(new BigDecimal(last.getQuality()), 2, RoundingMode.HALF_UP);
dataLine0.add(norate0.toString());
} else {
dataBar0.add("0");
dataLine0.add("0.00");
}
}
List<String> dataBar1 = new ArrayList<>();//不合规数量
List<String> dataLine1 = new ArrayList<>();//不合格率
dataBar0.add("4");dataBar0.add("9");dataBar0.add("7");dataBar0.add("13");dataBar0.add("11");dataBar0.add("7");
dataBar0.add("8");dataBar0.add("4");dataBar0.add("5");dataBar0.add("2");dataBar0.add("10");dataBar0.add("6");
dataBar1.add("3");dataBar1.add("14");dataBar1.add("17");dataBar1.add("3");dataBar1.add("9");dataBar1.add("3");
dataBar1.add("8");dataBar1.add("5");dataBar1.add("4");dataBar1.add("2");dataBar1.add("9");dataBar1.add("5");
dataLine0.add("1");dataLine0.add("2");dataLine0.add("0.5");dataLine0.add("0.9");dataLine0.add("1");dataLine0.add("1.9");
dataLine0.add("1.1");dataLine0.add("1");dataLine0.add("0.7");dataLine0.add("0.9");dataLine0.add("1.5");dataLine0.add("1.3");
dataLine1.add("0.5");dataLine1.add("1.5");dataLine1.add("0.9");dataLine1.add("1");dataLine1.add("0.7");dataLine1.add("1.9");
dataLine1.add("1.4");dataLine1.add("0.5");dataLine1.add("0.9");dataLine1.add("1");dataLine1.add("1.3");dataLine1.add("1.2");
/**质量看板测试结束**/
for (String day1 : daystr1) {
QcInterface now = noOkNum.get(day1);
if (now != null) {
dataBar1.add(now.getNoOkQuality());
BigDecimal norate0 = new BigDecimal(now.getNoOkQuality()).multiply(new BigDecimal(100))
.divide(new BigDecimal(now.getQuality()), 2, RoundingMode.HALF_UP);
dataLine1.add(norate0.toString());
} else {
dataBar1.add("0");
dataLine1.add("0.00");
}
}
// /**质量看板测试开始**/
// List<String> dataBar0 = new ArrayList<>();//不合规数量
// List<String> dataLine0 = new ArrayList<>();//不合格率
// List<String> dataBar1 = new ArrayList<>();//不合规数量
// List<String> dataLine1 = new ArrayList<>();//不合格率
// dataBar0.add("4");dataBar0.add("9");dataBar0.add("7");dataBar0.add("13");dataBar0.add("11");dataBar0.add("7");
// dataBar0.add("8");dataBar0.add("4");dataBar0.add("5");dataBar0.add("2");dataBar0.add("10");dataBar0.add("6");
// dataBar1.add("3");dataBar1.add("14");dataBar1.add("17");dataBar1.add("3");dataBar1.add("9");dataBar1.add("3");
// dataBar1.add("8");dataBar1.add("5");dataBar1.add("4");dataBar1.add("2");dataBar1.add("9");dataBar1.add("5");
//
// dataLine0.add("1");dataLine0.add("2");dataLine0.add("0.5");dataLine0.add("0.9");dataLine0.add("1");dataLine0.add("1.9");
// dataLine0.add("1.1");dataLine0.add("1");dataLine0.add("0.7");dataLine0.add("0.9");dataLine0.add("1.5");dataLine0.add("1.3");
// dataLine1.add("0.5");dataLine1.add("1.5");dataLine1.add("0.9");dataLine1.add("1");dataLine1.add("0.7");dataLine1.add("1.9");
// dataLine1.add("1.4");dataLine1.add("0.5");dataLine1.add("0.9");dataLine1.add("1");dataLine1.add("1.3");dataLine1.add("1.2");
// /**质量看板测试结束**/
lastYM.setDataBarArrays(dataBar0);
lastYM.setDataLineArrays(dataLine0);

@ -40,6 +40,7 @@
</if>
</select>
<select id="getCheckProjectsPie" resultType="com.op.quality.domain.QcInterface">
<!--
select count(0) quality,
qctd.project_no,
qctd.rule_name projectName
@ -55,7 +56,21 @@
<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
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(
@ -108,11 +123,12 @@
qct.quality,
qct.unit,
qct.supplier_name supplierName,
qct.income_time incomeTime,
CONVERT(varchar(10),qct.income_time, 120) incomeTime,
qct.check_status checkStatus,
qct.check_result checkResult,
qct.check_man_name checkManName,
qc.check_name checkName
qc.check_name checkName,
qct.check_time checkTime
from qc_check_task qct
left join qc_check_type qc on qct.check_type = qc.order_code
where qct.del_flag = '0' and qct.status = '1'
@ -126,7 +142,7 @@
<if test='ymdType=="dd"'>
and CONVERT(varchar(10),qct.income_time, 120) = SUBSTRING(#{ymd},0,11)
</if>
order by qct.income_time desc,qct.check_status asc
order by qct.check_no
</select>
<select id="getSupplierNoOkList" resultType="com.op.quality.domain.QcInterface">
select
@ -162,13 +178,13 @@
qct.check_man_name checkManName,
qctd.update_time checkTime
from qc_check_task_detail qctd
left join qc_check_task qct on qctd.belong_to = qct.record_id
left join qc_check_task qct on qctd.belong_to = qct.record_id
where qct.type_code = #{typeCode} and qctd.status = 'N'
and CONVERT(varchar(10),qct.income_time, 120) = SUBSTRING(#{ymd},0,11)
order by qctd.update_time desc
</select>
<select id="getProduceHz" resultType="com.op.quality.domain.QcInterface">
select sum(qct.quality) quality,
select
sum(sample_quality) sampleQuality,
sum(noOk_quality) noOkQuality
from qc_check_task qct
@ -260,4 +276,16 @@
and #{productDateEnd} >= CONVERT(varchar(10),income_time, 120)
group by supplier_name,CONVERT(varchar(10),income_time, 120)
</select>
<select id="getProduceHz1" resultType="com.op.quality.domain.QcInterface">
select sum(mrw.quantity_feedback*be.umrez) quality
from mes_report_work mrw
left join base_product be on be.product_code = mrw.product_code
where mrw.del_flag = '0' and mrw.parent_order = '0' and be.del_flag = '0'
<if test='ymdType=="mm"'>
and CONVERT(varchar(7),mrw.create_time, 120) = CONVERT(varchar(7),GETDATE(), 120)
</if>
<if test='ymdType=="dd"'>
and CONVERT(varchar(10),mrw.create_time, 120) = CONVERT(varchar(10),GETDATE(), 120)
</if>
</select>
</mapper>

Loading…
Cancel
Save