FrmEntrustPrice.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  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 Core.Mes.Client.Comm.Control;
  10. using Core.Mes.Client.Comm.Format;
  11. using Core.Mes.Client.Comm.Tool;
  12. using Core.StlMes.Client.Mcp.Control.Entity;
  13. using Core.StlMes.Client.Mcp.Treatment.Entity;
  14. using CoreFS.CA06;
  15. namespace Core.StlMes.Client.Mcp.Treatment.HeatTreatment
  16. {
  17. public partial class FrmEntrustPrice : FrmBase
  18. {
  19. public FrmEntrustPrice()
  20. {
  21. InitializeComponent();
  22. }
  23. private List<ComBaseInfoEntity> ProjectList = null;
  24. private List<HttEntrustApplymemoEntity> CurrentApplymemoEntity = new List<HttEntrustApplymemoEntity>();
  25. protected override void OnLoad(EventArgs e)
  26. {
  27. base.OnLoad(e);
  28. EntityHelper.ShowGridCaption<HttEntrustPriceEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  29. EntityHelper.ShowGridCaption<HttEntrustApplymemoEntity>(ultraGrid2.DisplayLayout.Bands[0]);
  30. comm.RefreshAndAutoSize(ultraGrid1, true);
  31. ProjectList = EntityHelper.GetData<ComBaseInfoEntity>(
  32. "com.steering.mes.mcp.common.PlanService.getBaseInfoAll",
  33. new object[] { "7022" },
  34. ob);
  35. uceTypeQuery.DataSource = ProjectList.Where(p => p.Sortcode == "7022").ToList();
  36. uceTypeQuery.ValueMember = "Basecode";
  37. uceTypeQuery.DisplayMember = "Basename";
  38. uceTypeEdit.DataSource = ProjectList.Where(p => p.Sortcode == "7022").ToList();
  39. uceTypeEdit.ValueMember = "Basecode";
  40. uceTypeEdit.DisplayMember = "Basename";
  41. uceProject.DataSource = ProjectList.Where(p => ProjectList.All(q => q.Sortcode != p.Basecode)).ToList();
  42. uceProject.ValueMember = "Basecode";
  43. uceProject.DisplayMember = "Basename";
  44. }
  45. public override void ToolBar_Click(object sender, string ToolbarKey)
  46. {
  47. switch (ToolbarKey)
  48. {
  49. case "Query":
  50. this.doQuery();
  51. break;
  52. case "Add":
  53. this.doAdd();
  54. break;
  55. case "Update":
  56. this.doUpdate();
  57. break;
  58. case "Delete":
  59. this.doDelete();
  60. break;
  61. case "Export":
  62. Export();
  63. break;
  64. case "Close":
  65. this.Close();
  66. break;
  67. }
  68. }
  69. private void doDelete()
  70. {
  71. HttEntrustPriceEntity data = GetEditEntity();
  72. data.DeleteName = this.UserInfo.GetUserName();
  73. var ccp = new CoreClientParam();
  74. ccp.ServerName = "com.steering.mes.mcp.common.frmEntrust";
  75. ccp.MethodName = "doDeletePrice";
  76. ccp.ServerParams = new object[]
  77. {
  78. JSONFormat.Format(data),
  79. };
  80. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  81. if (ccp.ReturnCode != -1)
  82. {
  83. MessageUtil.ShowTips(ccp.ReturnInfo);
  84. if (ccp.ReturnInfo.Equals("作废成功!"))
  85. {
  86. doQuery();
  87. }
  88. }
  89. }
  90. private void doUpdate()
  91. {
  92. HttEntrustPriceEntity data = GetEditEntity();
  93. string Msg = Check(data);
  94. if (Msg != "")
  95. {
  96. MessageBox.Show(Msg);
  97. return;
  98. }
  99. data.UpdateName = this.UserInfo.GetUserName();
  100. var ccp = new CoreClientParam();
  101. ccp.ServerName = "com.steering.mes.mcp.common.frmEntrust";
  102. ccp.MethodName = "doUpdatePrice";
  103. ccp.ServerParams = new object[]
  104. {
  105. JSONFormat.Format(data),
  106. CurrentApplymemoEntity.Select(JSONFormat.Format).ToList(),
  107. };
  108. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  109. if (ccp.ReturnCode != -1)
  110. {
  111. MessageUtil.ShowTips(ccp.ReturnInfo);
  112. if (ccp.ReturnInfo.Equals("修改成功!"))
  113. {
  114. doQuery();
  115. }
  116. }
  117. }
  118. private void doAdd()
  119. {
  120. HttEntrustPriceEntity data = GetEditEntity();
  121. string Msg = Check(data);
  122. if (Msg != "")
  123. {
  124. MessageBox.Show(Msg);
  125. return;
  126. }
  127. data.CreateName = this.UserInfo.GetUserName();
  128. var ccp = new CoreClientParam();
  129. ccp.ServerName = "com.steering.mes.mcp.common.frmEntrust";
  130. ccp.MethodName = "doAddPrice";
  131. ccp.ServerParams = new object[]
  132. {
  133. JSONFormat.Format(data),
  134. CurrentApplymemoEntity.Select(JSONFormat.Format).ToList()
  135. };
  136. ccp = ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  137. if (ccp.ReturnCode != -1)
  138. {
  139. MessageUtil.ShowTips(ccp.ReturnInfo);
  140. if (ccp.ReturnInfo.Equals("新增成功!"))
  141. {
  142. doQuery();
  143. }
  144. }
  145. }
  146. private string Check(HttEntrustPriceEntity data)
  147. {
  148. if (data.ModelCode == "")
  149. {
  150. return "请选择扣型";
  151. }
  152. if (data.SpecCode == "")
  153. {
  154. return "请选择规格";
  155. }
  156. if (data.Steelcode == "")
  157. {
  158. return "请选择钢级";
  159. }
  160. if (data.ProjectCode == "")
  161. {
  162. return "请选择项目";
  163. }
  164. if (data.UnitPrice == null && data.UnitProceTax == null)
  165. {
  166. return "请至少维护一个价格";
  167. }
  168. if (string.IsNullOrEmpty(data.Unit))
  169. {
  170. return "请至少维护计价单位";
  171. }
  172. return "";
  173. }
  174. private HttEntrustPriceEntity GetEditEntity()
  175. {
  176. HttEntrustPriceEntity data= new HttEntrustPriceEntity()
  177. {
  178. ProjectCode = uceProject.SelectedItem==null?"": uceProject.SelectedItem.DataValue.ToString2(),
  179. ProjectName = uceProject.SelectedItem == null ? "" : uceProject.SelectedItem.DisplayText.ToString2(),
  180. ProjectType = uceTypeEdit.SelectedItem.DataValue.ToString2(),
  181. SpecCode = uteSpcCode.Text,
  182. SpecName = uteSpcName.Text,
  183. Steelcode = uteSteelCode.Text,
  184. Steelname = uteSteelName.Text,
  185. ModelCode = uteModelCode.Text,
  186. ModelDesc = uteModelName.Text,
  187. Unit = uceUnit.SelectedIndex>-1?uceUnit.SelectedItem.DataValue.ToString2():"",
  188. Remark = uteMemo.Text,
  189. Id = txtID.Text
  190. };
  191. if (uneUnitPrice.Text != "")
  192. {
  193. data.UnitPrice = decimal.Parse(uneUnitPrice.Value.ToString3());
  194. }
  195. if (uneUnitPriceTax.Text != "")
  196. {
  197. data.UnitProceTax = decimal.Parse(uneUnitPriceTax.Value.ToString3());
  198. }
  199. return data;
  200. }
  201. private void doQuery()
  202. {
  203. List<HttEntrustPriceEntity> listSource = EntityHelper.GetData<HttEntrustPriceEntity>(
  204. "com.steering.mes.mcp.common.frmEntrust.doQueryPrice",
  205. new object[] { uceTypeLable.Checked && uceTypeQuery.SelectedIndex>-1? uceTypeQuery.SelectedItem.DataValue.ToString2():"", chkValid.Checked?"":"1" }, ob);
  206. httEntrustPriceEntityBindingSource.DataSource = listSource;
  207. comm.RefreshAndAutoSize(ultraGrid1, true);
  208. }
  209. private void Export()
  210. {
  211. GridHelper.ulGridToExcel(ultraGrid1, "委托项目价格明显");
  212. }
  213. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  214. {
  215. HttEntrustPriceEntity entity = ultraGrid1.ActiveRow.ListObject as HttEntrustPriceEntity;
  216. if(entity==null) return;
  217. List<HttEntrustApplymemoEntity> listSource = EntityHelper.GetData<HttEntrustApplymemoEntity>(
  218. "com.steering.mes.mcp.common.frmEntrust.doQueryApplyMemo",
  219. new object[] { entity.ProjectCode }, ob);
  220. uegApplyMemo.Expanded = listSource.Any();
  221. httEntrustApplymemoEntityBindingSource.DataSource = listSource;
  222. uceTypeEdit.Value = entity.ProjectType;
  223. uceProject.Value = entity.ProjectCode;
  224. uteSpcCode.Text = entity.SpecCode;
  225. uteSpcName.Text = entity.SpecName;
  226. uteSteelName.Text = entity.Steelname;
  227. uteSteelCode.Text = entity.Steelcode;
  228. uteModelCode.Text = entity.ModelCode;
  229. uteModelName.Text = entity.ModelDesc;
  230. uceUnit.Value = entity.Unit;
  231. uneUnitPrice.Value = entity.UnitPrice;
  232. uneUnitPriceTax.Value = entity.UnitProceTax;
  233. uteMemo.Text = entity.Remark;
  234. txtID.Text = entity.Id;
  235. CurrentApplymemoEntity =listSource.Any()?listSource.Select(p => p.Clone()).ToList():new List<HttEntrustApplymemoEntity>();
  236. }
  237. private void uceTypeEdit_ValueChanged(object sender, EventArgs e)
  238. {
  239. if (uceTypeEdit.SelectedIndex < 0)
  240. {
  241. uceProject.Items.Clear();;
  242. }
  243. else
  244. {
  245. uceProject.DataSource = ProjectList.Where(p => ProjectList.All(q => q.Sortcode != p.Basecode) && p.Sortcode.StartsWith(uceTypeEdit.SelectedItem.DataValue.ToString2())).ToList();
  246. uceProject.ValueMember = "Basecode";
  247. uceProject.DisplayMember = "Basename";
  248. }
  249. }
  250. private void uteEditMemo_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  251. {
  252. using (FrmChooseMemo FrmChooseMemo = new FrmChooseMemo(CurrentApplymemoEntity))
  253. {
  254. if (FrmChooseMemo.ShowDialog() == DialogResult.OK)
  255. {
  256. CurrentApplymemoEntity = FrmChooseMemo.GetValue();
  257. }
  258. }
  259. }
  260. private void uteSpcCode_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  261. {
  262. if (e.Button.Key == "Clear")
  263. {
  264. uteSpcCode.Text = "/";
  265. uteSpcName.Text = "/";
  266. }
  267. else
  268. {
  269. using (FrmChooseSpc FrmChooseSpc = new FrmChooseSpc(ob) {Code = uteSpcCode.Text, Name = uteSpcName.Text}
  270. )
  271. {
  272. if (FrmChooseSpc.ShowDialog() == DialogResult.OK)
  273. {
  274. uteSpcCode.Text = FrmChooseSpc.Code;
  275. uteSpcName.Text = FrmChooseSpc.Name;
  276. }
  277. }
  278. }
  279. }
  280. private void uteSteelName_EditorButtonClick_1(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  281. {
  282. if (e.Button.Key == "Clear")
  283. {
  284. uteSteelCode.Text = "/";
  285. uteSteelName.Text = "/";
  286. }
  287. else
  288. {
  289. using (
  290. FrmChooseSteel FrmChooseSteel = new FrmChooseSteel(ob)
  291. {
  292. Code = uteSteelCode.Text,
  293. Name = uteSteelName.Text
  294. })
  295. {
  296. if (FrmChooseSteel.ShowDialog() == DialogResult.OK)
  297. {
  298. uteSteelCode.Text = FrmChooseSteel.Code;
  299. uteSteelName.Text = FrmChooseSteel.Name;
  300. }
  301. }
  302. }
  303. }
  304. private void uteModelCode_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  305. {
  306. if (e.Button.Key == "Clear")
  307. {
  308. uteModelCode.Text = "/";
  309. uteModelName.Text = "/";
  310. }
  311. else
  312. {
  313. using (
  314. FrmChooseModel FrmChooseModel = new FrmChooseModel(ob)
  315. {
  316. Code = uteModelCode.Text,
  317. Name = uteModelName.Text
  318. })
  319. {
  320. if (FrmChooseModel.ShowDialog() == DialogResult.OK)
  321. {
  322. uteModelCode.Text = FrmChooseModel.Code;
  323. uteModelName.Text = FrmChooseModel.Name;
  324. }
  325. }
  326. }
  327. }
  328. }
  329. }