using System;
using System.Data;
using Core.Mes.ServerFrameWork;
using Core.Mes.IBaseInterface;
using System.Collections;
using Core.XgMes.Server.StorageCommon;
namespace Core.XgMes.Server.JGKC.SteelPlateManager
{
public class SendManager : Core.Mes.ServerFrameWork.IComponent
{
//获取排车信息
public ReturnObject GetAskPlanData(string where, string strlx)
{
try
{
string PSql = "";
if (strlx == "1")
{
PSql = " SELECT T1.ASKPLAN_ID,T1.PACTNO,C.BUYERNAME BUYERCODE,T1.INCEPTCORPCODE ICODE,B.INCEPTCORPNAME INCEPTCORPCODE,TO_CHAR(T1.INCEPTDATE,'YY-MM-DD')INCEPTDATE,T1.WEIGHT,T1.TRANSNO,T1.REMARK "
+ " FROM KCJ_PLAN T1,SEL_INCEPTCORPINFO B,SEL_BUYERBASEINFO C WHERE T1.INCEPTCORPCODE=B.INCEPTCORPCODE(+) AND T1.BUYERCODE =C.BUYERCODE(+) "
+ " AND T1.ISVALID='1' AND T1.PL='0' " + where;
}
else
{
PSql = " SELECT T1.ASKPLAN_ID,T1.PACTNO,C.BUYERNAME BUYERCODE,T1.INCEPTCORPCODE ICODE,B.INCEPTCORPNAME INCEPTCORPCODE,TO_CHAR(T1.INCEPTDATE,'YY-MM-DD')INCEPTDATE,T1.WEIGHT,T1.TRANSNO,T1.REMARK "
+ " FROM KCJ_PLAN T1,SEL_INCEPTCORPINFO B,SEL_BUYERBASEINFO C WHERE T1.INCEPTCORPCODE=B.INCEPTCORPCODE(+) AND T1.BUYERCODE=C.BUYERCODE(+) "
+ " AND T1.ISVALID='1' AND T1.PL='1' " + where;
}
string err = "";
System.Data.DataSet rtndst = new DataSet();
System.Data.DataSet tmpdst = this.DBManager.ExecuteQuery(PSql, out err);
if (tmpdst != null && tmpdst.Tables.Count == 1 && tmpdst.Tables[0].Rows.Count > 0)
{
tmpdst.Tables[0].TableName = "SEL_ASKVEHICLEPLAN_C";
return new ReturnObject(tmpdst);
}
else
{
return new ReturnObject(null);
}
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(null);
}
}
//获得发运明细
public ReturnObject GetSendListData(string where,string strlx)
{
try
{
string sql = "";
if (strlx == "1")
{
sql = "SELECT B.INCEPTCORPNAME,C.BUTTRESS,C.CONDOLENUMBER,C.SERIALNUMBER,E.NAME_ CLASSORDER,"
+ "F.NAME_ CLASSTEAM,C.TRAINWAGON,C.PLANVEHICLEID,C.PACTNO,C.ORDERFORMNUMBER,C.ROLLNO,C.PLANNO,C.STEELTYPE,"
+ "C.PLY,C.WIDTH,C.LENGTH,C.WEIGHT,H.NAME_ DETERMINANTRESULT,'' CUTSIDE,''STANDROLL,"
+ "''DETECTMAR,G.NAME_ ROLE,"
+ "C.STOVENO,"
+ "C.ID,K.NAME_ USE,L.NAME_ STANDARDNO,C.PICKSTORAGEMAN,"
+ "TO_CHAR(C.PICKSTORAGETIME,'YYYY-MM-DD HH24:MI:SS') PICKSTORAGETIME,C.LISTNUMBER,"
+ "C.REMARK,DECODE(C.ISVALID,'1','√',NULL) ISVALID,C.ADDWEIGHT "
+ "FROM KCJ_PLAN A,SEL_INCEPTCORPINFO B,KCJ_TURNOFFSENDLIST_ZW C,"
+ "SCM_BASE_INFO E,SCM_BASE_INFO F,SCM_BASE_INFO G,SCM_BASE_INFO H,"
+ "SCM_BASE_INFO K,SCM_BASE_INFO L "
+ " "
+ "WHERE A.INCEPTCORPCODE=B.INCEPTCORPCODE(+) "
+ "AND A.ASKPLAN_ID(+)=C.PLANVEHICLEID AND C.ISVALID<>'0' "
+ "AND C.CLASSORDER=E.ID_(+) AND C.CLASSTEAM=F.ID_(+) AND C.ROLE=G.ID_(+) AND C.DETERMINANTRESULT=H.ID_(+) "
+ "AND C.USE=K.ID_(+) AND C.STANDARDNO=L.ID_(+) "
+ "AND C.LISTNUMBER NOT LIKE 'XB%'"
+ where;
}
else
{
sql = "SELECT B.INCEPTCORPNAME,C.BUTTRESS,C.CONDOLENUMBER,C.SERIALNUMBER,E.NAME_ CLASSORDER,"
+ "F.NAME_ CLASSTEAM,C.TRAINWAGON,C.PLANVEHICLEID,C.PACTNO,C.ORDERFORMNUMBER,C.ROLLNO,C.PLANNO,C.STEELTYPE,"
+ "C.PLY,C.WIDTH,C.LENGTH,C.WEIGHT,H.NAME_ DETERMINANTRESULT,'' CUTSIDE,''STANDROLL,"
+ "''DETECTMAR,G.NAME_ ROLE,"
+ "C.STOVENO,"
+ "C.ID,K.NAME_ USE,L.NAME_ STANDARDNO,C.PICKSTORAGEMAN,"
+ "TO_CHAR(C.PICKSTORAGETIME,'YYYY-MM-DD HH24:MI:SS') PICKSTORAGETIME,C.LISTNUMBER,"
+ "C.REMARK,DECODE(C.ISVALID,'1','√',NULL) ISVALID,C.ADDWEIGHT "
+ "FROM KCJ_PLAN A,SEL_INCEPTCORPINFO B,KCJ_TURNOFFSENDLIST_ZW C,"
+ "SCM_BASE_INFO E,SCM_BASE_INFO F,SCM_BASE_INFO G,SCM_BASE_INFO H,"
+ "SCM_BASE_INFO K,SCM_BASE_INFO L "
+ " "
+ "WHERE A.INCEPTCORPCODE=B.INCEPTCORPCODE(+) "
+ "AND A.ASKPLAN_ID(+)=C.PLANVEHICLEID AND C.ISVALID<>'0' "
+ "AND C.CLASSORDER=E.ID_(+) AND C.CLASSTEAM=F.ID_(+) AND C.ROLE=G.ID_(+) AND C.DETERMINANTRESULT=H.ID_(+) "
+ "AND C.USE=K.ID_(+) AND C.STANDARDNO=L.ID_(+) "
+ "AND C.LISTNUMBER NOT LIKE 'BP%'"
+ where;
}
string err = "";
System.Data.DataSet dst = this.DBManager.ExecuteQuery(sql, out err);
if (dst != null && dst.Tables.Count == 1 && dst.Tables[0].Rows.Count > 0)
{
dst.Tables[0].TableName = "KCJ_TURNOFFSENDLIST";
return new ReturnObject(dst);
}
else
{
return new ReturnObject(null);
}
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(null);
}
}
//获得库存的可发资源
public ReturnObject GetCanSendList(string where, string strlx,string strlxx)
{
try
{
string err = "";
string sql = "";
if (strlxx == "YL")
{
if (strlx == "1")
{
sql = "SELECT 'FALSE' FLAG,SUBSTR(A.ORDERNO,1,LENGTH(A.ORDERNO)-3)PACTNO,C.PACTINDEX PLANNUMBER,"
+ "A.ROLLNUMBER,A.ORDERNO,A.STOVENO,TO_CHAR(B.BUTTRESS)BUTTRESS,B.CONDOLENUMBER,"
+ "A.BILLETID,A.INSTEEL,A.DETERMINANTCARDNUMBER,A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,"
+ "D.NAME_ RULE,E.NAME_ CUTSIDESTATE,F.NAME_ DETERMINANTRESULT,"
+ "I.NAME_ FACEQUALITY,''STANDROLLERROLL,"
+ "L.NAME_ DETECTMARBOOKIN"
+ ",B.REMARK,"
+ "A.DETECTMARBOOKIN KDETECT "
+ "FROM KCJ_STORAGELIST_ZW A,KCJ_STORAGEBUTTRESSLIST_ZW B,SEL_PACTDETAIL C,SCM_BASE_INFO D,SCM_BASE_INFO E,"
+ "SCM_BASE_INFO F,SCM_BASE_INFO I,"
+ "SCM_BASE_INFO L "
+ "WHERE B.BILLETID=A.BILLETID AND A.ORDERNO=C.ORDERNO(+) AND A.STORAGESTATUS='501002' AND C.SENDSTATUS=E.ID_(+) "
+ "AND A.RULE=D.ID_(+) AND A.DETERMINANTRESULT=F.ID_(+) "
+ "AND A.FACEQUALITY=I.ID_(+) "
+ "AND A.DETECTMARBOOKIN=L.ID_(+) "
+ "AND (B.BILLETID LIKE 'H%' OR B.BILLETID LIKE 'Z%') "
+ where
+ "";
}
else
{
sql = "SELECT 'FALSE' FLAG,SUBSTR(A.ORDERNO,1,LENGTH(A.ORDERNO)-3)PACTNO,C.PACTINDEX PLANNUMBER,"
+ "A.ROLLNUMBER,A.ORDERNO,A.STOVENO,TO_CHAR(B.BUTTRESS)BUTTRESS,B.CONDOLENUMBER,"
+ "A.BILLETID,A.INSTEEL,A.DETERMINANTCARDNUMBER,A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,"
+ "D.NAME_ RULE,E.NAME_ CUTSIDESTATE,F.NAME_ DETERMINANTRESULT,"
+ "I.NAME_ FACEQUALITY,''STANDROLLERROLL,"
+ "L.NAME_ DETECTMARBOOKIN "
+ ",B.REMARK,"
+ "A.DETECTMARBOOKIN KDETECT "
+ "FROM KCJ_STORAGELIST_ZW A,KCJ_STORAGEBUTTRESSLIST_ZW B,SEL_PACTDETAIL C,SCM_BASE_INFO D,SCM_BASE_INFO E, "
+ "SCM_BASE_INFO F,SCM_BASE_INFO I,"
+ "SCM_BASE_INFO L "
+ "WHERE B.BILLETID=A.BILLETID AND A.ORDERNO=C.ORDERNO(+) AND A.STORAGESTATUS='501002' AND C.SENDSTATUS=E.ID_(+) "
+ "AND A.RULE=D.ID_(+) AND A.DETERMINANTRESULT=F.ID_(+) "
+ "AND A.FACEQUALITY=I.ID_(+) "
+ "AND A.DETECTMARBOOKIN=L.ID_(+) "
+ "AND (B.BILLETID LIKE 'E%' OR B.BILLETID LIKE 'Y%' OR B.BILLETID LIKE 'B%') "
+ where;
}
}
else
{
if (strlx == "1")
{
sql = "SELECT 'FALSE' FLAG,C.PACTNO,C.PACTINDEX PLANNUMBER,"
+ "A.ROLLNUMBER,A.ORDERNO,A.STOVENO,TO_CHAR(B.BUTTRESS)BUTTRESS,B.CONDOLENUMBER,"
+ "A.BILLETID,A.INSTEEL,A.DETERMINANTCARDNUMBER,A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,"
+ "D.NAME_ RULE,E.NAME_ CUTSIDESTATE,F.NAME_ DETERMINANTRESULT,"
+ "I.NAME_ FACEQUALITY,''STANDROLLERROLL,"
+ "L.NAME_ DETECTMARBOOKIN"
+ ",B.REMARK,"
+ "A.DETECTMARBOOKIN KDETECT "
+ "FROM KCJ_TURNOFFLIST_ZW A,KCJ_TURNOFFBUTTRESSLIST_ZW B,SEL_PACTDETAIL C,SCM_BASE_INFO D,SCM_BASE_INFO E,"
+ "SCM_BASE_INFO F,SCM_BASE_INFO I,"
+ "SCM_BASE_INFO L "
+ "WHERE B.BILLETID=A.BILLETID AND A.ORDERNO=C.ORDERNO(+) AND A.STORAGESTATUS='501602' AND C.SENDSTATUS=E.ID_(+) "
+ "AND A.RULE=D.ID_(+) AND A.DETERMINANTRESULT=F.ID_(+) "
+ "AND A.FACEQUALITY=I.ID_(+) "
+ "AND A.DETECTMARBOOKIN=L.ID_(+) "
+ "AND (B.BILLETID LIKE 'H%' OR B.BILLETID LIKE 'Z%') "
+ where
+ "";
}
else
{
sql = "SELECT 'FALSE' FLAG,C.PACTNO,C.PACTINDEX PLANNUMBER,"
+ "A.ROLLNUMBER,A.ORDERNO,A.STOVENO,TO_CHAR(B.BUTTRESS)BUTTRESS,B.CONDOLENUMBER,"
+ "A.BILLETID,A.INSTEEL,A.DETERMINANTCARDNUMBER,A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,"
+ "D.NAME_ RULE,E.NAME_ CUTSIDESTATE,F.NAME_ DETERMINANTRESULT,"
+ "I.NAME_ FACEQUALITY,''STANDROLLERROLL,"
+ "L.NAME_ DETECTMARBOOKIN "
+ ",B.REMARK,"
+ "A.DETECTMARBOOKIN KDETECT "
+ "FROM KCJ_TURNOFFLIST_ZW A,KCJ_TURNOFFBUTTRESSLIST_ZW B,SEL_PACTDETAIL C,SCM_BASE_INFO D,SCM_BASE_INFO E, "
+ "SCM_BASE_INFO F,SCM_BASE_INFO I,"
+ "SCM_BASE_INFO L "
+ "WHERE B.BILLETID=A.BILLETID AND A.ORDERNO=C.ORDERNO(+) AND A.STORAGESTATUS='501602' AND C.SENDSTATUS=E.ID_(+) "
+ "AND A.RULE=D.ID_(+) AND A.DETERMINANTRESULT=F.ID_(+) "
+ "AND A.FACEQUALITY=I.ID_(+) "
+ "AND A.DETECTMARBOOKIN=L.ID_(+) "
+ "AND (B.BILLETID LIKE 'E%' OR B.BILLETID LIKE 'Y%' OR B.BILLETID LIKE 'B%') "
+ where;
}
}
System.Data.DataSet rtndst = this.DBManager.ExecuteQuery(sql, out err);
if (rtndst != null && rtndst.Tables.Count == 1 && rtndst.Tables[0].Rows.Count > 0)
{
rtndst.Tables[0].TableName = "KCJ_TURNOFFBUTTRESSLIST_VIEW";
return new ReturnObject(rtndst);
}
else
{
return new ReturnObject(null);
}
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(null, 10000, ex.ToString());
}
}
///
///根据明细号获取发运信息
///
///
///
public ReturnObject GetListData(string ListCoding,string strlx)
{
try
{
string sql = "SELECT A.PLANVEHICLEID,A.TRAINWAGON,A.CERTIFICATENO,A.PACTNO,D.BUYERNAME CUSTOMER,C.INCEPTCORPNAME,"
+ "A.PICKSTORAGETIME,A.CLASSORDER,A.CLASSTEAM,A.PICKSTORAGEMAN "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A,SEL_PACTDETAIL B,SEL_INCEPTCORPINFO C,SEL_BUYERBASEINFO D WHERE B.BUYERCODE=D.BUYERCODE(+) AND B.INCEPTCORPCODE=C.INCEPTCORPCODE(+) AND A.ORDERFORMNUMBER=B.ORDERNO(+) AND A.LISTNUMBER='" + ListCoding + "' "
+ "AND A.ISVALID<>'0' AND ROWNUM=1";
string err = "";
System.Data.DataSet rtndst = this.DBManager.ExecuteQuery(sql, out err);
if (rtndst != null && rtndst.Tables.Count == 1 && rtndst.Tables[0].Rows.Count > 0)
{
return new ReturnObject(rtndst);
}
return new ReturnObject(null);
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(null);
}
}
///
/// 获取明细编码
///
///
///
///
public ReturnObject GetListCoding(string type, string Year)
{
try
{
string err = "";
Oracle.DataAccess.Client.OracleParameter ptype = new Oracle.DataAccess.Client.OracleParameter("vtype", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pYear = new Oracle.DataAccess.Client.OracleParameter("vYear", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pListCoding = new Oracle.DataAccess.Client.OracleParameter("vListCoding", Oracle.DataAccess.Client.OracleDbType.Varchar2);
ptype.Direction = ParameterDirection.Input;
pYear.Direction = ParameterDirection.Input;
pListCoding.Direction = ParameterDirection.Output;
ptype.Value = type;
pYear.Value = Year;
pListCoding.Size = 400;
((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJZW_GetListCoding", CommandType.StoredProcedure,
new Oracle.DataAccess.Client.OracleParameter[] { ptype, pYear, pListCoding }, out err);
return new ReturnObject(FixDBManager.CheckNullStr(pListCoding.Value));
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(null);
}
}
///
/// 获取板块合同号
///
///
///
public ReturnObject GetListOrderData(string BiletID,string strlx)
{
try
{
string sql = "";
if (strlx == "YL")
{
sql = "SELECT SUBSTR(F.ORDERNO,1,LENGTH(F.ORDERNO)-3) FROM KCJ_STORAGELIST_ZW F WHERE BILLETID='" + BiletID + "'"
+ " AND ROWNUM=1";
}
else
{
sql = "SELECT SUBSTR(F.ORDERNO,1,LENGTH(F.ORDERNO)-3) FROM KCJ_TURNOFFLIST_ZW F WHERE BILLETID='" + BiletID + "'"
+ " AND ROWNUM=1";
}
string err = "";
System.Data.DataSet rtndst = this.DBManager.ExecuteQuery(sql, out err);
if (rtndst != null && rtndst.Tables.Count == 1 && rtndst.Tables[0].Rows.Count > 0)
{
return new ReturnObject(rtndst);
}
return new ReturnObject(null);
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(null);
}
}
private string[] GetPrintDataSqlYL(string ListCoding)
{
string Sql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.CLIPTYPEPROCESS='103001' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
+ "A.ORDERBUYER ROLLNO,TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH)||'×'||TO_CHAR(A.LENGTH) SPET,"
+ "A.ADDWEIGHT WEIGHT,A.SERIALNUMBER,"//SUBSTR(A.SERIALNUMBER,INSTR(A.SERIALNUMBER,'.',1)+1,LENGTH(A.SERIALNUMBER)-INSTR(A.SERIALNUMBER,'.',1))
+ " '' PICKSTORAGETIME,(SELECT NAME_ FROM SCM_BASE_INFO WHERE ID_=A.CLIPTYPEPROCESS) CUTSIDE "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A,KCJ_STORAGELIST_ZW B WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND A.SERIALNUMBER=B.BILLETID "
+ "AND A.LISTNUMBER='" + ListCoding + "' ORDER BY A.STEELTYPE,A.ORDERBUYER";
//双定
string SSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.CLIPTYPEPROCESS='103001' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
+ "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
+ "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH)||'×'||TO_CHAR(A.LENGTH) SPET,"
+ "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A "
+ "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND A.ROLE='102203' AND A.LISTNUMBER='" + ListCoding + "' "
+ "GROUP BY A.STEELTYPE,A.PLY,A.WIDTH,A.LENGTH,A.DETERMINANTRESULT,A.CLIPTYPEPROCESS";
//定长
string CSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.CLIPTYPEPROCESS='103001' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
+ "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
+ "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.LENGTH) SPET,"
+ "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A "
+ "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND A.ROLE='102201' AND A.LISTNUMBER='" + ListCoding + "' "
+ "GROUP BY A.STEELTYPE,A.PLY,A.LENGTH,A.DETERMINANTRESULT,A.CLIPTYPEPROCESS";
//定宽
string KSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.CLIPTYPEPROCESS='103001' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
+ "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
+ "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH) SPET,"
+ "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A "
+ "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND (A.ROLE='102202' OR A.ROLE='102206') AND A.LISTNUMBER='" + ListCoding + "' "
+ "GROUP BY A.STEELTYPE,A.PLY,A.WIDTH,A.DETERMINANTRESULT,A.CLIPTYPEPROCESS";
//非定
string FSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.CLIPTYPEPROCESS='103001' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
+ "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
+ "TO_CHAR(A.PLY)||'非' SPET,"
+ "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A "
+ "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND (A.ROLE='102204' OR A.ROLE='102205') AND A.LISTNUMBER='" + ListCoding + "' "
+ "GROUP BY A.STEELTYPE,A.PLY,A.DETERMINANTRESULT,A.CLIPTYPEPROCESS";
Sql = string.Format(Sql, " ");
SSql = string.Format(SSql, " ");
KSql = string.Format(KSql, " ");
CSql = string.Format(CSql, " ");
FSql = string.Format(FSql, " ");
//zw 2008-04-07
string[] rtnSql = new string[] { Sql, SSql, KSql, CSql, FSql };//,FSql
return rtnSql;
}
//获取板材加工打印明细的数据
public ReturnObject GetPrintData(string ListCoding, string strlx, string strRole, string strllx)
{
try
{
System.Data.DataSet rtndst = new DataSet();
string tmpRollNO = "";
int tmpCount = 0;
System.Decimal tmpWeight = 0;
string SendType = "";
string JBFlag = "";
string err = "";
string sql = "SELECT SENDTYPE FROM KCJ_TURNOFFSENDLIST_ZW WHERE ISVALID<>'0' AND LISTNUMBER='" + ListCoding + "'";
System.Data.DataSet tmpdst = this.DBManager.ExecuteQuery(sql, out err);
if (tmpdst != null && tmpdst.Tables.Count == 1 && tmpdst.Tables[0].Rows.Count > 0)
{
SendType = FixDBManager.CheckNullStr(tmpdst.Tables[0].Rows[0][0]);
}
else
{
return new ReturnObject(null);
}
tmpdst = null;
#region "形成打印头"
string Top = GetPrintTopSql(SendType, ListCoding);
tmpdst = this.DBManager.ExecuteQuery(Top, out err);
if (tmpdst != null && tmpdst.Tables.Count == 1 && tmpdst.Tables[0].Rows.Count > 0)
{
tmpdst.Tables[0].TableName = "TOP";
rtndst.Merge(tmpdst.Copy());
}
else
{
return new ReturnObject(null);
}
#endregion
#region "形成打印数据源"
string[] DataSql = new string[10];
if (strllx=="YL")
{
DataSql = GetPrintDataSqlYL(ListCoding);
}
else
{
DataSql = GetPrintDataSql(ListCoding);
}
for (int idx = 0; idx < DataSql.Length; idx++)
{
tmpdst = null;
tmpdst = this.DBManager.ExecuteQuery(DataSql[idx], out err);
if (tmpdst != null && tmpdst.Tables.Count == 1 && tmpdst.Tables[0].Rows.Count > 0)
{
tmpdst.Tables[0].TableName = "DATA";
rtndst.Merge(tmpdst.Copy());
if (idx == 0)
{
for (int i = 0; i < rtndst.Tables["DATA"].Rows.Count; i++)
{
if (tmpRollNO != "" && tmpRollNO != FixDBManager.CheckNullStr(rtndst.Tables["DATA"].Rows[i]["ROLLNO"]))
{
System.Data.DataRow nrow = rtndst.Tables["DATA"].NewRow();
nrow["SERIALNUMBER"] = "小计:";
if (strlx == "3")
{
nrow["SPET"] = FixDBManager.CheckNullStr(tmpCount) + " 卷";
}
else
{
nrow["SPET"] = FixDBManager.CheckNullStr(tmpCount) + " 张";
}
nrow["WEIGHT"] = tmpWeight;
rtndst.Tables["DATA"].Rows.InsertAt(nrow, i);
i = i + 1;
tmpRollNO = FixDBManager.CheckNullStr(rtndst.Tables["DATA"].Rows[i]["ROLLNO"]);
tmpCount = 1;
tmpWeight = FixDBManager.CheckNullDecimal(rtndst.Tables["DATA"].Rows[i]["WEIGHT"]);
}
else
{
tmpRollNO = FixDBManager.CheckNullStr(rtndst.Tables["DATA"].Rows[i]["ROLLNO"]);
tmpCount = tmpCount + 1;
tmpWeight = tmpWeight + FixDBManager.CheckNullDecimal(rtndst.Tables["DATA"].Rows[i]["WEIGHT"]);
}
}
System.Data.DataRow nrow1 = rtndst.Tables["DATA"].NewRow();
nrow1["SERIALNUMBER"] = "小计:";
if (strlx == "3")
{
nrow1["SPET"] = FixDBManager.CheckNullStr(tmpCount) + " 卷";
}
else
{
nrow1["SPET"] = FixDBManager.CheckNullStr(tmpCount) + " 张";
}
nrow1["WEIGHT"] = tmpWeight;
rtndst.Tables["DATA"].Rows.InsertAt(nrow1, rtndst.Tables["DATA"].Rows.Count);
System.Data.DataRow nrow2 = rtndst.Tables["DATA"].NewRow();
nrow2["STEELTYPE"] = "按规格";
nrow2["SERIALNUMBER"] = "分类统计";
rtndst.Tables["DATA"].Rows.Add(nrow2);
}
}
else
{
if (idx == 0)
return new ReturnObject(null);
}
}
#endregion
if (rtndst.Tables.Count == 2)
return new ReturnObject(rtndst);
return new ReturnObject(null);
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(null);
}
}
private string[] GetPrintDataSql(string ListCoding)
{
string Sql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.FACEQUALITY='512602' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
+ "A.ROLLNO ROLLNO,TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH)||'×'||TO_CHAR(A.LENGTH) SPET,"
+ "A.ADDWEIGHT WEIGHT,A.SERIALNUMBER,"//SUBSTR(A.SERIALNUMBER,INSTR(A.SERIALNUMBER,'.',1)+1,LENGTH(A.SERIALNUMBER)-INSTR(A.SERIALNUMBER,'.',1))
+ " TO_CHAR(A.PICKSTORAGETIME,'YY-MM-DD')PICKSTORAGETIME,(SELECT NAME_ FROM SCM_BASE_INFO WHERE ID_=C.SENDSTATUS) CUTSIDE "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A,KCJ_TURNOFFLIST_ZW B ,SEL_PACTDETAIL C WHERE A.ISVALID<>'0' AND A.ORDERFORMNUMBER=C.ORDERNO(+) AND A.SERIALNUMBER=B.BILLETID "
+ "AND A.LISTNUMBER='" + ListCoding + "' ORDER BY A.STEELTYPE,A.ORDERBUYER,A.CREATTIME ASC ";
//双定
string SSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.FACEQUALITY='512602' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
+ "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
+ "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH)||'×'||TO_CHAR(A.LENGTH) SPET,"
+ "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A "
+ "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND A.ROLE='102203' AND A.LISTNUMBER='" + ListCoding + "' "
+ "GROUP BY A.STEELTYPE,A.PLY,A.WIDTH,A.LENGTH,A.DETERMINANTRESULT,A.FACEQUALITY";
//定长
string CSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.FACEQUALITY='512602' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
+ "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
+ "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.LENGTH) SPET,"
+ "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A "
+ "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND A.ROLE='102201' AND A.LISTNUMBER='" + ListCoding + "' "
+ "GROUP BY A.STEELTYPE,A.PLY,A.LENGTH,A.DETERMINANTRESULT,A.FACEQUALITY";
//定宽
string KSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.FACEQUALITY='512602' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
+ "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
+ "TO_CHAR(A.PLY)||'×'||TO_CHAR(A.WIDTH) SPET,"
+ "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A "
+ "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND (A.ROLE='102202' OR A.ROLE='102206') AND A.LISTNUMBER='" + ListCoding + "' "
+ "GROUP BY A.STEELTYPE,A.PLY,A.WIDTH,A.DETERMINANTRESULT,A.FACEQUALITY";
//非定
string FSql = "SELECT (CASE WHEN A.DETERMINANTRESULT LIKE '401403%' AND A.FACEQUALITY='512602' THEN '次品' ELSE A.STEELTYPE END) STEELTYPE,"
+ "TO_CHAR(COUNT(A.SERIALNUMBER))||'张' SERIALNUMBER,"
+ "TO_CHAR(A.PLY)||'非' SPET,"
+ "SUM(A.ADDWEIGHT) WEIGHT,NULL SERIALNUMBER,NULL PICKSTORAGETIME,NULL CUTSIDE "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A "
+ "WHERE A.ISVALID<>'0' AND A.DUMMYSENDFLAG<>'1' AND (A.ROLE='102204' OR A.ROLE='102205') AND A.LISTNUMBER='" + ListCoding + "' "
+ "GROUP BY A.STEELTYPE,A.PLY,A.DETERMINANTRESULT,A.FACEQUALITY";
Sql = string.Format(Sql, " ");
SSql = string.Format(SSql, " ");
KSql = string.Format(KSql, " ");
CSql = string.Format(CSql, " ");
FSql = string.Format(FSql, " ");
string[] rtnSql = new string[] { Sql, SSql, KSql, CSql, FSql };//,FSql
return rtnSql;
}
private string GetPrintTopSql(string SendType, string ListCoding)
{
//正式
string sql = "SELECT T1.*,T2.QUANTITY,T2.WEIGHT FROM "
+ "("
+ "SELECT (substr(a.orderformnumber,1,length(a.orderformnumber)-3))PACTNO,CASE WHEN A.ORDERFORMNUMBER LIKE '17%' THEN '新钢贸易(北京)有限公司' ELSE B.BUYERCODE END BUYERCODE,C.ASKPLAN_ID ASKPLAN_ID,D.STATIONNAME,"
+" CASE WHEN (SELECT COUNT(1) FROM SEL_INCEPTCORPINFO WHERE INCEPTCORPCODE=A.inceptcorpcode)>0 THEN "
+" (SELECT INCEPTCORPNAME FROM SEL_INCEPTCORPINFO WHERE INCEPTCORPCODE=A.inceptcorpcode) "
+" WHEN (SELECT COUNT(1) FROM tbz00_customer WHERE CUST_CD=A.inceptcorpcode)>0 THEN "
+" (SELECT CUST_NM FROM tbz00_customer WHERE CUST_CD=A.inceptcorpcode) "
+ " END INCEPTCORPNAME,"
+"TO_CHAR(A.PICKSTORAGETIME,'YYYY-MM-DD') PICKSTORAGETIME,"
+ "A.TRAINWAGON,F.BUYERNAME,A.LISTNUMBER,A.REMARK,NULL CREATOR "
+ "FROM KCJ_TURNOFFSENDLIST_ZW A,SEL_PACTDETAIL B,KCJ_PLAN C,SEL_STATIONINFO D,SEL_INCEPTCORPINFO E,SEL_BUYERBASEINFO F "
+ "WHERE A.PLANVEHICLEID=C.ASKPLAN_ID AND A.ORDERFORMNUMBER=B.ORDERNO(+) AND B.STATIONCODE=D.STATIONCODE(+) "
+ "AND B.BUYERCODE=F.BUYERCODE(+) AND A.ISVALID<>'0' AND A.LISTNUMBER='" + ListCoding + "' AND ROWNUM=1 "
+ ") T1 "
+ "LEFT JOIN "
+ "("
+ "SELECT COUNT(SERIALNUMBER) QUANTITY,SUM(ADDWEIGHT) WEIGHT,LISTNUMBER FROM KCJ_TURNOFFSENDLIST_ZW "
+ "WHERE ISVALID<>'0' AND DUMMYSENDFLAG<>'1' GROUP BY LISTNUMBER "
+ ") T2 ON T1.LISTNUMBER=T2.LISTNUMBER";
return sql;
}
//提交发运新增
public ReturnObject CommitAddSendList(System.Collections.ArrayList Billets, System.Collections.ArrayList SendInfo, string SendType)
{
try
{
string err = "";
Oracle.DataAccess.Client.OracleParameter pBillets = new Oracle.DataAccess.Client.OracleParameter("vBillets", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pSendInfo = new Oracle.DataAccess.Client.OracleParameter("vSendInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pSendType = new Oracle.DataAccess.Client.OracleParameter("vSendType", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pFaileInfo = new Oracle.DataAccess.Client.OracleParameter("vFaileInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
pBillets.Direction = ParameterDirection.Input;
pSendInfo.Direction = ParameterDirection.Input;
pSendType.Direction = ParameterDirection.Input;
pFaileInfo.Direction = ParameterDirection.Output;
pSuccessFlag.Direction = ParameterDirection.Output;
pBillets.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
pSendInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
pFaileInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
pBillets.Value = Billets.ToArray(typeof(string));
pSendInfo.Value = SendInfo.ToArray(typeof(string));
pSendType.Value = SendType;
int[] OSizeInf = new int[Billets.Count];
for (int i = 0; i < Billets.Count; i++)
{
OSizeInf[i] = 200;
}
pBillets.Size = Billets.Count;
pBillets.ArrayBindSize = OSizeInf;
int[] NSizeInf = new int[SendInfo.Count];
for (int i = 0; i < SendInfo.Count; i++)
{
NSizeInf[i] = 200;
}
pSendInfo.Size = SendInfo.Count;
pSendInfo.ArrayBindSize = NSizeInf;
int OutSize = 200;
int[] OutSizeInf = new int[OutSize];
for (int i = 0; i < OutSize; i++)
{
OutSizeInf[i] = 2000;
}
pFaileInfo.Size = OutSize;
pFaileInfo.ArrayBindSize = OutSizeInf;
pSuccessFlag.Size = 400;
((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.ADDSENDLIST_P", CommandType.StoredProcedure,
new Oracle.DataAccess.Client.OracleParameter[] { pBillets, pSendInfo, pFaileInfo, pSuccessFlag }, out err);
if (FixDBManager.CheckNullStr(pSuccessFlag.Value).Length > 0 | FixDBManager.CheckNullStr(err).Length > 0)
{
return new ReturnObject(null, 1, pSuccessFlag.Value.ToString() + err);
}
else
{
Oracle.DataAccess.Types.OracleString[] FaileInfo = (Oracle.DataAccess.Types.OracleString[])pFaileInfo.Value;
System.Collections.ArrayList rtnList = new ArrayList();
if (FaileInfo.Length > 0)
{
for (int i = 0; i < FaileInfo.Length; i++)
{
rtnList.Add(FaileInfo[i].Value);
}
}
if (rtnList.Count > 0)
{
return new ReturnObject(rtnList);
}
else
{
return new ReturnObject('1');
}
}
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(null);
}
}
public ReturnObject DelSendList(System.Collections.ArrayList Billets, System.Collections.ArrayList SendInfo, string strlx)
{
try
{
string err = "";
Oracle.DataAccess.Client.OracleParameter pBillets = new Oracle.DataAccess.Client.OracleParameter("vBillets", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pSendInfo = new Oracle.DataAccess.Client.OracleParameter("vSendInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
pBillets.Direction = ParameterDirection.Input;
pSendInfo.Direction = ParameterDirection.Input;
pSuccessFlag.Direction = ParameterDirection.Output;
pBillets.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
pSendInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
pBillets.Value = Billets.ToArray(typeof(string));
pSendInfo.Value = SendInfo.ToArray(typeof(string));
int[] OSizeInf = new int[Billets.Count];
for (int i = 0; i < Billets.Count; i++)
{
OSizeInf[i] = 200;
}
pBillets.Size = Billets.Count;
pBillets.ArrayBindSize = OSizeInf;
int[] NSizeInf = new int[SendInfo.Count];
for (int i = 0; i < SendInfo.Count; i++)
{
NSizeInf[i] = 200;
}
pSendInfo.Size = SendInfo.Count;
pSendInfo.ArrayBindSize = NSizeInf;
pSuccessFlag.Size = 400;
((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.DELSENDLIST_P", CommandType.StoredProcedure,
new Oracle.DataAccess.Client.OracleParameter[] { pBillets, pSendInfo, pSuccessFlag }, out err);
if (FixDBManager.CheckNullStr(pSuccessFlag.Value).Length > 0 | FixDBManager.CheckNullStr(err).Length > 0)
{
return new ReturnObject(null, 1, pSuccessFlag.Value.ToString() + err);
}
else
{
return new ReturnObject('1');
}
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(null);
}
}
public ReturnObject addDJ(ArrayList arbilletid, ArrayList ar)
{
try
{
string err = "";
Oracle.DataAccess.Client.OracleParameter pScids = new Oracle.DataAccess.Client.OracleParameter("vScids", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pOtherInfo = new Oracle.DataAccess.Client.OracleParameter("vOtherInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
pScids.Direction = ParameterDirection.Input;
pOtherInfo.Direction = ParameterDirection.Input;
pSuccessFlag.Direction = ParameterDirection.Output;
pScids.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
pOtherInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
pScids.Value = arbilletid.ToArray(typeof(string));
pOtherInfo.Value = ar.ToArray(typeof(string));
int[] OSizeInf = new int[arbilletid.Count];
for (int i = 0; i < arbilletid.Count; i++)
{
OSizeInf[i] = 200;
}
pScids.Size = arbilletid.Count;
pScids.ArrayBindSize = OSizeInf;
int[] NOSizeInf = new int[ar.Count];
for (int i = 0; i < ar.Count; i++)
{
NOSizeInf[i] = 200;
}
pOtherInfo.Size = ar.Count;
pOtherInfo.ArrayBindSize = NOSizeInf;
pSuccessFlag.Size = 400;
((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.KCJ_PACTNO_ADD", CommandType.StoredProcedure,
new Oracle.DataAccess.Client.OracleParameter[] { pScids, pOtherInfo, pSuccessFlag }, out err);
if (Common.CheckNullStr(pSuccessFlag.Value).Length > 0 | Common.CheckNullStr(err).Length > 0)
{
return new ReturnObject(null, 1, pSuccessFlag.Value.ToString() + err);
}
else
{
return new ReturnObject('1');
}
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(null, ex.ToString());
}
}
}
}