华恒Mes鼎捷代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

381 lines
14 KiB

5 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using DevExpress.XtraEditors;
  9. using ICSSoft.Base.Language.Tool;
  10. using ICSSoft.Base.Config.AppConfig;
  11. using ICSSoft.Base.UserControl.MessageControl;
  12. using ICSSoft.Base.Config.DBHelper;
  13. using ICSSoft.Base.Report.Filter;
  14. using ICSSoft.Base.UserControl.FormControl;
  15. using ICSSoft.Base.Report.GridReport;
  16. using ICSSoft.Base.ReferForm.AppReferForm;
  17. using ICSSoft.Frame.Data.BLL;
  18. using Newtonsoft.Json;
  19. using System.Net;
  20. using System.Configuration;
  21. using ICSSoft.Entity.PU_AppVouch;
  22. using ICSSoft.Frame.Data.Entity.WWModel;
  23. using ICSSoft.Frame.Data.DAL;
  24. using ICSSoft.Frame.Data.Entity;
  25. namespace ICSSoft.Frame.APP
  26. {
  27. public partial class FormICSSkillMatrixAdd : DevExpress.XtraEditors.XtraForm
  28. {
  29. ICSSkillMatrix SkillMatrix;
  30. int flag;
  31. string guid;
  32. public FormICSSkillMatrixAdd()
  33. {
  34. InitializeComponent();
  35. Init();
  36. chargeFormState("Add");
  37. flag = 0;
  38. guid = AppConfig.GetGuid();
  39. // this.cobEquipmentName.Visible = false;
  40. this.txtProcessCoding.Visible = false;
  41. // this.label8.Visible = false;
  42. this.label2.Visible = false;
  43. }
  44. public FormICSSkillMatrixAdd(string id)
  45. {
  46. InitializeComponent();
  47. Init();
  48. chargeFormState("Edit");
  49. SearchTypeInfo(id);
  50. flag = 1;
  51. guid = id;
  52. // this.cobEquipmentName.Visible = false;
  53. this.txtProcessCoding.Visible = false;
  54. // this.label8.Visible = false;
  55. this.label2.Visible = false;
  56. }
  57. private void chargeFormState(string state)
  58. {
  59. switch (state)
  60. {
  61. case "Add":
  62. txtMUSERName.Text = AppConfig.UserName;
  63. txtMTIME.Text = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss").ToString();
  64. txtMUSERName.Properties.ReadOnly = true;
  65. txtMTIME.Properties.ReadOnly = true;
  66. break;
  67. case "Edit":
  68. //txtProcessRouteCoding.Properties.Buttons[0].Visible = false;
  69. //txtProcessRouteCoding.Enabled = false;
  70. txtMUSERName.Text = AppConfig.UserName;
  71. txtMTIME.Text = AppConfig.GetSeverDateTime("yyyy-MM-dd HH:mm:ss").ToString();
  72. txtMUSERName.Properties.ReadOnly = true;
  73. txtMTIME.Properties.ReadOnly = true;
  74. break;
  75. }
  76. }
  77. //给表格中赋值
  78. private void SearchTypeInfo(string id)
  79. {
  80. SkillMatrix = ICSSkillMatrixBLL.select(id, AppConfig.AppConnectString);
  81. guid = SkillMatrix.ID;
  82. this.txtPersonnel.Text = SkillMatrix.Personnel;
  83. this.txtSkillLevel.Text = SkillMatrix.SkillLevel;
  84. this.txtWorkNo.Text = SkillMatrix.WorkNo;
  85. this.txtEquipmentType.Text = SkillMatrix.EquipmentType;
  86. this.cobEquipmentName.Text = SkillMatrix.EATTRIBUTE1;
  87. }
  88. private string check()
  89. {
  90. string msg = "";
  91. Decimal decValue = 0m;
  92. if (txtPersonnel.Text.Trim() == "")
  93. msg += "人员不能为空!\n";
  94. if (txtEquipmentType.Text.Trim() == "")
  95. msg += "设备类型不能为空!\n";
  96. return msg;
  97. }
  98. private void btnOK_Click(object sender, EventArgs e)
  99. {
  100. try
  101. {
  102. string msg = check();
  103. if (!string.IsNullOrEmpty(msg))
  104. {
  105. ICSBaseSimpleCode.AppshowMessageBox(msg);
  106. return;
  107. }
  108. ICSSkillMatrix eqpstp = new ICSSkillMatrix();
  109. eqpstp.ID = guid;
  110. eqpstp.EquipmentType = txtEquipmentType.Text;//设备编号
  111. eqpstp.Personnel = txtPersonnel.Text;
  112. eqpstp.SkillLevel = txtSkillLevel.Text;
  113. eqpstp.WorkNo = this.txtWorkNo.Text.Trim();
  114. eqpstp.MUSER = AppConfig.UserId;
  115. eqpstp.MUSERName = AppConfig.UserName;
  116. eqpstp.MTIME = DateTime.Now;
  117. eqpstp.WorkPoint = AppConfig.WorkPointCode;
  118. eqpstp.EATTRIBUTE1 = cobEquipmentName.Text;
  119. ICSSkillMatrixBLL.Add(eqpstp, AppConfig.AppConnectString);
  120. this.Close();
  121. //this.DialogResult = DialogResult.Yes;
  122. if (flag == 0)
  123. {
  124. ICSBaseSimpleCode.AppshowMessageBox("添加成功");
  125. }
  126. else if (flag == 1)
  127. {
  128. ICSBaseSimpleCode.AppshowMessageBox("修改成功");
  129. }
  130. }
  131. catch (Exception ex)
  132. {
  133. MessageBox.Show(ex.Message);
  134. // throw new Exception(ex.Message);
  135. }
  136. }
  137. #region 关闭
  138. private void btnCancle_Click(object sender, EventArgs e)
  139. {
  140. this.Close();
  141. //this.DialogResult = DialogResult.Cancel;
  142. }
  143. private void btnClose_Click(object sender, EventArgs e)
  144. {
  145. this.Close();
  146. //this.DialogResult = DialogResult.Cancel;
  147. }
  148. #endregion
  149. public DataTable EquipmentTable()
  150. {
  151. string sql_ = @"SELECT ROW_NUMBER () OVER (ORDER BY EQPCode) AS Id, EQPCode, EQPName FROM ICSEquipment WHERE EQPCode='{0}'";
  152. sql_ = string.Format(sql_, this.txtEquipmentType.Text);
  153. DataTable data_ = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql_).Tables[0];
  154. return data_;
  155. }
  156. private void bindEquipment()
  157. {
  158. IList<Info> infoList = new List<Info>();
  159. DataTable hfcode = EquipmentTable();
  160. Info data = new Info();
  161. data.Id = "0";
  162. data.Name = "--请选择--";
  163. infoList.Add(data);
  164. if (hfcode != null)
  165. {
  166. foreach (DataRow dr in hfcode.Rows)
  167. {
  168. data = new Info();
  169. data.Id = dr["Id"].ToString();
  170. data.Name = dr["EQPCode"].ToString() + dr["EQPName"].ToString();
  171. infoList.Add(data);
  172. }
  173. }
  174. this.cobEquipmentName.DataSource = infoList;
  175. cobEquipmentName.ValueMember = "Name";
  176. cobEquipmentName.DisplayMember = "Name";
  177. cobEquipmentName.SelectedIndex =1;
  178. }
  179. public class Info
  180. {
  181. public string Id { get; set; }
  182. public string Name { get; set; }
  183. }
  184. #region 设备类型按钮 改成设备编码
  185. /// </summary>
  186. /// <param name="sender"></param>
  187. /// <param name="e"></param>
  188. private void txtEquipmentType_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
  189. {
  190. ButtonEdit btn = (ButtonEdit)sender;
  191. string sql = "select distinct EQPCode as [设备编码] ,EQPNAME as [设备名称] from dbo.ICSEquipment with(nolock) WHERE 1=1";
  192. DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  193. FormDataRefer reForm = new FormDataRefer();
  194. reForm.FormTitle = "设备编码信息";
  195. DataTable menuData = data;
  196. reForm.DataSource = menuData;
  197. reForm.MSelectFlag = false;
  198. reForm.RowIndexWidth = 35;
  199. reForm.HideCols.Add("ID");
  200. reForm.FormWidth = 500;
  201. reForm.FormHeight = 500;
  202. //reForm.FilterKey = btn.Text;
  203. //grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, grvDetail.FocusedColumn).ToString().Trim();
  204. if (reForm.ShowDialog() == DialogResult.OK)
  205. {
  206. DataTable retData = reForm.ReturnData;
  207. foreach (DataRow dr in retData.Rows)
  208. {
  209. this.txtEquipmentType.Text = dr["设备编码"].ToString();
  210. this.cobEquipmentName.Text = dr["设备名称"].ToString();
  211. }
  212. bindEquipment();
  213. }
  214. }
  215. #endregion
  216. #region 工序点击
  217. private void txtProcessCoding_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
  218. {
  219. ButtonEdit btn = (ButtonEdit)sender;
  220. string sql = "select distinct OPCODE as [工序编码] from dbo.ICSROUTE2OP with(nolock) WHERE 1=1";
  221. DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  222. FormDataRefer reForm = new FormDataRefer();
  223. reForm.FormTitle = "工序编码信息";
  224. DataTable menuData = data;
  225. reForm.DataSource = menuData;
  226. reForm.MSelectFlag = false;
  227. reForm.RowIndexWidth = 35;
  228. reForm.HideCols.Add("ID");
  229. reForm.FormWidth = 500;
  230. reForm.FormHeight = 500;
  231. //reForm.FilterKey = btn.Text;
  232. //grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, grvDetail.FocusedColumn).ToString().Trim();
  233. if (reForm.ShowDialog() == DialogResult.OK)
  234. {
  235. DataTable retData = reForm.ReturnData;
  236. foreach (DataRow dr in retData.Rows)
  237. {
  238. this.txtProcessCoding.Text = dr["工序编码"].ToString();
  239. }
  240. }
  241. }
  242. #endregion
  243. #region 工号
  244. private void txtWorkNo_KeyPress(object sender, KeyPressEventArgs e)
  245. {
  246. if (e.KeyChar == (char)Keys.Enter)
  247. {
  248. string WorkNo = txtWorkNo.Text.Trim();
  249. string sql = @"SELECT DISTINCT
  250. '' as [isSelect],
  251. a.ID AS ID,
  252. a.UserCode as UserCode,
  253. a.UserName as UserName
  254. FROM
  255. Sys_User a
  256. WHERE a.UserCode = '{0}'";
  257. sql = string.Format(sql, WorkNo);
  258. DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  259. if (data.Rows.Count > 0)
  260. {
  261. foreach (DataRow dr in data.Rows)
  262. {
  263. txtWorkNo.Text = dr["UserCode"].ToString();
  264. txtWorkNo.Tag = dr["UserCode"].ToString();
  265. txtPersonnel.Text = dr["UserName"].ToString();
  266. }
  267. }
  268. else
  269. {
  270. txtWorkNo.Tag = "";
  271. txtWorkNo.Text = "";
  272. txtPersonnel.Text = "";
  273. txtWorkNo.SelectAll();
  274. txtWorkNo.Focus();
  275. }
  276. }
  277. }
  278. #endregion
  279. private void txtWorkNo_KeyDown(object sender, KeyEventArgs e)
  280. {
  281. }
  282. private void Init() {
  283. #region 工号
  284. string sql = @"SELECT DISTINCT
  285. a.UserCode as ,
  286. a.UserName as
  287. FROM
  288. Sys_User a where WorkPointCode='" + AppConfig.WorkPointCode+"'";
  289. DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  290. txtWorkNo.Properties.ValueMember = "工号";
  291. txtWorkNo.Properties.DisplayMember = "工号";
  292. txtWorkNo.Properties.DataSource = dt;
  293. txtWorkNo.Properties.NullText = "";//空时的值
  294. txtWorkNo.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
  295. txtWorkNo.Properties.ValidateOnEnterKey = true;//回车确认
  296. txtWorkNo.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
  297. txtWorkNo.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
  298. //自适应宽度
  299. txtWorkNo.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
  300. #endregion
  301. #region 设备编码
  302. sql = @"select distinct EQPCode as [设备编码] ,EQPNAME as [设备名称] from dbo.ICSEquipment with(nolock) WHERE 1=1";
  303. DataTable dt1 = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0];
  304. txtEquipmentType.Properties.ValueMember = "设备编码";
  305. txtEquipmentType.Properties.DisplayMember = "设备编码";
  306. txtEquipmentType.Properties.DataSource = dt1;
  307. txtEquipmentType.Properties.NullText = "";//空时的值
  308. txtEquipmentType.Properties.ImmediatePopup = true;//输入值是否马上弹出窗体
  309. txtEquipmentType.Properties.ValidateOnEnterKey = true;//回车确认
  310. txtEquipmentType.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//要使用户可以输入,这里须设为Standard
  311. txtEquipmentType.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True; //可用Ctrl + Delete清空选择內容
  312. //自适应宽度
  313. txtEquipmentType.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
  314. #endregion
  315. }
  316. private void txtWorkNo_EditValueChanged(object sender, EventArgs e)
  317. {
  318. var o = txtWorkNo.Properties.GetRowByKeyValue(txtWorkNo.EditValue);
  319. if (o is DataRowView)
  320. {
  321. DataRowView RowView = o as DataRowView;
  322. txtPersonnel.Text = RowView.Row["用户名"].ToString();
  323. }
  324. }
  325. private void txtEquipmentType_EditValueChanged(object sender, EventArgs e)
  326. {
  327. var o = txtEquipmentType.Properties.GetRowByKeyValue(txtEquipmentType.EditValue);
  328. if (o is DataRowView)
  329. {
  330. DataRowView RowView = o as DataRowView;
  331. this.cobEquipmentName.Text = RowView.Row["设备名称"].ToString();
  332. bindEquipment();
  333. }
  334. }
  335. }
  336. }