SystemModuleLogicPartial.cs 99 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855
  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.Linq;
  14. using System.Text;
  15. using Dongke.IBOSS.PRD.Basics.DataAccess;
  16. using Dongke.IBOSS.PRD.Service.DataModels;
  17. using Dongke.IBOSS.PRD.WCF.DataModels;
  18. using Oracle.ManagedDataAccess.Client;
  19. using static Dongke.IBOSS.PRD.Basics.BaseResources.Constant;
  20. namespace Dongke.IBOSS.PRD.Service.SystemModuleLogic
  21. {
  22. /// <summary>
  23. /// 产品档案数据查询处理
  24. /// </summary>
  25. public partial class SystemModuleLogic
  26. {
  27. #region 产品档案
  28. /// <summary>
  29. /// 查询产品信息
  30. /// </summary>
  31. /// <param name="sUserInfo">用户基本信息</param>
  32. /// <param name="goodsEntity">产品信息</param>
  33. /// <returns>DataSet</returns>
  34. /// <remarks>
  35. /// 陈冰 2014.09.01 新建
  36. /// </remarks>
  37. public static DataSet SerachGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity)
  38. {
  39. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  40. try
  41. {
  42. con.Open();
  43. if (!string.IsNullOrWhiteSpace(goodsEntity.GoodsCodeOnly))
  44. {
  45. string sql = "select goodsid from tp_mst_goods g where g.goodscode = :goodscode";
  46. OracleParameter[] paras1 = new OracleParameter[]{
  47. new OracleParameter(":goodscode",OracleDbType.Varchar2,
  48. goodsEntity.GoodsCodeOnly,ParameterDirection.Input),
  49. };
  50. return con.GetSqlResultToDs(sql, paras1);
  51. }
  52. OracleParameter[] paras = new OracleParameter[]{
  53. new OracleParameter("account",OracleDbType.Int32,
  54. sUserInfo.AccountID,ParameterDirection.Input),
  55. new OracleParameter("goodsID",OracleDbType.Int32,
  56. goodsEntity.GoodsID,ParameterDirection.Input),
  57. new OracleParameter("goodsCode",OracleDbType.NVarchar2,
  58. goodsEntity.GoodsCode,ParameterDirection.Input),
  59. new OracleParameter("goodsName",OracleDbType.NVarchar2,
  60. goodsEntity.GoodsName,ParameterDirection.Input),
  61. new OracleParameter("goodsSpecification",OracleDbType.NVarchar2,
  62. goodsEntity.GoodsSpecification,ParameterDirection.Input),
  63. new OracleParameter("goodsModel",OracleDbType.NVarchar2,
  64. goodsEntity.GoodsModel,ParameterDirection.Input),
  65. new OracleParameter("goodsTypeCode",OracleDbType.NVarchar2,
  66. goodsEntity.GoodsTypeCode,ParameterDirection.Input),
  67. new OracleParameter("glazeTypeID",OracleDbType.Int32,
  68. goodsEntity.GlazeTypeID,ParameterDirection.Input),
  69. new OracleParameter("ceaseFlag",OracleDbType.NVarchar2,
  70. goodsEntity.CeaseFlag,ParameterDirection.Input),
  71. new OracleParameter("remarks",OracleDbType.NVarchar2,
  72. goodsEntity.Remarks,ParameterDirection.Input),
  73. new OracleParameter("valueFlag",OracleDbType.NVarchar2,
  74. goodsEntity.ValueFlag,ParameterDirection.Input),
  75. new OracleParameter("planFlag",OracleDbType.NVarchar2,
  76. goodsEntity.PlanFlag,ParameterDirection.Input),
  77. new OracleParameter("rs_result",OracleDbType.RefCursor,ParameterDirection.Output),
  78. new OracleParameter("rs_result_img",OracleDbType.RefCursor,ParameterDirection.Output),
  79. };
  80. foreach (OracleParameter item in paras)
  81. {
  82. if (item.Value + "" == "")
  83. {
  84. item.Value = DBNull.Value;
  85. }
  86. }
  87. DataSet ds = con.ExecStoredProcedure("PRO_MST_SerachGoods", paras);
  88. return ds;
  89. }
  90. catch (Exception ex)
  91. {
  92. throw ex;
  93. }
  94. finally
  95. {
  96. if (con.ConnState == ConnectionState.Open)
  97. {
  98. con.Close();
  99. }
  100. }
  101. }
  102. /// <summary>
  103. /// 新建产品档案
  104. /// </summary>
  105. /// <param name="sUserInfo">用户基本信息</param>
  106. /// <param name="goodsEntity">产品实体</param>
  107. /// <param name="imgList">产品图片集合</param>
  108. /// <param name="attList">缺陷位置ID集合</param>
  109. /// <returns>int受影响行数</returns>
  110. /// <remarks>
  111. /// 庄天威 2014.09.04 新建
  112. /// </remarks>
  113. public static int AddGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity
  114. , List<GoodsImageEntity> imgList, List<GoodsAttachmentEntity> attList)
  115. {
  116. int returnRows;
  117. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  118. if (goodsEntity.MudQuantity == null)
  119. {
  120. goodsEntity.MudQuantity = 0;
  121. }
  122. if (goodsEntity.GlazeQuantity == null)
  123. {
  124. goodsEntity.GlazeQuantity = 0;
  125. }
  126. if (goodsEntity.Remarks == null)
  127. {
  128. goodsEntity.Remarks = "";
  129. }
  130. if (goodsEntity.GoodsSpecification == null)
  131. {
  132. goodsEntity.GoodsSpecification = "";
  133. }
  134. if (goodsEntity.GoodsModel == null)
  135. {
  136. goodsEntity.GoodsModel = "";
  137. }
  138. try
  139. {
  140. oracleTrConn.Connect();
  141. // 物料编码重复验证 add by chenxy 2017-07-11 begin
  142. // 有不同编码,同物料编码的情况 delete by chenxy 2017-11-10
  143. //string sqlString = "SELECT g.goodscode \n" +
  144. //" FROM tp_mst_goods g\n" +
  145. //" WHERE g.materialcode = :materialcode";
  146. //OracleParameter[] checkParas = new OracleParameter[]{
  147. // new OracleParameter(":materialcode",goodsEntity.MaterialCode),
  148. //};
  149. //string goodscode = oracleTrConn.GetSqlResultToStr(sqlString, checkParas);
  150. //if (!string.IsNullOrWhiteSpace(goodscode))
  151. //{
  152. // return -10;
  153. //}
  154. // 物料编码重复验证 add by chenxy 2017-07-11 end
  155. //2021年11月18日09:28:072 by fy modify 产品档案增加防伪码绑定标识、防伪码验证标识
  156. StringBuilder sbSql = new StringBuilder();
  157. sbSql.Append("select SEQ_MST_Goods_GoodsID.nextval from dual");
  158. int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  159. sbSql.Clear();
  160. sbSql.Append(" INSERT INTO TP_MST_GOODS");
  161. sbSql.Append("(GoodsID,GoodsCode,GoodsName,GoodsSpecification,GoodsModel,GoodsTypeID,");
  162. sbSql.Append("GlazeTypeID,MudWeight,GlazeWeight,LusterwareWeight,ProductionCycle,CeaseFlag,Goods_Line_Type,Goods_Line_Code,");
  163. sbSql.Append("StartingDate,AutoLossCycle,DeliverLimitCycle,PlateLimitNum,UnitPrice,ReservedDays,");
  164. sbSql.Append("PackageNum,OutletDistance,MaterialCode,MaterialRemark,printcopies,");
  165. sbSql.Append("MouldWeight,MouldCost,ScrapSumFlag,SEATCOVERCODE,");
  166. sbSql.Append("WaterLabelCode,StandardGroutingNum,MouldMaterialCode,MouldOutputCount,logoid,");
  167. sbSql.Append("Remarks,AccountID,ValueFlag,CreateUserID,UpdateUserID,MudStoreType,SecurityCodeBindFlag,SecurityCodeCheckFlag,PlanFlag)");
  168. sbSql.Append("VALUES( :GoodsId, :GoodsCode, :GoodsName, :GoodsSpecification, :GoodsModel, :GoodsTypeID,");
  169. sbSql.Append(" :GlazeTypeID, :MudWeight, :GlazeWeight,:LusterwareWeight, :ProductionCycle, :CeaseFlag,:Goods_Line_Type,:Goods_Line_Code,");
  170. sbSql.Append(" :StartingDate, :AutoLossCycle, :DeliverLimitCycle,:PlateLimitNum,:UnitPrice,:ReservedDays,");
  171. sbSql.Append(" :PackageNum, :OutletDistance, :MaterialCode,:MaterialRemark,:printcopies,");
  172. sbSql.Append(" :MouldWeight, :MouldCost,:ScrapSumFlag,:SEATCOVERCODE,");
  173. sbSql.Append(" :WaterLabelCode, :StandardGroutingNum, :MouldMaterialCode, :MouldOutputCount,:logoid,");
  174. sbSql.Append(" :Remarks, :AccountID, :ValueFlag, :CreateUserID, :UpdateUserID, :MudStoreType , :SecurityCodeBindFlag,:SecurityCodeCheckFlag,:PlanFlag)");
  175. OracleParameter[] paras = new OracleParameter[]{
  176. new OracleParameter(":GoodsId",id),
  177. new OracleParameter(":GoodsCode",goodsEntity.GoodsCode),
  178. new OracleParameter(":GoodsName",goodsEntity.GoodsName),
  179. new OracleParameter(":GoodsSpecification",goodsEntity.GoodsSpecification),
  180. new OracleParameter(":GoodsModel",goodsEntity.GoodsModel),
  181. new OracleParameter(":GoodsTypeID",goodsEntity.GoodsTypeID),
  182. new OracleParameter(":GlazeTypeID",goodsEntity.GlazeTypeID),
  183. new OracleParameter(":MudWeight",goodsEntity.MudQuantity),
  184. new OracleParameter(":GlazeWeight",goodsEntity.GlazeQuantity),
  185. new OracleParameter(":LusterwareWeight",goodsEntity.LusterwareWeight),
  186. new OracleParameter(":ProductionCycle",goodsEntity.ProductionCycle),
  187. new OracleParameter(":CeaseFlag",goodsEntity.CeaseFlag),
  188. new OracleParameter(":Goods_Line_Type",goodsEntity.GoodsLineType),
  189. new OracleParameter(":Goods_Line_Code",goodsEntity.GoodsLineCode),
  190. new OracleParameter(":StartingDate",goodsEntity.StartingDate),
  191. new OracleParameter(":AutoLossCycle",goodsEntity.AutoLossCycle),
  192. new OracleParameter(":DeliverLimitCycle",goodsEntity.DeliverLimitCycle),
  193. new OracleParameter(":PlateLimitNum",goodsEntity.PlateLimitNum),
  194. new OracleParameter(":ReservedDays",goodsEntity.ReservedDays),
  195. new OracleParameter(":UnitPrice",goodsEntity.UnitPrice),
  196. new OracleParameter(":PackageNum",goodsEntity.PackageNum),
  197. new OracleParameter(":OutletDistance",goodsEntity.OutletDistance),
  198. new OracleParameter(":MaterialCode",goodsEntity.MaterialCode),
  199. new OracleParameter(":MouldWeight",goodsEntity.MouldWeight),
  200. new OracleParameter(":MouldCost",goodsEntity.MouldCost),
  201. new OracleParameter(":ScrapSumFlag",goodsEntity.ScrapSumFlag),
  202. new OracleParameter(":MaterialRemark",goodsEntity.MaterialRemark),
  203. new OracleParameter(":printcopies",goodsEntity.PrintCopies),
  204. new OracleParameter(":SEATCOVERCODE", goodsEntity.SeatCoverCode),
  205. new OracleParameter(":WaterLabelCode", goodsEntity.WaterLabelCode),
  206. new OracleParameter(":StandardGroutingNum", goodsEntity.StandardGroutingNum),
  207. new OracleParameter(":MouldMaterialCode", goodsEntity.MouldMaterialCode),
  208. new OracleParameter(":MouldOutputCount", goodsEntity.MouldOutputCount),
  209. new OracleParameter(":logoid", goodsEntity.LogoID),
  210. new OracleParameter(":Remarks",goodsEntity.Remarks),
  211. new OracleParameter(":AccountID",sUserInfo.AccountID),
  212. new OracleParameter(":ValueFlag",goodsEntity.ValueFlag),
  213. //new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  214. new OracleParameter(":CreateUserID",sUserInfo.UserID),
  215. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  216. new OracleParameter(":UpdateUserID",sUserInfo.UserID),
  217. new OracleParameter(":MudStoreType",goodsEntity.MudStoreType),
  218. new OracleParameter(":SecurityCodeBindFlag",goodsEntity.SecurityCodeBindFlag),
  219. new OracleParameter(":SecurityCodeCheckFlag",goodsEntity.SecurityCodeCheckFlag),
  220. new OracleParameter(":PlanFlag",goodsEntity.PlanFlag)
  221. //new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
  222. };
  223. returnRows = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), paras);
  224. //SAP物料信息
  225. string sql = "delete from TP_MST_GoodsLogoSAP where goodsid = " + id;
  226. returnRows += oracleTrConn.ExecuteNonQuery(sql);
  227. sql = "insert into TP_MST_GOODSLOGOSAP\n" +
  228. " (GOODSID, LOGOID, GOODSCODE, MATERIALCODE, MATERIALREMARK, CREATEUSERID, WaterLabelCode, PLATELIMITNUM)\n" +
  229. "values\n" +
  230. " (:GOODSID, :LOGOID, :GOODSCODE, :MATERIALCODE, :MATERIALREMARK, :CREATEUSERID, :WaterLabelCode, :PlateLimitNum)";
  231. foreach (DataRow item in goodsEntity.SAPInfo.Rows)
  232. {
  233. string sapcode = item["MATERIALCODE"] + "";
  234. string sapremark = item["MATERIALREMARK"] + "";
  235. if (string.IsNullOrWhiteSpace(sapcode))
  236. {
  237. continue;
  238. }
  239. if (string.IsNullOrEmpty(sapremark))
  240. {
  241. sapremark = " ";
  242. }
  243. paras = new OracleParameter[]{
  244. new OracleParameter(":GOODSID",id),
  245. new OracleParameter(":LOGOID",item["LOGOID"]),
  246. new OracleParameter(":GOODSCODE",goodsEntity.GoodsCode),
  247. new OracleParameter(":MATERIALCODE",sapcode),
  248. new OracleParameter(":MATERIALREMARK",sapremark),
  249. new OracleParameter(":CREATEUSERID",sUserInfo.UserID),
  250. new OracleParameter(":WaterLabelCode",item["WaterLabelCode"]),
  251. new OracleParameter(":PlateLimitNum",item["PlateLimitNum"]),
  252. };
  253. returnRows += oracleTrConn.ExecuteNonQuery(sql, paras);
  254. }
  255. //此处添加图片信息
  256. foreach (GoodsImageEntity img in imgList)
  257. {
  258. int imgReturn = 0;
  259. sbSql.Clear();
  260. sbSql.Append("select SEQ_MST_GoodsImage_ID.nextval from dual");
  261. int imgId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  262. sbSql.Clear();
  263. sbSql.Append("Insert into TP_MST_GoodsImage");
  264. sbSql.Append("(GoodsImageID,GoodsID,Thumbnail,Image,AccountID,ValueFlag,");
  265. sbSql.Append("CreateUserID,UpdateUserID)");
  266. sbSql.Append(" VALUES(:GoodsImageID,:GoodsID,:Thumbnail,:Image,:AccountID,:ValueFlag,");
  267. sbSql.Append(":CreateUserID,:UpdateUserID)");
  268. OracleParameter[] imgParas = new OracleParameter[] {
  269. new OracleParameter(":GoodsImageID",OracleDbType.Int32,imgId,ParameterDirection.Input),
  270. new OracleParameter(":GoodsID",OracleDbType.Int32,id,ParameterDirection.Input),
  271. new OracleParameter(":Thumbnail",OracleDbType.Blob,img.Thumbnail,ParameterDirection.Input),
  272. new OracleParameter(":Image",OracleDbType.Blob,img.Image,ParameterDirection.Input),
  273. new OracleParameter(":AccountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  274. new OracleParameter(":ValueFlag",OracleDbType.Int32,img.ValueFlag,ParameterDirection.Input),
  275. //new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  276. new OracleParameter(":CreateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  277. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  278. new OracleParameter(":UpdateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  279. //new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
  280. };
  281. imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
  282. }
  283. //此处添加产品附件
  284. //int AttReturn = AddAttachment(oracleTrConn, attList, id, sUserInfo);
  285. //此处添加缺陷位置关联
  286. //int dpCount = SaveGoodsDefectPosition(oracleTrConn, dpList, id, sUserInfo);
  287. oracleTrConn.Commit();
  288. oracleTrConn.Disconnect();
  289. }
  290. catch (Exception ex)
  291. {
  292. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  293. {
  294. oracleTrConn.Rollback();
  295. oracleTrConn.Disconnect();
  296. }
  297. throw ex;
  298. }
  299. return returnRows;
  300. }
  301. /// <summary>
  302. /// 修改产品档案
  303. /// </summary>
  304. /// <param name="sUserInfo">用户基本信息</param>
  305. /// <param name="goodsEntity">产品实体</param>
  306. /// <param name="imgList">产品图片集合</param>
  307. /// <param name="attList">缺陷位置ID集合</param>
  308. /// <returns>int受影响行数</returns>
  309. /// <remarks>
  310. /// 庄天威 2014.09.04 新建
  311. /// </remarks>
  312. public static int updateGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity
  313. , List<GoodsImageEntity> imgList, List<GoodsAttachmentEntity> attList)
  314. {
  315. int returnRows = 0;
  316. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  317. if (goodsEntity.MudQuantity == null)
  318. {
  319. goodsEntity.MudQuantity = 0;
  320. }
  321. if (goodsEntity.GlazeQuantity == null)
  322. {
  323. goodsEntity.GlazeQuantity = 0;
  324. }
  325. if (goodsEntity.Remarks == null)
  326. {
  327. goodsEntity.Remarks = "";
  328. }
  329. if (goodsEntity.GoodsSpecification == null)
  330. {
  331. goodsEntity.GoodsSpecification = "";
  332. }
  333. if (goodsEntity.GoodsModel == null)
  334. {
  335. goodsEntity.GoodsModel = "";
  336. }
  337. try
  338. {
  339. oracleTrConn.Connect();
  340. // 物料编码重复验证 add by chenxy 2017-07-11 begin
  341. // 有不同编码,同物料编码的情况 delete by chenxy 2017-11-10
  342. //string sqlString = "SELECT g.goodscode \n" +
  343. //" FROM tp_mst_goods g\n" +
  344. //" WHERE g.materialcode = :materialcode and g.goodsid <> :goodsid";
  345. //OracleParameter[] checkParas = new OracleParameter[]{
  346. // new OracleParameter(":materialcode",goodsEntity.MaterialCode),
  347. // new OracleParameter(":goodsid",goodsEntity.GoodsID),
  348. //};
  349. //string goodscode = oracleTrConn.GetSqlResultToStr(sqlString, checkParas);
  350. //if (!string.IsNullOrWhiteSpace(goodscode))
  351. //{
  352. // return -10;
  353. //}
  354. // 物料编码重复验证 add by chenxy 2017-07-11 end
  355. StringBuilder sbSql = new StringBuilder();
  356. sbSql.Append("update TP_MST_GOODS");
  357. //sbSql.Append(" set GoodsCode=:GoodsCode,GoodsName=:GoodsName,GoodsSpecification=:GoodsSpecification,");
  358. sbSql.Append(" set GoodsName=:GoodsName,GoodsSpecification=:GoodsSpecification,");
  359. sbSql.Append(" GoodsModel=:GoodsModel,GoodsTypeID=:GoodsTypeID,GlazeTypeID=:GlazeTypeID,MudWeight=:MudWeight,");
  360. sbSql.Append(" GlazeWeight=:GlazeWeight,LusterwareWeight=:LusterwareWeight,ProductionCycle=:ProductionCycle,CeaseFlag=:CeaseFlag,Goods_Line_Type=:Goods_Line_Type,Goods_Line_CODE=:Goods_Line_CODE,Remarks=:Remarks,");
  361. sbSql.Append(" StartingDate=:StartingDate, AutoLossCycle = :AutoLossCycle, DeliverLimitCycle=:DeliverLimitCycle, PlateLimitNum=:PlateLimitNum,");
  362. sbSql.Append(" UnitPrice=:UnitPrice,PackageNum=:PackageNum,OutletDistance=:OutletDistance,MaterialCode=:MaterialCode,MaterialRemark=:MaterialRemark,printcopies=:printcopies,");
  363. sbSql.Append(" MouldWeight=:MouldWeight, MouldCost=:MouldCost,ScrapSumFlag=:ScrapSumFlag, ReservedDays=:ReservedDays,SEATCOVERCODE=:SEATCOVERCODE,");
  364. sbSql.Append(" WaterLabelCode=:WaterLabelCode, StandardGroutingNum=:StandardGroutingNum,MouldMaterialCode=:MouldMaterialCode, MouldOutputCount=:MouldOutputCount,");
  365. sbSql.Append(" AccountID=:AccountID,ValueFlag=:ValueFlag,UpdateUserID=:UpdateUserID,logoid=:logoid,");
  366. sbSql.Append(" MudStoreType=:MudStoreType,");
  367. sbSql.Append(" SecurityCodeBindFlag=:SecurityCodeBindFlag,");
  368. sbSql.Append(" SecurityCodeCheckFlag=:SecurityCodeCheckFlag,");
  369. sbSql.Append(" PlanFlag=:PlanFlag");
  370. //sbSql.Append(" CreateTime=:CreateTime,CreateUserID=:CreateUserID ");
  371. sbSql.Append(" where GoodsID=:GoodsID and OPTimeStamp=:OPTimeStamp");
  372. OracleParameter[] paras = new OracleParameter[]{
  373. // new OracleParameter(":GoodsCode",goodsEntity.GoodsCode),
  374. new OracleParameter(":GoodsName",goodsEntity.GoodsName),
  375. new OracleParameter(":GoodsSpecification",goodsEntity.GoodsSpecification),
  376. new OracleParameter(":GoodsModel",goodsEntity.GoodsModel),
  377. new OracleParameter(":GoodsTypeID",goodsEntity.GoodsTypeID),
  378. new OracleParameter(":GlazeTypeID",goodsEntity.GlazeTypeID),
  379. new OracleParameter(":MudWeight",goodsEntity.MudQuantity),
  380. new OracleParameter(":GlazeWeight",goodsEntity.GlazeQuantity),
  381. new OracleParameter(":LusterwareWeight",goodsEntity.LusterwareWeight),
  382. new OracleParameter(":ProductionCycle",goodsEntity.ProductionCycle),
  383. new OracleParameter(":CeaseFlag",goodsEntity.CeaseFlag),
  384. new OracleParameter(":Goods_Line_Type",goodsEntity.GoodsLineType),
  385. new OracleParameter(":Goods_Line_CODE",goodsEntity.GoodsLineCode),
  386. new OracleParameter(":StartingDate",goodsEntity.StartingDate),
  387. new OracleParameter(":AutoLossCycle",goodsEntity.AutoLossCycle),
  388. new OracleParameter(":DeliverLimitCycle",goodsEntity.DeliverLimitCycle),
  389. new OracleParameter(":PlateLimitNum",goodsEntity.PlateLimitNum),
  390. new OracleParameter(":ReservedDays",goodsEntity.ReservedDays),
  391. new OracleParameter(":UnitPrice",goodsEntity.UnitPrice),
  392. new OracleParameter(":PackageNum",goodsEntity.PackageNum),
  393. new OracleParameter(":OutletDistance",goodsEntity.OutletDistance),
  394. new OracleParameter(":MaterialCode",goodsEntity.MaterialCode),
  395. new OracleParameter(":MouldWeight",goodsEntity.MouldWeight),
  396. new OracleParameter(":MouldCost",goodsEntity.MouldCost),
  397. new OracleParameter(":ScrapSumFlag",goodsEntity.ScrapSumFlag),
  398. new OracleParameter(":MaterialRemark",goodsEntity.MaterialRemark),
  399. new OracleParameter(":printcopies",goodsEntity.PrintCopies),
  400. new OracleParameter(":Remarks",goodsEntity.Remarks),
  401. new OracleParameter(":SEATCOVERCODE",goodsEntity.SeatCoverCode),
  402. new OracleParameter(":WaterLabelCode",goodsEntity.WaterLabelCode),
  403. new OracleParameter(":StandardGroutingNum",goodsEntity.StandardGroutingNum),
  404. new OracleParameter(":MouldMaterialCode",goodsEntity.MouldMaterialCode),
  405. new OracleParameter(":MouldOutputCount",goodsEntity.MouldOutputCount),
  406. new OracleParameter(":logoid", goodsEntity.LogoID),
  407. new OracleParameter(":AccountID",goodsEntity.AccountID),
  408. new OracleParameter(":ValueFlag",goodsEntity.ValueFlag),
  409. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  410. new OracleParameter(":UpdateUserID",sUserInfo.UserID),
  411. //new OracleParameter(":CreateTime",OracleDbType.Date,goodsEntity.CreateTime,ParameterDirection.Input),
  412. //new OracleParameter(":CreateUserID",goodsEntity.CreateUserID),
  413. new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,goodsEntity.OPTimeStamp,ParameterDirection.Input),
  414. new OracleParameter(":MudStoreType",goodsEntity.MudStoreType),
  415. new OracleParameter(":SecurityCodeBindFlag",goodsEntity.SecurityCodeBindFlag),
  416. new OracleParameter(":SecurityCodeCheckFlag",goodsEntity.SecurityCodeCheckFlag),
  417. new OracleParameter(":PlanFlag",goodsEntity.PlanFlag),
  418. new OracleParameter(":GoodsId",goodsEntity.GoodsID)
  419. };
  420. returnRows = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), paras);
  421. if (returnRows == 0)
  422. {
  423. oracleTrConn.Rollback();
  424. oracleTrConn.Disconnect();
  425. return -500;
  426. }
  427. //SAP物料信息
  428. string sql = "delete from TP_MST_GoodsLogoSAP where goodsid = " + goodsEntity.GoodsID;
  429. returnRows += oracleTrConn.ExecuteNonQuery(sql);
  430. sql = "insert into TP_MST_GOODSLOGOSAP\n" +
  431. " (GOODSID, LOGOID, GOODSCODE, MATERIALCODE, MATERIALREMARK, CREATEUSERID,WaterLabelCode,PLATELIMITNUM)\n" +
  432. "values\n" +
  433. " (:GOODSID, :LOGOID, :GOODSCODE, :MATERIALCODE, :MATERIALREMARK, :CREATEUSERID,:WaterLabelCode,:PlateLimitNum)";
  434. foreach (DataRow item in goodsEntity.SAPInfo.Rows)
  435. {
  436. string sapcode = item["MATERIALCODE"] + "";
  437. string sapremark = item["MATERIALREMARK"] + "";
  438. if (string.IsNullOrWhiteSpace(sapcode))
  439. {
  440. continue;
  441. }
  442. if (string.IsNullOrEmpty(sapremark))
  443. {
  444. sapremark = " ";
  445. }
  446. paras = new OracleParameter[]{
  447. new OracleParameter(":GOODSID",goodsEntity.GoodsID),
  448. new OracleParameter(":LOGOID",item["LOGOID"]),
  449. new OracleParameter(":GOODSCODE",goodsEntity.GoodsCode),
  450. new OracleParameter(":MATERIALCODE",sapcode),
  451. new OracleParameter(":MATERIALREMARK",sapremark),
  452. new OracleParameter(":CREATEUSERID",sUserInfo.UserID),
  453. new OracleParameter(":WaterLabelCode",item["WaterLabelCode"]),
  454. new OracleParameter(":PlateLimitNum",item["PlateLimitNum"]),
  455. };
  456. returnRows += oracleTrConn.ExecuteNonQuery(sql, paras);
  457. }
  458. foreach (GoodsImageEntity imgEntity in imgList)
  459. {
  460. if (imgEntity.GoodsImageID == 0)
  461. {
  462. int imgReturn = 0;
  463. sbSql.Clear();
  464. sbSql.Append("select SEQ_MST_GoodsImage_ID.nextval from dual");
  465. int imgId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  466. sbSql.Clear();
  467. sbSql.Append("Insert into TP_MST_GoodsImage");
  468. sbSql.Append("(GoodsImageID,GoodsID,Thumbnail,Image,AccountID,ValueFlag,");
  469. sbSql.Append("CreateUserID,UpdateUserID)");
  470. sbSql.Append(" VALUES(:GoodsImageID,:GoodsID,:Thumbnail,:Image,:AccountID,:ValueFlag,");
  471. sbSql.Append(":CreateUserID,:UpdateUserID)");
  472. OracleParameter[] imgParas = new OracleParameter[] {
  473. new OracleParameter(":GoodsImageID",OracleDbType.Int32,imgId,ParameterDirection.Input),
  474. new OracleParameter(":GoodsID",OracleDbType.Int32,goodsEntity.GoodsID,ParameterDirection.Input),
  475. new OracleParameter(":Thumbnail",OracleDbType.Blob,imgEntity.Thumbnail,ParameterDirection.Input),
  476. new OracleParameter(":Image",OracleDbType.Blob,imgEntity.Image,ParameterDirection.Input),
  477. new OracleParameter(":AccountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  478. new OracleParameter(":ValueFlag",OracleDbType.Int32,imgEntity.ValueFlag,ParameterDirection.Input),
  479. //new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  480. new OracleParameter(":CreateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  481. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  482. new OracleParameter(":UpdateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  483. //new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
  484. };
  485. imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
  486. }
  487. else
  488. {
  489. int imgReturn = 0;
  490. sbSql.Clear();
  491. sbSql.Append(" update TP_MST_GoodsImage");
  492. sbSql.Append(" set GoodsID=:GoodsID,AccountID=:AccountID,ValueFlag=:ValueFlag,");
  493. sbSql.Append(" UpdateUserID=:UpdateUserID");
  494. //sbSql.Append(" where GoodsImageID=:GoodsImageID And OPTimeStamp=to_date(:OPTimeStamp,'yyyy-mm-dd HH24:mi:ss')");
  495. sbSql.Append(" where GoodsImageID=:GoodsImageID");
  496. OracleParameter[] imgParas = new OracleParameter[] {
  497. new OracleParameter(":GoodsID",OracleDbType.Int32,
  498. goodsEntity.GoodsID,ParameterDirection.Input),
  499. new OracleParameter(":AccountID",OracleDbType.Int32,
  500. imgEntity.AccountID,ParameterDirection.Input),
  501. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  502. imgEntity.ValueFlag,ParameterDirection.Input),
  503. //new OracleParameter(":UpdateTime",OracleDbType.NVarchar2,
  504. // DateTime.Now.ToString(),ParameterDirection.Input),
  505. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  506. sUserInfo.UserID,ParameterDirection.Input),
  507. new OracleParameter(":GoodsImageID",OracleDbType.Int32,
  508. imgEntity.GoodsImageID,ParameterDirection.Input)
  509. //,new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp, imgEntity.OPTimeStamp,ParameterDirection.Input)
  510. };
  511. imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
  512. }
  513. }
  514. //修改产品附件
  515. //int AttReturn = UpdateAttachment(oracleTrConn, attList, Convert.ToInt32(goodsEntity.GoodsID), sUserInfo);
  516. oracleTrConn.Commit();
  517. oracleTrConn.Disconnect();
  518. }
  519. catch (Exception ex)
  520. {
  521. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  522. {
  523. oracleTrConn.Rollback();
  524. oracleTrConn.Disconnect();
  525. }
  526. throw ex;
  527. }
  528. return returnRows;
  529. }
  530. /// <summary>
  531. /// 查询产品物料信息
  532. /// </summary>
  533. /// <param name="sUserInfo"></param>
  534. /// <param name="goodsID"></param>
  535. /// <returns></returns>
  536. public static ServiceResultEntity GetGoodsSAP(SUserInfo sUserInfo, int goodsID)
  537. {
  538. IDBConnection conn = null;
  539. try
  540. {
  541. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  542. string sqlString = @"
  543. select gl.LOGONAME , g.materialcode, g.materialremark,g.WaterLabelCode, '1' valueflag, -1 displayno, g.platelimitnum
  544. from tp_mst_goods g
  545. LEFT JOIN TP_MST_GOODSLOGO gl on gl.GOODSCODE=g.GOODSCODE
  546. where g.goodsid = :goodsid
  547. union all
  548. select to_char(l.logoname)
  549. ,gls.materialcode
  550. ,gls.materialremark
  551. ,gls.WaterLabelCode
  552. ,l.valueflag
  553. ,l.displayno
  554. ,gls.platelimitnum
  555. from tp_mst_goodslogosap gls
  556. inner join tp_mst_logo l on l.logoid = gls.logoid
  557. where gls.goodsid = :goodsid
  558. order by valueflag desc, displayno";
  559. OracleParameter[] paras = new OracleParameter[]{
  560. new OracleParameter(":goodsid",goodsID),
  561. };
  562. ServiceResultEntity sre = new ServiceResultEntity();
  563. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  564. return sre;
  565. }
  566. catch (Exception ex)
  567. {
  568. throw ex;
  569. }
  570. finally
  571. {
  572. if (conn != null &&
  573. conn.ConnState == ConnectionState.Open)
  574. {
  575. conn.Close();
  576. }
  577. }
  578. }
  579. /// <summary>
  580. /// 查询产品物料信息(编辑用)
  581. /// </summary>
  582. /// <param name="sUserInfo"></param>
  583. /// <param name="goodsID"></param>
  584. /// <returns></returns>
  585. public static ServiceResultEntity GetGoodsSAPByEdit(SUserInfo sUserInfo, int goodsID)
  586. {
  587. IDBConnection conn = null;
  588. try
  589. {
  590. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  591. string sqlString = "select l.logoid\n" +
  592. " ,l.logoname\n" +
  593. " ,gls.materialcode\n" +
  594. " ,gls.materialremark\n" +
  595. " ,gls.WaterLabelCode\n" +
  596. " ,gls.goodsid\n" +
  597. " ,l.valueflag\n" +
  598. " ,gls.platelimitnum\n" +
  599. " from tp_mst_logo l\n" +
  600. " left join tp_mst_goodslogosap gls\n" +
  601. " on gls.goodsid = :goodsid\n" +
  602. " and l.logoid = gls.logoid\n" +
  603. " where (l.valueflag = '1' or gls.goodsid is not null)\n" +
  604. " order by gls.goodsid, l.valueflag desc, l.displayno";
  605. OracleParameter[] paras = new OracleParameter[]{
  606. new OracleParameter(":goodsid",goodsID),
  607. };
  608. ServiceResultEntity sre = new ServiceResultEntity();
  609. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  610. return sre;
  611. }
  612. catch (Exception ex)
  613. {
  614. throw ex;
  615. }
  616. finally
  617. {
  618. if (conn != null &&
  619. conn.ConnState == ConnectionState.Open)
  620. {
  621. conn.Close();
  622. }
  623. }
  624. }
  625. #endregion
  626. #region 获得生产工号集合
  627. /// <summary>
  628. /// 获得生产工号集合
  629. /// </summary>
  630. /// <param name="sUserInfo">用户基本信息</param>
  631. /// <returns>DataSet</returns>
  632. /// <remarks>
  633. /// 陈冰 2014.09.03 新建
  634. /// </remarks>
  635. public static DataSet GetWorker(SUserInfo sUserInfo)
  636. {
  637. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  638. try
  639. {
  640. con.Open();
  641. OracleParameter[] paras = new OracleParameter[]{
  642. new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  643. new OracleParameter("rs_worker",OracleDbType.RefCursor,ParameterDirection.Output),
  644. };
  645. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetWorker", paras);
  646. return ds;
  647. }
  648. catch (Exception ex)
  649. {
  650. throw ex;
  651. }
  652. finally
  653. {
  654. if (con.ConnState == ConnectionState.Open)
  655. {
  656. con.Close();
  657. }
  658. }
  659. }
  660. #endregion
  661. #region 获得工种集合
  662. /// <summary>
  663. /// 获得工种集合
  664. /// </summary>
  665. /// <param name="sUserInfo">用户基本信息</param>
  666. /// <returns>DataSet</returns>
  667. /// <remarks>
  668. /// 陈冰 2014.09.03 新建
  669. /// </remarks>
  670. public static DataSet GetJobs(SUserInfo sUserInfo)
  671. {
  672. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  673. try
  674. {
  675. con.Open();
  676. OracleParameter[] paras = new OracleParameter[]{
  677. new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  678. new OracleParameter("rs_jobs",OracleDbType.RefCursor,ParameterDirection.Output),
  679. };
  680. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetJobs", paras);
  681. return ds;
  682. }
  683. catch (Exception ex)
  684. {
  685. throw ex;
  686. }
  687. finally
  688. {
  689. if (con.ConnState == ConnectionState.Open)
  690. {
  691. con.Close();
  692. }
  693. }
  694. }
  695. #endregion
  696. #region 获得缺陷集合
  697. /// <summary>
  698. /// 获得缺陷集合
  699. /// </summary>
  700. /// <param name="sUserInfo">用户基本信息</param>
  701. /// <returns>DataSet</returns>
  702. /// <remarks>
  703. /// 陈冰 2014.09.03 新建
  704. /// </remarks>
  705. public static DataSet GetDefect(SUserInfo sUserInfo)
  706. {
  707. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  708. try
  709. {
  710. con.Open();
  711. OracleParameter[] paras = new OracleParameter[]{
  712. new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  713. new OracleParameter("rs_defect",OracleDbType.RefCursor,ParameterDirection.Output),
  714. };
  715. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetDefect", paras);
  716. return ds;
  717. }
  718. catch (Exception ex)
  719. {
  720. throw ex;
  721. }
  722. finally
  723. {
  724. if (con.ConnState == ConnectionState.Open)
  725. {
  726. con.Close();
  727. }
  728. }
  729. }
  730. #endregion
  731. #region 产品图片
  732. /// <summary>
  733. /// 根据产品ID获取产品图片
  734. /// </summary>
  735. /// <param name="sUserInfo">用户基本信息</param>
  736. /// <param name="goodsId">产品ID</param>
  737. /// <returns>DataSet</returns>
  738. /// <remarks>
  739. /// 庄天威 2014.09.04 新建
  740. /// </remarks>
  741. public static DataSet GetImageByGoodsId(SUserInfo sUserInfo, int goodsId)
  742. {
  743. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  744. try
  745. {
  746. con.Open();
  747. OracleParameter[] paras = new OracleParameter[]{
  748. new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  749. new OracleParameter("in_goodsID",OracleDbType.Int32,goodsId,ParameterDirection.Input),
  750. new OracleParameter("rs_result",OracleDbType.RefCursor,ParameterDirection.Output),
  751. };
  752. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetImageByGoodsId", paras);
  753. return ds;
  754. }
  755. catch (Exception ex)
  756. {
  757. throw ex;
  758. }
  759. finally
  760. {
  761. if (con.ConnState == ConnectionState.Open)
  762. {
  763. con.Close();
  764. }
  765. }
  766. }
  767. #endregion
  768. #region 附件
  769. /// <summary>
  770. /// 新建附件信息
  771. /// </summary>
  772. /// <param name="AttList">附件实体集合</param>
  773. /// <param name="mainId">产品ID</param>
  774. /// <param name="userInfo">用户基本信息</param>
  775. /// <returns>int影响结果行数</returns>
  776. public static int AddAttachment(List<GoodsAttachmentEntity> AttList, int mainId, SUserInfo userInfo)
  777. {
  778. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  779. try
  780. {
  781. oracleTrConn.Connect();
  782. int AttReturn = 0;
  783. int GAReturn = 0;
  784. StringBuilder sbSql = new StringBuilder();
  785. foreach (GoodsAttachmentEntity attFor in AttList)
  786. {
  787. sbSql.Clear();
  788. sbSql.Append("select SEQ_MST_Attachment_ID.nextval from dual");
  789. int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  790. sbSql.Clear();
  791. sbSql.Append(@"Insert into TP_MST_Attachment(AttachmentID,FileName,FilePath,AccountID,ValueFlag,
  792. CreateUserID,UpdateUserID)
  793. Values(:AttachmentID,:FileName,:FilePath,:AccountID,:ValueFlag,
  794. :CreateUserID,:UpdateUserID)");
  795. OracleParameter[] attParas = new OracleParameter[] {
  796. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  797. id,ParameterDirection.Input),
  798. new OracleParameter(":FileName",OracleDbType.NVarchar2,
  799. attFor.FileName,ParameterDirection.Input),
  800. new OracleParameter(":FilePath",OracleDbType.NVarchar2,
  801. attFor.FilePath,ParameterDirection.Input),
  802. new OracleParameter(":AccountID",OracleDbType.Int32,
  803. userInfo.AccountID,ParameterDirection.Input),
  804. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  805. 1,ParameterDirection.Input),
  806. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  807. userInfo.UserID,ParameterDirection.Input),
  808. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  809. userInfo.UserID,ParameterDirection.Input)
  810. };
  811. AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  812. sbSql.Clear();
  813. sbSql.Append(@"Insert into TP_MST_GoodsAttachment(GoodsID,AttachmentID,CreateUserID,UpdateUserID)
  814. Values(:GoodsID,:AttachmentID,:CreateUserID,:UpdateUserID)");
  815. OracleParameter[] gaParas = new OracleParameter[] {
  816. new OracleParameter(":GoodsID",OracleDbType.Int32,
  817. mainId,ParameterDirection.Input),
  818. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  819. id,ParameterDirection.Input),
  820. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  821. userInfo.UserID,ParameterDirection.Input),
  822. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  823. userInfo.UserID,ParameterDirection.Input)
  824. };
  825. GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), gaParas);
  826. sbSql.Clear();
  827. }
  828. oracleTrConn.Commit();
  829. oracleTrConn.Disconnect();
  830. return AttReturn;
  831. }
  832. catch (Exception ex)
  833. {
  834. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  835. {
  836. oracleTrConn.Rollback();
  837. oracleTrConn.Disconnect();
  838. }
  839. throw ex;
  840. }
  841. }
  842. /// <summary>
  843. /// 修改附件信息
  844. /// </summary>
  845. /// <param name="AttList">附件实体集合</param>
  846. /// <param name="mainId">产品ID</param>
  847. /// <param name="userInfo">用户基本信息</param>
  848. /// <returns>int受影响行数</returns>
  849. public static int UpdateAttachment(List<GoodsAttachmentEntity> AttList, int mainId, SUserInfo userInfo)
  850. {
  851. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  852. try
  853. {
  854. oracleTrConn.Connect();
  855. int AttReturn = 0;
  856. int GAReturn = 0;
  857. StringBuilder sbSql = new StringBuilder();
  858. foreach (GoodsAttachmentEntity attFor in AttList)
  859. {
  860. if (attFor.IsUpdateAdd == 0) //不是新建的
  861. {
  862. sbSql.Clear();
  863. sbSql.Append(@"Update TP_MST_Attachment set ValueFlag = :ValueFlag,UpdateUserID=:UpdateUserID
  864. Where AttachmentID = :AttachmentID");
  865. OracleParameter[] attParas = new OracleParameter[] {
  866. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  867. attFor.ValueFlag,ParameterDirection.Input),
  868. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  869. userInfo.UserID,ParameterDirection.Input),
  870. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  871. attFor.AttachmentID,ParameterDirection.Input)
  872. };
  873. AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  874. sbSql.Clear();
  875. sbSql.Append(@"Update TP_MST_GoodsAttachment
  876. Set ValueFlag = :ValueFlag,UpdateUserID=:UpdateUserID
  877. Where AttachmentID = :AttachmentID");
  878. GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  879. sbSql.Clear();
  880. }
  881. else //新建的
  882. {
  883. sbSql.Clear();
  884. sbSql.Append("select SEQ_MST_Attachment_ID.nextval from dual");
  885. int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  886. sbSql.Clear();
  887. sbSql.Append(@"Insert into TP_MST_Attachment(AttachmentID,FileName,FilePath,AccountID,ValueFlag,
  888. CreateUserID,UpdateUserID)
  889. Values(:AttachmentID,:FileName,:FilePath,:AccountID,:ValueFlag,
  890. :CreateUserID,:UpdateUserID)");
  891. OracleParameter[] attParas = new OracleParameter[] {
  892. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  893. id,ParameterDirection.Input),
  894. new OracleParameter(":FileName",OracleDbType.NVarchar2,
  895. attFor.FileName,ParameterDirection.Input),
  896. new OracleParameter(":FilePath",OracleDbType.NVarchar2,
  897. attFor.FilePath,ParameterDirection.Input),
  898. new OracleParameter(":AccountID",OracleDbType.Int32,
  899. userInfo.AccountID,ParameterDirection.Input),
  900. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  901. 1,ParameterDirection.Input),
  902. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  903. userInfo.UserID,ParameterDirection.Input),
  904. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  905. userInfo.UserID,ParameterDirection.Input)
  906. };
  907. AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  908. sbSql.Clear();
  909. sbSql.Append(@"Insert into TP_MST_GoodsAttachment(GoodsID,AttachmentID,CreateUserID,UpdateUserID)
  910. Values(:GoodsID,:AttachmentID,:CreateUserID,:UpdateUserID)");
  911. OracleParameter[] gaParas = new OracleParameter[] {
  912. new OracleParameter(":GoodsID",OracleDbType.Int32,
  913. mainId,ParameterDirection.Input),
  914. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  915. id,ParameterDirection.Input),
  916. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  917. userInfo.UserID,ParameterDirection.Input),
  918. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  919. userInfo.UserID,ParameterDirection.Input)
  920. };
  921. GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), gaParas);
  922. sbSql.Clear();
  923. }
  924. }
  925. oracleTrConn.Commit();
  926. oracleTrConn.Disconnect();
  927. return AttReturn;
  928. }
  929. catch (Exception ex)
  930. {
  931. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  932. {
  933. oracleTrConn.Rollback();
  934. oracleTrConn.Disconnect();
  935. }
  936. throw ex;
  937. }
  938. }
  939. /// <summary>
  940. /// 根据产品ID获取附件
  941. /// </summary>
  942. /// <param name="goodsId">产品ID</param>
  943. /// <returns>DataSet</returns>
  944. public static DataSet GetAttachmentByGoodsId(int goodsId)
  945. {
  946. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  947. try
  948. {
  949. con.Open();
  950. String strSql = @"Select goodsAtt.GoodsID,att.* from TP_MST_GoodsAttachment goodsAtt
  951. Inner join TP_MST_Attachment att
  952. On goodsAtt.AttachmentID = att.AttachmentID
  953. Where goodsAtt.ValueFlag = 1 and goodsAtt.GoodsID = " + goodsId;
  954. DataSet ds = con.GetSqlResultToDs(strSql, null);
  955. return ds;
  956. }
  957. catch (Exception ex)
  958. {
  959. throw ex;
  960. }
  961. finally
  962. {
  963. if (con.ConnState == ConnectionState.Open)
  964. {
  965. con.Close();
  966. }
  967. }
  968. }
  969. #endregion
  970. #region 缺陷位置
  971. /// <summary>
  972. /// 获取缺陷位置
  973. /// </summary>
  974. /// <param name="dpEntity">缺陷位置实体</param>
  975. /// <param name="userInfo">用户基本信息</param>
  976. /// <returns>DataSet</returns>
  977. public static DataSet GetDefectPosition(DefectPositionEntity dpEntity, SUserInfo userInfo)
  978. {
  979. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  980. try
  981. {
  982. con.Open();
  983. OracleParameter[] paras = new OracleParameter[]{
  984. new OracleParameter("in_DefectPositionID",OracleDbType.Int32,
  985. dpEntity.DefectPositionID,ParameterDirection.Input),
  986. new OracleParameter("in_DefectPositionCode",OracleDbType.NVarchar2,
  987. dpEntity.DefectPositionCode,ParameterDirection.Input),
  988. new OracleParameter("in_DefectPositionName",OracleDbType.NVarchar2,
  989. dpEntity.DefectPositionName,ParameterDirection.Input),
  990. new OracleParameter("in_AccountID",OracleDbType.Int32,
  991. userInfo.AccountID,ParameterDirection.Input),
  992. new OracleParameter("out_rs_defect",OracleDbType.RefCursor,ParameterDirection.Output),
  993. };
  994. DataSet dsDefectPosition = con.ExecStoredProcedure("PRO_MST_GetDefectPosition", paras);
  995. return dsDefectPosition;
  996. }
  997. catch (Exception ex)
  998. {
  999. throw ex;
  1000. }
  1001. finally
  1002. {
  1003. if (con.ConnState == ConnectionState.Open)
  1004. {
  1005. con.Close();
  1006. }
  1007. }
  1008. }
  1009. /// <summary>
  1010. /// 根据产品获得产品缺陷位置
  1011. /// </summary>
  1012. /// <param name="GoodsId">产品ID</param>
  1013. /// <returns>DataSet</returns>
  1014. public static DataSet getGoodsDefectPositionByGoodsId(int GoodsId)
  1015. {
  1016. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1017. try
  1018. {
  1019. con.Open();
  1020. string sql = @"select gdp.*,dp.DefectPositionCode,dp.DefectPositionName,dp.Remarks
  1021. from TP_MST_GoodsDefectPosition gdp
  1022. inner join TP_MST_DefectPosition dp
  1023. on gdp.DefectPositionID=dp.DefectPositionID
  1024. where gdp.GoodsID=" + GoodsId;
  1025. DataSet dsDefectPosition = con.GetSqlResultToDs(sql, null);
  1026. return dsDefectPosition;
  1027. }
  1028. catch (Exception ex)
  1029. {
  1030. throw ex;
  1031. }
  1032. finally
  1033. {
  1034. if (con.ConnState == ConnectionState.Open)
  1035. {
  1036. con.Close();
  1037. }
  1038. }
  1039. }
  1040. /// <summary>
  1041. /// 保存产品缺陷位置关联(依附在添加产品中)
  1042. /// </summary>
  1043. /// <param name="dpList">缺陷位置集</param>
  1044. /// <param name="GoodsId">产品ID</param>
  1045. /// <param name="userInfo">用户基本信息</param>
  1046. /// <returns>int</returns>
  1047. public static int SaveGoodsDefectPosition(IDBTransaction oracleTrConn, List<int> dpList, int GoodsId, SUserInfo userInfo)
  1048. {
  1049. try
  1050. {
  1051. int ReturnCount = 0;
  1052. string sql = "Delete from TP_MST_GoodsDefectPosition where GoodsId=" + GoodsId;
  1053. foreach (int dpFor in dpList)
  1054. {
  1055. string sqlAdd = @"Insert into TP_MST_GoodsDefectPosition(GoodsID,DefectPositionID,
  1056. CreateTime,CreateUserID) Values(:GoodsID,:DefectPositionID,sysdate,:CreateUserID)";
  1057. OracleParameter[] paras = new OracleParameter[]{
  1058. new OracleParameter(":GoodsID",OracleDbType.Int32,
  1059. GoodsId,ParameterDirection.Input),
  1060. new OracleParameter(":DefectPositionID",OracleDbType.Int32,
  1061. dpFor,ParameterDirection.Input),
  1062. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  1063. userInfo.UserID,ParameterDirection.Input),
  1064. };
  1065. ReturnCount += oracleTrConn.ExecuteNonQuery(sqlAdd, paras);
  1066. }
  1067. return ReturnCount;
  1068. }
  1069. catch (Exception ex)
  1070. {
  1071. throw ex;
  1072. }
  1073. }
  1074. #endregion
  1075. #region 成型线类型
  1076. /// <summary>
  1077. /// 获取成型线类型
  1078. /// </summary>
  1079. /// <param name="userInfo">用户基本信息</param>
  1080. /// <returns>数据集</returns>
  1081. /// <remarks>
  1082. /// 庄天威 2014.09.04 新建
  1083. /// </remarks>
  1084. public static DataSet GetGMouldType(SUserInfo userInfo)
  1085. {
  1086. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1087. try
  1088. {
  1089. con.Open();
  1090. OracleParameter[] paras = new OracleParameter[]{
  1091. new OracleParameter("in_accountID",OracleDbType.Int32,
  1092. userInfo.AccountID,ParameterDirection.Input),
  1093. new OracleParameter("in_valueFlag",OracleDbType.Int32,
  1094. 1,ParameterDirection.Input),
  1095. new OracleParameter("out_result",OracleDbType.RefCursor,ParameterDirection.Output),
  1096. };
  1097. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetMouldType", paras);
  1098. return ds;
  1099. }
  1100. catch (Exception ex)
  1101. {
  1102. throw ex;
  1103. }
  1104. finally
  1105. {
  1106. if (con.ConnState == ConnectionState.Open)
  1107. {
  1108. con.Close();
  1109. }
  1110. }
  1111. }
  1112. #endregion
  1113. #region 产品分级数据源
  1114. /// <summary>
  1115. /// 产品分级数据源
  1116. /// </summary>
  1117. /// <param name="type">1适用半成品2检验 2适用成品检验 3入窑前检验</param>
  1118. /// <param name="userInfo">用户基本信息</param>
  1119. /// <returns>DataSet</returns>
  1120. public static DataSet GetGoodsLevel(int type, SUserInfo userInfo)
  1121. {
  1122. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1123. try
  1124. {
  1125. con.Open();
  1126. string sqlString = "";
  1127. if (type == 1 || type == 3)
  1128. {
  1129. 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";
  1130. }
  1131. else if (type == 2)
  1132. {
  1133. 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";
  1134. }
  1135. OracleParameter[] paras = new OracleParameter[]{
  1136. new OracleParameter(":AccountID",userInfo.AccountID),
  1137. };
  1138. DataSet dsGoodsLevel = con.GetSqlResultToDs(sqlString, paras);
  1139. return dsGoodsLevel;
  1140. }
  1141. catch (Exception ex)
  1142. {
  1143. throw ex;
  1144. }
  1145. finally
  1146. {
  1147. if (con.ConnState == ConnectionState.Open)
  1148. {
  1149. con.Close();
  1150. }
  1151. }
  1152. }
  1153. #endregion
  1154. #region 审核状态
  1155. /// <summary>
  1156. /// 获取全部审核状态
  1157. /// </summary>
  1158. /// <returns>DataSet审核状态数据源</returns>
  1159. public static DataSet GetAuditStatus()
  1160. {
  1161. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1162. try
  1163. {
  1164. con.Open();
  1165. String strSql = "Select * from TP_SYS_AuditStatus Order by DisplayNo";
  1166. DataSet ds = con.GetSqlResultToDs(strSql, null);
  1167. return ds;
  1168. }
  1169. catch (Exception ex)
  1170. {
  1171. throw ex;
  1172. }
  1173. finally
  1174. {
  1175. if (con.ConnState == ConnectionState.Open)
  1176. {
  1177. con.Close();
  1178. }
  1179. }
  1180. }
  1181. #endregion
  1182. /// <summary>
  1183. /// 工序集合
  1184. /// </summary>
  1185. /// <param name="ProductionLineEntity">工序实体</param>
  1186. /// <param name="sUserInfo">用户<基本信息/param>
  1187. /// <returns>DataSet</returns>
  1188. /// <remarks>
  1189. /// 王鑫 2014.11.29 新建
  1190. /// </remarks>
  1191. public static DataSet GetProdureList(SearchProductionLineEntity productionLineEntity, SUserInfo sUserInfo)
  1192. {
  1193. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1194. try
  1195. {
  1196. con.Open();
  1197. OracleParameter[] paras = new OracleParameter[]{
  1198. new OracleParameter("in_procedureCode",OracleDbType.Varchar2,productionLineEntity.ProductionLineCode,ParameterDirection.Input),
  1199. new OracleParameter("in_procedureName",OracleDbType.Varchar2,productionLineEntity.ProductionLineName,ParameterDirection.Input),
  1200. new OracleParameter("in_procedureIDS",OracleDbType.Varchar2,productionLineEntity.ProcuteLineIDS,ParameterDirection.Input),
  1201. new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  1202. new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
  1203. };
  1204. DataSet dsSearchReport = con.ExecStoredProcedure("PRO_PC_GetProcedureList", paras);
  1205. return dsSearchReport;
  1206. }
  1207. catch (Exception ex)
  1208. {
  1209. throw ex;
  1210. }
  1211. finally
  1212. {
  1213. if (con.ConnState == ConnectionState.Open)
  1214. {
  1215. con.Close();
  1216. }
  1217. }
  1218. }
  1219. /// <summary>
  1220. /// 获取全部工种计件方式
  1221. /// </summary>
  1222. /// <returns>DataSet工种计件方式集合</returns>
  1223. public static DataSet GetJobsPriceType()
  1224. {
  1225. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1226. try
  1227. {
  1228. con.Open();
  1229. String strSql = "Select * from TP_SYS_JobsPriceType Order by DisplayNo";
  1230. DataSet dsSearchReport = con.GetSqlResultToDs(strSql, null);
  1231. return dsSearchReport;
  1232. }
  1233. catch (Exception ex)
  1234. {
  1235. throw ex;
  1236. }
  1237. finally
  1238. {
  1239. if (con.ConnState == ConnectionState.Open)
  1240. {
  1241. con.Close();
  1242. }
  1243. }
  1244. }
  1245. #region 装具管理
  1246. /// <summary>
  1247. /// 查询装具信息
  1248. /// </summary>
  1249. /// <param name="sUserInfo"></param>
  1250. /// <param name="goodsID"></param>
  1251. /// <returns></returns>
  1252. public static ServiceResultEntity GetEntruckingInfo(SUserInfo sUserInfo, string entruckingCode)
  1253. {
  1254. IDBConnection conn = null;
  1255. try
  1256. {
  1257. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1258. string sqlString = @"
  1259. SELECT
  1260. TPE.ENTRUCKINGCODE,
  1261. CASE WHEN TPE.STATUS = 1 THEN '已使用' ELSE '未使用' END AS STATUS,
  1262. TPE.TRUCKSIZE,
  1263. TPE.REMARKS,
  1264. TPE.Batch,
  1265. TPE.VALUEFLAG
  1266. FROM
  1267. TP_PM_ENTRUCKING TPE
  1268. WHERE 1=1";
  1269. if (!string.IsNullOrEmpty(entruckingCode))
  1270. {
  1271. sqlString += "AND TPE.ENTRUCKINGCODE LIKE '%" + entruckingCode.ToString() + "%'";
  1272. }
  1273. ServiceResultEntity sre = new ServiceResultEntity();
  1274. sre.Data = conn.GetSqlResultToDs(sqlString, null);
  1275. return sre;
  1276. }
  1277. catch (Exception ex)
  1278. {
  1279. throw ex;
  1280. }
  1281. finally
  1282. {
  1283. if (conn != null &&
  1284. conn.ConnState == ConnectionState.Open)
  1285. {
  1286. conn.Close();
  1287. }
  1288. }
  1289. }
  1290. /// <summary>
  1291. /// 查询装具明细信息
  1292. /// </summary>
  1293. /// <param name="sUserInfo"></param>
  1294. /// <param name="goodsID"></param>
  1295. /// <returns></returns>
  1296. public static ServiceResultEntity GetEntruckingInfoDetail(SUserInfo sUserInfo, string entruckingCode)
  1297. {
  1298. IDBConnection conn = null;
  1299. try
  1300. {
  1301. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1302. string sqlString = @"
  1303. SELECT
  1304. TPED.BARCODE AS BARCODEDETAIL,
  1305. TPED.BATCH AS BATCHDETAIL,
  1306. CASE WHEN TPED.DOFUNCTION = 1 THEN '绑定'
  1307. WHEN TPED.DOFUNCTION = 2 THEN '解绑'
  1308. WHEN TPED.DOFUNCTION = 3 THEN '增加'
  1309. WHEN TPED.DOFUNCTION = 4 THEN '删减'
  1310. ELSE '' END AS DOFUNCTIONDETAIL,
  1311. TPP.PROCEDURENAME AS PROCEDUREIDDETAIL,
  1312. TPED.REMARKS AS REMARKSDETAIL,
  1313. TPED.USERCODE AS USERCODEDETAIL,
  1314. TPED.CREATETIME AS CREATETIMEDETAIL
  1315. FROM
  1316. TP_PM_ENTRUCKINGDETAIL TPED
  1317. INNER JOIN TP_PM_ENTRUCKING TPE ON TPED.ENTRUCKINGCODE = TPE.ENTRUCKINGCODE
  1318. LEFT JOIN TP_PC_PROCEDURE TPP ON TPED.ProcedureID = TPP.ProcedureID
  1319. WHERE
  1320. 1 = 1
  1321. AND TPED.VALUEFLAG = 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.CUSTOMERID,
  1477. C.CUSTOMERCODE,
  1478. C.CUSTOMERNAME,
  1479. M.GOODSCODE,
  1480. M.GOODSNAME,
  1481. C.REMARKS,
  1482. CASE
  1483. WHEN C.VALUEFLAG = 1 THEN
  1484. '是' ELSE '否'
  1485. END AS VALUEFLAG
  1486. FROM
  1487. TP_PC_CUSTOMERINFORMATION C
  1488. LEFT JOIN TP_MST_GOODS M ON C.GOODSCODE = M.GOODSCODE
  1489. WHERE
  1490. 1 =1";
  1491. if (!string.IsNullOrEmpty(cre.Properties["Customerid"].ToString()))
  1492. {
  1493. sqlString += " AND C.CUSTOMERID = :CUSTOMERID";
  1494. }
  1495. if (!string.IsNullOrEmpty(cre.Properties["CustomerCode"].ToString()))
  1496. {
  1497. sqlString += " AND C.CUSTOMERCODE like :CUSTOMERCODE";
  1498. }
  1499. if (!string.IsNullOrEmpty(cre.Properties["CustomerName"].ToString()))
  1500. {
  1501. sqlString += " AND C.CUSTOMERNAME like :CUSTOMERNAME";
  1502. }
  1503. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  1504. {
  1505. sqlString += " AND C.VALUEFLAG = :VALUEFLAG";
  1506. }
  1507. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1508. {
  1509. sqlString += " AND M.GOODSCODE like :GOODSCODE";
  1510. }
  1511. if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
  1512. {
  1513. sqlString += " AND M.GOODSNAME like :GOODSNAME";
  1514. }
  1515. OracleParameter[] paras = new OracleParameter[]{
  1516. new OracleParameter(":CUSTOMERID",cre.Properties["Customerid"].ToString()),
  1517. new OracleParameter(":CUSTOMERCODE",'%'+cre.Properties["CustomerCode"].ToString()+'%'),
  1518. new OracleParameter(":CUSTOMERNAME",'%'+cre.Properties["CustomerName"].ToString()+'%'),
  1519. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  1520. new OracleParameter(":GOODSNAME",'%'+cre.Properties["GOODSNAME"].ToString()+'%'),
  1521. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString())
  1522. };
  1523. ServiceResultEntity sre = new ServiceResultEntity();
  1524. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1525. return sre;
  1526. }
  1527. catch (Exception ex)
  1528. {
  1529. throw ex;
  1530. }
  1531. finally
  1532. {
  1533. if (conn != null &&
  1534. conn.ConnState == ConnectionState.Open)
  1535. {
  1536. conn.Close();
  1537. }
  1538. }
  1539. }
  1540. /// <summary>
  1541. /// 保存客户信息
  1542. /// </summary>
  1543. /// <param name="sUserInfo"></param>
  1544. /// <param name="goodsID"></param>
  1545. /// <returns></returns>
  1546. public static ServiceResultEntity AddCustomerInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  1547. {
  1548. IDBTransaction conn = null;
  1549. try
  1550. {
  1551. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  1552. ServiceResultEntity sre = new ServiceResultEntity();
  1553. DataTable dt = new DataTable();
  1554. string sqlString = string.Empty;
  1555. OracleParameter[] paras = new OracleParameter[] { };
  1556. //如果客户信息是新建的情况下,是否存在相同客户编码
  1557. if (cre.Properties["FromStatus"].ToString() == "Add")
  1558. {
  1559. sqlString = @" SELECT 1 FROM TP_PC_CUSTOMERINFORMATION WHERE CUSTOMERCODE = :CUSTOMERCODE AND GOODSCODE = :GOODSCODE ";
  1560. paras = new OracleParameter[] {
  1561. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1562. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString())
  1563. };
  1564. dt = new DataTable();
  1565. dt = conn.GetSqlResultToDt(sqlString, paras);
  1566. if (dt != null && dt.Rows.Count > 0)
  1567. {
  1568. //存在相同客户编码
  1569. sre.OtherStatus = -1001;
  1570. return sre;
  1571. }
  1572. }
  1573. #region 新增
  1574. if (cre.Properties["FromStatus"].ToString() == "Add")
  1575. {
  1576. //保存客户信息
  1577. sqlString = @"
  1578. INSERT INTO TP_PC_CUSTOMERINFORMATION(
  1579. CUSTOMERCODE,
  1580. CUSTOMERNAME,
  1581. REMARKS,
  1582. ACCOUNTID,
  1583. VALUEFLAG,
  1584. CREATEUSERID,
  1585. UPDATEUSERID,
  1586. GOODSCODE
  1587. ) VALUES(
  1588. :CUSTOMERCODE,
  1589. :CUSTOMERNAME,
  1590. :REMARKS,
  1591. 1,
  1592. :VALUEFLAG,
  1593. :USERID,
  1594. :USERID,
  1595. :GOODSCODE)";
  1596. paras = new OracleParameter[] {
  1597. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1598. new OracleParameter(":CUSTOMERNAME", cre.Properties["CUSTOMERNAME"].ToString()) ,
  1599. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()) ,
  1600. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  1601. new OracleParameter(":USERID", sUserInfo.UserID) ,
  1602. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1603. };
  1604. }
  1605. #endregion
  1606. #region 编辑
  1607. if (cre.Properties["FromStatus"].ToString() == "Edit")
  1608. {
  1609. //sqlString = @"
  1610. // SELECT 1 FROM TP_PC_CUSTOMERINFORMATION WHERE CUSTOMERCODE = :CUSTOMERCODE AND CUSTOMERCODE != :CUSTOMERCODEONE";
  1611. //paras = new OracleParameter[] {
  1612. // new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1613. // new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString())
  1614. //};
  1615. //dt = new DataTable();
  1616. //dt = conn.GetSqlResultToDt(sqlString, paras);
  1617. //if (dt != null && dt.Rows.Count > 0)
  1618. //{
  1619. // //存在相同客户编码
  1620. // sre.OtherStatus = -1001;
  1621. // return sre;
  1622. //}
  1623. sqlString = @"UPDATE TP_PC_CUSTOMERINFORMATION
  1624. SET
  1625. CUSTOMERCODE=:CUSTOMERCODE,
  1626. CUSTOMERNAME =:CUSTOMERNAME,
  1627. REMARKS = :REMARKS,
  1628. VALUEFLAG = :VALUEFLAG,
  1629. GOODSCODE = :GOODSCODE
  1630. WHERE
  1631. CUSTOMERID = :CUSTOMERID";
  1632. paras = new OracleParameter[] {
  1633. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1634. new OracleParameter(":CUSTOMERID",Convert.ToInt32(cre.Properties["CUSTOMERID"])),
  1635. new OracleParameter(":CUSTOMERNAME", cre.Properties["CUSTOMERNAME"].ToString()) ,
  1636. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()),
  1637. new OracleParameter(":VALUEFLAG", Convert.ToInt32(cre.Properties["VALUEFLAG"])),
  1638. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1639. //new OracleParameter(":USERID", sUserInfo.UserID)
  1640. };
  1641. }
  1642. #endregion
  1643. int result = conn.ExecuteNonQuery(sqlString, paras);
  1644. if (result <= 0)
  1645. {
  1646. //未改变任何数据
  1647. sre.OtherStatus = -1003;
  1648. return sre;
  1649. }
  1650. else
  1651. {
  1652. //提交数据
  1653. sre.OtherStatus = 1;
  1654. conn.Commit();
  1655. }
  1656. return sre;
  1657. }
  1658. catch (Exception ex)
  1659. {
  1660. conn.Rollback();
  1661. conn.Disconnect();
  1662. throw ex;
  1663. }
  1664. finally
  1665. {
  1666. if (conn != null &&
  1667. conn.ConnState == ConnectionState.Open)
  1668. {
  1669. conn.Disconnect();
  1670. }
  1671. }
  1672. }
  1673. #endregion
  1674. #region 版面信息
  1675. public static ServiceResultEntity GetLayout(SUserInfo sUserInfo, ClientRequestEntity cre)
  1676. {
  1677. IDBConnection conn = null;
  1678. try
  1679. {
  1680. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1681. string sqlString = @"SELECT DISTINCT
  1682. L.LAYOUTID,
  1683. L.CUSTOMERCODE,
  1684. C.CUSTOMERNAME,
  1685. L.LAYOUTCODE,
  1686. L.LAYOUTNAME,
  1687. L.REMARKS,
  1688. L.GOODSCODE,
  1689. M.GOODSNAME,
  1690. CASE
  1691. WHEN L.VALUEFLAG = 1 THEN
  1692. '是' ELSE '否'
  1693. END AS VALUEFLAG
  1694. FROM
  1695. TP_PC_LAYOUTINFORMATION L
  1696. LEFT JOIN TP_PC_CUSTOMERINFORMATION C ON L.CUSTOMERCODE = C.CUSTOMERCODE
  1697. LEFT JOIN TP_MST_GOODS M ON L.GOODSCODE = M.GOODSCODE
  1698. WHERE
  1699. 1 =1";
  1700. if (!string.IsNullOrEmpty(cre.Properties["Layoutid"].ToString()))
  1701. {
  1702. sqlString += " AND L.LAYOUTID = :LAYOUTID";
  1703. }
  1704. if (!string.IsNullOrEmpty(cre.Properties["LayoutCode"].ToString()))
  1705. {
  1706. sqlString += " AND L.LAYOUTCODE like : LAYOUTCODE";
  1707. }
  1708. if (!string.IsNullOrEmpty(cre.Properties["CustomerCode"].ToString()))
  1709. {
  1710. sqlString += " AND L.CUSTOMERCODE like : CUSTOMERCODE";
  1711. }
  1712. if (!string.IsNullOrEmpty(cre.Properties["LayoutName"].ToString()))
  1713. {
  1714. sqlString += " AND L.LAYOUTNAME like : LAYOUTNAME";
  1715. }
  1716. if (!string.IsNullOrEmpty(cre.Properties["ValueFlag"].ToString()))
  1717. {
  1718. sqlString += " AND L.VALUEFLAG = : VALUEFLAG";
  1719. }
  1720. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1721. {
  1722. sqlString += " AND L.GOODSCODE like : GOODSCODE";
  1723. }
  1724. OracleParameter[] paras = new OracleParameter[]{
  1725. new OracleParameter(":LAYOUTID",cre.Properties["Layoutid"].ToString()),
  1726. new OracleParameter(":LAYOUTCODE",'%'+cre.Properties["LayoutCode"].ToString()+'%'),
  1727. new OracleParameter(":CUSTOMERCODE",'%'+cre.Properties["CustomerCode"].ToString()+'%'),
  1728. new OracleParameter(":LAYOUTNAME",'%'+cre.Properties["LayoutName"].ToString()+'%'),
  1729. new OracleParameter(":VALUEFLAG",cre.Properties["ValueFlag"].ToString()),
  1730. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%')
  1731. };
  1732. ServiceResultEntity sre = new ServiceResultEntity();
  1733. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1734. return sre;
  1735. }
  1736. catch (Exception ex)
  1737. {
  1738. throw ex;
  1739. }
  1740. finally
  1741. {
  1742. if (conn != null &&
  1743. conn.ConnState == ConnectionState.Open)
  1744. {
  1745. conn.Close();
  1746. }
  1747. }
  1748. }
  1749. ///<summary>
  1750. ///保存版面信息
  1751. /// </summary>
  1752. public static ServiceResultEntity AddLayoutInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  1753. {
  1754. IDBTransaction conn = null;
  1755. try
  1756. {
  1757. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  1758. ServiceResultEntity sre = new ServiceResultEntity();
  1759. DataTable dt = new DataTable();
  1760. string sqlString = string.Empty;
  1761. OracleParameter[] paras = new OracleParameter[] { };
  1762. OracleParameter[] paras1= new OracleParameter[] { };
  1763. #region 新增
  1764. if (cre.Properties["FromStatus"].ToString() == "Add")
  1765. {
  1766. //保存客户信息
  1767. sqlString = @"INSERT INTO TP_PC_LAYOUTINFORMATION(
  1768. CUSTOMERCODE,
  1769. LAYOUTNAME,
  1770. REMARKS,
  1771. ACCOUNTID,
  1772. VALUEFLAG,
  1773. CREATEUSERID,
  1774. UPDATEUSERID ,
  1775. GOODSCODE
  1776. ) VALUES(
  1777. :CUSTOMERCODE,
  1778. :LAYOUTNAME,
  1779. :REMARKS,
  1780. 1,
  1781. :VALUEFLAG,
  1782. :USERID,
  1783. :USERID,
  1784. :GOODSCODE)";
  1785. paras = new OracleParameter[] {
  1786. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1787. new OracleParameter(":LAYOUTNAME", cre.Properties["LAYOUTNAME"].ToString()) ,
  1788. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()) ,
  1789. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  1790. new OracleParameter(":USERID", sUserInfo.UserID),
  1791. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString())
  1792. };
  1793. }
  1794. #endregion
  1795. #region 编辑
  1796. if (cre.Properties["FromStatus"].ToString() == "Edit")
  1797. {
  1798. //sqlString = @"
  1799. // SELECT 1 FROM TP_PC_LAYOUTINFORMATION WHERE
  1800. // LAYOUTCODE = :LAYOUTCODE AND LAYOUTCODE != :LAYOUTCODEONE
  1801. // AND CUSTOMERCODE = :CUSTOMERCODE AND CUSTOMERCODE != :CUSTOMERCODEONE
  1802. // AND GOODSCODE = :GOODSCODE AND GOODSCODE != :GOODSCODEONE ";
  1803. //paras = new OracleParameter[] {
  1804. // new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  1805. // new OracleParameter(":LAYOUTCODEONE", cre.Properties["LAYOUTCODEONE"].ToString()),
  1806. // new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1807. // new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString()),
  1808. // new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1809. // new OracleParameter(":GOODSCODEONE", cre.Properties["GOODSCODEONE"].ToString()),
  1810. //};
  1811. //dt = new DataTable();
  1812. //dt = conn.GetSqlResultToDt(sqlString, paras);
  1813. //if (dt != null && dt.Rows.Count > 0)
  1814. //{
  1815. // //存在相同版面编码
  1816. // sre.OtherStatus = -1001;
  1817. // return sre;
  1818. //}
  1819. sqlString = @"UPDATE TP_PC_LAYOUTINFORMATION
  1820. SET
  1821. CUSTOMERCODE=:CUSTOMERCODE,
  1822. LAYOUTNAME =:LAYOUTNAME,
  1823. REMARKS = :REMARKS,
  1824. VALUEFLAG = :VALUEFLAG ,
  1825. GOODSCODE = :GOODSCODE
  1826. WHERE
  1827. LAYOUTID = :LAYOUTID";
  1828. paras = new OracleParameter[] {
  1829. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1830. new OracleParameter(":LAYOUTID",Convert.ToInt32(cre.Properties["LAYOUTID"])),
  1831. new OracleParameter(":LAYOUTNAME", cre.Properties["LAYOUTNAME"].ToString()),
  1832. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()),
  1833. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  1834. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1835. };
  1836. }
  1837. #endregion
  1838. int result = conn.ExecuteNonQuery(sqlString, paras);
  1839. if (result <= 0)
  1840. {
  1841. //未改变任何数据
  1842. sre.OtherStatus = -1003;
  1843. return sre;
  1844. }
  1845. else
  1846. {
  1847. //提交数据
  1848. sre.OtherStatus = 1;
  1849. conn.Commit();
  1850. }
  1851. return sre;
  1852. }
  1853. catch (Exception ex)
  1854. {
  1855. throw ex;
  1856. }
  1857. finally
  1858. {
  1859. if (conn != null &&
  1860. conn.ConnState == ConnectionState.Open)
  1861. {
  1862. conn.Disconnect();
  1863. }
  1864. }
  1865. }
  1866. #endregion
  1867. #region 订单信息
  1868. public static ServiceResultEntity GetOrder(SUserInfo sUserInfo, ClientRequestEntity cre)
  1869. {
  1870. IDBConnection conn = null;
  1871. try
  1872. {
  1873. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1874. string sqlString = @"SELECT
  1875. ord.ORDERSCODE,
  1876. ord.ORDERSNAME,
  1877. '' AS GOODSCODE,
  1878. ord.NUMBERS,
  1879. CASE
  1880. WHEN ord.VALUEFLAG = 1 THEN
  1881. '是' ELSE '否'
  1882. END AS VALUEFLAG
  1883. FROM
  1884. TP_PC_ORDERINFORMATION ord
  1885. WHERE
  1886. 1 = 1";
  1887. if (!string.IsNullOrEmpty(cre.Properties["ORDERSCODE"].ToString()))
  1888. {
  1889. sqlString += " AND ORDERSCODE like :ORDERSCODE";
  1890. }
  1891. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1892. {
  1893. sqlString += " AND GOODSCODE like :GOODSCODE";
  1894. }
  1895. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  1896. {
  1897. sqlString += " AND VALUEFLAG = :VALUEFLAG";
  1898. }
  1899. OracleParameter[] paras = new OracleParameter[]{
  1900. new OracleParameter(":ORDERSCODE",'%'+cre.Properties["ORDERSCODE"].ToString()+'%'),
  1901. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  1902. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  1903. };
  1904. ServiceResultEntity sre = new ServiceResultEntity();
  1905. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1906. return sre;
  1907. }
  1908. catch (Exception ex)
  1909. {
  1910. throw ex;
  1911. }
  1912. finally
  1913. {
  1914. if (conn != null &&
  1915. conn.ConnState == ConnectionState.Open)
  1916. {
  1917. conn.Close();
  1918. }
  1919. }
  1920. }
  1921. //订单详细信息
  1922. public static ServiceResultEntity GetOrderDetails(SUserInfo sUserInfo, ClientRequestEntity cre)
  1923. {
  1924. IDBConnection conn = null;
  1925. try
  1926. {
  1927. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1928. string sqlString = @"SELECT
  1929. DISTINCT
  1930. ord.ORDERSDETAILID,
  1931. ord.ORDERSID,
  1932. ORD.ORDERSCODE,
  1933. cus.CUSTOMERCODE,
  1934. cus.CUSTOMERNAME,
  1935. lay.LAYOUTCODE,
  1936. lay.LAYOUTNAME,
  1937. ord.GOODSCODE,
  1938. gd.GOODSNAME,
  1939. ord.BARCODE,
  1940. ord.ENTRUCKINGCODE,
  1941. ord.NUMBERS,
  1942. ord.CREATETIME,
  1943. case when ord.VALUEFLAG=1 then '是' else '否' end VALUEFLAG
  1944. FROM
  1945. TP_PC_ORDERINFORMATIONDETAILS ord
  1946. inner JOIN TP_PC_CUSTOMERINFORMATION cus on cus.CUSTOMERCODE=ord.CUSTOMERCODE
  1947. inner JOIN TP_PC_LAYOUTINFORMATION lay on lay.LAYOUTCODE=ord.LAYOUTCODE
  1948. LEFT JOIN TP_MST_GOODS gd on gd.GOODSCODE=ord.GOODSCODE
  1949. WHERE 1=1 ";
  1950. if (!string.IsNullOrEmpty(cre.Properties["ORDERCODE"].ToString()))
  1951. {
  1952. string order = "'%" + cre.Properties["ORDERCODE"].ToString() + "%'";
  1953. sqlString += " AND ord.ORDERSCODE like " + order;
  1954. }
  1955. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1956. {
  1957. string goodscode = "'%" + cre.Properties["GOODSCODE"].ToString() + "%'";
  1958. sqlString += " AND ord.GOODSCODE like " + goodscode;
  1959. }
  1960. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  1961. {
  1962. sqlString += " AND ord.VALUEFLAG =" + cre.Properties["VALUEFLAG"].ToString();
  1963. }
  1964. if (!string.IsNullOrEmpty(cre.Properties["ORDERSDETAILID"].ToString()))
  1965. {
  1966. sqlString += " AND ord.ORDERSDETAILID = " + cre.Properties["ORDERSDETAILID"].ToString();
  1967. }
  1968. if (!string.IsNullOrEmpty(cre.Properties["ENTRUCKINGCODE"].ToString()))
  1969. {
  1970. sqlString += " AND ord.ENTRUCKINGCODE = '" + cre.Properties["ENTRUCKINGCODE"].ToString() + "'";
  1971. }
  1972. if (!string.IsNullOrEmpty(cre.Properties["CUSTOMERNAME"].ToString()))
  1973. {
  1974. string customername = "'%" + cre.Properties["CUSTOMERNAME"].ToString() + "%'";
  1975. sqlString += " AND cus.CUSTOMERNAME LIKE " + customername;
  1976. }
  1977. if (!string.IsNullOrEmpty(cre.Properties["LAYOUTNAME"].ToString()))
  1978. {
  1979. string layoutname = "'%" + cre.Properties["LAYOUTNAME"].ToString() + "%'";
  1980. sqlString += " AND lay.LAYOUTNAME LIKE " + layoutname;
  1981. }
  1982. if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
  1983. {
  1984. string GOODSNAME = "'%" + cre.Properties["GOODSNAME"].ToString() + "%'";
  1985. sqlString += " AND gd.GOODSNAME LIKE " + GOODSNAME;
  1986. }
  1987. if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStart"].ToString()))
  1988. {
  1989. sqlString += " AND ord.CREATETIME >= to_date('" + cre.Properties["CreateTimeStart"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
  1990. }
  1991. if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStartEnd"].ToString()))
  1992. {
  1993. sqlString += " AND ord.CREATETIME <= to_date('" + cre.Properties["CreateTimeStartEnd"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
  1994. }
  1995. sqlString += " ORDER BY ord.CREATETIME DESC";
  1996. ServiceResultEntity sre = new ServiceResultEntity();
  1997. sre.Data = conn.GetSqlResultToDs(sqlString, null);
  1998. return sre;
  1999. }
  2000. catch (Exception ex)
  2001. {
  2002. throw ex;
  2003. }
  2004. finally
  2005. {
  2006. if (conn != null &&
  2007. conn.ConnState == ConnectionState.Open)
  2008. {
  2009. conn.Close();
  2010. }
  2011. }
  2012. }
  2013. //订单最新信息汇总
  2014. public static ServiceResultEntity GetOrderNumber(SUserInfo sUserInfo, ClientRequestEntity cre)
  2015. {
  2016. IDBConnection conn = null;
  2017. try
  2018. {
  2019. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2020. string sqlString = @"SELECT
  2021. GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) GID,
  2022. ORDERSDETAILID,
  2023. ORDERSID,
  2024. CASE WHEN GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) =15 THEN '合计'
  2025. WHEN GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) =63 THEN '总计'
  2026. WHEN GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) =0 AND CREATETIME is null THEN '小计' ELSE TO_CHAR(ORDERSCODE) END AS ORDERSCODE ,
  2027. CUSTOMERCODE,
  2028. CUSTOMERNAME,
  2029. LAYOUTCODE,
  2030. LAYOUTNAME,
  2031. GOODSCODE,
  2032. GOODSNAME,
  2033. ENTRUCKINGCODE,
  2034. SUM(NUMBERS) AS NUMBERS,
  2035. CREATETIME,
  2036. VALUEFLAG
  2037. FROM(
  2038. SELECT
  2039. DISTINCT
  2040. ord.ORDERSDETAILID,
  2041. ord.ORDERSID,
  2042. ORD.ORDERSCODE,
  2043. cus.CUSTOMERCODE,
  2044. cus.CUSTOMERNAME,
  2045. lay.LAYOUTCODE,
  2046. lay.LAYOUTNAME,
  2047. ord.GOODSCODE,
  2048. gd.GOODSNAME,
  2049. ord.BARCODE,
  2050. ord.ENTRUCKINGCODE,
  2051. ord.NUMBERS,
  2052. ord.CREATETIME,
  2053. row_number() over(partition by ord.ENTRUCKINGCODE order by ord.CREATETIME desc) rn ,
  2054. case when ord.VALUEFLAG=1 then '是' else '否' end VALUEFLAG
  2055. FROM
  2056. TP_PC_ORDERINFORMATIONDETAILS ord
  2057. inner JOIN TP_PC_CUSTOMERINFORMATION cus on cus.CUSTOMERCODE=ord.CUSTOMERCODE
  2058. inner JOIN TP_PC_LAYOUTINFORMATION lay on lay.LAYOUTCODE=ord.LAYOUTCODE
  2059. LEFT JOIN TP_MST_GOODS gd on gd.GOODSCODE=ord.GOODSCODE
  2060. WHERE 1=1 ";
  2061. if (!string.IsNullOrEmpty(cre.Properties["ORDERCODE"].ToString()))
  2062. {
  2063. string order = "'%" + cre.Properties["ORDERCODE"].ToString() + "%'";
  2064. sqlString += " AND ord.ORDERSCODE like " + order;
  2065. }
  2066. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  2067. {
  2068. string goodscode = "'%" + cre.Properties["GOODSCODE"].ToString() + "%'";
  2069. sqlString += " AND ord.GOODSCODE like " + goodscode;
  2070. }
  2071. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  2072. {
  2073. sqlString += " AND ord.VALUEFLAG =" + cre.Properties["VALUEFLAG"].ToString();
  2074. }
  2075. if (!string.IsNullOrEmpty(cre.Properties["ORDERSDETAILID"].ToString()))
  2076. {
  2077. sqlString += " AND ord.ORDERSDETAILID = " + cre.Properties["ORDERSDETAILID"].ToString();
  2078. }
  2079. if (!string.IsNullOrEmpty(cre.Properties["ENTRUCKINGCODE"].ToString()))
  2080. {
  2081. sqlString += " AND ord.ENTRUCKINGCODE = '" + cre.Properties["ENTRUCKINGCODE"].ToString() + "'";
  2082. }
  2083. if (!string.IsNullOrEmpty(cre.Properties["CUSTOMERNAME"].ToString()))
  2084. {
  2085. string customername = "'%" + cre.Properties["CUSTOMERNAME"].ToString() + "%'";
  2086. sqlString += " AND cus.CUSTOMERNAME LIKE " + customername;
  2087. }
  2088. if (!string.IsNullOrEmpty(cre.Properties["LAYOUTNAME"].ToString()))
  2089. {
  2090. string layoutname = "'%" + cre.Properties["LAYOUTNAME"].ToString() + "%'";
  2091. sqlString += " AND lay.LAYOUTNAME LIKE " + layoutname;
  2092. }
  2093. if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
  2094. {
  2095. string GOODSNAME = "'%" + cre.Properties["GOODSNAME"].ToString() + "%'";
  2096. sqlString += " AND gd.GOODSNAME LIKE " + GOODSNAME;
  2097. }
  2098. if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStart"].ToString()))
  2099. {
  2100. sqlString += " AND ord.CREATETIME >= to_date('" + cre.Properties["CreateTimeStart"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
  2101. }
  2102. if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStartEnd"].ToString()))
  2103. {
  2104. sqlString += " AND ord.CREATETIME <= to_date('" + cre.Properties["CreateTimeStartEnd"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
  2105. }
  2106. sqlString += @" )
  2107. WHERE rn = 1
  2108. GROUP BY GROUPING SETS((
  2109. ORDERSDETAILID,
  2110. ORDERSID,
  2111. ORDERSCODE,
  2112. CUSTOMERCODE,
  2113. CUSTOMERNAME,
  2114. LAYOUTCODE,
  2115. LAYOUTNAME,
  2116. GOODSCODE,
  2117. GOODSNAME,
  2118. ENTRUCKINGCODE,
  2119. CREATETIME,
  2120. VALUEFLAG
  2121. ), (CUSTOMERCODE, CUSTOMERNAME, LAYOUTCODE, LAYOUTNAME, GOODSCODE, GOODSNAME), (CUSTOMERCODE, CUSTOMERNAME), ())";
  2122. ServiceResultEntity sre = new ServiceResultEntity();
  2123. sre.Data = conn.GetSqlResultToDs(sqlString, null);
  2124. return sre;
  2125. }
  2126. catch (Exception ex)
  2127. {
  2128. throw ex;
  2129. }
  2130. finally
  2131. {
  2132. if (conn != null &&
  2133. conn.ConnState == ConnectionState.Open)
  2134. {
  2135. conn.Close();
  2136. }
  2137. }
  2138. }
  2139. /// <summary>
  2140. /// /保存订单信息
  2141. /// </summary>
  2142. public static ServiceResultEntity AddOrderInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  2143. {
  2144. IDBTransaction conn = null;
  2145. try
  2146. {
  2147. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2148. ServiceResultEntity sre = new ServiceResultEntity();
  2149. DataTable dt = new DataTable();
  2150. string sqlString = string.Empty;
  2151. OracleParameter[] paras = new OracleParameter[] { };
  2152. //如果版面信息是新建的情况下,是否存在相同版面编码
  2153. if (cre.Properties["FromStatus"].ToString() == "Add")
  2154. {
  2155. sqlString = @"
  2156. SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE";
  2157. paras = new OracleParameter[] { new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()), };
  2158. dt = new DataTable();
  2159. dt = conn.GetSqlResultToDt(sqlString, paras);
  2160. if (dt != null && dt.Rows.Count > 0)
  2161. {
  2162. //存在相同版面编码
  2163. sre.OtherStatus = -1001;
  2164. return sre;
  2165. }
  2166. }
  2167. #region 新增
  2168. if (cre.Properties["FromStatus"].ToString() == "Add")
  2169. {
  2170. //保存客户信息
  2171. sqlString = @"INSERT INTO TP_PC_ORDERINFORMATION(
  2172. CUSTOMERCODE,
  2173. LAYOUTCODE,
  2174. ORDERSCODE,
  2175. ORDERSNAME,
  2176. NUMBERS,
  2177. VALUEFLAG,
  2178. ACCOUNTID,
  2179. CREATEUSERID,
  2180. UPDATEUSERID
  2181. ) VALUES(
  2182. :CUSTOMERCODE,
  2183. :LAYOUTCODE,
  2184. :ORDERSCODE,
  2185. :ORDERSNAME,
  2186. :NUMBERS,
  2187. :VALUEFLAG,
  2188. 1,
  2189. :USERID,
  2190. :USERID)";
  2191. paras = new OracleParameter[] {
  2192. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  2193. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  2194. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2195. new OracleParameter(":ORDERSNAME", cre.Properties["ORDERSNAME"].ToString()) ,
  2196. new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
  2197. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  2198. new OracleParameter(":USERID", sUserInfo.UserID)
  2199. };
  2200. }
  2201. #endregion
  2202. #region 编辑
  2203. if (cre.Properties["FromStatus"].ToString() == "Edit")
  2204. {
  2205. if (cre.Properties["ORDERS"].ToString() == "1")
  2206. {
  2207. sqlString = @"
  2208. SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE AND ORDERSCODE != :ORDERCODEONE";
  2209. paras = new OracleParameter[] {
  2210. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()),
  2211. new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()),
  2212. };
  2213. dt = new DataTable();
  2214. dt = conn.GetSqlResultToDt(sqlString, paras);
  2215. if (dt != null && dt.Rows.Count > 0)
  2216. {
  2217. //存在相同版面编码
  2218. sre.OtherStatus = -1001;
  2219. return sre;
  2220. }
  2221. sqlString = @"UPDATE TP_PC_ORDERINFORMATION
  2222. SET
  2223. ORDERSCODE =:ORDERSCODE,
  2224. NUMBERS = :NUMBERS,
  2225. VALUEFLAG = :VALUEFALG
  2226. WHERE
  2227. ORDERSCODE = :ORDERCODEONE";
  2228. paras = new OracleParameter[] {
  2229. new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()) ,
  2230. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2231. new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
  2232. new OracleParameter(":VALUEFALG", cre.Properties["VALUEFALG"].ToString()) ,
  2233. };
  2234. }
  2235. else if (cre.Properties["ORDERS"].ToString() == "2")
  2236. {
  2237. sqlString = @"UPDATE TP_PC_ORDERINFORMATIONDETAILS
  2238. SET
  2239. CUSTOMERCODE=:CUSTOMERCODE,
  2240. LAYOUTCODE = :LAYOUTCODE,
  2241. ORDERSCODE = :ORDERSCODE,
  2242. VALUEFLAG = :VALUEFLAG
  2243. WHERE
  2244. ORDERSDETAILID = :ORDERSDETAILID";
  2245. paras = new OracleParameter[] {
  2246. new OracleParameter(":ORDERSDETAILID", Convert.ToInt32( cre.Properties["ORDERSDETAILID"])) ,
  2247. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  2248. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  2249. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()) ,
  2250. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2251. };
  2252. }
  2253. }
  2254. #endregion
  2255. int result = conn.ExecuteNonQuery(sqlString, paras);
  2256. if (result <= 0)
  2257. {
  2258. //未改变任何数据
  2259. sre.OtherStatus = -1003;
  2260. return sre;
  2261. }
  2262. else
  2263. {
  2264. //提交数据
  2265. sre.OtherStatus = 1;
  2266. conn.Commit();
  2267. }
  2268. return sre;
  2269. }
  2270. catch (Exception ex)
  2271. {
  2272. throw ex;
  2273. }
  2274. finally
  2275. {
  2276. if (conn != null &&
  2277. conn.ConnState == ConnectionState.Open)
  2278. {
  2279. conn.Disconnect();
  2280. }
  2281. }
  2282. }
  2283. //订单详细信息
  2284. public static ServiceResultEntity EmpowermentFlag(SUserInfo sUserInfo, ClientRequestEntity cre)
  2285. {
  2286. IDBConnection conn = null;
  2287. try
  2288. {
  2289. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2290. string sqlString = @"SELECT EMPOWERMENTFLAG,SHOWINFO FROM TP_SYS_EMPOWERMENTFLAG ";
  2291. ServiceResultEntity sre = new ServiceResultEntity();
  2292. sre.Data = conn.GetSqlResultToDs(sqlString);
  2293. return sre;
  2294. }
  2295. catch (Exception ex)
  2296. {
  2297. throw ex;
  2298. }
  2299. finally
  2300. {
  2301. if (conn != null &&
  2302. conn.ConnState == ConnectionState.Open)
  2303. {
  2304. conn.Close();
  2305. }
  2306. }
  2307. }
  2308. #endregion
  2309. #region 产品商标
  2310. public static ServiceResultEntity GetGoodsLogos(SUserInfo sUserInfo, ClientRequestEntity cre)
  2311. {
  2312. IDBConnection conn = null;
  2313. try
  2314. {
  2315. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2316. string sqlString = @"SELECT
  2317. GL.GOODSCODE,
  2318. GD.GOODSNAME,
  2319. GL.LOGONAME,
  2320. GL.LOGOCODE,
  2321. CASE WHEN GL.VALUEFLAG=1 THEN '是' ELSE '否' END VALUEFLAG,
  2322. GL.CREATETIME
  2323. FROM TP_MST_GOODSLOGO GL
  2324. LEFT JOIN TP_MST_GOODS GD ON GL.GOODSCODE=GD.GOODSCODE
  2325. WHERE 1=1";
  2326. if (!string.IsNullOrEmpty(cre.Properties["LogoCode"].ToString()))
  2327. {
  2328. sqlString += " AND GL.LogoCode=:LogoCode";
  2329. }
  2330. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  2331. {
  2332. sqlString += " AND GL.GOODSCODE like :GOODSCODE";
  2333. }
  2334. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  2335. {
  2336. sqlString += " AND GL.VALUEFLAG = :VALUEFLAG";
  2337. }
  2338. OracleParameter[] paras = new OracleParameter[]{
  2339. new OracleParameter(":LogoCode",cre.Properties["LogoCode"].ToString()),
  2340. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  2341. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  2342. };
  2343. ServiceResultEntity sre = new ServiceResultEntity();
  2344. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  2345. return sre;
  2346. }
  2347. catch (Exception ex)
  2348. {
  2349. throw ex;
  2350. }
  2351. finally
  2352. {
  2353. if (conn != null &&
  2354. conn.ConnState == ConnectionState.Open)
  2355. {
  2356. conn.Close();
  2357. }
  2358. }
  2359. }
  2360. public static ServiceResultEntity GetLogos(SUserInfo sUserInfo, ClientRequestEntity cre)
  2361. {
  2362. IDBConnection conn = null;
  2363. try
  2364. {
  2365. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2366. string sqlString = @"SELECT
  2367. LOGOCODE,
  2368. LOGONAME
  2369. FROM TP_MST_LOGO
  2370. WHERE VALUEFLAG=1
  2371. ORDER BY DECODE(LOGOCODE, :LOGOCODE, 1)";
  2372. OracleParameter[] paras = new OracleParameter[]{
  2373. new OracleParameter(":LOGOCODE",cre.Properties["LOGOCODE"].ToString())
  2374. };
  2375. ServiceResultEntity sre = new ServiceResultEntity();
  2376. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  2377. return sre;
  2378. }
  2379. catch (Exception ex)
  2380. {
  2381. throw ex;
  2382. }
  2383. finally
  2384. {
  2385. if (conn != null &&
  2386. conn.ConnState == ConnectionState.Open)
  2387. {
  2388. conn.Close();
  2389. }
  2390. }
  2391. }
  2392. public static ServiceResultEntity AddGoodsLogoInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  2393. {
  2394. IDBTransaction conn = null;
  2395. try
  2396. {
  2397. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2398. ServiceResultEntity sre = new ServiceResultEntity();
  2399. DataTable dt = new DataTable();
  2400. string sqlString = string.Empty;
  2401. OracleParameter[] paras = new OracleParameter[] { };
  2402. //如果版面信息是新建的情况下,是否存在相同版面编码
  2403. if (cre.Properties["VALUEFLAG"].ToString() == "1")
  2404. {
  2405. sqlString = @"SELECT 1 FROM TP_MST_GOODSLOGO WHERE GOODSCODE=:GOODSCODE AND LOGOCODE=:LOGOCODE AND LOGONAME=:LOGONAME AND VALUEFLAG=1";
  2406. paras = new OracleParameter[] { new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2407. new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
  2408. new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
  2409. };
  2410. dt = new DataTable();
  2411. dt = conn.GetSqlResultToDt(sqlString, paras);
  2412. if (dt != null && dt.Rows.Count > 0)
  2413. {
  2414. //存在相同版面编码
  2415. sre.OtherStatus = -1001;
  2416. return sre;
  2417. }
  2418. }
  2419. paras = null;
  2420. #region 新增
  2421. if (cre.Properties["FromStatus"].ToString() == "Add")
  2422. {
  2423. //保存客户信息
  2424. sqlString = @"INSERT INTO TP_MST_GOODSLOGO(
  2425. GOODSCODE,
  2426. GOODSNAME,
  2427. LOGOID,
  2428. LOGOCODE,
  2429. LOGONAME,
  2430. VALUEFLAG,
  2431. CREATEUSERID,
  2432. UPDATEUSERID)
  2433. VALUES
  2434. (
  2435. :GOODSCODE,
  2436. (SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE=:GOODSCODE),
  2437. (SELECT LOGOID FROM TP_MST_LOGO WHERE LOGOCODE=:LOGOCODE),
  2438. :LOGOCODE,
  2439. :LOGONAME,
  2440. :VALUEFLAG,
  2441. :USERID,
  2442. :USERID
  2443. )";
  2444. paras = new OracleParameter[] {
  2445. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2446. new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
  2447. new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
  2448. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2449. new OracleParameter(":USERID", sUserInfo.UserID.ToString()),
  2450. };
  2451. }
  2452. #endregion
  2453. #region 编辑
  2454. if (cre.Properties["FromStatus"].ToString() == "Edit")
  2455. {
  2456. sqlString = @" UPDATE TP_MST_GOODSLOGO set GOODSCODE=:GOODSCODE,
  2457. GOODSNAME=( SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE =:GOODSCODE AND ROWNUM=1),
  2458. LOGOID=( SELECT LOGOID FROM TP_MST_LOGO WHERE LOGOCODE =:LOGOCODE ),
  2459. LOGOCODE=:LOGOCODE ,
  2460. LOGONAME=:LOGONAME,
  2461. VALUEFLAG=:VALUEFLAG,
  2462. UPDATEUSERID=:USERID
  2463. WHERE
  2464. GOODSCODE=:OLDGOODSCODE
  2465. AND LOGOCODE=:OLDLOGOCODE
  2466. ";
  2467. paras = new OracleParameter[] {
  2468. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2469. new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
  2470. new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
  2471. new OracleParameter(":OLDGOODSCODE", cre.Properties["OLDGOODSCODE"].ToString()),
  2472. new OracleParameter(":OLDLOGOCODE", cre.Properties["OLDLOGOCODE"].ToString()),
  2473. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2474. new OracleParameter(":USERID", sUserInfo.UserID)
  2475. };
  2476. }
  2477. #endregion
  2478. int result = conn.ExecuteNonQuery(sqlString, paras);
  2479. if (result <= 0)
  2480. {
  2481. //未改变任何数据
  2482. sre.OtherStatus = -1003;
  2483. return sre;
  2484. }
  2485. else
  2486. {
  2487. //提交数据
  2488. sre.OtherStatus = 1;
  2489. conn.Commit();
  2490. }
  2491. return sre;
  2492. }
  2493. catch (Exception ex)
  2494. {
  2495. throw ex;
  2496. }
  2497. finally
  2498. {
  2499. if (conn != null &&
  2500. conn.ConnState == ConnectionState.Open)
  2501. {
  2502. conn.Disconnect();
  2503. }
  2504. }
  2505. }
  2506. #endregion
  2507. #region 产品釉料
  2508. public static ServiceResultEntity GetGoodsGlaze(SUserInfo sUserInfo, ClientRequestEntity cre)
  2509. {
  2510. IDBConnection conn = null;
  2511. try
  2512. {
  2513. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2514. string sqlString = @"SELECT
  2515. GL.GOODSCODE,
  2516. GD.GOODSNAME,
  2517. GL.GLAZETYPEID,
  2518. GL.GLAZE,
  2519. CASE WHEN GL.VALUEFLAG=1 THEN '是' ELSE '否' END VALUEFLAG,
  2520. GL.CREATETIME
  2521. FROM TP_MST_GOODSGLAZE GL
  2522. LEFT JOIN TP_MST_GOODS GD ON GL.GOODSCODE=GD.GOODSCODE
  2523. WHERE 1=1";
  2524. if (!string.IsNullOrEmpty(cre.Properties["GLAZETYPEID"].ToString()) && cre.Properties["GLAZETYPEID"].ToString()!="0")
  2525. {
  2526. sqlString += " AND GL.GLAZETYPEID=:GLAZETYPEID";
  2527. }
  2528. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  2529. {
  2530. sqlString += " AND GL.GOODSCODE like :GOODSCODE";
  2531. }
  2532. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  2533. {
  2534. sqlString += " AND GL.VALUEFLAG = :VALUEFLAG";
  2535. }
  2536. OracleParameter[] paras = new OracleParameter[]{
  2537. new OracleParameter(":GLAZETYPEID",cre.Properties["GLAZETYPEID"].ToString()),
  2538. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  2539. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  2540. };
  2541. ServiceResultEntity sre = new ServiceResultEntity();
  2542. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  2543. return sre;
  2544. }
  2545. catch (Exception ex)
  2546. {
  2547. throw ex;
  2548. }
  2549. finally
  2550. {
  2551. if (conn != null &&
  2552. conn.ConnState == ConnectionState.Open)
  2553. {
  2554. conn.Close();
  2555. }
  2556. }
  2557. }
  2558. public static ServiceResultEntity GetGlaze(SUserInfo sUserInfo, ClientRequestEntity cre)
  2559. {
  2560. IDBConnection conn = null;
  2561. try
  2562. {
  2563. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2564. string sqlString = @"SELECT
  2565. DICTIONARYID AS GLAZETYPEID,
  2566. DICTIONARYVALUE AS GLAZE
  2567. FROM TP_MST_DATADICTIONARY
  2568. WHERE DICTIONARYTYPE='TPC002'
  2569. ";
  2570. if (cre.Properties["GLAZE"].ToString() != null && cre.Properties["GLAZE"].ToString() != "" && cre.Properties["GLAZE"].ToString()!="0")
  2571. {
  2572. sqlString += "ORDER BY DECODE(DICTIONARYID, '" + cre.Properties["GLAZE"].ToString() + "', 1)";
  2573. }
  2574. ServiceResultEntity sre = new ServiceResultEntity();
  2575. sre.Data = conn.GetSqlResultToDs(sqlString, null);
  2576. return sre;
  2577. }
  2578. catch (Exception ex)
  2579. {
  2580. throw ex;
  2581. }
  2582. finally
  2583. {
  2584. if (conn != null &&
  2585. conn.ConnState == ConnectionState.Open)
  2586. {
  2587. conn.Close();
  2588. }
  2589. }
  2590. }
  2591. public static ServiceResultEntity AddGoodsGlazeInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  2592. {
  2593. IDBTransaction conn = null;
  2594. try
  2595. {
  2596. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2597. ServiceResultEntity sre = new ServiceResultEntity();
  2598. DataTable dt = new DataTable();
  2599. string sqlString = string.Empty;
  2600. OracleParameter[] paras = new OracleParameter[] { };
  2601. //如果版面信息是新建的情况下,是否存在相同版面编码
  2602. if (cre.Properties["VALUEFLAG"].ToString() == "1")
  2603. {
  2604. sqlString = @"SELECT 1 FROM TP_MST_GOODSGLAZE WHERE GOODSCODE=:GOODSCODE AND GLAZETYPEID=:GLAZETYPEID AND GLAZE=:GLAZE AND VALUEFLAG=1";
  2605. paras = new OracleParameter[] { new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2606. new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
  2607. new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
  2608. };
  2609. dt = new DataTable();
  2610. dt = conn.GetSqlResultToDt(sqlString, paras);
  2611. if (dt != null && dt.Rows.Count > 0)
  2612. {
  2613. //存在相同版面编码
  2614. sre.OtherStatus = -1001;
  2615. return sre;
  2616. }
  2617. }
  2618. paras = null;
  2619. #region 新增
  2620. if (cre.Properties["FromStatus"].ToString() == "Add")
  2621. {
  2622. //保存客户信息
  2623. sqlString = @"INSERT INTO TP_MST_GOODSGLAZE(
  2624. GOODSCODE,
  2625. GOODSNAME,
  2626. GLAZETYPEID,
  2627. GLAZE,
  2628. VALUEFLAG,
  2629. CREATEUSERID,
  2630. UPDATEUSERID)
  2631. VALUES
  2632. (
  2633. :GOODSCODE,
  2634. (SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE=:GOODSCODE),
  2635. :GLAZETYPEID,
  2636. :GLAZE,
  2637. :VALUEFLAG,
  2638. :USERID,
  2639. :USERID
  2640. )";
  2641. paras = new OracleParameter[] {
  2642. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2643. new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
  2644. new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
  2645. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2646. new OracleParameter(":USERID", sUserInfo.UserID.ToString()),
  2647. };
  2648. }
  2649. #endregion
  2650. #region 编辑
  2651. if (cre.Properties["FromStatus"].ToString() == "Edit")
  2652. {
  2653. sqlString = @" UPDATE TP_MST_GOODSGLAZE set GOODSCODE=:GOODSCODE,
  2654. GOODSNAME=( SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE =:GOODSCODE AND ROWNUM=1),
  2655. GLAZETYPEID=:GLAZETYPEID ,
  2656. GLAZE=:GLAZE,
  2657. VALUEFLAG=:VALUEFLAG,
  2658. UPDATEUSERID=:USERID
  2659. WHERE
  2660. GOODSCODE=:OLDGOODSCODE
  2661. AND GLAZETYPEID=:OLDGLAZETYPEID
  2662. ";
  2663. paras = new OracleParameter[] {
  2664. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2665. new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
  2666. new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
  2667. new OracleParameter(":OLDGOODSCODE", cre.Properties["OLDGOODSCODE"].ToString()),
  2668. new OracleParameter(":OLDGLAZETYPEID", cre.Properties["OLDGLAZETYPEID"].ToString()),
  2669. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2670. new OracleParameter(":USERID", sUserInfo.UserID)
  2671. };
  2672. }
  2673. #endregion
  2674. int result = conn.ExecuteNonQuery(sqlString, paras);
  2675. if (result <= 0)
  2676. {
  2677. //未改变任何数据
  2678. sre.OtherStatus = -1003;
  2679. return sre;
  2680. }
  2681. else
  2682. {
  2683. //提交数据
  2684. sre.OtherStatus = 1;
  2685. conn.Commit();
  2686. }
  2687. return sre;
  2688. }
  2689. catch (Exception ex)
  2690. {
  2691. throw ex;
  2692. }
  2693. finally
  2694. {
  2695. if (conn != null &&
  2696. conn.ConnState == ConnectionState.Open)
  2697. {
  2698. conn.Disconnect();
  2699. }
  2700. }
  2701. }
  2702. #endregion
  2703. }
  2704. }