Преглед на файлове

产品产量汇总表 添加1# 2#查询条件 和楼号列

忠帅 张 преди 2 години
родител
ревизия
84c688774e

Файловите разлики са ограничени, защото са твърде много
+ 822 - 773
DK.Client/ReportModule/R03/M01/F_RPT_030101_1.Designer.cs


+ 1 - 0
DK.Client/ReportModule/R03/M01/F_RPT_030101_1.cs

@@ -269,6 +269,7 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 			rptse.AccountDateStart = DateTime.Parse(this.dtpAccountDateStart.Value.ToString("yyyy-MM-dd HH:mm") + ":00");
 			rptse.AccountDateEnd = DateTime.Parse(this.dtpAccountDateEnd.Value.ToString("yyyy-MM-dd HH:mm") + ":59");
 			rptse.ProductionFlag = this.chkFlag.Checked ? "1" : "0";
+			rptse.Building = this.BuildingNumber.Text.ToString();
 		}
 
 

+ 6 - 0
DK.Client/ReportModule/R03/M01/F_RPT_030101_1.resx

@@ -197,6 +197,9 @@
   <metadata name="OrganizationName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="BUILDINGNO.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="ProductionLineCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
@@ -239,6 +242,9 @@
   <metadata name="OrganizationName1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="BUILDING.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="ProductionLineCode1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>

+ 130 - 109
DK.Service/ReportModuleLogic/ReportModuleLogic.cs

