/******************************************************************************* * 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; } } }