change - 产品追溯报表

master
yinq 1 year ago
parent 996d588734
commit 208e2b2e05

@ -2,6 +2,8 @@ package com.aucma.report.controller;
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.service.IQualityReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -77,11 +79,22 @@ public class QualityReportController extends BaseController {
* @return
*/
@GetMapping("/productTraceabilityReportList")
public AjaxResult productTraceabilityReportList(@RequestParam(required = false) Map hashMap) {
List<HashMap<String, Object>> list = qualityReportService.productTraceabilityReportList(hashMap);
return success(list);
public TableDataInfo productTraceabilityReportList(@RequestParam(required = false) Map hashMap) {
startPage();
List<ProductTraceabilityReport> list = qualityReportService.productTraceabilityReportList(hashMap);
return getDataTable(list);
}
/**
*
* @param hashMap
* @return
*/
@GetMapping("/productTraceabilityDetailList")
public AjaxResult productTraceabilityDetailList(@RequestParam(required = false) Map hashMap) {
List<HashMap<String, Object>> list = qualityReportService.productTraceabilityDetailList(hashMap);
return success(list);
}
/**
*

@ -0,0 +1,171 @@
package com.aucma.report.domain;
import com.aucma.common.annotation.Excel;
import com.aucma.common.core.domain.BaseEntity;
/**
*
*
* @author Yinq
* @date 2024-03-15
*/
public class ProductTraceabilityReport extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 线
*/
@Excel(name = "产线编号")
private String PRODUCT_LINE_CODE;
/**
* 线
*/
@Excel(name = "产线名称")
private String PRODUCT_LINE_NAME;
/**
* SAP
*/
@Excel(name = "SAP订单编号")
private String ORDER_CODE;
/**
*
*/
@Excel(name = "销售订单编号")
private String SALEORDER_CODE;
/**
*
*/
@Excel(name = "销售订单行号")
private String SALEORDER_LINENUMBER;
/**
*
*/
@Excel(name = "物料编号")
private String MATERIAL_CODE;
/**
*
*/
@Excel(name = "物料名称")
private String MATERIAL_NAME;
/**
*
*/
@Excel(name = "成品条码")
private String PRODUCT_SNCODE;
/**
* MES
*/
@Excel(name = "MES条码")
private String BOX_CODE;
/**
* 线
*/
@Excel(name = "下线时间")
private String PRODUCT_SCANTIME;
public String getPRODUCT_LINE_CODE() {
return PRODUCT_LINE_CODE;
}
public void setPRODUCT_LINE_CODE(String PRODUCT_LINE_CODE) {
this.PRODUCT_LINE_CODE = PRODUCT_LINE_CODE;
}
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 getORDER_CODE() {
return ORDER_CODE;
}
public void setORDER_CODE(String ORDER_CODE) {
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;
}
public void setSALEORDER_LINENUMBER(String SALEORDER_LINENUMBER) {
this.SALEORDER_LINENUMBER = SALEORDER_LINENUMBER;
}
public String getMATERIAL_CODE() {
return MATERIAL_CODE;
}
public void setMATERIAL_CODE(String MATERIAL_CODE) {
this.MATERIAL_CODE = MATERIAL_CODE;
}
public String getMATERIAL_NAME() {
return MATERIAL_NAME;
}
public void setMATERIAL_NAME(String MATERIAL_NAME) {
this.MATERIAL_NAME = MATERIAL_NAME;
}
public String getPRODUCT_SNCODE() {
return PRODUCT_SNCODE;
}
public void setPRODUCT_SNCODE(String PRODUCT_SNCODE) {
this.PRODUCT_SNCODE = PRODUCT_SNCODE;
}
public String getBOX_CODE() {
return BOX_CODE;
}
public void setBOX_CODE(String BOX_CODE) {
this.BOX_CODE = BOX_CODE;
}
public String getPRODUCT_SCANTIME() {
return PRODUCT_SCANTIME;
}
public void setPRODUCT_SCANTIME(String PRODUCT_SCANTIME) {
this.PRODUCT_SCANTIME = PRODUCT_SCANTIME;
}
@Override
public String toString() {
return "ProductTraceabilityReport{" +
"PRODUCT_LINE_CODE='" + PRODUCT_LINE_CODE + '\'' +
", PRODUCT_LINE_NAME='" + PRODUCT_LINE_NAME + '\'' +
", ORDER_CODE='" + ORDER_CODE + '\'' +
", SALEORDER_CODE='" + SALEORDER_CODE + '\'' +
", SALEORDER_LINENUMBER='" + SALEORDER_LINENUMBER + '\'' +
", MATERIAL_CODE='" + MATERIAL_CODE + '\'' +
", MATERIAL_NAME='" + MATERIAL_NAME + '\'' +
", PRODUCT_SNCODE='" + PRODUCT_SNCODE + '\'' +
", BOX_CODE='" + BOX_CODE + '\'' +
", PRODUCT_SCANTIME='" + PRODUCT_SCANTIME + '\'' +
'}';
}
}

@ -1,5 +1,7 @@
package com.aucma.report.mapper;
import com.aucma.report.domain.ProductTraceabilityReport;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -63,7 +65,7 @@ public interface GeneralReportMapper {
* @param hashMap
* @return
*/
List<HashMap<String, Object>> productTraceabilityReportList(Map hashMap);
List<ProductTraceabilityReport> productTraceabilityReportList(Map hashMap);
/**
* 线
@ -86,12 +88,17 @@ public interface GeneralReportMapper {
*/
List<HashMap<String, Object>> pourRecordReportList(Map hashMap);
/**
*
* @param hashMap
* @return
*/
List<HashMap<String, Object>> qualityDefectsDetailList(Map hashMap);
/**
*
* @param hashMap
* @return
*/
List<HashMap<String, Object>> productTraceabilityDetailList(Map hashMap);
}

@ -1,5 +1,7 @@
package com.aucma.report.service;
import com.aucma.report.domain.ProductTraceabilityReport;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -40,7 +42,7 @@ public interface IQualityReportService
* @param hashMap
* @return
*/
List<HashMap<String, Object>> productTraceabilityReportList(Map hashMap);
List<ProductTraceabilityReport> productTraceabilityReportList(Map hashMap);
/**
*
@ -62,4 +64,11 @@ public interface IQualityReportService
* @return
*/
List<HashMap<String, Object>> qualityDefectsDetailList(Map hashMap);
/**
*
* @param hashMap
* @return
*/
List<HashMap<String, Object>> productTraceabilityDetailList(Map hashMap);
}

