LMES/Program.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
LMES/XiaoZhuGe_autoGetData.Designer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
LMES/XiaoZhuGe_autoGetData.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
LMES/XiaoZhuGe_autoGetData.resx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WebAPI/Controllers/数据同步/小诸葛同步/XZG_DataSynchronizationController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
LMES/Program.cs
@@ -15,8 +15,8 @@ { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new DingDing_autoGetData()); //Application.Run(new XiaoZhuGe_autoGetData()); //Application.Run(new DingDing_autoGetData()); //æ¯è«å°ãéé-MESã忥æä»¶ //Application.Run(new XiaoZhuGe_autoGetData()); //ä¸åãå°è¯¸è-éè¶äºã忥æä»¶ DBUtility.ClsPub.AppPath = System.Environment.CurrentDirectory; @@ -25,7 +25,7 @@ DBUtility.ClsPub.SetIPAddress(); DBUtility.ClsPub.VersionNum = "12.1"; Pub_Class.ClsPub.VersionNum = "12.1";// //=================================================================== //=================================================================== try { if (DBUtility.ClsPub.CheckUpdate()) LMES/XiaoZhuGe_autoGetData.Designer.cs
@@ -29,25 +29,35 @@ /// </summary> private void InitializeComponent() { this.button1 = new System.Windows.Forms.Button(); this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(XiaoZhuGe_autoGetData)); this.timer1 = new System.Windows.Forms.Timer(this.components); this.timer2 = new System.Windows.Forms.Timer(this.components); this.notifyIcon_Icon = new System.Windows.Forms.NotifyIcon(this.components); this.SuspendLayout(); // // button1 // timer1 // this.button1.Location = new System.Drawing.Point(35, 22); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(105, 52); this.button1.TabIndex = 0; this.button1.Text = "button1"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // // timer2 // this.timer2.Enabled = true; this.timer2.Interval = 3600; this.timer2.Tick += new System.EventHandler(this.timer2_Tick); // // notifyIcon_Icon // this.notifyIcon_Icon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon_Icon.Icon"))); this.notifyIcon_Icon.Text = "LMES"; this.notifyIcon_Icon.Visible = true; this.notifyIcon_Icon.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon_Icon_MouseDoubleClick); // // XiaoZhuGe_autoGetData // this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(800, 450); this.Controls.Add(this.button1); this.Name = "XiaoZhuGe_autoGetData"; this.Text = "XiaoZhuGe_autoGetData"; this.ResumeLayout(false); @@ -56,6 +66,8 @@ #endregion private System.Windows.Forms.Button button1; private System.Windows.Forms.Timer timer1; private System.Windows.Forms.NotifyIcon notifyIcon_Icon; private System.Windows.Forms.Timer timer2; } } LMES/XiaoZhuGe_autoGetData.cs
@@ -15,15 +15,75 @@ public XiaoZhuGe_autoGetData() { InitializeComponent(); //ä¸ºç³»ç»æç徿 å¢å å³å»èå项 ContextMenu contextMenu = new ContextMenu(); MenuItem exitMenuItem = new MenuItem("éåº"); exitMenuItem.Click += ExitMenuItem_Click; contextMenu.MenuItems.Add(exitMenuItem); notifyIcon_Icon.ContextMenu = contextMenu; //页é¢åå§å set_initPage(); } private void button1_Click(object sender, EventArgs e) #region 页é¢åå§å public void set_initPage() { XZG_DataSynchronizationController t = new XZG_DataSynchronizationController(); //t.getAddMaterAsync_1(); t.icmoInfoSyncFromERPToXZG(); timer1.Enabled = true; } #endregion #region 宿¶å¨1ï¼ç¨äºéè页é¢ä¸ä»»å¡æ 徿 private void timer1_Tick(object sender, EventArgs e) { //ç³»ç»æçæ¾ç¤ºè½¯ä»¶å¾æ this.notifyIcon_Icon.Visible = true; // éè主çªä½ this.Hide(); // éè任塿 è½¯ä»¶å¾æ this.ShowInTaskbar = false; timer1.Enabled = false; } #endregion #region 宿¶å¨2ï¼ç¨äºå®æ¶åæ¥æ°æ® private void timer2_Tick(object sender, EventArgs e) { try { XZG_DataSynchronizationController t = new XZG_DataSynchronizationController(); t.dataAnsy(); }catch(Exception e1) { string sErrMsg = ""; } } #endregion #region ç³»ç»æçç¹å»å¾æ å徿 ä»åå¨ private void notifyIcon_Icon_MouseDoubleClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left && e.Clicks == 2) // åå»å·¦é®äºä»¶ç¤ºä¾ { // å¤çåå»äºä»¶ï¼ä¾å¦æ¾ç¤ºæéè主çªä½çã //this.Show(); // 示ä¾ï¼æ¾ç¤ºä¸»çªä½ï¼å¦æä¹åæ¯éèçï¼ //this.WindowState = FormWindowState.Normal; // ç¡®ä¿çªå£å¤äºæ£å¸¸ç¶æï¼éæå°åï¼ //ç³»ç»æçæ¾ç¤ºè½¯ä»¶å¾æ this.notifyIcon_Icon.Visible = true; //ä¿è¯ç³»ç»æç徿 仿§åå¨ } } #endregion #region ç³»ç»æç徿 å³å»åè½èåéåºæé®äºä»¶ private void ExitMenuItem_Click(object sender, EventArgs e) { Application.Exit(); // è¿å°å ³éæ´ä¸ªåºç¨ç¨åº } #endregion } } LMES/XiaoZhuGe_autoGetData.resx
@@ -117,4 +117,339 @@ <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>17, 17</value> </metadata> <metadata name="timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>136, 17</value> </metadata> <metadata name="notifyIcon_Icon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>246, 21</value> </metadata> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <data name="notifyIcon_Icon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAABAAUAICAAAAEAGACoDAAAVgAAABAQAAABABgAaAMAAP4MAAAwMAAAAQAgAKglAABmEAAAICAAAAEA IACoEAAADjYAABAQAAABACAAaAQAALZGAAAoAAAAIAAAAEAAAAABABgAAAAAAAAMAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXYSURH+XVYuh a5mrhaGrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIOeXIudAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA L4erAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAood1wZ2C17KS4a+G5bua4MKpy6KDrYBhknZkAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh6u5PImpAAAAAAAAAAAAAAAAAAAAAAAAAAAA wqGN98qn/+3K///x///////9///////////3//fm/8yn15Njl3NaAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAfLHGN4anAAAAAAAAAAAAAAAAAAAArJJ48ruI/+vF///z///7//7w//La/+vP/+7T//bm //TZ//rj///w//HY/b6RyI5pinhpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfLbNLoaoAAAAAAAAAAAA AAAAvpVv+8KO/9qw/+nG/+vP/+DB/9++/sKa/rKE/bWH/8ij/LuP/cKW/tCm/+K//+bJ/9Gx2Y9bj3BX AAAAAAAAAAAAAAAAAAAAAAAAAAAAhLPFKo+4AAAAAAAAAAAAt41u6K15+MWZ/9Co/8ai/sup/8Kc/76W /8Ca/sGa/rOF/7+Z+66C+Kl79at997CD+7uQ/86u77qa2JFcjHBaAAAAAAAAAAAAAAAAAAAAAAAAAAAA MJ7MdY2XAAAAj29Yz5dw4KZ99bqR+bmS/ryV/82q/82n/7qM/7iI/8GX/8qk/9Cv/7qN/q59+K1+8qp6 7qV387OL7rKM2ZtxyotYi351AAAAAAAAAAAAAAAAAAAAAAAAOaPPVYqge2xjjlo2u4lp4aaA87OL/L6V /8ie/9iz/82k/7uL/7+S/7yM/7yL/86m/9Ct/8GX/rSE+a5+8ql47ayB6auB2ZVkxoFKp3FDAAAAAAAA AAAAAAAAAAAAAAAAOZjASaLKaVVGhFg6uIho5qyE+72S/8ui/9Kp/9Wu/8+m/8GR/8eX/8aX/8KQ/8uf /8ui/8WZ/8qi/r6V+LCA86+C662C35poxIFPvXQ1iW1TAAAAAAAAAAAAAAAAAAAARpKwXcLsVmhqiF5B u5J467OR/cab/9Ko/8uf/8eZ/9ev/8WU/8ma/8mZ/8aV/8+j/9Sq/72J/76N/8OY/cOb+sCb87WM5J1p zopXunQ6oGc0AAAAAAAAAAAAAAAAAAAAZZqwZL7gXpipg1s/vI5y58Gl/Ni3/9Os/8SU/8SV/9qy/8qZ /8yc/82d/8ya/9Cg/9qx/8ST/8CO/7yI/riH/b+U+sOf8LKH25lou3Y+r2cojX9yAAAAAAAAAAAAAAAA AAAAT569ernLe3htvoll3rGP98GZ/9ay/+G9/9+6/+XC/9Wo/9Cg/8+d/8+b/9Cd/+C2/8uY/8aT/8OR /7yK/rqL+b6U8q+A5ql+xo1gsW81jG9WAAAAAAAAAAAAAAAAAAAAToCOf7C9f5aUvIFb26SB87GD/b6N /8ud/9ar/+vI/+7L/+7I/+nC/+G1/9mr/+K5/82a/8aT/8WT/7+M/8CR/MGZ9a176KJty4tYsnVCk2xN AAAAAAAAAAAAAAAAAAAAbGpcdJaglaejsopu36R+7bOJ+b2O/siW/8qV/9yv/9ut/9el/+Cx/+W6/+nA //DN/+S8/9ao/8uZ/8CM/8GQ/cWd+LKA7Kl10pBbtHAzmGc+AAAAAAAAAAAAAAAAAAAAj1stcYWJqa6m sJ2I3KB66LGJ9bqL/cmY/86b/9yt/+C0/9Kf/9Wh/9Og/9Oe/+S4/92v/9ms/9qx/9Ko/8yh/cmh+LN/ 7al01JVftXU6mmc9AAAAAAAAAAAAAAAAAAAAo1kegnRipKafwbemh61mgaBM77WF+8WT/suY/9io/+K4 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 dqghjLj8DjlKdAAAADgAAAA7AAAAHwAAAAkAAAAAAAAADAAAABkAAAAmAAAANyYcFWd/YFCu0qKH7Pe/ lP//167//+/P///86P////X////x////9v////n/////////8////+r///7t///jyf//v5T/6Ztn/7Rw QOlhOhy1GA4FfgAAAF8AAABYAAAASwAAADYAAAAjAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAFVhzDBlpiboii7f8DjhJdAAAADwAAAA/AAAAIgAAAAwAAAALAAAAGgAAACIRDAhIak8yoMyb bOn9yaT//+PL///z3f///Or////3///////////////2////9/////b////9/////v////X////0//// +///+/L//+TI//2+kv/nl2H/rnFG5lA3JqcGAwBtAAAAXAAAAFIAAAA7AAAAIgAAABEAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAG3edEBx5nsMhjLj/DjxPfQAAAEAAAABEAAAAJwAAABYAAAAYAAAAIywg FGCheE7K7LN+//3Imf/+4Lb///vh////+P////v////u///64v//8NL//+bA///kv///47v//+7T///0 3P//7Mj///HP///21P//++H////v///13f/9zan/9K+D/9iZbfx/TCPLGQ4EfgAAAF4AAABTAAAAOwAA ACQAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG3uhERx6oMMhj7v/D0BUjwAAAEQAAABLAAAAMAAA ACAAAAAhQC4db76LW+Pvtn//98SX///bsf//68P///LV///w1v//6cz//+vP///jw//+yJ///riM//65 jv/9tor//sWd///Qrv/+wJT//sWa///OpP//1q3//+C6///szf//79P//te6//O+nf/ajlf/nFwr3yUV CIcAAABdAAAAVAAAADsAAAAhAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAHX6lEBx6n78lk7//E09mqAAA AEkAAABRAAAAPAAAACpALiByxY5b7OWsd//tuY7//s+l///ctP//17L//9a1///Wtv/+x6D//sei///L qf//xKL//biR//2ufv/9q3r//rWL//7CoP/6roH/+Kt9//qvgv/7tIj//LyQ///Emf//zqj//9i2//3X vf/nsI7/2Y1V/6ViK+gpFgiKAAAAXQAAAFAAAAAzAAAAGwAAAAwAAAAAAAAAAAAAAAAAAAAAFmSCDRpr jLUsmsj/GmiJxQEFB1UAAABVAAAAQjEjGHG2gmDr259t/+GqfP/2wpX//82i//7Jo///wZz//sOe//7M q///w5z//8Oc//+5jf//u5L//8up///Hov//tor//7WJ///HpP/9s4f/+6x9//erff/0q3v/86p9//au gf/5tIj/+7iM//7Lqv/1xKb/3qiE/9WRXf+fYS7mHhAFggAAAFgAAABGAAAALAAAABUAAAAIAAAAAAAA AAAAAAAADkJXCBVad6Ywm8n/IoCm3gMRF2kAAABUEwwGbIteO9zKk27/0Jlx/+asgf/0u5L/+LyV//m7 lP/9vJX//sGa///Qr///zqj//8Wd//+3iv//t4b//7uO///Hof//zqr//8mj///Orv//uIz//699//2w gf/4rn//9Kt8//Coef/uqHv/8Kl7//a7l//yt5H/4KJ4/9CZc//Sk2L/iFo11QsHBW0AAABSAAAAPgAA ACIAAAAMAAAAAAAAAAAAAAAAAAAAABNbeI8zmMP/MZvH+gQlNIYBAABeUzMew59nQP+1hGT/0Jl3/+Sm gf/vsov/9LWP//q6kv//wZn//8ef///XtP//1bD//76S//+6i///vY7//7uM//+5if//v5P//8ym///Z uv//yqT//7aI//+zgP/9sYH/+q+A//Wtff/wqXr/66R1/+6wiv/uso3/459v/9KPX//GhVL/xYZU/1s/ KrIAAAFfAAAATwAAAC8AAAATAAAAAAAAAAAAAAAAAAAAABBVcXIvkbr/Ra/d/wtLZq4iEQiUeksr+41b OP+vgGD/1J9+/+WngP/xs4r/+rqS///Dmv//yqH//82j///buP//0qz//7yM//+/kP//wJP//7+S//+/ j///vIz//7uH///PqP//1rT//82o///FnP//tof//a9///muf//1rX3/8Kd3/+2uhP/qrof/4p9u/9mW Zv/Ef0z/uXI3/6VnMPMoGQuLAAAAVwAAAD0AAAAdAAAACgAAAAAAAAAAAAAAAAo9UFUmiLD7Vrjl/yqC qOZXRjbifFE0/4RXOP+vfl7/1aKB/+irgv/3uI7//sKa///Lov//0Kf//9Or///ZtP//1K7//8CQ///E lP//xZb//8aW///Elf//w5T//7+O///Opf//zab//8CS///Np///zaj//8GY//yzhf/4rXv/9Kp5//Gy hv/tsYr/455t/9uYZ//Kh1X/tXI8/7hwMf9zRRzNBAIBYwAAAEYAAAAoAAAAEwAAAAAAAAAAAAAAAAw8 TjMbeZ7jWbfg/0mt2f9WYmD/fVU8/4hlTP+uf2L/1aOE/+ywh//7v5T//8mg///RqP//1Kz//8yh///L n///2rb//8SV///Flf//yJn//8mZ///ImP//x5f//8WT///Sqf//1rL//72K//+8iv//wpX//8uj///J p//8v5n/97KD//azh//xtpH/6KFu/96aaf/Pi1v/vHlD/7VvNP+mZSr3LBoLiwAAAEkAAAA0AAAAGwAA AAkAAAAAAAAAAA01RhIUZ4jASKnS/2rI7v1AeIz/dk4x/45sU/+xjHP/2KqO/++2lP/7wpn//s6k///V q///zqL//8KR///Hmf//3rr//8qa///Glf//yZr//8qa///Jmf//yJj//8aV///Spf//3Lf//8WT///A j///vIr//7uK//++kP/+xZv//cWg//vDof/2vZj/7KVz/+Ocaf/UkF7/w39L/7BtNP+zbC3/YjoXvAIB AFMAAAA8AAAAJAAAAAwAAAAAAAAAAAAAAAATXnyTMZS+/33M5/1SpMD/Y1lL/5RiQf+wh2z/1qyS/+7H qf/507H//tSv///Knf//v4///8CQ///GmP//37r//9Kk///JmP//zJ3//8yc///Lm///y5r//8mX///Q of//3rn//8ma///Dkv//wZD//76M//+6h///toT//biK//zDm//7yKj/9LmS/+qqe//blmP/yYRP/7Jv Nf+waiz/jFMh4xIKA2gAAABAAAAAKwAAAA8AAAAAAAAAAAAAAAAMP1NWJoeu922zzv98w9f/VXmB/5do SP+xgWD/z6WI/+jEpP/30rL//du+///buf//1az//82h///ImP//3LX//9aq///Hlf//zZ3//8+f///Q oP//0Z7//86b///RoP//473//9Cg///Fkv//xZP//8OP///Ajf//u4z//7aD//y5if/6wpz/9riN//O5 kf/mrIP/1JVn/7h1P/+qZSf/omAk9y4cDocAAABDAAAAMQAAABIAAAAAAAAAAAAAAAADFRwiInCP1Fic uP+Iv83/ZZ2s/4h2ZP+6hWL/zJ9//+OwjP/zsob//MSa///Xsv//48H//+jH///lxP//6sv//+K8///T pP//0qL//8+d///Om///0Zz//8+c///Rnf//5b7//9ap///Jlf//yJb//8aT///CkP//v4z//7qI//+8 kP/7xZ7/8698//CqeP/pp3r/26R5/8OMYv+rcD//qmgt/1AyGqkAAABJAAAANAAAABQAAAAAAAAAAAAA AAAMCAUUNVZew02Npv9+rLr/grK6/3mDfv+7f1f/zZJt/+Ctiv/xroH/+reH///Aj///yZr//9Ko///d tv//7Mr///bW///x0P//8c3//+rF///gtv//2an//9Sg///Omf//4rj//9iq///Jlf//ypj//8eW///E k///wY3//7yI//+/kf/9yKL/97KE//Otev/qo2//25Zh/8WHVf+udkj/r3NE/2dDJsEBAQFQAAAANQAA ABQAAAAAAAAAAAAAAAAgDAAebFM40U19i/9vlaL/lLCw/4CWlf+vgWL/05Fo/96tjf/usYf/97iK//zA kf/+xZP//8iV///Jlf//2av//+rE///cr///5bn//+7H///yzf//8s7///HL///pw///7cr//+C1///M mP//yJX//8eU///Fk///wo///72L///Ck//+yaT/+bSG//Wxfv/uqnX/35pn/8iFT/+ubDL/rGkv/3hN KdEJBwVZAAAAMwAAABUAAAAAAAAAAAAAAAAjDwApi0wa3mBvbP9kiJT/maai/5mppP+hjXz/1pJn/96q if/osYn/87WH//nAkP/9xpb//82b///Nmf//1aX//+fA///ToP//0Zz//9ah///XpP//2qv//+G0///m vP//8c3///LT///owf//37T//9Ok///Ilv//wo7//76I///Ckf/+zKj/+reI//eyf//vrHj/4aBs/8+O WP+0dDz/rmkq/4FQKNoQCgdfAAAAMAAAABQAAAAAAAAAAAAAAAAjEgIskkkQ4n5iQ/9jgIj/lJ2c/66w o/+hnpD/zJNu/+Gqg//lsYr/8LGE//i+j//8x5b//82b///Pnf//1aL//+rC///aq///06D//9aj///U of//06D//9Og///RnP//4bP//+i////aqf//37T//+G6///dt///1Kr//8mZ///Elf/+zaf/+riG//ez fv/wrXr/4qNu/9CRW/+0dj//r2wv/4RSK90RCwhfAAAALgAAABQAAAAAAAAAAAAAAAAjEgMokUwV4Jha Jv9wdGv/i5eX/7ayp/+0r53/vJd7/+KlgP/lso//7LCB//W+jv/7xZX//sqY///OnP//0qD//+jA///e sf//1KH//9mn///Xpf//16X//9ak///ToP//3bH//+W8///Omv//y5b//8yZ///QoP//0qj//9Wt///V rv//1rL//MKV//i1gv/vrHf/4qBq/8yNV/+ydD3/rmwv/4NOJtsQCgVaAAAAKwAAABMAAAAAAAAAAAAA AAAkEwQgjE0Y16NbI/+Ma07/goZ9/7Crof/IwLD/vKya/9imgv/msov/6Kp9//G5iv/4w5H//cmX//7N m///0J3//+S7///gtf//05///9im///Xpf//2Kb//9im///Wof//3q///+rB///Sn///z5r//8yY///I lP//xZH//8SQ///Imf//17T//c+p//3In//1vZL/4qV2/8qKVv+xcjn/rWop/3xIHdMNBwZPAAAAJwAA ABEAAAAAAAAAAAAAAABSLA4Xf0cZyKJdJ/+la0H/jHtm/6GXiP/ItaH/zL6t/8q1n//mupj/57KI/+y1 h//zu4v/+cOQ//7Kl///z5v//+K3///it///0p7//9ak///VpP//1qT//9aj///VoP//3az//+vD///W of//0Zv//86a//7Jlv/9x5T/+cCN//K6iv/nv5v/2KZ8/8yacf/Dl3T/to1t/6Z9W/+TZT7/lFYi/1sx EccBAQFKAAAAKwAAAA4AAAAAAAAAAAAAAABsPBYJhUscppxcJ/+pajv/p3lT/5qNfP+7ppD/1Leb/8iz nf/Yu6L/6MKc/+fFof/uyKH/9sme//vMm//9zJj//9yw///kuv//0Z3//9Wi///Vo///1aL//9Wj///T nv//26r//+rE///Wov//0Zr//8+b//3Klv/5xJH/8rqI/+Wvg//SrYz/tZNr/4SQM/97hyP/gHRI/4Ne Pf9yYFD/eGVa/0UuHroAAABGAAAALQAAAAoAAAAAAAAAAAAAAAAAAAAAZjsWeKBfKv+laTv/t3ZF/6iH av+tnIn/0LOX/9e5nP/ItJ7/5bCE/+i3i//ow5z/8M+p//fZtP/63rj//ubC///qxP//263//9mr///X pv//1aH//9Kf///Rmv//16T//+rE///Uof//zpf//syY//rGk//zvo3/5rCC/9Kfdv+zmnv/epxb/1W0 Jv5bqQD/VIJG/1BrZ/9Ilbr/Tp7F/zhaZs0DDRBRAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAWDQTSJxd KfOlbD3/s3JB/8CFWP+slHr/wKeR/9y7n//Twq3/z62M/+qrev/osYP/6riI//HClP/2zaD//N20//7r xv//5r7//+rC///qxP//6L///+a6///hsv//3rH//+vD///Vof//zZb/+8iS//XAjP/ptYX/1qV4/7qN af+JnHX/Yr1x91zCV/9isST+P6Fy8yC/4Pgd0v7/Jc71/yvA6fEQVWeKAAAAOAAAAAAAAAAAAAAAAAAA AAAAAAAAPCMOFYVQJMurbz//qm47/8WBTP/Ekmr/tJuE/82xl//gybH/zLmi/9iqg//tsYD/6LKE/+y4 if/xvYz/98ye//vetv/9z53//9Sh///bq///36///+e6///rwf//7cb///XP///pvP//4bL/99Kj/+zA jv/aq3z/wJJo/6SDYf9zq2D/XLQ6/2C3OP+KlVL/W6a0/xPN9v8I0Pj/Ds30/wvV9f8Ll6/IAxwhQwAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtCHH6rcD3/p2w4/7d3Qv/Tj1v/xJhz/7mhi//YwKr/4Mir/8ew lf/crYT/7bOB/+i0hf/quYn/8MWY//XZsv/6zJr//c2X//7Qmv//zpj//9Ga///Rmv//16P//+zE///g sv//3q3/79Os/+DFof/Iro3/sJJ1/6ydb/9pnxj9S6QA/2mTAP+lbE7/dJTD/zO59/8sqPD/KJfr/xKs 7v8ArMfhAFlgZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEksFCWeaTzgqGw2/61uOf/Gh1L/15hm/8Kb ev/DsJ7/3cSq/9m/of/HsJb/366E/+yygf/ns4T/6r6R/+/Sqv/0x5f/+ciV//vOm//9z5r//9Gc///Q mv//0Zz//+a9///UoP//ypH/5beF/9Gofv+4mHX/zaiL/9awcP93mg3/UKQA/4V5Ev+jZmn/cJjU/06o +P9KkO3/Q3Lm/zRs5v8Rh8LlAlhkegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzUDZ6s3pM/6pw O/+3eUP/0Y9c/92cav/JqY3/xbOf/9y+nv/XwKP/xrCV/92vhf/rsID/5rWJ/+fKpP/rwJP/8L+O//TF lf/4yZf//M2Z//7MmP/+zpr//+S6///Vov//ypT/2qx+/8SYb//Hnnf/5LeN/9imbv+cmR7/cpMC/51r L/+Tepr/W6ns/0iu+P9DnO3/Oobp/zZo5f8hUbfmBx46hwAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AABFMCEZnW5Iy7iFW/+2g1n/xY5g/9ubaP/mroL/y62P/8Opjf/bvZ//1b6j/8Ovlv/Zq4T/6rOD/+fC nf/kuIv/5raH/+q8jP/uwI7/88SR//fFkv/5x5T/+921//3Rn//+yJH/0KR5/8accv/aqnv12KJt/9iZ Yf/CkjL/qXwP/6VrU/9yksf/TrX5/0qw9P9Ene7/OYjp/y9t5f8mRb/wEBhQpAAAABEAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAYz8fTa51QfC4hlj/wJJq/9Kkfv/puZP/7byT/8urif/BrpX/17uf/9O8 of+/rZT/zq2J/+bAmv/otIb/4a19/96wgv/gsoX/47aG/+i5h//uv4z/9Nau//jLmv/8wo3/ypht/9Kd bP/Um2H/zZFP/8iIO//Jfxv5wG0i/417iPNSo+3+RKv4/0Sa7f86hen/MWzl/yta4f8qUtv6FSpwvgAA ABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHhMI3u5djr9t31E/8CNWf/ar4f/8sSf//TF nP/avqP/w7em/83BsP/QxK//urem/7q2pf/Uroj/5Kp5/9+nd//Wpnj/1Kd6/9ipe//er4D/5MKe/+u0 iP/wqHf/zI9e/8+UVf/Jij7/w38m/r57Ev+/fCn/p21D/4prXv9Kmt//OJPx/zR35v8sX+L/KVPh/ypU 4f8qV+H/GDGBxQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOUCKNuG4v/7l0 OP/JkWT/4a+F//C2hf/7w5L/576X/8e4ov++vbD/xsi7/7bEvv+jsar/r6mV/82rif/eqX//2KB4/86V bf/Jj2n/y5x+/9GSa//XjmL/yItH/8SDK/m+ehDzw30a/8SDOv+/iWP/uHdK/6piLf9NaobXOI/u+zJ0 5v8qXeP/KVTh/ypW4f8qV+H/GTWIvgAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AABwOxcJjEscj71kJ/vBeEv/zY9p/+Kdb//5tor//8GT//a+kv/VsZH/t6uc/7O7t/+ut7X/lqqs/4ee of+am5T/wJ2I/9Kbff/JlXf/upeB/7iSeP+/lHb/voU+/8GELP/LjU3/zYtc/8B7Sv/HiWT/w3tL/0op D40VL0VGM4TZvzN14/srX+P/Klbh/ypX4f8qV+D+GDOFsQAAAB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtBGHS0bUDqxn1S/858TP/pn3b//7+Z///Rq///1a7/7s+u/8bN wv+itrX/mbG0/5Czu/9zprT/YZWj/3qQkP+mm4r/w7Of/8O2n/+7spz/tauX/76ljf/Cl4D/uYNk/7t3 Sv+ocU/nPykcdwEAABkAAAAbDyhDPyZUpKwrXuD1KVbg/ipX4f8fVa37FS1zkQAAABkAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFUTFErGk9xMFqLv/Qfkj/5ptv//m9 mP//2rf///LQ////8v/m8+T/stfU/4bC0v93vNX/arnX/0+nyf9Bk7D/Xpiq/5mrov/FrI3/w5Fw/7B4 Vv+mbEr/pG1K/3FPOsseFhFgAAAAHwAAAB4AAAAeAAAAHwAAACsULWxwIki90CpX4PwbVJrtBxAmSAAA ABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaEInF4pK G3yxYynZx3M5/92KVP/wpXj/+sSf///t2v//+uL///rl/+Dw5v+j0df/cbfP/1ex2P9Hrdn/MZfE/yyG rP9Ufo3/hm5b/5taL/uCQRfPRCILiwoFAkoAAAAvAAAALQAAACYAAAAdAAAAGgAAABwULGoSFjB/RxtY l9gYUom4AAICGAAAABMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAACKTR8mpVslc6JaJsDCbDPr0n5I/+6viP/1r4H/+7SC///Flv//ypn/67eO/6qa hf9skpr/TaDD/zyl0v8rmMj/KYWq/zttfPkfOUCUAAkQNAAAABoAAAAYAAAAFwAAABMAAAAQAAAADAAA AAsBBQYaDThLkRtzmOIKKDVFAAAACAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtEHRRiNRM5qF4ncaVvTJyrZDe7rV0pzbFk Mde0ZjPZu2o01r9pL8yyZzO4d2RTlydccYcfeqCrKY222iKSwfkdh7P1G22O3xJIXp8JKzlkBhoiQQQR FjsHHSZLCCYyaQw5TJAWX3vPG3KW2w8/U1MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AABqQSUOYjQUIGY5FipnOhgsZzkaKWU4GR5ZMBUMAAAAAAAAAAAAAAAAE157KhVZdVQdcZOBH3uitCCC rNUbd5vaF2eH0hVefM4YaInUGW6S1Rhqi74VXXiEEkpfKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAGGOCCBVVcRYOPE8pD0JXOQ9FWj0QRFo2Dj9SIhFGXAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAADwAPgD//8AAPAIAAB//wAA4AAAAB//AADAAAAAA/8AAMD4AAAB/wAAwGAAAAD/ AADAQAAAAH8AAIAAAAAAPwAAgAAAAAAfAACAAAAAAA8AAIAAAAAABwAAgAAAAAADAACAAAAAAAMAAMAA AAAAAwAAwAAAAAABAADAAAAAAAEAAMAAAAAAAAAAwAAAAAAAAADgAAAAAAAAAOAAAAAAAAAA4AAAAAAA AADgAAAAAAAAAOAAAAAAAAAA4AAAAAAAAADgAAAAAAAAAOAAAAAAAAAA4AAAAAAAAADgAAAAAAAAAOAA AAAAAAAA8AAAAAABAADwAAAAAAEAAPAAAAAAAQAA+AAAAAABAAD4AAAAAAEAAPwAAAAAAAAA/AAAAAAA AAD+AAAAAAAAAP8AAAAAAAAA/4AAAAAAAAD/gAAAAAAAAP/gAAAAAAAA//AAAAAAAAD/+AAAAAAAAP/+ AAAAAAAA//+AAAAHAAD///gOAA8AAP/////APwAA////////AAAoAAAAIAAAAEAAAAABACAAAAAAAIAQ AAAAAAAAAAAAAAAAAAAAAAAANDQ0ATQ0NAg0NDQcICAgSyMlJoEkKCmOJCcofyQkJGYiIiJRHh4ePxwc HCg0NDQZNDQ0Gx0dHSYdHR0yHh4ePh8fH0YfHx9IICAgSSAgIEQfHx87NDQ0LTQ0NCI0NDQWNDQ0DDQ0 NAY0NDQDNDQ0AQAAAAAAAAAAAAAAAAAAAAA0NDQDNDQ0DxwhI0gfQk+uIFBivB9QZa0eUWOZHD9NgB0s MlgeICI6Hh4eNh0dHTkeHh5EHx8fWCAgIGogICB3ISEhfyEhIYQhISGBISEheiAgIG0gICBbICAgRjQ0 NDE0NDQiNDQ0FTQ0NAk0NDQFNDQ0AgAAAAAAAAAAAAAAADQ0NAUcIyUmH1pyuCFHV7MfKCx3HyYoQyQ+ SSUnVmgyIElZTRwuNVcdIiRTICAgaCEhIYQkIyKbKSYkrCwmI7UuKCa4LCgnuSckI7YkJCSwJCQkpiMj I5giIiKEISEhaiAgIE00NDQvNDQ0HDQ0NA40NDQFNDQ0AgAAAAAAAAAANDQ0BR9CUGEiaYfGIiUniSAg IGQeHh41NDQ0GDQ0NBQeJSgpHh4eUiAiI4g2LimxVUQ5xXNfT8yEcF7Pim9Z0OS4lcbTtZzRemNTz2FJ OM1CMijKKyckwyUlJbYjIyOjIiIigyEhIV4gICA+NDQ0IjQ0NBA0NDQFNDQ0AgAAAAA0NDQGH05gfSJi fMAjJSaOHx8fbR8fHz00NDQjHBwcNx4eHmQ6MiundWFVyffKp9H/7crR///x0f///9H///3R////0f// /9H///fR//fm0f/Mp9HWkF7JTjstzSsoJ8QlJSWzIyMjliEhIWsgICBENDQ0IzQ0NA80NDQENDQ0ATQ0 NAYjY3yII2J8wyMmJ5YfHx94Hx8fTh8fH0MmIyFzYk88vvK7iM//68XR///z0f//+9H//vDR//La0f/r z9H/7tPR//bm0f/02dH/+uPR///w0f/x2NH9vpHRu4Fc0TkvJ8slJSW8JCQknSEhIW0gICBDNDQ0HzQ0 NAs0NDQENDQ0BiNphYgiaIPIIiYooCAgIIghISFlKygkgHtgRsf7wo7R/9qw0f/pxtH/68/R/+DB0f/f vtH+wprR/rKE0f21h9H/yKPR/LuP0f3CltH+0KbR/+K/0f/mydH/0bHR2Y9b0VY3H9EmJia+IyMjnSEh IWc0NDQ0NDQ0GTQ0NAk0NDQFIl51fyaNt8wiKy6qIyMjlygmJJF4XEfI6K150fjFmdH/0KjR/8ai0f7L qdH/wpzR/76W0f/AmtH+wZrR/rOF0f+/mdH7roLR+Kl70fWrfdH3sIPR+7uQ0f/OrtHvuprR2JFc0VI2 INEmJia6IyMjkCEhIVg0NDQpNDQ0EjQ0NAUeSVptMJ7M0SE0PLUlJCStVUExx8+XcNHgpn3R9bqR0fm5 ktH+vJXR/82q0f/Np9H/uozR/7iI0f/Bl9H/yqTR/9Cv0f+6jdH+rn3R+K1+0fKqetHupXfR87OL0e6y jNHZm3HRyotY0TgxLMomJiawIiIieyAgIEE0NDQeNDQ0Ax1FVVU5o8/RJEpZvzEoIsWOWjbRu4lp0eGm gNHzs4vR/L6V0f/IntH/2LPR/82k0f+7i9H/v5LR/7yM0f+8i9H/zqbR/9Ct0f/Bl9H+tITR+a5+0fKp eNHtrIHR6auB0dmVZNHGgUrRmWM00SknJsIkJCSbISEhWjQ0NCw0NDQCGjhDODaXv81BnsjHYk09x4RY OtG4iGjR5qyE0fu9ktH/y6LR/9Kp0f/VrtH/z6bR/8GR0f/Hl9H/xpfR/8KQ0f/Ln9H/y6LR/8WZ0f/K otH+vpXR+LCA0fOvgtHrrYLR35po0cSBT9G9dDXRRTUnzCYmJq8iIiJ0ICAgPwAAAAAeND0XKHGOuF3C 7NFWaGrRiF5B0buSeNHrs5HR/cab0f/SqNH/y5/R/8eZ0f/Xr9H/xZTR/8ma0f/JmdH/xpXR/8+j0f/U qtH/vYnR/76N0f/DmNH9w5vR+sCb0fO1jNHknWnRzopX0bp0OtGTWibRKigmvSQkJIogICBQAAAAADQ0 NAYcWHGUZL7g0V6YqdGDWz/RvI5y0efBpdH82LfR/9Os0f/ElNH/xJXR/9qy0f/KmdH/zJzR/82d0f/M mtH/0KDR/9qx0f/Ek9H/wI7R/7yI0f64h9H9v5TR+sOf0fCyh9HbmWjRu3Y+0a9nKNE3LibGJSUlmiEh IV8AAAAANDQ0BBk3Q2FPnr3RernL0Xt4bdG+iWXR3rGP0ffBmdH/1rLR/+G90f/futH/5cLR/9Wo0f/Q oNH/z53R/8+b0f/QndH/4LbR/8uY0f/Gk9H/w5HR/7yK0f66i9H5vpTR8q+A0eapftHGjWDRsW810Ug3 KcwmJiakIiIiagAAAAA0NDQFKSYiTkl2g813pK/Rd4yK0a14VtLGlnfT2qF41OOrgdTkt4/U5MGb1ObU tdPm17nT6Ni30unVstLqz6jR68mf0f/iudH/zZrR/8aT0f/Fk9H/v4zR/8CR0fzBmdH1rXvR6KJt0cuL WNGydULRVkEwziYmJqsjIyNvAAAAADQ0NAU7Kx5eZmRX0W2LlNKImJXTnn1l1r+PcNnGmHfbzJ553dGn gNzVq4Hb1ruW2tq8ltnevZLX48ig1OfQqtLq1rLR//DN0f/kvNH/1qjR/8uZ0f/AjNH/wZDR/cWd0fiy gNHsqXXR0pBb0bRwM9FeRC7OJyYmrSMjI24AAAAAJiYmBTQiFmKBUirTY3R31oyQitqJe2vgnHRb55h3 X+2del/vp4hq7K6PbumwmXvotqGE5sOjfeDSsIba4ryR1enBktL/5LjR/92v0f/ZrNH/2rHR/9Ko0f/M odH9yaHR+LN/0e2pdNHUlV/RtXU60WFFLs8oJiWqIyMjZwAAAAAmJiYGMCMYX45PHdZtYlPafoB64YWC c+uAfE/4iHtK/IVyVfqNc1r3koFs9pSLefeZjHfzqZBw7MGlgeHcu5LY58OU0//it9H/2ajR/8qV0f/K ltH/yZnR/82h0f7Ur9H9xZrR8LSF0dGSX9GzcjXRXkIpzSclJaAhISFZGRkZASUlJQs5KRxWgUsg1n1X OuBtaFzqfopr+VW0Jv5bqQD/MlI3+ytGTvg0Zn/7OmyF/DJRX/KUgGb2rZNz6tOzjNzkwJHU/+O10f/e rtH/0JnR/8uY0f/HktH/xJLR/c6j0fu8itHvtYnR0J1y0bZ5RtFWPSnLJCQkjR8fH0YZGRkGJSUlFDQo HkljPyLTe1Aw6HJvVfZivXH3XMJX/2KxJP4/oXLzIL/g+B3S/v8lzvX/K8Dp8YiJePudiG3xyquG4OG6 jNX/3rDR/9ut0f/NldH/y5fR/8eU0f/Dk9H+z6bR+LiE0eWmcdHGhlDRt2ov0Uo2KcMjIyNxHR0dMBkZ GQ0ZGRkkIyMjSkszH8t3VTfyT3dJ91y0Ov9gtzj/ipVS/1umtP8Tzfb/CND4/w7N9P8L1fX/Iml1+pSK dfXCsZLj3smj1//pwNH/47XR/9Kd0f/LlNH/xY7R/8KO0f/NpNH3uIXR4KBr0cJ0PNG2YiHRNywjsSEh IVE0NDQaGBgYGBkZGTkhISFpQTUqyYZpRftpnxj9S6QA/2mTAP+lbE7/dJTD/zO59/8sqPD/KJfr/xKs 7v8bdIL9jIVs+L2hfebcvJLY/+W50f/pvdH/4LHR/92x0f/Wp9H/y5vR/82j0e+rdtHWhlDRw28x0W9I Kc0oJSKINDQ0MDQ0NBIYGBgmGRkZUjQwLJR8aFrq1rBw/3eaDf9QpAD/hXkS/6Nmaf9wmNT/Tqj4/0qQ 7f9Dcub/NGzm/xaIwv+Gf2r5uZp359qxhNn/2KfR/9ur0f/LktH/zZjR/9Ge0f3NoNH8xaPR66mC0cyF V9HIczfRSTQmtiEhIVEcHBwmNDQ0FRgYGDYlIyByemdU2OS3jf/Ypm7/nJke/3KTAv+day//k3qa/1up 7P9Irvj/Q5zt/zqG6f82aOX/JVW4/35vYPqukHDp06t/2vzSotH+2arR/8qT0f/Jk9H+uoTR96h10fOw iNHbkmLRzYNP0XtWPssoJSNvNDQ0LxwcHDIcHBwuGBgYSWZWRa3aqnv12KJt/9iZYf/CkjL/qXwP/6Vr U/9yksf/TrX5/0qw9P9Ene7/OYjp/y9t5f8pSMP/eWRe/JyAY+u+mXLa7MSW0fXMoNH7u4bR+7B+0fin dtH2p3bR7K2H0c9+RtHLcS/NOi0jjTQ0NC0dLDBEHx8fSh4eHk88Myllm3lY7dSbYf/NkU//yIg7/8l/ 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 </value> </data> </root> WebAPI/Controllers/Êý¾Ýͬ²½/СÖî¸ðͬ²½/XZG_DataSynchronizationController.cs
@@ -28,6 +28,7 @@ using System.Security.Cryptography; using System.Net.Http.Headers; using System.Web; using Kingdee.BOS.WebApi.Client; namespace WebAPI.Controllers { @@ -427,6 +428,118 @@ #endregion #endregion #region çäº§æ±æ¥ #region å·²å®¡æ ¸çæ¥å·¥è®°å½ä¿¡æ¯å表 public class ICMOReportListResponse { public string code; public string msg; public List<ICMOReportListResponse_Data> data; } public class ICMOReportListResponse_Data { public List<ICMOReportListResponse_Data_Data> data; public string pageIndex; public string pageCount; } public class ICMOReportListResponse_Data_Data { public string produceReportId; //æ¥å·¥è®°å½id public string machineName; //设å¤åç§° public string macId; //设å¤id public string productName; //产ååç§° public string partId; //产åid public string workTime; //工使¶é´ public string tour; //çæ¬¡ public string productNum; //çäº§æ°æ® public string standardNum; //æ¥åæ ¼æ°é public string defectiveNum; //æ¬¡åæ°é public string remark; //夿³¨ public string materialId; // public string materialName; //ææåç§° public string materialNo; //ææç¼å· public string producePerson; //ç产人å public string producePersonId; //ç产人åid public string producePersonCode; //ç产人åcode public string planNo; //计ååå· public string taskNo; //ä»»å¡åå· public string partNum; //产åç¼å· public string produceRecordId; //ç产记å½çid public string moldNo; //æ¨¡å ·ç¼å· public string reportDate; //æ¥å·¥æ¥æ public string reportUser; //æ¥å·¥äººå public string reportUserCode; //æ¥å·¥äººåç¼ç public string auditUser; //å®¡æ ¸äºº public string auditUserCode; //å®¡æ ¸äººåç¼å· public string auditDate; //å®¡æ ¸æ¥æ public string moldName; //æ¨¡å ·åç§° public string defectiveReasonName; //次åæç»ä¿¡æ¯ public string boxCodes; //ç®±ç public string tourGroupName; //çç» } #endregion #region çäº§æ±æ¥è¯¦ç»ä¿¡æ¯ public class ICMOReportDetailResponse { public string code; public string msg; public List<ICMOReportDetailResponse_Data> data; } public class ICMOReportDetailResponse_Data { public string produceReportId; //æ¥å·¥è®°å½id public string machineName; //设å¤åç§° public string macId; //设å¤id public string productName; //产ååç§° public string partId; //产åid public string workTime; //工使¶é´ public string tour; //çæ¬¡ public string productNum; //çäº§æ°æ® public string standardNum; //æ¥åæ ¼æ°é public string defectiveNum; //æ¬¡åæ°é public string stockInputNum; public string remark; //夿³¨ /* public string materialId; */ // public string materialName; //ææåç§° public string materialNo; //ææç¼å· public string producePerson; //ç产人å public string producePersonId; //ç产人åid public string producePersonCode; //ç产人åcode public string planNo; //计ååå· public string taskNo; //ä»»å¡åå· public string partNum; //产åç¼å· public string produceRecordId; //ç产记å½çid public string moldNo; //æ¨¡å ·ç¼å· public string reportDate; //æ¥å·¥æ¥æ public string reportUser; //æ¥å·¥äººå public string reportUserCode; //æ¥å·¥äººåç¼ç public string auditUser; //å®¡æ ¸äºº public string auditUserCode; //å®¡æ ¸äººåç¼å· public string auditDate; //å®¡æ ¸æ¥æ public string piceWage; //åä»· public string moldName; //æ¨¡å ·åç§° public List<string> defectiveReasonNameList; public List<string> defectiveNumList; public string tourGroupName; //çç» public List<ICMOReportDetailResponse_Data_Box> boxs; } public class ICMOReportDetailResponse_Data_Box { public string boxCode; //ç®±ç public string boxActQty; //æ°é } #endregion #endregion #endregion #region å°è¯¸èæ°æ®åæ¥ @@ -442,6 +555,10 @@ #region å°è¯¸èæ°æ®åæ¥å¯é¥ string APPID = "1f2e019a-ff51-f115-ce59-205606c72853"; string APPPWD = "YYLM01A"; #endregion #region erpæ°æ®åºåç§° string erpDatabaseName = "AIS20210811135644.."; #endregion #region è·åæå¡å°å @@ -522,6 +639,37 @@ return res; } #endregion #region æ°æ®åæ¥ #region æ°æ®åæ¥-æ±æ»å ¨é¨åæ¥ public async Task<json> dataAnsy() { try { //äº§åæ¡£æ¡åæ¥ï¼erp->å°è¯¸èï¼ await productInfoSyncFromERPToXZG(); //ç产订å忥ï¼erp->å°è¯¸èï¼ await icmoInfoSyncFromERPToXZG(); //çäº§æ±æ¥å忥(å°è¯¸è->erp) await icmoReportInfoSyncFromXZGToERP(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "忥æå!"; objJsonResult.data = null; return objJsonResult; } catch(Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "åæ¥å¤±è´¥!" + e.Message; objJsonResult.data = null; return objJsonResult; } } #endregion #endregion #region äº§åæ¡£æ¡ @@ -832,29 +980,22 @@ #region è·åç产订å详ç»ä¿¡æ¯ public async Task<ICMODetailResponse> getICMODetailAsync(string url, string key, string planNum) { try { //请æ±å°å url = url + "/v2/GET/getPlanOrderDetail"; //请æ±åæ° Dictionary<string, string> queryParams = new Dictionary<string, string> //请æ±å°å url = url + "/v2/GET/getPlanOrderDetail"; //请æ±åæ° Dictionary<string, string> queryParams = new Dictionary<string, string> { {"key", key}, {"planNum",planNum } }; //è¿åç»æ string responseBody = await DefinedRequestSendMethod.GetDataAsyncByGetRequest(url, queryParams); //è¿åç»æ string responseBody = await DefinedRequestSendMethod.GetDataAsyncByGetRequest(url, queryParams); //å°å符串转æ¢ä¸ºå¯¹è±¡ ICMODetailResponse icmoDetailResponse = Newtonsoft.Json.JsonConvert.DeserializeObject<ICMODetailResponse>(responseBody); //å°å符串转æ¢ä¸ºå¯¹è±¡ ICMODetailResponse icmoDetailResponse = Newtonsoft.Json.JsonConvert.DeserializeObject<ICMODetailResponse>(responseBody); return icmoDetailResponse; }catch(Exception e) { return new ICMODetailResponse(); } return icmoDetailResponse; } #endregion @@ -955,7 +1096,7 @@ //è·åéè¶äºçäº§è®¢åæ°æ® List<ICMO> icmos = new List<ICMO>(); string sql = @"select cast(a.FBILLNO as varchar(100)) + '_' + cast(b.FSEQ as varchar(10)) 计ååå· cast(a.FBILLNO as varchar(100)) + '_' + cast(b.FSEQ as varchar(10)) + '_' + cast(b.FENTRYID as varchar(10)) 计ååå· ,cast(b.FQTY as int) è®¡åæ°é ,m.FNUMBER 产åç¼å· ,convert(varchar(100),b.FPLANSTARTDATE,20) 计åå¼å·¥æ¥æ @@ -985,7 +1126,7 @@ or convert(varchar(100),c.fstartdate ,23) >= convert(varchar(100),dateadd(day,-7,getdate()),23) ) and cast(a.FBILLNO as varchar(100)) + '_' + cast(b.FSEQ as varchar(10)) = 'MO000269_1'"; --and cast(a.FBILLNO as varchar(100)) + '_' + cast(b.FSEQ as varchar(10)) = 'MO000269_1'"; DataSet ds = oCN.RunProcReturn(sql, "AIS20210811135644..T_PRD_MO"); if (ds != null && ds.Tables.Count > 0) { @@ -1090,6 +1231,768 @@ } #endregion #endregion #region çäº§æ±æ¥ #region è·åå·²å®¡æ ¸çæ¥å·¥è®°å½ä¿¡æ¯åè¡¨ä¿¡æ¯ public async Task<ICMOReportListResponse> getICMOReportListAsync() { //请æ±å°å string url = await getServerAddressAsync() + "/v2/GET/getAuditedProduceReportList"; string token = await getTokenAsync(); //请æ±åæ° Dictionary<string, string> queryParams = new Dictionary<string, string> { {"key", token}, {"indexPage", "1"}, //{"startDate", DateTime.Now.AddDays(-30).ToString("yyyy-MM-dd")}, //{"endDate", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}, {"sidx", "reportDate"}, {"sord", "desc"}, //{"tour", "ç½ç"}, {"type", "1"}, {"reportStartDate", DateTime.Now.AddDays(-30).ToString("yyyy-MM-dd HH:mm:ss")}, {"reportEndDate", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")} }; //è¿åç»æ string responseBody = await DefinedRequestSendMethod.GetDataAsyncByGetRequest(url, queryParams); //å°å符串转æ¢ä¸ºå¯¹è±¡ ICMOReportListResponse icmoReportListResponse = Newtonsoft.Json.JsonConvert.DeserializeObject<ICMOReportListResponse>(responseBody); return icmoReportListResponse; } #endregion #region è·åçäº§æ±æ¥è¯¦ç»ä¿¡æ¯ public async Task<ICMOReportDetailResponse> getICMOReportDetailAsync(string url, string key, string reportId) { //请æ±å°å url = url + "/v2/GET/getProduceRecordReport"; //请æ±åæ° Dictionary<string, string> queryParams = new Dictionary<string, string> { {"key", key}, {"reportId",reportId } }; //è¿åç»æ string responseBody = await DefinedRequestSendMethod.GetDataAsyncByGetRequest(url, queryParams); //å°å符串转æ¢ä¸ºå¯¹è±¡ ICMOReportDetailResponse icmoReportDetailResponse = Newtonsoft.Json.JsonConvert.DeserializeObject<ICMOReportDetailResponse>(responseBody); return icmoReportDetailResponse; } #endregion #region çäº§æ±æ¥å®æ¶åæ¥_ä»å°è¯¸èå°ERP public async Task<json> icmoReportInfoSyncFromXZGToERP() { string sErrMsg = ""; try { //请æ±å°å string url = await getServerAddressAsync(); string token = await getTokenAsync(); ICMOReportListResponse iCMOReportListResponse = await getICMOReportListAsync(); List<ICMOReportListResponse_Data_Data> iCMOReportList = new List<ICMOReportListResponse_Data_Data>(); for(int i = 0; i < iCMOReportListResponse.data.Count; i++) { for(int j=0;j< iCMOReportListResponse.data[i].data.Count; j++) { string sql = "select * from AIS20210811135644..T_PRD_MORPT where FBillNo = '" + iCMOReportListResponse.data[i].data[j].produceReportId + "'"; DataSet ds_erp = oCN.RunProcReturn(sql, "AIS20210811135644..T_PRD_MORPT"); if(ds_erp!=null&ds_erp.Tables[0].Rows.Count == 0) { iCMOReportList.Add(iCMOReportListResponse.data[i].data[j]); } } } ////éè¶äºçäº§æ±æ¥åï¼æ¹é忥 //ICMOReportListResponse_Data_Data data = new ICMOReportListResponse_Data_Data(); //data.planNo = "MO000269_1_100483"; //data.reportDate = "2025-04-27 00:00:00"; //data.standardNum = "1"; //data.produceReportId = "1234321"; //iCMOReportList.Add(data); objJsonResult = set_SaveICMOReportBillList(iCMOReportList); //objJsonResult.code = "1"; //objJsonResult.count = 1; //objJsonResult.Message = "忥æå!"; //objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "åæ¥å¤±è´¥!" + e.Message; objJsonResult.data = null; return objJsonResult; } } #endregion #region çäº§æ±æ¥ æ¹éæ°å¢ public json set_SaveICMOReportBillList(List<ICMOReportListResponse_Data_Data> iCMOReportList) { string sErrMsg = ""; string sRemark = ""; string sRemark_errAudit = ""; try { for (int i = 0; i < iCMOReportList.Count; i++) { objJsonResult = set_SaveICMOReportBill(iCMOReportList[i]); if (objJsonResult.code == "1" && objJsonResult.count == 1) { sRemark += objJsonResult.Message; }else if(objJsonResult.code == "1" && objJsonResult.count == 0) { sRemark_errAudit += objJsonResult.Message; } else { sErrMsg += objJsonResult.Message; } } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "ãåæ¥å¹¶å®¡æ ¸æåä¿¡æ¯ãï¼" + sRemark + "ï¼ã忥æåä½å®¡æ ¸å¤±è´¥ä¿¡æ¯ãï¼" + sRemark_errAudit + "ï¼ãåæ¥å¤±è´¥ä¿¡æ¯ï¼ãï¼" + sErrMsg ; //æåï¼ objJsonResult.data = null; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "çäº§æ±æ¥åä¸ä¼ 失败ï¼" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region çäº§æ±æ¥ æ°å¢ public json set_SaveICMOReportBill(ICMOReportListResponse_Data_Data data) { string sErrMsg = ""; //ç¨äºè®°å½è¿ç¨æ°æ®ï¼ä½ä¸ºæ¥è®°æ°æ® string sRemark = ""; try { try { #region ä»é ç½®æä»¶è·å CLOUDç½åãè´¦å¥ä¿¡æ¯ãç»å½ç¨æ·ãç»å½å¯ç //ç»å½ string HReturn; bool bLogin = false; var loginRet = InvokeHelper.LoginUser(data.reportUser); string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); if (isSuccess <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = loginRet; objJsonResult.data = null; return objJsonResult; } else { bLogin = true; sRemark = sRemark + " ï¼è·åéªè¯CLOUDè´¦å·å¯ç " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); } #endregion #region 夿ç产订åç¶æ æ¯å¦ä¸º å®å·¥ æç»æ¡ string[] planNoSplit = data.planNo.Split('_'); string HICMOBillNo = planNoSplit[0]; string HICMOSEQ = planNoSplit[1]; string HICMOEntryID = planNoSplit[2]; string sql_judgeICMOStatus = @"select distinct mo.FBILLNO from AIS20210811135644..T_PRD_MO mo inner join AIS20210811135644..T_PRD_MOENTRY_A a on mo.FID=a.FID where a.FSTATUS in (5,6) and mo.FBILLNO = '" + HICMOBillNo + "' " + "and a.FENTRYID = " + HICMOEntryID; DataSet Ds2; Ds2 = oCN.RunProcReturn(sql_judgeICMOStatus, "AIS20210811135644..T_PRD_MO"); if (Ds2 != null && Ds2.Tables[0].Rows.Count > 0) { sErrMsg = "ç产订åã " + HICMOBillNo + "ãä¸å¡ç¶æå·²å®å·¥ä¸å è®¸æ±æ¥ï¼"; objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = sErrMsg; objJsonResult.data = null; return objJsonResult; } #endregion #region è·åéè¶äºçæåæ®json string json = getErpJSON(data); sRemark = sRemark + " ï¼è·åCLOUDåæ®APIéå ¥å¼" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); #endregion #region çæéè¶äºåæ® if (bLogin) { var result = InvokeHelper.Save("PRD_MORPT", json); sRemark = sRemark + " ï¼çæCLOUDåæ®" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); //è·åéè¶äºåæ®çæè¿åä¿¡æ¯ HReturn = result.ToString(); if (HReturn.Contains("\"IsSuccess\":false") == true) { sErrMsg = "çæçäº§æ±æ¥å失败ï¼" + HReturn; LogService.Write("çæçäº§æ±æ¥åï¼æºåï¼ç产订åï¼å¤±è´¥ï¼" + HReturn + json); //åå ¥txtææ¬ objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = sErrMsg; //æåï¼ objJsonResult.data = null; return objJsonResult; } else { sRemark = sRemark + json; } } else { sErrMsg = "çæçäº§æ±æ¥å失败ï¼éè¶äºç»å½å¤±è´¥ï¼"; objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = sErrMsg; //æåï¼ objJsonResult.data = null; return objJsonResult; } #endregion } catch (Exception e) { sErrMsg = "çæçäº§æ±æ¥å失败ï¼" + e.Message; objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = sErrMsg; objJsonResult.data = null; return objJsonResult; } #region å®¡æ ¸åæ® try { //æäº¤ãå®¡æ ¸éè¶äºåæ® #region ä»é ç½®æä»¶è·å CLOUDç½åãè´¦å¥ä¿¡æ¯ãç»å½ç¨æ·ãç»å½å¯ç //ç»å½ string HReturn = ""; bool bLogin = false; var loginRet = InvokeHelper.LoginUser(data.auditUser); string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); if (isSuccess <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = loginRet; objJsonResult.data = null; return objJsonResult; } else { bLogin = true; sRemark = sRemark + " ï¼è·åéªè¯CLOUDè´¦å·å¯ç " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); } #endregion if (bLogin) { ////æäº¤åæ® string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + data.produceReportId + "\"]}"; var result2 = InvokeHelper.Submit("PRD_MORPT", sJson2); //å®¡æ ¸åæ® string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + data.produceReportId + "\"]}"; var result3 = InvokeHelper.Audit("PRD_MORPT", sJson3); HReturn = result2.ToString() + "," + result3.ToString(); if (HReturn.Contains("\"IsSuccess\":false") == true) { LogService.Write("å®¡æ ¸åæ®å¤±è´¥" + sRemark); sErrMsg = "çæçäº§æ±æ¥åæåï¼å®¡æ ¸åæ®å¤±è´¥ï¼" + HReturn; objJsonResult.code = "1"; objJsonResult.count = 0; objJsonResult.Message = sErrMsg; objJsonResult.data = null; return objJsonResult; } else { LogService.Write("çæå¹¶å®¡æ ¸çäº§æ±æ¥åï¼æºåï¼ç产订åï¼æåï¼" + sRemark); sErrMsg = "çæå¹¶å®¡æ ¸çäº§æ±æ¥åæåï¼åæ®å·ä¸ºï¼" + data.produceReportId; objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = sErrMsg; objJsonResult.data = null; return objJsonResult; } } else { sErrMsg = "å®¡æ ¸çäº§æ±æ¥å失败ï¼éè¶äºç»å½å¤±è´¥ï¼"; objJsonResult.code = "1"; objJsonResult.count = 0; objJsonResult.Message = sErrMsg; objJsonResult.data = null; return objJsonResult; } } catch (Exception e) { sErrMsg = "å®¡æ ¸çäº§æ±æ¥å失败ï¼" + e.Message; objJsonResult.code = "1"; objJsonResult.count = 0; objJsonResult.Message = sErrMsg; objJsonResult.data = null; return objJsonResult; } #endregion }catch(Exception e0) { sErrMsg = "çæçäº§æ±æ¥å失败ï¼" + e0.Message; objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = sErrMsg; objJsonResult.data = null; return objJsonResult; } } #endregion #region æ ¹æ®è·åçæ¥å·¥ä¿¡æ¯ï¼æ¼æ¥jsonè¯å¥ public string getErpJSON(ICMOReportListResponse_Data_Data data) { //try //{ //data.planNo = "MO000269_1_100483"; //data.reportDate = "2025-04-27 00:00:00"; //data.standardNum = "1"; //data.produceReportId = "1234321"; // è·åçäº§æ±æ¥çæºåä¿¡æ¯ string[] planNoSplit = data.planNo.Split('_'); string HICMOBillNo = planNoSplit[0]; string HICMOSEQ = planNoSplit[1]; string HICMOEntryID = planNoSplit[2]; //æ ¹æ®æ¥å·¥ä¿¡æ¯ï¼è·åç¸å ³ä¿¡æ¯ string sql1 = @"select isnull(org1.hnumber,'') FPRDORGIDNumber ,ISNULL(org1.HItemID,0) FPRDORGID ,isnull(moSub.FPRODUCTTYPE,'1') FPRODUCTTYPE ,ISNULL(pr.HNumber,'') FAUXPROPNumber ,ISNULL(unit.HNumber,'') FUNITNumber ,ISNULL(dept.HNumber,'') FWORKSHOPNumber ,isnull(moSub.FMTONO,'') FMTONO ,isnull(moSubA.FCHECKPRODUCT,'false') FCHECKPRODUCT ,isnull(mo.FISENTRUST,'false') FISENTRUST ,isnull(moSub.FPROJECTNO,'') FPROJECTNO ,isnull(mp.FPERUNITSTANDHOUR,0) FSTDMANHOUR ,isnull(mp.FSTDLABORPREPARETIME,0) FHRPREPARETIME ,isnull(mp.FSTDMACHINEPREPARETIME,0) FMACPREPARETIME ,isnull(mo.FID,0) FSRCINTERID ,isnull(moSub.FSEQ,0) FSRCENTRYSEQ ,isnull(mo.FID,0) FMOID ,isnull(moSub.FENTRYID,0) FMOENTRYID ,isnull(unit1.HNumber,'') FBASEUNITID ,isnull(org1.HNumber,'') FSTOCKINORGID ,isnull(moSubA.FINSTOCKOWNERTYPEID,'') FOWNERTYPEID ,isnull(org2.HNumber,'') FOWNERID ,isnull(moSub.FCOSTRATE,0) FCOSTRATE ,isnull('','') FSTOCKID ,isnull(moSubA.FISBACKFLUSH,'false') FISBACKFLUSH ,isnull(moSub.FENTRYID,0) FMOMAINENTRYID ,isnull(moSubA.FQAIP,'') FQAIP ,isnull(moSubA.FREQSRC,'') FREQSRC ,isnull(moSub.FSALEORDERNO,'') FREQBILLNO ,isnull(moSub.FSALEORDERID,0) FREQBILLID ,isnull(moSub.FSALEORDERENTRYSEQ,0) FREQENTRYSEQ ,isnull(moSub.FSALEORDERENTRYID,0) FREQENTRYID ,isnull(moSubA.FINSTOCKTYPE,'1') FINSTOCKTYPE from AIS20210811135644..T_PRD_MO mo with(nolock) left join AIS20210811135644..T_PRD_MOENTRY moSub with(nolock) on mo.FID=moSub.FID left join AIS20210811135644..T_PRD_MOENTRY_A moSubA with(nolock) on moSubA.FID=moSub.FID and moSubA.FENTRYID=moSub.FENTRYID left join Xt_ORGANIZATIONS org1 with(nolock) on mo.FPRDORGID=org1.HItemID --ç产ç»ç» left join xt_ORGANIZATIONS org2 with(nolock) on moSubA.FINSTOCKOWNERID=org2.HItemID --å ¥åºè´§ä¸» left join AIS20210811135644..t_BD_MaterialProduce mp with(nolock) on moSub.FMATERIALID=mp.FMATERIALID --ç©æçäº§ä¿¡æ¯ left join Gy_Unit as unit with(nolock) on moSub.FUNITID = unit.HItemID left join Gy_Unit as unit1 with(nolock) on moSub.FBASEUNITID = unit1.HItemID left join Gy_Property pr on moSub.FAUXPROPID = pr.HItemID left join Gy_Department dept on moSub.FWORKSHOPID = dept.HItemID where mo.FBillNo = '" + HICMOBillNo + "' " + " and moSub.FENTRYID = " + HICMOEntryID; DataSet jsonData = oCN.RunProcReturn(sql1, "AIS20210811135644..T_PRD_MO"); if (jsonData == null || jsonData.Tables[0].Rows.Count == 0) { return ""; } string FBillType = "SCHBD01_SYS"; //åæ®ç±»å string FPRDORGIDNumber = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FPRDORGIDNumber"]); //ç产ç»ç»ç¼ç string FPRDORGID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FPRDORGID"]); //ç产ç»ç»ç¼ç string FAUXPROPNumber = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FAUXPROPNumber"]); //è¾ å©å±æ§ string FIsNew = "false"; //æ¯å¦æ°å¢è¡ string FPRODUCTTYPE = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FPRODUCTTYPE"]); //产åç±»å string FREPORTTYPE = ""; //çäº§æ±æ¥ç±»å string FUNITNumber = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FUNITNumber"]); //åä½ç¼ç string FWORKSHOPNumber = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FWORKSHOPNumber"]); //é¨é¨ string FMTONO = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FMTONO"]); //计åè·è¸ªå· string FCHECKPRODUCT = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FCHECKPRODUCT"]); //äº§åæ£éª string FISENTRUST = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FISENTRUST"]); //ç»ç»å§æå å·¥ string FSRCBILLTYPE = "PRD_MO"; //æºåç±»å string FPROJECTNO = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FPROJECTNO"]); //项ç®ç¼å· string FSTDMANHOUR = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FSTDMANHOUR"]); //å使 åå·¥æ¶ string FHRPREPARETIME = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FHRPREPARETIME"]); //人ååå¤å·¥æ¶ string FMACPREPARETIME = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FMACPREPARETIME"]); //æºå¨åå¤å·¥æ¶ string FSRCINTERID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FSRCINTERID"]); //æºåå ç string FSRCENTRYSEQ = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FSRCENTRYSEQ"]); //æºåè¡å· string FMOID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FMOID"]); //ç产订åå ç string FMOENTRYID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FMOENTRYID"]); //ç产订ååå½å· string FBASEUNITID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FBASEUNITID"]); //åºæ¬åä½ string FSTOCKINORGID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FSTOCKINORGID"]); //å ¥åºç»ç» string FBOMID = ""; //BOMçæ¬ string FOWNERTYPEID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FOWNERTYPEID"]); //货主类å string FOWNERID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FOWNERID"]); //货主 string FSTOCKID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FSTOCKID"]); //ä»åº string FCOSTRATE = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FCOSTRATE"]); //ææ¬æé string FSNUNITID = ""; //åºåå·åä½ string FISBACKFLUSH = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FISBACKFLUSH"]); //åå²é¢æ string FMOMAINENTRYID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FMOMAINENTRYID"]); //ç产订å主产ååå½ string FQAIP = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FQAIP"]); //ç´§æ¥æ¾è¡ string FREQSRC = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FREQSRC"]); //éæ±æ¥æº string FREQBILLNO = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FREQBILLNO"]); //鿱忮 string FREQBILLID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FREQBILLID"]); //鿱忮å ç string FREQENTRYSEQ = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FREQENTRYSEQ"]); //鿱忮è¡å· string FREQENTRYID = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FREQENTRYID"]); //鿱忮åå½å ç string FINSTOCKTYPE = Pub_Class.ClsPub.isStrNull(jsonData.Tables[0].Rows[0]["FINSTOCKTYPE"]); //ä¾ä¸æ¨å ¥åºå使ç¨-å ¥åºç±»å string FEntity_Link_FFlowId = "f6e6eec3-5267-4f02-8593-b633da508a72"; //ä¸å¡æµç¨å¾ string FEntity_Link_FFlowLineId = "3"; //æ¨è¿è·¯çº¿ string FEntity_Link_FRuleId = "PRD_MO2MORPT"; //转æ¢è§å string FEntity_Link_FSTableName = "T_PRD_MOENTRY"; //æºå表 string FBFLOWID = "f6e6eec3-5267-4f02-8593-b633da508a72"; //ä¸å¡æµç¨ //è·åçäº§æ±æ¥ç±»å string sql2 = @"select top(1) FNUMBER FREPORTTYPE from AIS20210811135644..T_PRD_REPORTTYPE with(nolock) Where FUSEORGID = " + FPRDORGID + " and FISDEFREPTYPE=1"; DataSet jsonData2 = oCN.RunProcReturn(sql2, "T_PRD_REPORTTYPE"); if (jsonData2 != null && jsonData2.Tables[0].Rows.Count > 0) { FREPORTTYPE = Pub_Class.ClsPub.isStrNull(jsonData2.Tables[0].Rows[0]["FREPORTTYPE"]); } //æç»è¯å¥ string json = ""; string sJson_ZYMESFLAG = ""; //çäº§æ±æ¥å忥MESæ è®° string sJson_MainCustom = ""; //主表èªå®ä¹å段 string sJson_Date = ""; //åæ®æ¥æ //sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]); //åæ®æ¥æ sJson_Date = ",\"FDATE\":\"" + data.reportDate + "\""; sJson_ZYMESFLAG = ""; string sJson_Main = "{" + "\"Creator\":\"\"" + ",\"NeedUpDateFields\":[]" + ",\"NeedReturnFields\":[]" + ",\"IsDeleteEntry\":\"True\"" + ",\"SubSystemId\":\"\"" + ",\"IsVerifyBaseDataField\":\"false\"" + ",\"IsEntryBatchFill\":\"false\"" + ",\"ValidateFlag\":\"True\"" + ",\"NumberSearch\":\"True\"" + ",\"InterationFlags\":\"\"" + ",\"Model\": " + "{ " + "\"FBILLNO\":\"" + data.produceReportId + "\"" + //",\"FID\":\"" + oMain.HInterID.ToString() + "\"" + ",\"FBillType\":" + "{" + "\"FNumber\":\"" + FBillType + "\"" + "}" + ",\"FDocumentStatus\":\"\"" + sJson_Date + ",\"FPRDORGID\":" + "{" + "\"FNumber\":\"" + FPRDORGIDNumber + "\"" + "}" + //",\"FWorkshipIdH\":" + // "{" + // "\"FNumber\":\"\"" + // "}" + //",\"FDescription\":\"\"" + sJson_ZYMESFLAG + sJson_MainCustom + ",\"FEntity\": [ "; string sJson_Entry = ""; string sJson_BatchNo = ""; string sJson_StockPlace = ""; string sJson_FProduceDate = ""; //çäº§æ¥æ string sJson_FExpiryDate = ""; //æææè³ string sJson_EntryCustom = ""; string sJson_FAUXPROPID = ""; string sJson_SubCustom = ""; //å表èªå®ä¹å段 //å表èªå®ä¹å段 //sJson_SubCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["SubCustom"]); ////æ¯å¦å¯ç¨æ¹æ¬¡ç®¡ç //if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HISBATCHMANAGE"]) == "1") //{ // sJson_BatchNo = " \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\"}, \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FLOT"]) + "\" , "; //} //else //{ // sJson_BatchNo = ""; //} ////æ¯å¦å¯ç¨ä¿è´¨ææ§å¶ //if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FISKFPERIOD"]) == "1") //{ // sJson_FProduceDate = " \"FProduceDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FProduceDate"]) + "\","; // sJson_FExpiryDate = " \"FExpiryDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FExpiryDate"]) + "\","; //} //else //{ // sJson_FProduceDate = ""; // sJson_FExpiryDate = ""; //} //è¾ å©å±æ§ sJson_FAUXPROPID = ", \"FAUXPROPID\":" + "{" + "\"FAUXPROPID__FF100002\":" + "{" + "\"FNumber\":\"" + FAUXPROPNumber + "\"" + "}" + "}"; ////ä»ä½ //if (Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) == "") //{ // sJson_StockPlace = ""; //} //else //{ // sJson_StockPlace = Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTOCKLOCID"]) + "\"}},"; //} //èªå®ä¹å段å¤ç sJson_EntryCustom = ""; sJson_Entry = sJson_Entry + " {" + //"\"FEntryID\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["HEntryID"]) + "," + " \"FSRCENTRYID\":" + HICMOEntryID + "" + ", \"FIsNew\":" + FIsNew + "" + ", \"FMATERIALID\":" + "{" + "\"FNumber\":\"" + data.partNum + "\"" + "}" + ", \"FPRODUCTTYPE\":\"" + FPRODUCTTYPE + "\"" + ", \"FREPORTTYPE\":" + "{" + "\"FNumber\":\"" + FREPORTTYPE + "\"" + "}" + ", \"FUNITID\":" + "{" + "\"FNumber\":\"" + FUNITNumber + "\"" + "}" + ", \"FWORKSHIPID\":" + "{" + "\"FNumber\":\"" + FWORKSHOPNumber + "\"" + "}" + //", \"FShiftGroupId\":{\"FNumber\":\"\"}" + sJson_BatchNo + //\"FDeptId\":{\"FNumber\":\"\"}, //sJson_StockPlace + //ä»ä½ç§»å°ä¸æ¹ ", \"FMTONO\":\"" + FMTONO + "\"" + ", \"FCHECKPRODUCT\":" + FCHECKPRODUCT + "" + ", \"FISENTRUST\":" + FISENTRUST + "" + ", \"FSRCBILLTYPE\":\"" + FSRCBILLTYPE + "\"" + ", \"FMOBILLNO\":\"" + HICMOBillNo + "\"" + //", \"FAUXPROPID\":" + // "{" + // "\"FAUXPROPID__FF100002\":" + // "{" + // "\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FAUXPROPID"]) + "\"" + // "}" + // "}" + sJson_FAUXPROPID + //", \"FHumanQty\":\"0\"" + ", \"FSRCBILLNO\":\"" + HICMOBillNo + "\"" + //", \"FMachineQty\":\"0\"" + //", \"FMaterialUnitID\":" + // "{" + // "\"FNumber\":\"\"" + // "}" + //", \"FStartTime\":\"1900-01-01\"" + //", \"FEndTime\":\"1900-01-01\"" + //", \"FTimeUnitId\":\"\"" + ", \"FMOENTRYSEQ\":" + HICMOSEQ + "" + //", \"FSTANDHOURUNITID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSTANDHOURUNITID"]) + "\"" + ", \"FPROJECTNO\":\"" + FPROJECTNO + "\"" + ", \"FSTDMANHOUR\":" + FSTDMANHOUR + "" + ", \"FHRPREPARETIME\":" + FHRPREPARETIME + "" + //", \"FHrWorkTime\":\"0\"" + ", \"FMACPREPARETIME\":" + FMACPREPARETIME + "" + //",\"FMacWorkTime\":\"0\"" + //",\"FDescriptionE\":\"\"" + ", \"FSRCINTERID\":" + FSRCINTERID + "" + ", \"FSRCENTRYSEQ\":" + FSRCENTRYSEQ + "" + ", \"FMOID\":" + FMOID + "" + ", \"FMOENTRYID\":" + FMOENTRYID + "" + ", \"FBASEUNITID\":" + "{" + "\"FNumber\":\"" + FBASEUNITID + "\"" + "}" + ", \"FSTOCKINORGID\":" + "{" + "\"FNumber\":\"" + FSTOCKINORGID + "\"" + "}" + ", \"FBOMID\":" + "{" + "\"FNumber\":\"" + FBOMID + "\"" + "}" + ", \"FOWNERTYPEID\":\"" + FOWNERTYPEID + "\"" + ", \"FOWNERID\":" + "{" + "\"FNumber\":\"" + FOWNERID + "\"" + "}" + ", \"FSTOCKID\":" + "{" + "\"FNumber\":\"" + FSTOCKID + "\"" + "}" + ", \"FCOSTRATE\":" + FCOSTRATE + "" + ", \"FSNUNITID\":" + "{" + "\"FNumber\":\"" + FSNUNITID + "\"" + "}" + //", \"FSNQty\":" + Pub_Class.ClsPub.isStrNull(Ds.Tables[1].Rows[i]["FSNQty"]) + "" + sJson_FProduceDate + sJson_FExpiryDate + ", \"FISBACKFLUSH\":" + FISBACKFLUSH + "" + ", \"FMOMAINENTRYID\":" + FMOMAINENTRYID + "" + ", \"FQAIP\":\"" + FQAIP + "\"" + ", \"FREQSRC\":\"" + FREQSRC + "\"" + ", \"FREQBILLNO\":\"" + FREQBILLNO + "\"" + ", \"FREQBILLID\":" + FREQBILLID + "" + ", \"FREQENTRYSEQ\":" + FREQENTRYSEQ + "" + ", \"FREQENTRYID\":" + FREQENTRYID + "" + ", \"FBASEQUAQTY\":" + data.standardNum + "" + ", \"FQUAQTY\":" + data.standardNum + "" + ", \"FBASEFINISHQTY\":" + data.standardNum + "" + ", \"FFINISHQTY\":" + data.standardNum + "" + ", \"FInStockType\":\"" + FINSTOCKTYPE + "\"" + sJson_StockPlace + sJson_EntryCustom + sJson_SubCustom + //",\"FSerialSubEntity\":" + // "[" + // "{" + // "\"FDetailID\":\"0\"" + // ",\"FQCMaterialId\":" + // "{" + // "\"FNUMBER\":\"\"" + // "}" + // ",\"FInspectResult\":\"\"" + // ",\"FQcAuxPropId\":" + // "{" + // "\"FQCAUXPROPID__FF100002\":" + // "{" + // "\"FNumber\":\"\"" + // "}" + // "}" + // ",\"FQCQty\":\"0\"" + // ",\"FSerialNo\":\"\"" + // ",\"FSerialId\":" + // "{" + // "\"FNUMBER\":\"\"" + // "}" + // ",\"FQCStockInSelQty\":\"0\"" + // ",\"FSerialNote\":\"\"" + // ",\"FBaseQCQty\":\"0\"" + // ",\"FBaseQCStockInSelQty\":\"0\"" + // "}" + // "]" ", \"FEntity_Link\": " + "[" + "{" + " \"FEntity_Link_FFlowId\":\"" + FEntity_Link_FFlowId + "\"" + ", \"FEntity_Link_FFlowLineId\":\"" + FEntity_Link_FFlowLineId + "\"" + ", \"FEntity_Link_FRuleId\":\"" + FEntity_Link_FRuleId + "\"" + ", \"FEntity_Link_FSTableName\":\"" + FEntity_Link_FSTableName + "\"" + ", \"FEntity_Link_FSBillId\":\"" + FMOID + "\"" + ", \"FEntity_Link_FSId\":\"" + FMOENTRYID + "\"" + " }" + " ]" + ", \"FBFLOWID\":" + "{" + "\"FID\":\"" + FBFLOWID + "\"" + "}" + "}"; string sJson_End = " ] }}"; json = sJson_Main + sJson_Entry + sJson_End; return json; //}catch(Exception e) //{ // return e.Message; //} } #endregion #endregion } #endregion