Browse Source

移箱修改

Hcsy 8 years ago
parent
commit
bbc38a1799

+ 1 - 1
UAS-MES/FunctionCode/Packing/Packing_CartonTransfer.cs

@@ -266,7 +266,7 @@ namespace UAS_MES.Packing
                                         //更新操作
                                         sql.Clear();
                                         sql.Append("insert into packagedetail (PD_ID,PD_PAID,PD_OUTBOXCODE,PD_BARCODE,PD_INNERQTY,PD_PRODCODE,PD_MAKECODE,PD_BUILDDATE,PD_YMD)");
-                                        sql.Append("values (packagedetail_seq.nextval,'" + old_pa_id + "','" + pa_outboxcode.Text + "','" + sn_code.Text + "','1','" + msprodcode + "','" + ms_makecode + "',sysdate,to_char(sysdate,'yyyymmdd'))");
+                                        sql.Append("values (packagedetail_seq.nextval,'" + dh.getFieldDataByCondition("package", "pa_id", "PA_OUTBOXCODE = '"+ pa_outboxcode.Text + "'").ToString() + "','" + pa_outboxcode.Text + "','" + sn_code.Text + "','1','" + msprodcode + "','" + ms_makecode + "',sysdate,to_char(sysdate,'yyyymmdd'))");
                                         dh.ExecuteSql(sql.GetString(), "insert");
                                         //更新原箱数量
                                         dh.UpdateByCondition("package", "pa_currentqty=pa_currentqty-1", "pa_outboxcode = '" + ms_outboxcode + "'");

+ 51 - 12
UAS-MES/FunctionCode/Warehouse/Warehouse_FinishedProductOut.cs

@@ -27,6 +27,10 @@ namespace UAS_MES.Warehouse
 
         DataTable dta;
 
+        DataTable dtpi;
+
+        DataTable dtform;
+
         DataTable dtms;
 
         Warehouse_NewPiInOut newpi;
@@ -66,20 +70,20 @@ namespace UAS_MES.Warehouse
         {
             sql.Clear();
             sql.Append("select pi_id,pi_title,pi_inoutno,pi_type from prodinout where pi_inoutno = '" + pi_inoutno.Text + "'");
-            dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+            dtpi = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
             if (dt.Rows.Count > 0)
             {
-                BaseUtil.SetFormValue(this.Controls, dt);
+                BaseUtil.SetFormValue(this.Controls, dtpi);
             }
             sql.Clear();
             sql.Append("select nvl((select sum(pd_outqty)  from prodiodetail where pd_piid=''),0)outqty,nvl((select count(1)cn from prodiomac where pim_inoutno=pd_inoutno),0) getqty , ");
             sql.Append("nvl((select sum(CASE WHEN pim_type='BOX' then 1 else nvl((select pa_packageqty from package where pa_outboxcode=pim_outboxcode),0)end) from prodiomac ");
             sql.Append("where pim_inoutno='" + pi_inoutno.Text + "' and NVL(PIM_OUTBOXCODE,' ')<>' ' AND  pim_type in('BOX','PALLET')),0) boxqty from  prodiodetail where pd_piid='" + pi_id.Text + "' ");
-            dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
-            if (dt.Rows.Count > 0)
+            dtform = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+            if (dtform.Rows.Count > 0)
             {
-                BaseUtil.SetFormValue(this.Controls, dt);
-                ungetqty.Text = (int.Parse(dt.Rows[0]["outqty"].ToString()) - int.Parse(dt.Rows[0]["getqty"].ToString())).ToString();
+                BaseUtil.SetFormValue(this.Controls, dtform);
+                ungetqty.Text = (int.Parse(dtform.Rows[0]["outqty"].ToString()) - int.Parse(dtform.Rows[0]["getqty"].ToString())).ToString();
             }
         }
 
