change - 发泡箱体追溯优化

master
yinq 2 years ago
parent cb8b30ba75
commit 4506c174ee

@ -155,18 +155,6 @@ public class ProductionReportController extends BaseController {
return getDataTable(list); return getDataTable(list);
} }
/**
*
* @param hashMap
* @return
*/
@GetMapping("/boxTraceabilityDetailReportUpdate")
public TableDataInfo boxTraceabilityDetailReportUpdate(@RequestParam(required = false) Map hashMap) {
startPage();
List<BoxTraceabilityDetailReport> list = productionReportService.boxTraceabilityDetailReport(hashMap);
return getDataTable(list);
}
/** /**
* *
* @param hashMap * @param hashMap

@ -850,70 +850,134 @@
) )
GROUP BY WEEK_NUMBER, WEEK_START, WEEK_END GROUP BY WEEK_NUMBER, WEEK_START, WEEK_END
ORDER BY WEEK_NUMBER ORDER BY WEEK_NUMBER
</select> </select>
<select id="boxTraceabilityDetailReportUpdate" parameterType="java.util.HashMap" <select id="boxTraceabilityDetailReportUpdate" parameterType="java.util.HashMap"
resultType="com.aucma.report.domain.BoxTraceabilityDetailReport" resultType="com.aucma.report.domain.BoxTraceabilityDetailReport"
> >
SELECT * FROM ( SELECT ORDER_CODE,
SELECT MATERIAL_CODE,
DISTINCT TO_CHAR(COMPLETE_DATE, 'YYYY-MM-DD HH24:MI:SS') as SCAN_TIME, BOX_CODE,
PB.ORDER_CODE as ORDER_CODE, MATERIAL_MODEL,
BM.MATERIAL_CODE as MATERIAL_CODE, MAX(code1000) code1000,
BM.MATERIAL_NAME as MATERIAL_MODEL, MAX(code1001) code1001,
VMC.MATERIAL_BARCODE as BOX_CODE, MAX(code1002) code1002,
BE.EXECUTION_SORT AS EXECUTION_SORT, MAX(code1004) code1004,
BE.PRODUCT_LINE_NAME as SCAN_SPOT, MAX(code1005) code1005,
BE.PRODUCT_LINE_CODE as PRODUCT_LINE_CODE MAX(code1006) code1006,
FROM C##AUCMA_SCADA.MATERIAL_COMPLETION VMC MAX(code1007) code1007,
JOIN RECORD_INSTORE IE ON VMC.MATERIAL_BARCODE = IE.BARCODE_CODE MAX(code1008) code1008,
LEFT JOIN BASE_PRODUCTLINE BE ON BE.PRODUCT_LINE_CODE = VMC.STATION_NAME MAX(code1009) code1009,
LEFT JOIN C##AUCMA_SCADA.PRINT_BARCODE PB MAX(code1010) code1010,
ON PRINT_BARTYPE = 1 AND VMC.MATERIAL_BARCODE = PB.MATERIAL_BARCODE MAX(code1011) code1011,
LEFT JOIN BASE_MATERIALINFO BM ON BM.MATERIAL_CODE = PB.MATERIAL_CODE MAX(code1012) code1012,
LEFT JOIN C##AUCMA_SCADA.PRODUCT_OFFLINE PO ON PO.BOX_CODE = PB.MATERIAL_BARCODE MAX(code1020) code1020,
WHERE PB.MATERIAL_BARCODE IS NOT NULL MAX(code1105) code1105,
AND PO.BOX_CODE IS NULL MAX(code1109) code1109,
and PB.ORDER_CODE = #{orderCode} MAX(code2001) code2001,
and TO_CHAR(COMPLETE_DATE, 'YYYY-MM-DD HH24:MI:SS') BETWEEN #{beginBeginTime} AND #{endBeginTime} MAX(code2002) code2002,
order by VMC.MATERIAL_BARCODE) MAX(code2003) code2003,
MAX(code2005) code2005,
PIVOT (MAX(SCAN_TIME) FOR PRODUCT_LINE_CODE IN ( MAX(code2006) code2006,
'1000'as code1000, MAX(code2007) code2007,
'1001'as code1001, MAX(code2008) code2008,
'1002'as code1002, MAX(code2009) code2009,
'1004'as code1004, MAX(code2010) code2010,
'1005'as code1005, MAX(code2011) code2011,
'1006'as code1006, MAX(code2012) code2012,
'1007'as code1007, MAX(code2013) code2013,
'1008'as code1008, MAX(code2014) code2014,
'1009'as code1009, MAX(code2015) code2015,
'1010'as code1010, MAX(code2016) code2016,
'1011'as code1011, MAX(code2020) code2020
'1012'as code1012, FROM (
'1020'as code1020, SELECT BO.ORDER_CODE,
'1105'as code1105, BO.SALEORDER_CODE,
'1109'as code1109, BO.SALEORDER_LINENUMBER,
'2001'as code2001, OM.MATERIAL_CODE,
'2002'as code2002, BM.MATERIAL_SPECIFICATIONS AS MATERIAL_MODEL,
'2003'as code2003, OM.BARCODE_CODE BOX_CODE,
'2005'as code2005, OM.IN_STORE_TIME,
'2006'as code2006, BO.ORDER_AMOUNT,
'2007'as code2007, COUNT(*) AS BEFORE_NUMBER,
'2008'as code2008, MAX(CASE WHEN OL.BOX_CODE IS NULL THEN 0 ELSE 1 END) AS SCAN_NUMBER,
'2009'as code2009, MAX(CASE WHEN QI.BAR_CODE IS NULL THEN 0 ELSE 1 END) AS SCRAP_NUMBER,
'2010'as code2010, MC.COMPLETE_DATE,
'2011'as code2011, PL.EXECUTION_SORT EXECUTION_SORT,
'2012'as code2012, PL.PRODUCT_LINE_CODE,
'2013'as code2013, PL.PRODUCT_LINE_NAME
'2014'as code2014, FROM BASE_ORDERINFO BO
'2015'as code2015, JOIN BASE_MATERIALINFO BM
'2016'as code2016, ON BM.MATERIAL_CODE = BO.MATERIAL_CODE AND bm.DISPO IN ('100')
'2020'as code2020 JOIN (SELECT OI.ORDER_CODE,
OI.WORK_CENTER_CODE,
)) BC.MATERIAL_CODE,
ORDER BY BOX_CODE IE.BARCODE_CODE,
MAX(IE.IN_STORE_TIME) IN_STORE_TIME
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>
<if test="productOrderNo != null and productOrderNo != ''">and BC.ORDER_CODE = #{productOrderNo}</if>
<if test="orderCode != null and orderCode != ''">and BC.ORDER_CODE = #{orderCode}</if>
GROUP BY OI.ORDER_CODE, OI.WORK_CENTER_CODE, BC.MATERIAL_CODE,
IE.BARCODE_CODE) OM
ON OM.ORDER_CODE = BO.ORDER_CODE AND OM.WORK_CENTER_CODE = BO.WORK_CENTER_CODE
LEFT JOIN C##AUCMA_SCADA.PRODUCT_OFFLINE OL ON OL.BOX_CODE = OM.BARCODE_CODE
LEFT JOIN REPORT_QUALITY_INSPECTION QI ON QI.PROCESS_RESULT = '报废重做' AND QI.BAR_CODE = OM.BARCODE_CODE
LEFT JOIN C##AUCMA_SCADA.MATERIAL_COMPLETION MC ON MC.MATERIAL_BARCODE = OM.BARCODE_CODE
LEFT JOIN BASE_PRODUCTLINE PL ON PL.PRODUCT_LINE_CODE = MC.STATION_NAME
WHERE OL.BOX_CODE IS NULL
<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>
GROUP BY BO.ORDER_CODE, BO.SALEORDER_CODE, BO.SALEORDER_LINENUMBER, OM.MATERIAL_CODE, BM.MATERIAL_SPECIFICATIONS,
BO.ORDER_AMOUNT, OM.BARCODE_CODE, MC.COMPLETE_DATE, OM.IN_STORE_TIME, PL.EXECUTION_SORT,
PL.PRODUCT_LINE_CODE,
PL.PRODUCT_LINE_NAME)
PIVOT (MAX(COMPLETE_DATE) FOR PRODUCT_LINE_CODE IN (
'1000' as code1000,
'1001' as code1001,
'1002' as code1002,
'1004' as code1004,
'1005' as code1005,
'1006' as code1006,
'1007' as code1007,
'1008' as code1008,
'1009' as code1009,
'1010' as code1010,
'1011' as code1011,
'1012' as code1012,
'1020' as code1020,
'1105' as code1105,
'1109' as code1109,
'2001' as code2001,
'2002' as code2002,
'2003' as code2003,
'2005' as code2005,
'2006' as code2006,
'2007' as code2007,
'2008' as code2008,
'2009' as code2009,
'2010' as code2010,
'2011' as code2011,
'2012' as code2012,
'2013' as code2013,
'2014' as code2014,
'2015' as code2015,
'2016' as code2016,
'2020' as code2020
))
GROUP BY ORDER_CODE, MATERIAL_CODE, BOX_CODE, MATERIAL_MODEL
ORDER BY BOX_CODE
</select> </select>
<select id="repairRateReportListWeek" resultType="com.aucma.report.domain.RepairRateReport" <select id="repairRateReportListWeek" resultType="com.aucma.report.domain.RepairRateReport"

Loading…
Cancel
Save