ExcDeliveryManagNew.cs 73 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Pur.Entity;
  11. using Core.Mes.Client.Comm.Control;
  12. using Pur.Entity.ck;
  13. using Infragistics.Win.UltraWinGrid;
  14. using System.Collections;
  15. using Core.Mes.Client.Comm.Tool;
  16. using com.hnshituo.pur.vo;
  17. using Core.Mes.Client.Comm.Server;
  18. using com.hnshituo.ck;
  19. using Pur.Pop_upWindow;
  20. using Infragistics.Win.UltraWinEditors;
  21. using Pur.configure;
  22. using Infragistics.Win;
  23. using Pur.Entity.configureEntity;
  24. namespace Pur.ck
  25. {
  26. public partial class ExcDeliveryManagNew : FrmPmsBase
  27. {
  28. private ArrayList list1 = new ArrayList();
  29. private string v_Mic="";
  30. private string v_Mic_desc="";
  31. private DataTable dt_addItem = new DataTable();
  32. private String fileName="";
  33. public ExcDeliveryManagNew()
  34. {
  35. InitializeComponent();
  36. this.IsLoadUserView = true;
  37. }
  38. private void ExcDeliveryManagNew_Load(object sender, EventArgs e)
  39. {
  40. txt_judgeTypeHY.SelectedIndex = 0;
  41. ck_Ctime.Checked = true;
  42. txt_CreateTimeS.Value = DateTime.Now.AddMonths(-1);
  43. txt_CreateTimeS.Enabled = true;
  44. txt_CreateTimeE.Value = Convert.ToDateTime(DateTime.Now.ToShortDateString()).AddHours(23).AddMinutes(59);
  45. txt_CreateTimeE.Enabled = true;
  46. txt_status.SelectedIndex = 1;//默认待收货状态
  47. ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true;
  48. GridHelper.SetExcludeColumnsActive(ultraGrid1.DisplayLayout.Bands[0], new string[] { "CHK" });
  49. GridHelper.SetExcludeColumnsActive(ultraGrid3.DisplayLayout.Bands[0], new string[] {"REMARK", "JUDGETYPE" });
  50. GridHelper.SetExcludeColumnsActive(ultraGrid4.DisplayLayout.Bands[0], new string[] {});
  51. GridHelper.SetExcludeColumnsActive(ultraGrid2.DisplayLayout.Bands[0], new string[] { "CHK", "RECQTY", "carNum", "shipQty", "checkMsg","meteringFlag","pcFlag"});
  52. //
  53. this.ultraGrid2.DisplayLayout.ValueLists.Add("checkList1");
  54. this.ultraGrid2.DisplayLayout.ValueLists["checkList1"].ValueListItems.Add("否", "否");
  55. this.ultraGrid2.DisplayLayout.ValueLists["checkList1"].ValueListItems.Add("是", "是");
  56. this.ultraGrid2.DisplayLayout.ValueLists["checkList1"].DisplayStyle = ValueListDisplayStyle.DisplayText;
  57. this.ultraGrid2.DisplayLayout.Bands[0].Columns["meteringFlag"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  58. this.ultraGrid2.DisplayLayout.Bands[0].Columns["meteringFlag"].ValueList = this.ultraGrid2.DisplayLayout.ValueLists["checkList1"];
  59. this.ultraGrid2.DisplayLayout.Bands[0].Columns["pcFlag"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  60. this.ultraGrid2.DisplayLayout.Bands[0].Columns["pcFlag"].ValueList = this.ultraGrid2.DisplayLayout.ValueLists["checkList1"];
  61. ultraExpandableGroupBox4.Expanded = true;
  62. ultraExpandableGroupBox3.Expanded = true;
  63. ultraGrid3.DisplayLayout.Bands[0].Columns["JUDGETYPECODE"].EditorComponent = ultraJUDGE_TYPE;
  64. ultraGrid3.DisplayLayout.Bands[0].Columns["JUDGETYPECODE"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.DropDownList;
  65. Get_ExcSubM();
  66. }
  67. #region toolbar工具栏
  68. /// <summary>
  69. /// 菜单栏
  70. /// </summary>
  71. /// <param name="sender"></param>
  72. /// <param name="ToolbarKey"></param>
  73. public override void ToolBar_Click(object sender, string ToolbarKey)
  74. {
  75. switch (ToolbarKey)
  76. {
  77. case "Query":
  78. Get_ExcSubM();
  79. break;
  80. case "doPrint":
  81. doPrint();
  82. break;
  83. case "Close":
  84. this.Close();
  85. break;
  86. case "conFirmation":// 初检完成
  87. setRecList();
  88. break;
  89. case "cancelConFirmation":// 取消初检
  90. cancelRecList();
  91. break;
  92. case "QuitRec"://退货
  93. QuitRec();
  94. break;
  95. case "doSplit"://拆分入库
  96. doSplit();
  97. break;
  98. case "Delete"://delete'
  99. doDeleteBill();
  100. break;
  101. }
  102. }
  103. /// <summary>
  104. /// 删除
  105. /// </summary>
  106. private void doDeleteBill()
  107. {
  108. if (list1.Count <= 0)
  109. {
  110. MessageUtil.ShowTips("请勾选需退货的送货单头");
  111. return;
  112. }
  113. String[] ls = (String[])list1.ToArray(typeof(string));
  114. String str1 = String.Join(";", ls);
  115. if (str1.ToLower().Contains("rb"))
  116. {
  117. if (MessageUtil.ShowYesNoAndQuestion("选择的送货单[" + str1 + "]中存在让步接收单,确定删除?") != DialogResult.Yes)
  118. {
  119. return;
  120. }
  121. }
  122. else
  123. {
  124. if (MessageUtil.ShowYesNoAndQuestion("确定删除送货单:" + str1 + "?") != DialogResult.Yes)
  125. {
  126. return;
  127. }
  128. }
  129. CoreResult cr = this.execute<CoreResult>("com.hnshituo.pur.ck.service.ExcDeliverySubMService", "delete_bill", new object[] { list1,UserInfo.GetUserID(),UserInfo.GetUserName()});
  130. if (cr.Resultcode == 0)
  131. {
  132. MessageUtil.ShowTips("操作成功");
  133. Get_ExcSubM();
  134. return;
  135. }
  136. else
  137. {
  138. MessageUtil.ShowTips("操作失败" + cr.Resultmsg);
  139. return;
  140. }//this.UseWaitCursor
  141. }
  142. /// <summary>
  143. /// 拆分入库
  144. /// </summary>
  145. private void doSplit()
  146. {
  147. if (ultraGrid2.ActiveRow == null)
  148. {
  149. MessageUtil.ShowTips("请选择送货单行进行操作!");
  150. return;
  151. }
  152. UltraGridRow row = ultraGrid2.ActiveRow;
  153. String strDeliverySubLineSqe = row.GetCellValue("deliverySubLineSqe").ToString().Trim();
  154. if (String.IsNullOrEmpty(strDeliverySubLineSqe))
  155. {
  156. MessageUtil.ShowTips("选择待拆分的送货单行号为空");
  157. return;
  158. }
  159. frmPopDeliverySubSplit FPRD = new frmPopDeliverySubSplit(this.ob, strDeliverySubLineSqe);
  160. FPRD.ShowDialog();
  161. if (FPRD.tips == "1")
  162. {
  163. doQuerySubLineByList(list1);
  164. return;
  165. }
  166. }
  167. /// <summary>
  168. /// 退货
  169. /// </summary>
  170. private void QuitRec()
  171. {
  172. if (list1.Count <= 0)
  173. {
  174. MessageUtil.ShowTips("请勾选需退货的送货单头");
  175. return;
  176. }
  177. String[] ls = (String[])list1.ToArray(typeof(string));
  178. String str1 = String.Join(";", ls);
  179. if (MessageUtil.ShowYesNoAndQuestion("确定对勾选的送货单:" + str1 + "进行全部退货操作?") != DialogResult.Yes)
  180. {
  181. return;
  182. }
  183. CoreResult cr = this.execute<CoreResult>("com.hnshituo.pur.ck.service.ExcDeliverySubMService", "QuitRec", new object[] { list1 });
  184. if (cr.Resultcode == 0)
  185. {
  186. MessageUtil.ShowTips("操作成功");
  187. Get_ExcSubM();
  188. return;
  189. }
  190. else
  191. {
  192. MessageUtil.ShowTips("操作失败" + cr.Resultmsg);
  193. return;
  194. }//this.UseWaitCursor
  195. }
  196. /// <summary>
  197. /// 取消初检
  198. /// </summary>
  199. private void cancelRecList()
  200. {
  201. ultraGrid2.UpdateData();
  202. ArrayList al = new ArrayList();
  203. for (int j = 0; j < ultraGrid2.Rows.Count; j++)
  204. {
  205. ExcDeliverySubC EdC = new ExcDeliverySubC();
  206. EdC.DeliverySubId = ultraGrid2.ActiveRow.Cells["DeliverySubId"].Value.ToString();
  207. EdC.DeliverySubLineSqe = ultraGrid2.Rows[j].Cells["DELIVERYSUBLINESQE"].Value.ToString();//送货通知单行号
  208. //校验数据
  209. if (testDeliveryStatus(EdC.DeliverySubLineSqe, 2,"","") == false)
  210. {
  211. return;
  212. }
  213. EdC.Status = "1";
  214. EdC.CreateName = UserInfo.GetUserName();
  215. EdC.CreateUserid = UserInfo.GetUserID();
  216. EdC.CreateTime = DateTime.Now;
  217. al.Add(EdC);
  218. }
  219. if (list1.Count <= 0)
  220. {
  221. MessageUtil.ShowTips("请勾选需取消初检的送货单头");
  222. return;
  223. }
  224. String[] ls = (String[])list1.ToArray(typeof(string));
  225. String str1 = String.Join(";", ls);
  226. if (MessageUtil.ShowYesNoAndQuestion("确定对选择的送货单:" + str1 + "进行取消初检操作?") != DialogResult.Yes)
  227. {
  228. return;
  229. }
  230. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "checkBill", new object[] { al });
  231. if (crt.Resultcode != 0)
  232. {
  233. MessageUtil.ShowTips("取消初检失败 " + crt.Resultmsg);
  234. return;
  235. }
  236. MessageUtil.ShowTips("操作成功");
  237. Get_ExcSubM();
  238. }
  239. /// <summary>
  240. /// 初检完成
  241. /// </summary>
  242. private void setRecList()
  243. {
  244. double b_INNUM = 0; //收货量
  245. ultraGrid2.UpdateData();
  246. ArrayList al = new ArrayList();
  247. for (int j = 0; j < ultraGrid2.Rows.Count; j++)
  248. {
  249. ExcDeliverySubC EdC = new ExcDeliverySubC();
  250. ExcDeliverySubM subMOld = new ExcDeliverySubM();
  251. double.TryParse(ultraGrid2.ActiveRow.Cells["shipQty"].Value.ToString().Trim(), out b_INNUM);
  252. String strSubSqe = ultraGrid2.ActiveRow.Cells["deliverySubLineSqe"].Value.ToString();
  253. EdC = this.GetJsonService().execute<ExcDeliverySubC>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "findById", new object[] { strSubSqe });
  254. //交货量差控制
  255. //if (testDeliveryQtyCtrl(subMOld, EdC, b_INNUM) == false)
  256. //{
  257. // return;
  258. //}
  259. EdC.DeliverySubId = ultraGrid2.ActiveRow.Cells["DeliverySubId"].Value.ToString();
  260. EdC.DeliverySubLineSqe = ultraGrid2.Rows[j].Cells["DELIVERYSUBLINESQE"].Value.ToString();//送货通知单行号
  261. EdC.CarNum = ultraGrid2.Rows[j].Cells["carNum"].Value.ToString();
  262. EdC.Status = "2";
  263. EdC.ShipQty = Math.Round(ultraGrid2.Rows[j].Cells["shipQty"].Value.ToString() == "" ? 0 : double.Parse(ultraGrid2.Rows[j].Cells["shipQty"].Value.ToString()),3);
  264. EdC.ReceivedQty = Math.Round(ultraGrid2.Rows[j].Cells["RECQTY"].Value.ToString() == "" ? 0 : double.Parse(ultraGrid2.Rows[j].Cells["RECQTY"].Value.ToString()),3);//待处置量
  265. EdC.CarNum = ultraGrid2.Rows[j].Cells["CarNum"].Value == null ? "" : ultraGrid2.Rows[j].Cells["CarNum"].Value.ToString();
  266. EdC.Remark = ultraGrid2.Rows[j].Cells["checkMsg"].Value == null ? "" : ultraGrid2.Rows[j].Cells["checkMsg"].Value.ToString();
  267. EdC.CreateName = UserInfo.GetUserName();
  268. EdC.CreateUserid = UserInfo.GetUserID();
  269. EdC.CreateTime = DateTime.Now;
  270. EdC.MeteringFlag = ultraGrid2.Rows[j].Cells["meteringFlag"].Value.ToString().Trim() == "是" ? "1" : "0";
  271. EdC.PcFlag = ultraGrid2.Rows[j].Cells["pcFlag"].Value.ToString().Trim()=="是"?"1":"0";
  272. //校验数据
  273. if (testDeliveryStatus(EdC.DeliverySubLineSqe, 1, EdC.MeteringFlag, EdC.PcFlag) == false)
  274. {
  275. return;
  276. }
  277. //if (EdC.ShipQty < EdC.ReceivedQty)
  278. //{
  279. // MessageUtil.ShowTips("送货单行:" + EdC.DeliverySubLineSqe + "的实送数量需大于待处置量数量");
  280. // return;
  281. //}
  282. //if (EdC.ShipQty == EdC.ReceivedQty)
  283. //{
  284. // MessageUtil.ShowTips("送货单行:" + EdC.DeliverySubLineSqe + "的实送数量等于处置量数量,该送货单行将标识为异常单。若存在异常量,请及时进行异常单处理");
  285. // return;
  286. //}
  287. if (EdC.ReceivedQty > 0 && String.IsNullOrEmpty(EdC.Remark))
  288. {
  289. MessageUtil.ShowTips("若送货单行:" + EdC.DeliverySubLineSqe + "存在待处置物料,请输入待处置原因或意见");
  290. return;
  291. }
  292. al.Add(EdC);
  293. }
  294. if (list1.Count <= 0)
  295. {
  296. MessageUtil.ShowTips("请勾选送货单头");
  297. return;
  298. }
  299. if (al.Count <= 0)
  300. {
  301. MessageUtil.ShowTips("无可初检送货单行");
  302. return;
  303. }
  304. String[] ls = (String[])list1.ToArray(typeof(string));
  305. String str1 = String.Join(";", ls);
  306. if (MessageUtil.ShowYesNoAndQuestion("确定对已勾选的送货单:" + str1 + "进行初检操作?若存在待处置量,请及时进行异常单处置。") != DialogResult.Yes)
  307. {
  308. return;
  309. }
  310. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "checkBill", new object[] { al });
  311. if (crt.Resultcode != 0)
  312. {
  313. MessageUtil.ShowTips("初检失败 " + crt.Resultmsg);
  314. return;
  315. }
  316. MessageUtil.ShowTips("已完成初检");
  317. Get_ExcSubM();
  318. }
  319. private DateTime setCreateTimeEnd(Object value)
  320. {
  321. DateTime time = Convert.ToDateTime(value);
  322. DateTime endtime = new DateTime(time.Year, time.Month, time.Day, 23, 59, 59);
  323. return endtime;
  324. }
  325. #region 交货量差控制
  326. private bool testDeliveryQtyCtrl(ExcDeliverySubM subMOld, ExcDeliverySubC EdC, double b_INNUM)
  327. {
  328. String strSupp = subMOld.SuppCode;
  329. String strItemCode = EdC.ItemCode;
  330. Entity_SuppGrade grade = new Entity_SuppGrade();
  331. grade.SuppCode = strSupp;
  332. grade.ItemCode = strItemCode;
  333. double qty = (double)EdC.Qty;
  334. List<Entity_SuppGrade> listGrade = this.execute<List<Entity_SuppGrade>>("com.hnshituo.pur.configure.service.SuppGradeService", "find", new object[] { grade, 0, 0 });//添加操作
  335. if (listGrade != null && listGrade.Count >= 1)
  336. {
  337. grade = listGrade[0];
  338. if (grade.DelvryRangeTpe == "0")
  339. {
  340. return true;
  341. }
  342. else if (grade.DelvryRangeTpe == "1")//绝对值
  343. {
  344. double maxQty = (double)grade.DelvryRangeMax + qty;
  345. double minQty = qty - (double)grade.DelvryRangeMin;
  346. if (b_INNUM > maxQty)
  347. {
  348. MessageUtil.ShowTips("供应商:" + subMOld.SuppName + "的物料:" + EdC.ItemName + "的入库量已经超出交货量上限为:" + maxQty);
  349. return false;
  350. }
  351. if (b_INNUM < minQty)
  352. {
  353. MessageUtil.ShowTips("供应商:" + subMOld.SuppName + "的物料:" + EdC.ItemName + "的入库量已经超出交货量下限为:" + minQty);
  354. return false;
  355. }
  356. }
  357. else if (grade.DelvryRangeTpe == "2")//百分比
  358. {
  359. double maxQty = Math.Round(qty * (1 + (double)grade.DelvryRangeMax / 100), 3);
  360. double minQty = Math.Round(qty * (1 - (double)grade.DelvryRangeMax / 100), 3);
  361. if (b_INNUM > maxQty)
  362. {
  363. MessageUtil.ShowTips("供应商:" + subMOld.SuppName + "的物料:" + EdC.ItemName + "的入库量已经超出交货量上限为:" + maxQty);
  364. return false;
  365. }
  366. if (b_INNUM < minQty)
  367. {
  368. MessageUtil.ShowTips("供应商:" + subMOld.SuppName + "的物料:" + EdC.ItemName + "的入库量已经超出交货量下限为:" + minQty);
  369. return false;
  370. }
  371. }
  372. else if (grade.DelvryRangeTpe == "2") //不允许
  373. {
  374. if (b_INNUM != qty)
  375. {
  376. MessageUtil.ShowTips("供应商:" + subMOld.SuppName + "的物料:" + EdC.ItemName + "的入库量不允许有交货量差,入库量和和要求送货量必须一致");
  377. return false;
  378. }
  379. }
  380. else
  381. {
  382. MessageUtil.ShowTips("请维护供应商:" + subMOld.SuppName + "的物料:" + EdC.ItemName + "的交货量差方式");
  383. return false;
  384. }
  385. }
  386. else
  387. {
  388. MessageUtil.ShowTips("请维护供应商:" + subMOld.SuppName + "的物料:" + EdC.ItemName + "的交货量差");
  389. return false;
  390. }
  391. return true;
  392. }
  393. #endregion
  394. /// <summary>
  395. /// 查询
  396. /// </summary>
  397. private void Get_ExcSubM()
  398. {
  399. try
  400. {
  401. this.Cursor = Cursors.WaitCursor;
  402. list1.Clear();
  403. dataTable1.Clear();
  404. dataTable4.Clear();
  405. dataTable2.Clear();
  406. clearSampleTabHY();
  407. Hashtable map = new Hashtable();
  408. map.Add("deliverySubId", txt_deliverySubId.Text.Trim());
  409. map.Add("orderId", txt_OrderId.Text.Trim());
  410. map.Add("supperId", txt_suppCode.Text.Trim());
  411. map.Add("validDataPurviewIds", this.ValidDataPurviewIds);
  412. if (ck_Ctime.Checked && !string.IsNullOrEmpty(txt_CreateTimeS.Text))
  413. {
  414. map.Add("createTimeBegin", Convert.ToDateTime(txt_CreateTimeS.Value).ToString());
  415. }
  416. if (ck_Ctime.Checked && !string.IsNullOrEmpty(txt_CreateTimeE.Text))
  417. {
  418. map.Add("createTimeEnd", setCreateTimeEnd(txt_CreateTimeE.Value));
  419. }
  420. if (txt_status.SelectedIndex != -1)
  421. {
  422. map.Add("statusCJ", txt_status.Value.ToString().Trim());
  423. }
  424. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.ck.service.ExcDeliverySubMService", "doQueryDeliverySubMList", new object[] { map });
  425. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  426. GridHelper.RefreshAndAutoSize(ultraGrid1);
  427. }
  428. catch (Exception ex)
  429. {
  430. MessageUtil.ShowTips("查询送货单主表数据失败:" + ex.Message);
  431. }
  432. finally
  433. {
  434. this.Cursor = Cursors.Default;
  435. }
  436. }
  437. /// <summary>
  438. /// 打印检化验委托单
  439. /// </summary>
  440. private void doPrint()
  441. {
  442. try
  443. {
  444. this.Cursor = Cursors.WaitCursor;
  445. if (ultraGrid2.ActiveRow == null)
  446. {
  447. MessageUtil.ShowTips("请选择发货单行进行操作!");
  448. return;
  449. }
  450. String strDeliverySubLineSqe = ultraGrid2.ActiveRow.GetCellValue("deliverySubLineSqe").ToString().Trim();
  451. if (String.IsNullOrEmpty(strDeliverySubLineSqe))
  452. {
  453. MessageUtil.ShowTips("送货单行号为空");
  454. }
  455. ExcDeliverySubC dsc = this.execute<ExcDeliverySubC>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "findById", new object[] { strDeliverySubLineSqe });
  456. if (!String.IsNullOrEmpty(dsc.CheckNo))
  457. {
  458. string strurl = "";
  459. DataTable dt = ServerHelper.GetData("com.hnshituo.pur.configure.service.impl.CoreBaseInfoNew.doQuery", new Object[] { "1223" }, this.ob);
  460. DataRow[] drArr = dt.Select("validflag='1'");
  461. if (drArr.Length != 1)
  462. {
  463. MessageUtil.ShowTips("基础数据维护错误:报表系统需维护有效的Ip且只能维护一个有效ip!");
  464. return;
  465. }
  466. String TipsEnv = drArr[0]["baseName"].ToString();
  467. String strUrlPort = "http://172.54.10.42:8080";//报表系统IP
  468. String[] str = strUrlPort.Split(':');
  469. String strUrl = str[0] + ":" + str[1];
  470. if (ob.MainUrl.StartsWith(strUrl))
  471. {
  472. //测试环境
  473. if (TipsEnv == "2")
  474. {
  475. strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurMatCheckTaskOrderDev.cpt&op=view" + "&CHECK_NO=" + dsc.CheckNo;
  476. }
  477. //生产环境
  478. else
  479. {
  480. strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurMatCheckTaskOrder.cpt&op=view" + "&CHECK_NO=" + dsc.CheckNo;
  481. }
  482. }
  483. else
  484. {
  485. //测试环境
  486. if (TipsEnv == "2")
  487. {
  488. strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurMatCheckTaskOrderDev.cpt&op=view" + "&CHECK_NO=" + dsc.CheckNo;
  489. }
  490. //生产环境
  491. else
  492. {
  493. strurl = strUrlPort + "/webroot/decision/view/report?viewlet=RepPurMatCheckTaskOrder.cpt&op=view" + "&CHECK_NO=" + dsc.CheckNo;
  494. }
  495. }
  496. //if (ob.MainUrl.StartsWith("http://127.0.0.1"))
  497. //{
  498. // strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepPurMatCheckTaskOrderDev.cpt&op=view" + "&CHECK_NO=" + dsc.CheckNo;
  499. //}
  500. //else
  501. //{
  502. // strurl = "http://localhost:8075/webroot/decision/view/report?viewlet=RepPurMatCheckTaskOrderDev.cpt&op=view" + "&CHECK_NO=" + dsc.CheckNo;
  503. //}
  504. FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
  505. fBug.AutoSize = true;
  506. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  507. fBug.WindowState = FormWindowState.Maximized;
  508. fBug.Text = "TPCO理化检验任务单";
  509. fBug.Show();
  510. }
  511. else
  512. {
  513. MessageUtil.ShowTips("暂未绑定送检号!");
  514. }
  515. }
  516. finally
  517. {
  518. this.Cursor = Cursors.Default;
  519. }
  520. }
  521. #endregion
  522. #region 界面事件
  523. /// <summary>
  524. /// grid1选择事件控制
  525. /// </summary>
  526. /// <param name="sender"></param>
  527. /// <param name="e"></param>
  528. private void ultraGrid1_CellChange(object sender, CellEventArgs e)
  529. {
  530. try
  531. {
  532. list1.Clear();
  533. ultraGrid1.UpdateData();
  534. String noticeId = "";
  535. int i = 0;
  536. if (e.Cell.Column.Key == "CHK")
  537. {
  538. clearSampleTabHY();
  539. dataTable2.Clear();
  540. dataTable4.Clear();
  541. dataSet3.Clear();
  542. dataSet4.Clear();
  543. foreach (UltraGridRow row in ultraGrid1.Rows)
  544. {
  545. if (Convert.ToBoolean(row.GetCellValue("CHK")) == true)
  546. {
  547. String strDeliverySubId = row.Cells["DeliverySubId"].Value.ToString();
  548. String strnoticeId = row.Cells["noticeId"].Value.ToString();
  549. if (!String.IsNullOrEmpty(strDeliverySubId))
  550. {
  551. if (i == 0)
  552. {
  553. noticeId = strnoticeId;
  554. }
  555. else
  556. {
  557. if (noticeId != strnoticeId)
  558. {
  559. MessageUtil.ShowTips("请选择同通知单下送货单进行操作!");
  560. e.Cell.Row.Cells["CHK"].Value = !Convert.ToBoolean(e.Cell.Row.GetCellValue("CHK"));
  561. return;
  562. }
  563. }
  564. list1.Add(strDeliverySubId);
  565. i = i + 1;
  566. }
  567. }
  568. }
  569. dataTable2.Rows.Clear();
  570. }
  571. if (list1.Count > 0)
  572. {
  573. doQuerySubLineByList(list1);
  574. }
  575. }
  576. catch (Exception ex)
  577. {
  578. MessageUtil.ShowTips("查询送货单行信息失败:" + ex.Message);
  579. }
  580. }
  581. /// <summary>
  582. /// grid2组批事件控制
  583. /// </summary>
  584. /// <param name="sender"></param>
  585. /// <param name="e"></param>
  586. private void ultraGrid2_CellChange(object sender, CellEventArgs e)
  587. {
  588. if (ck_isBatch.Checked)
  589. {
  590. if (e.Cell.Column.Key == "CHK")
  591. {
  592. txt_carNumHY.Clear();
  593. ultraGrid2.UpdateData();
  594. int i = 0;
  595. double qtySum = 0;
  596. string noticeId = "";
  597. string batchNo = "";
  598. String itemUnique = "";
  599. String SubLineId = "";
  600. String orderId = "";
  601. StringBuilder carNumCol = new StringBuilder("");
  602. dataSet3.Clear();
  603. dataSet4.Clear();
  604. foreach (UltraGridRow row in ultraGrid2.Rows)
  605. {
  606. if (Convert.ToBoolean(row.GetCellValue("CHK")) == true)
  607. {
  608. double dbQty = Convert.ToDouble(row.GetCellValue("qty"));
  609. String strcarNum = row.Cells["carNum"].Value.ToString();
  610. String strnoticeId = row.Cells["noticeId"].Value.ToString();
  611. String strBatchNo = row.Cells["batchNo"].Value.ToString();
  612. String strOrderId = row.Cells["orderId"].Value.ToString();
  613. String stritemUnique = row.Cells["itemUnique"].Value.ToString();
  614. String strDeliverySubLineSqe = row.GetCellValue("deliverySubLineSqe").ToString().Trim();
  615. if (String.IsNullOrEmpty(strDeliverySubLineSqe))
  616. {
  617. MessageUtil.ShowTips("送货单行号为空");
  618. }
  619. if (testSubC(strDeliverySubLineSqe) == false)
  620. {
  621. e.Cell.Row.Cells["CHK"].Value = !Convert.ToBoolean(e.Cell.Row.GetCellValue("CHK"));
  622. return;
  623. }
  624. qtySum = qtySum + dbQty;
  625. if (i == 0)
  626. {
  627. noticeId = strnoticeId;
  628. itemUnique = stritemUnique;
  629. SubLineId = strDeliverySubLineSqe;
  630. batchNo = strBatchNo;
  631. orderId = strOrderId;
  632. }
  633. else
  634. {
  635. if (strnoticeId != noticeId)
  636. {
  637. MessageUtil.ShowTips("请选择同通知单物料进行操作!");
  638. e.Cell.Row.Cells["CHK"].Value = !Convert.ToBoolean(e.Cell.Row.GetCellValue("CHK"));
  639. return;
  640. }
  641. if (batchNo != strBatchNo)
  642. {
  643. MessageUtil.ShowTips("请选择同生产批次进行操作!");
  644. e.Cell.Row.Cells["CHK"].Value = !Convert.ToBoolean(e.Cell.Row.GetCellValue("CHK"));
  645. return;
  646. }
  647. if (itemUnique != stritemUnique)
  648. {
  649. MessageUtil.ShowTips("请选择同物料进行操作!");
  650. e.Cell.Row.Cells["CHK"].Value = !Convert.ToBoolean(e.Cell.Row.GetCellValue("CHK"));
  651. return;
  652. }
  653. if (orderId != strOrderId)
  654. {
  655. MessageUtil.ShowTips("请选择同合同物料进行操作!");
  656. e.Cell.Row.Cells["CHK"].Value = !Convert.ToBoolean(e.Cell.Row.GetCellValue("CHK"));
  657. return;
  658. }
  659. }
  660. if (!String.IsNullOrEmpty(strcarNum))
  661. {
  662. if (carNumCol.Length > 1)
  663. {
  664. carNumCol.Append(",").Append(strcarNum);
  665. }
  666. else
  667. {
  668. carNumCol.Append(strcarNum);
  669. }
  670. }
  671. else
  672. {
  673. MessageUtil.ShowTips("供应商未填写车号,请填写车号!");
  674. }
  675. i = i + 1;
  676. }
  677. }
  678. if (i <= 0)
  679. {
  680. return;
  681. }
  682. clearSampleTabHY();
  683. ExcDeliverySubC dsc = this.execute<ExcDeliverySubC>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "findById", new object[] { SubLineId });
  684. if (dsc != null)
  685. {
  686. //检化验数据加载
  687. if (!String.IsNullOrEmpty(dsc.CheckNo))
  688. {
  689. String strCheckNo = dsc.CheckNo;
  690. if (String.IsNullOrEmpty(strCheckNo))
  691. {
  692. //待检检验项目
  693. queryItemList(dsc);
  694. }
  695. else
  696. {
  697. //已委托检验项目
  698. querySampleList(strCheckNo);
  699. }
  700. GridHelper.RefreshAndAutoSize(ultraGrid3);
  701. }
  702. //加载合同附件
  703. getOrderAppend(dsc.DeliverySubLineSqe, "");
  704. }
  705. txt_carNumHY.Text = carNumCol.ToString();
  706. txt_QtyHY.Text = qtySum + "";
  707. ck_pcFlag.Checked = dsc.PcFlag == null ? false : (dsc.PcFlag == "1" ? true : false);
  708. txt_UOM.Text = dsc.ItemUom;
  709. if (ck_pcFlag.Checked)
  710. {
  711. ck_pcFlag.Enabled = false;
  712. }
  713. else
  714. {
  715. ck_pcFlag.Enabled = true;
  716. }
  717. }
  718. }
  719. }
  720. /// <summary>
  721. /// 激活行
  722. /// </summary>
  723. /// <param name="sender"></param>
  724. /// <param name="e"></param>
  725. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  726. {
  727. //根据物送货单行的检验编号查询
  728. try
  729. {
  730. if (ck_isBatch.Checked)
  731. {
  732. return;
  733. }
  734. ultraGrid2.UpdateData();
  735. clearSampleTabHY();
  736. dataSet3.Clear();
  737. dataSet4.Clear();
  738. String strDeliverySubLineSqe = ultraGrid2.ActiveRow.GetCellValue("deliverySubLineSqe").ToString().Trim();
  739. String strDeliverySubId = ultraGrid2.ActiveRow.Cells["DeliverySubId"].Value.ToString().Trim();
  740. if (String.IsNullOrEmpty(strDeliverySubId))
  741. {
  742. MessageUtil.ShowTips("送货单号为空");
  743. }
  744. if (String.IsNullOrEmpty(strDeliverySubLineSqe))
  745. {
  746. MessageUtil.ShowTips("送货单行号为空");
  747. }
  748. ExcDeliverySubM dsm = this.execute<ExcDeliverySubM>("com.hnshituo.pur.ck.service.ExcDeliverySubMService", "findById", new object[] { strDeliverySubId });
  749. ExcDeliverySubC dsc = this.execute<ExcDeliverySubC>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "findById", new object[] { strDeliverySubLineSqe });
  750. if (dsc != null && dsm != null)
  751. {
  752. //检化验数据加载
  753. String strCheckNo = dsc.CheckNo;
  754. if (String.IsNullOrEmpty(strCheckNo))
  755. {
  756. //待检检验项目
  757. queryItemList(dsc);
  758. }
  759. else
  760. {
  761. //已委托检验项目
  762. querySampleList(strCheckNo);
  763. }
  764. GridHelper.RefreshAndAutoSize(ultraGrid3);
  765. //加载附件
  766. getOrderAppend(strDeliverySubLineSqe, "");
  767. if (!ck_isBatch.Checked)
  768. {
  769. txt_carNumHY.Text = dsc.CarNum;
  770. txt_QtyHY.Text = dsc.Qty + "";
  771. ck_pcFlag.Checked = dsc.PcFlag == null ? false : (dsc.PcFlag == "1" ? true : false);
  772. txt_UOM.Text = dsc.ItemUom;
  773. if (ck_pcFlag.Checked)
  774. {
  775. ck_pcFlag.Enabled = false;
  776. }
  777. else
  778. {
  779. ck_pcFlag.Enabled = true;
  780. }
  781. txt_CheckNo.Text = dsc.CheckNo;
  782. }
  783. }
  784. }
  785. catch (Exception ex)
  786. {
  787. MessageUtil.ShowTips(ex.Message);
  788. }
  789. }
  790. //创建时间输入控制
  791. private void ck_Ctime_CheckedChanged(object sender, EventArgs e)
  792. {
  793. txt_CreateTimeS.Enabled = ck_Ctime.Checked;
  794. txt_CreateTimeE.Enabled = ck_Ctime.Checked;
  795. }
  796. private void ck_isBatch_CheckedChanged(object sender, EventArgs e)
  797. {
  798. dataTable4.Clear();
  799. dataTable6.Clear();
  800. clearSampleTabHY();
  801. foreach (UltraGridRow row in ultraGrid2.Rows)
  802. {
  803. row.Cells["CHK"].Value = false;
  804. }
  805. if (ck_isBatch.Checked)
  806. {
  807. ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"].Hidden = false;
  808. label5.Text = "组批车号";
  809. label8.Text = "组批重量";
  810. }
  811. else
  812. {
  813. ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"].Hidden = true;
  814. label5.Text = "车 号";
  815. label8.Text = "重 量";
  816. }
  817. }
  818. #endregion
  819. #region 界面按钮
  820. //检化验委托发送
  821. private void tbn_sendCheck_Click(object sender, EventArgs e)
  822. {
  823. ultraGrid2.UpdateData();
  824. ultraGrid3.UpdateData();
  825. List<ExcDeliverySubC> listSubC = new List<ExcDeliverySubC>();
  826. List<CheckconsignDetail> listDetail = new List<CheckconsignDetail>();
  827. StringBuilder carNumCol = new StringBuilder("");
  828. if (ck_isBatch.Checked)
  829. {
  830. foreach (UltraGridRow row in ultraGrid2.Rows)
  831. {
  832. if (Convert.ToBoolean(row.GetCellValue("CHK")) == true)
  833. {
  834. String strDeliverySubLineSqe = row.GetCellValue("deliverySubLineSqe").ToString().Trim();
  835. String strDeliverySubId = row.Cells["DeliverySubId"].Value.ToString().Trim();
  836. String strCarNum = row.Cells["CarNum"].Value.ToString().Trim();
  837. if (String.IsNullOrEmpty(strDeliverySubId))
  838. {
  839. MessageUtil.ShowTips("送货单号为空");
  840. row.Activated = true;
  841. return;
  842. }
  843. if (String.IsNullOrEmpty(strDeliverySubLineSqe))
  844. {
  845. MessageUtil.ShowTips("送货单行号为空");
  846. row.Activated = true;
  847. return;
  848. }
  849. if (String.IsNullOrEmpty(strCarNum))
  850. {
  851. MessageUtil.ShowTips("送货单行:" + strDeliverySubLineSqe + "车号为空,请输入车号");
  852. row.Activated = true;
  853. return;
  854. }
  855. if (testSubC(strDeliverySubLineSqe) == false)
  856. {
  857. return;
  858. }
  859. ExcDeliverySubC subC = new ExcDeliverySubC();
  860. subC.DeliverySubLineSqe = strDeliverySubLineSqe;
  861. subC.CarNum = strCarNum;
  862. listSubC.Add(subC);
  863. if (carNumCol.Length > 1)
  864. {
  865. carNumCol.Append(",").Append(strCarNum);
  866. }
  867. else
  868. {
  869. carNumCol.Append(strCarNum);
  870. }
  871. }
  872. }
  873. if (listSubC.Count <= 0)
  874. {
  875. MessageUtil.ShowTips("请选择待检物料进行组批检化验!");
  876. return;
  877. }
  878. }
  879. else
  880. {
  881. if (ultraGrid2.ActiveRow == null)
  882. {
  883. MessageUtil.ShowTips("请选择待检送货单行进行操作!");
  884. return;
  885. }
  886. String strDeliverySubLineSqe = ultraGrid2.ActiveRow.GetCellValue("deliverySubLineSqe").ToString().Trim();
  887. String strDeliverySubId = ultraGrid2.ActiveRow.Cells["DeliverySubId"].Value.ToString().Trim();
  888. String strCarNum = ultraGrid2.ActiveRow.Cells["CarNum"].Value.ToString().Trim();
  889. if (String.IsNullOrEmpty(strDeliverySubId))
  890. {
  891. MessageUtil.ShowTips("送货单号为空");
  892. return;
  893. }
  894. if (String.IsNullOrEmpty(strDeliverySubLineSqe))
  895. {
  896. MessageUtil.ShowTips("送货单行号为空");
  897. return;
  898. }
  899. if (String.IsNullOrEmpty(strCarNum))
  900. {
  901. MessageUtil.ShowTips("送货单行:" + strDeliverySubLineSqe + "车号为空,请输入车号");
  902. return;
  903. }
  904. if (testSubC(strDeliverySubLineSqe) == false)
  905. {
  906. return;
  907. }
  908. ExcDeliverySubC subC = new ExcDeliverySubC();
  909. subC.DeliverySubLineSqe = strDeliverySubLineSqe;
  910. subC.CarNum = strCarNum;
  911. listSubC.Add(subC);
  912. if (carNumCol.Length > 1)
  913. {
  914. carNumCol.Append(",").Append(strCarNum);
  915. }
  916. else
  917. {
  918. carNumCol.Append(strCarNum);
  919. }
  920. }
  921. CoreResult re = new CoreResult();
  922. ExcDeliverySubC dsc = this.execute<ExcDeliverySubC>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "findById", new object[] { listSubC[0].DeliverySubLineSqe });
  923. ExcDeliverySubM dsm = this.execute<ExcDeliverySubM>("com.hnshituo.pur.ck.service.ExcDeliverySubMService", "findById", new object[] { dsc.DeliverySubId });
  924. if (dsm == null)
  925. {
  926. MessageUtil.ShowTips("未发现送货单:" + dsc.DeliverySubId + "信息记录!");
  927. return;
  928. }
  929. CheckconsignBaseinfo baseInfo = new CheckconsignBaseinfo();
  930. if (!StringUtil.IsDouble(txt_QtyHY.Text.Trim()))
  931. {
  932. MessageUtil.ShowTips("请输入大于0的有效数量!");
  933. txt_QtyHY.Focus();
  934. return;
  935. }
  936. //if (String.IsNullOrEmpty(v_Mic_desc) || String.IsNullOrEmpty(v_Mic) || String.IsNullOrEmpty(txt_std.Text.Trim()))
  937. //{
  938. // MessageUtil.ShowTips("检验标准不能为空");
  939. // txt_QtyHY.Focus();
  940. // return;
  941. //}
  942. if (String.IsNullOrEmpty(txt_std.Text.Trim()))
  943. {
  944. if (MessageUtil.ShowYesNoAndQuestion("系统未维护该物料检验标准,确定继续发送?") != DialogResult.Yes)
  945. {
  946. return;
  947. }
  948. }
  949. baseInfo.CarNo = carNumCol.ToString();
  950. //baseInfo.StandardsCode = dsc.ItemStandardsCode;
  951. // baseInfo.StandardsId = dsc.ItemStandardsId;
  952. baseInfo.ProductStd = dsc.ItemStandardsCode;
  953. baseInfo.ProductStdId = dsc.ItemStandardsId;
  954. baseInfo.SendDept = UserInfo.GetDepartment();
  955. baseInfo.SuppName = dsm.SuppName;
  956. baseInfo.ArriveStationTime = ((DateTime)dsm.PlanedDeliveryDate).ToString("yyyy/MM/dd");
  957. baseInfo.CheckCount = "0";
  958. baseInfo.Weight = txt_QtyHY.Text.Trim();
  959. baseInfo.MicDesc = v_Mic_desc;
  960. baseInfo.Mic = v_Mic;
  961. baseInfo.IsFg ="0";
  962. baseInfo.ConsignDept = UserInfo.GetDepartment();
  963. baseInfo.ConsignName = UserInfo.GetUserName();
  964. baseInfo.FilePosition = "Pms/ZBS/" + dsc.DeliverySubLineSqe + "/";
  965. baseInfo.ConsignTime = DateTime.Now;
  966. baseInfo.DataType = "0";//默认供应部
  967. baseInfo.Validflag = "1";
  968. baseInfo.WeightUnit = dsc.WeightUnit;
  969. baseInfo.GetSampleStdDesc = txt_GETSAMPLESTDDETAIL.Text.Trim(); ;
  970. baseInfo.GetSampleStd = txt_GETSAMPLESTD.Text.Trim();
  971. baseInfo.ZbsIsExist = "1";
  972. baseInfo.IsJudge = "0";
  973. baseInfo.IsUpload = "0";
  974. baseInfo.ItemCode = dsc.ItemCode;
  975. baseInfo.ItemName = dsc.ItemName;
  976. baseInfo.OrderNo = dsc.OrderId;
  977. if (txt_judgeTypeHY.SelectedIndex == -1)
  978. {
  979. MessageUtil.ShowTips("请选择委托类型");
  980. txt_judgeTypeHY.Focus();
  981. return;
  982. }
  983. baseInfo.JudgeTypeCode = txt_judgeTypeHY.Value.ToString().Trim();
  984. baseInfo.JudgeType = txt_judgeTypeHY.Text.Trim();
  985. //检验项目
  986. foreach (UltraGridRow row in ultraGrid3.Rows)
  987. {
  988. CheckconsignDetail detail = new CheckconsignDetail();
  989. String strBatchNo = String.IsNullOrEmpty(dsc.BatchNo) ? dsc.NoticeId : dsc.BatchNo;
  990. String strMatCode = row.GetCellValue("MATCODE").ToString().Trim();
  991. String strMatName = row.GetCellValue("MATNAME").ToString().Trim();
  992. String strRemark = row.GetCellValue("REMARK").ToString().Trim();
  993. String StdminSign = row.GetCellValue("STDMINSIGN").ToString();
  994. String Stdmin = row.GetCellValue("STDMIN").ToString();
  995. String Stdmax = row.GetCellValue("STDMAX").ToString();
  996. String StdmaxSign = row.GetCellValue("STDMAXSIGN").ToString();
  997. //DET.CheckCycle = ur.Cells["CHECKCYCLE"].Text.Trim();
  998. String JudgeType = row.GetCellValue("JUDGETYPECODE").ToString();
  999. String JudgeTYpeCode = row.Cells["JUDGETYPECODE"].Text.Trim();
  1000. //String strZbsValue = row.GetCellValue("ZBSVALUE").ToString().Trim();
  1001. detail.BatchNo = strBatchNo;
  1002. detail.MatCode = strMatCode;
  1003. detail.MatName = strMatName;
  1004. detail.Stdmax=
  1005. detail.Flag = "0";//待发送
  1006. detail.Remark = strRemark;
  1007. detail.Stdmax = Stdmax;
  1008. detail.StdmaxSign = StdmaxSign;
  1009. detail.Stdmin = Stdmin;
  1010. detail.StdminSign = StdminSign;
  1011. detail.JudgeType = JudgeType;
  1012. detail.JudgeTypeCode = JudgeTYpeCode;
  1013. //detail.ZbsValue = strZbsValue;
  1014. listDetail.Add(detail);
  1015. }
  1016. if (listDetail.Count <= 0)
  1017. {
  1018. MessageUtil.ShowTips("未维护检验项目,请维护检验基础信息或者新增检验项目");
  1019. return;
  1020. }
  1021. if (MessageUtil.ShowYesNoAndQuestion("确定为物料:" + dsc.ItemCode + "新增检验委托?") != DialogResult.Yes)
  1022. {
  1023. return;
  1024. }
  1025. re = this.execute<CoreResult>("com.hnshituo.pur.ck.service.CheckconsignDetailService", "insert_detail1", new object[] { baseInfo, listDetail, listSubC });
  1026. if (re.Resultcode == 0)
  1027. {
  1028. MessageUtil.ShowTips("操作成功,新增检验单:" + re.Resultmsg);
  1029. //重新加载送货单行
  1030. doQuerySubLineByList(list1);
  1031. CkClassCommon.doActiveSelRow(ultraGrid2, "deliverySubLineSqe", listSubC[0].DeliverySubLineSqe);
  1032. //重新加载检验项目
  1033. ExcDeliverySubC dsc1 = this.execute<ExcDeliverySubC>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "findById", new object[] { listSubC[0].DeliverySubLineSqe });
  1034. if (!String.IsNullOrEmpty(re.Resultmsg))
  1035. {
  1036. dataTable4.Clear();
  1037. querySampleList(dsc1.CheckNo);
  1038. }
  1039. }
  1040. else
  1041. {
  1042. MessageUtil.ShowTips("操作失败:" + re.Resultmsg);
  1043. }
  1044. }
  1045. #endregion
  1046. #region 公共用函数
  1047. private bool testSubC(string strDeliverySubLineSqe)
  1048. {
  1049. ExcDeliverySubC dsc = this.execute<ExcDeliverySubC>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "findById", new object[] { strDeliverySubLineSqe });
  1050. if (dsc == null)
  1051. {
  1052. MessageUtil.ShowTips("未发现送货单行:" + strDeliverySubLineSqe + "信息记录,可能已被删除,或请刷新界面重试");
  1053. return false;
  1054. }
  1055. if (dsc.Validflag != "1")
  1056. {
  1057. MessageUtil.ShowTips("送货单行:" + strDeliverySubLineSqe + "信息记录可能已被删除,或请刷新界面重试");
  1058. return false;
  1059. }
  1060. if (!String.IsNullOrEmpty(dsc.CheckNo))
  1061. {
  1062. MessageUtil.ShowTips("送货单行:" + strDeliverySubLineSqe + "已生成检化验委托,无需重复操作!");
  1063. return false;
  1064. }
  1065. return true;
  1066. }
  1067. //按照送货单集合查送货单
  1068. private void doQuerySubLineByList(ArrayList list)
  1069. {
  1070. clearSampleTabHY();
  1071. dataTable2.Clear();
  1072. dataTable4.Clear();
  1073. dataSet3.Clear();
  1074. dataSet4.Clear();
  1075. //this.Cursor = Cursors.WaitCursor;
  1076. ExcDeliverySubC EdSc = new ExcDeliverySubC();
  1077. EdSc.Col = (string[])list.ToArray(typeof(string));
  1078. EdSc.Validflag = "1";
  1079. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "Query_C", new object[] { EdSc });
  1080. GridHelper.CopyDataToDatatable(dt, dataTable2, true);
  1081. for (int i = 0; i < dataTable2.Rows.Count; i++)
  1082. {
  1083. if (dataTable2.Rows[i]["shipQty"] == DBNull.Value)
  1084. {
  1085. dataTable2.Rows[i]["shipQty"] = dataTable2.Rows[i]["QTY"];
  1086. }
  1087. else
  1088. {
  1089. if (Convert.ToDouble(dataTable2.Rows[i]["shipQty"].ToString().Trim()) <= 0)
  1090. {
  1091. dataTable2.Rows[i]["shipQty"] = dataTable2.Rows[i]["QTY"];
  1092. }
  1093. }
  1094. }
  1095. GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid2, new UltraGridColumn[] { ultraGrid2.DisplayLayout.Bands[0].Columns["checkMsg"], ultraGrid2.DisplayLayout.Bands[0].Columns["CHK"] });
  1096. }
  1097. //查询送货单行信息
  1098. private void doQuerySubLine(String strDeliverySubId)
  1099. {
  1100. if (String.IsNullOrEmpty(strDeliverySubId))
  1101. {
  1102. MessageUtil.ShowTips("送货单号为空");
  1103. }
  1104. clearSampleTabHY();
  1105. dataTable2.Clear();
  1106. dataTable4.Clear();
  1107. this.Cursor = Cursors.WaitCursor;
  1108. ExcDeliverySubC EdSc = new ExcDeliverySubC();
  1109. EdSc.DeliverySubId = strDeliverySubId;
  1110. EdSc.Validflag = "1";
  1111. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "Query_C", new object[] { EdSc });
  1112. GridHelper.CopyDataToDatatable(dt, dataTable2, true);
  1113. GridHelper.RefreshAndAutoSizeExceptColumns(ultraGrid2, new UltraGridColumn[] { ultraGrid2.DisplayLayout.Bands[0].Columns["checkMsg"] });
  1114. }
  1115. //读取待检检验项目
  1116. private void queryItemList(ExcDeliverySubC dsc)
  1117. {
  1118. if (dsc.MeteringFlag == "1")
  1119. {
  1120. OrderCStdBaseinfo baseInfo = new OrderCStdBaseinfo();
  1121. baseInfo.OrderLineSqe = dsc.OrderLineSqe;
  1122. baseInfo.Validflag = "1";
  1123. List<OrderCStdBaseinfo> list_baseInfo = this.execute<List<OrderCStdBaseinfo>>("com.hnshituo.pur.order.service.OrderCStdBaseinfoService", "find", new object[] { baseInfo, 0, 0 });
  1124. if (list_baseInfo != null && list_baseInfo.Count > 0)
  1125. {
  1126. String mic = list_baseInfo[0].Mic;
  1127. String micDesc = list_baseInfo[0].MicDesc;
  1128. String std = list_baseInfo[0].StandardsCode;
  1129. txt_std.Text = std;
  1130. txt_statusHY.Text = "待发送";
  1131. v_Mic = mic;
  1132. v_Mic_desc = micDesc;
  1133. txt_GETSAMPLESTD.Text = list_baseInfo[0].GetSampleStd;
  1134. txt_GETSAMPLESTDDETAIL.Text = list_baseInfo[0].GetSampleStdDesc;
  1135. txt_UOM.Text = dsc.ItemUom;
  1136. //开始查询检验项目明细
  1137. OrderCStdDetail detail = new OrderCStdDetail();
  1138. detail.OrderLineSqe = dsc.OrderLineSqe;
  1139. detail.Validflag = "1";
  1140. DataTable list_detail = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderCStdDetailService", "find", new object[] { detail, 0, 0 });
  1141. GridHelper.CopyDataToDatatable(list_detail, dataTable4, true);
  1142. }
  1143. else
  1144. {
  1145. txt_std.Text = "";
  1146. txt_statusHY.Text = "请维护检验标准";
  1147. }
  1148. }
  1149. else
  1150. {
  1151. txt_std.Text = "";
  1152. txt_statusHY.Text = "";
  1153. }
  1154. }
  1155. //读取已生成检验鲜项目从表数据
  1156. private void querySampleList(String strCheckNo)
  1157. {
  1158. try
  1159. {
  1160. CheckconsignBaseinfo tempbaseInfo = new CheckconsignBaseinfo();
  1161. tempbaseInfo.CheckNo = strCheckNo;
  1162. tempbaseInfo.Validflag = "1";
  1163. List<CheckconsignBaseinfo> ListBaseInfo = this.execute<List<CheckconsignBaseinfo>>("com.hnshituo.pur.ck.service.CheckconsignBaseinfoService", "find", new object[] { tempbaseInfo,0,0});
  1164. if (ListBaseInfo.Count() <= 0)
  1165. {
  1166. txt_statusHY.Text = "已作废";
  1167. }
  1168. else
  1169. {
  1170. CheckconsignBaseinfo baseInfo = ListBaseInfo[0];
  1171. txt_statusHY.Text = "已发送";
  1172. txt_std.Text = baseInfo.StandardsCode;
  1173. v_Mic = baseInfo.Mic;
  1174. v_Mic_desc = baseInfo.MicDesc;
  1175. txt_GETSAMPLESTD.Text = baseInfo.GetSampleStd;
  1176. txt_GETSAMPLESTDDETAIL.Text = baseInfo.GetSampleStdDesc;
  1177. CheckconsignDetail detail = new CheckconsignDetail();
  1178. detail.CheckNo = strCheckNo;
  1179. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.ck.service.CheckconsignDetailService", "find", new object[] { detail,0,0});
  1180. GridHelper.CopyDataToDatatable(dt, dataTable4, true);
  1181. }
  1182. }
  1183. catch (Exception ex)
  1184. {
  1185. MessageUtil.ShowTips("查询检验项目失败:" + ex.Message);
  1186. }
  1187. }
  1188. //清空jhy编辑区
  1189. private void clearSampleTabHY()
  1190. {
  1191. txt_std.Clear();
  1192. txt_carNumHY.Clear();
  1193. txt_QtyHY.Clear();
  1194. txt_CheckNo.Clear();
  1195. ck_pcFlag.Checked = false;
  1196. ck_pcFlag.Enabled = true;
  1197. txt_statusHY.Clear();
  1198. v_Mic="";
  1199. v_Mic_desc="";
  1200. dt_addItem.Clear();
  1201. txt_UOM.Clear();
  1202. txt_GETSAMPLESTD.Clear();
  1203. txt_GETSAMPLESTDDETAIL.Clear();
  1204. txt_addItemHY.Clear();
  1205. txt_addItemRemark.Clear();
  1206. dt_addItem.Clear();
  1207. }
  1208. /// <summary>
  1209. /// 校验检验号是否可以作废
  1210. /// </summary>
  1211. /// <param name="strCheckNo"></param>
  1212. /// <returns></returns>
  1213. private bool testSampleNo(string strCheckNo)
  1214. {
  1215. CheckconsignDetail detail = new CheckconsignDetail();
  1216. detail.CheckNo = strCheckNo;
  1217. List<CheckconsignDetail> list = this.execute<List<CheckconsignDetail>>("com.hnshituo.pur.ck.service.CheckconsignDetailService", "find", new object[] { detail, 0, 0 });
  1218. if (list != null)
  1219. {
  1220. if (list.Count > 0)
  1221. {
  1222. foreach (CheckconsignDetail det in list)
  1223. {
  1224. if (det.Flag != "-1")
  1225. {
  1226. MessageUtil.ShowTips("该检化验项委托可能已发送,不能作废!");
  1227. return false;
  1228. }
  1229. }
  1230. }
  1231. else
  1232. {
  1233. MessageUtil.ShowTips("未发现检化验号:" + strCheckNo + "检验项明细!");
  1234. return false;
  1235. }
  1236. }
  1237. else
  1238. {
  1239. MessageUtil.ShowTips("未发现检化验号:" + strCheckNo + "检验项明细!");
  1240. return false;
  1241. }
  1242. return true;
  1243. }
  1244. /// <summary>
  1245. /// 初检或者取消初检校验
  1246. /// </summary>
  1247. /// <param name="deliverySubId"></param>
  1248. /// <param name="p"></param>
  1249. /// <returns></returns>
  1250. private bool testDeliveryStatus(String deliverySubId, int p,String meterFlag,String PcFlag)
  1251. {
  1252. if (String.IsNullOrEmpty(deliverySubId))
  1253. {
  1254. MessageUtil.ShowTips("送货单行号为空,无法校验数据有效性");
  1255. return false;
  1256. }
  1257. ExcDeliverySubC subc = this.execute<ExcDeliverySubC>("com.hnshituo.pur.ck.service.ExcDeliverySubCService", "findById", new object[] { deliverySubId });
  1258. if (subc == null)
  1259. {
  1260. MessageUtil.ShowTips("未发现送货单行:" + deliverySubId + " 信息记录,可能已作废,或请刷新界面重试");
  1261. return false;
  1262. }
  1263. if (subc.Validflag != "1")
  1264. {
  1265. MessageUtil.ShowTips("未发现送货单行:" + deliverySubId + " 信息记录,可能已作废,或请刷新界面重试");
  1266. return false;
  1267. }
  1268. String testStatus = subc.Status;
  1269. if (String.IsNullOrEmpty(subc.DeliverySubId))
  1270. {
  1271. MessageUtil.ShowTips("未找到送货单行的头信息");
  1272. return false;
  1273. }
  1274. ExcDeliverySubM subM = this.execute<ExcDeliverySubM>("com.hnshituo.pur.ck.service.ExcDeliverySubMService", "findById", new object[] { subc.DeliverySubId });
  1275. if (subM == null)
  1276. {
  1277. MessageUtil.ShowTips("未发现送货单:" + subc.DeliverySubId + " 信息记录,可能已作废,或请刷新界面重试");
  1278. return false;
  1279. }
  1280. if (subM.Validflag != "1")
  1281. {
  1282. MessageUtil.ShowTips("未发现送货单:" + subc.DeliverySubId + " 信息记录,可能已作废,或请刷新界面重试");
  1283. return false;
  1284. }
  1285. if (subM.Status != "1")
  1286. {
  1287. MessageUtil.ShowTips("送货单:" + subc.DeliverySubId + " 可能已经收货完成,或请刷新界面重试");
  1288. return false;
  1289. }
  1290. //完成初检校验
  1291. if (p == 1)
  1292. {
  1293. if (testStatus != "1")
  1294. {
  1295. MessageUtil.ShowTips("送货单行:" + deliverySubId + " 可能已经初检完成,或请刷新界面重试");
  1296. return false;
  1297. }
  1298. if (meterFlag == "1")
  1299. {
  1300. if (subc.Ismeter == "0")
  1301. {
  1302. MessageUtil.ShowTips("物料:" + subc .ItemName+ " 为计重物料,请先计量");
  1303. return false;
  1304. }
  1305. }
  1306. if (PcFlag == "1")
  1307. {
  1308. if (String.IsNullOrEmpty(subc.CheckNo))
  1309. {
  1310. MessageUtil.ShowTips("物料:" + subc.ItemName + " 为检化验物料,请生成检化验委托并做好取样和检验准备");
  1311. return false;
  1312. }
  1313. }
  1314. }
  1315. //取消初检校验
  1316. else if (p == 2)
  1317. {
  1318. if (testStatus != "2" && testStatus != "3")
  1319. {
  1320. MessageUtil.ShowTips("送货单行:" + deliverySubId + " 可能还未完成初检或已经(待检)入库,或请刷新界面重试");
  1321. return false;
  1322. }
  1323. }
  1324. else
  1325. {
  1326. MessageUtil.ShowTips("未知参数:" + p);
  1327. return false;
  1328. }
  1329. return true;
  1330. }
  1331. #endregion
  1332. #region 新增检验项处理
  1333. private void btn_add_item_Click(object sender, EventArgs e)
  1334. {
  1335. if (dt_addItem==null||dt_addItem.Rows.Count <= 0)
  1336. {
  1337. MessageUtil.ShowTips("请选择新增检验项目");
  1338. return;
  1339. }
  1340. if (dt_addItem.Rows.Count > 0)
  1341. {
  1342. dt_addItem.Columns.Add("remark", typeof(string));
  1343. dt_addItem.Columns.Add("judgeType", typeof(string));
  1344. }
  1345. foreach (DataRow row in dt_addItem.Rows)
  1346. {
  1347. row["remark"] ="[新增项]"+txt_addItemRemark.Text.ToString();
  1348. row["judgeType"] = txt_judgeTypeHY.Value.ToString().Trim();
  1349. }
  1350. GridHelper.CopyDataToDatatable(dt_addItem, dataTable4, false);
  1351. GridHelper.RefreshAndAutoSize(ultraGrid3);
  1352. txt_addItemHY.Clear();
  1353. txt_addItemRemark.Clear();
  1354. dt_addItem.Clear();
  1355. }
  1356. private void txt_addItemHY_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  1357. {
  1358. WinMatItemsSelect frm = new WinMatItemsSelect(this.ob);
  1359. frm.ShowDialog();
  1360. dt_addItem = frm.DtSelectItems;
  1361. if (dt_addItem == null)
  1362. {
  1363. return;
  1364. }
  1365. StringBuilder itemCol = new StringBuilder("");
  1366. foreach(DataRow row in dt_addItem.Rows)
  1367. {
  1368. //row["remark"] ="[新增项]"+txt_addItemRemark.Text.ToString();
  1369. String strItemName = row["MATNAME"].ToString();
  1370. if (!String.IsNullOrEmpty(strItemName))
  1371. {
  1372. if (itemCol.Length >=1)
  1373. {
  1374. itemCol.Append(";").Append(strItemName);
  1375. }
  1376. else
  1377. {
  1378. itemCol.Append(strItemName);
  1379. }
  1380. }
  1381. }
  1382. txt_addItemHY.Text = itemCol.ToString();
  1383. }
  1384. private void btn_deleteItem_Click(object sender, EventArgs e)
  1385. {
  1386. ultraGrid3.UpdateData();
  1387. if (ultraGrid3.ActiveRow == null)
  1388. {
  1389. MessageUtil.ShowTips("请选择检验项目进行删除");
  1390. return;
  1391. }
  1392. UltraGridRow uge=ultraGrid3.ActiveRow;
  1393. if (String.IsNullOrEmpty(uge.GetCellValue("flag").ToString().Trim()))
  1394. {
  1395. uge.Delete();
  1396. }
  1397. else
  1398. {
  1399. MessageUtil.ShowTips("非新增项不允许删除");
  1400. return;
  1401. }
  1402. }
  1403. #endregion
  1404. #region 附件处理
  1405. private void craftImg_EditorButtonClick(object sender, EditorButtonEventArgs e)
  1406. {
  1407. try
  1408. {
  1409. UltraGridRow row = ultraGrid4.ActiveRow;
  1410. string filePathOld = row.GetValue("certPathOld");
  1411. if (e.Button.Key.ToLower().Equals("select"))
  1412. {
  1413. FrmPopFileShow down = new FrmPopFileShow(this.ob, filePathOld);
  1414. down.DeleteButton.Visible = false;
  1415. down.ShowDialog();
  1416. //String path = Environment.CurrentDirectory + "\\Tmp\\" + filePathOld;
  1417. // System.Diagnostics.Process.Start(path);
  1418. }
  1419. }
  1420. catch (Exception ex)
  1421. {
  1422. MessageUtil.ShowTips("操作失败:" + ex);
  1423. }
  1424. }
  1425. private void txt_certPath_EditorButtonClick(object sender, EditorButtonEventArgs e)
  1426. {
  1427. try
  1428. {
  1429. if (e.Button.Key.ToLower().Equals("insert"))
  1430. {
  1431. OpenFileDialog file = new OpenFileDialog();
  1432. file.Multiselect = false;
  1433. DialogResult drStat;
  1434. drStat = file.ShowDialog();
  1435. if (drStat == DialogResult.OK)
  1436. {
  1437. fileName = file.FileName;
  1438. string filena = System.IO.Path.GetFileName(fileName);
  1439. txt_certPath.Text = filena;
  1440. }
  1441. }
  1442. }
  1443. catch (Exception ex)
  1444. {
  1445. MessageUtil.ShowTips("操作失败:" + ex);
  1446. }
  1447. }
  1448. //上传按钮
  1449. private void btn_submitAppend_Click(object sender, EventArgs e)
  1450. {
  1451. if (ultraGrid2.ActiveRow == null)
  1452. {
  1453. MessageUtil.ShowTips("未选择送货单行号");
  1454. return;
  1455. }
  1456. UltraGridRow uge = ultraGrid2.ActiveRow;
  1457. string strDeliverySubLineSqe = uge.Cells["DELIVERYSUBLINESQE"].Value.ToString();//送货通知单行号
  1458. if (String.IsNullOrEmpty(strDeliverySubLineSqe))
  1459. {
  1460. MessageUtil.ShowTips("送货单号为空");
  1461. return;
  1462. }
  1463. //判断是否可以上传
  1464. //if (testStatus(strtaskId, 0) == false)
  1465. //{
  1466. // return;
  1467. //}
  1468. String filena = txt_certPath.Text.ToString().Trim();
  1469. if (String.IsNullOrEmpty(filena) || String.IsNullOrEmpty(fileName))
  1470. {
  1471. MessageUtil.ShowTips("请选择待上传文件");
  1472. return;
  1473. }
  1474. OrderAppend sat = new OrderAppend();
  1475. sat.OrderId = strDeliverySubLineSqe;
  1476. String filePathNew = "Pms/ZBS/" + strDeliverySubLineSqe + "/";
  1477. sat.CertPath = filena;
  1478. sat.CertPathOld = filePathNew + filena;
  1479. sat.CreateUserid = UserInfo.GetUserID();
  1480. sat.CreateName = UserInfo.GetUserName();
  1481. sat.CreateTime = DateTime.Now;
  1482. sat.Validflag = "1";
  1483. sat.CertDesc = txt_CERTDESC.Text.Trim();
  1484. if (GetCraftFileCraftNoCnt(filena, strDeliverySubLineSqe) > 0)
  1485. {
  1486. MessageUtil.ShowTips("送货单行已存在该附件文件:" + filena);
  1487. return;
  1488. }
  1489. List<FileBean> list = new List<FileBean>();
  1490. FileBean bean = new FileBean();
  1491. bean = new FileBean();
  1492. bean.setFileName(filena);
  1493. bean.setPathName(filePathNew);
  1494. bean.setFile(FileHelper.FileToArray(fileName));
  1495. list.Add(bean);
  1496. bool isSuccess = Core.Mes.Client.Comm.Server.FileHelper.Upload(list);
  1497. if (isSuccess)
  1498. {
  1499. //开始写数据库
  1500. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderAppendService", "insert_append", new object[] { sat });
  1501. if (crt.Resultcode != 0)
  1502. {
  1503. MessageUtil.ShowTips("上传失败:" + crt.Resultmsg);
  1504. }
  1505. else
  1506. {
  1507. MessageUtil.ShowTips("上传成功");
  1508. ClearTab5();
  1509. }
  1510. }
  1511. else
  1512. {
  1513. MessageBox.Show("上传失败");
  1514. }
  1515. //刷新界面并激活当前行
  1516. Relocate(sat);
  1517. }
  1518. private void Relocate(OrderAppend sat)
  1519. {
  1520. getOrderAppend(sat.OrderId, sat.CertPath);
  1521. }
  1522. private void getOrderAppend(string p1, string p2)
  1523. {
  1524. dataTable6.Clear();
  1525. OrderAppend append = new OrderAppend();
  1526. append.OrderId = p1;
  1527. append.Validflag = "1";
  1528. DataTable dt = this.execute<DataTable>("com.hnshituo.pur.order.service.OrderAppendService", "find", new object[] { append, 0, 0 });
  1529. GridHelper.CopyDataToDatatable(dt, dataTable6, true);
  1530. GridHelper.RefreshAndAutoSize(ultraGrid4);
  1531. if (!String.IsNullOrEmpty(p2))
  1532. {
  1533. ConfigureClassCommon.doActiveSelRow(ultraGrid4, "CERTPATH", p2);
  1534. }
  1535. }
  1536. /// <summary>
  1537. /// 判断是否之前已提交相同的文件
  1538. /// </summary>
  1539. /// <param name="craftNo"></param>
  1540. /// <returns></returns>
  1541. private int GetCraftFileCraftNoCnt(string CERT_PATH, string orderId)
  1542. {
  1543. OrderAppend sat = new OrderAppend();
  1544. sat.CertPath = CERT_PATH;
  1545. sat.OrderId = orderId;
  1546. sat.Validflag = "1";
  1547. int dt = this.execute<int>("com.hnshituo.pur.order.service.OrderAppendService", "count", new object[] { sat });
  1548. return dt;
  1549. }
  1550. /// <summary>
  1551. /// 清空文件上传编辑区
  1552. /// </summary>
  1553. private void ClearTab5()
  1554. {
  1555. txt_certPath.Clear();
  1556. txt_CERTDESC.Clear();
  1557. fileName = "";
  1558. }
  1559. /// <summary>
  1560. /// 删除文件
  1561. /// </summary>
  1562. /// <param name="sender"></param>
  1563. /// <param name="e"></param>
  1564. private void btn_deleteAppend_Click(object sender, EventArgs e)
  1565. {
  1566. UltraGridRow uge = ultraGrid2.ActiveRow;
  1567. if (uge == null)
  1568. {
  1569. MessageUtil.ShowTips("请选择送货单行!");
  1570. return;
  1571. }
  1572. string strDeliverySubLineSqe = uge.Cells["DELIVERYSUBLINESQE"].Value.ToString();//送货通知单行号
  1573. if (String.IsNullOrEmpty(strDeliverySubLineSqe))
  1574. {
  1575. MessageUtil.ShowTips("该送货单行编号为空!");
  1576. return;
  1577. }
  1578. UltraGridRow rowAppend = ultraGrid4.ActiveRow;
  1579. if (rowAppend == null)
  1580. {
  1581. MessageUtil.ShowTips("请选择需删除的附件!");
  1582. return;
  1583. }
  1584. String strAppendID = rowAppend.Cells["ID"].Value.ToString().Trim();
  1585. String strcertPath = rowAppend.Cells["CERTPATH"].Value.ToString().Trim();
  1586. String strCertPathOld = rowAppend.Cells["CERTPATHOLD"].Value.ToString().Trim();
  1587. if (String.IsNullOrEmpty(strAppendID))
  1588. {
  1589. MessageUtil.ShowTips("该送货单行附件编号为空!");
  1590. return;
  1591. }
  1592. if (String.IsNullOrEmpty(strCertPathOld))
  1593. {
  1594. MessageUtil.ShowTips("未获取到送货单行附件地址信息!");
  1595. return;
  1596. }
  1597. //验证送货单是否可以增删改
  1598. if (testOrderAppendStatus(strAppendID, 1) == false)
  1599. {
  1600. return;
  1601. }
  1602. OrderAppend append = new OrderAppend();
  1603. append.Id = strAppendID;
  1604. append.Validflag = "0";
  1605. append.DeleteName = UserInfo.GetUserName();
  1606. append.DeleteTime = DateTime.Now;
  1607. append.DeleteUserid = UserInfo.GetUserID();
  1608. if (MessageUtil.ShowYesNoAndQuestion("确定删除附件:" + strcertPath + "?") != DialogResult.Yes)
  1609. {
  1610. return;
  1611. }
  1612. CoreResult crt = this.execute<CoreResult>("com.hnshituo.pur.order.service.OrderAppendService", "delete_append", new object[] { append });
  1613. if (crt.Resultcode != 0)
  1614. {
  1615. MessageUtil.ShowTips("删除失败!" + crt.Resultmsg);
  1616. return;
  1617. }
  1618. else
  1619. {
  1620. bool isSuccess = Core.Mes.Client.Comm.Server.FileHelper.Delete(strCertPathOld);
  1621. if (isSuccess)
  1622. {
  1623. MessageUtil.ShowTips("删除成功");
  1624. }
  1625. else
  1626. {
  1627. MessageBox.Show("删除成功");
  1628. }
  1629. }
  1630. getOrderAppend(strDeliverySubLineSqe, "");
  1631. }
  1632. /// <summary>
  1633. /// 验证合同条款输入数据的有效性
  1634. /// </summary>
  1635. /// <returns></returns>
  1636. private bool testOrderAppendStatus(String strId, int p)// 验证合同附件
  1637. {
  1638. OrderAppend append = this.execute<OrderAppend>("com.hnshituo.pur.order.service.OrderAppendService", "findById", new object[] { strId });
  1639. if (append == null)
  1640. {
  1641. MessageUtil.ShowTips("未发现附件:" + strId + "信息记录,可能已作废");
  1642. return false;
  1643. }
  1644. if (append.Validflag != "1")
  1645. {
  1646. MessageUtil.ShowTips("附件:" + strId + "信息记录可能已作废");
  1647. return false;
  1648. }
  1649. if (append.CreateUserid != UserInfo.GetUserID())
  1650. {
  1651. MessageUtil.ShowTips("非本人上传附件无权限进行增删改");
  1652. return false;
  1653. }
  1654. if (p == 1)
  1655. {
  1656. }
  1657. else
  1658. {
  1659. MessageUtil.ShowTips("未知参数:" + p + "");
  1660. return false;
  1661. }
  1662. return true;
  1663. }
  1664. #endregion
  1665. }
  1666. }