/*******************************************************************************
* Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
* 类的信息:
* 1.程序名称:SystemModuleLogic.cs
* 2.功能描述:产品档案数据查询处理
* 编辑履历:
* 作者 日期 版本 修改内容
* 张国印 2014/09/12 1.00 新建
*******************************************************************************/
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Dongke.IBOSS.PRD.Basics.DataAccess;
using Dongke.IBOSS.PRD.Service.DataModels;
using Dongke.IBOSS.PRD.WCF.DataModels;
using Oracle.ManagedDataAccess.Client;
using static Dongke.IBOSS.PRD.Basics.BaseResources.Constant;
namespace Dongke.IBOSS.PRD.Service.SystemModuleLogic
{
///
/// 产品档案数据查询处理
///
public partial class SystemModuleLogic
{
#region 产品档案
///
/// 查询产品信息
///
/// 用户基本信息
/// 产品信息
/// DataSet
///
/// 陈冰 2014.09.01 新建
///
public static DataSet SerachGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity)
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
if (!string.IsNullOrWhiteSpace(goodsEntity.GoodsCodeOnly))
{
string sql = "select goodsid from tp_mst_goods g where g.goodscode = :goodscode";
OracleParameter[] paras1 = new OracleParameter[]{
new OracleParameter(":goodscode",OracleDbType.Varchar2,
goodsEntity.GoodsCodeOnly,ParameterDirection.Input),
};
return con.GetSqlResultToDs(sql, paras1);
}
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter("account",OracleDbType.Int32,
sUserInfo.AccountID,ParameterDirection.Input),
new OracleParameter("goodsID",OracleDbType.Int32,
goodsEntity.GoodsID,ParameterDirection.Input),
new OracleParameter("goodsCode",OracleDbType.NVarchar2,
goodsEntity.GoodsCode,ParameterDirection.Input),
new OracleParameter("goodsName",OracleDbType.NVarchar2,
goodsEntity.GoodsName,ParameterDirection.Input),
new OracleParameter("goodsSpecification",OracleDbType.NVarchar2,
goodsEntity.GoodsSpecification,ParameterDirection.Input),
new OracleParameter("goodsModel",OracleDbType.NVarchar2,
goodsEntity.GoodsModel,ParameterDirection.Input),
new OracleParameter("goodsTypeCode",OracleDbType.NVarchar2,
goodsEntity.GoodsTypeCode,ParameterDirection.Input),
new OracleParameter("glazeTypeID",OracleDbType.Int32,
goodsEntity.GlazeTypeID,ParameterDirection.Input),
new OracleParameter("ceaseFlag",OracleDbType.NVarchar2,
goodsEntity.CeaseFlag,ParameterDirection.Input),
new OracleParameter("remarks",OracleDbType.NVarchar2,
goodsEntity.Remarks,ParameterDirection.Input),
new OracleParameter("valueFlag",OracleDbType.NVarchar2,
goodsEntity.ValueFlag,ParameterDirection.Input),
new OracleParameter("planFlag",OracleDbType.NVarchar2,
goodsEntity.PlanFlag,ParameterDirection.Input),
new OracleParameter("rs_result",OracleDbType.RefCursor,ParameterDirection.Output),
new OracleParameter("rs_result_img",OracleDbType.RefCursor,ParameterDirection.Output),
};
foreach (OracleParameter item in paras)
{
if (item.Value + "" == "")
{
item.Value = DBNull.Value;
}
}
DataSet ds = con.ExecStoredProcedure("PRO_MST_SerachGoods", paras);
return ds;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
///
/// 新建产品档案
///
/// 用户基本信息
/// 产品实体
/// 产品图片集合
/// 缺陷位置ID集合
/// int受影响行数
///
/// 庄天威 2014.09.04 新建
///
public static int AddGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity
, List imgList, List attList)
{
int returnRows;
IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
if (goodsEntity.MudQuantity == null)
{
goodsEntity.MudQuantity = 0;
}
if (goodsEntity.GlazeQuantity == null)
{
goodsEntity.GlazeQuantity = 0;
}
if (goodsEntity.Remarks == null)
{
goodsEntity.Remarks = "";
}
if (goodsEntity.GoodsSpecification == null)
{
goodsEntity.GoodsSpecification = "";
}
if (goodsEntity.GoodsModel == null)
{
goodsEntity.GoodsModel = "";
}
try
{
oracleTrConn.Connect();
// 物料编码重复验证 add by chenxy 2017-07-11 begin
// 有不同编码,同物料编码的情况 delete by chenxy 2017-11-10
//string sqlString = "SELECT g.goodscode \n" +
//" FROM tp_mst_goods g\n" +
//" WHERE g.materialcode = :materialcode";
//OracleParameter[] checkParas = new OracleParameter[]{
// new OracleParameter(":materialcode",goodsEntity.MaterialCode),
//};
//string goodscode = oracleTrConn.GetSqlResultToStr(sqlString, checkParas);
//if (!string.IsNullOrWhiteSpace(goodscode))
//{
// return -10;
//}
// 物料编码重复验证 add by chenxy 2017-07-11 end
//2021年11月18日09:28:072 by fy modify 产品档案增加防伪码绑定标识、防伪码验证标识
StringBuilder sbSql = new StringBuilder();
sbSql.Append("select SEQ_MST_Goods_GoodsID.nextval from dual");
int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
sbSql.Clear();
sbSql.Append(" INSERT INTO TP_MST_GOODS");
sbSql.Append("(GoodsID,GoodsCode,GoodsName,GoodsSpecification,GoodsModel,GoodsTypeID,");
sbSql.Append("GlazeTypeID,MudWeight,GlazeWeight,LusterwareWeight,ProductionCycle,CeaseFlag,Goods_Line_Type,Goods_Line_Code,");
sbSql.Append("StartingDate,AutoLossCycle,DeliverLimitCycle,PlateLimitNum,UnitPrice,ReservedDays,");
sbSql.Append("PackageNum,OutletDistance,MaterialCode,MaterialRemark,printcopies,");
sbSql.Append("MouldWeight,MouldCost,ScrapSumFlag,SEATCOVERCODE,");
sbSql.Append("WaterLabelCode,StandardGroutingNum,MouldMaterialCode,MouldOutputCount,logoid,");
sbSql.Append("Remarks,AccountID,ValueFlag,CreateUserID,UpdateUserID,MudStoreType,SecurityCodeBindFlag,SecurityCodeCheckFlag,PlanFlag)");
sbSql.Append("VALUES( :GoodsId, :GoodsCode, :GoodsName, :GoodsSpecification, :GoodsModel, :GoodsTypeID,");
sbSql.Append(" :GlazeTypeID, :MudWeight, :GlazeWeight,:LusterwareWeight, :ProductionCycle, :CeaseFlag,:Goods_Line_Type,:Goods_Line_Code,");
sbSql.Append(" :StartingDate, :AutoLossCycle, :DeliverLimitCycle,:PlateLimitNum,:UnitPrice,:ReservedDays,");
sbSql.Append(" :PackageNum, :OutletDistance, :MaterialCode,:MaterialRemark,:printcopies,");
sbSql.Append(" :MouldWeight, :MouldCost,:ScrapSumFlag,:SEATCOVERCODE,");
sbSql.Append(" :WaterLabelCode, :StandardGroutingNum, :MouldMaterialCode, :MouldOutputCount,:logoid,");
sbSql.Append(" :Remarks, :AccountID, :ValueFlag, :CreateUserID, :UpdateUserID, :MudStoreType , :SecurityCodeBindFlag,:SecurityCodeCheckFlag,:PlanFlag)");
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":GoodsId",id),
new OracleParameter(":GoodsCode",goodsEntity.GoodsCode),
new OracleParameter(":GoodsName",goodsEntity.GoodsName),
new OracleParameter(":GoodsSpecification",goodsEntity.GoodsSpecification),
new OracleParameter(":GoodsModel",goodsEntity.GoodsModel),
new OracleParameter(":GoodsTypeID",goodsEntity.GoodsTypeID),
new OracleParameter(":GlazeTypeID",goodsEntity.GlazeTypeID),
new OracleParameter(":MudWeight",goodsEntity.MudQuantity),
new OracleParameter(":GlazeWeight",goodsEntity.GlazeQuantity),
new OracleParameter(":LusterwareWeight",goodsEntity.LusterwareWeight),
new OracleParameter(":ProductionCycle",goodsEntity.ProductionCycle),
new OracleParameter(":CeaseFlag",goodsEntity.CeaseFlag),
new OracleParameter(":Goods_Line_Type",goodsEntity.GoodsLineType),
new OracleParameter(":Goods_Line_Code",goodsEntity.GoodsLineCode),
new OracleParameter(":StartingDate",goodsEntity.StartingDate),
new OracleParameter(":AutoLossCycle",goodsEntity.AutoLossCycle),
new OracleParameter(":DeliverLimitCycle",goodsEntity.DeliverLimitCycle),
new OracleParameter(":PlateLimitNum",goodsEntity.PlateLimitNum),
new OracleParameter(":ReservedDays",goodsEntity.ReservedDays),
new OracleParameter(":UnitPrice",goodsEntity.UnitPrice),
new OracleParameter(":PackageNum",goodsEntity.PackageNum),
new OracleParameter(":OutletDistance",goodsEntity.OutletDistance),
new OracleParameter(":MaterialCode",goodsEntity.MaterialCode),
new OracleParameter(":MouldWeight",goodsEntity.MouldWeight),
new OracleParameter(":MouldCost",goodsEntity.MouldCost),
new OracleParameter(":ScrapSumFlag",goodsEntity.ScrapSumFlag),
new OracleParameter(":MaterialRemark",goodsEntity.MaterialRemark),
new OracleParameter(":printcopies",goodsEntity.PrintCopies),
new OracleParameter(":SEATCOVERCODE", goodsEntity.SeatCoverCode),
new OracleParameter(":WaterLabelCode", goodsEntity.WaterLabelCode),
new OracleParameter(":StandardGroutingNum", goodsEntity.StandardGroutingNum),
new OracleParameter(":MouldMaterialCode", goodsEntity.MouldMaterialCode),
new OracleParameter(":MouldOutputCount", goodsEntity.MouldOutputCount),
new OracleParameter(":logoid", goodsEntity.LogoID),
new OracleParameter(":Remarks",goodsEntity.Remarks),
new OracleParameter(":AccountID",sUserInfo.AccountID),
new OracleParameter(":ValueFlag",goodsEntity.ValueFlag),
//new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
new OracleParameter(":CreateUserID",sUserInfo.UserID),
//new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
new OracleParameter(":UpdateUserID",sUserInfo.UserID),
new OracleParameter(":MudStoreType",goodsEntity.MudStoreType),
new OracleParameter(":SecurityCodeBindFlag",goodsEntity.SecurityCodeBindFlag),
new OracleParameter(":SecurityCodeCheckFlag",goodsEntity.SecurityCodeCheckFlag),
new OracleParameter(":PlanFlag",goodsEntity.PlanFlag)
//new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
};
returnRows = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), paras);
//SAP物料信息
string sql = "delete from TP_MST_GoodsLogoSAP where goodsid = " + id;
returnRows += oracleTrConn.ExecuteNonQuery(sql);
sql = "insert into TP_MST_GOODSLOGOSAP\n" +
" (GOODSID, LOGOID, GOODSCODE, MATERIALCODE, MATERIALREMARK, CREATEUSERID, WaterLabelCode, PLATELIMITNUM)\n" +
"values\n" +
" (:GOODSID, :LOGOID, :GOODSCODE, :MATERIALCODE, :MATERIALREMARK, :CREATEUSERID, :WaterLabelCode, :PlateLimitNum)";
foreach (DataRow item in goodsEntity.SAPInfo.Rows)
{
string sapcode = item["MATERIALCODE"] + "";
string sapremark = item["MATERIALREMARK"] + "";
if (string.IsNullOrWhiteSpace(sapcode))
{
continue;
}
if (string.IsNullOrEmpty(sapremark))
{
sapremark = " ";
}
paras = new OracleParameter[]{
new OracleParameter(":GOODSID",id),
new OracleParameter(":LOGOID",item["LOGOID"]),
new OracleParameter(":GOODSCODE",goodsEntity.GoodsCode),
new OracleParameter(":MATERIALCODE",sapcode),
new OracleParameter(":MATERIALREMARK",sapremark),
new OracleParameter(":CREATEUSERID",sUserInfo.UserID),
new OracleParameter(":WaterLabelCode",item["WaterLabelCode"]),
new OracleParameter(":PlateLimitNum",item["PlateLimitNum"]),
};
returnRows += oracleTrConn.ExecuteNonQuery(sql, paras);
}
//此处添加图片信息
foreach (GoodsImageEntity img in imgList)
{
int imgReturn = 0;
sbSql.Clear();
sbSql.Append("select SEQ_MST_GoodsImage_ID.nextval from dual");
int imgId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
sbSql.Clear();
sbSql.Append("Insert into TP_MST_GoodsImage");
sbSql.Append("(GoodsImageID,GoodsID,Thumbnail,Image,AccountID,ValueFlag,");
sbSql.Append("CreateUserID,UpdateUserID)");
sbSql.Append(" VALUES(:GoodsImageID,:GoodsID,:Thumbnail,:Image,:AccountID,:ValueFlag,");
sbSql.Append(":CreateUserID,:UpdateUserID)");
OracleParameter[] imgParas = new OracleParameter[] {
new OracleParameter(":GoodsImageID",OracleDbType.Int32,imgId,ParameterDirection.Input),
new OracleParameter(":GoodsID",OracleDbType.Int32,id,ParameterDirection.Input),
new OracleParameter(":Thumbnail",OracleDbType.Blob,img.Thumbnail,ParameterDirection.Input),
new OracleParameter(":Image",OracleDbType.Blob,img.Image,ParameterDirection.Input),
new OracleParameter(":AccountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
new OracleParameter(":ValueFlag",OracleDbType.Int32,img.ValueFlag,ParameterDirection.Input),
//new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
new OracleParameter(":CreateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
//new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
new OracleParameter(":UpdateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
//new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
};
imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
}
//此处添加产品附件
//int AttReturn = AddAttachment(oracleTrConn, attList, id, sUserInfo);
//此处添加缺陷位置关联
//int dpCount = SaveGoodsDefectPosition(oracleTrConn, dpList, id, sUserInfo);
oracleTrConn.Commit();
oracleTrConn.Disconnect();
}
catch (Exception ex)
{
if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
{
oracleTrConn.Rollback();
oracleTrConn.Disconnect();
}
throw ex;
}
return returnRows;
}
///
/// 修改产品档案
///
/// 用户基本信息
/// 产品实体
/// 产品图片集合
/// 缺陷位置ID集合
/// int受影响行数
///
/// 庄天威 2014.09.04 新建
///
public static int updateGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity
, List imgList, List attList)
{
int returnRows = 0;
IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
if (goodsEntity.MudQuantity == null)
{
goodsEntity.MudQuantity = 0;
}
if (goodsEntity.GlazeQuantity == null)
{
goodsEntity.GlazeQuantity = 0;
}
if (goodsEntity.Remarks == null)
{
goodsEntity.Remarks = "";
}
if (goodsEntity.GoodsSpecification == null)
{
goodsEntity.GoodsSpecification = "";
}
if (goodsEntity.GoodsModel == null)
{
goodsEntity.GoodsModel = "";
}
try
{
oracleTrConn.Connect();
// 物料编码重复验证 add by chenxy 2017-07-11 begin
// 有不同编码,同物料编码的情况 delete by chenxy 2017-11-10
//string sqlString = "SELECT g.goodscode \n" +
//" FROM tp_mst_goods g\n" +
//" WHERE g.materialcode = :materialcode and g.goodsid <> :goodsid";
//OracleParameter[] checkParas = new OracleParameter[]{
// new OracleParameter(":materialcode",goodsEntity.MaterialCode),
// new OracleParameter(":goodsid",goodsEntity.GoodsID),
//};
//string goodscode = oracleTrConn.GetSqlResultToStr(sqlString, checkParas);
//if (!string.IsNullOrWhiteSpace(goodscode))
//{
// return -10;
//}
// 物料编码重复验证 add by chenxy 2017-07-11 end
StringBuilder sbSql = new StringBuilder();
sbSql.Append("update TP_MST_GOODS");
//sbSql.Append(" set GoodsCode=:GoodsCode,GoodsName=:GoodsName,GoodsSpecification=:GoodsSpecification,");
sbSql.Append(" set GoodsName=:GoodsName,GoodsSpecification=:GoodsSpecification,");
sbSql.Append(" GoodsModel=:GoodsModel,GoodsTypeID=:GoodsTypeID,GlazeTypeID=:GlazeTypeID,MudWeight=:MudWeight,");
sbSql.Append(" GlazeWeight=:GlazeWeight,LusterwareWeight=:LusterwareWeight,ProductionCycle=:ProductionCycle,CeaseFlag=:CeaseFlag,Goods_Line_Type=:Goods_Line_Type,Goods_Line_CODE=:Goods_Line_CODE,Remarks=:Remarks,");
sbSql.Append(" StartingDate=:StartingDate, AutoLossCycle = :AutoLossCycle, DeliverLimitCycle=:DeliverLimitCycle, PlateLimitNum=:PlateLimitNum,");
sbSql.Append(" UnitPrice=:UnitPrice,PackageNum=:PackageNum,OutletDistance=:OutletDistance,MaterialCode=:MaterialCode,MaterialRemark=:MaterialRemark,printcopies=:printcopies,");
sbSql.Append(" MouldWeight=:MouldWeight, MouldCost=:MouldCost,ScrapSumFlag=:ScrapSumFlag, ReservedDays=:ReservedDays,SEATCOVERCODE=:SEATCOVERCODE,");
sbSql.Append(" WaterLabelCode=:WaterLabelCode, StandardGroutingNum=:StandardGroutingNum,MouldMaterialCode=:MouldMaterialCode, MouldOutputCount=:MouldOutputCount,");
sbSql.Append(" AccountID=:AccountID,ValueFlag=:ValueFlag,UpdateUserID=:UpdateUserID,logoid=:logoid,");
sbSql.Append(" MudStoreType=:MudStoreType,");
sbSql.Append(" SecurityCodeBindFlag=:SecurityCodeBindFlag,");
sbSql.Append(" SecurityCodeCheckFlag=:SecurityCodeCheckFlag,");
sbSql.Append(" PlanFlag=:PlanFlag");
//sbSql.Append(" CreateTime=:CreateTime,CreateUserID=:CreateUserID ");
sbSql.Append(" where GoodsID=:GoodsID and OPTimeStamp=:OPTimeStamp");
OracleParameter[] paras = new OracleParameter[]{
// new OracleParameter(":GoodsCode",goodsEntity.GoodsCode),
new OracleParameter(":GoodsName",goodsEntity.GoodsName),
new OracleParameter(":GoodsSpecification",goodsEntity.GoodsSpecification),
new OracleParameter(":GoodsModel",goodsEntity.GoodsModel),
new OracleParameter(":GoodsTypeID",goodsEntity.GoodsTypeID),
new OracleParameter(":GlazeTypeID",goodsEntity.GlazeTypeID),
new OracleParameter(":MudWeight",goodsEntity.MudQuantity),
new OracleParameter(":GlazeWeight",goodsEntity.GlazeQuantity),
new OracleParameter(":LusterwareWeight",goodsEntity.LusterwareWeight),
new OracleParameter(":ProductionCycle",goodsEntity.ProductionCycle),
new OracleParameter(":CeaseFlag",goodsEntity.CeaseFlag),
new OracleParameter(":Goods_Line_Type",goodsEntity.GoodsLineType),
new OracleParameter(":Goods_Line_CODE",goodsEntity.GoodsLineCode),
new OracleParameter(":StartingDate",goodsEntity.StartingDate),
new OracleParameter(":AutoLossCycle",goodsEntity.AutoLossCycle),
new OracleParameter(":DeliverLimitCycle",goodsEntity.DeliverLimitCycle),
new OracleParameter(":PlateLimitNum",goodsEntity.PlateLimitNum),
new OracleParameter(":ReservedDays",goodsEntity.ReservedDays),
new OracleParameter(":UnitPrice",goodsEntity.UnitPrice),
new OracleParameter(":PackageNum",goodsEntity.PackageNum),
new OracleParameter(":OutletDistance",goodsEntity.OutletDistance),
new OracleParameter(":MaterialCode",goodsEntity.MaterialCode),
new OracleParameter(":MouldWeight",goodsEntity.MouldWeight),
new OracleParameter(":MouldCost",goodsEntity.MouldCost),
new OracleParameter(":ScrapSumFlag",goodsEntity.ScrapSumFlag),
new OracleParameter(":MaterialRemark",goodsEntity.MaterialRemark),
new OracleParameter(":printcopies",goodsEntity.PrintCopies),
new OracleParameter(":Remarks",goodsEntity.Remarks),
new OracleParameter(":SEATCOVERCODE",goodsEntity.SeatCoverCode),
new OracleParameter(":WaterLabelCode",goodsEntity.WaterLabelCode),
new OracleParameter(":StandardGroutingNum",goodsEntity.StandardGroutingNum),
new OracleParameter(":MouldMaterialCode",goodsEntity.MouldMaterialCode),
new OracleParameter(":MouldOutputCount",goodsEntity.MouldOutputCount),
new OracleParameter(":logoid", goodsEntity.LogoID),
new OracleParameter(":AccountID",goodsEntity.AccountID),
new OracleParameter(":ValueFlag",goodsEntity.ValueFlag),
//new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
new OracleParameter(":UpdateUserID",sUserInfo.UserID),
//new OracleParameter(":CreateTime",OracleDbType.Date,goodsEntity.CreateTime,ParameterDirection.Input),
//new OracleParameter(":CreateUserID",goodsEntity.CreateUserID),
new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,goodsEntity.OPTimeStamp,ParameterDirection.Input),
new OracleParameter(":MudStoreType",goodsEntity.MudStoreType),
new OracleParameter(":SecurityCodeBindFlag",goodsEntity.SecurityCodeBindFlag),
new OracleParameter(":SecurityCodeCheckFlag",goodsEntity.SecurityCodeCheckFlag),
new OracleParameter(":PlanFlag",goodsEntity.PlanFlag),
new OracleParameter(":GoodsId",goodsEntity.GoodsID)
};
returnRows = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), paras);
if (returnRows == 0)
{
oracleTrConn.Rollback();
oracleTrConn.Disconnect();
return -500;
}
//SAP物料信息
string sql = "delete from TP_MST_GoodsLogoSAP where goodsid = " + goodsEntity.GoodsID;
returnRows += oracleTrConn.ExecuteNonQuery(sql);
sql = "insert into TP_MST_GOODSLOGOSAP\n" +
" (GOODSID, LOGOID, GOODSCODE, MATERIALCODE, MATERIALREMARK, CREATEUSERID,WaterLabelCode,PLATELIMITNUM)\n" +
"values\n" +
" (:GOODSID, :LOGOID, :GOODSCODE, :MATERIALCODE, :MATERIALREMARK, :CREATEUSERID,:WaterLabelCode,:PlateLimitNum)";
foreach (DataRow item in goodsEntity.SAPInfo.Rows)
{
string sapcode = item["MATERIALCODE"] + "";
string sapremark = item["MATERIALREMARK"] + "";
if (string.IsNullOrWhiteSpace(sapcode))
{
continue;
}
if (string.IsNullOrEmpty(sapremark))
{
sapremark = " ";
}
paras = new OracleParameter[]{
new OracleParameter(":GOODSID",goodsEntity.GoodsID),
new OracleParameter(":LOGOID",item["LOGOID"]),
new OracleParameter(":GOODSCODE",goodsEntity.GoodsCode),
new OracleParameter(":MATERIALCODE",sapcode),
new OracleParameter(":MATERIALREMARK",sapremark),
new OracleParameter(":CREATEUSERID",sUserInfo.UserID),
new OracleParameter(":WaterLabelCode",item["WaterLabelCode"]),
new OracleParameter(":PlateLimitNum",item["PlateLimitNum"]),
};
returnRows += oracleTrConn.ExecuteNonQuery(sql, paras);
}
foreach (GoodsImageEntity imgEntity in imgList)
{
if (imgEntity.GoodsImageID == 0)
{
int imgReturn = 0;
sbSql.Clear();
sbSql.Append("select SEQ_MST_GoodsImage_ID.nextval from dual");
int imgId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
sbSql.Clear();
sbSql.Append("Insert into TP_MST_GoodsImage");
sbSql.Append("(GoodsImageID,GoodsID,Thumbnail,Image,AccountID,ValueFlag,");
sbSql.Append("CreateUserID,UpdateUserID)");
sbSql.Append(" VALUES(:GoodsImageID,:GoodsID,:Thumbnail,:Image,:AccountID,:ValueFlag,");
sbSql.Append(":CreateUserID,:UpdateUserID)");
OracleParameter[] imgParas = new OracleParameter[] {
new OracleParameter(":GoodsImageID",OracleDbType.Int32,imgId,ParameterDirection.Input),
new OracleParameter(":GoodsID",OracleDbType.Int32,goodsEntity.GoodsID,ParameterDirection.Input),
new OracleParameter(":Thumbnail",OracleDbType.Blob,imgEntity.Thumbnail,ParameterDirection.Input),
new OracleParameter(":Image",OracleDbType.Blob,imgEntity.Image,ParameterDirection.Input),
new OracleParameter(":AccountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
new OracleParameter(":ValueFlag",OracleDbType.Int32,imgEntity.ValueFlag,ParameterDirection.Input),
//new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
new OracleParameter(":CreateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
//new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
new OracleParameter(":UpdateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
//new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
};
imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
}
else
{
int imgReturn = 0;
sbSql.Clear();
sbSql.Append(" update TP_MST_GoodsImage");
sbSql.Append(" set GoodsID=:GoodsID,AccountID=:AccountID,ValueFlag=:ValueFlag,");
sbSql.Append(" UpdateUserID=:UpdateUserID");
//sbSql.Append(" where GoodsImageID=:GoodsImageID And OPTimeStamp=to_date(:OPTimeStamp,'yyyy-mm-dd HH24:mi:ss')");
sbSql.Append(" where GoodsImageID=:GoodsImageID");
OracleParameter[] imgParas = new OracleParameter[] {
new OracleParameter(":GoodsID",OracleDbType.Int32,
goodsEntity.GoodsID,ParameterDirection.Input),
new OracleParameter(":AccountID",OracleDbType.Int32,
imgEntity.AccountID,ParameterDirection.Input),
new OracleParameter(":ValueFlag",OracleDbType.Int32,
imgEntity.ValueFlag,ParameterDirection.Input),
//new OracleParameter(":UpdateTime",OracleDbType.NVarchar2,
// DateTime.Now.ToString(),ParameterDirection.Input),
new OracleParameter(":UpdateUserID",OracleDbType.Int32,
sUserInfo.UserID,ParameterDirection.Input),
new OracleParameter(":GoodsImageID",OracleDbType.Int32,
imgEntity.GoodsImageID,ParameterDirection.Input)
//,new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp, imgEntity.OPTimeStamp,ParameterDirection.Input)
};
imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
}
}
//修改产品附件
//int AttReturn = UpdateAttachment(oracleTrConn, attList, Convert.ToInt32(goodsEntity.GoodsID), sUserInfo);
oracleTrConn.Commit();
oracleTrConn.Disconnect();
}
catch (Exception ex)
{
if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
{
oracleTrConn.Rollback();
oracleTrConn.Disconnect();
}
throw ex;
}
return returnRows;
}
///
/// 查询产品物料信息
///
///
///
///
public static ServiceResultEntity GetGoodsSAP(SUserInfo sUserInfo, int goodsID)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"
select gl.LOGONAME , g.materialcode, g.materialremark,g.WaterLabelCode, '1' valueflag, -1 displayno, g.platelimitnum
from tp_mst_goods g
LEFT JOIN TP_MST_GOODSLOGO gl on gl.GOODSCODE=g.GOODSCODE
where g.goodsid = :goodsid
union all
select to_char(l.logoname)
,gls.materialcode
,gls.materialremark
,gls.WaterLabelCode
,l.valueflag
,l.displayno
,gls.platelimitnum
from tp_mst_goodslogosap gls
inner join tp_mst_logo l on l.logoid = gls.logoid
where gls.goodsid = :goodsid
order by valueflag desc, displayno";
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":goodsid",goodsID),
};
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, paras);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
///
/// 查询产品物料信息(编辑用)
///
///
///
///
public static ServiceResultEntity GetGoodsSAPByEdit(SUserInfo sUserInfo, int goodsID)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = "select l.logoid\n" +
" ,l.logoname\n" +
" ,gls.materialcode\n" +
" ,gls.materialremark\n" +
" ,gls.WaterLabelCode\n" +
" ,gls.goodsid\n" +
" ,l.valueflag\n" +
" ,gls.platelimitnum\n" +
" from tp_mst_logo l\n" +
" left join tp_mst_goodslogosap gls\n" +
" on gls.goodsid = :goodsid\n" +
" and l.logoid = gls.logoid\n" +
" where (l.valueflag = '1' or gls.goodsid is not null)\n" +
" order by gls.goodsid, l.valueflag desc, l.displayno";
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":goodsid",goodsID),
};
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, paras);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
#endregion
#region 获得生产工号集合
///
/// 获得生产工号集合
///
/// 用户基本信息
/// DataSet
///
/// 陈冰 2014.09.03 新建
///
public static DataSet GetWorker(SUserInfo sUserInfo)
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
new OracleParameter("rs_worker",OracleDbType.RefCursor,ParameterDirection.Output),
};
DataSet ds = con.ExecStoredProcedure("PRO_MST_GetWorker", paras);
return ds;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
#endregion
#region 获得工种集合
///
/// 获得工种集合
///
/// 用户基本信息
/// DataSet
///
/// 陈冰 2014.09.03 新建
///
public static DataSet GetJobs(SUserInfo sUserInfo)
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
new OracleParameter("rs_jobs",OracleDbType.RefCursor,ParameterDirection.Output),
};
DataSet ds = con.ExecStoredProcedure("PRO_MST_GetJobs", paras);
return ds;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
#endregion
#region 获得缺陷集合
///
/// 获得缺陷集合
///
/// 用户基本信息
/// DataSet
///
/// 陈冰 2014.09.03 新建
///
public static DataSet GetDefect(SUserInfo sUserInfo)
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
new OracleParameter("rs_defect",OracleDbType.RefCursor,ParameterDirection.Output),
};
DataSet ds = con.ExecStoredProcedure("PRO_MST_GetDefect", paras);
return ds;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
#endregion
#region 产品图片
///
/// 根据产品ID获取产品图片
///
/// 用户基本信息
/// 产品ID
/// DataSet
///
/// 庄天威 2014.09.04 新建
///
public static DataSet GetImageByGoodsId(SUserInfo sUserInfo, int goodsId)
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
new OracleParameter("in_goodsID",OracleDbType.Int32,goodsId,ParameterDirection.Input),
new OracleParameter("rs_result",OracleDbType.RefCursor,ParameterDirection.Output),
};
DataSet ds = con.ExecStoredProcedure("PRO_MST_GetImageByGoodsId", paras);
return ds;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
#endregion
#region 附件
///
/// 新建附件信息
///
/// 附件实体集合
/// 产品ID
/// 用户基本信息
/// int影响结果行数
public static int AddAttachment(List AttList, int mainId, SUserInfo userInfo)
{
IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
oracleTrConn.Connect();
int AttReturn = 0;
int GAReturn = 0;
StringBuilder sbSql = new StringBuilder();
foreach (GoodsAttachmentEntity attFor in AttList)
{
sbSql.Clear();
sbSql.Append("select SEQ_MST_Attachment_ID.nextval from dual");
int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
sbSql.Clear();
sbSql.Append(@"Insert into TP_MST_Attachment(AttachmentID,FileName,FilePath,AccountID,ValueFlag,
CreateUserID,UpdateUserID)
Values(:AttachmentID,:FileName,:FilePath,:AccountID,:ValueFlag,
:CreateUserID,:UpdateUserID)");
OracleParameter[] attParas = new OracleParameter[] {
new OracleParameter(":AttachmentID",OracleDbType.Int32,
id,ParameterDirection.Input),
new OracleParameter(":FileName",OracleDbType.NVarchar2,
attFor.FileName,ParameterDirection.Input),
new OracleParameter(":FilePath",OracleDbType.NVarchar2,
attFor.FilePath,ParameterDirection.Input),
new OracleParameter(":AccountID",OracleDbType.Int32,
userInfo.AccountID,ParameterDirection.Input),
new OracleParameter(":ValueFlag",OracleDbType.Int32,
1,ParameterDirection.Input),
new OracleParameter(":CreateUserID",OracleDbType.Int32,
userInfo.UserID,ParameterDirection.Input),
new OracleParameter(":UpdateUserID",OracleDbType.Int32,
userInfo.UserID,ParameterDirection.Input)
};
AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
sbSql.Clear();
sbSql.Append(@"Insert into TP_MST_GoodsAttachment(GoodsID,AttachmentID,CreateUserID,UpdateUserID)
Values(:GoodsID,:AttachmentID,:CreateUserID,:UpdateUserID)");
OracleParameter[] gaParas = new OracleParameter[] {
new OracleParameter(":GoodsID",OracleDbType.Int32,
mainId,ParameterDirection.Input),
new OracleParameter(":AttachmentID",OracleDbType.Int32,
id,ParameterDirection.Input),
new OracleParameter(":CreateUserID",OracleDbType.Int32,
userInfo.UserID,ParameterDirection.Input),
new OracleParameter(":UpdateUserID",OracleDbType.Int32,
userInfo.UserID,ParameterDirection.Input)
};
GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), gaParas);
sbSql.Clear();
}
oracleTrConn.Commit();
oracleTrConn.Disconnect();
return AttReturn;
}
catch (Exception ex)
{
if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
{
oracleTrConn.Rollback();
oracleTrConn.Disconnect();
}
throw ex;
}
}
///
/// 修改附件信息
///
/// 附件实体集合
/// 产品ID
/// 用户基本信息
/// int受影响行数
public static int UpdateAttachment(List AttList, int mainId, SUserInfo userInfo)
{
IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
oracleTrConn.Connect();
int AttReturn = 0;
int GAReturn = 0;
StringBuilder sbSql = new StringBuilder();
foreach (GoodsAttachmentEntity attFor in AttList)
{
if (attFor.IsUpdateAdd == 0) //不是新建的
{
sbSql.Clear();
sbSql.Append(@"Update TP_MST_Attachment set ValueFlag = :ValueFlag,UpdateUserID=:UpdateUserID
Where AttachmentID = :AttachmentID");
OracleParameter[] attParas = new OracleParameter[] {
new OracleParameter(":ValueFlag",OracleDbType.Int32,
attFor.ValueFlag,ParameterDirection.Input),
new OracleParameter(":UpdateUserID",OracleDbType.Int32,
userInfo.UserID,ParameterDirection.Input),
new OracleParameter(":AttachmentID",OracleDbType.Int32,
attFor.AttachmentID,ParameterDirection.Input)
};
AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
sbSql.Clear();
sbSql.Append(@"Update TP_MST_GoodsAttachment
Set ValueFlag = :ValueFlag,UpdateUserID=:UpdateUserID
Where AttachmentID = :AttachmentID");
GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
sbSql.Clear();
}
else //新建的
{
sbSql.Clear();
sbSql.Append("select SEQ_MST_Attachment_ID.nextval from dual");
int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
sbSql.Clear();
sbSql.Append(@"Insert into TP_MST_Attachment(AttachmentID,FileName,FilePath,AccountID,ValueFlag,
CreateUserID,UpdateUserID)
Values(:AttachmentID,:FileName,:FilePath,:AccountID,:ValueFlag,
:CreateUserID,:UpdateUserID)");
OracleParameter[] attParas = new OracleParameter[] {
new OracleParameter(":AttachmentID",OracleDbType.Int32,
id,ParameterDirection.Input),
new OracleParameter(":FileName",OracleDbType.NVarchar2,
attFor.FileName,ParameterDirection.Input),
new OracleParameter(":FilePath",OracleDbType.NVarchar2,
attFor.FilePath,ParameterDirection.Input),
new OracleParameter(":AccountID",OracleDbType.Int32,
userInfo.AccountID,ParameterDirection.Input),
new OracleParameter(":ValueFlag",OracleDbType.Int32,
1,ParameterDirection.Input),
new OracleParameter(":CreateUserID",OracleDbType.Int32,
userInfo.UserID,ParameterDirection.Input),
new OracleParameter(":UpdateUserID",OracleDbType.Int32,
userInfo.UserID,ParameterDirection.Input)
};
AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
sbSql.Clear();
sbSql.Append(@"Insert into TP_MST_GoodsAttachment(GoodsID,AttachmentID,CreateUserID,UpdateUserID)
Values(:GoodsID,:AttachmentID,:CreateUserID,:UpdateUserID)");
OracleParameter[] gaParas = new OracleParameter[] {
new OracleParameter(":GoodsID",OracleDbType.Int32,
mainId,ParameterDirection.Input),
new OracleParameter(":AttachmentID",OracleDbType.Int32,
id,ParameterDirection.Input),
new OracleParameter(":CreateUserID",OracleDbType.Int32,
userInfo.UserID,ParameterDirection.Input),
new OracleParameter(":UpdateUserID",OracleDbType.Int32,
userInfo.UserID,ParameterDirection.Input)
};
GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), gaParas);
sbSql.Clear();
}
}
oracleTrConn.Commit();
oracleTrConn.Disconnect();
return AttReturn;
}
catch (Exception ex)
{
if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
{
oracleTrConn.Rollback();
oracleTrConn.Disconnect();
}
throw ex;
}
}
///
/// 根据产品ID获取附件
///
/// 产品ID
/// DataSet
public static DataSet GetAttachmentByGoodsId(int goodsId)
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
String strSql = @"Select goodsAtt.GoodsID,att.* from TP_MST_GoodsAttachment goodsAtt
Inner join TP_MST_Attachment att
On goodsAtt.AttachmentID = att.AttachmentID
Where goodsAtt.ValueFlag = 1 and goodsAtt.GoodsID = " + goodsId;
DataSet ds = con.GetSqlResultToDs(strSql, null);
return ds;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
#endregion
#region 缺陷位置
///
/// 获取缺陷位置
///
/// 缺陷位置实体
/// 用户基本信息
/// DataSet
public static DataSet GetDefectPosition(DefectPositionEntity dpEntity, SUserInfo userInfo)
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter("in_DefectPositionID",OracleDbType.Int32,
dpEntity.DefectPositionID,ParameterDirection.Input),
new OracleParameter("in_DefectPositionCode",OracleDbType.NVarchar2,
dpEntity.DefectPositionCode,ParameterDirection.Input),
new OracleParameter("in_DefectPositionName",OracleDbType.NVarchar2,
dpEntity.DefectPositionName,ParameterDirection.Input),
new OracleParameter("in_AccountID",OracleDbType.Int32,
userInfo.AccountID,ParameterDirection.Input),
new OracleParameter("out_rs_defect",OracleDbType.RefCursor,ParameterDirection.Output),
};
DataSet dsDefectPosition = con.ExecStoredProcedure("PRO_MST_GetDefectPosition", paras);
return dsDefectPosition;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
///
/// 根据产品获得产品缺陷位置
///
/// 产品ID
/// DataSet
public static DataSet getGoodsDefectPositionByGoodsId(int GoodsId)
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
string sql = @"select gdp.*,dp.DefectPositionCode,dp.DefectPositionName,dp.Remarks
from TP_MST_GoodsDefectPosition gdp
inner join TP_MST_DefectPosition dp
on gdp.DefectPositionID=dp.DefectPositionID
where gdp.GoodsID=" + GoodsId;
DataSet dsDefectPosition = con.GetSqlResultToDs(sql, null);
return dsDefectPosition;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
///
/// 保存产品缺陷位置关联(依附在添加产品中)
///
/// 缺陷位置集
/// 产品ID
/// 用户基本信息
/// int
public static int SaveGoodsDefectPosition(IDBTransaction oracleTrConn, List dpList, int GoodsId, SUserInfo userInfo)
{
try
{
int ReturnCount = 0;
string sql = "Delete from TP_MST_GoodsDefectPosition where GoodsId=" + GoodsId;
foreach (int dpFor in dpList)
{
string sqlAdd = @"Insert into TP_MST_GoodsDefectPosition(GoodsID,DefectPositionID,
CreateTime,CreateUserID) Values(:GoodsID,:DefectPositionID,sysdate,:CreateUserID)";
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":GoodsID",OracleDbType.Int32,
GoodsId,ParameterDirection.Input),
new OracleParameter(":DefectPositionID",OracleDbType.Int32,
dpFor,ParameterDirection.Input),
new OracleParameter(":CreateUserID",OracleDbType.Int32,
userInfo.UserID,ParameterDirection.Input),
};
ReturnCount += oracleTrConn.ExecuteNonQuery(sqlAdd, paras);
}
return ReturnCount;
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
#region 成型线类型
///
/// 获取成型线类型
///
/// 用户基本信息
/// 数据集
///
/// 庄天威 2014.09.04 新建
///
public static DataSet GetGMouldType(SUserInfo userInfo)
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter("in_accountID",OracleDbType.Int32,
userInfo.AccountID,ParameterDirection.Input),
new OracleParameter("in_valueFlag",OracleDbType.Int32,
1,ParameterDirection.Input),
new OracleParameter("out_result",OracleDbType.RefCursor,ParameterDirection.Output),
};
DataSet ds = con.ExecStoredProcedure("PRO_MST_GetMouldType", paras);
return ds;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
#endregion
#region 产品分级数据源
///
/// 产品分级数据源
///
/// 1适用半成品2检验 2适用成品检验 3入窑前检验
/// 用户基本信息
/// DataSet
public static DataSet GetGoodsLevel(int type, SUserInfo userInfo)
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
string sqlString = "";
if (type == 1 || type == 3)
{
sqlString = "select GoodsLevelID as DefectFlagID,GoodsLevelName as DefectFlagName,GoodsLevelTypeID from TP_MST_GoodsLevel where IsSemiFinishedEx=1 and AccountID=:AccountID and ValueFlag=1 order by SFEDisplayNo";
}
else if (type == 2)
{
sqlString = "select GoodsLevelID as DefectFlagID,GoodsLevelName as DefectFlagName,GoodsLevelTypeID from TP_MST_GoodsLevel where IsFinishedEx=1 and AccountID=:AccountID and ValueFlag=1 order by FEDisplayNo";
}
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":AccountID",userInfo.AccountID),
};
DataSet dsGoodsLevel = con.GetSqlResultToDs(sqlString, paras);
return dsGoodsLevel;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
#endregion
#region 审核状态
///
/// 获取全部审核状态
///
/// DataSet审核状态数据源
public static DataSet GetAuditStatus()
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
String strSql = "Select * from TP_SYS_AuditStatus Order by DisplayNo";
DataSet ds = con.GetSqlResultToDs(strSql, null);
return ds;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
#endregion
///
/// 工序集合
///
/// 工序实体
/// 用户<基本信息/param>
/// DataSet
///
/// 王鑫 2014.11.29 新建
///
public static DataSet GetProdureList(SearchProductionLineEntity productionLineEntity, SUserInfo sUserInfo)
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter("in_procedureCode",OracleDbType.Varchar2,productionLineEntity.ProductionLineCode,ParameterDirection.Input),
new OracleParameter("in_procedureName",OracleDbType.Varchar2,productionLineEntity.ProductionLineName,ParameterDirection.Input),
new OracleParameter("in_procedureIDS",OracleDbType.Varchar2,productionLineEntity.ProcuteLineIDS,ParameterDirection.Input),
new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
};
DataSet dsSearchReport = con.ExecStoredProcedure("PRO_PC_GetProcedureList", paras);
return dsSearchReport;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
///
/// 获取全部工种计件方式
///
/// DataSet工种计件方式集合
public static DataSet GetJobsPriceType()
{
IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
con.Open();
String strSql = "Select * from TP_SYS_JobsPriceType Order by DisplayNo";
DataSet dsSearchReport = con.GetSqlResultToDs(strSql, null);
return dsSearchReport;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (con.ConnState == ConnectionState.Open)
{
con.Close();
}
}
}
#region 装具管理
///
/// 查询装具信息
///
///
///
///
public static ServiceResultEntity GetEntruckingInfo(SUserInfo sUserInfo, string entruckingCode)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"
SELECT
TPE.ENTRUCKINGCODE,
CASE WHEN TPE.STATUS = 1 THEN '已使用' ELSE '未使用' END AS STATUS,
TPE.TRUCKSIZE,
TPE.REMARKS,
TPE.Batch,
TPE.VALUEFLAG
FROM
TP_PM_ENTRUCKING TPE
WHERE 1=1";
if (!string.IsNullOrEmpty(entruckingCode))
{
sqlString += "AND TPE.ENTRUCKINGCODE LIKE '%" + entruckingCode.ToString() + "%'";
}
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, null);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
///
/// 查询装具明细信息
///
///
///
///
public static ServiceResultEntity GetEntruckingInfoDetail(SUserInfo sUserInfo, string entruckingCode)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"
SELECT
TPED.BARCODE AS BARCODEDETAIL,
TPED.BATCH AS BATCHDETAIL,
CASE WHEN TPED.DOFUNCTION = 1 THEN '绑定'
WHEN TPED.DOFUNCTION = 2 THEN '解绑'
WHEN TPED.DOFUNCTION = 3 THEN '增加'
WHEN TPED.DOFUNCTION = 4 THEN '删减'
ELSE '' END AS DOFUNCTIONDETAIL,
TPP.PROCEDURENAME AS PROCEDUREIDDETAIL,
TPED.REMARKS AS REMARKSDETAIL,
TPED.USERCODE AS USERCODEDETAIL,
TPED.CREATETIME AS CREATETIMEDETAIL
FROM
TP_PM_ENTRUCKINGDETAIL TPED
INNER JOIN TP_PM_ENTRUCKING TPE ON TPED.ENTRUCKINGCODE = TPE.ENTRUCKINGCODE
LEFT JOIN TP_PC_PROCEDURE TPP ON TPED.ProcedureID = TPP.ProcedureID
WHERE
1 = 1
AND TPED.VALUEFLAG = 1
AND TPED.ENTRUCKINGCODE = : ENTRUCKINGCODE
ORDER BY TPED.CREATETIME DESC";
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":ENTRUCKINGCODE",entruckingCode),
};
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, paras);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
///
/// 保存装具信息
///
///
///
///
public static ServiceResultEntity InsertEntruckingInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBTransaction conn = null;
try
{
conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
ServiceResultEntity sre = new ServiceResultEntity();
DataTable dt = new DataTable();
string sqlString = string.Empty;
OracleParameter[] paras = new OracleParameter[] { };
#region 新建校验
if (cre.Properties["FromStatus"].ToString() == "Add")
{
//如果装具条码是新建的情况下,是否存在相同装具条码
sqlString = @"
SELECT 1 FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()), };
dt = new DataTable();
dt = conn.GetSqlResultToDt(sqlString, paras);
if (dt != null && dt.Rows.Count > 0)
{
//存在相同装具条码
sre.OtherStatus = -1001;
return sre;
}
}
#endregion
#region 编辑校验
if (cre.Properties["FromStatus"].ToString() == "Edit")
{
//查看装具是否时使用状态,如果使用状态不可以修改装具信息
sqlString = @"
SELECT STATUS FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) };
dt = conn.GetSqlResultToDt(sqlString, paras);
if (dt != null && dt.Rows.Count > 0 && dt.Rows[0]["STATUS"].ToString() == "1")
{
//使用状态不可以修改装具信息
sre.OtherStatus = -1002;
return sre;
}
//删除存在装具条码
sqlString = @"
DELETE FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) };
int results = conn.ExecuteNonQuery(sqlString, paras);
if (results <= 0)
{
//未改变任何数据
sre.OtherStatus = -1003;
return sre;
}
}
#endregion
#region 保存信息
//保存装具条码
sqlString = @"
INSERT INTO TP_PM_ENTRUCKING(
ENTRUCKINGCODE,
STATUS,
TRUCKSIZE,
BATCH,
REMARKS,
ACCOUNTID,
VALUEFLAG,
CREATEUSERID,
UPDATEUSERID
) VALUES(
:ENTRUCKINGCODE,
0,
:TRUCKSIZE,
0,
:REMARKS,
1,
:VALUEFLAG,
:USERID,
:USERID
)";
paras = new OracleParameter[] {
new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) ,
new OracleParameter(":TRUCKSIZE", cre.Properties["txtTruckSize"].ToString()) ,
new OracleParameter(":REMARKS", cre.Properties["txtRemarks"].ToString()) ,
new OracleParameter(":VALUEFLAG", cre.Properties["cmbValueFlag"].ToString()) ,
new OracleParameter(":USERID", sUserInfo.UserID)
};
int result = conn.ExecuteNonQuery(sqlString, paras);
if (result <= 0)
{
//未改变任何数据
sre.OtherStatus = -1003;
return sre;
}
else
{
//提交数据
sre.OtherStatus = 1;
conn.Commit();
}
#endregion
return sre;
}
catch (Exception ex)
{
conn.Rollback();
conn.Disconnect();
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Disconnect();
}
}
}
#endregion
#region 客户信息
public static ServiceResultEntity GetCustomer(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"
SELECT
C.CUSTOMERID,
C.CUSTOMERCODE,
C.CUSTOMERNAME,
M.GOODSCODE,
M.GOODSNAME,
C.REMARKS,
CASE
WHEN C.VALUEFLAG = 1 THEN
'是' ELSE '否'
END AS VALUEFLAG
FROM
TP_PC_CUSTOMERINFORMATION C
LEFT JOIN TP_MST_GOODS M ON C.GOODSCODE = M.GOODSCODE
WHERE
1 =1 AND M.GOODSCODE IS NOT NULL";
if (!string.IsNullOrEmpty(cre.Properties["Customerid"].ToString()))
{
sqlString += " AND C.CUSTOMERID = :CUSTOMERID";
}
if (!string.IsNullOrEmpty(cre.Properties["CustomerCode"].ToString()))
{
sqlString += " AND C.CUSTOMERCODE like :CUSTOMERCODE";
}
if (!string.IsNullOrEmpty(cre.Properties["CustomerName"].ToString()))
{
sqlString += " AND C.CUSTOMERNAME like :CUSTOMERNAME";
}
if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
{
sqlString += " AND C.VALUEFLAG = :VALUEFLAG";
}
if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
{
sqlString += " AND M.GOODSCODE like :GOODSCODE";
}
if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
{
sqlString += " AND M.GOODSNAME like :GOODSNAME";
}
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":CUSTOMERID",cre.Properties["Customerid"].ToString()),
new OracleParameter(":CUSTOMERCODE",'%'+cre.Properties["CustomerCode"].ToString()+'%'),
new OracleParameter(":CUSTOMERNAME",'%'+cre.Properties["CustomerName"].ToString()+'%'),
new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
new OracleParameter(":GOODSNAME",'%'+cre.Properties["GOODSNAME"].ToString()+'%'),
new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString())
};
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, paras);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
///
/// 保存客户信息
///
///
///
///
public static ServiceResultEntity AddCustomerInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBTransaction conn = null;
try
{
conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
ServiceResultEntity sre = new ServiceResultEntity();
DataTable dt = new DataTable();
string sqlString = string.Empty;
OracleParameter[] paras = new OracleParameter[] { };
//如果客户信息是新建的情况下,是否存在相同客户编码
if (cre.Properties["FromStatus"].ToString() == "Add")
{
sqlString = @" SELECT 1 FROM TP_PC_CUSTOMERINFORMATION WHERE CUSTOMERCODE = :CUSTOMERCODE AND GOODSCODE = :GOODSCODE ";
paras = new OracleParameter[] {
new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString())
};
dt = new DataTable();
dt = conn.GetSqlResultToDt(sqlString, paras);
if (dt != null && dt.Rows.Count > 0)
{
//存在相同客户编码
sre.OtherStatus = -1001;
return sre;
}
}
#region 新增
if (cre.Properties["FromStatus"].ToString() == "Add")
{
//保存客户信息
sqlString = @"
INSERT INTO TP_PC_CUSTOMERINFORMATION(
CUSTOMERCODE,
CUSTOMERNAME,
REMARKS,
ACCOUNTID,
VALUEFLAG,
CREATEUSERID,
UPDATEUSERID,
GOODSCODE
) VALUES(
:CUSTOMERCODE,
:CUSTOMERNAME,
:REMARKS,
1,
:VALUEFLAG,
:USERID,
:USERID,
:GOODSCODE)";
paras = new OracleParameter[] {
new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
new OracleParameter(":CUSTOMERNAME", cre.Properties["CUSTOMERNAME"].ToString()) ,
new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()) ,
new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
new OracleParameter(":USERID", sUserInfo.UserID) ,
new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
};
}
#endregion
#region 编辑
if (cre.Properties["FromStatus"].ToString() == "Edit")
{
//sqlString = @"
// SELECT 1 FROM TP_PC_CUSTOMERINFORMATION WHERE CUSTOMERCODE = :CUSTOMERCODE AND CUSTOMERCODE != :CUSTOMERCODEONE";
//paras = new OracleParameter[] {
// new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
// new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString())
//};
//dt = new DataTable();
//dt = conn.GetSqlResultToDt(sqlString, paras);
//if (dt != null && dt.Rows.Count > 0)
//{
// //存在相同客户编码
// sre.OtherStatus = -1001;
// return sre;
//}
sqlString = @"UPDATE TP_PC_CUSTOMERINFORMATION
SET
CUSTOMERCODE=:CUSTOMERCODE,
CUSTOMERNAME =:CUSTOMERNAME,
REMARKS = :REMARKS,
VALUEFLAG = :VALUEFLAG,
GOODSCODE = :GOODSCODE
WHERE
CUSTOMERID = :CUSTOMERID";
paras = new OracleParameter[] {
new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
new OracleParameter(":CUSTOMERID",Convert.ToInt32(cre.Properties["CUSTOMERID"])),
new OracleParameter(":CUSTOMERNAME", cre.Properties["CUSTOMERNAME"].ToString()) ,
new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()),
new OracleParameter(":VALUEFLAG", Convert.ToInt32(cre.Properties["VALUEFLAG"])),
new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
//new OracleParameter(":USERID", sUserInfo.UserID)
};
}
#endregion
int result = conn.ExecuteNonQuery(sqlString, paras);
if (result <= 0)
{
//未改变任何数据
sre.OtherStatus = -1003;
return sre;
}
else
{
//提交数据
sre.OtherStatus = 1;
conn.Commit();
}
return sre;
}
catch (Exception ex)
{
conn.Rollback();
conn.Disconnect();
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Disconnect();
}
}
}
#endregion
#region 版面信息
public static ServiceResultEntity GetLayout(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"SELECT DISTINCT
L.LAYOUTID,
L.CUSTOMERCODE,
C.CUSTOMERNAME,
L.LAYOUTCODE,
L.LAYOUTNAME,
L.REMARKS,
L.GOODSCODE,
M.GOODSNAME,
CASE
WHEN L.VALUEFLAG = 1 THEN
'是' ELSE '否'
END AS VALUEFLAG
FROM
TP_PC_LAYOUTINFORMATION L
LEFT JOIN TP_PC_CUSTOMERINFORMATION C ON L.CUSTOMERCODE = C.CUSTOMERCODE
LEFT JOIN TP_MST_GOODS M ON L.GOODSCODE = M.GOODSCODE
WHERE 1 =1 AND l.LAYOUTID IN
(
SELECT LAYOUTID FROM
(
SELECT MAX(LAYOUTID) LAYOUTID, CUSTOMERCODE,
LAYOUTNAME, GOODSCODE,
count( 1 ) over ( partition BY CUSTOMERCODE, LAYOUTNAME, GOODSCODE ) rn
FROM TP_PC_LAYOUTINFORMATION
GROUP BY CUSTOMERCODE,LAYOUTNAME,GOODSCODE
)
)";
if (!string.IsNullOrEmpty(cre.Properties["Layoutid"].ToString()))
{
sqlString += " AND L.LAYOUTID = :LAYOUTID";
}
if (!string.IsNullOrEmpty(cre.Properties["LayoutCode"].ToString()))
{
sqlString += " AND L.LAYOUTCODE like : LAYOUTCODE";
}
if (!string.IsNullOrEmpty(cre.Properties["CustomerCode"].ToString()))
{
sqlString += " AND L.CUSTOMERCODE like : CUSTOMERCODE";
}
if (!string.IsNullOrEmpty(cre.Properties["LayoutName"].ToString()))
{
sqlString += " AND L.LAYOUTNAME like : LAYOUTNAME";
}
if (!string.IsNullOrEmpty(cre.Properties["ValueFlag"].ToString()))
{
sqlString += " AND L.VALUEFLAG = : VALUEFLAG";
}
if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
{
sqlString += " AND L.GOODSCODE like : GOODSCODE";
}
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":LAYOUTID",cre.Properties["Layoutid"].ToString()),
new OracleParameter(":LAYOUTCODE",'%'+cre.Properties["LayoutCode"].ToString()+'%'),
new OracleParameter(":CUSTOMERCODE",'%'+cre.Properties["CustomerCode"].ToString()+'%'),
new OracleParameter(":LAYOUTNAME",'%'+cre.Properties["LayoutName"].ToString()+'%'),
new OracleParameter(":VALUEFLAG",cre.Properties["ValueFlag"].ToString()),
new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%')
};
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, paras);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
///
///保存版面信息
///
public static ServiceResultEntity AddLayoutInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBTransaction conn = null;
try
{
conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
ServiceResultEntity sre = new ServiceResultEntity();
DataTable dt = new DataTable();
string sqlString = string.Empty;
OracleParameter[] paras = new OracleParameter[] { };
OracleParameter[] paras1= new OracleParameter[] { };
#region 新增
if (cre.Properties["FromStatus"].ToString() == "Add")
{
//保存客户信息
sqlString = @"INSERT INTO TP_PC_LAYOUTINFORMATION(
CUSTOMERCODE,
LAYOUTNAME,
REMARKS,
ACCOUNTID,
VALUEFLAG,
CREATEUSERID,
UPDATEUSERID ,
GOODSCODE
) VALUES(
:CUSTOMERCODE,
:LAYOUTNAME,
:REMARKS,
1,
:VALUEFLAG,
:USERID,
:USERID,
:GOODSCODE)";
paras = new OracleParameter[] {
new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
new OracleParameter(":LAYOUTNAME", cre.Properties["LAYOUTNAME"].ToString()) ,
new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()) ,
new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
new OracleParameter(":USERID", sUserInfo.UserID),
new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString())
};
}
#endregion
#region 编辑
if (cre.Properties["FromStatus"].ToString() == "Edit")
{
//sqlString = @"
// SELECT 1 FROM TP_PC_LAYOUTINFORMATION WHERE
// LAYOUTCODE = :LAYOUTCODE AND LAYOUTCODE != :LAYOUTCODEONE
// AND CUSTOMERCODE = :CUSTOMERCODE AND CUSTOMERCODE != :CUSTOMERCODEONE
// AND GOODSCODE = :GOODSCODE AND GOODSCODE != :GOODSCODEONE ";
//paras = new OracleParameter[] {
// new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
// new OracleParameter(":LAYOUTCODEONE", cre.Properties["LAYOUTCODEONE"].ToString()),
// new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
// new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString()),
// new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
// new OracleParameter(":GOODSCODEONE", cre.Properties["GOODSCODEONE"].ToString()),
//};
//dt = new DataTable();
//dt = conn.GetSqlResultToDt(sqlString, paras);
//if (dt != null && dt.Rows.Count > 0)
//{
// //存在相同版面编码
// sre.OtherStatus = -1001;
// return sre;
//}
sqlString = @"UPDATE TP_PC_LAYOUTINFORMATION
SET
CUSTOMERCODE=:CUSTOMERCODE,
LAYOUTNAME =:LAYOUTNAME,
REMARKS = :REMARKS,
VALUEFLAG = :VALUEFLAG ,
GOODSCODE = :GOODSCODE
WHERE
LAYOUTID = :LAYOUTID";
paras = new OracleParameter[] {
new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
new OracleParameter(":LAYOUTID",Convert.ToInt32(cre.Properties["LAYOUTID"])),
new OracleParameter(":LAYOUTNAME", cre.Properties["LAYOUTNAME"].ToString()),
new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()),
new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
};
}
#endregion
int result = conn.ExecuteNonQuery(sqlString, paras);
if (result <= 0)
{
//未改变任何数据
sre.OtherStatus = -1003;
return sre;
}
else
{
//提交数据
sre.OtherStatus = 1;
conn.Commit();
}
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Disconnect();
}
}
}
#endregion
#region 订单信息
public static ServiceResultEntity GetOrder(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"SELECT
ord.ORDERSCODE,
ord.ORDERSNAME,
'' AS GOODSCODE,
ord.NUMBERS,
CASE
WHEN ord.VALUEFLAG = 1 THEN
'是' ELSE '否'
END AS VALUEFLAG
FROM
TP_PC_ORDERINFORMATION ord
WHERE
1 = 1";
if (!string.IsNullOrEmpty(cre.Properties["ORDERSCODE"].ToString()))
{
sqlString += " AND ORDERSCODE like :ORDERSCODE";
}
if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
{
sqlString += " AND GOODSCODE like :GOODSCODE";
}
if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
{
sqlString += " AND VALUEFLAG = :VALUEFLAG";
}
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":ORDERSCODE",'%'+cre.Properties["ORDERSCODE"].ToString()+'%'),
new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
};
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, paras);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
//订单详细信息
public static ServiceResultEntity GetOrderDetails(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"SELECT
DISTINCT
ord.ORDERSDETAILID,
ord.ORDERSID,
ORD.ORDERSCODE,
cus.CUSTOMERCODE,
cus.CUSTOMERNAME,
lay.LAYOUTCODE,
lay.LAYOUTNAME,
ord.GOODSCODE,
gd.GOODSNAME,
ord.BARCODE,
ord.ENTRUCKINGCODE,
ord.NUMBERS,
ord.CREATETIME,
case when ord.VALUEFLAG=1 then '是' else '否' end VALUEFLAG
FROM
TP_PC_ORDERINFORMATIONDETAILS ord
inner JOIN TP_PC_CUSTOMERINFORMATION cus on cus.CUSTOMERCODE=ord.CUSTOMERCODE
inner JOIN TP_PC_LAYOUTINFORMATION lay on lay.LAYOUTCODE=ord.LAYOUTCODE
LEFT JOIN TP_MST_GOODS gd on gd.GOODSCODE=ord.GOODSCODE
WHERE 1=1 ";
if (!string.IsNullOrEmpty(cre.Properties["ORDERCODE"].ToString()))
{
string order = "'%" + cre.Properties["ORDERCODE"].ToString() + "%'";
sqlString += " AND ord.ORDERSCODE like " + order;
}
if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
{
string goodscode = "'%" + cre.Properties["GOODSCODE"].ToString() + "%'";
sqlString += " AND ord.GOODSCODE like " + goodscode;
}
if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
{
sqlString += " AND ord.VALUEFLAG =" + cre.Properties["VALUEFLAG"].ToString();
}
if (!string.IsNullOrEmpty(cre.Properties["ORDERSDETAILID"].ToString()))
{
sqlString += " AND ord.ORDERSDETAILID = " + cre.Properties["ORDERSDETAILID"].ToString();
}
if (!string.IsNullOrEmpty(cre.Properties["ENTRUCKINGCODE"].ToString()))
{
sqlString += " AND ord.ENTRUCKINGCODE = '" + cre.Properties["ENTRUCKINGCODE"].ToString() + "'";
}
if (!string.IsNullOrEmpty(cre.Properties["CUSTOMERNAME"].ToString()))
{
string customername = "'%" + cre.Properties["CUSTOMERNAME"].ToString() + "%'";
sqlString += " AND cus.CUSTOMERNAME LIKE " + customername;
}
if (!string.IsNullOrEmpty(cre.Properties["LAYOUTNAME"].ToString()))
{
string layoutname = "'%" + cre.Properties["LAYOUTNAME"].ToString() + "%'";
sqlString += " AND lay.LAYOUTNAME LIKE " + layoutname;
}
if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
{
string GOODSNAME = "'%" + cre.Properties["GOODSNAME"].ToString() + "%'";
sqlString += " AND gd.GOODSNAME LIKE " + GOODSNAME;
}
if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStart"].ToString()))
{
sqlString += " AND ord.CREATETIME >= to_date('" + cre.Properties["CreateTimeStart"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
}
if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStartEnd"].ToString()))
{
sqlString += " AND ord.CREATETIME <= to_date('" + cre.Properties["CreateTimeStartEnd"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
}
sqlString += " ORDER BY ord.CREATETIME DESC";
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, null);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
//订单最新信息汇总
public static ServiceResultEntity GetOrderNumber(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"SELECT
GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) GID,
ORDERSDETAILID,
ORDERSID,
CASE WHEN GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) =15 THEN '合计'
WHEN GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) =63 THEN '总计'
WHEN GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) =0 AND CREATETIME is null THEN '小计' ELSE TO_CHAR(ORDERSCODE) END AS ORDERSCODE ,
CUSTOMERCODE,
CUSTOMERNAME,
LAYOUTCODE,
LAYOUTNAME,
GOODSCODE,
GOODSNAME,
ENTRUCKINGCODE,
STATUS,
SUM(NUMBERS) AS NUMBERS,
CREATETIME,
VALUEFLAG
FROM(
SELECT
DISTINCT
ord.ORDERSDETAILID,
ord.ORDERSID,
ORD.ORDERSCODE,
cus.CUSTOMERCODE,
cus.CUSTOMERNAME,
lay.LAYOUTCODE,
lay.LAYOUTNAME,
ord.GOODSCODE,
gd.GOODSNAME,
ord.BARCODE,
ord.ENTRUCKINGCODE,
CASE WHEN pe.STATUS = 1 THEN '已使用' ELSE '未使用' END AS STATUS,
ord.NUMBERS,
ord.CREATETIME,
row_number() over(partition by ord.ENTRUCKINGCODE order by ord.CREATETIME desc) rn ,
case when ord.VALUEFLAG=1 then '是' else '否' end VALUEFLAG
FROM
TP_PC_ORDERINFORMATIONDETAILS ord
inner JOIN TP_PC_CUSTOMERINFORMATION cus on cus.CUSTOMERCODE=ord.CUSTOMERCODE
inner JOIN TP_PC_LAYOUTINFORMATION lay on lay.LAYOUTCODE=ord.LAYOUTCODE
LEFT JOIN TP_MST_GOODS gd on gd.GOODSCODE=ord.GOODSCODE
LEFT JOIN TP_PM_ENTRUCKING pe on pe.entruckingcode = ord.entruckingcode
WHERE 1=1 ";
if (!string.IsNullOrEmpty(cre.Properties["ORDERCODE"].ToString()))
{
string order = "'%" + cre.Properties["ORDERCODE"].ToString() + "%'";
sqlString += " AND ord.ORDERSCODE like " + order;
}
if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
{
string goodscode = "'%" + cre.Properties["GOODSCODE"].ToString() + "%'";
sqlString += " AND ord.GOODSCODE like " + goodscode;
}
if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
{
sqlString += " AND ord.VALUEFLAG =" + cre.Properties["VALUEFLAG"].ToString();
}
if (!string.IsNullOrEmpty(cre.Properties["ORDERSDETAILID"].ToString()))
{
sqlString += " AND ord.ORDERSDETAILID = " + cre.Properties["ORDERSDETAILID"].ToString();
}
if (!string.IsNullOrEmpty(cre.Properties["ENTRUCKINGCODE"].ToString()))
{
sqlString += " AND ord.ENTRUCKINGCODE = '" + cre.Properties["ENTRUCKINGCODE"].ToString() + "'";
}
if (!string.IsNullOrEmpty(cre.Properties["CUSTOMERNAME"].ToString()))
{
string customername = "'%" + cre.Properties["CUSTOMERNAME"].ToString() + "%'";
sqlString += " AND cus.CUSTOMERNAME LIKE " + customername;
}
if (!string.IsNullOrEmpty(cre.Properties["LAYOUTNAME"].ToString()))
{
string layoutname = "'%" + cre.Properties["LAYOUTNAME"].ToString() + "%'";
sqlString += " AND lay.LAYOUTNAME LIKE " + layoutname;
}
if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
{
string GOODSNAME = "'%" + cre.Properties["GOODSNAME"].ToString() + "%'";
sqlString += " AND gd.GOODSNAME LIKE " + GOODSNAME;
}
if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStart"].ToString()))
{
sqlString += " AND ord.CREATETIME >= to_date('" + cre.Properties["CreateTimeStart"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
}
if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStartEnd"].ToString()))
{
sqlString += " AND ord.CREATETIME <= to_date('" + cre.Properties["CreateTimeStartEnd"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
}
sqlString += @" )
WHERE rn = 1
GROUP BY GROUPING SETS((
ORDERSDETAILID,
ORDERSID,
ORDERSCODE,
CUSTOMERCODE,
CUSTOMERNAME,
LAYOUTCODE,
LAYOUTNAME,
GOODSCODE,
GOODSNAME,
ENTRUCKINGCODE,
STATUS,
CREATETIME,
VALUEFLAG
), (CUSTOMERCODE, CUSTOMERNAME, LAYOUTCODE, LAYOUTNAME, GOODSCODE, GOODSNAME), (CUSTOMERCODE, CUSTOMERNAME), ())";
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, null);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
///
/// /保存订单信息
///
public static ServiceResultEntity AddOrderInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBTransaction conn = null;
try
{
conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
ServiceResultEntity sre = new ServiceResultEntity();
DataTable dt = new DataTable();
string sqlString = string.Empty;
OracleParameter[] paras = new OracleParameter[] { };
//如果版面信息是新建的情况下,是否存在相同版面编码
if (cre.Properties["FromStatus"].ToString() == "Add")
{
sqlString = @"
SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE";
paras = new OracleParameter[] { new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()), };
dt = new DataTable();
dt = conn.GetSqlResultToDt(sqlString, paras);
if (dt != null && dt.Rows.Count > 0)
{
//存在相同版面编码
sre.OtherStatus = -1001;
return sre;
}
}
#region 新增
if (cre.Properties["FromStatus"].ToString() == "Add")
{
//保存客户信息
sqlString = @"INSERT INTO TP_PC_ORDERINFORMATION(
CUSTOMERCODE,
LAYOUTCODE,
ORDERSCODE,
ORDERSNAME,
NUMBERS,
VALUEFLAG,
ACCOUNTID,
CREATEUSERID,
UPDATEUSERID
) VALUES(
:CUSTOMERCODE,
:LAYOUTCODE,
:ORDERSCODE,
:ORDERSNAME,
:NUMBERS,
:VALUEFLAG,
1,
:USERID,
:USERID)";
paras = new OracleParameter[] {
new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
new OracleParameter(":ORDERSNAME", cre.Properties["ORDERSNAME"].ToString()) ,
new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
new OracleParameter(":USERID", sUserInfo.UserID)
};
}
#endregion
#region 编辑
if (cre.Properties["FromStatus"].ToString() == "Edit")
{
if (cre.Properties["ORDERS"].ToString() == "1")
{
sqlString = @"
SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE AND ORDERSCODE != :ORDERCODEONE";
paras = new OracleParameter[] {
new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()),
new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()),
};
dt = new DataTable();
dt = conn.GetSqlResultToDt(sqlString, paras);
if (dt != null && dt.Rows.Count > 0)
{
//存在相同版面编码
sre.OtherStatus = -1001;
return sre;
}
sqlString = @"UPDATE TP_PC_ORDERINFORMATION
SET
ORDERSCODE =:ORDERSCODE,
NUMBERS = :NUMBERS,
VALUEFLAG = :VALUEFALG
WHERE
ORDERSCODE = :ORDERCODEONE";
paras = new OracleParameter[] {
new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()) ,
new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
new OracleParameter(":VALUEFALG", cre.Properties["VALUEFALG"].ToString()) ,
};
}
else if (cre.Properties["ORDERS"].ToString() == "2")
{
sqlString = @"UPDATE TP_PC_ORDERINFORMATIONDETAILS
SET
CUSTOMERCODE=:CUSTOMERCODE,
LAYOUTCODE = :LAYOUTCODE,
ORDERSCODE = :ORDERSCODE,
VALUEFLAG = :VALUEFLAG
WHERE
ORDERSDETAILID = :ORDERSDETAILID";
paras = new OracleParameter[] {
new OracleParameter(":ORDERSDETAILID", Convert.ToInt32( cre.Properties["ORDERSDETAILID"])) ,
new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()) ,
new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
};
}
}
#endregion
int result = conn.ExecuteNonQuery(sqlString, paras);
if (result <= 0)
{
//未改变任何数据
sre.OtherStatus = -1003;
return sre;
}
else
{
//提交数据
sre.OtherStatus = 1;
conn.Commit();
}
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Disconnect();
}
}
}
//订单详细信息
public static ServiceResultEntity EmpowermentFlag(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"SELECT EMPOWERMENTFLAG,SHOWINFO FROM TP_SYS_EMPOWERMENTFLAG ";
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
#endregion
#region 产品商标
public static ServiceResultEntity GetGoodsLogos(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"SELECT
GL.GOODSCODE,
GD.GOODSNAME,
GL.LOGONAME,
GL.LOGOCODE,
CASE WHEN GL.VALUEFLAG=1 THEN '是' ELSE '否' END VALUEFLAG,
GL.CREATETIME
FROM TP_MST_GOODSLOGO GL
LEFT JOIN TP_MST_GOODS GD ON GL.GOODSCODE=GD.GOODSCODE
WHERE 1=1";
if (!string.IsNullOrEmpty(cre.Properties["LogoCode"].ToString()))
{
sqlString += " AND GL.LogoCode=:LogoCode";
}
if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
{
sqlString += " AND GL.GOODSCODE like :GOODSCODE";
}
if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
{
sqlString += " AND GL.VALUEFLAG = :VALUEFLAG";
}
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":LogoCode",cre.Properties["LogoCode"].ToString()),
new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
};
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, paras);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
public static ServiceResultEntity GetLogos(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"SELECT
LOGOCODE,
LOGONAME
FROM TP_MST_LOGO
WHERE VALUEFLAG=1
ORDER BY DECODE(LOGOCODE, :LOGOCODE, 1)";
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":LOGOCODE",cre.Properties["LOGOCODE"].ToString())
};
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, paras);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
public static ServiceResultEntity AddGoodsLogoInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBTransaction conn = null;
try
{
conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
ServiceResultEntity sre = new ServiceResultEntity();
DataTable dt = new DataTable();
string sqlString = string.Empty;
OracleParameter[] paras = new OracleParameter[] { };
//如果版面信息是新建的情况下,是否存在相同版面编码
if (cre.Properties["VALUEFLAG"].ToString() == "1")
{
sqlString = @"SELECT 1 FROM TP_MST_GOODSLOGO WHERE GOODSCODE=:GOODSCODE AND LOGOCODE=:LOGOCODE AND LOGONAME=:LOGONAME AND VALUEFLAG=1";
paras = new OracleParameter[] { new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
};
dt = new DataTable();
dt = conn.GetSqlResultToDt(sqlString, paras);
if (dt != null && dt.Rows.Count > 0)
{
//存在相同版面编码
sre.OtherStatus = -1001;
return sre;
}
}
paras = null;
#region 新增
if (cre.Properties["FromStatus"].ToString() == "Add")
{
//保存客户信息
sqlString = @"INSERT INTO TP_MST_GOODSLOGO(
GOODSCODE,
GOODSNAME,
LOGOID,
LOGOCODE,
LOGONAME,
VALUEFLAG,
CREATEUSERID,
UPDATEUSERID)
VALUES
(
:GOODSCODE,
(SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE=:GOODSCODE),
(SELECT LOGOID FROM TP_MST_LOGO WHERE LOGOCODE=:LOGOCODE),
:LOGOCODE,
:LOGONAME,
:VALUEFLAG,
:USERID,
:USERID
)";
paras = new OracleParameter[] {
new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
new OracleParameter(":USERID", sUserInfo.UserID.ToString()),
};
}
#endregion
#region 编辑
if (cre.Properties["FromStatus"].ToString() == "Edit")
{
sqlString = @" UPDATE TP_MST_GOODSLOGO set GOODSCODE=:GOODSCODE,
GOODSNAME=( SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE =:GOODSCODE AND ROWNUM=1),
LOGOID=( SELECT LOGOID FROM TP_MST_LOGO WHERE LOGOCODE =:LOGOCODE ),
LOGOCODE=:LOGOCODE ,
LOGONAME=:LOGONAME,
VALUEFLAG=:VALUEFLAG,
UPDATEUSERID=:USERID
WHERE
GOODSCODE=:OLDGOODSCODE
AND LOGOCODE=:OLDLOGOCODE
";
paras = new OracleParameter[] {
new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
new OracleParameter(":OLDGOODSCODE", cre.Properties["OLDGOODSCODE"].ToString()),
new OracleParameter(":OLDLOGOCODE", cre.Properties["OLDLOGOCODE"].ToString()),
new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
new OracleParameter(":USERID", sUserInfo.UserID)
};
}
#endregion
int result = conn.ExecuteNonQuery(sqlString, paras);
if (result <= 0)
{
//未改变任何数据
sre.OtherStatus = -1003;
return sre;
}
else
{
//提交数据
sre.OtherStatus = 1;
conn.Commit();
}
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Disconnect();
}
}
}
#endregion
#region 产品釉料
public static ServiceResultEntity GetGoodsGlaze(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"SELECT
GL.GOODSCODE,
GD.GOODSNAME,
GL.GLAZETYPEID,
GL.GLAZE,
CASE WHEN GL.VALUEFLAG=1 THEN '是' ELSE '否' END VALUEFLAG,
GL.CREATETIME
FROM TP_MST_GOODSGLAZE GL
LEFT JOIN TP_MST_GOODS GD ON GL.GOODSCODE=GD.GOODSCODE
WHERE 1=1";
if (!string.IsNullOrEmpty(cre.Properties["GLAZETYPEID"].ToString()) && cre.Properties["GLAZETYPEID"].ToString()!="0")
{
sqlString += " AND GL.GLAZETYPEID=:GLAZETYPEID";
}
if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
{
sqlString += " AND GL.GOODSCODE like :GOODSCODE";
}
if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
{
sqlString += " AND GL.VALUEFLAG = :VALUEFLAG";
}
OracleParameter[] paras = new OracleParameter[]{
new OracleParameter(":GLAZETYPEID",cre.Properties["GLAZETYPEID"].ToString()),
new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
};
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, paras);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
public static ServiceResultEntity GetGlaze(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBConnection conn = null;
try
{
conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
string sqlString = @"SELECT
DICTIONARYID AS GLAZETYPEID,
DICTIONARYVALUE AS GLAZE
FROM TP_MST_DATADICTIONARY
WHERE DICTIONARYTYPE='TPC002' AND VALUEFLAG='1'
";
if (cre.Properties["GLAZE"].ToString() != null && cre.Properties["GLAZE"].ToString() != "" && cre.Properties["GLAZE"].ToString()!="0")
{
sqlString += "ORDER BY DECODE(DICTIONARYID, '" + cre.Properties["GLAZE"].ToString() + "', 1)";
}
ServiceResultEntity sre = new ServiceResultEntity();
sre.Data = conn.GetSqlResultToDs(sqlString, null);
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Close();
}
}
}
public static ServiceResultEntity AddGoodsGlazeInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
{
IDBTransaction conn = null;
try
{
conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
ServiceResultEntity sre = new ServiceResultEntity();
DataTable dt = new DataTable();
string sqlString = string.Empty;
OracleParameter[] paras = new OracleParameter[] { };
//如果版面信息是新建的情况下,是否存在相同版面编码
if (cre.Properties["VALUEFLAG"].ToString() == "1")
{
sqlString = @"SELECT 1 FROM TP_MST_GOODSGLAZE WHERE GOODSCODE=:GOODSCODE AND GLAZETYPEID=:GLAZETYPEID AND GLAZE=:GLAZE AND VALUEFLAG=1";
paras = new OracleParameter[] { new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
};
dt = new DataTable();
dt = conn.GetSqlResultToDt(sqlString, paras);
if (dt != null && dt.Rows.Count > 0)
{
//存在相同版面编码
sre.OtherStatus = -1001;
return sre;
}
}
paras = null;
#region 新增
if (cre.Properties["FromStatus"].ToString() == "Add")
{
//保存客户信息
sqlString = @"INSERT INTO TP_MST_GOODSGLAZE(
GOODSCODE,
GOODSNAME,
GLAZETYPEID,
GLAZE,
VALUEFLAG,
CREATEUSERID,
UPDATEUSERID)
VALUES
(
:GOODSCODE,
(SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE=:GOODSCODE),
:GLAZETYPEID,
:GLAZE,
:VALUEFLAG,
:USERID,
:USERID
)";
paras = new OracleParameter[] {
new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
new OracleParameter(":USERID", sUserInfo.UserID.ToString()),
};
}
#endregion
#region 编辑
if (cre.Properties["FromStatus"].ToString() == "Edit")
{
sqlString = @" UPDATE TP_MST_GOODSGLAZE set GOODSCODE=:GOODSCODE,
GOODSNAME=( SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE =:GOODSCODE AND ROWNUM=1),
GLAZETYPEID=:GLAZETYPEID ,
GLAZE=:GLAZE,
VALUEFLAG=:VALUEFLAG,
UPDATEUSERID=:USERID
WHERE
GOODSCODE=:OLDGOODSCODE
AND GLAZETYPEID=:OLDGLAZETYPEID
";
paras = new OracleParameter[] {
new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
new OracleParameter(":OLDGOODSCODE", cre.Properties["OLDGOODSCODE"].ToString()),
new OracleParameter(":OLDGLAZETYPEID", cre.Properties["OLDGLAZETYPEID"].ToString()),
new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
new OracleParameter(":USERID", sUserInfo.UserID)
};
}
#endregion
int result = conn.ExecuteNonQuery(sqlString, paras);
if (result <= 0)
{
//未改变任何数据
sre.OtherStatus = -1003;
return sre;
}
else
{
//提交数据
sre.OtherStatus = 1;
conn.Commit();
}
return sre;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn != null &&
conn.ConnState == ConnectionState.Open)
{
conn.Disconnect();
}
}
}
#endregion
#region 员工用户操作
public static ServiceResultEntity EnableValueFlag( SUserInfo sUserInfo, ClientRequestEntity cre)
{
ServiceResultEntity sre = new ServiceResultEntity();
IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
oracleTrConn.Connect();
int staffid = (int)cre.Properties["Staffid"];
string sql = "SELECT Count(*) FROM TP_HR_STAFF WHERE staffid=" + staffid + "";
string strCount = oracleTrConn.GetSqlResultToStr(sql);
if (!"0".Equals(strCount))
{
string sqlString = "Update TP_HR_STAFF SET ValueFlag=1,UpdateUserID =" + sUserInfo.UserID
+ " WHERE staffid=" + staffid;
sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString);
//string sqlString2 = "Select StaffRecordID From TP_HR_StaffRecord "
// + " Where ApprovalStatus = 0 AND RecordType = 1 And ValueFlag = 1 And StaffID = " + staffid;
//string strStaffRecordID = oracleTrConn.GetSqlResultToStr(sqlString2);
//if (!string.IsNullOrEmpty(strStaffRecordID))
//{
string sqlString3 = "Update TP_HR_StaffRecord Set ValueFlag = 1,UpdateUserID = " + sUserInfo.UserID
+ " Where ApprovalStatus = 3 AND RecordType = 1 And ValueFlag = 1 And StaffID = " + staffid;
sre.OtherStatus+=oracleTrConn.ExecuteNonQuery(sqlString3);
//}
oracleTrConn.Commit();
oracleTrConn.Disconnect();
return sre;
}
else
{
oracleTrConn.Rollback();
oracleTrConn.Disconnect();
return sre;
}
}
catch (Exception ex)
{
if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
{
oracleTrConn.Rollback();
oracleTrConn.Disconnect();
}
throw ex;
}
}
#endregion
public static ServiceResultEntity DeactivatedGroutingLineDetail(ClientRequestEntity cre, SUserInfo user)
{
int returnRows = 0;
ServiceResultEntity sre = new ServiceResultEntity();
IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
try
{
DataTable dtGroutingLineDetail = cre.Data.Tables[0];
oracleTrConn.Connect();
OracleParameter[] Paras = null;
StringBuilder sbSql = new StringBuilder();
int GMouldRecordID = 0;
bool isError = false;
if (dtGroutingLineDetail.Rows.Count > 0)
{
// 更新成型线UpdateUserID
sbSql.Append("update TP_PC_GroutingLine set UpdateUserID=" + user.UserID + " where GroutingLineID=" + dtGroutingLineDetail.Rows[0]["GroutingLineID"] + " and OPTimeStamp=:OPTimeStamp and GMouldStatus=1");
Paras = new OracleParameter[] {
new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,
dtGroutingLineDetail.Rows[0]["LineOPTimeStamp"],ParameterDirection.Input)
};
//oracleTrConn.ExecuteNonQuery(sbSql.ToString());
int row = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
if (row == 0)
{
oracleTrConn.Rollback();
oracleTrConn.Disconnect();
sre.OtherStatus = -1001;
return sre;
}
}
for (int i = 0; i < dtGroutingLineDetail.Rows.Count; i++)
{
sbSql.Clear();
sbSql.Append("select SEQ_PC_GMouldRecord_ID.nextval from dual");
GMouldRecordID = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));//变更履历
sbSql.Clear();
// 1.插入变更履历
sbSql.Append("insert into TP_PC_GMouldRecord");
sbSql.Append("(GMouldRecordID,");
sbSql.Append("GroutingLineID,GroutingLineDetailID,GoodsID,");
sbSql.Append("GroutingMouldCode,MouldCode,GroutingCount,");
sbSql.Append("GMouldRecordType,BeginDate,");
sbSql.Append("Remarks,AccountID,CreateTime,");
sbSql.Append("CreateUserID,UpdateTime,UpdateUserID");
sbSql.Append(")");
sbSql.Append("select :GMouldRecordID,");
sbSql.Append("GroutingLineID,GroutingLineDetailID,GoodsID,");
sbSql.Append("GroutingMouldCode,MouldCode,GroutingCount,");
sbSql.Append(":GMouldRecordType,trunc(sysdate),");
sbSql.Append(":Remarks,:AccountID,sysdate,");
sbSql.Append(":CreateUserID,sysdate,:UpdateUserID");
sbSql.Append(" from TP_PC_GroutingLineDetail where GroutingLineDetailID=:GroutingLineDetailID ");
Paras = new OracleParameter[] {
new OracleParameter(":GMouldRecordType",OracleDbType.Int32,
7,ParameterDirection.Input),
new OracleParameter(":GroutingLineDetailID",OracleDbType.Int32,
dtGroutingLineDetail.Rows[i]["GroutingLineDetailID"],ParameterDirection.Input),
new OracleParameter(":Remarks",OracleDbType.NVarchar2,
dtGroutingLineDetail.Rows[i]["RecordRemarks"],ParameterDirection.Input),
new OracleParameter(":AccountID",OracleDbType.Int32,
user.AccountID,ParameterDirection.Input),
new OracleParameter(":CreateUserID",OracleDbType.Int32,
user.UserID,ParameterDirection.Input),
new OracleParameter(":UpdateUserID",OracleDbType.Int32,
user.UserID,ParameterDirection.Input),
new OracleParameter(":GMouldRecordID",OracleDbType.Int32,
GMouldRecordID,ParameterDirection.Input)
};
returnRows += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
//2.更新成型线模具状态
sbSql.Clear();
sbSql.Append("update TP_PC_GroutingLineDetail set GMouldStatus=0,LastGMouldRecordID=:LastGMouldRecordID, ");
sbSql.Append("UpdateUserID=:UpdateUserID,EndUsedDate=trunc(sysdate) where GroutingLineDetailID=:GroutingLineDetailID and OPTimeStamp=:OPTimeStamp and GMouldStatus=1");
Paras = new OracleParameter[] {
new OracleParameter(":LastGMouldRecordID",OracleDbType.Int32,
GMouldRecordID,ParameterDirection.Input),
new OracleParameter(":UpdateUserID",OracleDbType.Int32,
user.UserID,ParameterDirection.Input),
new OracleParameter(":GroutingLineDetailID",OracleDbType.Int32,
dtGroutingLineDetail.Rows[i]["GroutingLineDetailID"],ParameterDirection.Input),
new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,
dtGroutingLineDetail.Rows[i]["OPTimeStamp"],ParameterDirection.Input)
};
int row = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
if (row == 0)
{
isError = true; //即更新了,也可以用这个判断时间戳
break;
}
returnRows += row;
}
//更新明细信息
if (isError)
{
returnRows = -500;
oracleTrConn.Rollback();
oracleTrConn.Disconnect();
}
else
{
//提交数据
sre.OtherStatus = 1;
oracleTrConn.Commit();
oracleTrConn.Disconnect();
}
}
catch (Exception ex)
{
if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
{
oracleTrConn.Rollback();
oracleTrConn.Disconnect();
}
throw ex;
}
finally
{
if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
{
oracleTrConn.Disconnect();
}
}
return sre;
}
}
}