Bläddra i källkod

工序产量明细表工序为改洗时,显示完成工序

liusq 4 år sedan
förälder
incheckning
ce63363c37

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 655 - 645
DK.Client/ReportModule/R08/F_RPT_080105.Designer.cs


+ 9 - 0
DK.Client/ReportModule/R08/F_RPT_080105.cs

@@ -158,6 +158,15 @@ namespace Dongke.IBOSS.PRD.Client.ReportModule
 		{
 			try
 			{
+				if (dkProcedureSearchBox.ProcedureIDS.Contains("18")) 
+				{
+					finishProcedureName.Visible = true;
+				}
+                else
+                {
+					finishProcedureName.Visible = false;
+				}
+
 				// 记录当前选中行
 				int selectRowIndex = this._selecedRow;
 				// 异步处理

+ 3 - 0
DK.Client/ReportModule/R08/F_RPT_080105.resx

@@ -123,6 +123,9 @@
   <metadata name="procedureName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
+  <metadata name="finishProcedureName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
   <metadata name="inprocedurename.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>

+ 119 - 2
DK.Service/ReportModuleLogic/ReportModuleLogic.cs

@@ -11407,7 +11407,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
         #endregion
 
         /// <summary>
-        /// 使用存储过程PRO_PM_GetProductionData获取生产工序计件数据
+        /// 使用存储过程PRO_PM_GetProductionData获取生产工序计件数据  若生产工序包含干补,则执行干补的查询sql,且只查询干补一个生产工序
         /// </summary>
         /// <param name="searchEntity">生产数据实体类</param>
         /// <param name="user">用户基本信息</param>
@@ -11415,6 +11415,123 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
         public static DataTable GetProductionData(SearchProductionDataEntity searchEntity, SUserInfo user)
         {
             IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
+            if (searchEntity.ProcedureIDS.Contains("18"))
+            {
+                try
+                {
+                string sqlString = @"
+                    SELECT
+	                pd.CreateTime,
+	                pd.UpdateTime,
+	                pd.ProductionDataID,
+	                pd.ProductionLineCode,
+	                '10-0干补' AS procedureName,
+	                pd.BarCode,
+	                pd.GoodsCode,
+	                pd.GoodsName,
+	                pd.UserCode,
+	                pd.IsPublicBody,
+	                decode( pd.ProcedureModel, '1', '计数模型', '检验模型' ) AS ProcedureModel,
+	                pmt.ProcedureModelTypeName,
+	                decode( pd.PieceType, '1', '不计件', '同工种策略' ) AS PieceType,
+	                pd.IsReworked,
+	                gl.GoodsLevelName AS GoodsGrade,
+	                o.OrganizationName,
+	                pd.Remarks,
+	                pd.KilnID,
+	                pd.KilnCode,
+	                pd.KilnName,
+	                pd.KilnCarID,
+	                pd.KilnCarCode,
+	                pd.KilnCarName,
+	                pd.KilnCarPosition,
+	                dd.DictionaryValue KilnCarPositionName,
+	                gt.GoodsTypeName,
+	                u.usercode AS barusercode,
+	                pd.GroutingUserCode,
+	                pd.GroutingMouldCode,
+	                pd.GroutingDate,
+	                pd.GroutingNum,
+	                u.username AS barusername,
+	                gdd.glazingroom,
+	                decode( pd.Goodsleveltypeid, '4', '正品', '5', '副品', '6', '重烧', '7', '次品', '9', '干补', '' ) AS Goodsleveltype,
+	                REPLACE ( ( TP_MST_Logo.Logoname || '[' || TP_MST_Logo.Logocode || ']' ), '[]', '' ) AS LogoCodeName,
+	                pd.SpecialRepairFlag,
+	                pd.procedureName AS finishProcedureName,
+	                pd.ProductionLineName,
+	                pcp.procedurename inprocedurename 
+                FROM
+	                tp_pm_scrapproduct t
+	                INNER JOIN TP_PM_ProductionData pd ON t.productiondataid = pd.productiondataid
+	                LEFT JOIN TP_MST_USER u ON pd.Createuserid = u.userid
+	                LEFT JOIN TP_MST_Goods g ON pd.GoodsID = g.GoodsID
+	                LEFT JOIN TP_MST_GoodsType gt ON g.GoodsTypeID = gt.GoodsTypeID
+	                LEFT JOIN TP_SYS_ProcedureModelType pmt ON pd.ModelType = pmt.PROCEDUREMODELTYPEID
+	                LEFT JOIN TP_MST_GoodsLevel gl ON pd.Goodslevelid = gl.Goodslevelid
+	                LEFT JOIN TP_MST_ORGANIZATION o ON pd.OrganizationID = o.OrganizationID
+	                LEFT JOIN TP_MST_DataDictionary dd ON pd.KilnCarPosition = dd.DictionaryID
+	                LEFT JOIN tp_pm_inproduction inp ON inp.barcode = pd.barcode
+	                LEFT JOIN tp_pc_procedure pcp ON pcp.procedureid = inp.procedureid
+	                LEFT JOIN TP_MST_Logo ON pd.logoid = TP_MST_Logo.logoid
+	                LEFT JOIN TP_PM_GroutingDailyDetail gdd ON pd.Groutingdailydetailid = gdd.Groutingdailydetailid 
+                WHERE
+	                t.goodsleveltypeid = 9 
+	                AND pd.VALUEFLAG = 1 
+	                AND ( :ProductionLineID = '' OR :ProductionLineID IS NULL OR pd.ProductionLineID =:ProductionLineID ) 
+	                AND ( :barCode = '' OR :barCode IS NULL OR instr( pd.BarCode,:barCode ) > 0 ) 
+	                AND ( :goodsCode = '' OR :goodsCode IS NULL OR instr( pd.goodsCode,:goodsCode ) > 0 ) 
+	                AND ( :goodsName = '' OR :goodsName IS NULL OR instr( pd.goodsName,:goodsName ) > 0 ) 
+	                AND ( :userCode = '' OR :userCode IS NULL OR instr( pd.userCode,:userCode ) > 0 ) 
+	                AND ( :organizationID = 0 OR :organizationID IS NULL OR pd.organizationID =:organizationID ) 
+	                AND ( t.specialrepairtime >=:begindate AND t.specialrepairtime <=:enddate ) 
+	                AND ( :isReworked = '' OR :isReworked IS NULL OR ( instr( :isReworked, pd.isReworked ) > 0 ) ) 
+	                AND ( :pKilnCode = '' OR :pKilnCode IS NULL OR pd.KilnCode = :pKilnCode ) 
+	                AND ( :pKilnCarCode = '' OR :pKilnCarCode IS NULL OR instr( pd.KilnCarCode,:pKilnCarCode ) > 0 ) 
+	                AND ( :pKilnCarPosition = '' OR :pKilnCarPosition IS NULL OR pd.KilnCarPosition = :pKilnCarPosition ) 
+	                AND ( :remarks = '' OR :remarks IS NULL OR instr( pd.remarks,:remarks ) > 0 ) 
+	                AND ( :goodstypecode = '' OR :goodstypecode IS NULL OR instr( gt.goodstypecode,:goodstypecode ) = 1 )
+                ";
+
+                OracleParameter[] parascount = new OracleParameter[]{
+                    new OracleParameter(":ProductionLineID", OracleDbType.Int32,searchEntity.ProductionLineID, ParameterDirection.Input),
+                    new OracleParameter(":barCode", OracleDbType.Varchar2,searchEntity.BarCode, ParameterDirection.Input),
+                    new OracleParameter(":goodsCode", OracleDbType.Varchar2,searchEntity.GoodsCode, ParameterDirection.Input),
+                    new OracleParameter(":goodsName", OracleDbType.Varchar2,searchEntity.GoodsName, ParameterDirection.Input),
+                    new OracleParameter(":userCode", OracleDbType.Varchar2,searchEntity.UserCode, ParameterDirection.Input),
+                    new OracleParameter(":organizationID", OracleDbType.Int32,searchEntity.OrganizationID, ParameterDirection.Input),
+                    new OracleParameter(":remarks", OracleDbType.Varchar2,searchEntity.Remarks, ParameterDirection.Input),
+                    new OracleParameter(":isReworked", OracleDbType.Varchar2,searchEntity.IsRework, ParameterDirection.Input),
+                    new OracleParameter(":begindate", OracleDbType.Date,searchEntity.BeginDate, ParameterDirection.Input),
+                    new OracleParameter(":enddate", OracleDbType.Date,searchEntity.EndDate, ParameterDirection.Input),
+                    new OracleParameter(":pKilnCode", OracleDbType.Varchar2,searchEntity.KilnCode, ParameterDirection.Input),
+                    new OracleParameter(":pKilnCarCode", OracleDbType.Varchar2,searchEntity.KilnCarCode, ParameterDirection.Input),
+                    new OracleParameter(":pKilnCarPosition", OracleDbType.Int32,searchEntity.KilnCarPosition, ParameterDirection.Input),
+                    new OracleParameter(":goodstypecode", OracleDbType.Varchar2,searchEntity.GoodsTypeCode, ParameterDirection.Input),
+                };
+                    oracleConn.Open();
+                    DataSet ds = oracleConn.GetSqlResultToDs(sqlString, parascount);
+                    if (ds != null && ds.Tables.Count > 0)
+                    {
+                        return ds.Tables[0];
+                    }
+                    else
+                    {
+                        return null;
+                    }
+                    }
+                    catch (Exception ex)
+                    {
+                        throw ex;
+                    }
+                    finally
+                    {
+                        if (oracleConn.ConnState == ConnectionState.Open)
+                        {
+                            oracleConn.Close();
+                        }
+                    }
+            }
+            else { 
             string procsql = "PRO_RPT_GetProductionData";
             try
             {
@@ -11463,7 +11580,7 @@ namespace Dongke.IBOSS.PRD.Service.ReportModuleLogic
                 }
             }
         }
-
+        }
         /// <summary>
         /// 取得RPT080106(温湿计明细)的汇总信息查询数据
         /// </summary>

Vissa filer visades inte eftersom för många filer har ändrats