Merge remote-tracking branch 'mesnac/master'

master
Leon 4 years ago
commit 5a8fc02c40

@ -55,57 +55,93 @@
<!--设备负荷率报表--> <!--设备负荷率报表-->
<select id="findResourceLoadRateInfo" resultType="java.util.HashMap" parameterType="java.util.HashMap" > <select id="findResourceLoadRateInfo" resultType="java.util.HashMap" parameterType="java.util.HashMap" >
WITH TEMP AS ( WITH TEMP AS (
SELECT ZSD.PLANNED_COMP_DATE ,ZSD.PLANNED_START_DATE ,ZSD.RESRCE SELECT ZSD.PLANNED_COMP_DATE ,ZSD.PLANNED_START_DATE ,ZSD.RESRCE
FROM Z_SFC_DISPATCH ZSD WHERE ZSD.SITE = #{site} AND ZSD.DISPATCH_STATUS IN ('START','COMPLETE','RELEASE') FROM Z_SFC_DISPATCH ZSD WHERE ZSD.SITE = #{site} AND ZSD.DISPATCH_STATUS IN ('START','COMPLETE','RELEASE')
) )
SELECT RDT.* , SUM( (DECODE(A.CNT,NULL,0,A.CNT) + DECODE(B.CNT,NULL,0,B.CNT) + DECODE(C.CNT,NULL,0,C.CNT) + DECODE(D.CNT,NULL,0,D.CNT) ) ) PLAN_HOUR SELECT RDT.* , SUM( (DECODE(A.CNT,NULL,0,A.CNT) + DECODE(B.CNT,NULL,0,B.CNT) + DECODE(C.CNT,NULL,0,C.CNT) + DECODE(D.CNT,NULL,0,D.CNT)
,CASE WHEN RDT.CAPACITY_MAN_HOUR = 0 THEN '0%' + DECODE(E.CNT,NULL,0,E.CNT) + DECODE(F.CNT,NULL,0,F.CNT) + DECODE(G.CNT,NULL,0,G.CNT) + DECODE(H.CNT,NULL,0,H.CNT)
ELSE ROUND(SUM( (DECODE(A.CNT,NULL,0,A.CNT) + DECODE(B.CNT,NULL,0,B.CNT) + DECODE(C.CNT,NULL,0,C.CNT) + DECODE(D.CNT,NULL,0,D.CNT) ) ) / RDT.CAPACITY_MAN_HOUR , 4) * 100 || '%' + DECODE(I.CNT,NULL,0,I.CNT) + DECODE(J.CNT,NULL,0,J.CNT) ) + DECODE(K.CNT,NULL,0,K.CNT) + DECODE(L.CNT,NULL,0,L.CNT) ) * RDT.CAPACITY_MAN_HOUR / 8 PLAN_HOUR
END RATE_DATA ,CASE WHEN RDT.CAPACITY_MAN_HOUR = 0 THEN '0%'
ELSE ROUND(SUM( ( DECODE(A.CNT,NULL,0,A.CNT) + DECODE(B.CNT,NULL,0,B.CNT) + DECODE(C.CNT,NULL,0,C.CNT) + DECODE(D.CNT,NULL,0,D.CNT)
+ DECODE(E.CNT,NULL,0,E.CNT) + DECODE(F.CNT,NULL,0,F.CNT) + DECODE(G.CNT,NULL,0,G.CNT) + DECODE(H.CNT,NULL,0,H.CNT)
+ DECODE(I.CNT,NULL,0,I.CNT) + DECODE(J.CNT,NULL,0,J.CNT) + DECODE(K.CNT,NULL,0,K.CNT) + DECODE(L.CNT,NULL,0,L.CNT)
) ) / 8 , 4) * 100 || '%'
END RATE_DATA
FROM FROM
( SELECT R.RESRCE , R.DESCRIPTION RESOURCE_DESCRIPTION, DATE_TIME, DECODE(CF.VALUE,NULL,0,CF.VALUE) CAPACITY_MAN_HOUR , WCA.WORK_CENTER CENTER , ( SELECT R.RESRCE , R.DESCRIPTION RESOURCE_DESCRIPTION, DATE_TIME, DECODE(CF.VALUE,NULL,0,CF.VALUE) CAPACITY_MAN_HOUR , WCA.WORK_CENTER CENTER ,
WCTA.DESCRIPTION CENTER_DESCRIPTION , WCB.WORK_CENTER , WCTB.DESCRIPTION WORK_CENTER_DESCRIPTION ,RT.RESOURCE_TYPE ,RT.DESCRIPTION RESOURCE_TYPE_DESCRIPTION WCTA.DESCRIPTION CENTER_DESCRIPTION , WCB.WORK_CENTER , WCTB.DESCRIPTION WORK_CENTER_DESCRIPTION ,RT.RESOURCE_TYPE ,RT.DESCRIPTION RESOURCE_TYPE_DESCRIPTION
FROM RESRCE R FROM RESRCE R
LEFT JOIN WORK_CENTER_MEMBER WCMA ON WCMA.WORK_CENTER_OR_RESOURCE_GBO = R.HANDLE LEFT JOIN WORK_CENTER_MEMBER WCMA ON WCMA.WORK_CENTER_OR_RESOURCE_GBO = R.HANDLE
LEFT JOIN WORK_CENTER WCA ON WCA.HANDLE = WCMA.WORK_CENTER_BO LEFT JOIN WORK_CENTER WCA ON WCA.HANDLE = WCMA.WORK_CENTER_BO
INNER JOIN WORK_CENTER_T WCTA ON WCTA.WORK_CENTER_BO = WCA.HANDLE AND WCTA.LOCALE = 'zh' INNER JOIN WORK_CENTER_T WCTA ON WCTA.WORK_CENTER_BO = WCA.HANDLE AND WCTA.LOCALE = 'zh'
LEFT JOIN WORK_CENTER_MEMBER WCMB ON WCMB.WORK_CENTER_OR_RESOURCE_GBO = WCMA.WORK_CENTER_BO LEFT JOIN WORK_CENTER_MEMBER WCMB ON WCMB.WORK_CENTER_OR_RESOURCE_GBO = WCMA.WORK_CENTER_BO
INNER JOIN WORK_CENTER WCB ON WCB.HANDLE = WCMB.WORK_CENTER_BO INNER JOIN WORK_CENTER WCB ON WCB.HANDLE = WCMB.WORK_CENTER_BO
INNER JOIN WORK_CENTER_T WCTB ON WCTB.WORK_CENTER_BO = WCB.HANDLE AND WCTB.LOCALE = 'zh' INNER JOIN WORK_CENTER_T WCTB ON WCTB.WORK_CENTER_BO = WCB.HANDLE AND WCTB.LOCALE = 'zh'
LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = R.HANDLE AND CF."ATTRIBUTE" = 'CAPACITY_MAN_HOUR' LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = R.HANDLE AND CF."ATTRIBUTE" = 'CAPACITY_MAN_HOUR'
LEFT JOIN Z_REPORT_DATE_TIME ON 1=1 LEFT JOIN Z_REPORT_DATE_TIME ON 1=1
LEFT JOIN RESOURCE_TYPE_RESOURCE RTR ON RTR.RESOURCE_BO = R.HANDLE LEFT JOIN RESOURCE_TYPE_RESOURCE RTR ON RTR.RESOURCE_BO = R.HANDLE
LEFT JOIN RESOURCE_TYPE RT ON RT.HANDLE = RTR.RESOURCE_TYPE_BO LEFT JOIN RESOURCE_TYPE RT ON RT.HANDLE = RTR.RESOURCE_TYPE_BO
WHERE R.SITE = #{site} WHERE R.SITE = #{site}
<if test="center != null and center != ''" > <if test="center != null and center != ''" >
AND WCA.WORK_CENTER = #{center} AND WCA.WORK_CENTER = #{center}
</if> </if>
<if test="workCenter != null and workCenter != ''" > <if test="workCenter != null and workCenter != ''" >
AND WCB.WORK_CENTER = #{workCenter} AND WCB.WORK_CENTER = #{workCenter}
</if> </if>
<if test="resrce != null and resrce != ''" > <if test="resrce != null and resrce != ''" >
AND R.RESRCE = #{resrce} AND R.RESRCE = #{resrce}
</if> </if>
<if test="resourceType != null and resourceType != ''" > <if test="resourceType != null and resourceType != ''" >
AND RT.RESOURCE_TYPE = #{resourceType} AND RT.RESOURCE_TYPE = #{resourceType}
</if> </if>) RDT
) RDT LEFT JOIN
LEFT JOIN (SELECT DATE_TIME ,RESRCE , COUNT(*) * 8 CNT FROM Z_REPORT_DATE_TIME
(SELECT DATE_TIME ,RESRCE , SUM( ROUND((PLANNED_COMP_DATE - START_DATE_TIME)*24, 4) ) CNT FROM Z_REPORT_DATE_TIME LEFT JOIN TEMP ON PLANNED_START_DATE &lt;= AM_START_DATE_TIME AND PLANNED_COMP_DATE &gt;= PM_END_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &lt; START_DATE_TIME AND PLANNED_COMP_DATE &gt; START_DATE_TIME AND PLANNED_COMP_DATE &lt; END_DATE_TIME GROUP BY RESRCE , DATE_TIME ) A ON A.DATE_TIME = RDT.DATE_TIME AND A.RESRCE = RDT.RESRCE
GROUP BY RESRCE , DATE_TIME ) A ON A.DATE_TIME = RDT.DATE_TIME AND A.RESRCE = RDT.RESRCE LEFT JOIN
LEFT JOIN (SELECT DATE_TIME ,RESRCE , SUM( ROUND((PLANNED_COMP_DATE - AM_START_DATE_TIME)*24, 4) ) CNT FROM Z_REPORT_DATE_TIME
(SELECT DATE_TIME ,RESRCE , COUNT(*) * 24 CNT FROM Z_REPORT_DATE_TIME LEFT JOIN TEMP ON PLANNED_START_DATE &lt;= AM_START_DATE_TIME AND PLANNED_COMP_DATE &gt;= AM_START_DATE_TIME AND PLANNED_COMP_DATE &lt;= AM_END_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &lt; START_DATE_TIME AND PLANNED_COMP_DATE &gt; END_DATE_TIME GROUP BY RESRCE , DATE_TIME ) B ON B.DATE_TIME = RDT.DATE_TIME AND B.RESRCE = RDT.RESRCE
GROUP BY RESRCE , DATE_TIME ) B ON B.DATE_TIME = RDT.DATE_TIME AND B.RESRCE = RDT.RESRCE LEFT JOIN
LEFT JOIN (SELECT DATE_TIME ,RESRCE , COUNT(*)*4 CNT FROM Z_REPORT_DATE_TIME
(SELECT DATE_TIME ,RESRCE , SUM( ROUND((PLANNED_COMP_DATE - PLANNED_START_DATE)*24 , 4) ) CNT FROM Z_REPORT_DATE_TIME LEFT JOIN TEMP ON PLANNED_START_DATE &lt;= AM_START_DATE_TIME AND PLANNED_COMP_DATE &gt;= AM_END_DATE_TIME AND PLANNED_COMP_DATE &lt; PM_START_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &gt; START_DATE_TIME AND PLANNED_COMP_DATE &lt; END_DATE_TIME GROUP BY RESRCE , DATE_TIME ) C ON C.DATE_TIME = RDT.DATE_TIME AND C.RESRCE = RDT.RESRCE
GROUP BY RESRCE , DATE_TIME ) C ON C.DATE_TIME = RDT.DATE_TIME AND C.RESRCE = RDT.RESRCE LEFT JOIN
LEFT JOIN (SELECT DATE_TIME ,RESRCE , SUM( ROUND((PLANNED_COMP_DATE - AM_START_DATE_TIME)*24 - 1 , 4) ) CNT FROM Z_REPORT_DATE_TIME
(SELECT DATE_TIME ,RESRCE , SUM( ROUND((END_DATE_TIME - PLANNED_START_DATE)*24 , 4) ) CNT FROM Z_REPORT_DATE_TIME LEFT JOIN TEMP ON PLANNED_START_DATE &lt;= AM_START_DATE_TIME AND PLANNED_COMP_DATE &gt;= PM_START_DATE_TIME AND PLANNED_COMP_DATE &lt;= PM_END_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &gt; START_DATE_TIME AND PLANNED_START_DATE &lt; END_DATE_TIME AND PLANNED_COMP_DATE &gt; END_DATE_TIME GROUP BY RESRCE , DATE_TIME ) D ON D.DATE_TIME = RDT.DATE_TIME AND D.RESRCE = RDT.RESRCE
GROUP BY RESRCE , DATE_TIME ) D ON D.DATE_TIME = RDT.DATE_TIME AND D.RESRCE = RDT.RESRCE LEFT JOIN
(SELECT DATE_TIME ,RESRCE , SUM( ROUND((PLANNED_COMP_DATE - PLANNED_START_DATE)*24 , 4) ) CNT FROM Z_REPORT_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &gt; AM_START_DATE_TIME AND PLANNED_COMP_DATE &lt;= AM_END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) E ON E.DATE_TIME = RDT.DATE_TIME AND E.RESRCE = RDT.RESRCE
LEFT JOIN
(SELECT DATE_TIME ,RESRCE , SUM( ROUND((AM_END_DATE_TIME - PLANNED_START_DATE)*24 , 4) ) CNT FROM Z_REPORT_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &gt; AM_START_DATE_TIME AND PLANNED_START_DATE &lt;= AM_END_DATE_TIME AND PLANNED_COMP_DATE &gt;= AM_END_DATE_TIME AND PLANNED_COMP_DATE &lt;= PM_START_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) F ON F.DATE_TIME = RDT.DATE_TIME AND F.RESRCE = RDT.RESRCE
LEFT JOIN
(SELECT DATE_TIME ,RESRCE , SUM( ROUND((PLANNED_COMP_DATE - PLANNED_START_DATE)*24 - 1 , 4) ) CNT FROM Z_REPORT_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &gt; AM_START_DATE_TIME AND PLANNED_START_DATE &lt;= AM_END_DATE_TIME AND PLANNED_COMP_DATE &gt;= PM_START_DATE_TIME AND PLANNED_COMP_DATE &lt; PM_END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) G ON G.DATE_TIME = RDT.DATE_TIME AND G.RESRCE = RDT.RESRCE
LEFT JOIN
(SELECT DATE_TIME ,RESRCE , SUM( ROUND((PM_END_DATE_TIME - PLANNED_START_DATE)*24 - 1 , 4) ) CNT FROM Z_REPORT_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &gt; AM_START_DATE_TIME AND PLANNED_START_DATE &lt;= AM_END_DATE_TIME AND PLANNED_COMP_DATE &gt;= PM_END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) H ON H.DATE_TIME = RDT.DATE_TIME AND H.RESRCE = RDT.RESRCE
LEFT JOIN
(SELECT DATE_TIME ,RESRCE , SUM( ROUND((PLANNED_COMP_DATE - PM_START_DATE_TIME)*24 , 4) ) CNT FROM Z_REPORT_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &gt; AM_END_DATE_TIME AND PLANNED_START_DATE &lt;= PM_START_DATE_TIME AND PLANNED_COMP_DATE &gt;= PM_START_DATE_TIME AND PLANNED_COMP_DATE &lt; PM_END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) I ON I.DATE_TIME = RDT.DATE_TIME AND I.RESRCE = RDT.RESRCE
LEFT JOIN
(SELECT DATE_TIME ,RESRCE , COUNT(*)*4 CNT FROM Z_REPORT_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &gt; AM_END_DATE_TIME AND PLANNED_START_DATE &lt; PM_START_DATE_TIME AND PLANNED_COMP_DATE &gt; PM_END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) J ON J.DATE_TIME = RDT.DATE_TIME AND J.RESRCE = RDT.RESRCE
LEFT JOIN
(SELECT DATE_TIME ,RESRCE , SUM( ROUND((PLANNED_COMP_DATE - PLANNED_START_DATE)*24 , 4) ) CNT FROM Z_REPORT_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &gt; PM_START_DATE_TIME AND PLANNED_COMP_DATE &lt; PM_END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) K ON K.DATE_TIME = RDT.DATE_TIME AND K.RESRCE = RDT.RESRCE
LEFT JOIN
(SELECT DATE_TIME ,RESRCE , SUM( ROUND((PM_END_DATE_TIME - PLANNED_START_DATE)*24 , 4) ) CNT FROM Z_REPORT_DATE_TIME
LEFT JOIN TEMP ON PLANNED_START_DATE &gt; PM_START_DATE_TIME AND PLANNED_START_DATE &lt; PM_END_DATE_TIME AND PLANNED_COMP_DATE &gt;= PM_END_DATE_TIME
GROUP BY RESRCE , DATE_TIME ) L ON L.DATE_TIME = RDT.DATE_TIME AND L.RESRCE = RDT.RESRCE
GROUP BY RDT.RESRCE, RDT.RESOURCE_DESCRIPTION, RDT.DATE_TIME ,RDT.CAPACITY_MAN_HOUR , RDT.CENTER ,RDT.CENTER_DESCRIPTION ,RDT.WORK_CENTER ,RDT.WORK_CENTER_DESCRIPTION ,RDT.RESOURCE_TYPE ,RDT.RESOURCE_TYPE_DESCRIPTION GROUP BY RDT.RESRCE, RDT.RESOURCE_DESCRIPTION, RDT.DATE_TIME ,RDT.CAPACITY_MAN_HOUR , RDT.CENTER ,RDT.CENTER_DESCRIPTION ,RDT.WORK_CENTER ,RDT.WORK_CENTER_DESCRIPTION ,RDT.RESOURCE_TYPE ,RDT.RESOURCE_TYPE_DESCRIPTION
ORDER BY RDT.WORK_CENTER ,RDT.RESRCE, RDT.DATE_TIME ORDER BY RDT.WORK_CENTER ,RDT.RESRCE, RDT.DATE_TIME
</select> </select>
@ -218,8 +254,11 @@
<!----> <!---->
<insert id="insertReportDateTimeByStartToDate" > <insert id="insertReportDateTimeByStartToDate" >
INSERT INTO Z_REPORT_DATE_TIME INSERT INTO Z_REPORT_DATE_TIME
SELECT #{site} ,TO_CHAR(TO_DATE(#{startFromDate},'YYYY-MM-DD') + ROWNUM -1, 'YYYY-MM-DD') , TO_DATE(#{startFromDate} || '16:00:00','yyyy-mm-dd hh24:mi:ss') + rownum -2 , SELECT '1000' ,TO_CHAR(TO_DATE(#{startFromDate},'YYYY-MM-DD') + ROWNUM -1, 'YYYY-MM-DD') DATE_TIME,
TO_DATE(#{startFromDate} || '16:00:00','yyyy-mm-dd hh24:mi:ss') + rownum -1 TO_DATE(#{startFromDate} || '00:00:00','yyyy-mm-dd hh24:mi:ss') + rownum -1 AM_START_DATE_TIME,
TO_DATE(#{startFromDate} || '04:00:00','yyyy-mm-dd hh24:mi:ss') + rownum -1 AM_END_DATE_TIME,
TO_DATE(#{startFromDate} || '05:00:00','yyyy-mm-dd hh24:mi:ss') + rownum -1 PM_START_DATE_TIME ,
TO_DATE(#{startFromDate} || '09:00:00','yyyy-mm-dd hh24:mi:ss') + rownum -1 PM_END_DATE_TIME
FROM dual CONNECT BY rownum &lt;= to_date( #{startToDate}, 'yyyy-mm-dd') - to_date( #{startFromDate}, 'yyyy-mm-dd') + 1 FROM dual CONNECT BY rownum &lt;= to_date( #{startToDate}, 'yyyy-mm-dd') - to_date( #{startFromDate}, 'yyyy-mm-dd') + 1
</insert> </insert>
@ -300,14 +339,14 @@
</select> </select>
<select id="findUserPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <select id="findUserPassRate" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT ZNU.FULL_NAME,DESCRIPTION WORK_CENTER_DESCRIPTION, "MONTH",sum(NG_QTY) NC_QTY, sum(OK_QTY) OK_QTY,sum(CHECK_QTY) CHECK_QTY,round(sum(OK_QTY)*100/sum(DISPATCH_QTY),2)||'% ' OK_RATE FROM SELECT ZNU.FULL_NAME,DUTY_USER,DESCRIPTION WORK_CENTER_DESCRIPTION, "MONTH",sum(NG_QTY) NC_QTY, sum(OK_QTY) OK_QTY,sum(CHECK_QTY) CHECK_QTY,round(sum(OK_QTY)*100/sum(DISPATCH_QTY),2)||'% ' OK_RATE FROM
( (
SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='OK' THEN 0 SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='OK' THEN 0
WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='NG' THEN TO_NUMBER(zab.NC_QTY) WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='NG' THEN TO_NUMBER(zab.NC_QTY)
ELSE 0 END NG_QTY , TO_CHAR(zit.CREATED_DATE_TIME,'YYYY-MM') "MONTH", ELSE 0 END NG_QTY , TO_CHAR(zit.CREATED_DATE_TIME,'YYYY-MM') "MONTH",
CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='OK' THEN zsd.DISPATCH_QTY CASE WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='OK' THEN zsd.DISPATCH_QTY
WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='NG' THEN 0 WHEN ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC)=1 AND zit."RESULT"='NG' THEN 0
ELSE 0 END OK_QTY,E.EMPLOYEE ELSE 0 END OK_QTY,E.EMPLOYEE,ZABD.DUTY_USER
,ZSD.DISPATCH_QTY, WT.DESCRIPTION, ,ZSD.DISPATCH_QTY, WT.DESCRIPTION,
ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC) seq, ROW_NUMBER() OVER(PARTITION BY zit.sfc ,zit.OPERATION,zit.STEP_ID ORDER BY zit.CREATED_DATE_TIME DESC) seq,
zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.OPERATION,zit.STEP_ID FROM Z_INSPECTION_TASK zit zit."RESULT",COUNT(ZIT.HANDLE) check_qty, zit.sfc ,zit.OPERATION,zit.STEP_ID FROM Z_INSPECTION_TASK zit
@ -322,7 +361,8 @@
WHERE l &lt;= LENGTH(EMPLOYEE) - LENGTH(REPLACE(EMPLOYEE, ',')) + 1) E ON ZSD.HANDLE=E.HANDLE WHERE l &lt;= LENGTH(EMPLOYEE) - LENGTH(REPLACE(EMPLOYEE, ',')) + 1) E ON ZSD.HANDLE=E.HANDLE
LEFT JOIN WORK_CENTER_T WT ON WT.WORK_CENTER_BO = WC.HANDLE AND WT.LOCALE = 'zh' LEFT JOIN WORK_CENTER_T WT ON WT.WORK_CENTER_BO = WC.HANDLE AND WT.LOCALE = 'zh'
LEFT JOIN Z_ABNORMAL_BILL ZAB ON zit.SFC=ZAB.SFC AND zit.SITE=ZAB.SITE AND zit.STEP_ID=ZAB.STEP_ID AND zab."TYPE"='Z' LEFT JOIN Z_ABNORMAL_BILL ZAB ON zit.SFC=ZAB.SFC AND zit.SITE=ZAB.SITE AND zit.STEP_ID=ZAB.STEP_ID AND zab."TYPE"='Z'
WHERE zit.SITE= '1000' AND zit.CATEGORY='P' AND zit.STATUS='COMPLETE' LEFT JOIN Z_ABNORMAL_BILL_DISPOSE ZABD ON ZAB.HANDLE=ZABD.ABNORMAL_BILL_BO
WHERE zit.SITE= #{site} AND zit.CATEGORY='P' AND zit.STATUS='COMPLETE'
<if test="workCenter != null and workCenter != ''" > <if test="workCenter != null and workCenter != ''" >
AND zit.WORK_CENTER = #{workCenter} AND zit.WORK_CENTER = #{workCenter}
</if> </if>
@ -335,10 +375,10 @@
<if test="userId != null and userId != ''" > <if test="userId != null and userId != ''" >
AND E.EMPLOYEE = #{userId} AND E.EMPLOYEE = #{userId}
</if> </if>
GROUP BY zit."RESULT",zit.sfc ,zit.OPERATION,zit.STEP_ID, zit.CREATED_DATE_TIME,zit.RESRCE,zab.NC_QTY, WT.DESCRIPTION,ZSD.DISPATCH_QTY,E.EMPLOYEE GROUP BY zit."RESULT",zit.sfc ,zit.OPERATION,zit.STEP_ID, zit.CREATED_DATE_TIME,zit.RESRCE,zab.NC_QTY, WT.DESCRIPTION,ZSD.DISPATCH_QTY,E.EMPLOYEE,ZABD.DUTY_USER
) D ) D
LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = D.EMPLOYEE LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = D.EMPLOYEE
GROUP BY DESCRIPTION, "MONTH",ZNU.FULL_NAME GROUP BY DESCRIPTION, "MONTH",ZNU.FULL_NAME,DUTY_USER
ORDER BY DESCRIPTION,"MONTH" ORDER BY DESCRIPTION,"MONTH"
</select> </select>
</mapper> </mapper>

@ -3,6 +3,7 @@ package com.foreverwin.mesnac.production.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.production.dto.WorkShopTransferDto; import com.foreverwin.mesnac.production.dto.WorkShopTransferDto;
import com.foreverwin.mesnac.production.mapper.WorkShopTransferMapper;
import com.foreverwin.mesnac.production.model.WorkShopTransfer; import com.foreverwin.mesnac.production.model.WorkShopTransfer;
import com.foreverwin.mesnac.production.service.WorkShopTransferService; import com.foreverwin.mesnac.production.service.WorkShopTransferService;
import com.foreverwin.modular.core.util.CommonMethods; import com.foreverwin.modular.core.util.CommonMethods;
@ -24,7 +25,8 @@ public class WorkShopTransferController {
@Autowired @Autowired
public WorkShopTransferService workShopTransferService; public WorkShopTransferService workShopTransferService;
@Autowired
public WorkShopTransferMapper workShopTransferMapper;
/** /**
* *
* *
@ -73,6 +75,29 @@ public class WorkShopTransferController {
workShopTransferService.transferIn(handleList); workShopTransferService.transferIn(handleList);
return R.ok(); return R.ok();
} }
/**
*
*
* @param frontPage
* @return
*/
@ResponseBody
@GetMapping("/page")
public R page(FrontPage<WorkShopTransfer> frontPage, WorkShopTransfer workShopTransfer){
IPage result;
QueryWrapper<WorkShopTransfer> queryWrapper = new QueryWrapper<>();
workShopTransfer.setSite(CommonMethods.getSite());
queryWrapper.setEntity(workShopTransfer);
if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) {
//TODO modify global query
queryWrapper.lambda().and(wrapper -> wrapper
.like(WorkShopTransfer::getTransferNo, frontPage.getGlobalQuery())
);
}
result = workShopTransferService.page(frontPage.getPagePlus(), queryWrapper);
return R.ok(result);
}
/** /**
* id * id
* *
@ -107,8 +132,8 @@ public class WorkShopTransferController {
* @return * @return
*/ */
@ResponseBody @ResponseBody
@GetMapping("/page") @GetMapping("/transferNo")
public R page(FrontPage<WorkShopTransfer> frontPage, WorkShopTransfer workShopTransfer){ public R getTransferNo(FrontPage<WorkShopTransfer> frontPage, WorkShopTransfer workShopTransfer){
IPage result; IPage result;
QueryWrapper<WorkShopTransfer> queryWrapper = new QueryWrapper<>(); QueryWrapper<WorkShopTransfer> queryWrapper = new QueryWrapper<>();
workShopTransfer.setSite(CommonMethods.getSite()); workShopTransfer.setSite(CommonMethods.getSite());
@ -119,7 +144,7 @@ public class WorkShopTransferController {
.like(WorkShopTransfer::getTransferNo, frontPage.getGlobalQuery()) .like(WorkShopTransfer::getTransferNo, frontPage.getGlobalQuery())
); );
} }
result = workShopTransferService.page(frontPage.getPagePlus(), queryWrapper); result = workShopTransferMapper.getTransferNo(frontPage.getPagePlus(), queryWrapper);
return R.ok(result); return R.ok(result);
} }

