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