示例#1
0
        private void UploadToERP1(DataTable dba)
        {
            WMSIQCTestRequestData wmsIQCTestRequestData = new WMSIQCTestRequestData();
            WMSIQCTestInputData   wmsIQCTestInputData   = new WMSIQCTestInputData();
            List <WMSIQCTestItem> list = new List <WMSIQCTestItem>();
            string sqlupdate           = "";

            for (int k = gridView.GetSelectedRows().Length; k > 0; k--)
            {
                DataRow db = gridView.GetDataRow(gridView.GetSelectedRows()[k - 1]);
                if (db["iqcTransactionid"].ToString() == "")
                {
                    continue;
                }
                if (int.Parse(db["checkqty"].ToString()) <= 0)
                {
                    continue;
                }

                if (int.Parse(db["qty"].ToString()) < int.Parse(db["checkqty"].ToString()))
                {
                    MessageBox.Show("确认数量不能大于可用数量");
                    return;
                }

                if (db["TestResult"].ToString() == "")
                {
                    continue;
                }
                WMSIQCTestItem wmsiqcTestItem = new WMSIQCTestItem();
                wmsiqcTestItem.transactionId = db["iqcTransactionid"].ToString();
                wmsiqcTestItem.comments      = db["remark"].ToString();
                wmsiqcTestItem.receiptNum    = db["deliveryid"].ToString();
                wmsiqcTestItem.itemCode      = db["materialcode"].ToString();
                wmsiqcTestItem.lotNum        = db["lotno"].ToString();
                wmsiqcTestItem.seqNum        = "";
                wmsiqcTestItem.orgCode       = db["org_id"].ToString();
                wmsiqcTestItem.iqcResult     = db["TestResult"].ToString() == "OK" ? "S" : "E";
                wmsiqcTestItem.iqcQty        = db["checkqty"].ToString();
                wmsiqcTestItem.barcodeUser   = Login.username;

                sqlupdate += " if not exists(select 1 from deliveryCheck where lotno='" + wmsiqcTestItem.lotNum + "' and states='" + db["TestResult"].ToString() + "')";
                sqlupdate += " insert into deliveryCheck(org_id, receptid,productcode,qty, lotno, states,eventuser, eventtime)";
                sqlupdate += "values('" + wmsiqcTestItem.orgCode + "','" + wmsiqcTestItem.receiptNum + "','" + wmsiqcTestItem.itemCode + "','" + wmsiqcTestItem.iqcQty + "','" + wmsiqcTestItem.lotNum + "','" + db["TestResult"].ToString() + "','" + Login.userId + "',getdate())";
                sqlupdate += " else update deliveryCheck set qty=qty+" + wmsiqcTestItem.iqcQty + " where lotno='" + wmsiqcTestItem.lotNum + "' and states='" + db["TestResult"].ToString() + "'";

                Mouldmaterialcode = db["materialcode"].ToString();

                //List<WMSIQCTestItem> list = new List<WMSIQCTestItem>();
                list.Add(wmsiqcTestItem);
                //WMSIQCTestInputData wmsIQCTestInputData = new WMSIQCTestInputData();
                wmsIQCTestInputData.message = list;


                /*
                 * if (!sMaterialname.Contains("【F1"))
                 * {
                 *  string connPANASql = "server=10.100.64.4,6815;database=PanaCIM;user id=sa;password=PANASONIC1!;";
                 *  SqlConnection sqlconn = new SqlConnection(connPANASql);
                 *  if (sqlconn.State == ConnectionState.Closed)
                 *      sqlconn.Open();
                 *  SqlTransaction tran = sqlconn.BeginTransaction();
                 *  DataTable Uploaddt = GetLotList(db["lotno"].ToString().Trim());
                 *  if (Uploaddt.Rows.Count > 0)
                 *  {
                 *      string result = WriteDataToPANASON(Uploaddt.Rows[0]["reelid"].ToString(), Uploaddt.Rows[0]["materialcode"].ToString(), Uploaddt.Rows[0]["Vendor"].ToString(), Uploaddt.Rows[0]["cuslotno"].ToString(), int.Parse(Uploaddt.Rows[0]["qty"].ToString()), Uploaddt.Rows[0]["datecode"].ToString(), sqlconn, tran);
                 *      if (result == "0")
                 *      {
                 *          tran.Commit();
                 *          //this.lblMessage.Text = Uploaddt.Rows[0]["reelid"].ToString() + "保存成功!" + ",写入松下数据成功!";
                 *      }
                 *      else if (result == "1")
                 *      {
                 *         // this.lblMessage.Text = "保存成功!" + ",松下系统,已经存在该数据!" + Uploaddt.Rows[0]["reelid"].ToString();
                 *          tran.Rollback();
                 *      }
                 *      else
                 *      {
                 *          //this.lblMessage.Text = Uploaddt.Rows[0]["reelid"].ToString() + "保存成功!" + ",写入松下数据失败!" + result + ",请重试一次";
                 *          // this.lblMessage.ForeColor = Color.Red;
                 *          //Component.UrlEncoding.alertMess(ClientScript, lblMessage.Text);
                 *          tran.Rollback();
                 *
                 *          string sqlinsert = " if not exists(select 1 from OEM_ReelidDataUpload where Lotno='" + Uploaddt.Rows[0]["reelid"].ToString() + "') insert into OEM_ReelidDataUpload(Lotno, materialcode, vendor, cuslotno,qty, datecode,operdate) ";
                 *          sqlinsert += " values('" + Uploaddt.Rows[0]["reelid"].ToString() + "','" + Uploaddt.Rows[0]["materialcode"].ToString() + "','" + Uploaddt.Rows[0]["Vendor"].ToString() + "','" + Uploaddt.Rows[0]["cuslotno"].ToString() + "','" + Uploaddt.Rows[0]["qty"].ToString() + "','" + Uploaddt.Rows[0]["datecode"].ToString() + "',getdate())";
                 *          DbAccess.ExecuteSql(sqlinsert);
                 *      }
                 *  }
                 * }
                 */
            }

            wmsIQCTestRequestData.iqcRsult = wmsIQCTestInputData;
            string batchNumn    = DateTime.Now.ToString("yyyyMMddHHmmssfff");
            string method       = "CUX_WMS_IQC_REST_R";
            string requestData  = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(wmsIQCTestRequestData)));
            string responseData = string.Empty;

            bool restult = barcode.WMSInterface.WMSInterfaceUtils.CallErpInterface(batchNumn, method, requestData, ref responseData);

            ////string responseoriginalDate = string.Empty;
            ////bool restult = barcode.WMSInterface.WMSInterfaceUtils.CallWMSInterface(batchNumn, method, requestData, ref responseData, ref responseoriginalDate);

            string s = "";

            if (restult)
            {
                s = "1";
            }
            else
            {
                s = "0";
            }

            if (responseData == "")
            {
                lblinfo.Text = "WMS系统没有返回报文,入库失败!";
                return;
            }
            WMSIQCResultHead       m     = JsonConvert.DeserializeObject <WMSIQCResultHead>(responseData);
            List <WMSIQCInputItem> Items = m.results.messages;
            DataTable dt = new DataTable();

            dt.Columns.Add("transactionId");
            dt.Columns.Add("resultCode");
            dt.Columns.Add("resultMsg");
            string sresult         = "";
            string responseDatasql = "";

            foreach (WMSIQCInputItem l in Items)
            {
                //responseDatasql += " if not exists(select 1 from WMS_responseData where transactionId='" + l.transactionId + "')";
                //responseDatasql += "  insert into WMS_responseData ( transactionId ,resultCode,resultMsg,updateTime ) ";
                //responseDatasql += "  values ('" + l.transactionId + "','" + l.resultCode + "','" + l.resultMsg + "',GETDATE ())  ";
                //responseDatasql += " else update WMS_responseData set resultCode='" + l.resultCode + "',resultMsg  = '" + l.resultMsg + "',updateTime=GETDATE ()  where transactionId='" + l.transactionId + "'";


                if ((l.resultCode == "E" && !(l.resultMsg.Contains("该笔数据已经同步过合格IQC结果,不允许重复。"))) || l.resultCode == "N")     // 还有一种 "N"
                {
                    dt.Rows.Add(l.transactionId, l.resultCode, l.resultMsg);
                    sresult = sresult + l.transactionId + "," + l.resultMsg + ";";
                }

                //if ((! l.resultMsg.Contains("同步成功。")) || (!l.resultMsg.Contains("该笔数据已经同步过合格IQC结果")))
                //{
                //    dt.Rows.Add(l.transactionId, l.resultCode, l.resultMsg);
                //    sresult = sresult + l.transactionId + "," + l.resultMsg + ";";
                //}
            }
            for (int j = 0; j < dt.Rows.Count; j++)
            {
                sqlupdate += " delete deliveryCheck where lotno=(select lotno from delivery where iqcTransactionId='" + dt.Rows[j]["transactionId"].ToString() + "')";
            }

            sqlupdate += " insert into WMSInterfaceLog(org_id, workno, batchNumn, method, requestData, result,opertype, uploaddate)";
            sqlupdate += "values('" + dba.Rows[0]["org_id"].ToString() + "','" + dba.Rows[0]["deliveryid"].ToString() + "','" + batchNumn + "','" + method + "','" + responseData + "','" + s + "','" + "IQC" + "',getdate())";


            ////sqlupdate += " insert into WMSInterfaceLog(org_id, workno, batchNumn, method, requestData, result,opertype, uploaddate,originalrequest,originalresponseDate)";
            ////sqlupdate += "values('" + dba.Rows[0]["org_id"].ToString() + "','" + dba.Rows[0]["deliveryid"].ToString() + "','" + batchNumn + "','" + method + "','" + responseData + "','" + s + "','" + "IQC" + "',getdate(),'" + requestData + "','" + responseoriginalDate + "')";



            lblinfo.Text = sresult;

            DbAccess.ExecuteSql(sqlupdate);
            //DbAccess.ExecuteSql(responseDatasql);
        }
