Parcourir la source

产品产量排行=>订单计划按web端包装日计划=>包装日计划明细(包括成瓷库)中预计出窑数量(成检产量中的计划)和计划包装数(包装产量的计划)

李士越 il y a 1 an
Parent
commit
34c8deb14b
1 fichiers modifiés avec 172 ajouts et 113 suppressions
  1. 172 113
      wwwroot/main/Procedure/synthesis1/rpt.ashx

+ 172 - 113
wwwroot/main/Procedure/synthesis1/rpt.ashx

@@ -22,28 +22,58 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 DataTable dt1 = null;
                 if (dt == null||dt.Rows.Count == 0)
                 {
+                    ////旧版
+                    //string sql1 = @"
+                    //SELECT
+                    //             P.GOODSCODE,
+                    //             LG.LOGONAME,
+                    //	0 OUTQUANTITY,
+                    //             COUNT( * ) AS NUM,
+                    //	'0%' REACH
+                    //            FROM
+                    //             TP_PM_PRODUCTIONDATA P
+                    //             INNER JOIN TP_MST_GOODS G ON P.GOODSID = G.GOODSID
+                    //             INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
+                    //             INNER JOIN TP_MST_LOGO LG ON P.LOGOID = LG.LOGOID 
+                    //            WHERE
+                    //             P.VALUEFLAG = 1 
+                    //             AND P.PROCEDUREID IN ( 11, 58, 104 ) 
+                    //             AND INSTR( GOODSTYPECODE, '001001' ) = 1 
+                    //             AND P.CREATETIME >= TRUNC( SYSDATE ) + 7 / 24 
+                    //					 GROUP BY
+                    //             P.GOODSID,
+                    //             P.GOODSCODE,
+                    //             P.LOGOID,
+                    //             LG.LOGONAME ";
+
+                    //dt1 = conn.ExecuteDatatable(sql1);
+                    //订单计划取包装日计划=>包装日计划明细=>预计入库数量
                     string sql1 = @"
-						SELECT
-			                P.GOODSCODE,
-			                LG.LOGONAME,
-							0 OUTQUANTITY,
-			                COUNT( * ) AS NUM,
-							'0%' REACH
-		                FROM
-			                TP_PM_PRODUCTIONDATA P
-			                INNER JOIN TP_MST_GOODS G ON P.GOODSID = G.GOODSID
-			                INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
-			                INNER JOIN TP_MST_LOGO LG ON P.LOGOID = LG.LOGOID 
-		                WHERE
-			                P.VALUEFLAG = 1 
-			                AND P.PROCEDUREID IN ( 11, 58, 104 ) 
-			                AND INSTR( GOODSTYPECODE, '001001' ) = 1 
-			                AND P.CREATETIME >= TRUNC( SYSDATE ) + 7 / 24 
-											 GROUP BY
-			                P.GOODSID,
-			                P.GOODSCODE,
-			                P.LOGOID,
-			                LG.LOGONAME ";
+                         SELECT
+                         	P.GOODSCODE,
+                            LG.LOGONAME, 
+                            CASE WHEN dpd.out_qty = 0 THEN NULL ELSE dpd.out_qty END OUTQUANTITY,
+                            COUNT( * ) AS NUM,
+                         	'0%' REACH 
+                         FROM
+                         	TP_PM_PRODUCTIONDATA P
+                         	INNER JOIN TP_MST_GOODS G ON P.GOODSID = G.GOODSID
+                         	INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
+                         	INNER JOIN TP_MST_LOGO LG ON P.LOGOID = LG.LOGOID
+                         	INNER JOIN tp_pack_dailyplandetail dpd ON dpd.goodsid = G.goodsid 
+                         WHERE
+                         	P.VALUEFLAG = 1 
+                         	AND P.PROCEDUREID IN ( 11, 58, 104 ) 
+                         	AND INSTR( GOODSTYPECODE, '001001' ) = 1 
+                         	AND P.CREATETIME >= TRUNC( SYSDATE ) + 7 / 24 
+                         	AND dpd.planid = 1131 
+                         	AND dpd.bz_plan_qty > 0 
+                         GROUP BY
+                         	P.GOODSID,
+                         	P.GOODSCODE,
+                         	P.LOGOID,
+                         	LG.LOGONAME,
+                           CASE WHEN dpd.out_qty = 0 THEN NULL ELSE dpd.out_qty END";
                     dt1 = conn.ExecuteDatatable(sql1);
                 }
                 else
