using System;
using System.Data;
using Core.Mes.ServerFrameWork;
using Core.Mes.IBaseInterface;
using System.Collections;
namespace Core.XgMes.Server.JGKC.SteelPlateManager
{
///
/// TurnoffManager 的摘要说明。
///
public class TurnoffManager : Core.Mes.ServerFrameWork.IComponent
{
public TurnoffManager()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public override int maxValue
{
get
{
return 100;
}
}
public override int minValue
{
get
{
return 50;
}
}
///
/// 板块登记信息查询
///
/// 订单号
/// 序号
/// 牌号
/// 附加条件
///
public ReturnObject QueryInStorageInfo(string _OrderNO,string _BilletID,string _ShopSign,string _Where,string sstyle)
{
string strOut = "";
string sql = "";
DataSet ds = new DataSet();
if (sstyle == "2")
{
sql = "Select A.BILLETID ,F.NAME_ PRODUCTLINE,A.ROLLNUMBER,A.PLANNO,A.ORDERNO,G.NAME_ BILLETTYP,"
+ "A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,B.NAME_ FACEQUALITY,A.DETERMINANTCARDNUMBER,"
+ "I.BUTTRESS,"//切边
+ "E.NAME_ DETERMINANTRESULT,A.SOURCEID,TO_CHAR(A.INTIME,'YYYY-MM-DD') INTIME,H.NAME_ RULE,I.CONDOLENUMBER,TO_CHAR(A.PTIME,'YYYY-MM-DD') PTIME "//++
+ "From KCJ_TURNOFFLIST_ZW A,SCM_BASE_INFO B,SCM_BASE_INFO E, SCM_BASE_INFO F,KCJ_BASEDATA G,SCM_BASE_INFO H,KCJ_TURNOFFBUTTRESSLIST_ZW I "
+ "Where A.FACEQUALITY=B.ID_(+) AND A.DETERMINANTRESULT=E.ID_(+) AND A.PRODUCTLINE=F.ID_(+) AND A.BILLETTYP=G.ID_(+) AND A.RULE=H.ID_(+) "//++
+ "AND A.STORAGESTATUS = '501602' AND A.ISVALID = '1' AND A.BILLETID=I.BILLETID AND (A.BILLETID LIKE 'E%' OR A.BILLETID LIKE 'Y%' OR A.BILLETID LIKE 'B%') ";
}
else
{
sql = "Select A.BILLETID ,F.NAME_ PRODUCTLINE,A.ROLLNUMBER,A.PLANNO,A.ORDERNO,G.NAME_ BILLETTYP,"
+ "A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,B.NAME_ FACEQUALITY,A.DETERMINANTCARDNUMBER,"
+ "I.BUTTRESS,"//切边
+ "E.NAME_ DETERMINANTRESULT,A.SOURCEID,TO_CHAR(A.INTIME,'YYYY-MM-DD') INTIME,H.NAME_ RULE,I.CONDOLENUMBER,TO_CHAR(A.PTIME,'YYYY-MM-DD') PTIME "//++
+ "From KCJ_TURNOFFLIST_ZW A,SCM_BASE_INFO B,SCM_BASE_INFO E, SCM_BASE_INFO F,KCJ_BASEDATA G,SCM_BASE_INFO H,KCJ_TURNOFFBUTTRESSLIST_ZW I "
+ "Where A.FACEQUALITY=B.ID_(+) AND A.DETERMINANTRESULT=E.ID_(+) AND A.PRODUCTLINE=F.ID_(+) AND A.BILLETTYP=G.ID_(+) AND A.RULE=H.ID_(+) "//++
+ "AND A.STORAGESTATUS = '501602' AND A.ISVALID = '1' AND A.BILLETID=I.BILLETID AND (A.BILLETID LIKE 'H%' OR A.BILLETID LIKE 'Z%' ) ";
}
ds = this.DBManager.ExecuteQuery(sql, out strOut);
ds.Tables[0].TableName = "KCJ_TURNOFFLIST";
return new ReturnObject(ds, strOut);
}
//计划查询
public ReturnObject QueryPlan( string _Where)
{
string strOut = "";
string sql = "";
DataSet ds = new DataSet();
sql = "SELECT A.ASKPLAN_ID,A.PL,A.TRANSNO,A.INCEPTCORPCODE,A.BUYERCODE,A.WEIGHT,TO_CHAR(A.INCEPTDATE,'YY-MM-DD')INCEPTDATE,A.REMARK,A.RECODER,A.PACTNO, "
+" CASE WHEN A.PL='2' THEN "
+" (SELECT COUNT(T.COIL_NO_ID) FROM KCJ3_TURNOFFSENDLIST_ZW T WHERE T.PLANVEHICLEID=A.ASKPLAN_ID AND T.ISVALID<>'0') "
+" ELSE"
+" 0"
+" END "
+" FYBS ,"
+" CASE WHEN A.PL='2' THEN "
+" (SELECT SUM(T.ZSLAB_NUM) FROM KCJ3_TURNOFFSENDLIST_ZW T WHERE T.PLANVEHICLEID=A.ASKPLAN_ID AND T.ISVALID<>'0')"
+" ELSE"
+ " (SELECT count(T.SERIALNUMBER) FROM KCJ_TURNOFFSENDLIST_ZW T WHERE T.PLANVEHICLEID=A.ASKPLAN_ID AND T.ISVALID<>'0')"
+" END "
+" FYNUM,"
+" CASE WHEN A.PL='2' THEN "
+" (SELECT CASE WHEN SUM(T.XJJL_WEIGHT) IS NULL THEN SUM(T.CAL_WGT) ELSE SUM(T.XJJL_WEIGHT) END FROM KCJ3_TURNOFFSENDLIST_ZW T WHERE T.PLANVEHICLEID=A.ASKPLAN_ID AND T.ISVALID<>'0')"
+" ELSE"
+ " (SELECT SUM(T.WEIGHT) FROM KCJ_TURNOFFSENDLIST_ZW T WHERE T.PLANVEHICLEID=A.ASKPLAN_ID AND T.ISVALID<>'0')"
+" END "
+" FYZL"
+ " FROM KCJ_PLAN A WHERE 1=1 AND ISVALID='1' " + _Where;
ds = this.DBManager.ExecuteQuery(sql, out strOut);
return new ReturnObject(ds, strOut);
}
///
/// 从原料库获取板块信息
///
/// 条件
///
public ReturnObject GetBilletInfo(string _Where,string sstyle)
{
string strOut = "";
string sql="";
if(sstyle=="1")
{
sql="Select A.BILLETID,A.PRODUCTLINE,A.ROLLNUMBER,A.MOTHERBOARDNUMBER,A.STOVENO,A.PLANNO,A.ORDERNO,"
+"A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,A.FACEQUALITY,A.DETERMINANTCARDNUMBER,"
+ "A.DETERMINANTRESULT,A.SOURCEID ,(SELECT SENDSTATUS FROM sel_pactdetail WHERE ORDERNO = A.ORDERNO)SENDSTATUS,(SELECT FIXSIZE FROM sel_pactdetail WHERE ORDERNO = A.ORDERNO)FIXSIZE "//++
+"From KCJ_STORAGELIST_ZW A "
+ "Where A.STORAGESTATUS = '501002' AND A.ISVALID = '1' AND (A.BILLETID LIKE 'H%' OR A.BILLETID LIKE 'Z%') ";
}
else
{
sql = "Select A.BILLETID,A.PRODUCTLINE,A.ROLLNUMBER,A.MOTHERBOARDNUMBER,A.STOVENO,A.PLANNO,A.ORDERNO,"
+ "A.PLY,A.WIDTH,A.LENGTH,A.THEORYWEIGHT,A.FACEQUALITY,A.DETERMINANTCARDNUMBER,"
+ "A.DETERMINANTRESULT,A.SOURCEID ,(SELECT SENDSTATUS FROM sel_pactdetail WHERE ORDERNO = A.ORDERNO)SENDSTATUS,(SELECT FIXSIZE FROM sel_pactdetail WHERE ORDERNO = A.ORDERNO)FIXSIZE "//++
+ "From KCJ_STORAGELIST_ZW A "
+ "Where A.STORAGESTATUS = '501002' AND A.ISVALID = '1' AND (A.BILLETID LIKE 'E%' OR A.BILLETID LIKE 'Y%' OR A.BILLETID LIKE 'B%') ";
}
sql = sql + _Where;
try
{
DataSet ds = this.DBManager.ExecuteQuery(sql,out strOut);
ds.Tables[0].TableName = "KCJ_STORAGELIST";
return new ReturnObject(ds,strOut);
}
catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(null,"数据库连接错");
}
}
///
/// 成品收集入库
///
///
///
public ReturnObject AddInStorage(System.Collections.ArrayList _CollectInfo)
{
try
{
string err = "";
Oracle.DataAccess.Client.OracleParameter pBilletInfo = new Oracle.DataAccess.Client.OracleParameter("vBilletInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
pBilletInfo.Direction = ParameterDirection.Input;
pSuccessFlag.Direction = ParameterDirection.Output;
pBilletInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
pBilletInfo.Value = _CollectInfo.ToArray(typeof(string));
int []OSizeInf = new int[_CollectInfo.Count];
for(int i =0;i< _CollectInfo.Count;i++)
{
OSizeInf[i ] = 200;
}
pBilletInfo.Size = _CollectInfo.Count;
pBilletInfo.ArrayBindSize = OSizeInf;
pSuccessFlag.Size = 400;
((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.TurnoffInStorage", CommandType.StoredProcedure,
new Oracle.DataAccess.Client.OracleParameter[]{pBilletInfo,pSuccessFlag}, out err);
if(Common.CheckNullStr(pSuccessFlag.Value) != "1" || Common.CheckNullStr(err).Length>0)
{
return new ReturnObject(Common.CheckNullStr(pSuccessFlag.Value)+err);
}
else
{
return new ReturnObject('1');
}
}
catch(System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(ex.ToString());
}
}
public ReturnObject AddPlan(System.Collections.ArrayList _CollectInfo)
{
try
{
string err = "";
Oracle.DataAccess.Client.OracleParameter pBilletInfo = new Oracle.DataAccess.Client.OracleParameter("vBilletInfo", Oracle.DataAccess.Client.OracleDbType.Varchar2);
Oracle.DataAccess.Client.OracleParameter pSuccessFlag = new Oracle.DataAccess.Client.OracleParameter("vSuccessFlag", Oracle.DataAccess.Client.OracleDbType.Varchar2);
pBilletInfo.Direction = ParameterDirection.Input;
pSuccessFlag.Direction = ParameterDirection.Output;
pBilletInfo.CollectionType = Oracle.DataAccess.Client.OracleCollectionType.PLSQLAssociativeArray;
pBilletInfo.Value = _CollectInfo.ToArray(typeof(string));
int[] OSizeInf = new int[_CollectInfo.Count];
for (int i = 0; i < _CollectInfo.Count; i++)
{
OSizeInf[i] = 200;
}
pBilletInfo.Size = _CollectInfo.Count;
pBilletInfo.ArrayBindSize = OSizeInf;
pSuccessFlag.Size = 400;
((STMes.DBManager)DBManagerList["ODPDBZW"]).ExecuteNonQuery_NoDBSever("KCJ_STORAGEMANAGER_WX.PlanAdd", CommandType.StoredProcedure,
new Oracle.DataAccess.Client.OracleParameter[] { pBilletInfo, pSuccessFlag }, out err);
if (Common.CheckNullStr(pSuccessFlag.Value) != "1" || Common.CheckNullStr(err).Length > 0)
{
return new ReturnObject(Common.CheckNullStr(pSuccessFlag.Value) + err);
}
else
{
return new ReturnObject('1');
}
}
catch (System.Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(ex.ToString());
}
}
///
/// 撤销成品入库
///
///
///
public ReturnObject CancelTurnoffIn(string _BilletId,string _CreatMan)
{
ArrayList OutPutValues = new ArrayList();
object [] values = new object[3];
string strOut="";
try
{
#region "param"
System.Data.OracleClient.OracleParameter[] param = new System.Data.OracleClient.OracleParameter[3];
param[0] = new System.Data.OracleClient.OracleParameter();
param[0].ParameterName = "vBilletId";
param[0].Direction = System.Data.ParameterDirection.Input;
param[1] = new System.Data.OracleClient.OracleParameter();
param[1].ParameterName = "vCreateMan";
param[1].Direction = System.Data.ParameterDirection.Input;
param[2] = new System.Data.OracleClient.OracleParameter();
param[2].ParameterName = "vSuccessFlag";
param[2].DbType = System.Data.DbType.String;
param[2].Direction = System.Data.ParameterDirection.Output;
#endregion
#region "values"
values[0] = _BilletId;
values[1] = _CreatMan;
values[2] = "";
values = Common.FixValues(values);
#endregion
string sql = "KCJ_STORAGEMANAGER_WX.CancelInSotrage";
this.DBManager.ExecuteQuery(sql, System.Data.CommandType.StoredProcedure, param, values, ref OutPutValues, out strOut);
if(strOut.Length > 0)
{
return new ReturnObject(strOut);
}
if(OutPutValues.Count > 0 && Common.CheckNullStr(OutPutValues[0]).Length > 0)
{
return new ReturnObject(OutPutValues[0].ToString());//返回操作结果
}
return new ReturnObject("传递参数错误,操作失败");
}
catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
return new ReturnObject(ex.ToString());
}
}
}
}