diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml
index 1b34d814..8a3d93ba 100644
--- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml
+++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml
@@ -131,8 +131,9 @@
and pow.prod_type = #{prodType}
and pow.factory_code = #{factoryCode}
and pow.end_flag = #{endFlag}
- and CONVERT(varchar(10),pow.product_date, 120) >=
- '${productDateStart}'
+ and CONVERT(varchar(10),pow.product_date, 120) >= '${productDateStart}'
+
+ and pow.prod_line_code like concat('%', #{prodLineCode},'%')
and '${productDateEnd}' >= CONVERT(varchar(10),pow.product_date, 120)
and pow.parent_order = #{parentOrder}
diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java
index 11aa1cbf..16fd477a 100644
--- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java
+++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java
@@ -124,11 +124,6 @@ public class QcStaticTableController extends BaseController {
}
- List serieDTOs = qcStaticTableService.getProduceNames(qcStaticTable);
- //legendData
- List pnames = serieDTOs.stream().map(u -> u.getMaterialName()).collect(Collectors.toList());
- resultdto.setLegendData(pnames);
-
Map seriesdtos = null;
if ("ymd".equals(qcStaticTable.getDataType())) {//ymd
//code->materialCode+yyyy-mm-dd
@@ -139,46 +134,131 @@ public class QcStaticTableController extends BaseController {
}
List seriesChart = new ArrayList<>();
- for (QcStaticTable serieDTO : serieDTOs) {
- ChartDTO chartDTO = new ChartDTO();
- chartDTO.setName(serieDTO.getMaterialName());
- chartDTO.setType("line");
- String keyPre = serieDTO.getMaterialCode();
- List 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 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 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 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 serieDTOs = qcStaticTableService.getProduceNames(qcStaticTable);
+// //legendData
+// List pnames = serieDTOs.stream().map(u -> u.getMaterialName()).collect(Collectors.toList());
+// resultdto.setLegendData(pnames);
+//
+// Map 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 seriesChart = new ArrayList<>();
+// for (QcStaticTable serieDTO : serieDTOs) {
+// ChartDTO chartDTO = new ChartDTO();
+// chartDTO.setName(serieDTO.getMaterialName());
+// chartDTO.setType("line");
+// String keyPre = serieDTO.getMaterialCode();
+// List 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 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 list = qcStaticTableService.getXJCheckTableList(qcStaticTable);
return getDataTable(list);
diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java
index 554cafdf..a3618395 100644
--- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java
+++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java
@@ -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;
}
diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcDefectTypeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcDefectTypeServiceImpl.java
index aefa8f02..ea07ae0d 100644
--- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcDefectTypeServiceImpl.java
+++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcDefectTypeServiceImpl.java
@@ -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 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 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());
// 插入数据库
diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java
index 61b0197b..96f0e9eb 100644
--- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java
+++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java
@@ -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 legends = qcStaticTableMapper.getLegendData(qcStaticTable);
- List 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 dataMap = qcStaticTableMapper.getXJMapData(qcStaticTable);
List series = new ArrayList<>();
- ChartDTO serie = null;
- for (QcStaticTable legend : legends) {
- serie = new ChartDTO();
- serie.setName(legend.getSupplierName());
- List 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 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 legends = qcStaticTableMapper.getLegendData(qcStaticTable);
+// List 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 xAxisData = this.getHourProductionTitle(qcStaticTable);
+// seriesDTO.setxAxisData(xAxisData);
+// //数据
+// Map dataMap = qcStaticTableMapper.getXJMapData(qcStaticTable);
+//
+// List series = new ArrayList<>();
+// ChartDTO serie = null;
+// for (QcStaticTable legend : legends) {
+// serie = new ChartDTO();
+// serie.setName(legend.getSupplierName());
+// List 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")
diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml
index 5e2ad6b3..58372c0c 100644
--- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml
+++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskInventoryMapper.xml
@@ -87,8 +87,8 @@
and qct.factory_code = #{factoryCode}
and CONVERT(varchar(30),qct.income_time, 120) >= #{incomeTimeStart}
and #{incomeTimeEnd} > CONVERT(varchar(30),qct.income_time, 120)
- and CONVERT(varchar(30),qct.check_time, 120) >= #{checkTimeStart}
- and #{checkTimeEnd} > CONVERT(varchar(30),qct.check_time, 120)
+ and CONVERT(varchar(30),qct.create_time, 120) >= #{checkTimeStart}
+ and #{checkTimeEnd} > CONVERT(varchar(30),qct.create_time, 120)
and qct.check_type = #{checkType}
and q.type_code = #{typeCode}
diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml
index 7757c56b..eed07247 100644
--- a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml
+++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml
@@ -56,6 +56,7 @@
group by qct.supplier_code,qct.supplier_name