|
|
@@ -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>
|