@@ -106,44 +136,44 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                LOGONAME";
                     //直接获取不分页数据
                     dt1 = conn.ExecuteDatatable(sqlStr);
-     if (dt1.Rows.Count==0)
+                    if (dt1.Rows.Count==0)
                     {
                         string sqlStr1 = @"SELECT " +
-						"GOODSCODE,\n" +
-						"	LOGONAME,\n" +
-						"	NUM  OUTQUANTITY,\n" +
-						"	NUM,\n" +
-						"	'100%' REACH \n" +
-						"FROM\n" +
-						"	(\n" +
-						"	SELECT\n" +
-						"		P.GOODSID,\n" +
-						"		P.GOODSCODE,\n" +
-						"		P.LOGOID,\n" +
-						"		LG.LOGONAME,\n" +
-						"		COUNT( * ) AS NUM \n" +
-						"	FROM\n" +
-						"		TP_PM_PRODUCTIONDATA P\n" +
-						"		INNER JOIN TP_MST_GOODS G ON P.GOODSID = G.GOODSID\n" +
-						"		INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID\n" +
-						"		INNER JOIN TP_MST_LOGO LG ON P.LOGOID = LG.LOGOID \n" +
-						"	WHERE\n" +
-						"		P.VALUEFLAG = 1 \n" +
-						"		AND P.PROCEDUREID IN ( 11, 58, 104 ) \n" +
-						"		AND INSTR( GOODSTYPECODE, '001001' ) = 1 \n" +
-						"		AND P.CREATETIME >= TRUNC( SYSDATE ) + 7 / 24 \n" +
-						"	GROUP BY\n" +
-						"		P.GOODSID,\n" +
-						"		P.GOODSCODE,\n" +
-						"		P.LOGOID,\n" +
-						"		LG.LOGONAME \n" +
-						"	) MES \n" +
-						"ORDER BY\n" +
-						"	NUM DESC,\n" +
-						"	GOODSCODE,\n" +
-						"	LOGONAME";
-					//直接获取不分页数据
-                    dt1 = conn.ExecuteDatatable(sqlStr1);
+                        "GOODSCODE,\n" +
+                        "	LOGONAME,\n" +
+                        "	NUM  OUTQUANTITY,\n" +
+                        "	NUM,\n" +
+                        "	'100%' REACH \n" +
+                        "FROM\n" +
+                        "	(\n" +
+                        "	SELECT\n" +
+                        "		P.GOODSID,\n" +
+                        "		P.GOODSCODE,\n" +
+                        "		P.LOGOID,\n" +
+                        "		LG.LOGONAME,\n" +
+                        "		COUNT( * ) AS NUM \n" +
+                        "	FROM\n" +
+                        "		TP_PM_PRODUCTIONDATA P\n" +
+                        "		INNER JOIN TP_MST_GOODS G ON P.GOODSID = G.GOODSID\n" +
+                        "		INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID\n" +
+                        "		INNER JOIN TP_MST_LOGO LG ON P.LOGOID = LG.LOGOID \n" +
+                        "	WHERE\n" +
+                        "		P.VALUEFLAG = 1 \n" +
+                        "		AND P.PROCEDUREID IN ( 11, 58, 104 ) \n" +
+                        "		AND INSTR( GOODSTYPECODE, '001001' ) = 1 \n" +
+                        "		AND P.CREATETIME >= TRUNC( SYSDATE ) + 7 / 24 \n" +
+                        "	GROUP BY\n" +
+                        "		P.GOODSID,\n" +
+                        "		P.GOODSCODE,\n" +
+                        "		P.LOGOID,\n" +
+                        "		LG.LOGONAME \n" +
+                        "	) MES \n" +
+                        "ORDER BY\n" +
+                        "	NUM DESC,\n" +
+                        "	GOODSCODE,\n" +
+                        "	LOGONAME";
+                        //直接获取不分页数据
+                        dt1 = conn.ExecuteDatatable(sqlStr1);
                     }
                 }
                 string jsonStr = new JsonResult(dt1).ToJson();