@@ -221,20 +225,45 @@ namespace UAS_MES.Warehouse
                                 if (dta.Rows[0]["pi_type"].ToString() == "订单出库")
                                 {
                                     sql.Clear();
-                                    sql.Append("select cn,outqty,outqty-nvl((select count(1) from prodiomac where pim_inoutno='"+ pi_inoutno.Text + "' and pim_prodcode='"+ dtms.Rows[0]["ms_prodcode"].ToString() + "'),0)ungetqty from");
-                                    sql.Append("(select sum(pd_outqty)outqty ,count(1)cn from prodiodetail where pd_piid='"+pi_id.Text+"' and pd_ordercode='"+ dtms.Rows[0]["ms_salecode"].ToString() + "' and pd_prodcode='" + dtms.Rows[0]["ms_prodcode"].ToString() + "')");
-                                    dt = (DataTable)dh.ExecuteSql(sql.GetString(),"select");
-                                    if (dt.Rows[0]["cn"].ToString() == "0") {
-                                        OperateResult.AppendText("序列号" + input.Text + "所属产品:"+ dtms.Rows[0]["ms_prodcode"].ToString() + ",合同号:"+ dtms.Rows[0]["ms_salecode"].ToString() + "\n", Color.Red, input);
+                                    sql.Append("select cn,outqty,outqty-nvl((select count(1) from prodiomac where pim_inoutno='" + pi_inoutno.Text + "' and pim_prodcode='" + dtms.Rows[0]["ms_prodcode"].ToString() + "'),0)ungetqty from");
+                                    sql.Append("(select nvl(sum(pd_outqty),0) outqty  ,count(1)cn from prodiodetail where pd_piid='" + pi_id.Text + "' and pd_ordercode='" + dtms.Rows[0]["ms_salecode"].ToString() + "' and pd_prodcode='" + dtms.Rows[0]["ms_prodcode"].ToString() + "')");
+                                    dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
+                                    if (dt.Rows[0]["cn"].ToString() == "0")
+                                    {
+                                        OperateResult.AppendText("序列号" + input.Text + "所属产品:" + dtms.Rows[0]["ms_prodcode"].ToString() + ",合同号:" + dtms.Rows[0]["ms_salecode"].ToString() + ",不在出货单" + pi_inoutno.Text + "中\n", Color.Red, input);
                                         return;
                                     }
+                                    else if (int.Parse(dt.Rows[0]["cn"].ToString()) > 0 && int.Parse(dt.Rows[0]["ungetqty"].ToString()) <= 0)
+                                    {
+                                        OperateResult.AppendText("出货单产品" + dtms.Rows[0]["ms_prodcode"].ToString() + "+合同" + dtms.Rows[0]["ms_salecode"].ToString() + ",已经完成出货采集\n", Color.Red, input);
+                                        return;
+                                    }
+                                    updatesn(ms_id);
                                 }
                                 else if (dta.Rows[0]["pi_type"].ToString() == "自由出货")
                                 {
-                                    
+                                    updatesn(ms_id);
                                 }
                             }
                         }
+                        LoadFormData();
+                        LoadGridData();
+                        if (dta.Rows[0]["pi_type"].ToString() == "订单出库")
+                        {
+                            if (int.Parse(dtform.Rows[0]["outqty"].ToString()) > int.Parse(dtform.Rows[0]["getqty"].ToString()))
+                            {
+                                dh.UpdateByCondition("prodinout", "pi_pdastatus='备货中'", "pi_inoutno='" + pi_inoutno.Text + "'");
+                            }
+                            else {
+                                dh.UpdateByCondition("prodinout", "pi_pdastatus='已备货'", "pi_inoutno='" + pi_inoutno.Text + "'");
+                                OperateResult.AppendText("出货单"+ pi_inoutno.Text + "已完成备货\n", Color.Black);
+                                return;
+                            }   
+                        }
+                        else if (dta.Rows[0]["pi_type"].ToString() == "自由出货")
+                        {
+                            dh.UpdateByCondition("prodinout", "pi_pdastatus='备货中'", "pi_inoutno='" + pi_inoutno.Text + "'");
+                        }
                     }
                 }
                 else
@@ -245,6 +274,16 @@ namespace UAS_MES.Warehouse
             }
         }
 
+        private void updatesn(string ms_id)
+        {
+            //更新操作
+            sql.Clear();
+            sql.Append("insert into prodiomac(pim_id,pim_inoutno,pim_piid,pim_prodcode,pim_mac,pim_indate,pim_inman,pib_type)");
+            sql.Append("values(prodiomac_seq.nextval,'" + pi_inoutno.Text + "','" + pi_id.Text + "','" + dtms.Rows[0]["ms_prodcode"].ToString() + "','" + input.Text + "',sysdate,'" + User.UserCode + "','')");
+            dh.ExecuteSql(sql.GetString(), "insert");
+            dh.UpdateByCondition("makeserial", "ms_iostatus=2", " ms_id='" + ms_id + "'");
+        }
+
         //插入prodiomac表
         private void insertprodiomac(string type)
         {