Packing_CartonTransfer.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  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 UAS_MES.DataOperate;
  10. using UAS_MES.Entity;
  11. using UAS_MES.PublicMethod;
  12. namespace UAS_MES.Packing
  13. {
  14. public partial class Make_CartonTransfer : Form
  15. {
  16. AutoSizeFormClass asc = new AutoSizeFormClass();
  17. DataTable dt;
  18. DataTable dt1;
  19. DataTable dtbar;
  20. DataTable dtst;
  21. LogStringBuilder sql = new LogStringBuilder();
  22. DataHelper dh;
  23. public Make_CartonTransfer()
  24. {
  25. InitializeComponent();
  26. }
  27. private void 卡通箱转移_Load(object sender, EventArgs e)
  28. {
  29. asc.controllInitializeSize(this);
  30. dh = new DataHelper();
  31. movepack.Focus();
  32. OperateResult.AppendText(">>请输入目标箱号\n", Color.Black);
  33. }
  34. private void 卡通箱转移_SizeChanged(object sender, EventArgs e)
  35. {
  36. asc.controlAutoSize(this);
  37. }
  38. private void movepack_Click(object sender, EventArgs e)
  39. {
  40. if (((RadioButton)sender).Checked == true)
  41. {
  42. if (((RadioButton)sender).Name == "movepack")
  43. {
  44. pa_standardqty.Enabled = false;
  45. pa_outboxcode.Focus();
  46. }
  47. else if (((RadioButton)sender).Name == "newpack")
  48. {
  49. pa_standardqty.Enabled = true;
  50. pa_outboxcode.Focus();
  51. }
  52. }
  53. }
  54. private void pa_outboxcode_KeyDown(object sender, KeyEventArgs e)
  55. {
  56. if (e.KeyCode == Keys.Enter)
  57. {
  58. if (newpack.Checked)
  59. {
  60. if (dh.CheckExist("package", "pa_outboxcode = '" + pa_outboxcode.Text + "'"))
  61. {
  62. OperateResult.AppendText(">>该箱号" + pa_outboxcode.Text + "已经存在,如需转移至已经存在的箱号,请选择移箱\n", Color.Red, pa_outboxcode);
  63. pa_outboxcode.Focus();
  64. return;
  65. }
  66. }
  67. else if (movepack.Checked)
  68. {
  69. CheckBoxCode();
  70. }
  71. }
  72. }
  73. private Boolean CheckBoxCode()
  74. {
  75. sql.Clear();
  76. sql.Append("select pa_id,pa_outboxcode,pa_standardqty,nvl(pa_currentqty,0) pa_currentqty,pa_prodcode,nvl(pa_downstatus,0) pa_downstatus from package where pa_outboxcode='" + pa_outboxcode.Text + "'");
  77. dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
  78. if (dt.Rows.Count > 0)
  79. {
  80. string pa_downstatus = dt.Rows[0]["pa_downstatus"].ToString();
  81. string pa_currentqty = dt.Rows[0]["pa_currentqty"].ToString();
  82. string pa_standardqty = dt.Rows[0]["pa_standardqty"].ToString();
  83. if (pa_downstatus != "0")
  84. {
  85. OperateResult.AppendText(">>该箱号" + pa_outboxcode.Text + "处于下地状态,不允许操作\n", Color.Red, pa_outboxcode);
  86. OperateResult.AppendText(">>请输入目标箱号\n", Color.Black);
  87. pa_outboxcode.Focus();
  88. return false;
  89. }
  90. else if (pa_currentqty == pa_standardqty)
  91. {
  92. OperateResult.AppendText(">>目标箱号" + pa_outboxcode.Text + "已装满\n", Color.Red, pa_outboxcode);
  93. OperateResult.AppendText(">>请输入目标箱号\n", Color.Black);
  94. pa_outboxcode.Focus();
  95. return false;
  96. }
  97. BaseUtil.SetFormValue(this.Controls, dt);
  98. return true;
  99. }
  100. else
  101. {
  102. OperateResult.AppendText(">>该箱号" + pa_outboxcode.Text + "不存在\n", Color.Red, pa_outboxcode);
  103. OperateResult.AppendText(">>请输入目标箱号\n", Color.Black);
  104. pa_outboxcode.Focus();
  105. return false;
  106. }
  107. }
  108. private void sn_code_KeyDown(object sender, KeyEventArgs e)
  109. {
  110. if (e.KeyCode == Keys.Enter)
  111. {
  112. string ms_id = dh.getFieldDataByCondition("makeserial", "max(ms_id) ms_id", "ms_sncode = '" + sn_code.Text + "'").ToString();
  113. if (ms_id != "")
  114. {
  115. sql.Clear();
  116. sql.Append("select ms_id,ms_prodcode,ms_outboxcode,ms_makecode ms_msmakecode, ms_sccode,");
  117. sql.Append("nvl(ms_currentstepcode,ms_stepcode ) laststepcode, ms_sccode lastsccode,");
  118. sql.Append("ms_checkno from makeserial where ms_id='" + ms_id + "'");
  119. dt1 = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
  120. string ms_outboxcode = dt1.Rows[0]["ms_outboxcode"].ToString();
  121. if (ms_outboxcode != "")
  122. {
  123. sql.Clear();
  124. sql.Append("select pa_id,pa_checkno,PA_CURRENTQTY pa_qty,PA_PACKTYPE,nvl(PA_DOWNSTATUS,0) PA_DOWNSTATUS,pa_prodcode pa_macode,pa_salecode,pa_level,pa_custcode,pa_type,pa_packtype from package where pa_outboxcode='" + ms_outboxcode + "'");
  125. dtbar = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
  126. if (dtbar.Rows.Count > 0)
  127. {
  128. string pa_checkno = dtbar.Rows[0]["pa_checkno"].ToString();
  129. string PA_DOWNSTATUS = dtbar.Rows[0]["PA_DOWNSTATUS"].ToString();
  130. string ob_result = dh.getFieldDataByCondition("oqcbatch","ob_result","ob_checkno = '"+ pa_checkno + "'").ToString();
  131. if (PA_DOWNSTATUS == "0")
  132. {
  133. BaseUtil.SetFormValue(this.Controls, dtbar);
  134. BaseUtil.SetFormValue(this.Controls, dt1);
  135. if (newpack.Checked)
  136. {
  137. if (ob_result == "")
  138. {
  139. if (pa_standardqty.Text != "")
  140. {
  141. if (pa_outboxcode.Text != "")
  142. {
  143. if (dh.CheckExist("package", "pa_outboxcode = '" + pa_outboxcode.Text + "'"))
  144. {
  145. OperateResult.AppendText(">>该箱号" + pa_outboxcode.Text + "已经存在,如需转移至已经存在的箱号,请选择移箱\n", Color.Red, pa_outboxcode);
  146. pa_outboxcode.Focus();
  147. return;
  148. }
  149. else {
  150. string pa_id = dh.GetSEQ("package_seq");
  151. //新增箱
  152. sql.Clear();
  153. sql.Append("insert into package (PA_ID, PA_OUTBOXCODE,PA_PRODCODE, PA_PACKDATE,");
  154. sql.Append("PA_LEVEL,PA_PACKAGEQTY,PA_TOTALQTY,PA_MAKECODE,PA_STATUS,PA_INDATE,");
  155. sql.Append("PA_SALECODE,PA_CUSTCODE,PA_TYPE,PA_CURRENTQTY,PA_PACKTYPE,PA_STANDARDQTY)");
  156. sql.Append("values ('"+pa_id+"','" + pa_outboxcode.Text+"','"+ ms_prodcode.Text + "',sysdate,'"+pa_level.Text+"','0','0'");
  157. sql.Append(",'"+ ms_msmakecode.Text + "','0',sysdate,'"+pa_salecode.Text+"','"+pa_custcode.Text+"','"+pa_type.Text+"','0','"+ pa_packtype.Text + "','"+pa_standardqty.Text+"')");
  158. dh.ExecuteSql(sql.GetString(), "insert");
  159. sql.Clear();
  160. sql.Append("insert into packagedetail (PD_ID,PD_PAID,PD_OUTBOXCODE,PD_BARCODE,PD_INNERQTY,PD_PRODCODE,PD_MAKECODE,PD_BUILDDATE,PD_YMD)");
  161. sql.Append("values (packagedetail_seq.nextval,'"+pa_id+"','"+ pa_outboxcode.Text + "','"+sn_code.Text+"','1','"+ ms_prodcode.Text + "','"+ ms_msmakecode.Text + "',sysdate,to_char(sysdate,'yymmdd'))");
  162. dh.ExecuteSql(sql.GetString(), "insert");
  163. //更新原箱数量
  164. dh.UpdateByCondition("package", "pa_currentqty=pa_currentqty-1", "pa_outboxcode = '" + ms_outboxcode + "'");
  165. //更新目标箱数量
  166. dh.UpdateByCondition("package", "pa_currentqty=1, pa_totalqty=1,pa_packageqty=1", "pa_outboxcode = '" + pa_outboxcode.Text + "'");
  167. dh.UpdateByCondition("makeserial", "ms_outboxcode = '" + pa_outboxcode.Text + "'","ms_id = '"+ ms_id + "'");
  168. LogicHandler.DoCommandLog(Tag.ToString(),User.UserCode,ms_msmakecode.Text,User.UserLineCode,User.UserSourceCode,"卡通箱转移", "卡通箱转移,生成目标箱号"+pa_outboxcode.Text+"",sn_code.Text,"");
  169. LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_msmakecode.Text, User.UserLineCode, User.UserSourceCode, "卡通箱转移", "序列号:"+sn_code.Text+",从原箱号:"+ms_outboxcode+"转移至目标箱号:"+pa_outboxcode.Text+"", sn_code.Text, "");
  170. OperateResult.AppendText(">>序列号:" + sn_code.Text + ",从原箱号:" + ms_outboxcode + "转移至目标箱号:" + pa_outboxcode.Text + "\n",Color.Green);
  171. movepack.Focus();
  172. pa_outboxcode_KeyDown(sender,e);
  173. }
  174. }
  175. else {
  176. OperateResult.AppendText(">>必须填写新增目标箱号\n", Color.Red);
  177. return;
  178. }
  179. }
  180. else {
  181. OperateResult.AppendText(">>新增目标箱号必须填写标准容量\n", Color.Red);
  182. return;
  183. }
  184. }
  185. else {
  186. OperateResult.AppendText(">>原箱" + ms_outboxcode + "处于送检状态,不允许转移\n", Color.Red, sn_code);
  187. return;
  188. }
  189. }
  190. else if (movepack.Checked)
  191. {
  192. if (CheckBoxCode()) {
  193. }
  194. }
  195. }
  196. else
  197. {
  198. OperateResult.AppendText(">>原箱" + ms_outboxcode + "已经下地\n", Color.Red, sn_code);
  199. return;
  200. }
  201. }
  202. else
  203. {
  204. OperateResult.AppendText(">>序列号" + sn_code.Text + "未装箱\n", Color.Red, sn_code);
  205. return;
  206. }
  207. }
  208. else
  209. {
  210. OperateResult.AppendText(">>序列号" + sn_code.Text + "未装箱\n", Color.Red, sn_code);
  211. return;
  212. }
  213. }
  214. else
  215. {
  216. OperateResult.AppendText(">>序列号" + sn_code.Text + "不存在\n", Color.Red, sn_code);
  217. return;
  218. }
  219. }
  220. }
  221. private void button1_Click(object sender, EventArgs e)
  222. {
  223. BaseUtil.CleanControls(this.Controls);
  224. }
  225. }
  226. }