示例#2
0
        private void UploadToERP(DataTable dba)
        {
            WMSIQCTestRequestData wmsIQCTestRequestData = new WMSIQCTestRequestData();
            WMSIQCTestInputData   wmsIQCTestInputData   = new WMSIQCTestInputData();
            List <WMSIQCTestItem> list = new List <WMSIQCTestItem>();
            string sqlupdate           = "";

            for (int k = gridView.GetSelectedRows().Length; k > 0; k--)
            {
                DataRow db = gridView.GetDataRow(gridView.GetSelectedRows()[k - 1]);

                if (db["iqcTransactionid"].ToString() == "")
                {
                    continue;
                }
                if (int.Parse(db["checkqty"].ToString()) <= 0)
                {
                    continue;
                }

                if (int.Parse(db["qty"].ToString()) < int.Parse(db["checkqty"].ToString()))
                {
                    MessageBox.Show("确认数量不能大于可用数量");
                    return;
                }
                WMSIQCTestItem wmsiqcTestItem = new WMSIQCTestItem();
                wmsiqcTestItem.transactionId = db["iqcTransactionid"].ToString();
                wmsiqcTestItem.receiptNum    = db["deliveryid"].ToString();
                wmsiqcTestItem.itemCode      = db["materialcode"].ToString();
                wmsiqcTestItem.lotNum        = db["lotno"].ToString();
                wmsiqcTestItem.seqNum        = "";
                wmsiqcTestItem.orgCode       = db["org_id"].ToString();
                wmsiqcTestItem.iqcResult     = db["TestResult"].ToString() == "OK" ? "S" : "E";
                wmsiqcTestItem.iqcQty        = db["checkqty"].ToString();
                wmsiqcTestItem.barcodeUser   = Login.username;

                sqlupdate += " if not exists(select 1 from deliveryCheck where lotno='" + wmsiqcTestItem.lotNum + "' and states='" + db["TestResult"].ToString() + "')";
                sqlupdate += " insert into deliveryCheck(org_id, receptid,productcode,qty, lotno, states,eventuser, eventtime)";
                sqlupdate += "values('" + wmsiqcTestItem.orgCode + "','" + wmsiqcTestItem.receiptNum + "','" + wmsiqcTestItem.itemCode + "','" + wmsiqcTestItem.iqcQty + "','" + wmsiqcTestItem.lotNum + "','" + db["TestResult"].ToString() + "','" + Login.userId + "',getdate())";
                sqlupdate += " else update deliveryCheck set qty=qty+" + wmsiqcTestItem.iqcQty + " where lotno='" + wmsiqcTestItem.lotNum + "' and states='" + db["TestResult"].ToString() + "'";

                //List<WMSIQCTestItem> list = new List<WMSIQCTestItem>();
                list.Add(wmsiqcTestItem);
                //WMSIQCTestInputData wmsIQCTestInputData = new WMSIQCTestInputData();
                wmsIQCTestInputData.message = list;
            }
            wmsIQCTestRequestData.iqcRsult = wmsIQCTestInputData;
            string batchNumn    = DateTime.Now.ToString("yyyyMMddHHmmssfff");
            string method       = "CUX_WMS_IQC_REST_R";
            string requestData  = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(wmsIQCTestRequestData)));
            string responseData = string.Empty;
            bool   restult      = barcode.WMSInterface.WMSInterfaceUtils.CallErpInterface(batchNumn, method, requestData, ref responseData);

            string responseoriginalDate = string.Empty;
            //bool restult = barcode.WMSInterface.WMSInterfaceUtils.CallWMSInterface(batchNumn, method, requestData, ref responseData, ref responseoriginalDate);

            string s = "";

            if (restult)
            {
                s = "1";
            }
            else
            {
                s = "0";
            }

            if (responseData == "")
            {
                lblinfo.Text = "WMS系统没有返回值,上传失败!";
                return;
            }
            WMSIQCResultHead       m     = JsonConvert.DeserializeObject <WMSIQCResultHead>(responseData);
            List <WMSIQCInputItem> Items = m.results.messages;
            DataTable dt = new DataTable();

            dt.Columns.Add("transactionId");
            dt.Columns.Add("resultCode");
            dt.Columns.Add("resultMsg");
            string sresult = "";

            foreach (WMSIQCInputItem l in Items)
            {
                if (l.resultCode == "E")
                {
                    dt.Rows.Add(l.transactionId, l.resultCode, l.resultMsg);
                    sresult = sresult + l.transactionId + "," + l.resultMsg + ";";
                }
            }
            for (int j = 0; j < dt.Rows.Count; j++)
            {
                sqlupdate += " delete deliveryCheck where lotno=(select lotno from delivery where iqcTransactionId='" + dt.Rows[j]["transactionId"].ToString() + "')";
            }

            sqlupdate += " insert into WMSInterfaceLog(org_id, workno, batchNumn, method, requestData, result,opertype, uploaddate,originalrequest,originalresponseDate)";
            sqlupdate += "values('" + dba.Rows[0]["org_id"].ToString() + "','" + dba.Rows[0]["deliveryid"].ToString() + "','" + batchNumn + "','" + method + "','" + responseData + "','" + s + "','" + "IQC" + "',getdate(),'" + requestData + "','" + responseoriginalDate + "')";

            lblinfo.Text = sresult;

            DbAccess.ExecuteSql(sqlupdate);
        }