@ -1,7 +1,7 @@
package com.aucma.report.service.impl;
import com.aucma.report.domain.ProductTraceabilityReport;
import com.aucma.report.mapper.GeneralReportMapper;
import com.aucma.report.service.IProductionReportService;
import com.aucma.report.service.IQualityReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -58,7 +58,7 @@ public class QualityReportServiceImpl implements IQualityReportService {
* @return
*/
@Override
public List<HashMap<String, Object>> productTraceabilityReportList(Map hashMap) {
public List<ProductTraceabilityReport> productTraceabilityReportList(Map hashMap) {
return reportMapper.productTraceabilityReportList(hashMap);
}
@ -92,4 +92,14 @@ public class QualityReportServiceImpl implements IQualityReportService {
return reportMapper.qualityDefectsDetailList(hashMap);
}
/**
*
* @param hashMap
* @return
*/
@Override
public List<HashMap<String, Object>> productTraceabilityDetailList(Map hashMap) {
return reportMapper.productTraceabilityDetailList(hashMap);
}
}

@ -179,10 +179,6 @@
SELECT *
FROM VIEW_MATERIAL_COMPLETION
</select>
<select id="productTraceabilityReportList" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT *
FROM VIEW_MATERIAL_COMPLETION
</select>
<select id="ScanOfflineRecordReportList" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT *
FROM VIEW_PRODUCT_OFFLINE
@ -196,7 +192,6 @@
FROM VIEW_PERFUSION_RECORD
</select>
<select id="qualityDefectsDetailList" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT ROWNUM SEQ, SD.QUALITY_DEFECT_NAME, SD.DEFECT_NUMBER, ROUND(DEFECT_NUMBER / ALL_DEFECT * 100, 0) || '%'
RATE
@ -215,5 +210,48 @@
GROUP BY RQI.QUALITY_DEFECT_NAME) SD
</select>
<select id="productTraceabilityReportList" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT PL.PRODUCT_LINE_CODE,
PL.PRODUCT_LINE_NAME,
BO.ORDER_CODE,
BO.SALEORDER_CODE,
BO.SALEORDER_LINENUMBER,
BO.MATERIAL_CODE,
BO.MATERIAL_NAME,
PO.PRODUCT_SNCODE,
PO.BOX_CODE,
PO.PRODUCT_SCANTIME
FROM C##AUCMA_SCADA.PRODUCT_OFFLINE PO
LEFT JOIN BASE_ORDERINFO BO ON BO.ORDER_CODE = SUBSTR(PO.PRODUCT_ORDER_NO, -8)
LEFT JOIN BASE_PRODUCTLINE PL ON PL.WORK_CENTER_CODE = BO.WORK_CENTER_CODE
<where>
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE != ''">and PO.PRODUCT_LINE_CODE = #{PRODUCT_LINE_CODE}</if>
<if test="ORDER_CODE != null and ORDER_CODE != ''">and BO.ORDER_CODE = #{ORDER_CODE}</if>
<if test="MATERIAL_CODE != null and MATERIAL_CODE != ''">and BO.MATERIAL_CODE = #{MATERIAL_CODE}</if>
<if test="MATERIAL_NAME != null and MATERIAL_NAME != ''">and BO.MATERIAL_NAME LIKE '%' || #{MATERIAL_NAME} || '%'</if>
<if test="PRODUCT_SNCODE != null and PRODUCT_SNCODE != ''">and PO.PRODUCT_SNCODE LIKE '%' || #{PRODUCT_SNCODE} || '%'</if>
<if test="BOX_CODE != null and BOX_CODE != ''">and PO.BOX_CODE = #{BOX_CODE}</if>
<if test="beginBeginTime != null and beginBeginTime != '' and endBeginTime != null and endBeginTime != ''">
AND TO_CHAR(PO.PRODUCT_SCANTIME, 'YYYY-MM-DD HH24:MI:SS') BETWEEN #{beginBeginTime} AND #{endBeginTime}
</if>
</where>
</select>
<select id="productTraceabilityDetailList" resultType="java.util.HashMap">
SELECT PO.BOX_CODE,
PL.EXECUTION_SORT,
PL.PRODUCT_LINE_CODE,
PL.PRODUCT_LINE_NAME,
RQI.TREATMENT_MEASURE,
RQI.PROCESS_RESULT,
RQI.INSPECTOR_TIME,
U.NICK_NAME USER_NAME
FROM C##AUCMA_SCADA.PRODUCT_OFFLINE PO
JOIN REPORT_QUALITY_INSPECTION RQI ON RQI.BAR_CODE = PO.BOX_CODE
LEFT JOIN BASE_PRODUCTLINE PL on RQI.STATION_CODE = PL.PRODUCT_LINE_CODE
LEFT JOIN SYS_USER U on U.USER_NAME = RQI.INSPECTOR_CODE
WHERE PO.BOX_CODE = #{BOX_CODE}
ORDER BY PL.EXECUTION_SORT, RQI.INSPECTOR_TIME
</select>
</mapper>

Loading…
Cancel
Save