FrmOLBaseInfo.cs 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459
  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 CoreFS.CA06;
  9. using Core.Mes.Client.Common;
  10. namespace Core.LgMes.Client.LgDeviceManager
  11. {
  12. public partial class FrmOLBaseInfo : FrmLgDevFunctions
  13. {
  14. public FrmOLBaseInfo(OpeBase oba)
  15. {
  16. InitializeComponent();
  17. ucmeLanceType.SelectedIndex = 0;
  18. ob = oba;
  19. }
  20. private void FrmOLBaseInfo_Load(object sender, EventArgs e)
  21. {
  22. try
  23. {
  24. FrmOxygenLanceManage FrmOLM = (FrmOxygenLanceManage)this.Tag;
  25. ucmeLanceN.Items.Clear();
  26. for (int i = 0; i < FrmOLM.ulgridBaseInfo.Rows.Count; i++)
  27. {
  28. ucmeLanceN.Items.Add(FrmOLM.ulgridBaseInfo.Rows[i].Cells["OxygenLanceID"].Value.ToString());
  29. }
  30. if (FrmOLM.ulgridBaseInfo.Selected != null)
  31. {
  32. ucmeLanceN.Text = FrmOLM.ulgridBaseInfo.ActiveRow.Cells["OxygenLanceID"].Value.ToString();
  33. ucmeNowStatus.Text = FrmOLM.ulgridBaseInfo.ActiveRow.Cells["Status"].Value.ToString();
  34. //if (FrmOLM.ulgridBaseInfo.ActiveRow.Cells["CreativeDate"].Value.ToString() == "")
  35. //{
  36. udtePTime.DateTime = DateTime.Now;
  37. //}
  38. //else
  39. //{
  40. //udtePTime.DateTime = Convert.ToDateTime(FrmOLM.ulgridBaseInfo.ActiveRow.Cells["CreativeDate"].Value);
  41. //}
  42. if (FrmOLM.ulgridBaseInfo.ActiveRow.Cells["BuyDate"].Value.ToString() == "")
  43. {
  44. udtePTime.DateTime = DateTime.Now;
  45. }
  46. else
  47. {
  48. udtePTime.DateTime = Convert.ToDateTime(FrmOLM.ulgridBaseInfo.ActiveRow.Cells["BuyDate"].Value);
  49. }
  50. txtBaseInfoMemo.Text = FrmOLM.ulgridBaseInfo.ActiveRow.Cells["Memo"].Value.ToString();
  51. string strsql = "select UseType,YQType,UseMaxTime,CUTSULFUR from DEV_yq_base_info where OxygenLanceID = '" + ucmeLanceN.Text + "'";
  52. DataSet ds = QueryFixedFunions(strsql, ob);
  53. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  54. {
  55. ucmeType.Text = ds.Tables[0].Rows[0]["UseType"].ToString();
  56. ucmeLanceType.Text = ds.Tables[0].Rows[0]["YQType"].ToString();
  57. txtAge.Text = ds.Tables[0].Rows[0]["UseMaxTime"].ToString();
  58. textBox1.Text = ds.Tables[0].Rows[0]["CUTSULFUR"].ToString();
  59. }
  60. else
  61. {
  62. this.Show();
  63. }
  64. }
  65. else
  66. {
  67. ucmeLanceN.Text = "";
  68. ucmeNowStatus.Text = "";
  69. txtBaseInfoMemo.Text = "";
  70. }
  71. }
  72. catch { }
  73. }
  74. /// <summary>
  75. /// 氧枪编号查询
  76. /// </summary>
  77. /// <param name="sender"></param>
  78. /// <param name="e"></param>
  79. public void comboBox4_SelectedValueChanged(object sender, EventArgs e)
  80. {
  81. string YQid = ucmeLanceN.Text;
  82. string strsql = "select * from DEV_yq_base_info where OxygenLanceID = '" + ucmeLanceN.Text + "'";
  83. DataSet ds = QueryFixedFunions(strsql, ob);
  84. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  85. {
  86. ucmeType.Text = ds.Tables[0].Rows[0]["USETYPE"].ToString();
  87. ucmeLanceType.Text = ds.Tables[0].Rows[0]["YQTYPE"].ToString();
  88. ucmeNowStatus.Text = ds.Tables[0].Rows[0]["STATUS"].ToString();
  89. udtePTime.DateTime = Convert.ToDateTime(ds.Tables[0].Rows[0]["CREATIVEDATE"]);
  90. udteBuyTime.DateTime = Convert.ToDateTime(ds.Tables[0].Rows[0]["BUYDATE"]);
  91. txtAge.Text = ds.Tables[0].Rows[0]["USEMAXTIME"].ToString();
  92. txtBaseInfoMemo.Text = ds.Tables[0].Rows[0]["MEMO"].ToString();
  93. }
  94. }
  95. /// <summary>
  96. /// 判断枪龄输入
  97. /// </summary>
  98. /// <param name="sender"></param>
  99. /// <param name="e"></param>
  100. private void txtAge_TextChanged(object sender, EventArgs e)
  101. {
  102. if (!CheckIsNumberByASCII(txtAge.Text))
  103. {
  104. MessageBox.Show("错误的数据输入!", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
  105. txtAge.Clear();
  106. }
  107. }
  108. private bool CheckIsNumberByASCII(string sSrc)
  109. {
  110. bool bRet = true;
  111. ASCIIEncoding AE = new ASCIIEncoding();
  112. byte[] bArray = AE.GetBytes(sSrc);
  113. for (int i = 0; i < bArray.Length; i++)
  114. {
  115. if (bArray[i] < 47 || bArray[i] > 57)
  116. {
  117. bRet = false;
  118. break;
  119. }
  120. }
  121. return bRet;
  122. }
  123. /// <summary>
  124. /// 新增
  125. /// </summary>
  126. private void proc_Add()
  127. {
  128. try
  129. {
  130. bool bUsed = false;
  131. string strSql = "select count(1) from DEV_YQ_USE_DETAIL where OXYGENLANCEID = '" + ucmeLanceN.Text.Trim() + "'";
  132. DataSet ds = QueryFixedFunions(strSql, ob);
  133. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  134. {
  135. if (Convert.ToInt32(ds.Tables[0].Rows[0][0]) > 0)
  136. bUsed = true;
  137. }
  138. ds = null;
  139. bool bExist = false;
  140. strSql = "select count(1) from DEV_YQ_BASE_INFO where OXYGENLANCEID = '" + ucmeLanceN.Text.Trim() + "'";
  141. ds = QueryFixedFunions(strSql, ob);
  142. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  143. {
  144. if (Convert.ToInt32(ds.Tables[0].Rows[0][0]) > 0)
  145. bExist = true;
  146. }
  147. string err = "";
  148. if (!(err == null || err == ""))
  149. {
  150. MessageBox.Show("氧枪[" + ucmeLanceN.Text.Trim() + "]新增失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  151. return;
  152. }
  153. if (!bExist)
  154. {
  155. if (ucmeLanceN.Text.Trim() == "")
  156. {
  157. MessageBox.Show("氧枪编号不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  158. ucmeLanceN.Focus();
  159. return;
  160. }
  161. if (udtePTime.DateTime > udteBuyTime.DateTime)
  162. {
  163. MessageBox.Show("生产日期不能大于购买日期!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  164. udtePTime.Focus();
  165. return;
  166. }
  167. else
  168. {
  169. string strOxygenLanceID = ucmeLanceN.Text.Trim();//氧枪编号
  170. string strUserType = ucmeType.Text.Trim();//使用状态
  171. string strCreativeDate = udtePTime.DateTime.ToString("yyyy-MM-dd");//生产日期
  172. string strBuyDate = udteBuyTime.DateTime.ToString("yyyy-MM-dd");//购买日期
  173. string strOxygenLanceType = ucmeLanceType.Text.Trim(); //氧枪类型
  174. string strStatus = ucmeNowStatus.Text.Trim();//当前状态
  175. string strAge = txtAge.Text.Trim();//枪龄
  176. string strMemo = txtBaseInfoMemo.Text.Trim();//备注
  177. string SqlCommand = "insert into DEV_yq_base_info (OXYGENLANCEID,PARAID,USETYPE,STATUS,CREATIVEDATE,BUYDATE,MEMO,YQTYPE,USEMAXTIME) values( '" +
  178. strOxygenLanceID + "' , '" + "','" + strUserType + "', '备用',to_date('" + strCreativeDate + "','yyyy-mm-dd') ," +
  179. "to_date('" + strBuyDate + "','yyyy-mm-dd') ,'" + strMemo + "','" + strOxygenLanceType + "','" + strAge + "')";
  180. string err1 = NoQueryExecutive(SqlCommand, ob);
  181. if (err1 == null || err1 == "")
  182. {
  183. txtAge.Clear();
  184. txtBaseInfoMemo.Clear();
  185. ucmeType.Text = "";
  186. ucmeLanceN.Text = "";
  187. ucmeNowStatus.Text = "";
  188. ucmeLanceN.Items.Add(strOxygenLanceID);
  189. udtePTime.DateTime = System.DateTime.Now;
  190. udteBuyTime.DateTime = System.DateTime.Now;
  191. //重新刷新主界面数据
  192. FrmOxygenLanceManage FrmOLM = (FrmOxygenLanceManage)this.Tag;
  193. FrmOLM.OLInfoToShow();
  194. MessageBox.Show("氧枪[" + strOxygenLanceID + "]新增成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  195. }
  196. else
  197. {
  198. MessageBox.Show("氧枪[" + strOxygenLanceID + "]新增失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  199. }
  200. }
  201. }
  202. else
  203. {
  204. MessageBox.Show("氧枪[" + ucmeLanceN.Text.Trim() + "]已存在,不能重复插入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  205. }
  206. }
  207. catch (Exception ex)
  208. {
  209. MessageBox.Show(ex.Message);
  210. }
  211. }
  212. /// <summary>
  213. /// 修改
  214. /// </summary>
  215. private void proc_Edit()
  216. {
  217. try
  218. {
  219. if (ucmeLanceN.Text.Trim().Length == 0) return;
  220. FrmOxygenLanceManage FrmOLM = (FrmOxygenLanceManage)this.Tag;
  221. string strOxygenLanceID = ucmeLanceN.Text.Trim();
  222. string strErr = "";
  223. bool bUsed = false;
  224. string strSql = "select count(1) from DEV_YQ_USE_DETAIL where OXYGENLANCEID = '" + ucmeLanceN.Text.Trim() + "'";
  225. DataSet ds = QueryFixedFunions(strSql, ob);
  226. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  227. {
  228. if (Convert.ToInt32(ds.Tables[0].Rows[0][0]) > 0)
  229. bUsed = true;
  230. }
  231. strErr = "";
  232. ds = null;
  233. bool bExist = false;
  234. strSql = "select count(1) from DEV_YQ_BASE_INFO where OXYGENLANCEID = '" + ucmeLanceN.Text.Trim() + "'";
  235. ds = QueryFixedFunions(strSql, ob);
  236. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  237. {
  238. if (Convert.ToInt32(ds.Tables[0].Rows[0][0]) > 0)
  239. bExist = true;
  240. }
  241. if (!(strErr == null || strErr == ""))
  242. {
  243. MessageBox.Show("氧枪[" + strOxygenLanceID + "]修改失败!\r\n" + strErr, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  244. return;
  245. }
  246. if (!bExist)
  247. {
  248. MessageBox.Show("[" + strOxygenLanceID + "]号氧枪不存在!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  249. return;
  250. }
  251. if (MessageBox.Show("确定要修改[" + strOxygenLanceID + "]号氧枪吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  252. return;
  253. strErr = "";
  254. strSql = "select STATUS, USETYPE from DEV_YQ_BASE_INFO where OXYGENLANCEID = '" + strOxygenLanceID + "'";
  255. ds = QueryFixedFunions(strSql, ob);
  256. string strOldStatus = "", strOldType = "";
  257. if ((strErr == null || strErr == "") && ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  258. {
  259. strOldStatus = Convert.ToString(ds.Tables[0].Rows[0]["STATUS"]);
  260. strOldType = Convert.ToString(ds.Tables[0].Rows[0]["USETYPE"]);
  261. }
  262. else
  263. {
  264. MessageBox.Show("氧枪[" + strOxygenLanceID + "]修改失败!\r\n" + strErr, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  265. return;
  266. }
  267. string strCreativeDate = udtePTime.DateTime.ToString("yyyy-MM-dd");
  268. string strBuyDate = udteBuyTime.DateTime.ToString("yyyy-MM-dd");
  269. string strStatus = ucmeNowStatus.Text.Trim();
  270. string strAge = txtAge.Text.Trim();
  271. string strUserType = ucmeType.Text.Trim();
  272. string strMemo = txtBaseInfoMemo.Text.Trim();
  273. string strOxygenLanceType = ucmeLanceType.Text.Trim();
  274. if (strOldStatus == "使用" && (strStatus != strOldStatus || strUserType != strOldType))
  275. {
  276. MessageBox.Show("氧枪[" + strOxygenLanceID + "]当前状态为[" + strOldStatus + "]当前使用类型为[" + strOldType + "],不能更改其使用类型及状态!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  277. return;
  278. }
  279. else if (strOldStatus == "备用" && (strStatus != "备用" && strStatus != "下线"))
  280. {
  281. MessageBox.Show("氧枪[" + strOxygenLanceID + "]当前状态为[" + strOldStatus + "],不能将其状态改为[" + strStatus + "]!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  282. return;
  283. }
  284. else if (strOldStatus == "下线" && (strStatus != "备用" && strStatus != "下线"))
  285. {
  286. MessageBox.Show("氧枪[" + strOxygenLanceID + "]当前状态为[" + strOldStatus + "],不能将其状态改为[" + strStatus + "]!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  287. return;
  288. }
  289. strErr = "";
  290. strSql = "update DEV_yq_base_info set " +
  291. "UseType = '" + strUserType + "'," +
  292. "Status = '" + strStatus + "'," +
  293. //"CreativeDate = to_date('" + strCreativeDate + "','yyyy-mm-dd')," +
  294. //"BuyDate = to_date('" + strBuyDate + "','yyyy-mm-dd') ," +
  295. "Memo = '" + strMemo + "'," +
  296. "YQType ='" + strOxygenLanceType + "', " +
  297. "UseMaxTime = '" + strAge + "', " +
  298. "CUTSULFUR = " + textBox1.Text + ", " +
  299. "MODIFY_DATE = SYSDATE " +
  300. "where OxygenLanceID = '" + strOxygenLanceID + "'";
  301. strErr = NoQueryExecutive(strSql, ob);
  302. if (!(strErr == null || strErr == ""))
  303. {
  304. MessageBox.Show("氧枪[" + strOxygenLanceID + "]修改失败!\r\n" + strErr, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  305. return;
  306. }
  307. FrmOLM.OLInfoToShow();
  308. MessageBox.Show("氧枪[" + strOxygenLanceID + "]修改成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  309. }
  310. catch (Exception ex)
  311. {
  312. MessageBox.Show(ex.Message);
  313. }
  314. }
  315. /// <summary>
  316. /// 删除
  317. /// </summary>
  318. private void proc_Del()
  319. {
  320. try
  321. {
  322. if (ucmeLanceN.Text.Trim().Length == 0) return;
  323. FrmOxygenLanceManage FrmOLM = (FrmOxygenLanceManage)this.Tag;
  324. string OLID = ucmeLanceN.Text;
  325. bool bUsed = false;
  326. string strSql = "select count(1) from DEV_YQ_USE_DETAIL where OXYGENLANCEID = '" + ucmeLanceN.Text.Trim() + "'";
  327. DataSet ds = QueryFixedFunions(strSql, ob);
  328. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  329. {
  330. if (Convert.ToInt32(ds.Tables[0].Rows[0][0]) > 0)
  331. bUsed = true;
  332. }
  333. ds = null;
  334. bool bExist = false;
  335. strSql = "select count(1) from DEV_YQ_BASE_INFO where OXYGENLANCEID = '" + ucmeLanceN.Text.Trim() + "'";
  336. ds = QueryFixedFunions(strSql, ob);
  337. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  338. {
  339. if (Convert.ToInt32(ds.Tables[0].Rows[0][0]) > 0)
  340. bExist = true;
  341. }
  342. if (!bExist)
  343. {
  344. MessageBox.Show("[" + OLID + "]号氧枪不存在!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  345. return;
  346. }
  347. else
  348. {
  349. if (MessageBox.Show("确定要删除[" + OLID + "]号氧枪吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  350. return;
  351. }
  352. if (bUsed)
  353. {
  354. MessageBox.Show("该氧枪已使用过,不能删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
  355. return;
  356. }
  357. string strErr = "";
  358. strSql = "delete from DEV_YQ_BASE_INFO where OXYGENLANCEID = '" + OLID + "'";
  359. strErr = NoQueryExecutive(strSql, ob);
  360. if (strErr == null || strErr == "")
  361. {
  362. FrmOLM.OLInfoToShow();
  363. ucmeLanceN.Clear();
  364. txtAge.Clear();
  365. txtBaseInfoMemo.Clear();
  366. ucmeType.Text = "";
  367. ucmeLanceN.Text = "";
  368. ucmeNowStatus.Text = "";
  369. udtePTime.DateTime = System.DateTime.Now;
  370. udteBuyTime.DateTime = System.DateTime.Now;
  371. ucmeLanceN.Items.Clear();
  372. for (int i = 0; i < FrmOLM.ulgridBaseInfo.Rows.Count; i++)
  373. {
  374. ucmeLanceN.Items.Add(FrmOLM.ulgridBaseInfo.Rows[i].Cells["OxygenLanceID"].Value.ToString());
  375. }
  376. MessageBox.Show("[" + OLID + "]号氧枪删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  377. }
  378. else
  379. {
  380. MessageBox.Show("[" + OLID + "]号氧枪删除失败!\r\n" + strErr, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  381. }
  382. }
  383. catch (Exception ex)
  384. {
  385. MessageBox.Show(ex.Message);
  386. }
  387. }
  388. /// <summary>
  389. /// 工具栏
  390. /// </summary>
  391. /// <param name="sender"></param>
  392. /// <param name="e"></param>
  393. private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
  394. {
  395. switch (e.ClickedItem.Name)
  396. {
  397. case "ADD":
  398. {
  399. this.proc_Add();
  400. break;
  401. }
  402. case "EDIT":
  403. {
  404. this.proc_Edit();
  405. break;
  406. }
  407. case "DEL":
  408. {
  409. this.proc_Del();
  410. break;
  411. }
  412. case "CLOSE":
  413. {
  414. this.Close();
  415. break;
  416. }
  417. default:
  418. break;
  419. }
  420. }
  421. }
  422. }