|
|
@@ -967,7 +967,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
SELECT
|
|
|
ROUND((((本烧出窑总数.ONESUBSTANDARDCOUNT-本烧次品重烧数.ONESUBSTANDARDCOUNT-本烧次品重烧数.ONEREFIRECOUNT)+(重烧出窑总数.ONESUBSTANDARDCOUNT-重烧次品重烧数.ONESUBSTANDARDCOUNT-重烧次品重烧数.ONEREFIRECOUNT))/本烧出窑总数.ONESUBSTANDARDCOUNT)*100 ,2 ) AS 一车间,
|
|
|
ROUND((((本烧出窑总数.TWOSUBSTANDARDCOUNT-本烧次品重烧数.TWOSUBSTANDARDCOUNT-本烧次品重烧数.TWOREFIRECOUNT)+(重烧出窑总数.TWOSUBSTANDARDCOUNT-重烧次品重烧数.TWOSUBSTANDARDCOUNT-重烧次品重烧数.TWOREFIRECOUNT))/本烧出窑总数.TWOSUBSTANDARDCOUNT)*100 ,2 ) AS 二车间,
|
|
|
- ROUND((((本烧出窑总数.THREESUBSTANDARDCOUNT-本烧次品重烧数.THREESUBSTANDARDCOUNT-本烧次品重烧数.THREEREFIRECOUNT)+(重烧出窑总数.THREESUBSTANDARDCOUNT-重烧次品重烧数.THREESUBSTANDARDCOUNT-重烧次品重烧数.THREEREFIRECOUNT))/本烧出窑总数.ONESUBSTANDARDCOUNT)*100 ,2 ) AS 三车间
|
|
|
+ ROUND((((本烧出窑总数.THREESUBSTANDARDCOUNT-本烧次品重烧数.THREESUBSTANDARDCOUNT-本烧次品重烧数.THREEREFIRECOUNT)+(重烧出窑总数.THREESUBSTANDARDCOUNT-重烧次品重烧数.THREESUBSTANDARDCOUNT-重烧次品重烧数.THREEREFIRECOUNT))/本烧出窑总数.THREESUBSTANDARDCOUNT)*100 ,2 ) AS 三车间
|
|
|
FROM
|
|
|
本烧出窑总数
|
|
|
LEFT JOIN 本烧次品重烧数 ON 1 = 1
|
|
|
@@ -1277,16 +1277,15 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
*
|
|
|
FROM(
|
|
|
SELECT
|
|
|
- DISTINCT
|
|
|
- FD.GOODSCODE,
|
|
|
+ GD.MATERIALCODE,
|
|
|
COUNT(DISTINCT FD.BARCODE) FINNUM
|
|
|
FROM (
|
|
|
SELECT
|
|
|
- DISTINCT GOODSID, GOODSCODE, CREATETIME
|
|
|
+ DISTINCT GOODSID, MATERIALCODE, CREATETIME
|
|
|
FROM
|
|
|
- ( SELECT GOODSID, GOODSCODE, CREATETIME FROM TP_MST_GOODS
|
|
|
+ ( SELECT GOODSID, MATERIALCODE, CREATETIME FROM TP_MST_GOODS
|
|
|
UNION ALL
|
|
|
- SELECT GOODSID, GOODSCODE, CREATETIME FROM TP_MST_GOODSLOGOSAP
|
|
|
+ SELECT GOODSID, MATERIALCODE, CREATETIME FROM TP_MST_GOODSLOGOSAP
|
|
|
)
|
|
|
) GD
|
|
|
INNER JOIN TP_PM_FINISHEDPRODUCT FD ON FD.GOODSID = GD.GOODSID
|
|
|
@@ -1295,8 +1294,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
AND FD.CREATETIME >= TRUNC( SYSDATE - 7 )
|
|
|
AND TRUNC( FD.CREATETIME ) <= TRUNC( SYSDATE )
|
|
|
GROUP BY
|
|
|
- FD.GOODSCODE,
|
|
|
- GD.CREATETIME
|
|
|
+ GD.MATERIALCODE,
|
|
|
+ GD.CREATETIME
|
|
|
ORDER BY
|
|
|
COUNT(DISTINCT FD.BARCODE) DESC
|
|
|
)
|
|
|
@@ -1307,425 +1306,156 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
context.Response.Write(jsonStr);
|
|
|
}
|
|
|
if (context.Request["m"].ToString() == "Load10")
|
|
|
- { string begin = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd") + " 00:00:00";
|
|
|
- string end = DateTime.Now.ToString("yyyy-MM-dd") + " 0:00:00";
|
|
|
- List<CDAParameter> sqlPara = new List<CDAParameter>();
|
|
|
- sqlPara.Add(new CDAParameter("BEGIN", begin, DataType.DateTime));
|
|
|
- sqlPara.Add(new CDAParameter("END", end, DataType.DateTime));
|
|
|
+ { List<CDAParameter> sqlPara = new List<CDAParameter>();
|
|
|
+ sqlPara.Add(new CDAParameter("DATEBEGIN", DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")+ " 00:00:00", DataType.DateTime));
|
|
|
+ sqlPara.Add(new CDAParameter("DATEEND", DateTime.Now.AddDays(0).ToString("yyyy-MM-dd")+ " 23:59:59", DataType.DateTime));
|
|
|
|
|
|
- string sqlStr = @"
|
|
|
-WITH
|
|
|
- 模具出库时间 AS (
|
|
|
- SELECT
|
|
|
- mch.MOULDCODE,
|
|
|
- mch.GOODSCODE,
|
|
|
- mch.createtime AS CREATETIME
|
|
|
+ string sqlStr = @"SELECT
|
|
|
+ *
|
|
|
FROM
|
|
|
- tp_pc_mouldchangehistory mch
|
|
|
- INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
- WHERE
|
|
|
- mch.accountid = 1
|
|
|
- AND mch.operationtype >= - 1
|
|
|
- AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
- AND mopt.operationtypename = '库存上线(出库)'
|
|
|
- AND mch.GOODSCODE IN (
|
|
|
+ (
|
|
|
SELECT
|
|
|
- GOODSCODE
|
|
|
+ TO_CHAR( '模具' || GOODSCODE ) AS 地点,
|
|
|
+ GOODSCODE,
|
|
|
+ 时间差值,
|
|
|
+ to_char( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) / 24 ), 'fm9999990.0' ) ) 周转周期
|
|
|
FROM
|
|
|
(
|
|
|
SELECT
|
|
|
mch.GOODSCODE,
|
|
|
- SUM( CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END ) - SUM( CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END )
|
|
|
- FROM
|
|
|
- tp_pc_mouldchangehistory mch
|
|
|
- INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
- WHERE
|
|
|
- mch.accountid = 1
|
|
|
- AND mch.operationtype >= - 1
|
|
|
- AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
- GROUP BY
|
|
|
- mch.GOODSCODE
|
|
|
- ORDER BY
|
|
|
- (
|
|
|
- SUM( CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END ) - SUM( CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END )
|
|
|
- ) ASC
|
|
|
- )
|
|
|
- WHERE
|
|
|
- ROWNUM <= 3
|
|
|
- )
|
|
|
- ),
|
|
|
- 模具入库时间 AS (
|
|
|
- SELECT
|
|
|
- mch.MOULDCODE,
|
|
|
- mch.GOODSCODE,
|
|
|
- mch.createtime AS CREATETIME
|
|
|
- FROM
|
|
|
- tp_pc_mouldchangehistory mch
|
|
|
- INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
- WHERE mch.accountid = 1
|
|
|
- AND mch.operationtype >= - 1
|
|
|
- AND mopt.operationtypename = '模具新增(入库)'
|
|
|
- AND mch.MOULDCODE IN(
|
|
|
- SELECT
|
|
|
- mch.MOULDCODE
|
|
|
- FROM
|
|
|
- tp_pc_mouldchangehistory mch
|
|
|
- INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
- WHERE
|
|
|
- mch.accountid = 1
|
|
|
- AND mch.operationtype >= - 1
|
|
|
- AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
- AND mopt.operationtypename = '库存上线(出库)'
|
|
|
- AND mch.GOODSCODE IN (
|
|
|
+ SUM( mch.时间差 ) AS 时间差值,
|
|
|
+ COUNT( DISTINCT goodsmould.MOULDCODE ) AS 产量
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ mch.MOULDCODE,
|
|
|
+ mch.GOODSCODE,
|
|
|
+ TO_CHAR( ( ceil( ( ( mch.CREATETIME - mchh.CREATETIME ) ) * 24 ) ), 'fm9999990' ) AS 时间差
|
|
|
+ FROM
|
|
|
+ tp_pc_mouldchangehistory mch
|
|
|
+ LEFT JOIN tp_pc_mouldchangehistory mchh ON mchh.MOULDCODE = mch.MOULDCODE
|
|
|
+ AND mchh.operationtype = 1
|
|
|
+ WHERE
|
|
|
+ mch.accountid = 1
|
|
|
+ AND mch.operationtype = 6 --operationtype=1 新增入库 operationtype=6 库存上线(出库) -1为变更型号
|
|
|
+
|
|
|
+ AND mch.operationtype >- 1
|
|
|
+ AND mch.createtime >= @DATEBEGIN@
|
|
|
+ AND mch.createtime <= @DATEEND@
|
|
|
+ ) mch
|
|
|
+ LEFT JOIN tp_pc_mouldchangehistory goodsmould ON goodsmould.MOULDCODE = mch.MOULDCODE
|
|
|
+ WHERE
|
|
|
+ goodsmould.accountid = 1
|
|
|
+ AND goodsmould.operationtype = 6
|
|
|
+ AND goodsmould.operationtype >- 1
|
|
|
+ AND goodsmould.createtime >= @DATEBEGIN@
|
|
|
+ AND goodsmould.createtime <= @DATEEND@
|
|
|
+ GROUP BY
|
|
|
+ mch.GOODSCODE
|
|
|
+ ORDER BY
|
|
|
+ SUM( mch.时间差 ) DESC
|
|
|
+ )
|
|
|
+ ORDER BY
|
|
|
+ TO_NUMBER( ( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) ), 'fm9999990.0000' ) ) ) DESC
|
|
|
+ )
|
|
|
+ WHERE
|
|
|
+ ROWNUM <= 4 UNION ALL
|
|
|
SELECT
|
|
|
- GOODSCODE
|
|
|
+ *
|
|
|
FROM
|
|
|
(
|
|
|
SELECT
|
|
|
- mch.GOODSCODE,
|
|
|
- SUM( CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END ) - SUM( CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END )
|
|
|
- FROM
|
|
|
- tp_pc_mouldchangehistory mch
|
|
|
- INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
- WHERE
|
|
|
- mch.accountid = 1
|
|
|
- AND mch.operationtype >= - 1
|
|
|
- AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
- GROUP BY
|
|
|
- mch.GOODSCODE
|
|
|
- ORDER BY
|
|
|
- (
|
|
|
- SUM( CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END ) - SUM( CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END )
|
|
|
- ) ASC
|
|
|
- )
|
|
|
- WHERE
|
|
|
- ROWNUM <= 3
|
|
|
- )
|
|
|
- )
|
|
|
- ),
|
|
|
- 模具产品数量 AS (
|
|
|
- SELECT
|
|
|
- COUNT(1) 总数
|
|
|
- FROM
|
|
|
- tp_pc_mouldchangehistory mch
|
|
|
- INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
- WHERE
|
|
|
- mch.accountid = 1
|
|
|
- AND mch.operationtype >= - 1
|
|
|
- AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
- AND mopt.operationtypename = '库存上线(出库)'
|
|
|
- AND mch.GOODSCODE IN(
|
|
|
- SELECT
|
|
|
- GOODSCODE
|
|
|
- FROM(
|
|
|
- SELECT
|
|
|
- mch.GOODSCODE,
|
|
|
- SUM(CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END) - SUM(CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END)
|
|
|
- FROM
|
|
|
- tp_pc_mouldchangehistory mch
|
|
|
- INNER JOIN tp_sys_mouldoperationtype mopt ON mopt.operationtypeid = mch.operationtype
|
|
|
- WHERE
|
|
|
- mch.accountid = 1
|
|
|
- AND mch.operationtype >= - 1
|
|
|
- AND mch.createtime >= @BEGIN@ AND mch.createtime <= @END@
|
|
|
- GROUP BY mch.GOODSCODE
|
|
|
- ORDER BY (SUM(CASE WHEN mopt.operationtypename = '库存上线(出库)' THEN 1 ELSE 0 END) -SUM(CASE WHEN mopt.operationtypename = '模具新增(入库)' THEN 1 ELSE 0 END) ) ASC
|
|
|
- )
|
|
|
- WHERE ROWNUM<=3
|
|
|
- )
|
|
|
-
|
|
|
- )
|
|
|
- ,精坯库出库时间 AS ( --精坯库
|
|
|
- SELECT
|
|
|
- DISTINCT
|
|
|
- BARCODE,
|
|
|
- GOODSCODE,
|
|
|
- CREATETIME
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (119,64,81)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- AND GOODSCODE IN (
|
|
|
- SELECT
|
|
|
- GOODSCODE
|
|
|
- FROM(
|
|
|
- SELECT
|
|
|
- GOODSCODE,
|
|
|
- COUNT(DISTINCT BARCODE)
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (119,64,81)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- GROUP BY GOODSCODE
|
|
|
- ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
- )
|
|
|
- WHERE ROWNUM<=3
|
|
|
- )
|
|
|
-
|
|
|
- ),
|
|
|
- 精坯入库时间 AS (
|
|
|
- SELECT
|
|
|
- BARCODE,
|
|
|
- GOODSCODE,
|
|
|
- CREATETIME
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (53,97)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- AND BARCODE IN (
|
|
|
- SELECT
|
|
|
- DISTINCT
|
|
|
- BARCODE
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (119,64,81)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- AND GOODSCODE IN (
|
|
|
- SELECT
|
|
|
- GOODSCODE
|
|
|
- FROM(
|
|
|
- SELECT
|
|
|
- GOODSCODE,
|
|
|
- COUNT(DISTINCT BARCODE)
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (119,64,81)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- GROUP BY GOODSCODE
|
|
|
- ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
- )
|
|
|
- WHERE ROWNUM<=3
|
|
|
- )
|
|
|
- )
|
|
|
- ),
|
|
|
- 精坯库产品数量 AS (
|
|
|
-
|
|
|
- SELECT
|
|
|
- COUNT(DISTINCT BARCODE)总数
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (119,64,81)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- AND GOODSCODE IN (
|
|
|
- SELECT
|
|
|
- GOODSCODE
|
|
|
- FROM(
|
|
|
- SELECT
|
|
|
- GOODSCODE,
|
|
|
- COUNT(DISTINCT BARCODE)
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (119,64,81)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- GROUP BY GOODSCODE
|
|
|
- ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
- )
|
|
|
- WHERE ROWNUM<=3
|
|
|
- )
|
|
|
- )
|
|
|
- --施釉
|
|
|
- ,施釉出库时间 AS (
|
|
|
- SELECT
|
|
|
- DISTINCT
|
|
|
- BARCODE,
|
|
|
- GOODSCODE,
|
|
|
- CREATETIME
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (5,101)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- AND GOODSCODE IN (
|
|
|
- SELECT
|
|
|
- GOODSCODE
|
|
|
- FROM(
|
|
|
- SELECT
|
|
|
- GOODSCODE,
|
|
|
- COUNT(DISTINCT BARCODE)
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (5,101)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- GROUP BY GOODSCODE
|
|
|
- ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
- )
|
|
|
- WHERE ROWNUM<=3
|
|
|
- )
|
|
|
-
|
|
|
- ),
|
|
|
- 施釉入库时间 AS (
|
|
|
- SELECT
|
|
|
- BARCODE,
|
|
|
- GOODSCODE,
|
|
|
- CREATETIME
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (99,65)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- AND BARCODE IN (
|
|
|
- SELECT
|
|
|
- DISTINCT
|
|
|
- BARCODE
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (5,101)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- AND GOODSCODE IN (
|
|
|
- SELECT
|
|
|
- GOODSCODE
|
|
|
- FROM(
|
|
|
- SELECT
|
|
|
- GOODSCODE,
|
|
|
- COUNT(DISTINCT BARCODE)
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (5,101)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- GROUP BY GOODSCODE
|
|
|
- ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
- )
|
|
|
- WHERE ROWNUM<=3
|
|
|
- )
|
|
|
- )
|
|
|
- ),
|
|
|
- 施釉产品数量 AS (
|
|
|
-
|
|
|
- SELECT
|
|
|
- COUNT(DISTINCT BARCODE)总数
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (5,101)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- AND GOODSCODE IN (
|
|
|
- SELECT
|
|
|
- GOODSCODE
|
|
|
- FROM(
|
|
|
+ TO_CHAR( '精坯' || GOODSCODE ) AS 地点,
|
|
|
+ GOODSCODE,
|
|
|
+ 时间差值,
|
|
|
+ to_char( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) / 24 ), 'fm9999990.0' ) ) 周转周期
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ inoutPD.GOODSCODE,
|
|
|
+ SUM( 时间差 ) AS 时间差值,
|
|
|
+ COUNT( DISTINCT GOODSPD.BARCODE ) 产量
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ OUTPD.BARCODE,
|
|
|
+ OUTPD.GOODSCODE,
|
|
|
+ TO_CHAR( ( ceil( ( ( OUTPD.CREATETIME - INPD.CREATETIME ) * 24 ) ) ), 'fm9999990' ) AS 时间差
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA OUTPD
|
|
|
+ INNER JOIN TP_PM_PRODUCTIONDATA INPD ON OUTPD.BARCODE = INPD.BARCODE
|
|
|
+ AND INPD.PROCEDUREID IN ( 53, 97 )
|
|
|
+ AND INPD.VALUEFLAG = 1
|
|
|
+ WHERE
|
|
|
+ OUTPD.PROCEDUREID IN ( 119, 64, 81 )
|
|
|
+ AND OUTPD.VALUEFLAG = 1
|
|
|
+ AND OUTPD.createtime >= @DATEBEGIN@
|
|
|
+ AND OUTPD.createtime <= @DATEEND@
|
|
|
+ ) inoutPD
|
|
|
+ INNER JOIN TP_PM_PRODUCTIONDATA GOODSPD ON GOODSPD.BARCODE = inoutPD.BARCODE
|
|
|
+ WHERE
|
|
|
+ GOODSPD.PROCEDUREID IN ( 119, 64, 81 )
|
|
|
+ AND GOODSPD.VALUEFLAG = 1
|
|
|
+ AND GOODSPD.createtime >= @DATEBEGIN@
|
|
|
+ AND GOODSPD.createtime <= @DATEEND@
|
|
|
+ GROUP BY
|
|
|
+ inoutPD.GOODSCODE
|
|
|
+ )
|
|
|
+ ORDER BY
|
|
|
+ TO_NUMBER( ( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) ), 'fm9999990.0000' ) ) ) DESC
|
|
|
+ )
|
|
|
+ WHERE
|
|
|
+ ROWNUM <= 3 UNION ALL
|
|
|
SELECT
|
|
|
- GOODSCODE,
|
|
|
- COUNT(DISTINCT BARCODE)
|
|
|
- FROM TP_PM_PRODUCTIONDATA
|
|
|
- WHERE PROCEDUREID IN (5,101)
|
|
|
- AND CREATETIME >= @BEGIN@ AND CREATETIME <= @END@
|
|
|
- AND VALUEFLAG=1
|
|
|
- GROUP BY GOODSCODE
|
|
|
- ORDER BY COUNT(DISTINCT BARCODE) ASC
|
|
|
- )
|
|
|
- WHERE ROWNUM<=3
|
|
|
- )
|
|
|
- )
|
|
|
- SELECT
|
|
|
- '模具' AS 地点,
|
|
|
- to_char( GOODSCODE||' ('||TO_CHAR(( NVL(SUM(时间差), 1)/NVL(总数, 1) ),'fm9999990.00')||')') 周转周期
|
|
|
- FROM(
|
|
|
- SELECT
|
|
|
- 模具产品数量.总数,
|
|
|
- 模具出库时间.MOULDCODE,
|
|
|
- 模具出库时间.GOODSCODE,
|
|
|
- 模具出库时间.CREATETIME,
|
|
|
- 模具入库时间.CREATETIME,
|
|
|
- TO_CHAR(( ceil(((模具出库时间.CREATETIME - 模具入库时间.CREATETIME))*24*60*60)/3600),'fm9999990.00') AS 时间差
|
|
|
- FROM 模具出库时间
|
|
|
- LEFT JOIN 模具入库时间 ON 模具出库时间.MOULDCODE=模具入库时间.MOULDCODE
|
|
|
- LEFT JOIN 模具产品数量 ON 1=1
|
|
|
- )
|
|
|
- GROUP BY GOODSCODE,总数
|
|
|
- UNION ALL
|
|
|
- SELECT
|
|
|
- '精坯' AS 地点,
|
|
|
- to_char( GOODSCODE||' ('||TO_CHAR(( SUM(时间差)/NVL(总数, 1) ),'fm9999990.00')||')') 周转周期
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- 精坯库产品数量.总数,
|
|
|
- 精坯库出库时间.BARCODE,
|
|
|
- 精坯库出库时间.GOODSCODE,
|
|
|
- 精坯库出库时间.CREATETIME,
|
|
|
- 精坯入库时间.CREATETIME,
|
|
|
- TO_CHAR(( ceil(((精坯库出库时间.CREATETIME - 精坯入库时间.CREATETIME))*24*60*60)/3600),'fm9999990.00') AS 时间差
|
|
|
- FROM 精坯库出库时间
|
|
|
- LEFT JOIN 精坯入库时间 ON 精坯库出库时间.BARCODE=精坯入库时间.BARCODE
|
|
|
- LEFT JOIN 精坯库产品数量 ON 1=1
|
|
|
- )
|
|
|
- GROUP BY GOODSCODE,总数
|
|
|
- UNION ALL
|
|
|
- SELECT
|
|
|
- '施釉' AS 地点,
|
|
|
- to_char( GOODSCODE||' ('||TO_CHAR(( SUM(时间差)/NVL(总数, 1) ),'fm9999990.00')||')') 周转周期
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- 施釉产品数量.总数,
|
|
|
- 施釉出库时间.BARCODE,
|
|
|
- 施釉出库时间.GOODSCODE,
|
|
|
- 施釉出库时间.CREATETIME,
|
|
|
- 施釉入库时间.CREATETIME,
|
|
|
- TO_CHAR(( ceil(((施釉出库时间.CREATETIME - 施釉入库时间.CREATETIME))*24*60*60)/3600),'fm9999990.00') AS 时间差
|
|
|
- FROM 施釉出库时间
|
|
|
- LEFT JOIN 施釉入库时间 ON 施釉出库时间.BARCODE=施釉入库时间.BARCODE
|
|
|
- LEFT JOIN 施釉产品数量 ON 1=1
|
|
|
- )
|
|
|
- GROUP BY GOODSCODE,总数 ";
|
|
|
+ *
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ TO_CHAR( '施釉' || GOODSCODE ) AS 地点,
|
|
|
+ GOODSCODE,
|
|
|
+ 时间差值,
|
|
|
+ to_char( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) / 24 ), 'fm9999990.0' ) ) 周转周期
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ inoutPD.GOODSCODE,
|
|
|
+ SUM( 时间差 ) AS 时间差值,
|
|
|
+ COUNT( DISTINCT GOODSPD.BARCODE ) 产量
|
|
|
+ FROM
|
|
|
+ (
|
|
|
+ SELECT
|
|
|
+ OUTPD.BARCODE,
|
|
|
+ OUTPD.GOODSCODE,
|
|
|
+ TO_CHAR( ( ceil( ( ( OUTPD.CREATETIME - INPD.CREATETIME ) * 24 ) ) ), 'fm9999990' ) AS 时间差
|
|
|
+ FROM
|
|
|
+ TP_PM_PRODUCTIONDATA OUTPD
|
|
|
+ INNER JOIN TP_PM_PRODUCTIONDATA INPD ON OUTPD.BARCODE = INPD.BARCODE
|
|
|
+ AND INPD.PROCEDUREID IN ( 99, 65 )
|
|
|
+ AND INPD.VALUEFLAG = 1
|
|
|
+ WHERE
|
|
|
+ OUTPD.PROCEDUREID IN ( 5, 101 )
|
|
|
+ AND OUTPD.VALUEFLAG = 1
|
|
|
+ AND OUTPD.createtime >= @DATEBEGIN@
|
|
|
+ AND OUTPD.createtime <= @DATEEND@
|
|
|
+ ) inoutPD
|
|
|
+ INNER JOIN TP_PM_PRODUCTIONDATA GOODSPD ON GOODSPD.BARCODE = inoutPD.BARCODE
|
|
|
+ WHERE
|
|
|
+ GOODSPD.PROCEDUREID IN ( 5, 101 )
|
|
|
+ AND GOODSPD.VALUEFLAG = 1
|
|
|
+ AND GOODSPD.createtime >= @DATEBEGIN@
|
|
|
+ AND GOODSPD.createtime <= @DATEEND@
|
|
|
+ GROUP BY
|
|
|
+ inoutPD.GOODSCODE
|
|
|
+ )
|
|
|
+ ORDER BY
|
|
|
+ TO_NUMBER( ( TO_CHAR( ( NVL( 时间差值, 0 ) / NVL( 产量, 1 ) ), 'fm9999990.0000' ) ) ) DESC
|
|
|
+ )
|
|
|
+ WHERE
|
|
|
+ ROWNUM <=3";
|
|
|
DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
|
|
|
string jsonStr = new JsonResult(dt).ToJson();
|
|
|
context.Response.Write(jsonStr);
|
|
|
}
|
|
|
- if (context.Request["m"].ToString() == "Load90")
|
|
|
- {
|
|
|
- string sqlStr = @"--品管抽检完成率及合格率
|
|
|
- SELECT
|
|
|
- TT.DICTIONARYVALUE,
|
|
|
- DECODE(NVL(TT.INSPECTIONQUANTITY, 0),0,'0%',TO_CHAR(((NVL(TT.INSPECTIONQUANTITY, 0)) /DECODE(NVL(TT.PLANINSPECTIONQUANTITY, 1),0,1,NVL(TT.PLANINSPECTIONQUANTITY, 1))) * 100,'FM99990.00')) AS WANCHENGLV,
|
|
|
- 100 - DECODE(NVL(TT.BUHEGESHU, 0) ,0 ,'0%' ,TO_CHAR(((NVL(TT.BUHEGESHU, 0)) / DECODE(NVL(TT.INSPECTIONQUANTITY, 1), 0, 1, NVL(TT.INSPECTIONQUANTITY, 1))) * 100,'FM99990.00')) AS HEGELV
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- T.INSPECTTYPE,
|
|
|
- SUBSTR(T.DICTIONARYVALUE, 0, 4)DICTIONARYVALUE,
|
|
|
- SUM(T.PLANINSPECTIONQUANTITY) PLANINSPECTIONQUANTITY,
|
|
|
- SUM(T.INSPECTIONQUANTITY) INSPECTIONQUANTITY,
|
|
|
- SUM(T.BUHEGESHU) BUHEGESHU
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- TP_PM_FQCITEMSPLAN.INSPECTTYPE,
|
|
|
- TP_MST_DATADICTIONARY.DICTIONARYVALUE,
|
|
|
- SUM(TP_PM_FQCITEMSPLAN.PLANINSPECTIONQUANTITY) PLANINSPECTIONQUANTITY,
|
|
|
- SUM(TP_PM_FQCITEMSPLAN.INSPECTIONQUANTITY) INSPECTIONQUANTITY,
|
|
|
- 0 BUHEGESHU
|
|
|
- FROM TP_PM_FQCITEMSPLAN
|
|
|
- LEFT JOIN TP_MST_DATADICTIONARY ON TP_MST_DATADICTIONARY.DICTIONARYID = TP_PM_FQCITEMSPLAN.INSPECTTYPE
|
|
|
- LEFT JOIN TP_MST_GOODS ON TP_MST_GOODS.GOODSID = TP_PM_FQCITEMSPLAN.GOODSID
|
|
|
- LEFT JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = TP_MST_GOODS.GOODSTYPEID AND TP_MST_DATADICTIONARY.DICTIONARYTYPE = 'TPC021'
|
|
|
- WHERE TP_PM_FQCITEMSPLAN.VALUEFLAG = 1
|
|
|
- AND TP_PM_FQCITEMSPLAN.ACCOUNTID = 1
|
|
|
- AND TP_PM_FQCITEMSPLAN.CREATETIME >= TRUNC(SYSDATE - 7)
|
|
|
- AND TRUNC(TP_PM_FQCITEMSPLAN.CREATETIME) <= TRUNC(SYSDATE)
|
|
|
- AND TP_PM_FQCITEMSPLAN.INSPECTTYPE IN (616, 617, 653, 654, 647)
|
|
|
- AND TP_PM_FQCITEMSPLAN.INSPECTIONQUANTITY <> 0
|
|
|
- GROUP BY
|
|
|
- TP_PM_FQCITEMSPLAN.INSPECTTYPE,
|
|
|
- TP_MST_DATADICTIONARY.DICTIONARYVALUE
|
|
|
- UNION ALL
|
|
|
- SELECT
|
|
|
- TP_PM_FQCITEMSDATA.INSPECTTYPE,
|
|
|
- TP_MST_DATADICTIONARY.DICTIONARYVALUE,
|
|
|
- 0 PLANINSPECTIONQUANTITY,
|
|
|
- 0 INSPECTIONQUANTITY,
|
|
|
- SUM(CASE WHEN TP_PM_FQCITEMSDATA.ISQUALIFIED = 0 THEN 1 ELSE 0 END) BUHEGESHU
|
|
|
- FROM TP_PM_FQCITEMSDATA
|
|
|
- LEFT JOIN TP_MST_DATADICTIONARY ON TP_MST_DATADICTIONARY.DICTIONARYID = TP_PM_FQCITEMSDATA.INSPECTTYPE
|
|
|
- WHERE TP_PM_FQCITEMSDATA.VALUEFLAG = 1
|
|
|
- AND TP_PM_FQCITEMSDATA.CREATETIME >= TRUNC(SYSDATE - 7)
|
|
|
- AND TRUNC(TP_PM_FQCITEMSDATA.CREATETIME) <= TRUNC(SYSDATE)
|
|
|
- AND TP_PM_FQCITEMSDATA.INSPECTTYPE IN (616, 617, 653, 654, 647)
|
|
|
- GROUP BY
|
|
|
- TP_PM_FQCITEMSDATA.INSPECTTYPE,
|
|
|
- TP_MST_DATADICTIONARY.DICTIONARYVALUE
|
|
|
- ) T
|
|
|
- GROUP BY
|
|
|
- T.INSPECTTYPE,
|
|
|
- T.DICTIONARYVALUE
|
|
|
- ) TT
|
|
|
- ";
|
|
|
- DataTable dt = conn.ExecuteDatatable(sqlStr);
|
|
|
- string jsonStr = new JsonResult(dt).ToJson();
|
|
|
- context.Response.Write(jsonStr);
|
|
|
- }
|
|
|
if (context.Request["m"].ToString() == "Load91")
|
|
|
{
|
|
|
string sqlStr = @"SELECT
|