@@ -156,28 +186,57 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 DataTable dt2 = null;
                 if (dt == null || dt.Rows.Count == 0)
                 {
+                    ////旧版
+                    //string sql1 = @"
+                    //SELECT
+                    //	P.GOODSCODE,
+                    //	LG.LOGONAME,
+                    //	0 PLANQUANTITY,
+                    //	COUNT( * ) AS NUM, 
+                    //	'0%' REACH
+                    //FROM
+                    //	TP_PM_PRODUCTIONDATA P
+                    //	INNER JOIN TP_MST_GOODS G ON P.GOODSID = G.GOODSID
+                    //	INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
+                    //	INNER JOIN TP_MST_LOGO LG ON P.LOGOID = LG.LOGOID 
+                    //WHERE
+                    //	P.VALUEFLAG = 1 
+                    //	AND P.PROCEDUREID IN ( 13, 107 ) 
+                    //	AND INSTR( GOODSTYPECODE, '001001' ) = 1 
+                    //	AND P.CREATETIME >= TRUNC( SYSDATE ) + 7 / 24 
+                    //GROUP BY
+                    //	P.GOODSID,
+                    //	P.GOODSCODE,
+                    //	P.LOGOID,
+                    //	LG.LOGONAME ";
+                    //dt2 = conn.ExecuteDatatable(sql1);
+                    //订单计划取包装日计划=>包装日计划明细=>计划包装数
                     string sql1 = @"
-						SELECT
-							P.GOODSCODE,
-							LG.LOGONAME,
-							0 PLANQUANTITY,
-							COUNT( * ) AS NUM, 
-							'0%' REACH
-						FROM
-							TP_PM_PRODUCTIONDATA P
-							INNER JOIN TP_MST_GOODS G ON P.GOODSID = G.GOODSID
-							INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
-							INNER JOIN TP_MST_LOGO LG ON P.LOGOID = LG.LOGOID 
-						WHERE
-							P.VALUEFLAG = 1 
-							AND P.PROCEDUREID IN ( 13, 107 ) 
-							AND INSTR( GOODSTYPECODE, '001001' ) = 1 
-							AND P.CREATETIME >= TRUNC( SYSDATE ) + 7 / 24 
-						GROUP BY
-							P.GOODSID,
-							P.GOODSCODE,
-							P.LOGOID,
-							LG.LOGONAME ";
+                    SELECT
+                    	P.GOODSCODE,
+                    	LG.LOGONAME,
+                    	dpd.bz_plan_qty PLANQUANTITY,
+                    	COUNT( * ) AS NUM, 
+                    	'0%' REACH
+                    FROM
+                    	TP_PM_PRODUCTIONDATA P
+                    	INNER JOIN TP_MST_GOODS G ON P.GOODSID = G.GOODSID
+                    	INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID
+                    	INNER JOIN TP_MST_LOGO LG ON P.LOGOID = LG.LOGOID 
+                                          INNER JOIN tp_pack_dailyplandetail dpd ON dpd.goodsid = G.goodsid 
+                    WHERE
+                    	P.VALUEFLAG = 1 
+                    	AND P.PROCEDUREID IN ( 13, 107 ) 
+                    	AND INSTR( GOODSTYPECODE, '001001' ) = 1 
+                    	AND P.CREATETIME >= TRUNC( SYSDATE ) + 7 / 24 
+                                          AND dpd.planid = 1131 
+                                       AND dpd.bz_plan_qty > 0 
+                    GROUP BY
+                    	P.GOODSID,
+                    	P.GOODSCODE,
+                    	P.LOGOID,
+                    	LG.LOGONAME,
+                                          dpd.bz_plan_qty";
                     dt2 = conn.ExecuteDatatable(sql1);
                 }
                 else
