质量报表修改

master
zhaoxiaolin 8 months ago
parent 617f8add00
commit 4f6b7c2990

@ -131,8 +131,9 @@
<if test="prodType != null and prodType != ''">and pow.prod_type = #{prodType}</if>
<if test="factoryCode != null and factoryCode != ''">and pow.factory_code = #{factoryCode}</if>
<if test="endFlag != null and endFlag != ''">and pow.end_flag = #{endFlag}</if>
<if test="productDateStart != null ">and CONVERT(varchar(10),pow.product_date, 120) >=
'${productDateStart}'
<if test="productDateStart != null ">and CONVERT(varchar(10),pow.product_date, 120) >= '${productDateStart}'</if>
<if test="prodLineCode != null and prodLineCode != ''">
and pow.prod_line_code like concat('%', #{prodLineCode},'%')
</if>
<if test="productDateEnd != null ">and '${productDateEnd}' >= CONVERT(varchar(10),pow.product_date, 120)</if>
and pow.parent_order = #{parentOrder}

@ -124,11 +124,6 @@ public class QcStaticTableController extends BaseController {
}
List<QcStaticTable> serieDTOs = qcStaticTableService.getProduceNames(qcStaticTable);
//legendData
List<String> pnames = serieDTOs.stream().map(u -> u.getMaterialName()).collect(Collectors.toList());
resultdto.setLegendData(pnames);
Map<String, QcStaticTable> seriesdtos = null;
if ("ymd".equals(qcStaticTable.getDataType())) {//ymd
//code->materialCode+yyyy-mm-dd
@ -139,46 +134,131 @@ public class QcStaticTableController extends BaseController {
}
List<ChartDTO> seriesChart = new ArrayList<>();
for (QcStaticTable serieDTO : serieDTOs) {
ChartDTO chartDTO = new ChartDTO();
chartDTO.setName(serieDTO.getMaterialName());
chartDTO.setType("line");
String keyPre = serieDTO.getMaterialCode();
List<Double> datas = new ArrayList<>();
for (String ymd : resultdto.getxAxis()) {
String key = keyPre + ymd;
QcStaticTable mdata = seriesdtos.get(key);
if (mdata != null) {
if (mdata.getaNoOkquality() == null) {
mdata.setaNoOkquality(new BigDecimal("0"));
}
if (mdata.getbNoOkquality() == null) {
mdata.setbNoOkquality(new BigDecimal("0"));
}
if (mdata.getcNoOkquality() == null) {
mdata.setcNoOkquality(new BigDecimal("0"));
}
if (!"0.00".equals(mdata.getSampleQuality())) {
BigDecimal defectRate = (mdata.getaNoOkquality().add(mdata.getbNoOkquality()).multiply(new BigDecimal("0.65"))
.add(mdata.getcNoOkquality()).multiply(new BigDecimal(0.35)))
.divide(new BigDecimal(mdata.getSampleQuality()))
.setScale(2, BigDecimal.ROUND_HALF_UP);
datas.add(defectRate.doubleValue());
} else {
datas.add(0.00);
}
ChartDTO chartDTO = new ChartDTO();
List<Double> datas = new ArrayList<>();
for (String ymd : resultdto.getxAxis()) {
String key = ymd;
QcStaticTable mdata = seriesdtos.get(key);
if (mdata != null) {
if (mdata.getaNoOkquality() == null) {
mdata.setaNoOkquality(new BigDecimal("0"));
}
if (mdata.getbNoOkquality() == null) {
mdata.setbNoOkquality(new BigDecimal("0"));
}
if (mdata.getcNoOkquality() == null) {
mdata.setcNoOkquality(new BigDecimal("0"));
}
if (!"0.00".equals(mdata.getSampleQuality())) {
BigDecimal defectRate = (mdata.getaNoOkquality().add(mdata.getbNoOkquality()).add(mdata.getcNoOkquality()))
.divide(new BigDecimal(mdata.getSampleQuality()),2,BigDecimal.ROUND_HALF_UP)
.multiply(new BigDecimal("100.00"));
datas.add(defectRate.doubleValue());
} else {
datas.add(0.00);
}
} else {
datas.add(0.00);
}
chartDTO.setData(datas);
seriesChart.add(chartDTO);
}
chartDTO.setData(datas);
seriesChart.add(chartDTO);
resultdto.setSeries(seriesChart);
return resultdto;
}
/**精确到每个产品**/
// public QcStaticTable getProduceChartData(QcStaticTable qcStaticTable) {
// QcStaticTable resultdto = new QcStaticTable();
// //默认时间范围T 00:00:00~T+1 00:00:00
// if (StringUtils.isEmpty(qcStaticTable.getYmArrayStart())) {
// LocalDate date = LocalDate.now();
// DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM");
// String ymStr = dtf.format(date);
// qcStaticTable.setYmArrayStart(ymStr);
// qcStaticTable.setYmArrayEnd(ymStr);
// }
// if (StringUtils.isNotBlank(qcStaticTable.getMaterialCode())) {
// qcStaticTable.setMaterialCode("'" + qcStaticTable.getMaterialCode().replace(",", "','") + "'");
// }
// //xAxis;
// if (qcStaticTable.getYmArrayStart().equals(qcStaticTable.getYmArrayEnd())) {
// /**月内每日**/
// List<String> days = this.getXNames(qcStaticTable.getYmArrayStart() + "-01",
// qcStaticTable.getYmArrayEnd() + "-01", "ymd");
// resultdto.setxAxis(days);
//
// qcStaticTable.setDataType("ymd");
// qcStaticTable.setYmArrayStart(days.get(0));
// qcStaticTable.setYmArrayEnd(days.get(days.size() - 1));
// } else {
// /**年内各月**/
// List<String> months = this.getXNames(qcStaticTable.getYmArrayStart(), qcStaticTable.getYmArrayEnd(), "ym");
// resultdto.setxAxis(months);
//
// qcStaticTable.setDataType("ym");
// qcStaticTable.setYmArrayStart(months.get(0));
// qcStaticTable.setYmArrayEnd(months.get(months.size() - 1));
// }
//
//
// List<QcStaticTable> serieDTOs = qcStaticTableService.getProduceNames(qcStaticTable);
// //legendData
// List<String> pnames = serieDTOs.stream().map(u -> u.getMaterialName()).collect(Collectors.toList());
// resultdto.setLegendData(pnames);
//
// Map<String, QcStaticTable> seriesdtos = null;
// if ("ymd".equals(qcStaticTable.getDataType())) {//ymd
// //code->materialCode+yyyy-mm-dd
// seriesdtos = qcStaticTableService.getProduceChartData(qcStaticTable);
// } else {//ym
// //code->materialCode+yyyy-mm-dd
// seriesdtos = qcStaticTableService.getProduceChartDataYM(qcStaticTable);
// }
//
// List<ChartDTO> seriesChart = new ArrayList<>();
// for (QcStaticTable serieDTO : serieDTOs) {
// ChartDTO chartDTO = new ChartDTO();
// chartDTO.setName(serieDTO.getMaterialName());
// chartDTO.setType("line");
// String keyPre = serieDTO.getMaterialCode();
// List<Double> datas = new ArrayList<>();
// for (String ymd : resultdto.getxAxis()) {
// String key = keyPre + ymd;
// QcStaticTable mdata = seriesdtos.get(key);
// if (mdata != null) {
// if (mdata.getaNoOkquality() == null) {
// mdata.setaNoOkquality(new BigDecimal("0"));
// }
// if (mdata.getbNoOkquality() == null) {
// mdata.setbNoOkquality(new BigDecimal("0"));
// }
// if (mdata.getcNoOkquality() == null) {
// mdata.setcNoOkquality(new BigDecimal("0"));
// }
// if (!"0.00".equals(mdata.getSampleQuality())) {
// BigDecimal defectRate = (mdata.getaNoOkquality().add(mdata.getbNoOkquality()).multiply(new BigDecimal("0.65"))
// .add(mdata.getcNoOkquality()).multiply(new BigDecimal(0.35)))
// .divide(new BigDecimal(mdata.getSampleQuality()))
// .setScale(2, BigDecimal.ROUND_HALF_UP);
// datas.add(defectRate.doubleValue());
// } else {
// datas.add(0.00);
// }
//
// } else {
// datas.add(0.00);
// }
// }
// chartDTO.setData(datas);
// seriesChart.add(chartDTO);
// }
// resultdto.setSeries(seriesChart);
//
// return resultdto;
// }
public List<String> getXNames(String startMonth, String endMonth, String type) {
// 返回的日期集合
@ -262,12 +342,12 @@ public class QcStaticTableController extends BaseController {
public TableDataInfo getXJCheckTableList(QcStaticTable qcStaticTable) {
//默认时间范围T 00:00:00~T+1 00:00:00
if (StringUtils.isEmpty(qcStaticTable.getYearMonth())) {
LocalDate date = LocalDate.now();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM");
String ymStr = dtf.format(date);
qcStaticTable.setYearMonth(ymStr);//end
}
// if (StringUtils.isEmpty(qcStaticTable.getYearMonth())) {
// LocalDate date = LocalDate.now();
// DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM");
// String ymStr = dtf.format(date);
// qcStaticTable.setYearMonth(ymStr);//end
// }
startPage();
List<QcStaticTable> list = qcStaticTableService.getXJCheckTableList(qcStaticTable);
return getDataTable(list);

@ -61,6 +61,7 @@ public class QcStaticTable extends BaseEntity {
private String unit;
@Excel(name = "抽样数量")
private String sampleQuality;
private String noOkQuality;
@Excel(name = "不良数量")
private int noOkNums;
@Excel(name = "不良比例")
@ -79,6 +80,7 @@ public class QcStaticTable extends BaseEntity {
@JsonFormat(pattern = "yyyy-MM-dd")
private Date incomeTime;
private String incomeTimeStr;
private String checkManCode;
private String checkManName;
private String ruleName;
@ -109,6 +111,22 @@ public class QcStaticTable extends BaseEntity {
private BigDecimal upperDiff;
private BigDecimal downDiff;
public String getIncomeTimeStr() {
return incomeTimeStr;
}
public void setIncomeTimeStr(String incomeTimeStr) {
this.incomeTimeStr = incomeTimeStr;
}
public String getNoOkQuality() {
return noOkQuality;
}
public void setNoOkQuality(String noOkQuality) {
this.noOkQuality = noOkQuality;
}
public String getDetailId() {
return detailId;
}

@ -126,15 +126,15 @@ public class QcDefectTypeServiceImpl implements IQcDefectTypeService {
public AjaxResult updateQcDefectType(QcDefectType qcDefectType) {
// 检验
QcDefectType checkQuery = new QcDefectType();
checkQuery.setDefectType(qcDefectType.getDefectType());
checkQuery.setDefectSubclass(qcDefectType.getDefectSubclass());
List<QcDefectType> check = qcDefectTypeMapper.selectQcDefectTypeList(checkQuery);
if (check.size() > 0) {
if (!check.get(0).equals(qcDefectType.getDefectCode())) {
return error(500, "不良子类已存在!修改失败!");
}
}
// QcDefectType checkQuery = new QcDefectType();
// checkQuery.setDefectType(qcDefectType.getDefectType());
// checkQuery.setDefectSubclass(qcDefectType.getDefectSubclass());
// List<QcDefectType> check = qcDefectTypeMapper.selectQcDefectTypeList(checkQuery);
// if (check.size() > 0) {
// if (!check.get(0).equals(qcDefectType.getDefectCode())) {
// return error(500, "不良子类已存在!修改失败!");
// }
// }
qcDefectType.setUpdateBy(SecurityContextHolder.getUserName());
qcDefectType.setUpdateTime(DateUtils.getNowDate());
// 插入数据库

@ -85,7 +85,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
//合格批次
int okBatchs = tabledto.getBatchs() - tabledto.getNoOkBatchs();
tabledto.setOkBatchs(okBatchs);
//批次合格
//批次不良
if (tabledto.getBatchs() != 0) {
BigDecimal noOkBatchRate = new BigDecimal(tabledto.getNoOkBatchs()).multiply(new BigDecimal("100.00"))
.divide(new BigDecimal(tabledto.getBatchs()), BigDecimal.ROUND_CEILING)
@ -464,15 +464,7 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
@DS("#header.poolName")
public ChartSeriesDTO getXJChartData(QcStaticTable qcStaticTable) {
ChartSeriesDTO seriesDTO = new ChartSeriesDTO();
//获取当天参与生产的车间
List<QcStaticTable> legends = qcStaticTableMapper.getLegendData(qcStaticTable);
List<String> legendData = new ArrayList<>();
if (!CollectionUtils.isEmpty(legends)) {
legendData = legends.stream().map(QcStaticTable::getSupplierName).collect(Collectors.toList());
} else {
return null;
}
seriesDTO.setLegendData(legendData);
//横轴时间
qcStaticTable.setStartDateStr(qcStaticTable.getYmdms() + " 08:00:00");
qcStaticTable.setEndDateStr(qcStaticTable.getYmdms() + " 08:00:00");
@ -482,31 +474,71 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
Map<String, QcStaticTable> dataMap = qcStaticTableMapper.getXJMapData(qcStaticTable);
List<ChartDTO> series = new ArrayList<>();
ChartDTO serie = null;
for (QcStaticTable legend : legends) {
serie = new ChartDTO();
serie.setName(legend.getSupplierName());
List<Double> data = new ArrayList<>();
for (String houreName : xAxisData) {
String key = legend.getSupplierCode() + houreName.replace("时", "");
QcStaticTable qt = dataMap.get(key);
if (qt != null && StringUtils.isNotBlank(qt.getSampleQuality())) {
BigDecimal noOkRate = new BigDecimal(qt.getNoOkNums())
.multiply(new BigDecimal(100))
.divide(new BigDecimal(qt.getSampleQuality()), 2, BigDecimal.ROUND_HALF_UP);
data.add(noOkRate.doubleValue());
} else {
data.add(0.00);
}
serie.setData(data);
ChartDTO serie = new ChartDTO();
List<Double> data = new ArrayList<>();
for (String houreName : xAxisData) {
String key = houreName.replace("时", "");
QcStaticTable qt = dataMap.get(key);
if (qt != null && StringUtils.isNotBlank(qt.getSampleQuality())) {
BigDecimal noOkRate = new BigDecimal(qt.getNoOkNums())
.multiply(new BigDecimal(100))
.divide(new BigDecimal(qt.getSampleQuality()), 2, BigDecimal.ROUND_HALF_UP);
data.add(noOkRate.doubleValue());
} else {
data.add(0.00);
}
serie.setData(data);
series.add(serie);
}
serie.setData(data);
series.add(serie);
seriesDTO.setSeries(series);
return seriesDTO;
}
// public ChartSeriesDTO getXJChartData(QcStaticTable qcStaticTable) {
// ChartSeriesDTO seriesDTO = new ChartSeriesDTO();
// //获取当天参与生产的车间
// List<QcStaticTable> legends = qcStaticTableMapper.getLegendData(qcStaticTable);
// List<String> legendData = new ArrayList<>();
// if (!CollectionUtils.isEmpty(legends)) {
// legendData = legends.stream().map(QcStaticTable::getSupplierName).collect(Collectors.toList());
// } else {
// return null;
// }
// seriesDTO.setLegendData(legendData);
// //横轴时间
// qcStaticTable.setStartDateStr(qcStaticTable.getYmdms() + " 08:00:00");
// qcStaticTable.setEndDateStr(qcStaticTable.getYmdms() + " 08:00:00");
// List<String> xAxisData = this.getHourProductionTitle(qcStaticTable);
// seriesDTO.setxAxisData(xAxisData);
// //数据
// Map<String, QcStaticTable> dataMap = qcStaticTableMapper.getXJMapData(qcStaticTable);
//
// List<ChartDTO> series = new ArrayList<>();
// ChartDTO serie = null;
// for (QcStaticTable legend : legends) {
// serie = new ChartDTO();
// serie.setName(legend.getSupplierName());
// List<Double> data = new ArrayList<>();
// for (String houreName : xAxisData) {
// String key = legend.getSupplierCode() + houreName.replace("时", "");
// QcStaticTable qt = dataMap.get(key);
// if (qt != null && StringUtils.isNotBlank(qt.getSampleQuality())) {
// BigDecimal noOkRate = new BigDecimal(qt.getNoOkNums())
// .multiply(new BigDecimal(100))
// .divide(new BigDecimal(qt.getSampleQuality()), 2, BigDecimal.ROUND_HALF_UP);
// data.add(noOkRate.doubleValue());
// } else {
// data.add(0.00);
// }
// serie.setData(data);
// }
// serie.setData(data);
// series.add(serie);
// }
// seriesDTO.setSeries(series);
//
// return seriesDTO;
// }
@Override
@DS("#header.poolName")

@ -87,8 +87,8 @@
<if test="factoryCode != null and factoryCode != ''">and qct.factory_code = #{factoryCode}</if>
<if test="incomeTimeStart != null ">and CONVERT(varchar(30),qct.income_time, 120) >= #{incomeTimeStart}</if>
<if test="incomeTimeEnd != null ">and #{incomeTimeEnd} > CONVERT(varchar(30),qct.income_time, 120)</if>
<if test="checkTimeStart != null ">and CONVERT(varchar(30),qct.check_time, 120) >= #{checkTimeStart}</if>
<if test="checkTimeEnd != null ">and #{checkTimeEnd} > CONVERT(varchar(30),qct.check_time, 120)</if>
<if test="checkTimeStart != null ">and CONVERT(varchar(30),qct.create_time, 120) >= #{checkTimeStart}</if>
<if test="checkTimeEnd != null ">and #{checkTimeEnd} > CONVERT(varchar(30),qct.create_time, 120)</if>
<if test="checkType != null ">and qct.check_type = #{checkType}</if>
<if test="typeCode != null ">and q.type_code = #{typeCode}</if>
</where>

@ -56,6 +56,7 @@
group by qct.supplier_code,qct.supplier_name
</select>
<select id="getProduceChartData" resultType="com.op.quality.domain.QcStaticTable">
<!--
select concat(qct.material_code,CONVERT(varchar(10),qct.income_time, 120)) materailDate,
qct.material_code materialCode,
qct.material_name materialName,
@ -69,7 +70,25 @@
<if test="materialCode != null ">and qct.material_code in (${materialCode})</if>
<if test="workCenter != null ">and qct.supplier_code = #{workCenter}</if>
<if test="ymArrayStart != null ">and CONVERT(varchar(10),qct.income_time, 120) >= #{ymArrayStart}</if>
<if test="ymArrayEnd != null ">and #{ymArrayEnd}>= CONVERT(varchar(10),qct.income_time, 120)</if>
<if test="ymArrayEnd != null ">and #{ymArrayEnd}>= CONVERT(varchar(10),qct.income_time, 120)</if>-->
select CONVERT(varchar(10),qct.income_time, 120) materailDate,
sum(qct.sample_quality) sampleQuality,
sum(qctd1.noOk_quality)*type1.ratio aNoOkquality,
sum(qctd2.noOk_quality)*type2.ratio bNoOkquality,
sum(qctd3.noOk_quality)*type3.ratio cNoOkquality
from qc_check_task qct
left join qc_check_task_defect qctd1 on qct.record_id = qctd1.belong_to and qctd1.defect_code = '20231212001'
left join qc_defect_type type1 on qctd1.defect_code = type1.defect_code
left join qc_check_task_defect qctd2 on qct.record_id = qctd2.belong_to and qctd2.defect_code = '20231212002'
left join qc_defect_type type2 on qctd2.defect_code = type2.defect_code
left join qc_check_task_defect qctd3 on qct.record_id = qctd3.belong_to and qctd3.defect_code = '20231212003'
left join qc_defect_type type3 on qctd3.defect_code = type3.defect_code
where qct.del_flag = '0' and qct.type_code = 'produce'
<if test="materialCode != null ">and qct.material_code in (${materialCode})</if>
<if test="workCenter != null ">and qct.supplier_code = #{workCenter}</if>
<if test="ymArrayStart != null ">and CONVERT(varchar(10),qct.create_time, 120) >= #{ymArrayStart}</if>
<if test="ymArrayEnd != null ">and #{ymArrayEnd}>= CONVERT(varchar(10),qct.create_time, 120)</if>
group by CONVERT(varchar(10),qct.income_time, 120),type1.ratio,type2.ratio,type3.ratio
</select>
<select id="getProduceNames" resultType="com.op.quality.domain.QcStaticTable">
select distinct qct.material_code materialCode,
@ -82,6 +101,7 @@
<if test="ymArrayEnd != null ">and #{ymArrayEnd}>= CONVERT(varchar(10),qct.income_time, 120)</if>
</select>
<select id="getProduceChartDataYM" resultType="com.op.quality.domain.QcStaticTable">
<!--
select
<if test='dataType=="ymd" '>
concat(qct.material_code,CONVERT(varchar(10),qct.income_time, 120)) materailDate,
@ -119,6 +139,41 @@
<if test='dataType=="ym" '>
,CONVERT(varchar(7),qct.income_time, 120)
</if>
-->
select
<if test='dataType=="ymd" '>
CONVERT(varchar(10),qct.income_time, 120) materailDate,
</if>
<if test='dataType=="ym" '>
CONVERT(varchar(7),qct.income_time, 120) materailDate,
</if>
sum(qct.sample_quality) sampleQuality,
sum(qctd1.noOk_quality)*type1.ratio aNoOkquality,
sum(qctd2.noOk_quality)*type2.ratio bNoOkquality,
sum(qctd3.noOk_quality)*type3.ratio cNoOkquality
from qc_check_task qct
left join qc_check_task_defect qctd1 on qct.record_id = qctd1.belong_to and qctd1.defect_code = '20231212001'
left join qc_defect_type type1 on qctd1.defect_code = type1.defect_code
left join qc_check_task_defect qctd2 on qct.record_id = qctd2.belong_to and qctd2.defect_code = '20231212002'
left join qc_defect_type type2 on qctd2.defect_code = type2.defect_code
left join qc_check_task_defect qctd3 on qct.record_id = qctd3.belong_to and qctd3.defect_code = '20231212003'
left join qc_defect_type type3 on qctd3.defect_code = type3.defect_code
where qct.del_flag = '0' and qct.type_code = 'produce'
<if test="materialCode != null ">and qct.material_code in (${materialCode})</if>
<if test="workCenter != null ">and qct.supplier_code = #{workCenter}</if>
<if test='ymArrayStart != null and dataType=="ym" '>and CONVERT(varchar(7),qct.income_time, 120) >=#{ymArrayStart}</if>
<if test='ymArrayEnd != null and dataType=="ym"'>and #{ymArrayEnd}>= CONVERT(varchar(7),qct.income_time, 120)</if>
<if test='ymArrayStart != null and dataType=="ymd" '>and CONVERT(varchar(10),qct.income_time, 120) >=#{ymArrayStart}</if>
<if test='ymArrayEnd != null and dataType=="ymd"'>and #{ymArrayEnd}>= CONVERT(varchar(10),qct.income_time,120)</if>
group by type1.ratio,type2.ratio,type3.ratio
<if test='dataType=="ymd" '>
,CONVERT(varchar(10),qct.income_time, 120)
</if>
<if test='dataType=="ym" '>
,CONVERT(varchar(7),qct.income_time, 120)
</if>
</select>
<select id="getWorkcenterList" resultType="com.op.system.api.domain.quality.FactoryDto">
select factory_name factoryName,
@ -127,20 +182,21 @@
</select>
<select id="getXJCheckTableList" resultType="com.op.quality.domain.QcStaticTable">
select distinct
order_no orderNo,
material_code materialCode, material_name materialName,
quality,unit,
supplier_code supplierCode,supplier_name supplierName,
income_time incomeTime
from qc_check_task
where check_type = 'checkTypeSCXJ' and del_flag = '0'
<if test="orderNo != null ">and check_no like concat('%',#{orderNo},'%')</if>
<if test="materialCode != null ">and material_code like concat('%',#{materialCode},'%')</if>
<if test="incomeBatchNo != null ">and income_batch_no like concat('%',#{incomeBatchNo},'%')</if>
<if test="incomeTime != null ">and CONVERT(varchar(10),income_time, 120) >= CONVERT(varchar(10),#{incomeTime},
120)
qct.order_no orderNo,
qct.material_code materialCode, qct.material_name materialName,
qct.quality,qct.unit,
qct.supplier_code supplierCode,qct.supplier_name supplierName,
pow.product_date incomeTimeStr,
pow.shift_id shiftId
from qc_check_task qct
left join pro_order_workorder pow on pow.workorder_code = qct.order_no
where qct.check_type = 'checkTypeSCXJ' and qct.del_flag = '0'
<if test="orderNo != null ">and qct.check_no like concat('%',#{orderNo},'%')</if>
<if test="materialCode != null ">and qct.material_code like concat('%',#{materialCode},'%')</if>
<if test="incomeBatchNo != null ">and qct.income_batch_no like concat('%',#{incomeBatchNo},'%')</if>
<if test="incomeTimeStr != null ">and CONVERT(varchar(10),pow.product_date, 120) = #{incomeTimeStr}
</if>
order by income_time desc
order by pow.product_date desc
</select>
<select id="getXJProjects" resultType="com.op.quality.domain.QcStaticTable">
select qct.rule_name ruleName,
@ -223,6 +279,7 @@
and CONVERT(varchar(10),income_time, 120) = #{ymdms}
</select>
<select id="getXJMapData" resultType="com.op.quality.domain.QcStaticTable">
<!--
select qct.supplier_code supplierCode,
qct.supplier_name supplierName,
sum(qct.sample_quality) sampleQuality,
@ -234,6 +291,15 @@
<if test="orderNo != null ">and qct.check_no like concat('%',#{orderNo},'%')</if>
<if test="materialCode != null ">and qct.material_code like concat('%',#{materialCode},'%')</if>
group by qct.supplier_code,qct.supplier_name,CONVERT(VARCHAR(2), qct.check_time, 108)
-->
select
sum(qct.sample_quality) sampleQuality,
sum(qct.noOk_quality) noOkNums,
CONVERT(VARCHAR(2), qct.check_time, 108) ymdms
from qc_check_task qct
where qct.check_type = 'checkTypeSCXJ' and qct.del_flag = '0'
and CONVERT(varchar(10),qct.income_time, 120) = #{ymdms}
group by CONVERT(VARCHAR(2), qct.check_time, 108)
</select>
<select id="getQmsRateTable" resultType="com.op.quality.domain.QcStaticTable">
select qct.supplier_code supplierCode,

Loading…
Cancel
Save