SystemModuleLogicPartial.cs 80 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270
  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.ENTRUCKINGCODE = : ENTRUCKINGCODE
  1323. ORDER BY TPED.CREATETIME DESC";
  1324. OracleParameter[] paras = new OracleParameter[]{
  1325. new OracleParameter(":ENTRUCKINGCODE",entruckingCode),
  1326. };
  1327. ServiceResultEntity sre = new ServiceResultEntity();
  1328. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1329. return sre;
  1330. }
  1331. catch (Exception ex)
  1332. {
  1333. throw ex;
  1334. }
  1335. finally
  1336. {
  1337. if (conn != null &&
  1338. conn.ConnState == ConnectionState.Open)
  1339. {
  1340. conn.Close();
  1341. }
  1342. }
  1343. }
  1344. /// <summary>
  1345. /// 保存装具信息
  1346. /// </summary>
  1347. /// <param name="sUserInfo"></param>
  1348. /// <param name="goodsID"></param>
  1349. /// <returns></returns>
  1350. public static ServiceResultEntity InsertEntruckingInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  1351. {
  1352. IDBTransaction conn = null;
  1353. try
  1354. {
  1355. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  1356. ServiceResultEntity sre = new ServiceResultEntity();
  1357. DataTable dt = new DataTable();
  1358. string sqlString = string.Empty;
  1359. OracleParameter[] paras = new OracleParameter[] { };
  1360. #region 新建校验
  1361. if (cre.Properties["FromStatus"].ToString() == "Add")
  1362. {
  1363. //如果装具条码是新建的情况下,是否存在相同装具条码
  1364. sqlString = @"
  1365. SELECT 1 FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
  1366. paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()), };
  1367. dt = new DataTable();
  1368. dt = conn.GetSqlResultToDt(sqlString, paras);
  1369. if (dt != null && dt.Rows.Count > 0)
  1370. {
  1371. //存在相同装具条码
  1372. sre.OtherStatus = -1001;
  1373. return sre;
  1374. }
  1375. }
  1376. #endregion
  1377. #region 编辑校验
  1378. if (cre.Properties["FromStatus"].ToString() == "Edit")
  1379. {
  1380. //查看装具是否时使用状态,如果使用状态不可以修改装具信息
  1381. sqlString = @"
  1382. SELECT STATUS FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
  1383. paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) };
  1384. dt = conn.GetSqlResultToDt(sqlString, paras);
  1385. if (dt != null && dt.Rows.Count > 0 && dt.Rows[0]["STATUS"].ToString() == "1")
  1386. {
  1387. //使用状态不可以修改装具信息
  1388. sre.OtherStatus = -1002;
  1389. return sre;
  1390. }
  1391. //删除存在装具条码
  1392. sqlString = @"
  1393. DELETE FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
  1394. paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) };
  1395. int results = conn.ExecuteNonQuery(sqlString, paras);
  1396. if (results <= 0)
  1397. {
  1398. //未改变任何数据
  1399. sre.OtherStatus = -1003;
  1400. return sre;
  1401. }
  1402. }
  1403. #endregion
  1404. #region 保存信息
  1405. //保存装具条码
  1406. sqlString = @"
  1407. INSERT INTO TP_PM_ENTRUCKING(
  1408. ENTRUCKINGCODE,
  1409. STATUS,
  1410. TRUCKSIZE,
  1411. BATCH,
  1412. REMARKS,
  1413. ACCOUNTID,
  1414. VALUEFLAG,
  1415. CREATEUSERID,
  1416. UPDATEUSERID
  1417. ) VALUES(
  1418. :ENTRUCKINGCODE,
  1419. 0,
  1420. :TRUCKSIZE,
  1421. 0,
  1422. :REMARKS,
  1423. 1,
  1424. :VALUEFLAG,
  1425. :USERID,
  1426. :USERID
  1427. )";
  1428. paras = new OracleParameter[] {
  1429. new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) ,
  1430. new OracleParameter(":TRUCKSIZE", cre.Properties["txtTruckSize"].ToString()) ,
  1431. new OracleParameter(":REMARKS", cre.Properties["txtRemarks"].ToString()) ,
  1432. new OracleParameter(":VALUEFLAG", cre.Properties["cmbValueFlag"].ToString()) ,
  1433. new OracleParameter(":USERID", sUserInfo.UserID)
  1434. };
  1435. int result = conn.ExecuteNonQuery(sqlString, paras);
  1436. if (result <= 0)
  1437. {
  1438. //未改变任何数据
  1439. sre.OtherStatus = -1003;
  1440. return sre;
  1441. }
  1442. else
  1443. {
  1444. //提交数据
  1445. sre.OtherStatus = 1;
  1446. conn.Commit();
  1447. }
  1448. #endregion
  1449. return sre;
  1450. }
  1451. catch (Exception ex)
  1452. {
  1453. conn.Rollback();
  1454. conn.Disconnect();
  1455. throw ex;
  1456. }
  1457. finally
  1458. {
  1459. if (conn != null &&
  1460. conn.ConnState == ConnectionState.Open)
  1461. {
  1462. conn.Disconnect();
  1463. }
  1464. }
  1465. }
  1466. #endregion
  1467. #region 产品信息
  1468. public static ServiceResultEntity GetCustomer(SUserInfo sUserInfo, ClientRequestEntity cre)
  1469. {
  1470. IDBConnection conn = null;
  1471. try
  1472. {
  1473. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1474. string sqlString = @"
  1475. SELECT
  1476. C.CUSTOMERCODE,
  1477. C.CUSTOMERNAME,
  1478. M.GOODSCODE,
  1479. M.GOODSNAME,
  1480. C.REMARKS,
  1481. CASE
  1482. WHEN C.VALUEFLAG = 1 THEN
  1483. '是' ELSE '否'
  1484. END AS VALUEFLAG
  1485. FROM
  1486. TP_PC_CUSTOMERINFORMATION C
  1487. LEFT JOIN TP_MST_GOODS M ON C.GOODSCODE = M.GOODSCODE
  1488. WHERE
  1489. 1 =1";
  1490. if (!string.IsNullOrEmpty(cre.Properties["CustomerCode"].ToString()))
  1491. {
  1492. sqlString += " AND C.CUSTOMERCODE like :CUSTOMERCODE";
  1493. }
  1494. if (!string.IsNullOrEmpty(cre.Properties["CustomerName"].ToString()))
  1495. {
  1496. sqlString += " AND C.CUSTOMERNAME like :CUSTOMERNAME";
  1497. }
  1498. if (!string.IsNullOrEmpty(cre.Properties["ValueFlag"].ToString()))
  1499. {
  1500. sqlString += " AND C.VALUEFLAG = :VALUEFLAG";
  1501. }
  1502. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1503. {
  1504. sqlString += " AND C.VALUEFLAG = :GOODSCODE";
  1505. }
  1506. if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
  1507. {
  1508. sqlString += " AND C.VALUEFLAG = :GOODSNAME";
  1509. }
  1510. OracleParameter[] paras = new OracleParameter[]{
  1511. new OracleParameter(":CUSTOMERCODE",'%'+cre.Properties["CustomerCode"].ToString()+'%'),
  1512. new OracleParameter(":CUSTOMERNAME",'%'+cre.Properties["CustomerName"].ToString()+'%'),
  1513. new OracleParameter(":CUSTOMERNAME",'%'+cre.Properties["CustomerName"].ToString()+'%'),
  1514. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  1515. new OracleParameter(":GOODSNAME",'%'+cre.Properties["GOODSNAME"].ToString()+'%'),
  1516. new OracleParameter(":VALUEFLAG",cre.Properties["ValueFlag"].ToString())
  1517. };
  1518. ServiceResultEntity sre = new ServiceResultEntity();
  1519. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1520. return sre;
  1521. }
  1522. catch (Exception ex)
  1523. {
  1524. throw ex;
  1525. }
  1526. finally
  1527. {
  1528. if (conn != null &&
  1529. conn.ConnState == ConnectionState.Open)
  1530. {
  1531. conn.Close();
  1532. }
  1533. }
  1534. }
  1535. /// <summary>
  1536. /// 保存产品信息
  1537. /// </summary>
  1538. /// <param name="sUserInfo"></param>
  1539. /// <param name="goodsID"></param>
  1540. /// <returns></returns>
  1541. public static ServiceResultEntity AddCustomerInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  1542. {
  1543. IDBTransaction conn = null;
  1544. try
  1545. {
  1546. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  1547. ServiceResultEntity sre = new ServiceResultEntity();
  1548. DataTable dt = new DataTable();
  1549. string sqlString = string.Empty;
  1550. OracleParameter[] paras = new OracleParameter[] { };
  1551. //如果客户信息是新建的情况下,是否存在相同客户编码
  1552. if (cre.Properties["FromStatus"].ToString() == "Add")
  1553. {
  1554. sqlString = @"
  1555. SELECT 1 FROM TP_PC_CUSTOMERINFORMATION WHERE CUSTOMERCODE = :CUSTOMERCODE AND GOODSCODE = :GOODSCODE";
  1556. paras = new OracleParameter[] {
  1557. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1558. new OracleParameter(":GOODSCODE", cre.Properties["CUSTOMERCODE"].ToString())
  1559. };
  1560. dt = new DataTable();
  1561. dt = conn.GetSqlResultToDt(sqlString, paras);
  1562. if (dt != null && dt.Rows.Count > 0)
  1563. {
  1564. //存在相同客户编码
  1565. sre.OtherStatus = -1001;
  1566. return sre;
  1567. }
  1568. }
  1569. #region 新增
  1570. if (cre.Properties["FromStatus"].ToString() == "Add")
  1571. {
  1572. //保存客户信息
  1573. sqlString = @"
  1574. INSERT INTO TP_PC_CUSTOMERINFORMATION(
  1575. CUSTOMERCODE,
  1576. CUSTOMERNAME,
  1577. REMARKS,
  1578. ACCOUNTID,
  1579. VALUEFLAG,
  1580. CREATEUSERID,
  1581. UPDATEUSERID,
  1582. GOODSCODE
  1583. ) VALUES(
  1584. :CUSTOMERCODE,
  1585. :CUSTOMERNAME,
  1586. :REMARKS,
  1587. 1,
  1588. :VALUEFLAG,
  1589. :USERID,
  1590. :USERID,
  1591. :GOODSCODE)";
  1592. paras = new OracleParameter[] {
  1593. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1594. new OracleParameter(":CUSTOMERNAME", cre.Properties["CUSTOMERNAME"].ToString()) ,
  1595. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()) ,
  1596. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  1597. new OracleParameter(":USERID", sUserInfo.UserID) ,
  1598. new OracleParameter(":GOODSCODE", sUserInfo.UserID) ,
  1599. };
  1600. }
  1601. #endregion
  1602. #region 编辑
  1603. if (cre.Properties["FromStatus"].ToString() == "Edit")
  1604. {
  1605. sqlString = @"
  1606. SELECT 1 FROM TP_PC_CUSTOMERINFORMATION WHERE CUSTOMERCODE = :CUSTOMERCODE AND CUSTOMERCODE != :CUSTOMERCODEONE";
  1607. paras = new OracleParameter[] {
  1608. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1609. new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString())
  1610. };
  1611. dt = new DataTable();
  1612. dt = conn.GetSqlResultToDt(sqlString, paras);
  1613. if (dt != null && dt.Rows.Count > 0)
  1614. {
  1615. //存在相同客户编码
  1616. sre.OtherStatus = -1001;
  1617. return sre;
  1618. }
  1619. sqlString = @"UPDATE TP_PC_CUSTOMERINFORMATION
  1620. SET
  1621. CUSTOMERCODE=:CUSTOMERCODE,
  1622. CUSTOMERNAME =:CUSTOMERNAME,
  1623. REMARKS = :REMARKS,
  1624. VALUEFLAG = :VALUEFLAG ,
  1625. GOODSCODE = :GOODSCODE
  1626. WHERE
  1627. CUSTOMERCODE = :CUSTOMERCODEONE";
  1628. paras = new OracleParameter[] {
  1629. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1630. new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString()),
  1631. new OracleParameter(":CUSTOMERNAME", cre.Properties["CUSTOMERNAME"].ToString()) ,
  1632. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()) ,
  1633. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  1634. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()) ,
  1635. new OracleParameter(":USERID", sUserInfo.UserID)
  1636. };
  1637. }
  1638. #endregion
  1639. int result = conn.ExecuteNonQuery(sqlString, paras);
  1640. if (result <= 0)
  1641. {
  1642. //未改变任何数据
  1643. sre.OtherStatus = -1003;
  1644. return sre;
  1645. }
  1646. else
  1647. {
  1648. //提交数据
  1649. sre.OtherStatus = 1;
  1650. conn.Commit();
  1651. }
  1652. return sre;
  1653. }
  1654. catch (Exception ex)
  1655. {
  1656. conn.Rollback();
  1657. conn.Disconnect();
  1658. throw ex;
  1659. }
  1660. finally
  1661. {
  1662. if (conn != null &&
  1663. conn.ConnState == ConnectionState.Open)
  1664. {
  1665. conn.Disconnect();
  1666. }
  1667. }
  1668. }
  1669. #endregion
  1670. #region 版面信息
  1671. public static ServiceResultEntity GetLayout(SUserInfo sUserInfo, ClientRequestEntity cre)
  1672. {
  1673. IDBConnection conn = null;
  1674. try
  1675. {
  1676. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1677. string sqlString = @"
  1678. SELECT
  1679. C.CUSTOMERCODE,
  1680. C.CUSTOMERNAME,
  1681. L.LAYOUTCODE,
  1682. L.LAYOUTNAME,
  1683. L.REMARKS,
  1684. M.GOODSCODE,
  1685. M.GOODSNAME,
  1686. CASE
  1687. WHEN L.VALUEFLAG = 1 THEN
  1688. '是' ELSE '否'
  1689. END AS VALUEFLAG
  1690. FROM
  1691. TP_PC_LAYOUTINFORMATION L
  1692. LEFT JOIN TP_PC_CUSTOMERINFORMATION C ON L.CUSTOMERCODE = C.CUSTOMERCODE
  1693. LEFT JOIN TP_MST_GOODS M ON L.GOODSCODE = M.GOODSCODE
  1694. WHERE
  1695. 1 =1";
  1696. if (!string.IsNullOrEmpty(cre.Properties["LayoutCode"].ToString()))
  1697. {
  1698. sqlString += " AND L.LAYOUTCODE like : LAYOUTCODE";
  1699. }
  1700. if (!string.IsNullOrEmpty(cre.Properties["CustomerCode"].ToString()))
  1701. {
  1702. sqlString += " AND C.CUSTOMERCODE like : CUSTOMERCODE";
  1703. }
  1704. if (!string.IsNullOrEmpty(cre.Properties["LayoutName"].ToString()))
  1705. {
  1706. sqlString += " AND L.LAYOUTNAME like : LAYOUTNAME";
  1707. }
  1708. if (!string.IsNullOrEmpty(cre.Properties["ValueFlag"].ToString()))
  1709. {
  1710. sqlString += " AND L.VALUEFLAG = : VALUEFLAG";
  1711. }
  1712. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1713. {
  1714. sqlString += " AND L.GOODSCODE like : GOODSCODE";
  1715. }
  1716. OracleParameter[] paras = new OracleParameter[]{
  1717. new OracleParameter(":LAYOUTCODE",'%'+cre.Properties["LayoutCode"].ToString()+'%'),
  1718. new OracleParameter(":CUSTOMERCODE",'%'+cre.Properties["CustomerCode"].ToString()+'%'),
  1719. new OracleParameter(":LAYOUTNAME",'%'+cre.Properties["LayoutName"].ToString()+'%'),
  1720. new OracleParameter(":VALUEFLAG",cre.Properties["ValueFlag"].ToString()),
  1721. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%')
  1722. };
  1723. ServiceResultEntity sre = new ServiceResultEntity();
  1724. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1725. return sre;
  1726. }
  1727. catch (Exception ex)
  1728. {
  1729. throw ex;
  1730. }
  1731. finally
  1732. {
  1733. if (conn != null &&
  1734. conn.ConnState == ConnectionState.Open)
  1735. {
  1736. conn.Close();
  1737. }
  1738. }
  1739. }
  1740. ///<summary>
  1741. ///保存版面信息
  1742. /// </summary>
  1743. public static ServiceResultEntity AddLayoutInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  1744. {
  1745. IDBTransaction conn = null;
  1746. try
  1747. {
  1748. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  1749. ServiceResultEntity sre = new ServiceResultEntity();
  1750. DataTable dt = new DataTable();
  1751. string sqlString = string.Empty;
  1752. OracleParameter[] paras = new OracleParameter[] { };
  1753. OracleParameter[] paras1= new OracleParameter[] { };
  1754. //如果版面信息是新建的情况下,是否存在相同版面编码
  1755. if (cre.Properties["FromStatus"].ToString() == "Add")
  1756. {
  1757. sqlString = @"
  1758. SELECT 1 FROM TP_PC_LAYOUTINFORMATION WHERE LAYOUTCODE = :LAYOUTCODE AND CUSTOMERCODE = :CUSTOMERCODE AND GOODSCODE = :GOODSCODE";
  1759. paras = new OracleParameter[] {
  1760. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  1761. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1762. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1763. };
  1764. dt = new DataTable();
  1765. dt = conn.GetSqlResultToDt(sqlString, paras);
  1766. if (dt != null && dt.Rows.Count > 0)
  1767. {
  1768. //存在相同版面编码
  1769. sre.OtherStatus = -1001;
  1770. return sre;
  1771. }
  1772. }
  1773. #region 新增
  1774. if (cre.Properties["FromStatus"].ToString() == "Add")
  1775. {
  1776. //保存客户信息
  1777. sqlString = @"INSERT INTO TP_PC_LAYOUTINFORMATION(
  1778. CUSTOMERCODE,
  1779. LAYOUTCODE,
  1780. LAYOUTNAME,
  1781. REMARKS,
  1782. ACCOUNTID,
  1783. VALUEFLAG,
  1784. CREATEUSERID,
  1785. UPDATEUSERID ,
  1786. GOODSCODE
  1787. ) VALUES(
  1788. :CUSTOMERCODE,
  1789. :LAYOUTCODE,
  1790. :LAYOUTNAME,
  1791. :REMARKS,
  1792. 1,
  1793. :VALUEFLAG,
  1794. :USERID,
  1795. :USERID,
  1796. :GOODSCODE)";
  1797. paras = new OracleParameter[] {
  1798. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  1799. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1800. new OracleParameter(":LAYOUTNAME", cre.Properties["LAYOUTNAME"].ToString()) ,
  1801. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()) ,
  1802. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  1803. new OracleParameter(":USERID", sUserInfo.UserID),
  1804. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString())
  1805. };
  1806. }
  1807. #endregion
  1808. #region 编辑
  1809. if (cre.Properties["FromStatus"].ToString() == "Edit")
  1810. {
  1811. sqlString = @"
  1812. SELECT 1 FROM TP_PC_LAYOUTINFORMATION WHERE
  1813. LAYOUTCODE = :LAYOUTCODE AND LAYOUTCODE != :LAYOUTCODEONE
  1814. AND CUSTOMERCODE = :CUSTOMERCODE AND CUSTOMERCODE != :CUSTOMERCODEONE
  1815. AND GOODSCODE = :GOODSCODE AND GOODSCODE != :GOODSCODEONE ";
  1816. paras = new OracleParameter[] {
  1817. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  1818. new OracleParameter(":LAYOUTCODEONE", cre.Properties["LAYOUTCODEONE"].ToString()),
  1819. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1820. new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString()),
  1821. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1822. new OracleParameter(":GOODSCODEONE", cre.Properties["GOODSCODEONE"].ToString()),
  1823. };
  1824. dt = new DataTable();
  1825. dt = conn.GetSqlResultToDt(sqlString, paras);
  1826. if (dt != null && dt.Rows.Count > 0)
  1827. {
  1828. //存在相同版面编码
  1829. sre.OtherStatus = -1001;
  1830. return sre;
  1831. }
  1832. sqlString = @"UPDATE TP_PC_LAYOUTINFORMATION
  1833. SET
  1834. CUSTOMERCODE=:CUSTOMERCODE,
  1835. LAYOUTCODE = :LAYOUTCODE,
  1836. LAYOUTNAME =:LAYOUTNAME,
  1837. REMARKS = :REMARKS,
  1838. VALUEFLAG = :VALUEFLAG ,
  1839. GOODSCODE = :GOODSCODE
  1840. WHERE
  1841. LAYOUTCODE = :LAYOUTCODEONE
  1842. AND CUSTOMERCODE = :CUSTOMERCODEONE
  1843. AND GOODSCODE = :GOODSCODEONE";
  1844. paras1 = new OracleParameter[] {
  1845. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1846. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  1847. new OracleParameter(":LAYOUTCODEONE", cre.Properties["LAYOUTCODEONE"].ToString()),
  1848. new OracleParameter(":LAYOUTNAME", cre.Properties["LAYOUTNAME"].ToString()),
  1849. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()),
  1850. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  1851. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1852. new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString()),
  1853. new OracleParameter(":GOODSCODEONE", cre.Properties["GOODSCODEONE"].ToString()),
  1854. };
  1855. }
  1856. #endregion
  1857. int result = conn.ExecuteNonQuery(sqlString, paras1);
  1858. if (result <= 0)
  1859. {
  1860. //未改变任何数据
  1861. sre.OtherStatus = -1003;
  1862. return sre;
  1863. }
  1864. else
  1865. {
  1866. //提交数据
  1867. sre.OtherStatus = 1;
  1868. conn.Commit();
  1869. }
  1870. return sre;
  1871. }
  1872. catch (Exception ex)
  1873. {
  1874. throw ex;
  1875. }
  1876. finally
  1877. {
  1878. if (conn != null &&
  1879. conn.ConnState == ConnectionState.Open)
  1880. {
  1881. conn.Disconnect();
  1882. }
  1883. }
  1884. }
  1885. #endregion
  1886. #region 订单信息
  1887. public static ServiceResultEntity GetOrder(SUserInfo sUserInfo, ClientRequestEntity cre)
  1888. {
  1889. IDBConnection conn = null;
  1890. try
  1891. {
  1892. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1893. string sqlString = @"
  1894. SELECT
  1895. ORDERSCODE,
  1896. ORDERSNAME,
  1897. GOODSCODE,
  1898. NUMBERS,
  1899. CASE
  1900. WHEN VALUEFLAG = 1 THEN
  1901. '是' ELSE '否'
  1902. END AS VALUEFLAG
  1903. FROM
  1904. TP_PC_ORDERINFORMATION
  1905. WHERE
  1906. 1 = 1";
  1907. if (!string.IsNullOrEmpty(cre.Properties["ORDERSCODE"].ToString()))
  1908. {
  1909. sqlString += " AND ORDERSCODE like : ORDERSCODE";
  1910. }
  1911. if (!string.IsNullOrEmpty(cre.Properties["ORDERSNAME"].ToString()))
  1912. {
  1913. sqlString += " AND ORDERSNAME like : ORDERSNAME";
  1914. }
  1915. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1916. {
  1917. sqlString += " AND GOODSCODE like : GOODSCODE";
  1918. }
  1919. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  1920. {
  1921. sqlString += " AND VALUEFLAG = : VALUEFLAG";
  1922. }
  1923. OracleParameter[] paras = new OracleParameter[]{
  1924. new OracleParameter(":ORDERSCODE",'%'+cre.Properties["ORDERSCODE"].ToString()+'%'),
  1925. new OracleParameter(":ORDERSNAME",'%'+cre.Properties["ORDERSNAME"].ToString()+'%'),
  1926. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  1927. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  1928. };
  1929. ServiceResultEntity sre = new ServiceResultEntity();
  1930. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1931. return sre;
  1932. }
  1933. catch (Exception ex)
  1934. {
  1935. throw ex;
  1936. }
  1937. finally
  1938. {
  1939. if (conn != null &&
  1940. conn.ConnState == ConnectionState.Open)
  1941. {
  1942. conn.Close();
  1943. }
  1944. }
  1945. }
  1946. //订单详细信息
  1947. public static ServiceResultEntity GetOrderDetails(SUserInfo sUserInfo, ClientRequestEntity cre)
  1948. {
  1949. IDBConnection conn = null;
  1950. try
  1951. {
  1952. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1953. string sqlString = @"
  1954. SELECT
  1955. S.ORDERSDETAILID,
  1956. S.ORDERSCODE,
  1957. S.GOODSCODE,
  1958. S.BARCODE,
  1959. S. LAYOUTCODE,
  1960. l. LAYOUTNAME,
  1961. S. CUSTOMERCODE,
  1962. c. CUSTOMERNAME,
  1963. CASE
  1964. WHEN S.VALUEFLAG = 1 THEN
  1965. '是' ELSE '否'
  1966. END AS VALUEFLAGT,
  1967. E.ENTRUCKINGCODE
  1968. FROM
  1969. TP_PC_ORDERINFORMATIONDETAILS S
  1970. LEFT JOIN TP_PM_ENTRUCKINGDETAIL E ON S.BARCODE = E.BARCODE
  1971. LEFT JOIN TP_PC_CUSTOMERINFORMATION c ON S.CUSTOMERCODE = c.CUSTOMERCODE
  1972. LEFT JOIN TP_PC_LAYOUTINFORMATION l ON S.LAYOUTCODE = l.LAYOUTCODE
  1973. AND E.DoFunction IN (1,3)
  1974. WHERE
  1975. 1 =1";
  1976. if (!string.IsNullOrEmpty(cre.Properties["ORDERCODE"].ToString()))
  1977. {
  1978. sqlString += " AND S.ORDERSCODE like : ORDERSCODE";
  1979. }
  1980. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1981. {
  1982. sqlString += " AND S.GOODSCODE like : GOODSCODE";
  1983. }
  1984. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  1985. {
  1986. sqlString += " AND S.VALUEFLAG = : VALUEFLAG";
  1987. }
  1988. OracleParameter[] paras = new OracleParameter[]{
  1989. new OracleParameter(":ORDERSCODE",'%'+cre.Properties["ORDERCODE"].ToString()+'%'),
  1990. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  1991. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  1992. };
  1993. ServiceResultEntity sre = new ServiceResultEntity();
  1994. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1995. return sre;
  1996. }
  1997. catch (Exception ex)
  1998. {
  1999. throw ex;
  2000. }
  2001. finally
  2002. {
  2003. if (conn != null &&
  2004. conn.ConnState == ConnectionState.Open)
  2005. {
  2006. conn.Close();
  2007. }
  2008. }
  2009. }
  2010. /// <summary>
  2011. /// /保存订单信息
  2012. /// </summary>
  2013. public static ServiceResultEntity AddOrderInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  2014. {
  2015. IDBTransaction conn = null;
  2016. try
  2017. {
  2018. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2019. ServiceResultEntity sre = new ServiceResultEntity();
  2020. DataTable dt = new DataTable();
  2021. string sqlString = string.Empty;
  2022. OracleParameter[] paras = new OracleParameter[] { };
  2023. //如果版面信息是新建的情况下,是否存在相同版面编码
  2024. if (cre.Properties["FromStatus"].ToString() == "Add")
  2025. {
  2026. sqlString = @"
  2027. SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE";
  2028. paras = new OracleParameter[] { new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()), };
  2029. dt = new DataTable();
  2030. dt = conn.GetSqlResultToDt(sqlString, paras);
  2031. if (dt != null && dt.Rows.Count > 0)
  2032. {
  2033. //存在相同版面编码
  2034. sre.OtherStatus = -1001;
  2035. return sre;
  2036. }
  2037. }
  2038. #region 新增
  2039. if (cre.Properties["FromStatus"].ToString() == "Add")
  2040. {
  2041. //保存客户信息
  2042. sqlString = @"INSERT INTO TP_PC_ORDERINFORMATION(
  2043. CUSTOMERCODE,
  2044. LAYOUTCODE,
  2045. ORDERSCODE,
  2046. ORDERSNAME,
  2047. NUMBERS,
  2048. VALUEFLAG,
  2049. ACCOUNTID,
  2050. CREATEUSERID,
  2051. UPDATEUSERID
  2052. ) VALUES(
  2053. :CUSTOMERCODE,
  2054. :LAYOUTCODE,
  2055. :ORDERSCODE,
  2056. :ORDERSNAME,
  2057. :NUMBERS,
  2058. :VALUEFLAG,
  2059. 1,
  2060. :USERID,
  2061. :USERID)";
  2062. paras = new OracleParameter[] {
  2063. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  2064. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  2065. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2066. new OracleParameter(":ORDERSNAME", cre.Properties["ORDERSNAME"].ToString()) ,
  2067. new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
  2068. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  2069. new OracleParameter(":USERID", sUserInfo.UserID)
  2070. };
  2071. }
  2072. #endregion
  2073. #region 编辑
  2074. if (cre.Properties["FromStatus"].ToString() == "Edit")
  2075. {
  2076. if (cre.Properties["ORDERS"].ToString() == "1")
  2077. {
  2078. sqlString = @"
  2079. SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE AND ORDERSCODE != :ORDERCODEONE";
  2080. paras = new OracleParameter[] {
  2081. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()),
  2082. new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()),
  2083. };
  2084. dt = new DataTable();
  2085. dt = conn.GetSqlResultToDt(sqlString, paras);
  2086. if (dt != null && dt.Rows.Count > 0)
  2087. {
  2088. //存在相同版面编码
  2089. sre.OtherStatus = -1001;
  2090. return sre;
  2091. }
  2092. sqlString = @"UPDATE TP_PC_ORDERINFORMATION
  2093. SET
  2094. ORDERSNAME =:ORDERNAME,
  2095. ORDERSCODE =:ORDERSCODE,
  2096. NUMBERS = :NUMBERS,
  2097. VALUEFLAG = :VALUEFALG
  2098. WHERE
  2099. ORDERSCODE = :ORDERCODEONE";
  2100. paras = new OracleParameter[] {
  2101. new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()) ,
  2102. new OracleParameter(":ORDERNAME", cre.Properties["ORDERNAME"].ToString()) ,
  2103. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2104. new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
  2105. new OracleParameter(":VALUEFALG", cre.Properties["VALUEFALG"].ToString()) ,
  2106. };
  2107. }
  2108. else if (cre.Properties["ORDERS"].ToString() == "2")
  2109. {
  2110. sqlString = @"UPDATE TP_PC_ORDERINFORMATIONDETAILS
  2111. SET
  2112. CUSTOMERCODE=:CUSTOMERCODE,
  2113. LAYOUTCODE = :LAYOUTCODE,
  2114. ORDERSCODE = :ORDERSCODE,
  2115. VALUEFLAG = :VALUEFLAG
  2116. WHERE
  2117. ORDERSDETAILID = :ORDERSDETAILID";
  2118. paras = new OracleParameter[] {
  2119. new OracleParameter(":ORDERSDETAILID", Convert.ToInt32( cre.Properties["ORDERSDETAILID"])) ,
  2120. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  2121. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  2122. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()) ,
  2123. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2124. };
  2125. }
  2126. }
  2127. #endregion
  2128. int result = conn.ExecuteNonQuery(sqlString, paras);
  2129. if (result <= 0)
  2130. {
  2131. //未改变任何数据
  2132. sre.OtherStatus = -1003;
  2133. return sre;
  2134. }
  2135. else
  2136. {
  2137. //提交数据
  2138. sre.OtherStatus = 1;
  2139. conn.Commit();
  2140. }
  2141. return sre;
  2142. }
  2143. catch (Exception ex)
  2144. {
  2145. throw ex;
  2146. }
  2147. finally
  2148. {
  2149. if (conn != null &&
  2150. conn.ConnState == ConnectionState.Open)
  2151. {
  2152. conn.Disconnect();
  2153. }
  2154. }
  2155. }
  2156. #endregion
  2157. }
  2158. }