@@ -243,41 +302,41 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     if (dt2.Rows.Count==0)
                     {
                         string sqlStr2 = @"SELECT " +
-						"GOODSCODE,\n" +
-						"	LOGONAME,\n" +
-						"	NUM  PLANQUANTITY,\n" +
-						"	NUM,\n" +
-						"	'100%' REACH \n" +
-						"FROM\n" +
-						"	(\n" +
-						"	SELECT\n" +
-						"		P.GOODSID,\n" +
-						"		P.GOODSCODE,\n" +
-						"		P.LOGOID,\n" +
-						"		LG.LOGONAME,\n" +
-						"		COUNT( * ) AS NUM \n" +
-						"	FROM\n" +
-						"		TP_PM_PRODUCTIONDATA P\n" +
-						"		INNER JOIN TP_MST_GOODS G ON P.GOODSID = G.GOODSID\n" +
-						"		INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID\n" +
-						"		INNER JOIN TP_MST_LOGO LG ON P.LOGOID = LG.LOGOID \n" +
-						"	WHERE\n" +
-						"		P.VALUEFLAG = 1 \n" +
-						"		AND P.PROCEDUREID IN ( 13, 107 ) \n" +
-						"		AND INSTR( GOODSTYPECODE, '001001' ) = 1 \n" +
-						"		AND P.CREATETIME >= TRUNC( SYSDATE ) + 7 / 24 \n" +
-						"	GROUP BY\n" +
-						"		P.GOODSID,\n" +
-						"		P.GOODSCODE,\n" +
-						"		P.LOGOID,\n" +
-						"		LG.LOGONAME \n" +
-						"	) MES \n" +
-						"ORDER BY\n" +
-						"	NUM DESC,\n" +
-						"	GOODSCODE,\n" +
-						"	LOGONAME";
-					//直接获取不分页数据
-                    dt2 = conn.ExecuteDatatable(sqlStr2);
+                        "GOODSCODE,\n" +
+                        "	LOGONAME,\n" +
+                        "	NUM  PLANQUANTITY,\n" +
+                        "	NUM,\n" +
+                        "	'100%' REACH \n" +
+                        "FROM\n" +
+                        "	(\n" +
+                        "	SELECT\n" +
+                        "		P.GOODSID,\n" +
+                        "		P.GOODSCODE,\n" +
+                        "		P.LOGOID,\n" +
+                        "		LG.LOGONAME,\n" +
+                        "		COUNT( * ) AS NUM \n" +
+                        "	FROM\n" +
+                        "		TP_PM_PRODUCTIONDATA P\n" +
+                        "		INNER JOIN TP_MST_GOODS G ON P.GOODSID = G.GOODSID\n" +
+                        "		INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID\n" +
+                        "		INNER JOIN TP_MST_LOGO LG ON P.LOGOID = LG.LOGOID \n" +
+                        "	WHERE\n" +
+                        "		P.VALUEFLAG = 1 \n" +
+                        "		AND P.PROCEDUREID IN ( 13, 107 ) \n" +
+                        "		AND INSTR( GOODSTYPECODE, '001001' ) = 1 \n" +
+                        "		AND P.CREATETIME >= TRUNC( SYSDATE ) + 7 / 24 \n" +
+                        "	GROUP BY\n" +
+                        "		P.GOODSID,\n" +
+                        "		P.GOODSCODE,\n" +
+                        "		P.LOGOID,\n" +
+                        "		LG.LOGONAME \n" +
+                        "	) MES \n" +
+                        "ORDER BY\n" +
+                        "	NUM DESC,\n" +
+                        "	GOODSCODE,\n" +
+                        "	LOGONAME";
+                        //直接获取不分页数据
+                        dt2 = conn.ExecuteDatatable(sqlStr2);
                     }
                 }
                 string jsonStr = new JsonResult(dt2).ToJson();