SystemModuleLogicPartial.cs 94 KB

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