SystemModuleLogicPartial.cs 81 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:SystemModuleLogic.cs
  5. * 2.功能描述:产品档案数据查询处理
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 张国印 2014/09/12 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Data;
  13. using System.Text;
  14. using Dongke.IBOSS.PRD.Basics.DataAccess;
  15. using Dongke.IBOSS.PRD.Service.DataModels;
  16. using Dongke.IBOSS.PRD.WCF.DataModels;
  17. using Oracle.ManagedDataAccess.Client;
  18. namespace Dongke.IBOSS.PRD.Service.SystemModuleLogic
  19. {
  20. /// <summary>
  21. /// 产品档案数据查询处理
  22. /// </summary>
  23. public partial class SystemModuleLogic
  24. {
  25. #region 产品档案
  26. /// <summary>
  27. /// 查询产品信息
  28. /// </summary>
  29. /// <param name="sUserInfo">用户基本信息</param>
  30. /// <param name="goodsEntity">产品信息</param>
  31. /// <returns>DataSet</returns>
  32. /// <remarks>
  33. /// 陈冰 2014.09.01 新建
  34. /// </remarks>
  35. public static DataSet SerachGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity)
  36. {
  37. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  38. try
  39. {
  40. con.Open();
  41. if (!string.IsNullOrWhiteSpace(goodsEntity.GoodsCodeOnly))
  42. {
  43. string sql = "select goodsid from tp_mst_goods g where g.goodscode = :goodscode";
  44. OracleParameter[] paras1 = new OracleParameter[]{
  45. new OracleParameter(":goodscode",OracleDbType.Varchar2,
  46. goodsEntity.GoodsCodeOnly,ParameterDirection.Input),
  47. };
  48. return con.GetSqlResultToDs(sql, paras1);
  49. }
  50. OracleParameter[] paras = new OracleParameter[]{
  51. new OracleParameter("account",OracleDbType.Int32,
  52. sUserInfo.AccountID,ParameterDirection.Input),
  53. new OracleParameter("goodsID",OracleDbType.Int32,
  54. goodsEntity.GoodsID,ParameterDirection.Input),
  55. new OracleParameter("goodsCode",OracleDbType.NVarchar2,
  56. goodsEntity.GoodsCode,ParameterDirection.Input),
  57. new OracleParameter("goodsName",OracleDbType.NVarchar2,
  58. goodsEntity.GoodsName,ParameterDirection.Input),
  59. new OracleParameter("goodsSpecification",OracleDbType.NVarchar2,
  60. goodsEntity.GoodsSpecification,ParameterDirection.Input),
  61. new OracleParameter("goodsModel",OracleDbType.NVarchar2,
  62. goodsEntity.GoodsModel,ParameterDirection.Input),
  63. new OracleParameter("goodsTypeCode",OracleDbType.NVarchar2,
  64. goodsEntity.GoodsTypeCode,ParameterDirection.Input),
  65. new OracleParameter("glazeTypeID",OracleDbType.Int32,
  66. goodsEntity.GlazeTypeID,ParameterDirection.Input),
  67. new OracleParameter("ceaseFlag",OracleDbType.NVarchar2,
  68. goodsEntity.CeaseFlag,ParameterDirection.Input),
  69. new OracleParameter("remarks",OracleDbType.NVarchar2,
  70. goodsEntity.Remarks,ParameterDirection.Input),
  71. new OracleParameter("valueFlag",OracleDbType.NVarchar2,
  72. goodsEntity.ValueFlag,ParameterDirection.Input),
  73. new OracleParameter("planFlag",OracleDbType.NVarchar2,
  74. goodsEntity.PlanFlag,ParameterDirection.Input),
  75. new OracleParameter("rs_result",OracleDbType.RefCursor,ParameterDirection.Output),
  76. new OracleParameter("rs_result_img",OracleDbType.RefCursor,ParameterDirection.Output),
  77. };
  78. foreach (OracleParameter item in paras)
  79. {
  80. if (item.Value + "" == "")
  81. {
  82. item.Value = DBNull.Value;
  83. }
  84. }
  85. DataSet ds = con.ExecStoredProcedure("PRO_MST_SerachGoods", paras);
  86. return ds;
  87. }
  88. catch (Exception ex)
  89. {
  90. throw ex;
  91. }
  92. finally
  93. {
  94. if (con.ConnState == ConnectionState.Open)
  95. {
  96. con.Close();
  97. }
  98. }
  99. }
  100. /// <summary>
  101. /// 新建产品档案
  102. /// </summary>
  103. /// <param name="sUserInfo">用户基本信息</param>
  104. /// <param name="goodsEntity">产品实体</param>
  105. /// <param name="imgList">产品图片集合</param>
  106. /// <param name="attList">缺陷位置ID集合</param>
  107. /// <returns>int受影响行数</returns>
  108. /// <remarks>
  109. /// 庄天威 2014.09.04 新建
  110. /// </remarks>
  111. public static int AddGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity
  112. , List<GoodsImageEntity> imgList, List<GoodsAttachmentEntity> attList)
  113. {
  114. int returnRows;
  115. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  116. if (goodsEntity.MudQuantity == null)
  117. {
  118. goodsEntity.MudQuantity = 0;
  119. }
  120. if (goodsEntity.GlazeQuantity == null)
  121. {
  122. goodsEntity.GlazeQuantity = 0;
  123. }
  124. if (goodsEntity.Remarks == null)
  125. {
  126. goodsEntity.Remarks = "";
  127. }
  128. if (goodsEntity.GoodsSpecification == null)
  129. {
  130. goodsEntity.GoodsSpecification = "";
  131. }
  132. if (goodsEntity.GoodsModel == null)
  133. {
  134. goodsEntity.GoodsModel = "";
  135. }
  136. try
  137. {
  138. oracleTrConn.Connect();
  139. // 物料编码重复验证 add by chenxy 2017-07-11 begin
  140. // 有不同编码,同物料编码的情况 delete by chenxy 2017-11-10
  141. //string sqlString = "SELECT g.goodscode \n" +
  142. //" FROM tp_mst_goods g\n" +
  143. //" WHERE g.materialcode = :materialcode";
  144. //OracleParameter[] checkParas = new OracleParameter[]{
  145. // new OracleParameter(":materialcode",goodsEntity.MaterialCode),
  146. //};
  147. //string goodscode = oracleTrConn.GetSqlResultToStr(sqlString, checkParas);
  148. //if (!string.IsNullOrWhiteSpace(goodscode))
  149. //{
  150. // return -10;
  151. //}
  152. // 物料编码重复验证 add by chenxy 2017-07-11 end
  153. //2021年11月18日09:28:072 by fy modify 产品档案增加防伪码绑定标识、防伪码验证标识
  154. StringBuilder sbSql = new StringBuilder();
  155. sbSql.Append("select SEQ_MST_Goods_GoodsID.nextval from dual");
  156. int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  157. sbSql.Clear();
  158. sbSql.Append(" INSERT INTO TP_MST_GOODS");
  159. sbSql.Append("(GoodsID,GoodsCode,GoodsName,GoodsSpecification,GoodsModel,GoodsTypeID,");
  160. sbSql.Append("GlazeTypeID,MudWeight,GlazeWeight,LusterwareWeight,ProductionCycle,CeaseFlag,Goods_Line_Type,Goods_Line_Code,");
  161. sbSql.Append("StartingDate,AutoLossCycle,DeliverLimitCycle,PlateLimitNum,UnitPrice,ReservedDays,");
  162. sbSql.Append("PackageNum,OutletDistance,MaterialCode,MaterialRemark,printcopies,");
  163. sbSql.Append("MouldWeight,MouldCost,ScrapSumFlag,SEATCOVERCODE,");
  164. sbSql.Append("WaterLabelCode,StandardGroutingNum,MouldMaterialCode,MouldOutputCount,logoid,");
  165. sbSql.Append("Remarks,AccountID,ValueFlag,CreateUserID,UpdateUserID,MudStoreType,SecurityCodeBindFlag,SecurityCodeCheckFlag,PlanFlag)");
  166. sbSql.Append("VALUES( :GoodsId, :GoodsCode, :GoodsName, :GoodsSpecification, :GoodsModel, :GoodsTypeID,");
  167. sbSql.Append(" :GlazeTypeID, :MudWeight, :GlazeWeight,:LusterwareWeight, :ProductionCycle, :CeaseFlag,:Goods_Line_Type,:Goods_Line_Code,");
  168. sbSql.Append(" :StartingDate, :AutoLossCycle, :DeliverLimitCycle,:PlateLimitNum,:UnitPrice,:ReservedDays,");
  169. sbSql.Append(" :PackageNum, :OutletDistance, :MaterialCode,:MaterialRemark,:printcopies,");
  170. sbSql.Append(" :MouldWeight, :MouldCost,:ScrapSumFlag,:SEATCOVERCODE,");
  171. sbSql.Append(" :WaterLabelCode, :StandardGroutingNum, :MouldMaterialCode, :MouldOutputCount,:logoid,");
  172. sbSql.Append(" :Remarks, :AccountID, :ValueFlag, :CreateUserID, :UpdateUserID, :MudStoreType , :SecurityCodeBindFlag,:SecurityCodeCheckFlag,:PlanFlag)");
  173. OracleParameter[] paras = new OracleParameter[]{
  174. new OracleParameter(":GoodsId",id),
  175. new OracleParameter(":GoodsCode",goodsEntity.GoodsCode),
  176. new OracleParameter(":GoodsName",goodsEntity.GoodsName),
  177. new OracleParameter(":GoodsSpecification",goodsEntity.GoodsSpecification),
  178. new OracleParameter(":GoodsModel",goodsEntity.GoodsModel),
  179. new OracleParameter(":GoodsTypeID",goodsEntity.GoodsTypeID),
  180. new OracleParameter(":GlazeTypeID",goodsEntity.GlazeTypeID),
  181. new OracleParameter(":MudWeight",goodsEntity.MudQuantity),
  182. new OracleParameter(":GlazeWeight",goodsEntity.GlazeQuantity),
  183. new OracleParameter(":LusterwareWeight",goodsEntity.LusterwareWeight),
  184. new OracleParameter(":ProductionCycle",goodsEntity.ProductionCycle),
  185. new OracleParameter(":CeaseFlag",goodsEntity.CeaseFlag),
  186. new OracleParameter(":Goods_Line_Type",goodsEntity.GoodsLineType),
  187. new OracleParameter(":Goods_Line_Code",goodsEntity.GoodsLineCode),
  188. new OracleParameter(":StartingDate",goodsEntity.StartingDate),
  189. new OracleParameter(":AutoLossCycle",goodsEntity.AutoLossCycle),
  190. new OracleParameter(":DeliverLimitCycle",goodsEntity.DeliverLimitCycle),
  191. new OracleParameter(":PlateLimitNum",goodsEntity.PlateLimitNum),
  192. new OracleParameter(":ReservedDays",goodsEntity.ReservedDays),
  193. new OracleParameter(":UnitPrice",goodsEntity.UnitPrice),
  194. new OracleParameter(":PackageNum",goodsEntity.PackageNum),
  195. new OracleParameter(":OutletDistance",goodsEntity.OutletDistance),
  196. new OracleParameter(":MaterialCode",goodsEntity.MaterialCode),
  197. new OracleParameter(":MouldWeight",goodsEntity.MouldWeight),
  198. new OracleParameter(":MouldCost",goodsEntity.MouldCost),
  199. new OracleParameter(":ScrapSumFlag",goodsEntity.ScrapSumFlag),
  200. new OracleParameter(":MaterialRemark",goodsEntity.MaterialRemark),
  201. new OracleParameter(":printcopies",goodsEntity.PrintCopies),
  202. new OracleParameter(":SEATCOVERCODE", goodsEntity.SeatCoverCode),
  203. new OracleParameter(":WaterLabelCode", goodsEntity.WaterLabelCode),
  204. new OracleParameter(":StandardGroutingNum", goodsEntity.StandardGroutingNum),
  205. new OracleParameter(":MouldMaterialCode", goodsEntity.MouldMaterialCode),
  206. new OracleParameter(":MouldOutputCount", goodsEntity.MouldOutputCount),
  207. new OracleParameter(":logoid", goodsEntity.LogoID),
  208. new OracleParameter(":Remarks",goodsEntity.Remarks),
  209. new OracleParameter(":AccountID",sUserInfo.AccountID),
  210. new OracleParameter(":ValueFlag",goodsEntity.ValueFlag),
  211. //new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  212. new OracleParameter(":CreateUserID",sUserInfo.UserID),
  213. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  214. new OracleParameter(":UpdateUserID",sUserInfo.UserID),
  215. new OracleParameter(":MudStoreType",goodsEntity.MudStoreType),
  216. new OracleParameter(":SecurityCodeBindFlag",goodsEntity.SecurityCodeBindFlag),
  217. new OracleParameter(":SecurityCodeCheckFlag",goodsEntity.SecurityCodeCheckFlag),
  218. new OracleParameter(":PlanFlag",goodsEntity.PlanFlag)
  219. //new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
  220. };
  221. returnRows = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), paras);
  222. //SAP物料信息
  223. string sql = "delete from TP_MST_GoodsLogoSAP where goodsid = " + id;
  224. returnRows += oracleTrConn.ExecuteNonQuery(sql);
  225. sql = "insert into TP_MST_GOODSLOGOSAP\n" +
  226. " (GOODSID, LOGOID, GOODSCODE, MATERIALCODE, MATERIALREMARK, CREATEUSERID, WaterLabelCode, PLATELIMITNUM)\n" +
  227. "values\n" +
  228. " (:GOODSID, :LOGOID, :GOODSCODE, :MATERIALCODE, :MATERIALREMARK, :CREATEUSERID, :WaterLabelCode, :PlateLimitNum)";
  229. foreach (DataRow item in goodsEntity.SAPInfo.Rows)
  230. {
  231. string sapcode = item["MATERIALCODE"] + "";
  232. string sapremark = item["MATERIALREMARK"] + "";
  233. if (string.IsNullOrWhiteSpace(sapcode))
  234. {
  235. continue;
  236. }
  237. if (string.IsNullOrEmpty(sapremark))
  238. {
  239. sapremark = " ";
  240. }
  241. paras = new OracleParameter[]{
  242. new OracleParameter(":GOODSID",id),
  243. new OracleParameter(":LOGOID",item["LOGOID"]),
  244. new OracleParameter(":GOODSCODE",goodsEntity.GoodsCode),
  245. new OracleParameter(":MATERIALCODE",sapcode),
  246. new OracleParameter(":MATERIALREMARK",sapremark),
  247. new OracleParameter(":CREATEUSERID",sUserInfo.UserID),
  248. new OracleParameter(":WaterLabelCode",item["WaterLabelCode"]),
  249. new OracleParameter(":PlateLimitNum",item["PlateLimitNum"]),
  250. };
  251. returnRows += oracleTrConn.ExecuteNonQuery(sql, paras);
  252. }
  253. //此处添加图片信息
  254. foreach (GoodsImageEntity img in imgList)
  255. {
  256. int imgReturn = 0;
  257. sbSql.Clear();
  258. sbSql.Append("select SEQ_MST_GoodsImage_ID.nextval from dual");
  259. int imgId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  260. sbSql.Clear();
  261. sbSql.Append("Insert into TP_MST_GoodsImage");
  262. sbSql.Append("(GoodsImageID,GoodsID,Thumbnail,Image,AccountID,ValueFlag,");
  263. sbSql.Append("CreateUserID,UpdateUserID)");
  264. sbSql.Append(" VALUES(:GoodsImageID,:GoodsID,:Thumbnail,:Image,:AccountID,:ValueFlag,");
  265. sbSql.Append(":CreateUserID,:UpdateUserID)");
  266. OracleParameter[] imgParas = new OracleParameter[] {
  267. new OracleParameter(":GoodsImageID",OracleDbType.Int32,imgId,ParameterDirection.Input),
  268. new OracleParameter(":GoodsID",OracleDbType.Int32,id,ParameterDirection.Input),
  269. new OracleParameter(":Thumbnail",OracleDbType.Blob,img.Thumbnail,ParameterDirection.Input),
  270. new OracleParameter(":Image",OracleDbType.Blob,img.Image,ParameterDirection.Input),
  271. new OracleParameter(":AccountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  272. new OracleParameter(":ValueFlag",OracleDbType.Int32,img.ValueFlag,ParameterDirection.Input),
  273. //new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  274. new OracleParameter(":CreateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  275. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  276. new OracleParameter(":UpdateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  277. //new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
  278. };
  279. imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
  280. }
  281. //此处添加产品附件
  282. //int AttReturn = AddAttachment(oracleTrConn, attList, id, sUserInfo);
  283. //此处添加缺陷位置关联
  284. //int dpCount = SaveGoodsDefectPosition(oracleTrConn, dpList, id, sUserInfo);
  285. oracleTrConn.Commit();
  286. oracleTrConn.Disconnect();
  287. }
  288. catch (Exception ex)
  289. {
  290. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  291. {
  292. oracleTrConn.Rollback();
  293. oracleTrConn.Disconnect();
  294. }
  295. throw ex;
  296. }
  297. return returnRows;
  298. }
  299. /// <summary>
  300. /// 修改产品档案
  301. /// </summary>
  302. /// <param name="sUserInfo">用户基本信息</param>
  303. /// <param name="goodsEntity">产品实体</param>
  304. /// <param name="imgList">产品图片集合</param>
  305. /// <param name="attList">缺陷位置ID集合</param>
  306. /// <returns>int受影响行数</returns>
  307. /// <remarks>
  308. /// 庄天威 2014.09.04 新建
  309. /// </remarks>
  310. public static int updateGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity
  311. , List<GoodsImageEntity> imgList, List<GoodsAttachmentEntity> attList)
  312. {
  313. int returnRows = 0;
  314. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  315. if (goodsEntity.MudQuantity == null)
  316. {
  317. goodsEntity.MudQuantity = 0;
  318. }
  319. if (goodsEntity.GlazeQuantity == null)
  320. {
  321. goodsEntity.GlazeQuantity = 0;
  322. }
  323. if (goodsEntity.Remarks == null)
  324. {
  325. goodsEntity.Remarks = "";
  326. }
  327. if (goodsEntity.GoodsSpecification == null)
  328. {
  329. goodsEntity.GoodsSpecification = "";
  330. }
  331. if (goodsEntity.GoodsModel == null)
  332. {
  333. goodsEntity.GoodsModel = "";
  334. }
  335. try
  336. {
  337. oracleTrConn.Connect();
  338. // 物料编码重复验证 add by chenxy 2017-07-11 begin
  339. // 有不同编码,同物料编码的情况 delete by chenxy 2017-11-10
  340. //string sqlString = "SELECT g.goodscode \n" +
  341. //" FROM tp_mst_goods g\n" +
  342. //" WHERE g.materialcode = :materialcode and g.goodsid <> :goodsid";
  343. //OracleParameter[] checkParas = new OracleParameter[]{
  344. // new OracleParameter(":materialcode",goodsEntity.MaterialCode),
  345. // new OracleParameter(":goodsid",goodsEntity.GoodsID),
  346. //};
  347. //string goodscode = oracleTrConn.GetSqlResultToStr(sqlString, checkParas);
  348. //if (!string.IsNullOrWhiteSpace(goodscode))
  349. //{
  350. // return -10;
  351. //}
  352. // 物料编码重复验证 add by chenxy 2017-07-11 end
  353. StringBuilder sbSql = new StringBuilder();
  354. sbSql.Append("update TP_MST_GOODS");
  355. //sbSql.Append(" set GoodsCode=:GoodsCode,GoodsName=:GoodsName,GoodsSpecification=:GoodsSpecification,");
  356. sbSql.Append(" set GoodsName=:GoodsName,GoodsSpecification=:GoodsSpecification,");
  357. sbSql.Append(" GoodsModel=:GoodsModel,GoodsTypeID=:GoodsTypeID,GlazeTypeID=:GlazeTypeID,MudWeight=:MudWeight,");
  358. sbSql.Append(" GlazeWeight=:GlazeWeight,LusterwareWeight=:LusterwareWeight,ProductionCycle=:ProductionCycle,CeaseFlag=:CeaseFlag,Goods_Line_Type=:Goods_Line_Type,Goods_Line_CODE=:Goods_Line_CODE,Remarks=:Remarks,");
  359. sbSql.Append(" StartingDate=:StartingDate, AutoLossCycle = :AutoLossCycle, DeliverLimitCycle=:DeliverLimitCycle, PlateLimitNum=:PlateLimitNum,");
  360. sbSql.Append(" UnitPrice=:UnitPrice,PackageNum=:PackageNum,OutletDistance=:OutletDistance,MaterialCode=:MaterialCode,MaterialRemark=:MaterialRemark,printcopies=:printcopies,");
  361. sbSql.Append(" MouldWeight=:MouldWeight, MouldCost=:MouldCost,ScrapSumFlag=:ScrapSumFlag, ReservedDays=:ReservedDays,SEATCOVERCODE=:SEATCOVERCODE,");
  362. sbSql.Append(" WaterLabelCode=:WaterLabelCode, StandardGroutingNum=:StandardGroutingNum,MouldMaterialCode=:MouldMaterialCode, MouldOutputCount=:MouldOutputCount,");
  363. sbSql.Append(" AccountID=:AccountID,ValueFlag=:ValueFlag,UpdateUserID=:UpdateUserID,logoid=:logoid,");
  364. sbSql.Append(" MudStoreType=:MudStoreType,");
  365. sbSql.Append(" SecurityCodeBindFlag=:SecurityCodeBindFlag,");
  366. sbSql.Append(" SecurityCodeCheckFlag=:SecurityCodeCheckFlag,");
  367. sbSql.Append(" PlanFlag=:PlanFlag");
  368. //sbSql.Append(" CreateTime=:CreateTime,CreateUserID=:CreateUserID ");
  369. sbSql.Append(" where GoodsID=:GoodsID and OPTimeStamp=:OPTimeStamp");
  370. OracleParameter[] paras = new OracleParameter[]{
  371. // new OracleParameter(":GoodsCode",goodsEntity.GoodsCode),
  372. new OracleParameter(":GoodsName",goodsEntity.GoodsName),
  373. new OracleParameter(":GoodsSpecification",goodsEntity.GoodsSpecification),
  374. new OracleParameter(":GoodsModel",goodsEntity.GoodsModel),
  375. new OracleParameter(":GoodsTypeID",goodsEntity.GoodsTypeID),
  376. new OracleParameter(":GlazeTypeID",goodsEntity.GlazeTypeID),
  377. new OracleParameter(":MudWeight",goodsEntity.MudQuantity),
  378. new OracleParameter(":GlazeWeight",goodsEntity.GlazeQuantity),
  379. new OracleParameter(":LusterwareWeight",goodsEntity.LusterwareWeight),
  380. new OracleParameter(":ProductionCycle",goodsEntity.ProductionCycle),
  381. new OracleParameter(":CeaseFlag",goodsEntity.CeaseFlag),
  382. new OracleParameter(":Goods_Line_Type",goodsEntity.GoodsLineType),
  383. new OracleParameter(":Goods_Line_CODE",goodsEntity.GoodsLineCode),
  384. new OracleParameter(":StartingDate",goodsEntity.StartingDate),
  385. new OracleParameter(":AutoLossCycle",goodsEntity.AutoLossCycle),
  386. new OracleParameter(":DeliverLimitCycle",goodsEntity.DeliverLimitCycle),
  387. new OracleParameter(":PlateLimitNum",goodsEntity.PlateLimitNum),
  388. new OracleParameter(":ReservedDays",goodsEntity.ReservedDays),
  389. new OracleParameter(":UnitPrice",goodsEntity.UnitPrice),
  390. new OracleParameter(":PackageNum",goodsEntity.PackageNum),
  391. new OracleParameter(":OutletDistance",goodsEntity.OutletDistance),
  392. new OracleParameter(":MaterialCode",goodsEntity.MaterialCode),
  393. new OracleParameter(":MouldWeight",goodsEntity.MouldWeight),
  394. new OracleParameter(":MouldCost",goodsEntity.MouldCost),
  395. new OracleParameter(":ScrapSumFlag",goodsEntity.ScrapSumFlag),
  396. new OracleParameter(":MaterialRemark",goodsEntity.MaterialRemark),
  397. new OracleParameter(":printcopies",goodsEntity.PrintCopies),
  398. new OracleParameter(":Remarks",goodsEntity.Remarks),
  399. new OracleParameter(":SEATCOVERCODE",goodsEntity.SeatCoverCode),
  400. new OracleParameter(":WaterLabelCode",goodsEntity.WaterLabelCode),
  401. new OracleParameter(":StandardGroutingNum",goodsEntity.StandardGroutingNum),
  402. new OracleParameter(":MouldMaterialCode",goodsEntity.MouldMaterialCode),
  403. new OracleParameter(":MouldOutputCount",goodsEntity.MouldOutputCount),
  404. new OracleParameter(":logoid", goodsEntity.LogoID),
  405. new OracleParameter(":AccountID",goodsEntity.AccountID),
  406. new OracleParameter(":ValueFlag",goodsEntity.ValueFlag),
  407. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  408. new OracleParameter(":UpdateUserID",sUserInfo.UserID),
  409. //new OracleParameter(":CreateTime",OracleDbType.Date,goodsEntity.CreateTime,ParameterDirection.Input),
  410. //new OracleParameter(":CreateUserID",goodsEntity.CreateUserID),
  411. new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,goodsEntity.OPTimeStamp,ParameterDirection.Input),
  412. new OracleParameter(":MudStoreType",goodsEntity.MudStoreType),
  413. new OracleParameter(":SecurityCodeBindFlag",goodsEntity.SecurityCodeBindFlag),
  414. new OracleParameter(":SecurityCodeCheckFlag",goodsEntity.SecurityCodeCheckFlag),
  415. new OracleParameter(":PlanFlag",goodsEntity.PlanFlag),
  416. new OracleParameter(":GoodsId",goodsEntity.GoodsID)
  417. };
  418. returnRows = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), paras);
  419. if (returnRows == 0)
  420. {
  421. oracleTrConn.Rollback();
  422. oracleTrConn.Disconnect();
  423. return -500;
  424. }
  425. //SAP物料信息
  426. string sql = "delete from TP_MST_GoodsLogoSAP where goodsid = " + goodsEntity.GoodsID;
  427. returnRows += oracleTrConn.ExecuteNonQuery(sql);
  428. sql = "insert into TP_MST_GOODSLOGOSAP\n" +
  429. " (GOODSID, LOGOID, GOODSCODE, MATERIALCODE, MATERIALREMARK, CREATEUSERID,WaterLabelCode,PLATELIMITNUM)\n" +
  430. "values\n" +
  431. " (:GOODSID, :LOGOID, :GOODSCODE, :MATERIALCODE, :MATERIALREMARK, :CREATEUSERID,:WaterLabelCode,:PlateLimitNum)";
  432. foreach (DataRow item in goodsEntity.SAPInfo.Rows)
  433. {
  434. string sapcode = item["MATERIALCODE"] + "";
  435. string sapremark = item["MATERIALREMARK"] + "";
  436. if (string.IsNullOrWhiteSpace(sapcode))
  437. {
  438. continue;
  439. }
  440. if (string.IsNullOrEmpty(sapremark))
  441. {
  442. sapremark = " ";
  443. }
  444. paras = new OracleParameter[]{
  445. new OracleParameter(":GOODSID",goodsEntity.GoodsID),
  446. new OracleParameter(":LOGOID",item["LOGOID"]),
  447. new OracleParameter(":GOODSCODE",goodsEntity.GoodsCode),
  448. new OracleParameter(":MATERIALCODE",sapcode),
  449. new OracleParameter(":MATERIALREMARK",sapremark),
  450. new OracleParameter(":CREATEUSERID",sUserInfo.UserID),
  451. new OracleParameter(":WaterLabelCode",item["WaterLabelCode"]),
  452. new OracleParameter(":PlateLimitNum",item["PlateLimitNum"]),
  453. };
  454. returnRows += oracleTrConn.ExecuteNonQuery(sql, paras);
  455. }
  456. foreach (GoodsImageEntity imgEntity in imgList)
  457. {
  458. if (imgEntity.GoodsImageID == 0)
  459. {
  460. int imgReturn = 0;
  461. sbSql.Clear();
  462. sbSql.Append("select SEQ_MST_GoodsImage_ID.nextval from dual");
  463. int imgId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  464. sbSql.Clear();
  465. sbSql.Append("Insert into TP_MST_GoodsImage");
  466. sbSql.Append("(GoodsImageID,GoodsID,Thumbnail,Image,AccountID,ValueFlag,");
  467. sbSql.Append("CreateUserID,UpdateUserID)");
  468. sbSql.Append(" VALUES(:GoodsImageID,:GoodsID,:Thumbnail,:Image,:AccountID,:ValueFlag,");
  469. sbSql.Append(":CreateUserID,:UpdateUserID)");
  470. OracleParameter[] imgParas = new OracleParameter[] {
  471. new OracleParameter(":GoodsImageID",OracleDbType.Int32,imgId,ParameterDirection.Input),
  472. new OracleParameter(":GoodsID",OracleDbType.Int32,goodsEntity.GoodsID,ParameterDirection.Input),
  473. new OracleParameter(":Thumbnail",OracleDbType.Blob,imgEntity.Thumbnail,ParameterDirection.Input),
  474. new OracleParameter(":Image",OracleDbType.Blob,imgEntity.Image,ParameterDirection.Input),
  475. new OracleParameter(":AccountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  476. new OracleParameter(":ValueFlag",OracleDbType.Int32,imgEntity.ValueFlag,ParameterDirection.Input),
  477. //new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  478. new OracleParameter(":CreateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  479. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  480. new OracleParameter(":UpdateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  481. //new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
  482. };
  483. imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
  484. }
  485. else
  486. {
  487. int imgReturn = 0;
  488. sbSql.Clear();
  489. sbSql.Append(" update TP_MST_GoodsImage");
  490. sbSql.Append(" set GoodsID=:GoodsID,AccountID=:AccountID,ValueFlag=:ValueFlag,");
  491. sbSql.Append(" UpdateUserID=:UpdateUserID");
  492. //sbSql.Append(" where GoodsImageID=:GoodsImageID And OPTimeStamp=to_date(:OPTimeStamp,'yyyy-mm-dd HH24:mi:ss')");
  493. sbSql.Append(" where GoodsImageID=:GoodsImageID");
  494. OracleParameter[] imgParas = new OracleParameter[] {
  495. new OracleParameter(":GoodsID",OracleDbType.Int32,
  496. goodsEntity.GoodsID,ParameterDirection.Input),
  497. new OracleParameter(":AccountID",OracleDbType.Int32,
  498. imgEntity.AccountID,ParameterDirection.Input),
  499. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  500. imgEntity.ValueFlag,ParameterDirection.Input),
  501. //new OracleParameter(":UpdateTime",OracleDbType.NVarchar2,
  502. // DateTime.Now.ToString(),ParameterDirection.Input),
  503. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  504. sUserInfo.UserID,ParameterDirection.Input),
  505. new OracleParameter(":GoodsImageID",OracleDbType.Int32,
  506. imgEntity.GoodsImageID,ParameterDirection.Input)
  507. //,new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp, imgEntity.OPTimeStamp,ParameterDirection.Input)
  508. };
  509. imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
  510. }
  511. }
  512. //修改产品附件
  513. //int AttReturn = UpdateAttachment(oracleTrConn, attList, Convert.ToInt32(goodsEntity.GoodsID), sUserInfo);
  514. oracleTrConn.Commit();
  515. oracleTrConn.Disconnect();
  516. }
  517. catch (Exception ex)
  518. {
  519. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  520. {
  521. oracleTrConn.Rollback();
  522. oracleTrConn.Disconnect();
  523. }
  524. throw ex;
  525. }
  526. return returnRows;
  527. }
  528. /// <summary>
  529. /// 查询产品物料信息
  530. /// </summary>
  531. /// <param name="sUserInfo"></param>
  532. /// <param name="goodsID"></param>
  533. /// <returns></returns>
  534. public static ServiceResultEntity GetGoodsSAP(SUserInfo sUserInfo, int goodsID)
  535. {
  536. IDBConnection conn = null;
  537. try
  538. {
  539. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  540. string sqlString = "\n" +
  541. "select '产品档案' logoname, g.materialcode, g.materialremark,g.WaterLabelCode, '1' valueflag, -1 displayno, g.platelimitnum\n" +
  542. " from tp_mst_goods g\n" +
  543. " where g.goodsid = :goodsid\n" +
  544. "union all\n" +
  545. "select to_char(l.logoname)\n" +
  546. " ,gls.materialcode\n" +
  547. " ,gls.materialremark\n" +
  548. " ,gls.WaterLabelCode\n" +
  549. " ,l.valueflag\n" +
  550. " ,l.displayno\n" +
  551. " ,gls.platelimitnum\n" +
  552. " from tp_mst_goodslogosap gls\n" +
  553. " inner join tp_mst_logo l\n" +
  554. " on l.logoid = gls.logoid\n" +
  555. " where gls.goodsid = :goodsid\n" +
  556. " order by valueflag desc, displayno";
  557. OracleParameter[] paras = new OracleParameter[]{
  558. new OracleParameter(":goodsid",goodsID),
  559. };
  560. ServiceResultEntity sre = new ServiceResultEntity();
  561. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  562. return sre;
  563. }
  564. catch (Exception ex)
  565. {
  566. throw ex;
  567. }
  568. finally
  569. {
  570. if (conn != null &&
  571. conn.ConnState == ConnectionState.Open)
  572. {
  573. conn.Close();
  574. }
  575. }
  576. }
  577. /// <summary>
  578. /// 查询产品物料信息(编辑用)
  579. /// </summary>
  580. /// <param name="sUserInfo"></param>
  581. /// <param name="goodsID"></param>
  582. /// <returns></returns>
  583. public static ServiceResultEntity GetGoodsSAPByEdit(SUserInfo sUserInfo, int goodsID)
  584. {
  585. IDBConnection conn = null;
  586. try
  587. {
  588. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  589. string sqlString = "select l.logoid\n" +
  590. " ,l.logoname\n" +
  591. " ,gls.materialcode\n" +
  592. " ,gls.materialremark\n" +
  593. " ,gls.WaterLabelCode\n" +
  594. " ,gls.goodsid\n" +
  595. " ,l.valueflag\n" +
  596. " ,gls.platelimitnum\n" +
  597. " from tp_mst_logo l\n" +
  598. " left join tp_mst_goodslogosap gls\n" +
  599. " on gls.goodsid = :goodsid\n" +
  600. " and l.logoid = gls.logoid\n" +
  601. " where (l.valueflag = '1' or gls.goodsid is not null)\n" +
  602. " order by gls.goodsid, l.valueflag desc, l.displayno";
  603. OracleParameter[] paras = new OracleParameter[]{
  604. new OracleParameter(":goodsid",goodsID),
  605. };
  606. ServiceResultEntity sre = new ServiceResultEntity();
  607. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  608. return sre;
  609. }
  610. catch (Exception ex)
  611. {
  612. throw ex;
  613. }
  614. finally
  615. {
  616. if (conn != null &&
  617. conn.ConnState == ConnectionState.Open)
  618. {
  619. conn.Close();
  620. }
  621. }
  622. }
  623. #endregion
  624. #region 获得生产工号集合
  625. /// <summary>
  626. /// 获得生产工号集合
  627. /// </summary>
  628. /// <param name="sUserInfo">用户基本信息</param>
  629. /// <returns>DataSet</returns>
  630. /// <remarks>
  631. /// 陈冰 2014.09.03 新建
  632. /// </remarks>
  633. public static DataSet GetWorker(SUserInfo sUserInfo)
  634. {
  635. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  636. try
  637. {
  638. con.Open();
  639. OracleParameter[] paras = new OracleParameter[]{
  640. new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  641. new OracleParameter("rs_worker",OracleDbType.RefCursor,ParameterDirection.Output),
  642. };
  643. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetWorker", paras);
  644. return ds;
  645. }
  646. catch (Exception ex)
  647. {
  648. throw ex;
  649. }
  650. finally
  651. {
  652. if (con.ConnState == ConnectionState.Open)
  653. {
  654. con.Close();
  655. }
  656. }
  657. }
  658. #endregion
  659. #region 获得工种集合
  660. /// <summary>
  661. /// 获得工种集合
  662. /// </summary>
  663. /// <param name="sUserInfo">用户基本信息</param>
  664. /// <returns>DataSet</returns>
  665. /// <remarks>
  666. /// 陈冰 2014.09.03 新建
  667. /// </remarks>
  668. public static DataSet GetJobs(SUserInfo sUserInfo)
  669. {
  670. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  671. try
  672. {
  673. con.Open();
  674. OracleParameter[] paras = new OracleParameter[]{
  675. new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  676. new OracleParameter("rs_jobs",OracleDbType.RefCursor,ParameterDirection.Output),
  677. };
  678. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetJobs", paras);
  679. return ds;
  680. }
  681. catch (Exception ex)
  682. {
  683. throw ex;
  684. }
  685. finally
  686. {
  687. if (con.ConnState == ConnectionState.Open)
  688. {
  689. con.Close();
  690. }
  691. }
  692. }
  693. #endregion
  694. #region 获得缺陷集合
  695. /// <summary>
  696. /// 获得缺陷集合
  697. /// </summary>
  698. /// <param name="sUserInfo">用户基本信息</param>
  699. /// <returns>DataSet</returns>
  700. /// <remarks>
  701. /// 陈冰 2014.09.03 新建
  702. /// </remarks>
  703. public static DataSet GetDefect(SUserInfo sUserInfo)
  704. {
  705. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  706. try
  707. {
  708. con.Open();
  709. OracleParameter[] paras = new OracleParameter[]{
  710. new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  711. new OracleParameter("rs_defect",OracleDbType.RefCursor,ParameterDirection.Output),
  712. };
  713. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetDefect", paras);
  714. return ds;
  715. }
  716. catch (Exception ex)
  717. {
  718. throw ex;
  719. }
  720. finally
  721. {
  722. if (con.ConnState == ConnectionState.Open)
  723. {
  724. con.Close();
  725. }
  726. }
  727. }
  728. #endregion
  729. #region 产品图片
  730. /// <summary>
  731. /// 根据产品ID获取产品图片
  732. /// </summary>
  733. /// <param name="sUserInfo">用户基本信息</param>
  734. /// <param name="goodsId">产品ID</param>
  735. /// <returns>DataSet</returns>
  736. /// <remarks>
  737. /// 庄天威 2014.09.04 新建
  738. /// </remarks>
  739. public static DataSet GetImageByGoodsId(SUserInfo sUserInfo, int goodsId)
  740. {
  741. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  742. try
  743. {
  744. con.Open();
  745. OracleParameter[] paras = new OracleParameter[]{
  746. new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  747. new OracleParameter("in_goodsID",OracleDbType.Int32,goodsId,ParameterDirection.Input),
  748. new OracleParameter("rs_result",OracleDbType.RefCursor,ParameterDirection.Output),
  749. };
  750. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetImageByGoodsId", paras);
  751. return ds;
  752. }
  753. catch (Exception ex)
  754. {
  755. throw ex;
  756. }
  757. finally
  758. {
  759. if (con.ConnState == ConnectionState.Open)
  760. {
  761. con.Close();
  762. }
  763. }
  764. }
  765. #endregion
  766. #region 附件
  767. /// <summary>
  768. /// 新建附件信息
  769. /// </summary>
  770. /// <param name="AttList">附件实体集合</param>
  771. /// <param name="mainId">产品ID</param>
  772. /// <param name="userInfo">用户基本信息</param>
  773. /// <returns>int影响结果行数</returns>
  774. public static int AddAttachment(List<GoodsAttachmentEntity> AttList, int mainId, SUserInfo userInfo)
  775. {
  776. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  777. try
  778. {
  779. oracleTrConn.Connect();
  780. int AttReturn = 0;
  781. int GAReturn = 0;
  782. StringBuilder sbSql = new StringBuilder();
  783. foreach (GoodsAttachmentEntity attFor in AttList)
  784. {
  785. sbSql.Clear();
  786. sbSql.Append("select SEQ_MST_Attachment_ID.nextval from dual");
  787. int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  788. sbSql.Clear();
  789. sbSql.Append(@"Insert into TP_MST_Attachment(AttachmentID,FileName,FilePath,AccountID,ValueFlag,
  790. CreateUserID,UpdateUserID)
  791. Values(:AttachmentID,:FileName,:FilePath,:AccountID,:ValueFlag,
  792. :CreateUserID,:UpdateUserID)");
  793. OracleParameter[] attParas = new OracleParameter[] {
  794. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  795. id,ParameterDirection.Input),
  796. new OracleParameter(":FileName",OracleDbType.NVarchar2,
  797. attFor.FileName,ParameterDirection.Input),
  798. new OracleParameter(":FilePath",OracleDbType.NVarchar2,
  799. attFor.FilePath,ParameterDirection.Input),
  800. new OracleParameter(":AccountID",OracleDbType.Int32,
  801. userInfo.AccountID,ParameterDirection.Input),
  802. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  803. 1,ParameterDirection.Input),
  804. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  805. userInfo.UserID,ParameterDirection.Input),
  806. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  807. userInfo.UserID,ParameterDirection.Input)
  808. };
  809. AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  810. sbSql.Clear();
  811. sbSql.Append(@"Insert into TP_MST_GoodsAttachment(GoodsID,AttachmentID,CreateUserID,UpdateUserID)
  812. Values(:GoodsID,:AttachmentID,:CreateUserID,:UpdateUserID)");
  813. OracleParameter[] gaParas = new OracleParameter[] {
  814. new OracleParameter(":GoodsID",OracleDbType.Int32,
  815. mainId,ParameterDirection.Input),
  816. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  817. id,ParameterDirection.Input),
  818. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  819. userInfo.UserID,ParameterDirection.Input),
  820. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  821. userInfo.UserID,ParameterDirection.Input)
  822. };
  823. GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), gaParas);
  824. sbSql.Clear();
  825. }
  826. oracleTrConn.Commit();
  827. oracleTrConn.Disconnect();
  828. return AttReturn;
  829. }
  830. catch (Exception ex)
  831. {
  832. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  833. {
  834. oracleTrConn.Rollback();
  835. oracleTrConn.Disconnect();
  836. }
  837. throw ex;
  838. }
  839. }
  840. /// <summary>
  841. /// 修改附件信息
  842. /// </summary>
  843. /// <param name="AttList">附件实体集合</param>
  844. /// <param name="mainId">产品ID</param>
  845. /// <param name="userInfo">用户基本信息</param>
  846. /// <returns>int受影响行数</returns>
  847. public static int UpdateAttachment(List<GoodsAttachmentEntity> AttList, int mainId, SUserInfo userInfo)
  848. {
  849. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  850. try
  851. {
  852. oracleTrConn.Connect();
  853. int AttReturn = 0;
  854. int GAReturn = 0;
  855. StringBuilder sbSql = new StringBuilder();
  856. foreach (GoodsAttachmentEntity attFor in AttList)
  857. {
  858. if (attFor.IsUpdateAdd == 0) //不是新建的
  859. {
  860. sbSql.Clear();
  861. sbSql.Append(@"Update TP_MST_Attachment set ValueFlag = :ValueFlag,UpdateUserID=:UpdateUserID
  862. Where AttachmentID = :AttachmentID");
  863. OracleParameter[] attParas = new OracleParameter[] {
  864. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  865. attFor.ValueFlag,ParameterDirection.Input),
  866. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  867. userInfo.UserID,ParameterDirection.Input),
  868. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  869. attFor.AttachmentID,ParameterDirection.Input)
  870. };
  871. AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  872. sbSql.Clear();
  873. sbSql.Append(@"Update TP_MST_GoodsAttachment
  874. Set ValueFlag = :ValueFlag,UpdateUserID=:UpdateUserID
  875. Where AttachmentID = :AttachmentID");
  876. GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  877. sbSql.Clear();
  878. }
  879. else //新建的
  880. {
  881. sbSql.Clear();
  882. sbSql.Append("select SEQ_MST_Attachment_ID.nextval from dual");
  883. int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  884. sbSql.Clear();
  885. sbSql.Append(@"Insert into TP_MST_Attachment(AttachmentID,FileName,FilePath,AccountID,ValueFlag,
  886. CreateUserID,UpdateUserID)
  887. Values(:AttachmentID,:FileName,:FilePath,:AccountID,:ValueFlag,
  888. :CreateUserID,:UpdateUserID)");
  889. OracleParameter[] attParas = new OracleParameter[] {
  890. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  891. id,ParameterDirection.Input),
  892. new OracleParameter(":FileName",OracleDbType.NVarchar2,
  893. attFor.FileName,ParameterDirection.Input),
  894. new OracleParameter(":FilePath",OracleDbType.NVarchar2,
  895. attFor.FilePath,ParameterDirection.Input),
  896. new OracleParameter(":AccountID",OracleDbType.Int32,
  897. userInfo.AccountID,ParameterDirection.Input),
  898. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  899. 1,ParameterDirection.Input),
  900. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  901. userInfo.UserID,ParameterDirection.Input),
  902. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  903. userInfo.UserID,ParameterDirection.Input)
  904. };
  905. AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  906. sbSql.Clear();
  907. sbSql.Append(@"Insert into TP_MST_GoodsAttachment(GoodsID,AttachmentID,CreateUserID,UpdateUserID)
  908. Values(:GoodsID,:AttachmentID,:CreateUserID,:UpdateUserID)");
  909. OracleParameter[] gaParas = new OracleParameter[] {
  910. new OracleParameter(":GoodsID",OracleDbType.Int32,
  911. mainId,ParameterDirection.Input),
  912. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  913. id,ParameterDirection.Input),
  914. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  915. userInfo.UserID,ParameterDirection.Input),
  916. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  917. userInfo.UserID,ParameterDirection.Input)
  918. };
  919. GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), gaParas);
  920. sbSql.Clear();
  921. }
  922. }
  923. oracleTrConn.Commit();
  924. oracleTrConn.Disconnect();
  925. return AttReturn;
  926. }
  927. catch (Exception ex)
  928. {
  929. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  930. {
  931. oracleTrConn.Rollback();
  932. oracleTrConn.Disconnect();
  933. }
  934. throw ex;
  935. }
  936. }
  937. /// <summary>
  938. /// 根据产品ID获取附件
  939. /// </summary>
  940. /// <param name="goodsId">产品ID</param>
  941. /// <returns>DataSet</returns>
  942. public static DataSet GetAttachmentByGoodsId(int goodsId)
  943. {
  944. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  945. try
  946. {
  947. con.Open();
  948. String strSql = @"Select goodsAtt.GoodsID,att.* from TP_MST_GoodsAttachment goodsAtt
  949. Inner join TP_MST_Attachment att
  950. On goodsAtt.AttachmentID = att.AttachmentID
  951. Where goodsAtt.ValueFlag = 1 and goodsAtt.GoodsID = " + goodsId;
  952. DataSet ds = con.GetSqlResultToDs(strSql, null);
  953. return ds;
  954. }
  955. catch (Exception ex)
  956. {
  957. throw ex;
  958. }
  959. finally
  960. {
  961. if (con.ConnState == ConnectionState.Open)
  962. {
  963. con.Close();
  964. }
  965. }
  966. }
  967. #endregion
  968. #region 缺陷位置
  969. /// <summary>
  970. /// 获取缺陷位置
  971. /// </summary>
  972. /// <param name="dpEntity">缺陷位置实体</param>
  973. /// <param name="userInfo">用户基本信息</param>
  974. /// <returns>DataSet</returns>
  975. public static DataSet GetDefectPosition(DefectPositionEntity dpEntity, SUserInfo userInfo)
  976. {
  977. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  978. try
  979. {
  980. con.Open();
  981. OracleParameter[] paras = new OracleParameter[]{
  982. new OracleParameter("in_DefectPositionID",OracleDbType.Int32,
  983. dpEntity.DefectPositionID,ParameterDirection.Input),
  984. new OracleParameter("in_DefectPositionCode",OracleDbType.NVarchar2,
  985. dpEntity.DefectPositionCode,ParameterDirection.Input),
  986. new OracleParameter("in_DefectPositionName",OracleDbType.NVarchar2,
  987. dpEntity.DefectPositionName,ParameterDirection.Input),
  988. new OracleParameter("in_AccountID",OracleDbType.Int32,
  989. userInfo.AccountID,ParameterDirection.Input),
  990. new OracleParameter("out_rs_defect",OracleDbType.RefCursor,ParameterDirection.Output),
  991. };
  992. DataSet dsDefectPosition = con.ExecStoredProcedure("PRO_MST_GetDefectPosition", paras);
  993. return dsDefectPosition;
  994. }
  995. catch (Exception ex)
  996. {
  997. throw ex;
  998. }
  999. finally
  1000. {
  1001. if (con.ConnState == ConnectionState.Open)
  1002. {
  1003. con.Close();
  1004. }
  1005. }
  1006. }
  1007. /// <summary>
  1008. /// 根据产品获得产品缺陷位置
  1009. /// </summary>
  1010. /// <param name="GoodsId">产品ID</param>
  1011. /// <returns>DataSet</returns>
  1012. public static DataSet getGoodsDefectPositionByGoodsId(int GoodsId)
  1013. {
  1014. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1015. try
  1016. {
  1017. con.Open();
  1018. string sql = @"select gdp.*,dp.DefectPositionCode,dp.DefectPositionName,dp.Remarks
  1019. from TP_MST_GoodsDefectPosition gdp
  1020. inner join TP_MST_DefectPosition dp
  1021. on gdp.DefectPositionID=dp.DefectPositionID
  1022. where gdp.GoodsID=" + GoodsId;
  1023. DataSet dsDefectPosition = con.GetSqlResultToDs(sql, null);
  1024. return dsDefectPosition;
  1025. }
  1026. catch (Exception ex)
  1027. {
  1028. throw ex;
  1029. }
  1030. finally
  1031. {
  1032. if (con.ConnState == ConnectionState.Open)
  1033. {
  1034. con.Close();
  1035. }
  1036. }
  1037. }
  1038. /// <summary>
  1039. /// 保存产品缺陷位置关联(依附在添加产品中)
  1040. /// </summary>
  1041. /// <param name="dpList">缺陷位置集</param>
  1042. /// <param name="GoodsId">产品ID</param>
  1043. /// <param name="userInfo">用户基本信息</param>
  1044. /// <returns>int</returns>
  1045. public static int SaveGoodsDefectPosition(IDBTransaction oracleTrConn, List<int> dpList, int GoodsId, SUserInfo userInfo)
  1046. {
  1047. try
  1048. {
  1049. int ReturnCount = 0;
  1050. string sql = "Delete from TP_MST_GoodsDefectPosition where GoodsId=" + GoodsId;
  1051. foreach (int dpFor in dpList)
  1052. {
  1053. string sqlAdd = @"Insert into TP_MST_GoodsDefectPosition(GoodsID,DefectPositionID,
  1054. CreateTime,CreateUserID) Values(:GoodsID,:DefectPositionID,sysdate,:CreateUserID)";
  1055. OracleParameter[] paras = new OracleParameter[]{
  1056. new OracleParameter(":GoodsID",OracleDbType.Int32,
  1057. GoodsId,ParameterDirection.Input),
  1058. new OracleParameter(":DefectPositionID",OracleDbType.Int32,
  1059. dpFor,ParameterDirection.Input),
  1060. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  1061. userInfo.UserID,ParameterDirection.Input),
  1062. };
  1063. ReturnCount += oracleTrConn.ExecuteNonQuery(sqlAdd, paras);
  1064. }
  1065. return ReturnCount;
  1066. }
  1067. catch (Exception ex)
  1068. {
  1069. throw ex;
  1070. }
  1071. }
  1072. #endregion
  1073. #region 成型线类型
  1074. /// <summary>
  1075. /// 获取成型线类型
  1076. /// </summary>
  1077. /// <param name="userInfo">用户基本信息</param>
  1078. /// <returns>数据集</returns>
  1079. /// <remarks>
  1080. /// 庄天威 2014.09.04 新建
  1081. /// </remarks>
  1082. public static DataSet GetGMouldType(SUserInfo userInfo)
  1083. {
  1084. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1085. try
  1086. {
  1087. con.Open();
  1088. OracleParameter[] paras = new OracleParameter[]{
  1089. new OracleParameter("in_accountID",OracleDbType.Int32,
  1090. userInfo.AccountID,ParameterDirection.Input),
  1091. new OracleParameter("in_valueFlag",OracleDbType.Int32,
  1092. 1,ParameterDirection.Input),
  1093. new OracleParameter("out_result",OracleDbType.RefCursor,ParameterDirection.Output),
  1094. };
  1095. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetMouldType", paras);
  1096. return ds;
  1097. }
  1098. catch (Exception ex)
  1099. {
  1100. throw ex;
  1101. }
  1102. finally
  1103. {
  1104. if (con.ConnState == ConnectionState.Open)
  1105. {
  1106. con.Close();
  1107. }
  1108. }
  1109. }
  1110. #endregion
  1111. #region 产品分级数据源
  1112. /// <summary>
  1113. /// 产品分级数据源
  1114. /// </summary>
  1115. /// <param name="type">1适用半成品2检验 2适用成品检验 3入窑前检验</param>
  1116. /// <param name="userInfo">用户基本信息</param>
  1117. /// <returns>DataSet</returns>
  1118. public static DataSet GetGoodsLevel(int type, SUserInfo userInfo)
  1119. {
  1120. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1121. try
  1122. {
  1123. con.Open();
  1124. string sqlString = "";
  1125. if (type == 1 || type == 3)
  1126. {
  1127. 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";
  1128. }
  1129. else if (type == 2)
  1130. {
  1131. 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";
  1132. }
  1133. OracleParameter[] paras = new OracleParameter[]{
  1134. new OracleParameter(":AccountID",userInfo.AccountID),
  1135. };
  1136. DataSet dsGoodsLevel = con.GetSqlResultToDs(sqlString, paras);
  1137. return dsGoodsLevel;
  1138. }
  1139. catch (Exception ex)
  1140. {
  1141. throw ex;
  1142. }
  1143. finally
  1144. {
  1145. if (con.ConnState == ConnectionState.Open)
  1146. {
  1147. con.Close();
  1148. }
  1149. }
  1150. }
  1151. #endregion
  1152. #region 审核状态
  1153. /// <summary>
  1154. /// 获取全部审核状态
  1155. /// </summary>
  1156. /// <returns>DataSet审核状态数据源</returns>
  1157. public static DataSet GetAuditStatus()
  1158. {
  1159. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1160. try
  1161. {
  1162. con.Open();
  1163. String strSql = "Select * from TP_SYS_AuditStatus Order by DisplayNo";
  1164. DataSet ds = con.GetSqlResultToDs(strSql, null);
  1165. return ds;
  1166. }
  1167. catch (Exception ex)
  1168. {
  1169. throw ex;
  1170. }
  1171. finally
  1172. {
  1173. if (con.ConnState == ConnectionState.Open)
  1174. {
  1175. con.Close();
  1176. }
  1177. }
  1178. }
  1179. #endregion
  1180. /// <summary>
  1181. /// 工序集合
  1182. /// </summary>
  1183. /// <param name="ProductionLineEntity">工序实体</param>
  1184. /// <param name="sUserInfo">用户<基本信息/param>
  1185. /// <returns>DataSet</returns>
  1186. /// <remarks>
  1187. /// 王鑫 2014.11.29 新建
  1188. /// </remarks>
  1189. public static DataSet GetProdureList(SearchProductionLineEntity productionLineEntity, SUserInfo sUserInfo)
  1190. {
  1191. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1192. try
  1193. {
  1194. con.Open();
  1195. OracleParameter[] paras = new OracleParameter[]{
  1196. new OracleParameter("in_procedureCode",OracleDbType.Varchar2,productionLineEntity.ProductionLineCode,ParameterDirection.Input),
  1197. new OracleParameter("in_procedureName",OracleDbType.Varchar2,productionLineEntity.ProductionLineName,ParameterDirection.Input),
  1198. new OracleParameter("in_procedureIDS",OracleDbType.Varchar2,productionLineEntity.ProcuteLineIDS,ParameterDirection.Input),
  1199. new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  1200. new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
  1201. };
  1202. DataSet dsSearchReport = con.ExecStoredProcedure("PRO_PC_GetProcedureList", paras);
  1203. return dsSearchReport;
  1204. }
  1205. catch (Exception ex)
  1206. {
  1207. throw ex;
  1208. }
  1209. finally
  1210. {
  1211. if (con.ConnState == ConnectionState.Open)
  1212. {
  1213. con.Close();
  1214. }
  1215. }
  1216. }
  1217. /// <summary>
  1218. /// 获取全部工种计件方式
  1219. /// </summary>
  1220. /// <returns>DataSet工种计件方式集合</returns>
  1221. public static DataSet GetJobsPriceType()
  1222. {
  1223. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1224. try
  1225. {
  1226. con.Open();
  1227. String strSql = "Select * from TP_SYS_JobsPriceType Order by DisplayNo";
  1228. DataSet dsSearchReport = con.GetSqlResultToDs(strSql, null);
  1229. return dsSearchReport;
  1230. }
  1231. catch (Exception ex)
  1232. {
  1233. throw ex;
  1234. }
  1235. finally
  1236. {
  1237. if (con.ConnState == ConnectionState.Open)
  1238. {
  1239. con.Close();
  1240. }
  1241. }
  1242. }
  1243. #region 装具管理
  1244. /// <summary>
  1245. /// 查询装具信息
  1246. /// </summary>
  1247. /// <param name="sUserInfo"></param>
  1248. /// <param name="goodsID"></param>
  1249. /// <returns></returns>
  1250. public static ServiceResultEntity GetEntruckingInfo(SUserInfo sUserInfo, string entruckingCode)
  1251. {
  1252. IDBConnection conn = null;
  1253. try
  1254. {
  1255. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1256. string sqlString = @"
  1257. SELECT
  1258. TPE.ENTRUCKINGCODE,
  1259. CASE WHEN TPE.STATUS = 1 THEN '已使用' ELSE '未使用' END AS STATUS,
  1260. TPE.TRUCKSIZE,
  1261. TPE.REMARKS,
  1262. TPE.Batch,
  1263. TPE.VALUEFLAG
  1264. FROM
  1265. TP_PM_ENTRUCKING TPE
  1266. WHERE 1=1";
  1267. if (!string.IsNullOrEmpty(entruckingCode))
  1268. {
  1269. sqlString += "AND TPE.ENTRUCKINGCODE = : ENTRUCKINGCODE";
  1270. }
  1271. OracleParameter[] paras = new OracleParameter[]{
  1272. new OracleParameter(":ENTRUCKINGCODE",entruckingCode),
  1273. };
  1274. ServiceResultEntity sre = new ServiceResultEntity();
  1275. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1276. return sre;
  1277. }
  1278. catch (Exception ex)
  1279. {
  1280. throw ex;
  1281. }
  1282. finally
  1283. {
  1284. if (conn != null &&
  1285. conn.ConnState == ConnectionState.Open)
  1286. {
  1287. conn.Close();
  1288. }
  1289. }
  1290. }
  1291. /// <summary>
  1292. /// 查询装具明细信息
  1293. /// </summary>
  1294. /// <param name="sUserInfo"></param>
  1295. /// <param name="goodsID"></param>
  1296. /// <returns></returns>
  1297. public static ServiceResultEntity GetEntruckingInfoDetail(SUserInfo sUserInfo, string entruckingCode)
  1298. {
  1299. IDBConnection conn = null;
  1300. try
  1301. {
  1302. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1303. string sqlString = @"
  1304. SELECT
  1305. TPED.BARCODE AS BARCODEDETAIL,
  1306. TPED.BATCH AS BATCHDETAIL,
  1307. CASE WHEN TPED.DOFUNCTION = 1 THEN '绑定'
  1308. WHEN TPED.DOFUNCTION = 2 THEN '解绑'
  1309. WHEN TPED.DOFUNCTION = 3 THEN '增加'
  1310. WHEN TPED.DOFUNCTION = 4 THEN '删减'
  1311. ELSE '' END AS DOFUNCTIONDETAIL,
  1312. TPP.PROCEDURENAME AS PROCEDUREIDDETAIL,
  1313. TPED.REMARKS AS REMARKSDETAIL,
  1314. TPED.USERCODE AS USERCODEDETAIL,
  1315. TPED.CREATETIME AS CREATETIMEDETAIL
  1316. FROM
  1317. TP_PM_ENTRUCKINGDETAIL TPED
  1318. INNER JOIN TP_PM_ENTRUCKING TPE ON TPED.ENTRUCKINGCODE = TPE.ENTRUCKINGCODE
  1319. LEFT JOIN TP_PC_PROCEDURE TPP ON TPED.ProcedureID = TPP.ProcedureID
  1320. WHERE
  1321. 1 = 1
  1322. AND TPED.VALUEFLAG = 1
  1323. AND TPED.ENTRUCKINGCODE = : ENTRUCKINGCODE
  1324. ORDER BY TPED.CREATETIME DESC";
  1325. OracleParameter[] paras = new OracleParameter[]{
  1326. new OracleParameter(":ENTRUCKINGCODE",entruckingCode),
  1327. };
  1328. ServiceResultEntity sre = new ServiceResultEntity();
  1329. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1330. return sre;
  1331. }
  1332. catch (Exception ex)
  1333. {
  1334. throw ex;
  1335. }
  1336. finally
  1337. {
  1338. if (conn != null &&
  1339. conn.ConnState == ConnectionState.Open)
  1340. {
  1341. conn.Close();
  1342. }
  1343. }
  1344. }
  1345. /// <summary>
  1346. /// 保存装具信息
  1347. /// </summary>
  1348. /// <param name="sUserInfo"></param>
  1349. /// <param name="goodsID"></param>
  1350. /// <returns></returns>
  1351. public static ServiceResultEntity InsertEntruckingInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  1352. {
  1353. IDBTransaction conn = null;
  1354. try
  1355. {
  1356. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  1357. ServiceResultEntity sre = new ServiceResultEntity();
  1358. DataTable dt = new DataTable();
  1359. string sqlString = string.Empty;
  1360. OracleParameter[] paras = new OracleParameter[] { };
  1361. #region 新建校验
  1362. if (cre.Properties["FromStatus"].ToString() == "Add")
  1363. {
  1364. //如果装具条码是新建的情况下,是否存在相同装具条码
  1365. sqlString = @"
  1366. SELECT 1 FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
  1367. paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()), };
  1368. dt = new DataTable();
  1369. dt = conn.GetSqlResultToDt(sqlString, paras);
  1370. if (dt != null && dt.Rows.Count > 0)
  1371. {
  1372. //存在相同装具条码
  1373. sre.OtherStatus = -1001;
  1374. return sre;
  1375. }
  1376. }
  1377. #endregion
  1378. #region 编辑校验
  1379. if (cre.Properties["FromStatus"].ToString() == "Edit")
  1380. {
  1381. //查看装具是否时使用状态,如果使用状态不可以修改装具信息
  1382. sqlString = @"
  1383. SELECT STATUS FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
  1384. paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) };
  1385. dt = conn.GetSqlResultToDt(sqlString, paras);
  1386. if (dt != null && dt.Rows.Count > 0 && dt.Rows[0]["STATUS"].ToString() == "1")
  1387. {
  1388. //使用状态不可以修改装具信息
  1389. sre.OtherStatus = -1002;
  1390. return sre;
  1391. }
  1392. //删除存在装具条码
  1393. sqlString = @"
  1394. DELETE FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
  1395. paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) };
  1396. int results = conn.ExecuteNonQuery(sqlString, paras);
  1397. if (results <= 0)
  1398. {
  1399. //未改变任何数据
  1400. sre.OtherStatus = -1003;
  1401. return sre;
  1402. }
  1403. }
  1404. #endregion
  1405. #region 保存信息
  1406. //保存装具条码
  1407. sqlString = @"
  1408. INSERT INTO TP_PM_ENTRUCKING(
  1409. ENTRUCKINGCODE,
  1410. STATUS,
  1411. TRUCKSIZE,
  1412. BATCH,
  1413. REMARKS,
  1414. ACCOUNTID,
  1415. VALUEFLAG,
  1416. CREATEUSERID,
  1417. UPDATEUSERID
  1418. ) VALUES(
  1419. :ENTRUCKINGCODE,
  1420. 0,
  1421. :TRUCKSIZE,
  1422. 0,
  1423. :REMARKS,
  1424. 1,
  1425. :VALUEFLAG,
  1426. :USERID,
  1427. :USERID
  1428. )";
  1429. paras = new OracleParameter[] {
  1430. new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) ,
  1431. new OracleParameter(":TRUCKSIZE", cre.Properties["txtTruckSize"].ToString()) ,
  1432. new OracleParameter(":REMARKS", cre.Properties["txtRemarks"].ToString()) ,
  1433. new OracleParameter(":VALUEFLAG", cre.Properties["cmbValueFlag"].ToString()) ,
  1434. new OracleParameter(":USERID", sUserInfo.UserID)
  1435. };
  1436. int result = conn.ExecuteNonQuery(sqlString, paras);
  1437. if (result <= 0)
  1438. {
  1439. //未改变任何数据
  1440. sre.OtherStatus = -1003;
  1441. return sre;
  1442. }
  1443. else
  1444. {
  1445. //提交数据
  1446. sre.OtherStatus = 1;
  1447. conn.Commit();
  1448. }
  1449. #endregion
  1450. return sre;
  1451. }
  1452. catch (Exception ex)
  1453. {
  1454. conn.Rollback();
  1455. conn.Disconnect();
  1456. throw ex;
  1457. }
  1458. finally
  1459. {
  1460. if (conn != null &&
  1461. conn.ConnState == ConnectionState.Open)
  1462. {
  1463. conn.Disconnect();
  1464. }
  1465. }
  1466. }
  1467. #endregion
  1468. #region 客户信息
  1469. public static ServiceResultEntity GetCustomer(SUserInfo sUserInfo, ClientRequestEntity cre)
  1470. {
  1471. IDBConnection conn = null;
  1472. try
  1473. {
  1474. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1475. string sqlString = @"
  1476. SELECT
  1477. C.CUSTOMERID,
  1478. C.CUSTOMERCODE,
  1479. C.CUSTOMERNAME,
  1480. M.GOODSCODE,
  1481. M.GOODSNAME,
  1482. C.REMARKS,
  1483. CASE
  1484. WHEN C.VALUEFLAG = 1 THEN
  1485. '是' ELSE '否'
  1486. END AS VALUEFLAG
  1487. FROM
  1488. TP_PC_CUSTOMERINFORMATION C
  1489. LEFT JOIN TP_MST_GOODS M ON C.GOODSCODE = M.GOODSCODE
  1490. WHERE
  1491. 1 =1";
  1492. if (!string.IsNullOrEmpty(cre.Properties["Customerid"].ToString()))
  1493. {
  1494. sqlString += " AND C.CUSTOMERID = :CUSTOMERID";
  1495. }
  1496. if (!string.IsNullOrEmpty(cre.Properties["CustomerCode"].ToString()))
  1497. {
  1498. sqlString += " AND C.CUSTOMERCODE like :CUSTOMERCODE";
  1499. }
  1500. if (!string.IsNullOrEmpty(cre.Properties["CustomerName"].ToString()))
  1501. {
  1502. sqlString += " AND C.CUSTOMERNAME like :CUSTOMERNAME";
  1503. }
  1504. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  1505. {
  1506. sqlString += " AND C.VALUEFLAG = :VALUEFLAG";
  1507. }
  1508. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1509. {
  1510. sqlString += " AND C.GOODSCODE like :GOODSCODE";
  1511. }
  1512. if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
  1513. {
  1514. sqlString += " AND C.GOODSNAME like :GOODSNAME";
  1515. }
  1516. OracleParameter[] paras = new OracleParameter[]{
  1517. new OracleParameter(":CUSTOMERID",cre.Properties["Customerid"].ToString()),
  1518. new OracleParameter(":CUSTOMERCODE",'%'+cre.Properties["CustomerCode"].ToString()+'%'),
  1519. new OracleParameter(":CUSTOMERNAME",'%'+cre.Properties["CustomerName"].ToString()+'%'),
  1520. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  1521. new OracleParameter(":GOODSNAME",'%'+cre.Properties["GOODSNAME"].ToString()+'%'),
  1522. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString())
  1523. };
  1524. ServiceResultEntity sre = new ServiceResultEntity();
  1525. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1526. return sre;
  1527. }
  1528. catch (Exception ex)
  1529. {
  1530. throw ex;
  1531. }
  1532. finally
  1533. {
  1534. if (conn != null &&
  1535. conn.ConnState == ConnectionState.Open)
  1536. {
  1537. conn.Close();
  1538. }
  1539. }
  1540. }
  1541. /// <summary>
  1542. /// 保存客户信息
  1543. /// </summary>
  1544. /// <param name="sUserInfo"></param>
  1545. /// <param name="goodsID"></param>
  1546. /// <returns></returns>
  1547. public static ServiceResultEntity AddCustomerInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  1548. {
  1549. IDBTransaction conn = null;
  1550. try
  1551. {
  1552. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  1553. ServiceResultEntity sre = new ServiceResultEntity();
  1554. DataTable dt = new DataTable();
  1555. string sqlString = string.Empty;
  1556. OracleParameter[] paras = new OracleParameter[] { };
  1557. //如果客户信息是新建的情况下,是否存在相同客户编码
  1558. if (cre.Properties["FromStatus"].ToString() == "Add")
  1559. {
  1560. sqlString = @"
  1561. SELECT 1 FROM TP_PC_CUSTOMERINFORMATION WHERE CUSTOMERCODE = :CUSTOMERCODE AND GOODSCODE = :GOODSCODE";
  1562. paras = new OracleParameter[] {
  1563. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1564. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString())
  1565. };
  1566. dt = new DataTable();
  1567. dt = conn.GetSqlResultToDt(sqlString, paras);
  1568. if (dt != null && dt.Rows.Count > 0)
  1569. {
  1570. //存在相同客户编码
  1571. sre.OtherStatus = -1001;
  1572. return sre;
  1573. }
  1574. }
  1575. #region 新增
  1576. if (cre.Properties["FromStatus"].ToString() == "Add")
  1577. {
  1578. //保存客户信息
  1579. sqlString = @"
  1580. INSERT INTO TP_PC_CUSTOMERINFORMATION(
  1581. CUSTOMERCODE,
  1582. CUSTOMERNAME,
  1583. REMARKS,
  1584. ACCOUNTID,
  1585. VALUEFLAG,
  1586. CREATEUSERID,
  1587. UPDATEUSERID,
  1588. GOODSCODE
  1589. ) VALUES(
  1590. :CUSTOMERCODE,
  1591. :CUSTOMERNAME,
  1592. :REMARKS,
  1593. 1,
  1594. :VALUEFLAG,
  1595. :USERID,
  1596. :USERID,
  1597. :GOODSCODE)";
  1598. paras = new OracleParameter[] {
  1599. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1600. new OracleParameter(":CUSTOMERNAME", cre.Properties["CUSTOMERNAME"].ToString()) ,
  1601. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()) ,
  1602. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  1603. new OracleParameter(":USERID", sUserInfo.UserID) ,
  1604. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1605. };
  1606. }
  1607. #endregion
  1608. #region 编辑
  1609. if (cre.Properties["FromStatus"].ToString() == "Edit")
  1610. {
  1611. //sqlString = @"
  1612. // SELECT 1 FROM TP_PC_CUSTOMERINFORMATION WHERE CUSTOMERCODE = :CUSTOMERCODE AND CUSTOMERCODE != :CUSTOMERCODEONE";
  1613. //paras = new OracleParameter[] {
  1614. // new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1615. // new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString())
  1616. //};
  1617. //dt = new DataTable();
  1618. //dt = conn.GetSqlResultToDt(sqlString, paras);
  1619. //if (dt != null && dt.Rows.Count > 0)
  1620. //{
  1621. // //存在相同客户编码
  1622. // sre.OtherStatus = -1001;
  1623. // return sre;
  1624. //}
  1625. sqlString = @"UPDATE TP_PC_CUSTOMERINFORMATION
  1626. SET
  1627. CUSTOMERCODE=:CUSTOMERCODE,
  1628. CUSTOMERNAME =:CUSTOMERNAME,
  1629. REMARKS = :REMARKS,
  1630. VALUEFLAG = :VALUEFLAG,
  1631. GOODSCODE = :GOODSCODE
  1632. WHERE
  1633. CUSTOMERID = :CUSTOMERID";
  1634. paras = new OracleParameter[] {
  1635. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1636. new OracleParameter(":CUSTOMERID",Convert.ToInt32(cre.Properties["CUSTOMERID"])),
  1637. new OracleParameter(":CUSTOMERNAME", cre.Properties["CUSTOMERNAME"].ToString()) ,
  1638. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()),
  1639. new OracleParameter(":VALUEFLAG", Convert.ToInt32(cre.Properties["VALUEFLAG"])),
  1640. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1641. //new OracleParameter(":USERID", sUserInfo.UserID)
  1642. };
  1643. }
  1644. #endregion
  1645. int result = conn.ExecuteNonQuery(sqlString, paras);
  1646. if (result <= 0)
  1647. {
  1648. //未改变任何数据
  1649. sre.OtherStatus = -1003;
  1650. return sre;
  1651. }
  1652. else
  1653. {
  1654. //提交数据
  1655. sre.OtherStatus = 1;
  1656. conn.Commit();
  1657. }
  1658. return sre;
  1659. }
  1660. catch (Exception ex)
  1661. {
  1662. conn.Rollback();
  1663. conn.Disconnect();
  1664. throw ex;
  1665. }
  1666. finally
  1667. {
  1668. if (conn != null &&
  1669. conn.ConnState == ConnectionState.Open)
  1670. {
  1671. conn.Disconnect();
  1672. }
  1673. }
  1674. }
  1675. #endregion
  1676. #region 版面信息
  1677. public static ServiceResultEntity GetLayout(SUserInfo sUserInfo, ClientRequestEntity cre)
  1678. {
  1679. IDBConnection conn = null;
  1680. try
  1681. {
  1682. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1683. string sqlString = @"
  1684. SELECT DISTINCT
  1685. L.LAYOUTID,
  1686. C.CUSTOMERCODE,
  1687. C.CUSTOMERNAME,
  1688. L.LAYOUTCODE,
  1689. L.LAYOUTNAME,
  1690. L.REMARKS,
  1691. M.GOODSCODE,
  1692. M.GOODSNAME,
  1693. CASE
  1694. WHEN L.VALUEFLAG = 1 THEN
  1695. '是' ELSE '否'
  1696. END AS VALUEFLAG
  1697. FROM
  1698. TP_PC_LAYOUTINFORMATION L
  1699. LEFT JOIN TP_PC_CUSTOMERINFORMATION C ON L.CUSTOMERCODE = C.CUSTOMERCODE
  1700. LEFT JOIN TP_MST_GOODS M ON L.GOODSCODE = M.GOODSCODE
  1701. WHERE
  1702. 1 =1";
  1703. if (!string.IsNullOrEmpty(cre.Properties["Layoutid"].ToString()))
  1704. {
  1705. sqlString += " AND L.LAYOUTID = :LAYOUTID";
  1706. }
  1707. if (!string.IsNullOrEmpty(cre.Properties["LayoutCode"].ToString()))
  1708. {
  1709. sqlString += " AND L.LAYOUTCODE like : LAYOUTCODE";
  1710. }
  1711. if (!string.IsNullOrEmpty(cre.Properties["CustomerCode"].ToString()))
  1712. {
  1713. sqlString += " AND C.CUSTOMERCODE like : CUSTOMERCODE";
  1714. }
  1715. if (!string.IsNullOrEmpty(cre.Properties["LayoutName"].ToString()))
  1716. {
  1717. sqlString += " AND L.LAYOUTNAME like : LAYOUTNAME";
  1718. }
  1719. if (!string.IsNullOrEmpty(cre.Properties["ValueFlag"].ToString()))
  1720. {
  1721. sqlString += " AND L.VALUEFLAG = : VALUEFLAG";
  1722. }
  1723. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1724. {
  1725. sqlString += " AND L.GOODSCODE like : GOODSCODE";
  1726. }
  1727. OracleParameter[] paras = new OracleParameter[]{
  1728. new OracleParameter(":LAYOUTID",cre.Properties["Layoutid"].ToString()),
  1729. new OracleParameter(":LAYOUTCODE",'%'+cre.Properties["LayoutCode"].ToString()+'%'),
  1730. new OracleParameter(":CUSTOMERCODE",'%'+cre.Properties["CustomerCode"].ToString()+'%'),
  1731. new OracleParameter(":LAYOUTNAME",'%'+cre.Properties["LayoutName"].ToString()+'%'),
  1732. new OracleParameter(":VALUEFLAG",cre.Properties["ValueFlag"].ToString()),
  1733. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%')
  1734. };
  1735. ServiceResultEntity sre = new ServiceResultEntity();
  1736. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1737. return sre;
  1738. }
  1739. catch (Exception ex)
  1740. {
  1741. throw ex;
  1742. }
  1743. finally
  1744. {
  1745. if (conn != null &&
  1746. conn.ConnState == ConnectionState.Open)
  1747. {
  1748. conn.Close();
  1749. }
  1750. }
  1751. }
  1752. ///<summary>
  1753. ///保存版面信息
  1754. /// </summary>
  1755. public static ServiceResultEntity AddLayoutInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  1756. {
  1757. IDBTransaction conn = null;
  1758. try
  1759. {
  1760. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  1761. ServiceResultEntity sre = new ServiceResultEntity();
  1762. DataTable dt = new DataTable();
  1763. string sqlString = string.Empty;
  1764. OracleParameter[] paras = new OracleParameter[] { };
  1765. OracleParameter[] paras1= new OracleParameter[] { };
  1766. //如果版面信息是新建的情况下,是否存在相同版面编码
  1767. if (cre.Properties["FromStatus"].ToString() == "Add")
  1768. {
  1769. sqlString = @"
  1770. SELECT 1 FROM TP_PC_LAYOUTINFORMATION WHERE LAYOUTCODE = :LAYOUTCODE AND CUSTOMERCODE = :CUSTOMERCODE AND GOODSCODE = :GOODSCODE";
  1771. paras = new OracleParameter[] {
  1772. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  1773. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1774. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1775. };
  1776. dt = new DataTable();
  1777. dt = conn.GetSqlResultToDt(sqlString, paras);
  1778. if (dt != null && dt.Rows.Count > 0)
  1779. {
  1780. //存在相同版面编码
  1781. sre.OtherStatus = -1001;
  1782. return sre;
  1783. }
  1784. }
  1785. #region 新增
  1786. if (cre.Properties["FromStatus"].ToString() == "Add")
  1787. {
  1788. //保存客户信息
  1789. sqlString = @"INSERT INTO TP_PC_LAYOUTINFORMATION(
  1790. CUSTOMERCODE,
  1791. LAYOUTCODE,
  1792. LAYOUTNAME,
  1793. REMARKS,
  1794. ACCOUNTID,
  1795. VALUEFLAG,
  1796. CREATEUSERID,
  1797. UPDATEUSERID ,
  1798. GOODSCODE
  1799. ) VALUES(
  1800. :CUSTOMERCODE,
  1801. :LAYOUTCODE,
  1802. :LAYOUTNAME,
  1803. :REMARKS,
  1804. 1,
  1805. :VALUEFLAG,
  1806. :USERID,
  1807. :USERID,
  1808. :GOODSCODE)";
  1809. paras = new OracleParameter[] {
  1810. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  1811. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1812. new OracleParameter(":LAYOUTNAME", cre.Properties["LAYOUTNAME"].ToString()) ,
  1813. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()) ,
  1814. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  1815. new OracleParameter(":USERID", sUserInfo.UserID),
  1816. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString())
  1817. };
  1818. }
  1819. #endregion
  1820. #region 编辑
  1821. if (cre.Properties["FromStatus"].ToString() == "Edit")
  1822. {
  1823. //sqlString = @"
  1824. // SELECT 1 FROM TP_PC_LAYOUTINFORMATION WHERE
  1825. // LAYOUTCODE = :LAYOUTCODE AND LAYOUTCODE != :LAYOUTCODEONE
  1826. // AND CUSTOMERCODE = :CUSTOMERCODE AND CUSTOMERCODE != :CUSTOMERCODEONE
  1827. // AND GOODSCODE = :GOODSCODE AND GOODSCODE != :GOODSCODEONE ";
  1828. //paras = new OracleParameter[] {
  1829. // new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  1830. // new OracleParameter(":LAYOUTCODEONE", cre.Properties["LAYOUTCODEONE"].ToString()),
  1831. // new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1832. // new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString()),
  1833. // new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1834. // new OracleParameter(":GOODSCODEONE", cre.Properties["GOODSCODEONE"].ToString()),
  1835. //};
  1836. //dt = new DataTable();
  1837. //dt = conn.GetSqlResultToDt(sqlString, paras);
  1838. //if (dt != null && dt.Rows.Count > 0)
  1839. //{
  1840. // //存在相同版面编码
  1841. // sre.OtherStatus = -1001;
  1842. // return sre;
  1843. //}
  1844. sqlString = @"UPDATE TP_PC_LAYOUTINFORMATION
  1845. SET
  1846. CUSTOMERCODE=:CUSTOMERCODE,
  1847. LAYOUTCODE = :LAYOUTCODE,
  1848. LAYOUTNAME =:LAYOUTNAME,
  1849. REMARKS = :REMARKS,
  1850. VALUEFLAG = :VALUEFLAG ,
  1851. GOODSCODE = :GOODSCODE
  1852. WHERE
  1853. LAYOUTID = :LAYOUTID";
  1854. paras = new OracleParameter[] {
  1855. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1856. new OracleParameter(":LAYOUTID",Convert.ToInt32(cre.Properties["LAYOUTID"])),
  1857. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  1858. new OracleParameter(":LAYOUTNAME", cre.Properties["LAYOUTNAME"].ToString()),
  1859. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()),
  1860. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  1861. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1862. };
  1863. }
  1864. #endregion
  1865. int result = conn.ExecuteNonQuery(sqlString, paras);
  1866. if (result <= 0)
  1867. {
  1868. //未改变任何数据
  1869. sre.OtherStatus = -1003;
  1870. return sre;
  1871. }
  1872. else
  1873. {
  1874. //提交数据
  1875. sre.OtherStatus = 1;
  1876. conn.Commit();
  1877. }
  1878. return sre;
  1879. }
  1880. catch (Exception ex)
  1881. {
  1882. throw ex;
  1883. }
  1884. finally
  1885. {
  1886. if (conn != null &&
  1887. conn.ConnState == ConnectionState.Open)
  1888. {
  1889. conn.Disconnect();
  1890. }
  1891. }
  1892. }
  1893. #endregion
  1894. #region 订单信息
  1895. public static ServiceResultEntity GetOrder(SUserInfo sUserInfo, ClientRequestEntity cre)
  1896. {
  1897. IDBConnection conn = null;
  1898. try
  1899. {
  1900. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1901. string sqlString = @"SELECT
  1902. ord.ORDERSCODE,
  1903. ord.ORDERSNAME,
  1904. '' AS GOODSCODE,
  1905. ord.NUMBERS,
  1906. CASE
  1907. WHEN ord.VALUEFLAG = 1 THEN
  1908. '是' ELSE '否'
  1909. END AS VALUEFLAG
  1910. FROM
  1911. TP_PC_ORDERINFORMATION ord
  1912. WHERE
  1913. 1 = 1";
  1914. if (!string.IsNullOrEmpty(cre.Properties["ORDERSCODE"].ToString()))
  1915. {
  1916. sqlString += " AND ORDERSCODE like : ORDERSCODE";
  1917. }
  1918. if (!string.IsNullOrEmpty(cre.Properties["ORDERSNAME"].ToString()))
  1919. {
  1920. sqlString += " AND ORDERSNAME like : ORDERSNAME";
  1921. }
  1922. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1923. {
  1924. sqlString += " AND GOODSCODE like : GOODSCODE";
  1925. }
  1926. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  1927. {
  1928. sqlString += " AND VALUEFLAG = : VALUEFLAG";
  1929. }
  1930. OracleParameter[] paras = new OracleParameter[]{
  1931. new OracleParameter(":ORDERSCODE",'%'+cre.Properties["ORDERSCODE"].ToString()+'%'),
  1932. new OracleParameter(":ORDERSNAME",'%'+cre.Properties["ORDERSNAME"].ToString()+'%'),
  1933. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  1934. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  1935. };
  1936. ServiceResultEntity sre = new ServiceResultEntity();
  1937. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1938. return sre;
  1939. }
  1940. catch (Exception ex)
  1941. {
  1942. throw ex;
  1943. }
  1944. finally
  1945. {
  1946. if (conn != null &&
  1947. conn.ConnState == ConnectionState.Open)
  1948. {
  1949. conn.Close();
  1950. }
  1951. }
  1952. }
  1953. //订单详细信息
  1954. public static ServiceResultEntity GetOrderDetails(SUserInfo sUserInfo, ClientRequestEntity cre)
  1955. {
  1956. IDBConnection conn = null;
  1957. try
  1958. {
  1959. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1960. string sqlString = @"SELECT
  1961. DISTINCT
  1962. ord.ORDERSDETAILID,
  1963. ord.ORDERSID,
  1964. ORD.ORDERSCODE,
  1965. cus.CUSTOMERCODE,
  1966. cus.CUSTOMERNAME,
  1967. lay.LAYOUTCODE,
  1968. lay.LAYOUTNAME,
  1969. ord.GOODSCODE,
  1970. ord.BARCODE,
  1971. ord.ENTRUCKINGCODE,
  1972. ord.NUMBERS
  1973. FROM
  1974. TP_PC_ORDERINFORMATIONDETAILS ord
  1975. inner JOIN TP_PC_CUSTOMERINFORMATION cus on cus.CUSTOMERCODE=ord.CUSTOMERCODE
  1976. inner JOIN TP_PC_LAYOUTINFORMATION lay on lay.LAYOUTCODE=ord.LAYOUTCODE
  1977. WHERE 1=1";
  1978. if (!string.IsNullOrEmpty(cre.Properties["ORDERCODE"].ToString()))
  1979. {
  1980. sqlString += " AND ord.ORDERSCODE like : ORDERSCODE";
  1981. }
  1982. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1983. {
  1984. sqlString += " AND ord.GOODSCODE like : GOODSCODE";
  1985. }
  1986. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  1987. {
  1988. sqlString += " AND ord.VALUEFLAG = : VALUEFLAG";
  1989. }
  1990. OracleParameter[] paras = new OracleParameter[]{
  1991. new OracleParameter(":ORDERSCODE",'%'+cre.Properties["ORDERCODE"].ToString()+'%'),
  1992. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  1993. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  1994. };
  1995. ServiceResultEntity sre = new ServiceResultEntity();
  1996. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1997. return sre;
  1998. }
  1999. catch (Exception ex)
  2000. {
  2001. throw ex;
  2002. }
  2003. finally
  2004. {
  2005. if (conn != null &&
  2006. conn.ConnState == ConnectionState.Open)
  2007. {
  2008. conn.Close();
  2009. }
  2010. }
  2011. }
  2012. /// <summary>
  2013. /// /保存订单信息
  2014. /// </summary>
  2015. public static ServiceResultEntity AddOrderInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  2016. {
  2017. IDBTransaction conn = null;
  2018. try
  2019. {
  2020. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2021. ServiceResultEntity sre = new ServiceResultEntity();
  2022. DataTable dt = new DataTable();
  2023. string sqlString = string.Empty;
  2024. OracleParameter[] paras = new OracleParameter[] { };
  2025. //如果版面信息是新建的情况下,是否存在相同版面编码
  2026. if (cre.Properties["FromStatus"].ToString() == "Add")
  2027. {
  2028. sqlString = @"
  2029. SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE";
  2030. paras = new OracleParameter[] { new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()), };
  2031. dt = new DataTable();
  2032. dt = conn.GetSqlResultToDt(sqlString, paras);
  2033. if (dt != null && dt.Rows.Count > 0)
  2034. {
  2035. //存在相同版面编码
  2036. sre.OtherStatus = -1001;
  2037. return sre;
  2038. }
  2039. }
  2040. #region 新增
  2041. if (cre.Properties["FromStatus"].ToString() == "Add")
  2042. {
  2043. //保存客户信息
  2044. sqlString = @"INSERT INTO TP_PC_ORDERINFORMATION(
  2045. CUSTOMERCODE,
  2046. LAYOUTCODE,
  2047. ORDERSCODE,
  2048. ORDERSNAME,
  2049. NUMBERS,
  2050. VALUEFLAG,
  2051. ACCOUNTID,
  2052. CREATEUSERID,
  2053. UPDATEUSERID
  2054. ) VALUES(
  2055. :CUSTOMERCODE,
  2056. :LAYOUTCODE,
  2057. :ORDERSCODE,
  2058. :ORDERSNAME,
  2059. :NUMBERS,
  2060. :VALUEFLAG,
  2061. 1,
  2062. :USERID,
  2063. :USERID)";
  2064. paras = new OracleParameter[] {
  2065. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  2066. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  2067. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2068. new OracleParameter(":ORDERSNAME", cre.Properties["ORDERSNAME"].ToString()) ,
  2069. new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
  2070. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  2071. new OracleParameter(":USERID", sUserInfo.UserID)
  2072. };
  2073. }
  2074. #endregion
  2075. #region 编辑
  2076. if (cre.Properties["FromStatus"].ToString() == "Edit")
  2077. {
  2078. if (cre.Properties["ORDERS"].ToString() == "1")
  2079. {
  2080. sqlString = @"
  2081. SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE AND ORDERSCODE != :ORDERCODEONE";
  2082. paras = new OracleParameter[] {
  2083. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()),
  2084. new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()),
  2085. };
  2086. dt = new DataTable();
  2087. dt = conn.GetSqlResultToDt(sqlString, paras);
  2088. if (dt != null && dt.Rows.Count > 0)
  2089. {
  2090. //存在相同版面编码
  2091. sre.OtherStatus = -1001;
  2092. return sre;
  2093. }
  2094. sqlString = @"UPDATE TP_PC_ORDERINFORMATION
  2095. SET
  2096. ORDERSNAME =:ORDERNAME,
  2097. ORDERSCODE =:ORDERSCODE,
  2098. NUMBERS = :NUMBERS,
  2099. VALUEFLAG = :VALUEFALG
  2100. WHERE
  2101. ORDERSCODE = :ORDERCODEONE";
  2102. paras = new OracleParameter[] {
  2103. new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()) ,
  2104. new OracleParameter(":ORDERNAME", cre.Properties["ORDERNAME"].ToString()) ,
  2105. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2106. new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
  2107. new OracleParameter(":VALUEFALG", cre.Properties["VALUEFALG"].ToString()) ,
  2108. };
  2109. }
  2110. else if (cre.Properties["ORDERS"].ToString() == "2")
  2111. {
  2112. sqlString = @"UPDATE TP_PC_ORDERINFORMATIONDETAILS
  2113. SET
  2114. CUSTOMERCODE=:CUSTOMERCODE,
  2115. LAYOUTCODE = :LAYOUTCODE,
  2116. ORDERSCODE = :ORDERSCODE,
  2117. VALUEFLAG = :VALUEFLAG
  2118. WHERE
  2119. ORDERSDETAILID = :ORDERSDETAILID";
  2120. paras = new OracleParameter[] {
  2121. new OracleParameter(":ORDERSDETAILID", Convert.ToInt32( cre.Properties["ORDERSDETAILID"])) ,
  2122. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  2123. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  2124. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()) ,
  2125. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2126. };
  2127. }
  2128. }
  2129. #endregion
  2130. int result = conn.ExecuteNonQuery(sqlString, paras);
  2131. if (result <= 0)
  2132. {
  2133. //未改变任何数据
  2134. sre.OtherStatus = -1003;
  2135. return sre;
  2136. }
  2137. else
  2138. {
  2139. //提交数据
  2140. sre.OtherStatus = 1;
  2141. conn.Commit();
  2142. }
  2143. return sre;
  2144. }
  2145. catch (Exception ex)
  2146. {
  2147. throw ex;
  2148. }
  2149. finally
  2150. {
  2151. if (conn != null &&
  2152. conn.ConnState == ConnectionState.Open)
  2153. {
  2154. conn.Disconnect();
  2155. }
  2156. }
  2157. }
  2158. //订单详细信息
  2159. public static ServiceResultEntity EmpowermentFlag(SUserInfo sUserInfo, ClientRequestEntity cre)
  2160. {
  2161. IDBConnection conn = null;
  2162. try
  2163. {
  2164. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2165. string sqlString = @"SELECT EMPOWERMENTFLAG,SHOWINFO FROM TP_SYS_EMPOWERMENTFLAG ";
  2166. ServiceResultEntity sre = new ServiceResultEntity();
  2167. sre.Data = conn.GetSqlResultToDs(sqlString);
  2168. return sre;
  2169. }
  2170. catch (Exception ex)
  2171. {
  2172. throw ex;
  2173. }
  2174. finally
  2175. {
  2176. if (conn != null &&
  2177. conn.ConnState == ConnectionState.Open)
  2178. {
  2179. conn.Close();
  2180. }
  2181. }
  2182. }
  2183. #endregion
  2184. }
  2185. }