using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; using JLHHJSvr.BLL; using JLHHJSvr.Com; using JLHHJSvr.Com.Model; using JLHHJSvr.Helper; using JLHHJSvr.LJException; using LJLib.DAL.SQL; using LJLib.Net.SPI.Server; namespace JLHHJSvr.Excutor { internal sealed class RefreshMattressInterfaceExcutor : ExcutorBase { protected override void ExcuteInternal(RefreshMattressInterfaceRequest request, object state, RefreshMattressInterfaceResponse rslt) { var tokendata = BllHelper.GetToken(request.token); if (tokendata == null) { rslt.ErrMsg = "会话已经中断,请重新登录"; return; } if (request.mattressid == null || request.mattressid <= 0) { rslt.ErrMsg = "床垫id有误,请检查!"; return; } using (var con = new SqlConnection(GlobalVar.ConnectionString)) using (var cmd = con.CreateCommand()) { con.Open(); var copy_list = new List(); var selectStr = @"SELECT mattressid ,printid ,itemname ,bj_pzname ,bj_namemx ,actual_size ,sb_craft ,actual_size_sb ,erp_pzid ,ss_rate ,ls_rate ,bj_inputtype FROM u_mattress_interface"; DbSqlHelper.SelectJoin(cmd, selectStr, "mattressid = @mattressid", new Dictionary() { { "@mattressid", request.mattressid } }, "printid", "mattressid,printid,itemname,bj_pzname,bj_namemx,actual_size,sb_craft,actual_size_sb,erp_pzid,ss_rate,ls_rate,bj_inputtype", 0, 0, copy_list); var interfaceHelper = HelperBase.GetHelper(cmd, new HelperBase.Context() { tokendata = tokendata }); var interfaceList = interfaceHelper.RefreshMattressInterfaceList(request.mattressid.Value); if (request.isPz != null && request.isPz == 1) { var copyDict = copy_list.Where(mx2 => mx2.erp_pzid > 0) .ToDictionary(mx2 => mx2.erp_pzid, mx2 => mx2); foreach (var mx in interfaceList) { if (mx.erp_pzid > 0 && copyDict.TryGetValue(mx.erp_pzid, out var mx2)) { if (mx.bj_inputtype != 2 || (mx.bj_inputtype == 2 && mx2.bj_inputtype == 1)) { mx.bj_namemx = mx2.bj_namemx; mx.actual_size = mx2.actual_size; mx.sb_craft = mx2.sb_craft; mx.actual_size_sb = mx2.actual_size_sb; mx.ss_rate = mx2.ss_rate; mx.ls_rate = mx2.ls_rate; if (mx.bj_inputtype == 2 && mx2.bj_inputtype == 1) { mx.bj_inputtype = 1; } } else { mx.actual_size = mx2.actual_size; mx.sb_craft = mx2.sb_craft; mx.actual_size_sb = mx2.actual_size_sb; mx.ss_rate = mx2.ss_rate; mx.ls_rate = mx2.ls_rate; } } } } rslt.mxList = interfaceList; } } } }