@@ -5382,7 +5382,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
 		{
 			//string selSql = "";
 			parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
-            /*
+			/*
 			selSql = selSql +
 					"select " +
                     "      decode(t.ProductionLineName,'合计','合计',decode(t.GoodsCode,'小计','--',t.OrganizationName)) OrganizationName, " +
@@ -5484,71 +5484,80 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                     "or (t.GoodsCode='小计' and t.GoodsTypeName!='--')";
             */
 
-            string selSql =
-            "select t.gid\n" +
-            "      ,decode(t.gid, 15, '总计', t.ProductionLineName) ProductionLineName\n" +
-            "      ,t.OrganizationID\n" +
-            "       --,t.OrganizationCode\n" +
-            "      ,decode(t.gid\n" +
-            "             ,7\n" +
-            "             ,'合计[' || t.OrganizationName || ']'\n" +
-            "             ,15\n" +
-            "             ,'--'\n" +
-            "             ,t.OrganizationName) OrganizationName\n" +
-            "      ,t.Procedureid\n" +
-            "      ,decode(t.gid\n" +
-            "             ,3\n" +
-            "             ,'小计[' || t.ProcedureName || ']'\n" +
-            "             ,0\n" +
-            "             ,t.ProcedureName\n" +
-            "             ,1\n" +
-            "             ,t.ProcedureName\n" +
-            "             ,'--') ProcedureName\n" +
-            "      ,t.GoodsTypeID\n" +
-            "      ,decode(t.gid\n" +
-            "             ,1\n" +
-            "             ,'小计[' || t.GoodsTypeName || ']'\n" +
-            "             ,0\n" +
-            "             ,t.GoodsTypeName\n" +
-            "             ,'--') GoodsTypeName\n" +
-            "       --,t.GoodsId\n" +
-            "      ,decode(t.gid, 0, to_char(t.GoodsId), '--') GoodsId\n" +
-            "      ,decode(t.gid, 0, t.GoodsCode, '--') GoodsCode\n" +
-            "      ,decode(t.gid, 0, t.GOODSSPECIFICATION, '--') GOODSSPECIFICATION\n" +
-            "      ,decode(t.gid, 0, t.Dictionaryvalue, '--') Dictionaryvalue\n" +
-            "      ,t.pfcount as 产量\n" +
-            "  from (select grouping_id(org.OrganizationID\n" +
-            "                          ,p.Procedureid\n" +
-            "                          ,gt.goodstypeid\n" +
-            "                          ,g.GoodsId) as gid\n" +
-            "              ,pd.ProductionLineName\n" +
-            "              ,org.OrganizationID\n" +
-            "               --,org.OrganizationCode\n" +
-            "              ,org.OrganizationName\n" +
-            "              ,p.Procedureid\n" +
-            "              ,p.ProcedureName\n" +
-            "              ,gt.GoodsTypeID\n" +
-            "              ,gt.GoodsTypeName\n" +
-            "              ,g.GoodsId\n" +
-            "              ,g.GoodsCode\n" +
-            "              ,g.GOODSSPECIFICATION\n" +
-            "              ,d.Dictionaryvalue\n" +
-            "              ,count(BarCode) as pfcount" +
-            "          from TP_PM_ProductionData pd\n" +
-            "         inner join tp_pc_Procedure p\n" +
-            "            on p.Procedureid = pd.Procedureid\n" +
-            "         inner join TP_MST_Goods g\n" +
-            "            on g.GoodsID = pd.GoodsID\n" +
-            "         inner join TP_MST_GoodsType gt\n" +
-            "            on gt.GoodsTypeID = g.GoodsTypeID\n" +
-            "         inner join TP_MST_Organization org\n" +
-            "            on org.OrganizationID = pd.OrganizationID\n" +
-            "         inner join TP_MST_DATADICTIONARY d\n" +
-            "            on d.DICTIONARYID = g.GLAZETYPEID\n" +
-            "         where pd.ValueFlag = '1'\n" +
-            "           and pd.AccountID = :AccountID\n";
-            // 公坯、干补不算交坯工序的质量。
-            if (se.ProductionFlag == "1")
+			string selSql = @"
+								select t.gid
+									 ,decode(t.gid
+											,3
+											,'--'
+											 ,7
+											 ,'--'
+											 ,15
+											 ,'--'
+										   ,t.BUILDINGNO ) BUILDINGNO
+									  ,decode(t.gid, 15, '总计', t.ProductionLineName) ProductionLineName
+									  ,t.OrganizationID
+									   --,t.OrganizationCode
+									  ,decode(t.gid
+											 ,7
+											 ,'合计[' || t.OrganizationName || ']'
+											 ,15
+											 ,'--'
+											 ,t.OrganizationName) OrganizationName
+									  ,t.Procedureid
+									  ,decode(t.gid
+											 ,3
+											 ,'小计[' || t.ProcedureName || ']'
+											 ,0
+											 ,t.ProcedureName
+											 ,1
+											 ,t.ProcedureName
+											 ,'--') ProcedureName
+									  ,t.GoodsTypeID
+									  ,decode(t.gid
+											 ,1
+											 ,'小计[' || t.GoodsTypeName || ']'
+											 ,0
+											 ,t.GoodsTypeName
+											 ,'--') GoodsTypeName
+									   --,t.GoodsId
+									  ,decode(t.gid, 0, to_char(t.GoodsId), '--') GoodsId
+									  ,decode(t.gid, 0, t.GoodsCode, '--') GoodsCode
+									  ,decode(t.gid, 0, t.GOODSSPECIFICATION, '--') GOODSSPECIFICATION
+									  ,decode(t.gid, 0, t.Dictionaryvalue, '--') Dictionaryvalue
+									  ,t.pfcount as 产量
+								  from (select grouping_id(org.OrganizationID
+														  ,p.Procedureid
+														  ,gt.goodstypeid
+														  ,g.GoodsId
+																					,gl.BUILDINGNO) as gid
+													
+											  ,pd.ProductionLineName
+											  ,org.OrganizationID
+											   --,org.OrganizationCode
+											  ,org.OrganizationName
+											  ,p.Procedureid
+											  ,p.ProcedureName
+															,gl.BUILDINGNO
+											  ,gt.GoodsTypeID
+											  ,gt.GoodsTypeName
+											  ,g.GoodsId
+											  ,g.GoodsCode
+											  ,g.GOODSSPECIFICATION
+											  ,d.Dictionaryvalue
+											  ,count(BarCode) as pfcount         
+															 from TP_PM_ProductionData pd
+												LEFT JOIN TP_PC_GROUTINGLINE gl on 	gl.GROUTINGLINEID=pd.GROUTINGLINEID
+										 inner join tp_pc_Procedure p  on p.Procedureid = pd.Procedureid
+										 inner join TP_MST_Goods g  on g.GoodsID = pd.GoodsID
+										 inner join TP_MST_GoodsType gt  on gt.GoodsTypeID = g.GoodsTypeID
+										 inner join TP_MST_Organization org  on org.OrganizationID = pd.OrganizationID
+										 inner join TP_MST_DATADICTIONARY d  on d.DICTIONARYID = g.GLAZETYPEID
+										 where pd.ValueFlag = '1'
+										   and pd.AccountID = :AccountID ";
+
+
+			// 公坯、干补不算交坯工序的质量。
+			if (se.ProductionFlag == "1")
             {
                 selSql += "    and ((pd.modeltype <> 5) or (pd.modeltype = 5 and (pd.IsPublicBody = '0' or pd.SpecialRepairFlag = '0'))) \n";
             }
@@ -5588,14 +5597,23 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 selSql = selSql + " AND pd.CREATETIME <= :AccountDateEnd ";
                 parameters.Add(new OracleParameter(":AccountDateEnd", OracleDbType.Date, se.AccountDateEnd.Value, ParameterDirection.Input));
             }
-            selSql +=
-            "         group by grouping sets((pd.ProductionLineName, org.OrganizationID, org.organizationcode, org.OrganizationName, p.Procedureid, p.ProcedureName, p.displayno, gt.GoodsTypeID, gt.goodstypecode, gt.GoodsTypeName, g.GoodsId, g.GoodsCode, g.GOODSSPECIFICATION, d.Dictionaryvalue),(pd.ProductionLineName, org.OrganizationID, org.organizationcode, org.OrganizationName, p.Procedureid, p.ProcedureName, p.displayno, gt.GoodsTypeID, gt.goodstypecode, gt.GoodsTypeName),(pd.ProductionLineName, org.OrganizationID, org.organizationcode, org.OrganizationName, p.Procedureid, p.ProcedureName, p.displayno),(pd.ProductionLineName, org.OrganizationID, org.organizationcode, org.OrganizationName),())\n" +
-            "         order by org.organizationcode\n" +
-            "                 ,p.displayno\n" +
-            "                 ,gt.goodstypecode\n" +
-            "                 ,g.goodscode) t";
+			if (!string.IsNullOrEmpty(se.Building))
+			{
+					selSql = selSql + "  AND gl.BUILDINGNO =:Building";
+					parameters.Add(new OracleParameter(":Building", OracleDbType.NVarchar2, se.Building, ParameterDirection.Input));
+			}
+			selSql += @" group by grouping sets((pd.ProductionLineName, org.OrganizationID, org.organizationcode, org.OrganizationName, p.Procedureid, p.ProcedureName,
+							p.displayno, gt.GoodsTypeID, gt.goodstypecode, gt.GoodsTypeName,gl.BUILDINGNO, g.GoodsId, g.GoodsCode, g.GOODSSPECIFICATION, d.Dictionaryvalue),
+							 (pd.ProductionLineName, org.OrganizationID, org.organizationcode, org.OrganizationName, p.Procedureid, p.ProcedureName, p.displayno, gt.GoodsTypeID, gt.goodstypecode, gt.GoodsTypeName),
+							 (pd.ProductionLineName, org.OrganizationID, org.organizationcode, org.OrganizationName, p.Procedureid, p.ProcedureName, p.displayno),
+							 (pd.ProductionLineName, org.OrganizationID, org.organizationcode, org.OrganizationName),())
+								         order by org.organizationcode
+												  ,p.displayno
+												  ,gt.goodstypecode
+												  ,g.goodscode) t ";
+
 
