Form2.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. using JLHHJSvr.Com.Model;
  2. using LJLib.Tools.File;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data.SqlClient;
  6. using System.Linq;
  7. using System.Windows.Forms;
  8. using JLHHJSvr.Com;
  9. using JLHHJSvr.LJFramework.Tools;
  10. using LJLib.DAL.SQL;
  11. using Newtonsoft.Json.Linq;
  12. using DirectService.Tools;
  13. using LJLib.Tools.DEncrypt;
  14. using JLHHJSvr.BLL;
  15. using JLHHJSvr.Helper;
  16. namespace JLHHJSvr
  17. {
  18. public partial class Form2 : Form
  19. {
  20. public Form2()
  21. {
  22. InitializeComponent();
  23. }
  24. private void button1_Click(object sender, EventArgs e)
  25. {
  26. if (string.IsNullOrEmpty(textBox1.Text))
  27. {
  28. MessageBox.Show("请输入内容");
  29. return;
  30. }
  31. try
  32. {
  33. XmlConfig xmlconfig = new XmlConfig();
  34. string connectionString = xmlconfig.GetXmlFileValue(GlobalVar.XmlFile, string.Empty, "ConnectionString", string.Empty);
  35. connectionString = DESEncrypt.Decrypt(connectionString, "4A61A8B51C3E42BCAE991F6C913A6A33");
  36. DbSqlHelper.Add(new SqlServerEngine());
  37. using (var con = new SqlConnection(connectionString))
  38. using (var cmd = con.CreateCommand())
  39. {
  40. con.Open();
  41. var url = textBox4.Text;
  42. var loginReq = new LoginRequest()
  43. {
  44. usercode = textBox2.Text,
  45. psw = textBox3.Text,
  46. };
  47. var loginRsp = LJHttpUtil.PostRequest(url + loginReq.GetApiName(), JObject.FromObject(loginReq))
  48. .ToObject<LoginResponse>();
  49. if (!string.IsNullOrEmpty(loginRsp.ErrMsg))
  50. {
  51. MessageBox.Show("登录失败:" + loginRsp.ErrMsg);
  52. return;
  53. }
  54. var token = loginRsp.token;
  55. var list = new List<u_mattress>();
  56. var textBox1Str = textBox1.Text;
  57. string whereStr;
  58. if (textBox1Str.StartsWith("where ", StringComparison.CurrentCultureIgnoreCase))
  59. {
  60. whereStr = textBox1Str.Substring(6);
  61. }
  62. else
  63. {
  64. var textStr = textBox1Str.Replace(",", ",").Split(',');
  65. whereStr = $"mattresscode IN {ListEx.getString(textStr)}";
  66. }
  67. DbSqlHelper.Select(cmd, list, whereStr, "mattressid,deptid,mattresstypeid,mattress_width,mattress_length,mattress_height,packtype,packqty,woodpallettype,total_hr_cost,total_material_cost,fees_dscrp,total_fees_cost,total_cost,taxrate,taxes,commissionrate,commission,fob,profitrate,createtime,createby,extras_cost,dept_profitrate,moneyrate,nottax_factory_cost,nottax_dept_cost,dept_cost,foreign_cost,mattresscode,mattressname,diameter,area,cabinet_type,loading_type,hrcost,biandaicost,fob_replace_formula,hrcost_replace_formula,biandaicost_replace_formula,mattressrelcode,other_rate,gydscrp,flag,dept_profitrate_rangli,auditingrep,auditingdate,profitrate_point,if_moneyrate,discount,if_discount,erp_mtrlid,erp_configcodetype,erp_mtrlcode,erp_mtrlname,erp_mtrlmode,erp_mtrltypeid,erp_mtrltype,erp_mtrlunit,erp_mtrlengname,erp_piccode,yw_flag,yw_auditingrep,yw_auditingdate,js1_flag,js1_auditingrep,js1_auditingdate,js2_flag,js2_auditingrep,js2_auditingdate,creatmtrl_flag,creatmtrl_auditingrep,creatmtrl_auditingdate,creatmtrlqd_flag,creatmtrlqd_auditingrep,creatmtrlqd_auditingdate,if_m_chai,if_z_chai,if_d_chai,if_n_butao,if_w_butao,if_m_wbutao_way,if_db_wbutao_way,s_cover_qty,z_cover_qty,x_cover_qty,biandai_qty,s_m_cover_qty,z_m_cover_qty,x_m_cover_qty,butao_point,chaizhuang_point,if_haimian_type,haimian_point,if_zhedie_type,old_mtrlname,xd_flag,xd_auditingrep,xd_auditingdate,qr_flag,qr_auditingrep,qr_auditingdate,temp_code,erp_cb_updatetime,bcptypeid,if_bcp_type,bcp_m_id,bcp_m_name,bcp_d_id,bcp_d_name,bcp_dc_id,bcp_dc_name,bcp_xc_id,bcp_xc_name,bcp_vc_id,bcp_vc_name,bcp_cw_id,bcp_cw_name,zhizao_amt,guanli_rate,dannum_rate,cubage,foreign_cost_bz,foreign_cost_dd");
  68. var idList = list.Select(x => x.mattressid.ToString());
  69. var failIDs = new HashSet<string>(idList);
  70. var okIDs = new HashSet<string>();
  71. var MattressHelper = HelperBase.GetHelper<MattressHelper>(cmd);
  72. var BednetHelper = HelperBase.GetHelper<BedNetHelper>(cmd);
  73. var InterFaceHelper = HelperBase.GetHelper<InterfaceHelper>(cmd);
  74. var errMsg = string.Empty;
  75. foreach (var mattress in list)
  76. {
  77. if (textBox1Str.StartsWith("where ", StringComparison.CurrentCultureIgnoreCase))
  78. {
  79. errMsg = string.Empty;
  80. }
  81. var id = mattress.mattressid;
  82. var old_mattresscode = mattress.mattresscode;
  83. mattress.dannum_type = 0;
  84. try
  85. {
  86. mattress.mattressid = 0;
  87. var mxList = MattressHelper.GetMattressMxMtrl(id);
  88. if (mxList.Count > 0)
  89. {
  90. foreach(var mx in mxList)
  91. {
  92. mx.mattressid = 0;
  93. mx.mattressmxid = 0;
  94. if (mx.formulatype == 99 && mx.mtrlid > 0)
  95. {
  96. var bednetItm = BednetHelper.GetBedNet(mx.mtrlid.Value);
  97. var bednetMx = BednetHelper.GetBedNetMxList(mx.mtrlid.Value);
  98. var spring = BednetHelper.GetBedNetSpringList(mx.mtrlid.Value);
  99. bednetItm.copy_id = bednetItm.bednetid;
  100. var saveReqBednet = new SaveBedNetRequest()
  101. {
  102. bednet = bednetItm,
  103. bednetMx = bednetMx,
  104. spring = spring,
  105. token = token,
  106. };
  107. var saveRspBednet = LJHttpUtil.PostRequest(url + saveReqBednet.GetApiName(), JObject.FromObject(saveReqBednet))
  108. .ToObject<SaveBedNetResponse>();
  109. if (!string.IsNullOrEmpty(saveRspBednet.ErrMsg))
  110. {
  111. errMsg += $"{old_mattresscode}:ERRMSG Interface==> {saveRspBednet.ErrMsg}\r\n";
  112. }
  113. else
  114. {
  115. mx.mtrlid = saveRspBednet.bednet.bednetid;
  116. }
  117. }
  118. }
  119. }
  120. var saveReq = new SaveMattressRequest()
  121. {
  122. mattress = mattress,
  123. mattressMx = mxList,
  124. token = token,
  125. };
  126. var newid = 0;
  127. var saveRsp = LJHttpUtil.PostRequest(url + saveReq.GetApiName(), JObject.FromObject(saveReq))
  128. .ToObject<SaveMattressResponse>();
  129. if (!string.IsNullOrEmpty(saveRsp.ErrMsg))
  130. {
  131. errMsg += $"{old_mattresscode}:ERRMSG==> {saveRsp.ErrMsg}\r\n";
  132. }
  133. else
  134. {
  135. newid = saveRsp.mattressid;
  136. okIDs.Add(old_mattresscode);
  137. failIDs.Remove(old_mattresscode);
  138. }
  139. //var interfaceList = InterFaceHelper.GetMattressInterfaceList(id, mattress.erp_configcodetype);
  140. var interfaceList = new List<u_mattress_interface>();
  141. var selectStr = @"SELECT mattressid
  142. ,printid
  143. ,itemname
  144. ,bj_pzname
  145. ,bj_namemx
  146. ,actual_size
  147. ,sb_craft
  148. ,actual_size_sb
  149. ,erp_pzid
  150. ,ss_rate
  151. ,ls_rate
  152. ,bj_inputtype
  153. FROM u_mattress_interface";
  154. DbSqlHelper.SelectJoin(cmd, selectStr, "mattressid = @mattressid", new Dictionary<string, object>() { { "@mattressid", id } }, "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, interfaceList);
  155. var qdList = InterFaceHelper.GetMattressInterfaceQdList(id);
  156. mattress.mattressid = newid;
  157. foreach (var mx in interfaceList)
  158. {
  159. mx.mattressid = newid;
  160. }
  161. foreach (var mx in qdList)
  162. {
  163. mx.mattressid = newid;
  164. }
  165. var saveReqInterface = new SaveMattressInterfaceRequest()
  166. {
  167. mattress = mattress,
  168. interfaceList = interfaceList,
  169. qdList = qdList,
  170. token = token,
  171. };
  172. var saveRspInterface = LJHttpUtil.PostRequest(url + saveReqInterface.GetApiName(), JObject.FromObject(saveReqInterface))
  173. .ToObject<SaveMattressInterfaceResponse>();
  174. if (!string.IsNullOrEmpty(saveRspInterface.ErrMsg))
  175. {
  176. errMsg += $"{old_mattresscode}:ERRMSG Interface==> {saveRspInterface.ErrMsg}\r\n";
  177. }
  178. }
  179. catch (Exception ex)
  180. {
  181. errMsg += $"{id}: {ex}\r\n";
  182. }
  183. if (string.IsNullOrEmpty(errMsg))
  184. {
  185. cmd.CommandText = "UPDATE u_mattress SET sync_time = GETDATE() WHERE mattressid = @id";
  186. cmd.Parameters.Clear();
  187. cmd.Parameters.AddWithValue("@id", id);
  188. cmd.ExecuteNonQuery();
  189. }
  190. else
  191. {
  192. cmd.CommandText = "UPDATE u_mattress SET sync_err = @errmsg WHERE mattressid = @id";
  193. cmd.Parameters.Clear();
  194. cmd.Parameters.AddWithValue("@id", id);
  195. cmd.Parameters.AddWithValue("@errmsg", errMsg);
  196. cmd.ExecuteNonQuery();
  197. }
  198. }
  199. if (!textBox1Str.StartsWith("where ", StringComparison.CurrentCultureIgnoreCase))
  200. {
  201. textBox1.Text = $"{textBox1Str}\r\n同步失败:{string.Join(",", failIDs)}\r\n同步成功:{string.Join(",", okIDs)}\r\n{errMsg}";
  202. }
  203. }
  204. }
  205. catch (Exception ex)
  206. {
  207. MessageBox.Show(ex.ToString());
  208. }
  209. }
  210. }
  211. }