示例#3
0
        private void UploadToERP(DataGridView db)
        {
            string sqlupdate = "";

            for (int i = 0; i < db.Rows.Count; i++)
            {
                string ss = "True";
                if (db.Rows[i].Cells[0].Value == null)
                {
                    ss = "";
                }
                else
                {
                    ss = db.Rows[i].Cells[0].Value.ToString();
                }

                if (ss == "True")
                {
                    if (int.Parse(db.Rows[i].Cells["qty"].Value.ToString()) < int.Parse(db.Rows[i].Cells["checkqty"].Value.ToString()))
                    {
                        MessageBox.Show("确认数量不能大于可用数量");
                        return;
                    }
                    WMSIQCTestItem wmsiqcTestItem = new WMSIQCTestItem();
                    wmsiqcTestItem.transactionId = db.Rows[i].Cells["iqcTransactionid"].Value.ToString();
                    wmsiqcTestItem.receiptNum    = db.Rows[i].Cells["deliveryid"].Value.ToString();
                    wmsiqcTestItem.itemCode      = db.Rows[i].Cells["materialcode"].Value.ToString();
                    wmsiqcTestItem.lotNum        = db.Rows[i].Cells["lotno"].Value.ToString();
                    wmsiqcTestItem.seqNum        = "";
                    wmsiqcTestItem.orgCode       = db.Rows[i].Cells["org_id"].Value.ToString();
                    wmsiqcTestItem.iqcResult     = db.Rows[i].Cells["TestResult"].Value.ToString() == "OK" ? "S" : "E";
                    wmsiqcTestItem.iqcQty        = db.Rows[i].Cells["checkqty"].Value.ToString();

                    List <WMSIQCTestItem> list = new List <WMSIQCTestItem>();
                    list.Add(wmsiqcTestItem);

                    WMSIQCTestInputData wmsIQCTestInputData = new WMSIQCTestInputData();
                    wmsIQCTestInputData.message = list;

                    WMSIQCTestRequestData wmsIQCTestRequestData = new WMSIQCTestRequestData();
                    wmsIQCTestRequestData.iqcRsult = wmsIQCTestInputData;

                    string batchNumn    = DateTime.Now.ToString("yyyyMMddHHmmssfff");
                    string method       = "CUX_WMS_IQC_REST_R";
                    string requestData  = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(wmsIQCTestRequestData)));
                    string responseData = string.Empty;
                    bool   restult      = WMSInterfaceUtils.CallErpInterface(batchNumn, method, requestData, ref responseData);
                    string s            = "0";
                    if (restult)
                    {
                        s = "1";
                    }
                    else
                    {
                        s = "0";
                    }
                    sqlupdate  = " update delivery set IfSuccess='" + s + "' where lotno='" + db.Rows[i].Cells["lotno"].Value.ToString() + "'";
                    sqlupdate += " insert into WMSInterfaceLog(org_id, workno, batchNumn, method, requestData, result,opertype, uploaddate)";
                    sqlupdate += "values('" + db.Rows[0].Cells["org_id"].Value.ToString() + "','" + db.Rows[0].Cells["deliveryid"].Value.ToString() + "','" + batchNumn + "','" + method + "','" + responseData + "','" + s + "','" + "IQC" + "',getdate())";

                    if (s == "1")
                    {
                        sqlupdate += " if not exists(select 1 from deliveryCheck where lotno='" + db.Rows[i].Cells["lotno"].Value.ToString() + "' and states='" + db.Rows[i].Cells["TestResult"].Value.ToString() + "')";
                        sqlupdate += " insert into deliveryCheck(org_id, receptid,productcode,qty, lotno, states,eventuser, eventtime)";
                        sqlupdate += "values('" + db.Rows[0].Cells["org_id"].Value.ToString() + "','" + db.Rows[0].Cells["deliveryid"].Value.ToString() + "','" + db.Rows[0].Cells["materialcode"].Value.ToString() + "','" + wmsiqcTestItem.iqcQty + "','" + db.Rows[i].Cells["lotno"].Value.ToString() + "','" + db.Rows[i].Cells["TestResult"].Value.ToString() + "','" + Login.userId + "',getdate())";
                        sqlupdate += " else update deliveryCheck set qty=qty+" + wmsiqcTestItem.iqcQty + " where lotno='" + db.Rows[i].Cells["lotno"].Value.ToString() + "' and states='" + db.Rows[i].Cells["TestResult"].Value.ToString() + "'";
                    }
                    DbAccess.ExecuteSql(sqlupdate);
                }
            }
        }