change - 发泡追溯报表、质量报表加导出

master
yinq 6 months ago
parent d0e058319c
commit 1852055580

@ -72,24 +72,25 @@
<if test="materialName != null and materialName != ''">and pp.material_name like concat(concat('%',
#{materialName}), '%')
</if>
<if test="productLineCode != null and productLineCode != ''">and pp.productline_code = #{productLineCode}</if>
<if test="productLineCode != null and productLineCode != ''">and pl.PRODUCT_LINE_CODE = #{productLineCode}</if>
<if test="stationCode != null and stationCode != ''">and pp.productline_code = #{stationCode}</if>
<if test="planAmount != null ">and pp.plan_amount = #{planAmount}</if>
<if test="completeAmount != null ">and pp.complete_amount = #{completeAmount}</if>
<if test="params.beginEndTime != null and params.beginEndTime != '' and params.endEndTime != null and params.endEndTime != ''">
and bo.BEGIN_DATE between to_date(#{params.beginEndTime}, 'yyyy-mm-dd') and
to_date(#{params.endEndTime}, 'yyyy-mm-dd')
</if>
<if test="params.beginBeginTime != null and params.beginBeginTime != '' and params.endBeginTime != null and params.endBeginTime != ''">
and pp.begin_time between to_date(#{params.beginBeginTime}, 'yyyy-mm-dd hh24:mi:ss') and
to_date(#{params.endBeginTime}, 'yyyy-mm-dd hh24:mi:ss')
</if>
<if test="params.beginEndTime != null and params.beginEndTime != '' and params.endEndTime != null and params.endEndTime != ''">
and pp.end_time between to_date(#{params.beginEndTime}, 'yyyy-mm-dd hh24:mi:ss') and
to_date(#{params.endEndTime}, 'yyyy-mm-dd hh24:mi:ss')
</if>
<if test="isFlag != null ">and pp.is_flag = #{isFlag}</if>
<if test="createdBy != null and createdBy != ''">and pp.created_by = #{createdBy}</if>
<if test="createdTime != null ">and pp.created_time = #{createdTime}</if>
<if test="updatedBy != null and updatedBy != ''">and pp.updated_by = #{updatedBy}</if>
<if test="updatedTime != null ">and pp.updated_time = #{updatedTime}</if>
</where>
order by pp.order_code desc, pp.plan_code
order by bo.BEGIN_DATE desc
</select>
<select id="selectProductPlanInfoByObjId" parameterType="Long" resultMap="ProductPlanInfoResult">

@ -4,12 +4,13 @@ import com.aucma.common.core.controller.BaseController;
import com.aucma.common.core.domain.AjaxResult;
import com.aucma.common.core.page.TableDataInfo;
import com.aucma.report.domain.ProductTraceabilityReport;
import com.aucma.report.domain.boxTraceabilityReport;
import com.aucma.common.utils.poi.ExcelUtil;
import com.aucma.report.domain.BoxTraceabilityReport;
import com.aucma.report.service.IProductionReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -71,9 +72,20 @@ public class ProductionReportController extends BaseController {
@GetMapping("/boxTraceabilityReport")
public TableDataInfo boxTraceabilityReport(@RequestParam(required = false) Map hashMap) {
startPage();
List<boxTraceabilityReport> list = productionReportService.boxTraceabilityReport(hashMap);
List<BoxTraceabilityReport> list = productionReportService.boxTraceabilityReport(hashMap);
return getDataTable(list);
}
/**
*
* @param hashMap
* @return
*/
@PostMapping("/boxTraceabilityReport/export")
public void boxTraceabilityReportExport(HttpServletResponse response, @RequestParam(required = false) Map hashMap) {
List<BoxTraceabilityReport> list = productionReportService.boxTraceabilityReport(hashMap);
ExcelUtil<BoxTraceabilityReport> util = new ExcelUtil<>(BoxTraceabilityReport. class);
util.exportExcel(response, list, "发泡箱体追溯报表" );
}
}

@ -4,7 +4,10 @@ import com.aucma.common.core.controller.BaseController;
import com.aucma.common.core.domain.AjaxResult;
import com.aucma.common.core.page.TableDataInfo;
import com.aucma.common.utils.poi.ExcelUtil;
import com.aucma.report.domain.FewerMistakesReport;
import com.aucma.report.domain.ProductTraceabilityReport;
import com.aucma.report.domain.QualityDefectsStatisticalAnalysis;
import com.aucma.report.domain.QualityIssuesReport;
import com.aucma.report.service.IQualityReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -34,10 +37,22 @@ public class QualityReportController extends BaseController {
*/
@GetMapping("/qualityDefectsStatisticalAnalysisList")
public AjaxResult qualityDefectsStatisticalAnalysisList(@RequestParam(required = false) Map hashMap) {
List<HashMap<String, Object>> list = qualityReportService.qualityDefectsStatisticalAnalysisList(hashMap);
List<QualityDefectsStatisticalAnalysis> list = qualityReportService.qualityDefectsStatisticalAnalysisList(hashMap);
return success(list);
}
/**
*
* @param hashMap
* @return
*/
@PostMapping("/qualityDefectsStatisticalAnalysisList/export" )
public void qualityDefectsStatisticalAnalysisListExport(HttpServletResponse response, @RequestParam(required = false) Map hashMap) {
List<QualityDefectsStatisticalAnalysis> list = qualityReportService.qualityDefectsStatisticalAnalysisList(hashMap);
ExcelUtil<QualityDefectsStatisticalAnalysis> util = new ExcelUtil<>(QualityDefectsStatisticalAnalysis. class);
util.exportExcel(response, list, "质量缺陷统计分析" );
}
/**
*
* @param hashMap
@ -56,10 +71,22 @@ public class QualityReportController extends BaseController {
*/
@GetMapping("/fewerMistakesReportList")
public AjaxResult fewerMistakesReportList(@RequestParam(required = false) Map hashMap) {
List<HashMap<String, Object>> list = qualityReportService.fewerMistakesReportList(hashMap);
List<FewerMistakesReport> list = qualityReportService.fewerMistakesReportList(hashMap);
return success(list);
}
/**
*
* @param hashMap
* @return
*/
@PostMapping("/fewerMistakesReportList/export" )
public void fewerMistakesReportListExport(HttpServletResponse response, @RequestParam(required = false) Map hashMap) {
List<FewerMistakesReport> list = qualityReportService.fewerMistakesReportList(hashMap);
ExcelUtil<FewerMistakesReport> util = new ExcelUtil<>(FewerMistakesReport. class);
util.exportExcel(response, list, "少错件报表" );
}
/**
* 80
@ -68,10 +95,22 @@ public class QualityReportController extends BaseController {
*/
@GetMapping("/qualityIssuesReportList")
public AjaxResult qualityIssuesReportList(@RequestParam(required = false) Map hashMap) {
List<HashMap<String, Object>> list = qualityReportService.qualityIssuesReportList(hashMap);
List<QualityIssuesReport> list = qualityReportService.qualityIssuesReportList(hashMap);
return success(list);
}
/**
* 80
* @param hashMap
* @return
*/
@PostMapping("/qualityIssuesReportList/export" )
public void qualityIssuesReportListExport(HttpServletResponse response, @RequestParam(required = false) Map hashMap) {
List<QualityIssuesReport> list = qualityReportService.qualityIssuesReportList(hashMap);
ExcelUtil<QualityIssuesReport> util = new ExcelUtil<>(QualityIssuesReport. class);
util.exportExcel(response, list, "质量问题前80报表" );
}
/**
*
* @param hashMap

@ -10,7 +10,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @author Yinq
* @date 2024-03-15
*/
public class boxTraceabilityReport extends BaseEntity {
public class BoxTraceabilityReport extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
@ -83,12 +83,36 @@ public class boxTraceabilityReport extends BaseEntity {
@JsonProperty("SCRAP_NUMBER")
private Long SCRAP_NUMBER;
public Long getDIFF_NUMBER() {
return DIFF_NUMBER;
/**
* MES
*/
@Excel(name = "MES箱体码")
@JsonProperty("BOX_CODE")
private String BOX_CODE;
/**
*
*/
@Excel(name = "最后扫描点")
@JsonProperty("SCAN_SPOT")
private String SCAN_SPOT;
/**
*
*/
@Excel(name = "是否报废")
@JsonProperty("SCRAP_FLAG")
private String SCRAP_FLAG;
private String productLineCode;
public String getProductLineCode() {
return productLineCode;
}
public void setDIFF_NUMBER(Long DIFF_NUMBER) {
this.DIFF_NUMBER = DIFF_NUMBER;
public void setProductLineCode(String productLineCode) {
this.productLineCode = productLineCode;
}
public String getORDER_CODE() {
@ -99,6 +123,14 @@ public class boxTraceabilityReport extends BaseEntity {
this.ORDER_CODE = ORDER_CODE;
}
public String getSALEORDER_CODE() {
return SALEORDER_CODE;
}
public void setSALEORDER_CODE(String SALEORDER_CODE) {
this.SALEORDER_CODE = SALEORDER_CODE;
}
public String getSALEORDER_LINENUMBER() {
return SALEORDER_LINENUMBER;
}
@ -147,6 +179,14 @@ public class boxTraceabilityReport extends BaseEntity {
this.SCAN_NUMBER = SCAN_NUMBER;
}
public Long getDIFF_NUMBER() {
return DIFF_NUMBER;
}
public void setDIFF_NUMBER(Long DIFF_NUMBER) {
this.DIFF_NUMBER = DIFF_NUMBER;
}
public Long getSCRAP_NUMBER() {
return SCRAP_NUMBER;
}
@ -155,27 +195,46 @@ public class boxTraceabilityReport extends BaseEntity {
this.SCRAP_NUMBER = SCRAP_NUMBER;
}
public String getSALEORDER_CODE() {
return SALEORDER_CODE;
public String getBOX_CODE() {
return BOX_CODE;
}
public void setSALEORDER_CODE(String SALEORDER_CODE) {
this.SALEORDER_CODE = SALEORDER_CODE;
public void setBOX_CODE(String BOX_CODE) {
this.BOX_CODE = BOX_CODE;
}
public String getSCAN_SPOT() {
return SCAN_SPOT;
}
public void setSCAN_SPOT(String SCAN_SPOT) {
this.SCAN_SPOT = SCAN_SPOT;
}
public String getSCRAP_FLAG() {
return SCRAP_FLAG;
}
public void setSCRAP_FLAG(String SCRAP_FLAG) {
this.SCRAP_FLAG = SCRAP_FLAG;
}
@Override
public String toString() {
return "boxTraceabilityReport{" +
return "BoxTraceabilityReport{" +
"ORDER_CODE='" + ORDER_CODE + '\'' +
", SALEORDER_CODE='" + SALEORDER_CODE + '\'' +
", ORDER_CODE='" + ORDER_CODE + '\'' +
", SALEORDER_LINENUMBER='" + SALEORDER_LINENUMBER + '\'' +
", MATERIAL_CODE='" + MATERIAL_CODE + '\'' +
", MATERIAL_MODEL='" + MATERIAL_MODEL + '\'' +
", ORDER_AMOUNT=" + ORDER_AMOUNT +
", BEFORE_NUMBER=" + BEFORE_NUMBER +
", SCAN_NUMBER=" + SCAN_NUMBER +
", DIFF_NUMBER=" + DIFF_NUMBER +
", SCRAP_NUMBER=" + SCRAP_NUMBER +
", BOX_CODE='" + BOX_CODE + '\'' +
", SCAN_SPOT='" + SCAN_SPOT + '\'' +
", SCRAP_FLAG='" + SCRAP_FLAG + '\'' +
'}';
}
}

@ -0,0 +1,136 @@
package com.aucma.report.domain;
import com.aucma.common.annotation.Excel;
import com.aucma.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Date;
/**
*
*
* @author Yinq
* @date 2024-03-15
*/
public class FewerMistakesReport extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
@Excel(name = "工厂")
@JsonProperty("FACTORY_NAME")
private String FACTORY_NAME;
/**
* 线
*/
@Excel(name = "产线")
@JsonProperty("PRODUCT_LINE_NAME")
private String PRODUCT_LINE_NAME;
/**
*
*/
@Excel(name = "日期")
@JsonProperty("INSPECTOR_TIME")
private String INSPECTOR_TIME;
/**
*
*/
@Excel(name = "工位")
@JsonProperty("STATION_NAME")
private String STATION_NAME;
/**
*
*/
@Excel(name = "产品型号")
@JsonProperty("MATERIAL_MODEL")
private String MATERIAL_MODEL;
/**
*
*/
@Excel(name = "问题点")
@JsonProperty("QUALITY_DEFECT_NAME")
private String QUALITY_DEFECT_NAME;
/**
*
*/
@Excel(name = "数量")
@JsonProperty("DEFECT_NUMBER")
private Long DEFECT_NUMBER;
public String getFACTORY_NAME() {
return FACTORY_NAME;
}
public void setFACTORY_NAME(String FACTORY_NAME) {
this.FACTORY_NAME = FACTORY_NAME;
}
public String getPRODUCT_LINE_NAME() {
return PRODUCT_LINE_NAME;
}
public void setPRODUCT_LINE_NAME(String PRODUCT_LINE_NAME) {
this.PRODUCT_LINE_NAME = PRODUCT_LINE_NAME;
}
public String getINSPECTOR_TIME() {
return INSPECTOR_TIME;
}
public void setINSPECTOR_TIME(String INSPECTOR_TIME) {
this.INSPECTOR_TIME = INSPECTOR_TIME;
}
public String getSTATION_NAME() {
return STATION_NAME;
}
public void setSTATION_NAME(String STATION_NAME) {
this.STATION_NAME = STATION_NAME;
}
public String getMATERIAL_MODEL() {
return MATERIAL_MODEL;
}
public void setMATERIAL_MODEL(String MATERIAL_MODEL) {
this.MATERIAL_MODEL = MATERIAL_MODEL;
}
public String getQUALITY_DEFECT_NAME() {
return QUALITY_DEFECT_NAME;
}
public void setQUALITY_DEFECT_NAME(String QUALITY_DEFECT_NAME) {
this.QUALITY_DEFECT_NAME = QUALITY_DEFECT_NAME;
}
public Long getDEFECT_NUMBER() {
return DEFECT_NUMBER;
}
public void setDEFECT_NUMBER(Long DEFECT_NUMBER) {
this.DEFECT_NUMBER = DEFECT_NUMBER;
}
@Override
public String toString() {
return "FewerMistakesReport{" +
"FACTORY_NAME='" + FACTORY_NAME + '\'' +
", PRODUCT_LINE_NAME='" + PRODUCT_LINE_NAME + '\'' +
", INSPECTOR_TIME=" + INSPECTOR_TIME +
", STATION_NAME='" + STATION_NAME + '\'' +
", MATERIAL_MODEL='" + MATERIAL_MODEL + '\'' +
", QUALITY_DEFECT_NAME='" + QUALITY_DEFECT_NAME + '\'' +
", DEFECT_NUMBER=" + DEFECT_NUMBER +
'}';
}
}

@ -0,0 +1,117 @@
package com.aucma.report.domain;
import com.aucma.common.annotation.Excel;
import com.aucma.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
*
*
* @author Yinq
* @date 2024-03-15
*/
public class QualityDefectsStatisticalAnalysis extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
@Excel(name = "工厂")
@JsonProperty("FACTORY_NAME")
private String FACTORY_NAME;
/**
* 线
*/
@Excel(name = "产线")
@JsonProperty("PRODUCT_LINE_NAME")
private String PRODUCT_LINE_NAME;
/**
*
*/
@Excel(name = "质检工位编号")
@JsonProperty("STATION_CODE")
private String STATION_CODE;
/**
*
*/
@Excel(name = "质检工位名称")
@JsonProperty("STATION_NAME")
private String STATION_NAME;
/**
*
*/
@Excel(name = "检测数不合格数")
@JsonProperty("REWORK_NUMBER")
private Long REWORK_NUMBER;
/**
* (%)
*/
@Excel(name = "合格率(%)")
@JsonProperty("RATE")
private String RATE;
public String getFACTORY_NAME() {
return FACTORY_NAME;
}
public void setFACTORY_NAME(String FACTORY_NAME) {
this.FACTORY_NAME = FACTORY_NAME;
}
public String getPRODUCT_LINE_NAME() {
return PRODUCT_LINE_NAME;
}
public void setPRODUCT_LINE_NAME(String PRODUCT_LINE_NAME) {
this.PRODUCT_LINE_NAME = PRODUCT_LINE_NAME;
}
public String getSTATION_CODE() {
return STATION_CODE;
}
public void setSTATION_CODE(String STATION_CODE) {
this.STATION_CODE = STATION_CODE;
}
public String getSTATION_NAME() {
return STATION_NAME;
}
public void setSTATION_NAME(String STATION_NAME) {
this.STATION_NAME = STATION_NAME;
}
public Long getREWORK_NUMBER() {
return REWORK_NUMBER;
}
public void setREWORK_NUMBER(Long REWORK_NUMBER) {
this.REWORK_NUMBER = REWORK_NUMBER;
}
public String getRATE() {
return RATE;
}
public void setRATE(String RATE) {
this.RATE = RATE;
}
@Override
public String toString() {
return "QualityDefectsStatisticalAnalysis{" +
"FACTORY_NAME='" + FACTORY_NAME + '\'' +
", PRODUCT_LINE_NAME='" + PRODUCT_LINE_NAME + '\'' +
", STATION_CODE='" + STATION_CODE + '\'' +
", STATION_NAME='" + STATION_NAME + '\'' +
", REWORK_NUMBER=" + REWORK_NUMBER +
", RATE='" + RATE + '\'' +
'}';
}
}

@ -0,0 +1,117 @@
package com.aucma.report.domain;
import com.aucma.common.annotation.Excel;
import com.aucma.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* 80
*
* @author Yinq
* @date 2024-03-15
*/
public class QualityIssuesReport extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
@Excel(name = "工厂")
@JsonProperty("FACTORY_NAME")
private String FACTORY_NAME;
/**
* 线
*/
@Excel(name = "产线")
@JsonProperty("PRODUCT_LINE_NAME")
private String PRODUCT_LINE_NAME;
/**
*
*/
@Excel(name = "产品型号")
@JsonProperty("MATERIAL_MODEL")
private String MATERIAL_MODEL;
/**
*
*/
@Excel(name = "缺陷名称")
@JsonProperty("QUALITY_DEFECT_NAME")
private String QUALITY_DEFECT_NAME;
/**
*
*/
@Excel(name = "数量")
@JsonProperty("Q_SUM")
private Long Q_SUM;
/**
*
*/
@Excel(name = "缺陷占比")
@JsonProperty("OFFLINE_NUM")
private String OFFLINE_NUM;
public String getFACTORY_NAME() {
return FACTORY_NAME;
}
public void setFACTORY_NAME(String FACTORY_NAME) {
this.FACTORY_NAME = FACTORY_NAME;
}
public String getPRODUCT_LINE_NAME() {
return PRODUCT_LINE_NAME;
}
public void setPRODUCT_LINE_NAME(String PRODUCT_LINE_NAME) {
this.PRODUCT_LINE_NAME = PRODUCT_LINE_NAME;
}
public String getMATERIAL_MODEL() {
return MATERIAL_MODEL;
}
public void setMATERIAL_MODEL(String MATERIAL_MODEL) {
this.MATERIAL_MODEL = MATERIAL_MODEL;
}
public String getQUALITY_DEFECT_NAME() {
return QUALITY_DEFECT_NAME;
}
public void setQUALITY_DEFECT_NAME(String QUALITY_DEFECT_NAME) {
this.QUALITY_DEFECT_NAME = QUALITY_DEFECT_NAME;
}
public Long getQ_SUM() {
return Q_SUM;
}
public void setQ_SUM(Long q_SUM) {
Q_SUM = q_SUM;
}
public String getOFFLINE_NUM() {
return OFFLINE_NUM;
}
public void setOFFLINE_NUM(String OFFLINE_NUM) {
this.OFFLINE_NUM = OFFLINE_NUM;
}
@Override
public String toString() {
return "QualityIssuesReport{" +
"FACTORY_NAME='" + FACTORY_NAME + '\'' +
", PRODUCT_LINE_NAME='" + PRODUCT_LINE_NAME + '\'' +
", MATERIAL_MODEL='" + MATERIAL_MODEL + '\'' +
", QUALITY_DEFECT_NAME='" + QUALITY_DEFECT_NAME + '\'' +
", Q_SUM=" + Q_SUM +
", OFFLINE_NUM='" + OFFLINE_NUM + '\'' +
'}';
}
}

@ -1,7 +1,6 @@
package com.aucma.report.mapper;
import com.aucma.report.domain.ProductTraceabilityReport;
import com.aucma.report.domain.boxTraceabilityReport;
import com.aucma.report.domain.*;
import java.util.HashMap;
import java.util.List;
@ -43,7 +42,7 @@ public interface GeneralReportMapper {
* @param hashMap
* @return
*/
List<HashMap<String, Object>> qualityDefectsStatisticalAnalysisList(Map hashMap);
List<QualityDefectsStatisticalAnalysis> qualityDefectsStatisticalAnalysisList(Map hashMap);
/**
@ -51,7 +50,7 @@ public interface GeneralReportMapper {
* @param hashMap
* @return
*/
List<HashMap<String, Object>> fewerMistakesReportList(Map hashMap);
List<FewerMistakesReport> fewerMistakesReportList(Map hashMap);
/**
@ -59,7 +58,7 @@ public interface GeneralReportMapper {
* @param hashMap
* @return
*/
List<HashMap<String, Object>> qualityIssuesReportList(Map hashMap);
List<QualityIssuesReport> qualityIssuesReportList(Map hashMap);
/**
*
@ -108,5 +107,5 @@ public interface GeneralReportMapper {
* @param hashMap
* @return
*/
List<boxTraceabilityReport> boxTraceabilityReport(Map hashMap);
List<BoxTraceabilityReport> boxTraceabilityReport(Map hashMap);
}

@ -1,8 +1,6 @@
package com.aucma.report.service;
import com.aucma.report.domain.BasePdaRecord;
import com.aucma.report.domain.ProductTraceabilityReport;
import com.aucma.report.domain.boxTraceabilityReport;
import com.aucma.report.domain.BoxTraceabilityReport;
import java.util.HashMap;
import java.util.List;
@ -50,5 +48,5 @@ public interface IProductionReportService
* @param hashMap
* @return
*/
List<boxTraceabilityReport> boxTraceabilityReport(Map hashMap);
List<BoxTraceabilityReport> boxTraceabilityReport(Map hashMap);
}

@ -1,6 +1,9 @@
package com.aucma.report.service;
import com.aucma.report.domain.FewerMistakesReport;
import com.aucma.report.domain.ProductTraceabilityReport;
import com.aucma.report.domain.QualityDefectsStatisticalAnalysis;
import com.aucma.report.domain.QualityIssuesReport;
import java.util.HashMap;
import java.util.List;
@ -21,21 +24,21 @@ public interface IQualityReportService
* @param hashMap
* @return
*/
List<HashMap<String, Object>> qualityDefectsStatisticalAnalysisList(Map hashMap);
List<QualityDefectsStatisticalAnalysis> qualityDefectsStatisticalAnalysisList(Map hashMap);
/**
*
* @param hashMap
* @return
*/
List<HashMap<String, Object>> fewerMistakesReportList(Map hashMap);
List<FewerMistakesReport> fewerMistakesReportList(Map hashMap);
/**
* 80
* @param hashMap
* @return
*/
List<HashMap<String, Object>> qualityIssuesReportList(Map hashMap);
List<QualityIssuesReport> qualityIssuesReportList(Map hashMap);
/**
*

@ -1,7 +1,7 @@
package com.aucma.report.service.impl;
import com.aucma.report.domain.BasePdaRecord;
import com.aucma.report.domain.boxTraceabilityReport;
import com.aucma.report.domain.BoxTraceabilityReport;
import com.aucma.report.mapper.GeneralReportMapper;
import com.aucma.report.service.IProductionReportService;
import org.springframework.beans.factory.annotation.Autowired;
@ -66,7 +66,7 @@ public class ProductionReportServiceImpl implements IProductionReportService {
* @return
*/
@Override
public List<boxTraceabilityReport> boxTraceabilityReport(Map hashMap) {
public List<BoxTraceabilityReport> boxTraceabilityReport(Map hashMap) {
return reportMapper.boxTraceabilityReport(hashMap);
}

@ -1,6 +1,9 @@
package com.aucma.report.service.impl;
import com.aucma.report.domain.FewerMistakesReport;
import com.aucma.report.domain.ProductTraceabilityReport;
import com.aucma.report.domain.QualityDefectsStatisticalAnalysis;
import com.aucma.report.domain.QualityIssuesReport;
import com.aucma.report.mapper.GeneralReportMapper;
import com.aucma.report.service.IQualityReportService;
import org.springframework.beans.factory.annotation.Autowired;
@ -27,7 +30,10 @@ public class QualityReportServiceImpl implements IQualityReportService {
* @return
*/
@Override
public List<HashMap<String, Object>> qualityDefectsStatisticalAnalysisList(Map hashMap) {
public List<QualityDefectsStatisticalAnalysis> qualityDefectsStatisticalAnalysisList(Map hashMap) {
if (hashMap.containsKey("stationCodeList")){
hashMap.put("stationCodeList",String.valueOf(hashMap.get("stationCodeList")).split(","));
}
return reportMapper.qualityDefectsStatisticalAnalysisList(hashMap);
}
@ -37,7 +43,7 @@ public class QualityReportServiceImpl implements IQualityReportService {
* @return
*/
@Override
public List<HashMap<String, Object>> fewerMistakesReportList(Map hashMap) {
public List<FewerMistakesReport> fewerMistakesReportList(Map hashMap) {
return reportMapper.fewerMistakesReportList(hashMap);
}
@ -47,7 +53,7 @@ public class QualityReportServiceImpl implements IQualityReportService {
* @return
*/
@Override
public List<HashMap<String, Object>> qualityIssuesReportList(Map hashMap) {
public List<QualityIssuesReport> qualityIssuesReportList(Map hashMap) {
return reportMapper.qualityIssuesReportList(hashMap);
}

@ -117,8 +117,7 @@
ORDER BY B2.PRODUCT_LINE_CODE, VMC.ORDER_CODE
</select>
<select id="qualityDefectsStatisticalAnalysisList" resultType="java.util.HashMap" parameterType="java.util.HashMap">
<select id="qualityDefectsStatisticalAnalysisList" resultType="com.aucma.report.domain.QualityDefectsStatisticalAnalysis" parameterType="java.util.HashMap">
SELECT FACTORY_NAME,
PRODUCT_LINE_NAME,
STATION_CODE,
@ -142,8 +141,11 @@
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE != ''">
AND BPP.PRODUCT_LINE_CODE = #{PRODUCT_LINE_CODE}
</if>
<if test="STATION_CODE != null and STATION_CODE != ''">
AND BP.PRODUCT_LINE_CODE = #{STATION_CODE}
<if test="stationCodeList != null and stationCodeList != ''">
AND BP.PRODUCT_LINE_CODE IN
<foreach collection="stationCodeList" item="stationCode" open="(" separator="," close=")">
#{stationCode}
</foreach>
</if>
<if test="beginBeginTime != null and beginBeginTime != '' and endBeginTime != null and endBeginTime != ''">
AND TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD HH24:MI:SS') BETWEEN #{beginBeginTime} AND #{endBeginTime}
@ -155,7 +157,7 @@
GROUP BY FACTORY_NAME, PRODUCT_LINE_NAME, STATION_CODE, STATION_NAME
ORDER BY REWORK_NUMBER
</select>
<select id="fewerMistakesReportList" resultType="java.util.HashMap" parameterType="java.util.HashMap">
<select id="fewerMistakesReportList" resultType="com.aucma.report.domain.FewerMistakesReport" parameterType="java.util.HashMap">
SELECT FY.FACTORY_NAME,
BPP.PRODUCT_LINE_NAME,
TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD') INSPECTOR_TIME,
@ -170,6 +172,8 @@
LEFT JOIN BASE_PRODUCTLINE BPP ON BPP.PRODUCT_LINE_CODE = BP.PARENT_ID
LEFT JOIN BASE_FACTORY FY ON FY.FACTORY_CODE = BPP.PLANT_CODE
WHERE RQI.TREATMENT_MEASURE = 1
AND (RQI.QUALITY_DEFECT_NAME LIKE '%少%'
OR RQI.QUALITY_DEFECT_NAME LIKE '%错%')
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE != ''">
AND BPP.PRODUCT_LINE_CODE = #{PRODUCT_LINE_CODE}
</if>
@ -187,10 +191,11 @@
RQI.QUALITY_DEFECT_CODE, RQI.QUALITY_DEFECT_NAME
ORDER BY DEFECT_NUMBER DESC
</select>
<select id="qualityIssuesReportList" resultType="java.util.HashMap" parameterType="java.util.HashMap">
<select id="qualityIssuesReportList" resultType="com.aucma.report.domain.QualityIssuesReport" parameterType="java.util.HashMap">
SELECT BF.FACTORY_NAME,
PL2.PRODUCT_LINE_CODE,
PL2.PRODUCT_LINE_NAME,
GET_MATERIAL_TYPE(RQI.MATERIAL_NAME) MATERIAL_MODEL,
RQI.QUALITY_DEFECT_CODE,
QI.QUALITY_DEFECT_NAME,
COUNT(*) Q_SUM,
@ -213,7 +218,10 @@
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE != ''">
AND PL2.PRODUCT_LINE_CODE = #{PRODUCT_LINE_CODE}
</if>
GROUP BY BF.FACTORY_NAME, PL2.PRODUCT_LINE_CODE, PL2.PRODUCT_LINE_NAME,
<if test="MATERIAL_MODEL != null and MATERIAL_MODEL != ''">
AND RQI.MATERIAL_NAME LIKE '%' || #{MATERIAL_MODEL} || '%'
</if>
GROUP BY BF.FACTORY_NAME, PL2.PRODUCT_LINE_CODE, PL2.PRODUCT_LINE_NAME, GET_MATERIAL_TYPE(RQI.MATERIAL_NAME),
RQI.QUALITY_DEFECT_CODE,
QI.QUALITY_DEFECT_NAME, OS.OFFLINE_NUM
ORDER BY PL2.PRODUCT_LINE_CODE, Q_SUM DESC
@ -334,39 +342,60 @@
ORDER BY PL.EXECUTION_SORT, RQI.INSPECTOR_TIME
</select>
<select id="boxTraceabilityReport" resultType="com.aucma.report.domain.boxTraceabilityReport" parameterType="java.util.HashMap">
SELECT BO.ORDER_CODE,
BO.SALEORDER_CODE,
BO.SALEORDER_LINENUMBER,
BO.MATERIAL_CODE,
BM.MATERIAL_SPECIFICATIONS MATERIAL_MODEL,
BO.ORDER_AMOUNT,
NVL(OM.BEFORE_NUMBER, 0) BEFORE_NUMBER,
NVL(OL.SCAN_NUMBER, 0) SCAN_NUMBER,
NVL(OM.BEFORE_NUMBER - OL.SCAN_NUMBER, 0) DIFF_NUMBER,
NVL(BF.SCRAP_NUMBER, 0) SCRAP_NUMBER
<select id="boxTraceabilityReport" resultType="com.aucma.report.domain.BoxTraceabilityReport" parameterType="java.util.HashMap">
SELECT ZSD.ORDER_CODE,
ZSD.SALEORDER_CODE,
ZSD.SALEORDER_LINENUMBER,
ZSD.MATERIAL_CODE,
ZSD.MATERIAL_MODEL,
ZSD.ORDER_AMOUNT,
SUM(ZSD.BEFORE_NUMBER) BEFORE_NUMBER,
SUM(ZSD.SCAN_NUMBER) SCAN_NUMBER,
SUM(ZSD.BEFORE_NUMBER) - SUM(ZSD.SCAN_NUMBER) DIFF_NUMBER,
SUM(ZSD.SCRAP_NUMBER) SCRAP_NUMBER
FROM (SELECT BO.ORDER_CODE,
BO.SALEORDER_CODE,
BO.SALEORDER_LINENUMBER,
BO.MATERIAL_CODE,
BM.MATERIAL_SPECIFICATIONS MATERIAL_MODEL,
OM.BARCODE_CODE,
BO.ORDER_AMOUNT,
COUNT(*) BEFORE_NUMBER,
MAX(CASE WHEN OL.BOX_CODE IS NULL THEN 0 ELSE 1 END) SCAN_NUMBER,
MAX(CASE WHEN BF.BAR_CODE IS NULL THEN 0 ELSE 1 END) SCRAP_NUMBER
FROM BASE_ORDERINFO BO
JOIN BASE_MATERIALINFO BM ON BM.MATERIAL_CODE = BO.MATERIAL_CODE AND bm.DISPO IN ('100')
JOIN (SELECT BC.ORDER_CODE, COUNT(*) BEFORE_NUMBER
FROM RECORD_INSTORE IE
JOIN C##AUCMA_SCADA.PRINT_BARCODE BC ON BC.MATERIAL_BARCODE = IE.MATERIAL_CODE
WHERE IE.STORE_CODE = 'PQK-001'
JOIN BASE_MATERIALINFO BM ON BM.MATERIAL_CODE = BO.MATERIAL_CODE AND bm.DISPO IN ('100')
JOIN (SELECT BC.ORDER_CODE, IE.BARCODE_CODE
FROM RECORD_INSTORE IE
JOIN C##AUCMA_SCADA.PRINT_BARCODE BC ON BC.MATERIAL_BARCODE = IE.BARCODE_CODE
JOIN BASE_ORDERINFO OI ON OI.ORDER_CODE = BC.ORDER_CODE
JOIN BASE_PRODUCTLINE PL ON PL.WORK_CENTER_CODE = OI.WORK_CENTER_CODE
WHERE IE.STORE_CODE = 'PQK-001'
<if test="productLineCode != null and productLineCode != ''">AND PL.PRODUCT_LINE_CODE = #{productLineCode}</if>
<if test="beginBeginTime != null and beginBeginTime != '' and endBeginTime != null and endBeginTime != ''">
AND TO_CHAR(IE.IN_STORE_TIME, 'YYYY-MM-DD HH24:MI:SS') BETWEEN #{beginBeginTime} AND #{endBeginTime}
</if>
GROUP BY BC.ORDER_CODE) OM ON OM.ORDER_CODE = BO.ORDER_CODE
LEFT JOIN (SELECT SUBSTR(PRODUCT_ORDER_NO, -8) ORDER_CODE, COUNT(*) SCAN_NUMBER
FROM C##AUCMA_SCADA.PRODUCT_OFFLINE
GROUP BY SUBSTR(PRODUCT_ORDER_NO, -8)) OL ON OL.ORDER_CODE = BO.ORDER_CODE
LEFT JOIN (SELECT ORDER_CODE, SUM(SCRAP_NUMBER) SCRAP_NUMBER
FROM (
SELECT BC.ORDER_CODE,
QI.BAR_CODE,
MAX(CASE WHEN QI.PROCESS_RESULT = '报废重做' THEN 1 ELSE 0 END) SCRAP_NUMBER
FROM REPORT_QUALITY_INSPECTION QI
JOIN C##AUCMA_SCADA.PRINT_BARCODE BC ON BC.MATERIAL_BARCODE = QI.BAR_CODE
GROUP BY BC.ORDER_CODE, QI.BAR_CODE)
GROUP BY ORDER_CODE) BF ON BF.ORDER_CODE = BO.ORDER_CODE
<if test="productOrderNo != null and productOrderNo != ''">and BC.ORDER_CODE = #{productOrderNo}</if>
GROUP BY BC.ORDER_CODE, IE.BARCODE_CODE) OM ON OM.ORDER_CODE = BO.ORDER_CODE
LEFT JOIN C##AUCMA_SCADA.PRODUCT_OFFLINE OL ON OL.BOX_CODE = OM.BARCODE_CODE
LEFT JOIN (SELECT BAR_CODE, SUM(SCRAP_NUMBER) SCRAP_NUMBER
FROM (SELECT QI.BAR_CODE,
COUNT(*) SCRAP_NUMBER
FROM REPORT_QUALITY_INSPECTION QI
WHERE QI.PROCESS_RESULT = '报废重做'
GROUP BY QI.BAR_CODE)
GROUP BY BAR_CODE) BF ON BF.BAR_CODE = OM.BARCODE_CODE
<where>
<if test="productCode != null and productCode != ''">and BO.MATERIAL_CODE = #{productCode}</if>
<if test="productModel != null and productModel != ''">and BM.MATERIAL_SPECIFICATIONS LIKE '%' || #{productModel}
|| '%'
</if>
</where>
GROUP BY BO.ORDER_CODE, BO.SALEORDER_CODE, BO.SALEORDER_LINENUMBER, BO.MATERIAL_CODE,
BM.MATERIAL_SPECIFICATIONS,
BO.ORDER_AMOUNT, OM.BARCODE_CODE) ZSD
GROUP BY ZSD.ORDER_CODE, ZSD.SALEORDER_CODE, ZSD.SALEORDER_LINENUMBER, ZSD.MATERIAL_CODE,
ZSD.MATERIAL_MODEL, ZSD.ORDER_AMOUNT
</select>
</mapper>

Loading…
Cancel
Save