@ -1,5 +1,8 @@
package com.foreverwin.mesnac.production.mapper; package com.foreverwin.mesnac.production.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.foreverwin.mesnac.production.dto.WorkShopTransferDto; import com.foreverwin.mesnac.production.dto.WorkShopTransferDto;
import com.foreverwin.mesnac.production.model.WorkShopTransfer; import com.foreverwin.mesnac.production.model.WorkShopTransfer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -26,4 +29,5 @@ public interface WorkShopTransferMapper extends BaseMapper<WorkShopTransfer> {
List<WorkShopTransferDto> getInList(@Param("site") String site, @Param("workCenter") String workCenter,@Param("transferWorkCenter") String transferWorkCenter, @Param("transferNo") String transferNo, @Param("status") String status,@Param("sfc") String sfc); List<WorkShopTransferDto> getInList(@Param("site") String site, @Param("workCenter") String workCenter,@Param("transferWorkCenter") String transferWorkCenter, @Param("transferNo") String transferNo, @Param("status") String status,@Param("sfc") String sfc);
IPage getTransferNo(Page<WorkShopTransfer> pagePlus, @Param("ew")QueryWrapper<WorkShopTransfer> queryWrapper);
} }

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.common.enums.DispatchStatusEnum; import com.foreverwin.mesnac.common.enums.DispatchStatusEnum;
import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.service.SfcDispatchCommonService; import com.foreverwin.mesnac.common.service.SfcDispatchCommonService;
import com.foreverwin.mesnac.common.util.DateUtil;
import com.foreverwin.mesnac.common.util.ExceptionUtil; import com.foreverwin.mesnac.common.util.ExceptionUtil;
import com.foreverwin.mesnac.common.util.StringUtil; import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.meapi.mapper.WorkCenterMapper; import com.foreverwin.mesnac.meapi.mapper.WorkCenterMapper;
@ -29,10 +30,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
@ -138,9 +137,7 @@ public class WorkShopTransferServiceImpl extends ServiceImpl<WorkShopTransferMap
public List<WorkShopTransferDto> transferOut(String handleList) { public List<WorkShopTransferDto> transferOut(String handleList) {
String site = CommonMethods.getSite(); String site = CommonMethods.getSite();
String user = CommonMethods.getUser(); String user = CommonMethods.getUser();
Date date = new Date(System.currentTimeMillis()); String taskNo = DateUtil.getTimeString();
SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyyMMddHHmmss");
String taskNo = dateFormat1.format(date);
List<WorkShopTransferDto> returnList=new ArrayList<>(); List<WorkShopTransferDto> returnList=new ArrayList<>();
String[] split = handleList.split(","); String[] split = handleList.split(",");
for (String sfc:split){ for (String sfc:split){

@ -261,8 +261,26 @@
</if> </if>
</select> </select>
<select id="getTransferNo" resultMap="BaseResultMap">
SELECT DISTINCT TRANSFER_NO FROM Z_WORK_SHOP_TRANSFER
<where>
<if test="ew!=null">
<if test="ew.entity!=null">
<if test="ew.entity.sfcDispatchBo!=null"> AND SFC_DISPATCH_BO=#{ew.entity.sfcDispatchBo}</if>
<if test="ew.entity.site!=null"> AND SITE=#{ew.entity.site}</if>
<if test="ew.entity.transferNo!=null"> AND TRANSFER_NO=#{ew.entity.transferNo}</if>
</if>
<if test="ew!=null and ew.sqlSegment!=null and ew.nonEmptyOfWhere">
AND ${ew.sqlSegment}
</if>
</if>
</where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">
${ew.sqlSegment}
</if>
</select>
<select id="selectPage" resultMap="BaseResultMap"> <select id="selectPage" resultMap="BaseResultMap">
SELECT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_WORK_SHOP_TRANSFER SELECT DISTINCT <choose><when test="ew != null and ew.sqlSelect != null">${ew.sqlSelect}</when><otherwise><include refid="Base_Column_List"></include></otherwise></choose> FROM Z_WORK_SHOP_TRANSFER
<where> <where>
<if test="ew!=null"> <if test="ew!=null">
<if test="ew.entity!=null"> <if test="ew.entity!=null">
@ -643,7 +661,7 @@
LEFT JOIN ITEM_T IT ON IT.ITEM_BO = IM.HANDLE AND IT.LOCALE = 'zh' LEFT JOIN ITEM_T IT ON IT.ITEM_BO = IM.HANDLE AND IT.LOCALE = 'zh'
LEFT JOIN OPERATION PREOP ON PREOP.OPERATION = zsd.PREPOSITION_OPERATION AND PREOP.SITE = ZSD.SITE AND PREOP.CURRENT_REVISION = 'true' LEFT JOIN OPERATION PREOP ON PREOP.OPERATION = zsd.PREPOSITION_OPERATION AND PREOP.SITE = ZSD.SITE AND PREOP.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T PREOT ON PREOT.OPERATION_BO = PREOP.HANDLE AND PREOT.LOCALE ='zh' LEFT JOIN OPERATION_T PREOT ON PREOT.OPERATION_BO = PREOP.HANDLE AND PREOT.LOCALE ='zh'
WHERE ZSD.SITE=#{site} AND zsd.DISPATCH_STATUS!='COMPLETE' AND zsd.DISPATCH_STATUS!='CANCEL' WHERE ZSD.SITE=#{site} AND (zsd.DISPATCH_STATUS='RELEASE' OR zsd.DISPATCH_STATUS='NEW') AND PREZSD.DISPATCH_STATUS='COMPLETE'
<if test="stepId!=null and stepId!=''"> <if test="stepId!=null and stepId!=''">
AND zsd.STEP_ID=#{stepId} AND zsd.STEP_ID=#{stepId}
</if> </if>
@ -692,7 +710,7 @@
</select> </select>
<select id="getInList" resultType="com.foreverwin.mesnac.production.dto.WorkShopTransferDto"> <select id="getInList" resultType="com.foreverwin.mesnac.production.dto.WorkShopTransferDto">
SELECT zsd.sfc,zsd.handle SFC_DISPATCH_BO,PREZSD.OPERATION NEXT_OPERATION,PREZSD.WORK_CENTER TRANSFER_WORK_CENTER,zsd.WORK_CENTER,WCT.DESCRIPTION WORK_CENTER_DESC,zsd.SHOP_ORDER,c1.VALUE WORK_ORDER,IT.DESCRIPTION ITEM_DESC,ZSD.BLANKING_SIZE,SFC.QTY,PREOT.DESCRIPTION LAST_OPERATION_DESC,PREZSD.EMPLOYEE_DESCRIPTION,OT.DESCRIPTION OPERATION_DESC, SELECT zsd.sfc,zsd.handle SFC_DISPATCH_BO,zsd.WORK_CENTER,WCT.DESCRIPTION WORK_CENTER_DESC,zsd.SHOP_ORDER,c1.VALUE WORK_ORDER,IT.DESCRIPTION ITEM_DESC,ZSD.BLANKING_SIZE,SFC.QTY,PREOT.DESCRIPTION LAST_OPERATION_DESC,OT.DESCRIPTION OPERATION_DESC,
CASE WHEN ZWST.IS_IN='Y' THEN '已接收' WHEN ZWST.IS_OUT='Y' THEN '转序中' ELSE NULL END STATUS CASE WHEN ZWST.IS_IN='Y' THEN '已接收' WHEN ZWST.IS_OUT='Y' THEN '转序中' ELSE NULL END STATUS
FROM Z_SFC_DISPATCH zsd FROM Z_SFC_DISPATCH zsd
JOIN sfc sfc ON sfc.sfc=zsd.sfc AND zsd.site=sfc.site JOIN sfc sfc ON sfc.sfc=zsd.sfc AND zsd.site=sfc.site
@ -701,7 +719,6 @@
left JOIN SFC_STEP SP ON SP.SFC_ROUTER_BO = SR.HANDLE and sp.step_Id=zsd.STEP_ID left JOIN SFC_STEP SP ON SP.SFC_ROUTER_BO = SR.HANDLE and sp.step_Id=zsd.STEP_ID
JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZSD.WORK_CENTER AND WC.SITE = zsd.SITE JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZSD.WORK_CENTER AND WC.SITE = zsd.SITE
LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE AND WCT.LOCALE = 'zh' LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE AND WCT.LOCALE = 'zh'
LEFT JOIN Z_SFC_DISPATCH PREZSD ON zsd.SFC=PREZSD.SFC AND PREZSD.DISPATCH_SEQ=TO_NUMBER(zsd.DISPATCH_SEQ)+1
LEFT JOIN Z_WORK_SHOP_TRANSFER ZWST ON zsd.HANDLE=zwst.SFC_DISPATCH_BO LEFT JOIN Z_WORK_SHOP_TRANSFER ZWST ON zsd.HANDLE=zwst.SFC_DISPATCH_BO
INNER JOIN SHOP_ORDER SO ON SO.SITE = zsd.SITE AND SO.SHOP_ORDER = zsd.SHOP_ORDER INNER JOIN SHOP_ORDER SO ON SO.SITE = zsd.SITE AND SO.SHOP_ORDER = zsd.SHOP_ORDER
JOIN OPERATION OP ON OP.OPERATION = zsd.OPERATION AND OP.SITE = ZSD.SITE AND OP.CURRENT_REVISION = 'true' JOIN OPERATION OP ON OP.OPERATION = zsd.OPERATION AND OP.SITE = ZSD.SITE AND OP.CURRENT_REVISION = 'true'
@ -712,11 +729,8 @@
LEFT JOIN ITEM_T IT ON IT.ITEM_BO = IM.HANDLE AND IT.LOCALE = 'zh' LEFT JOIN ITEM_T IT ON IT.ITEM_BO = IM.HANDLE AND IT.LOCALE = 'zh'
LEFT JOIN OPERATION PREOP ON PREOP.OPERATION = zsd.PREPOSITION_OPERATION AND PREOP.SITE = ZSD.SITE AND PREOP.CURRENT_REVISION = 'true' LEFT JOIN OPERATION PREOP ON PREOP.OPERATION = zsd.PREPOSITION_OPERATION AND PREOP.SITE = ZSD.SITE AND PREOP.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T PREOT ON PREOT.OPERATION_BO = PREOP.HANDLE AND PREOT.LOCALE ='zh' LEFT JOIN OPERATION_T PREOT ON PREOT.OPERATION_BO = PREOP.HANDLE AND PREOT.LOCALE ='zh'
WHERE ZSD.SITE=#{site} AND zsd.DISPATCH_STATUS!='COMPLETE' AND zsd.DISPATCH_STATUS!='CANCEL' WHERE ZSD.SITE=#{site} AND (zsd.DISPATCH_STATUS='RELEASE' OR zsd.DISPATCH_STATUS='NEW')
AND ZSD.WORK_CENTER=#{workCenter} AND ZSD.WORK_CENTER=#{workCenter}
<if test="transferWorkCenter!=null and transferWorkCenter!=''">
AND PREZSD.WORK_CENTER=#{transferWorkCenter}
</if>
<if test="transferNo!=null and transferNo!=''"> <if test="transferNo!=null and transferNo!=''">
AND ZWST.TRANSFER_NO=#{transferNo} AND ZWST.TRANSFER_NO=#{transferNo}
</if> </if>

@ -31,6 +31,8 @@ public class InspectionTaskManage implements Serializable {
private LocalDateTime modifiedDateTime; private LocalDateTime modifiedDateTime;
private String fullName; private String fullName;
private String resrceDescription; private String resrceDescription;
private String operationDescription;
private String sfcQty;
private List<InspectionTaskManageDetail> inspectionTaskDetailList; private List<InspectionTaskManageDetail> inspectionTaskDetailList;
@ -233,4 +235,20 @@ public class InspectionTaskManage implements Serializable {
public void setResrceDescription(String resrceDescription) { public void setResrceDescription(String resrceDescription) {
this.resrceDescription = resrceDescription; this.resrceDescription = resrceDescription;
} }
public String getOperationDescription() {
return operationDescription;
}
public void setOperationDescription(String operationDescription) {
this.operationDescription = operationDescription;
}
public String getSfcQty() {
return sfcQty;
}
public void setSfcQty(String sfcQty) {
this.sfcQty = sfcQty;
}
} }

@ -17,6 +17,7 @@
<result column="ITEM" property="item" /> <result column="ITEM" property="item" />
<result column="ITEM_DESCRIPTION" property="itemDescription" /> <result column="ITEM_DESCRIPTION" property="itemDescription" />
<result column="OPERATION" property="operation" /> <result column="OPERATION" property="operation" />
<result column="OPERATION_DESCRIPTION" property="operationDescription" />
<result column="STEP_ID" property="stepId" /> <result column="STEP_ID" property="stepId" />
<result column="RESRCE" property="resrce" /> <result column="RESRCE" property="resrce" />
<result column="RESULT" property="result" /> <result column="RESULT" property="result" />
@ -27,13 +28,19 @@
<result column="MODIFIED_DATE_TIME" property="modifiedDateTime" /> <result column="MODIFIED_DATE_TIME" property="modifiedDateTime" />
<result column="FULL_NAME" property="fullName"/> <result column="FULL_NAME" property="fullName"/>
<result column="RESRCE_DESCRIPTION" property="resrceDescription"/> <result column="RESRCE_DESCRIPTION" property="resrceDescription"/>
<result column="SFC_QTY" property="sfcQty" />
</resultMap> </resultMap>
<select id="findInspectionTask" resultMap="BaseResultMap"> <select id="findInspectionTask" resultMap="BaseResultMap">
SELECT B.HANDLE, B.SITE, B.CATEGORY, B.TASK_NO, B.DESCRIPTION, B.STATUS, B.INSPECTION_ITEM_BO, B.WORK_CENTER, B.SHOP_ORDER, B.SFC, B.OPERATION, B.STEP_ID, B.RESRCE, B.RESULT, B.COMMENTS, B.CREATE_USER, B.CREATED_DATE_TIME, B.MODIFY_USER, B.MODIFIED_DATE_TIME, SELECT B.HANDLE, B.SITE, B.CATEGORY, B.TASK_NO, B.DESCRIPTION, B.STATUS, B.INSPECTION_ITEM_BO, B.WORK_CENTER, B.SHOP_ORDER, B.SFC, B.OPERATION, B.STEP_ID, B.RESRCE, B.RESULT, B.COMMENTS, B.CREATE_USER, B.CREATED_DATE_TIME, B.MODIFY_USER, B.MODIFIED_DATE_TIME,
M.ITEM, Z.DESCRIPTION ITEM_DESCRIPTION,ZNU.FULL_NAME FULL_NAME,RS.DESCRIPTION RESRCE_DESCRIPTION M.ITEM, Z.DESCRIPTION ITEM_DESCRIPTION,ZNU.FULL_NAME FULL_NAME,RS.DESCRIPTION RESRCE_DESCRIPTION,
O.OPERATION OPERATION,OT.DESCRIPTION OPERATION_DESCRIPTION,S.QTY SFC_QTY,B.COMMENTS COMMENTS
FROM Z_INSPECTION_TASK B FROM Z_INSPECTION_TASK B
INNER JOIN RESRCE RS ON B.SITE = RS.SITE AND RS.RESRCE = B.RESRCE INNER JOIN RESRCE RS ON B.SITE = RS.SITE AND RS.RESRCE = B.RESRCE
INNER JOIN OPERATION O ON O.OPERATION = B.OPERATION AND O.SITE = B.SITE
LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE AND OT.LOCALE = 'zh'
INNER JOIN SFC S ON S.SFC = B.SFC AND S.SITE = B.SITE
LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = RS.HANDLE AND CF.ATTRIBUTE = 'CHECK_USR' LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = RS.HANDLE AND CF.ATTRIBUTE = 'CHECK_USR'
INNER JOIN SFC S ON S.SITE = B.SITE AND S.SFC = B.SFC INNER JOIN SFC S ON S.SITE = B.SITE AND S.SFC = B.SFC
INNER JOIN SHOP_ORDER P ON P.HANDLE = S.SHOP_ORDER_BO INNER JOIN SHOP_ORDER P ON P.HANDLE = S.SHOP_ORDER_BO

Loading…
Cancel
Save