using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using System.Text; using JLHHJSvr.BLL; using JLHHJSvr.Com; using JLHHJSvr.Com.Model; using JLHHJSvr.LJException; using JLHHJSvr.Tools; using LJLib.DAL.SQL; using LJLib.Net.SPI.Server; namespace JLHHJSvr.Excutor { internal sealed class SaveMattressExcutor : ExcutorBase { protected override void ExcuteInternal(SaveMattressRequest request, object state, SaveMattressResponse rslt) { var tokendata = BllHelper.GetToken(request.token); if (tokendata == null) { rslt.ErrMsg = "会话已经中断,请重新登录"; return; } if (request.mattress == null) { rslt.ErrMsg = "缺少主表信息"; return; } using (var con = new SqlConnection(GlobalVar.ConnectionString)) using (var cmd = con.CreateCommand()) { con.Open(); // 初始化属性 //AutoInit.AutoInitS(cmd, request.mattress); using (cmd.Transaction = con.BeginTransaction()) { try { var dtNow = DateTime.Now; var fieldsMx = "mattressmxid,mattressid,formulaid,formula,replace_formula,if_success,priceunit,shrinkage,mtrlid,price,gram_weight,cloth_width,if_inputqty,qty ,costamt,if_areaprice,thickness,chastr,xu,useqty,useformula,replace_useformula,gydscrp"; var currentMattressID = request.mattress.mattressid; if (request.mattress.mattressid == null || request.mattress.mattressid <= 0) { //新建 request.mattress.createtime = dtNow; request.mattress.mattressid = BllHelper.GetID(cmd, "u_mattress"); currentMattressID = request.mattress.mattressid; //var fields = "deptid,deptname,profitrate,pricelistid,springtypeid,createtime,moneyrate,discount,flag,if_rate_auto,manage_amt,mtrltype"; //DbSqlHelper.Insert(cmd, "u_mattress", null, request.mattress, fields); } else { //修改 //request.mattress.moddate = dtNow; //request.mattress.modemp = tokendata.username; //var fields = "deptname,profitrate,pricelistid,springtypeid,moneyrate,discount,flag,if_rate_auto,manage_amt,mtrltype,moddate,modemp"; //DbSqlHelper.Update(cmd, "u_mattress", null, request.mattress, "deptid", fields); //var oriMx = new u_mattress_mx_mtrl { // mattressid = request.mattress.mattressid //}; //DbSqlHelper.Delete(cmd, oriMx); } if (request.mianliao != null && request.mianliao.Count > 0) { foreach (var item in request.mianliao) { item.mattressid = currentMattressID; if (item.mattressmxid <= 0) { item.mattressmxid = BllHelper.GetID(cmd, "u_mattress_mx_mtrl"); } } //DbSqlHelper.Insert(cmd, "u_mattress_mx_mtrl", null, request.mianliao, fieldsMx); } //... cmd.Transaction.Commit(); } catch (Exception e) { cmd.Transaction.Rollback(); rslt.ErrMsg = e.ToString(); } } } } } }