-            return selSql;
+			return selSql;
 		}
 
 		/// <summary>
@@ -5750,42 +5768,40 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                     "or (temp.BarCode='小计' and temp.GoodsCode!='--')";
             */
 
-			string selSql =
-					"      select " +
-					"      TP_MST_Organization.OrganizationName, " +
-					"      TP_PM_ProductionData.ProductionLineName, " +
-					"      TP_PM_ProductionData.ProcedureName, " +
-					"      TP_MST_GOODSTYPE.GoodsTypeName, " +
-					"      TP_PM_ProductionData.GoodsCode, " +
-					"      TP_MST_Goods.GoodsName, " +
-					"      TP_MST_Goods.GoodsModel, " +
-					"      TP_PM_ProductionData.BarCode, " +
-					"      TP_PM_ProductionData.UserCode, " +
-					"      TP_MST_Goods.GOODSSPECIFICATION, " +
-					"      TP_MST_DATADICTIONARY.Dictionaryvalue, " +
-					"      TP_PM_ProductionData.CREATETIME, " +
-					"      TP_PM_ProductionData.KILNcarCODE, " +
-					"      TP_PM_ProductionData.KILNCODE, " +
-					"      cu.usercode createusercode, " +
-					"      cu.username CreateUserName, " +
-                    "     gdd.glazingroom," +
-                    "      decode(tp_mst_logo.logoid,null,'',TP_MST_Logo.Logoname||'['||TP_MST_Logo.Logocode||']') as LogoCodeName " +
-					"      from TP_PM_ProductionData " +
-					"      left join TP_MST_Goods on TP_MST_Goods.GoodsID=TP_PM_ProductionData.GoodsID " +
-					"      left join TP_MST_GoodsType on TP_MST_GoodsType.GoodsTypeID=TP_MST_Goods.GoodsTypeID " +
-					"      left join TP_MST_Organization on TP_MST_Organization.OrganizationID=TP_PM_ProductionData.OrganizationID " +
-					"      left join TP_MST_DATADICTIONARY on TP_MST_DATADICTIONARY.DICTIONARYID=TP_MST_Goods.GLAZETYPEID " +
-					"      left join tp_mst_user cu on  TP_PM_ProductionData.createuserid=cu.userid " +
-                    " LEFT JOIN TP_PM_GroutingDailyDetail gdd\n" +
-                    "    ON gdd.Groutingdailydetailid = TP_PM_ProductionData.Groutingdailydetailid\n" +
-					// 2022年3月2日13:05:24 by feiy modify 都取注浆明细的商标,与追踪表保持一致
-					//"      left join tp_mst_logo on  TP_PM_ProductionData.logoid=tp_mst_logo.logoid " +
-					"      left join tp_mst_logo on  gdd.logoid=tp_mst_logo.logoid " +
-
-					"  Where TP_PM_ProductionData.ValueFlag = '1' " +
-					// 公坯、干补不算交坯工序的质量。
-					"    and ((TP_PM_ProductionData.modeltype <> 5) or (TP_PM_ProductionData.modeltype = 5 and TP_PM_ProductionData.IsPublicBody = '0' and TP_PM_ProductionData.SpecialRepairFlag = '0')) \n" +
-					"    and TP_PM_ProductionData.AccountID=:AccountID ";
+			string selSql = @"SELECT
+									TP_PC_GROUTINGLINE.BUILDINGNO,
+									TP_MST_Organization.OrganizationName,
+									TP_PM_ProductionData.ProductionLineName,
+									TP_PM_ProductionData.ProcedureName,
+									TP_MST_GOODSTYPE.GoodsTypeName,
+									TP_PM_ProductionData.GoodsCode,
+									TP_MST_Goods.GoodsName,
+									TP_MST_Goods.GoodsModel,
+									TP_PM_ProductionData.BarCode,
+									TP_PM_ProductionData.UserCode,
+									TP_MST_Goods.GOODSSPECIFICATION,
+									TP_MST_DATADICTIONARY.Dictionaryvalue,
+									TP_PM_ProductionData.CREATETIME,
+									TP_PM_ProductionData.KILNcarCODE,
+									TP_PM_ProductionData.KILNCODE,
+									cu.usercode createusercode,
+									cu.username CreateUserName,
+									gdd.glazingroom,
+									decode( tp_mst_logo.logoid, NULL, '', TP_MST_Logo.Logoname || '[' || TP_MST_Logo.Logocode || ']' ) AS LogoCodeName 
+								FROM
+									TP_PM_ProductionData
+									LEFT JOIN TP_MST_Goods ON TP_MST_Goods.GoodsID = TP_PM_ProductionData.GoodsID
+									LEFT JOIN TP_MST_GoodsType ON TP_MST_GoodsType.GoodsTypeID = TP_MST_Goods.GoodsTypeID
+									LEFT JOIN TP_MST_Organization ON TP_MST_Organization.OrganizationID = TP_PM_ProductionData.OrganizationID
+									LEFT JOIN TP_MST_DATADICTIONARY ON TP_MST_DATADICTIONARY.DICTIONARYID = TP_MST_Goods.GLAZETYPEID
+									LEFT JOIN tp_mst_user cu ON TP_PM_ProductionData.createuserid = cu.userid
+									LEFT JOIN TP_PM_GroutingDailyDetail gdd ON gdd.Groutingdailydetailid = TP_PM_ProductionData.Groutingdailydetailid
+									LEFT JOIN tp_mst_logo ON gdd.logoid = tp_mst_logo.logoid 
+									LEFT JOIN TP_PC_GROUTINGLINE on TP_PC_GROUTINGLINE.GROUTINGLINEID=TP_PM_ProductionData.GROUTINGLINEID
+									WHERE  TP_PM_ProductionData.ValueFlag = '1'
+										AND ( ( TP_PM_ProductionData.modeltype <> 5 ) 
+											OR ( TP_PM_ProductionData.modeltype = 5 AND TP_PM_ProductionData.IsPublicBody = '0' AND TP_PM_ProductionData.SpecialRepairFlag = '0' ) ) 
+										AND TP_PM_ProductionData.AccountID =:AccountID ";
 			if (!string.IsNullOrEmpty(se.GoodsIDS))
 			{
 				selSql = selSql + " AND instr(','||:GoodsIDS||',',','||TP_PM_ProductionData.GoodsId||',')>0 ";
@@ -5822,6 +5838,11 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
 				selSql = selSql + " AND TP_PM_ProductionData.CREATETIME <= :AccountDateEnd ";
 				parameters.Add(new OracleParameter(":AccountDateEnd", OracleDbType.Date, se.AccountDateEnd.Value, ParameterDirection.Input));
 			}
+			if (!string.IsNullOrEmpty(se.Building))
+			{
+				selSql = selSql + "  AND TP_PC_GROUTINGLINE.BUILDINGNO = :Building";
+				parameters.Add(new OracleParameter(":Building", OracleDbType.NVarchar2, se.Building, ParameterDirection.Input));
+			}
 			return selSql;
 		}
 

+ 10 - 0
WCF.Service/WCF.DataModels/SearchEntity/RPT/RPT030101_SE.cs

@@ -102,5 +102,15 @@ namespace Dongke.IBOSS.PRD.WCF.DataModels
             get;
             set;
         }
+
+        /// <summary>
+        /// 楼号
+        /// </summary>
+        [DataMember]
+        public string Building
+        {
+            get;
+            set;
+        }
     }
 }

Някои файлове не бяха показани, защото твърде много файлове са промени