private void initOperate(int currentPage) { BllShipmentTable shipment = bShipment.GetModel(slipnumber); BllOrderHeaderTable orderheader = bOrderHeader.GetModel(shipment.ORDER_SLIP_NUMBER); txtSlipNumber.Text = slipnumber; txtOrderSlipNumber.Text = shipment.ORDER_SLIP_NUMBER; //txtCustomerCode.Text = orderheader.CUSTOMER_CODE; //txtCustomerName.Text = orderheader.CUSTOMER_NAME; txtEndCustomerCode.Text = orderheader.ENDER_CUSTOMER_CODE; txtEndCustomerName.Text = orderheader.ENDER_CUSTOMER_NAME; //txtDeliveryPointCode.Text = orderheader.ENDER_CUSTOMER_CODE; //txtDeliveryPointName.Text = orderheader.ENDER_CUSTOMER_NAME; //txtSerialNumber.Text = shipment.SERIAL_NUMBER; txtCustomerPoNumber.Text = orderheader.CUSTOMER_PO_NUMBER; txtOrderSlipDateFrom.Value = CConvert.ToDateTime(orderheader.SLIP_DATE.ToString()); txtOrderSlipDateTo.Value = CConvert.ToDateTime(orderheader.SLIP_DATE.ToString()); txtSlipDateFrom.Value = CConvert.ToDateTime(shipment.SLIP_DATE.ToString("yyyy-MM-dd")); txtSlipDateTo.Value = CConvert.ToDateTime(shipment.SLIP_DATE.ToString("yyyy-MM-dd")); StringBuilder sb = new StringBuilder(); sb.AppendFormat(" STATUS_FLAG <> {0}", CConstant.DELETE); sb.AppendFormat(" AND SLIP_NUMBER = '{0}'", slipnumber); DataSet ds = bShipment.GetList(sb.ToString(), "", (currentPage - 1) * PageSize + 1, currentPage * PageSize); int recordCount = bShipment.GetRecordCount(sb.ToString()); _currentDt = ds.Tables[0]; reSetCurrentDt(); this.dgvData.DataSource = _currentDt; this.pgControl.init(GetTotalPage(recordCount), currentPage); }
/// <summary> /// /// </summary> private void dgvData_CellValidated(object sender, DataGridViewCellEventArgs e) { try { DataGridViewRow dr = dgvData.Rows[e.RowIndex]; if (e.ColumnIndex == dgvData.Columns["ORDER_SLIP_NUMBER"].Index) { string orderSlipNumber = CConvert.ToString(dr.Cells["ORDER_SLIP_NUMBER"].Value).Trim(); string no = CConvert.ToString(dr.Cells["NO"].Value).Trim(); if (orderSlipNumber != "") { BllOrderHeaderTable orderTable = bOrderHeader.GetModel(orderSlipNumber); if (orderTable != null) { if (!IsExist(orderSlipNumber, no)) { dr.Cells["ORDER_SLIP_NUMBER"].Value = orderTable.SLIP_NUMBER; dr.Cells["ORDER_SLIP_DATE"].Value = CConvert.ToDateTime(orderTable.SLIP_DATE).ToString("yyyy-MM-dd"); dr.Cells["AMOUNT_INCLUDED_TAX"].Value = orderTable.AMOUNT_INCLUDED_TAX; dr.Cells["ARR_AMOUNT"].Value = bDepositArr.GetArrAmount(orderTable.SLIP_NUMBER); } } else { MessageBox.Show("订单编号不存在。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); dr.Cells["ORDER_SLIP_NUMBER"].Value = ""; dr.Cells["ORDER_SLIP_DATE"].Value = ""; dr.Cells["AMOUNT_INCLUDED_TAX"].Value = ""; dr.Cells["ARR_AMOUNT"].Value = "0"; dr.Cells["AMOUNT"].Value = ""; } } } else if (e.ColumnIndex == dgvData.Columns["AMOUNT"].Index) { string amount = CConvert.ToString(dr.Cells["AMOUNT"].Value); if (amount == "") { dr.Cells["AMOUNT"].Value = 0; } else { dr.Cells["AMOUNT"].Value = CConvert.ToDecimal(amount); } } } catch (Exception ex) { Logger.Error("CellValidated error!", ex); } }
/// <summary> /// 更新一条数据 /// </summary> public int Update(BllOrderHeaderTable model) { return(dal.Update(model)); }
/// <summary> /// 增加一条数据 /// </summary> public string Add(BllOrderHeaderTable model) { return(dal.Add(model)); }
/// <summary> /// 导出 /// </summary> private void btnExport_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtCompanyCode.Text)) { MessageBox.Show("请选择公司。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (string.IsNullOrEmpty(txtFilePath.Text)) { MessageBox.Show("请选择保存路径。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } BaseCompanyTable companyTable = bCompany.GetModel(txtCompanyCode.Text.Trim()); BllOrderHeaderTable orderTable = bOrderH.GetModel(_slipNumber); BaseCustomerTable customerTable = bCustomer.GetModel(orderTable.ENDER_CUSTOMER_CODE); report.Preview = previewControl1; DataTable dt = new DataTable(); dt.TableName = "ds"; dt.Columns.Add("i", System.Type.GetType("System.Decimal")); dt.Columns.Add("SPEC", System.Type.GetType("System.String")); dt.Columns.Add("QUANTITY", System.Type.GetType("System.Decimal")); dt.Columns.Add("PRICE", System.Type.GetType("System.Decimal")); dt.Columns.Add("DISCOUNT", System.Type.GetType("System.Decimal")); dt.Columns.Add("AMOUNT", System.Type.GetType("System.Decimal")); dt.Columns.Add("MATERIAL", System.Type.GetType("System.String")); dt.Columns.Add("MEMO", System.Type.GetType("System.String")); dt.Columns.Add("DESCRIPTION", System.Type.GetType("System.String")); dt.Columns.Add("DESCRIPTION1", System.Type.GetType("System.String")); int j = 1; foreach (BllOrderLineTable lineModel in orderTable.Items) { if (lineModel.PRICE_DISCOUNT.ToString().Equals("0.00")) { object[] rows = { j++, lineModel.SPEC, lineModel.QUANTITY, lineModel.PRICE, null, lineModel.AMOUNT, lineModel.METERIAL, lineModel.MEMO, lineModel.DESCRIPTION, lineModel.DESCRIPTION1 }; dt.Rows.Add(rows); } else { object[] rows = { j++, lineModel.SPEC, lineModel.QUANTITY, lineModel.PRICE, 0 - lineModel.PRICE_DISCOUNT, lineModel.AMOUNT, lineModel.METERIAL, lineModel.MEMO, lineModel.DESCRIPTION, lineModel.DESCRIPTION1 }; dt.Rows.Add(rows); } } DataSet ds = new DataSet(); ds.Tables.Add(dt); string fileName = ""; string amountName = ""; if (CConstant.LANGUAGE_CN.Equals(cboLanguage.SelectedValue)) { fileName = @"Reports\Proforma_Invoice.frx"; amountName = NumberConvert.NumberToEnglish(CConvert.ToString(orderTable.AMOUNT_INCLUDED_TAX), false); } else if (CConstant.LANGUAGE_EN.Equals(cboLanguage.SelectedValue)) { fileName = @"Reports\Order_EN.frx"; amountName = NumberConvert.NumberToEnglish(CConvert.ToString(orderTable.AMOUNT_INCLUDED_TAX), false); } try { if (File.Exists(fileName)) { report.Load(fileName); report.SetParameterValue("CompanyName", companyTable.NAME); report.SetParameterValue("EnglishCompanyName", companyTable.NAME_ENGLISH); report.SetParameterValue("CompanyTel", companyTable.PHONE_NUMBER); report.SetParameterValue("CompanyFax", companyTable.FAX_NUMBER); report.SetParameterValue("CompanyAddress", companyTable.ADDRESS_MIDDLE); report.SetParameterValue("CompanyUrl", companyTable.URL); report.SetParameterValue("CompanyEmail", companyTable.EMAIL); report.SetParameterValue("SlipNumber", _slipNumber); report.SetParameterValue("SlipDate", CConvert.ToDateTime(orderTable.SLIP_DATE).ToString("yyyy/MM/dd")); report.SetParameterValue("Currency", orderTable.CURRENCY_NAME); report.SetParameterValue("CustomerName", customerTable.NAME); int COUNT = 0; foreach (DataRow dr in ds.Tables[0].Rows) { if (dr["DISCOUNT"].ToString() != "") { COUNT++; } } if (COUNT > 0) { report.SetParameterValue("DISCOUNT", "Discount"); } if (customerTable.PHONE_NUMBER.ToString() != "") { report.SetParameterValue("CustomerTel", "Tel:" + customerTable.PHONE_NUMBER); } if (customerTable.FAX_NUMBER.ToString() != "") { report.SetParameterValue("CustomerFax", "Fax:" + customerTable.FAX_NUMBER); } if (customerTable.ADDRESS_FIRST.ToString() != "") { report.SetParameterValue("CustomerAddress", "Address:" + customerTable.ADDRESS_FIRST); } report.SetParameterValue("CustomerMessage", txtMessage.Text); report.SetParameterValue("DeliveryTerms", orderTable.DELIVERY_TERMS); report.SetParameterValue("PaymentTerms", orderTable.PAYMENT_TERMS); if (orderTable.DISCOUNT_RATE > 0) { report.SetParameterValue("DiscountRate", "-" + orderTable.DISCOUNT_RATE + "%"); report.SetParameterValue("DiscountAmount", orderTable.AMOUNT_INCLUDED_TAX); } report.SetParameterValue("AmountName", amountName); report.SetParameterValue("FullNameEn", txtBankEn.Text); report.SetParameterValue("DetailEn", rtxtDetail.Text); if (companyTable.COMPANY_PICTURE != null) { MemoryStream ms = new MemoryStream((byte[])companyTable.COMPANY_PICTURE); Image image = Image.FromStream(ms); ((FastReport.PictureObject)report.FindObject("CompanyPicture")).Image = image; } if (companyTable.LOGO != null) { MemoryStream ms1 = new MemoryStream((byte[])companyTable.LOGO); Image image1 = Image.FromStream(ms1); ((FastReport.PictureObject)report.FindObject("Logo")).Image = image1; } report.RegisterData(ds); report.Prepare(); if (fileName.Equals(@"Reports\Proforma_Invoice.frx")) { report.Export(new FastReport.Export.Pdf.PDFExport(), this.txtFilePath.Text + "\\Proforma_Invoice" + _slipNumber + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".pdf"); } else { report.Export(new FastReport.Export.Pdf.PDFExport(), this.txtFilePath.Text + "\\Order_" + _slipNumber + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".pdf"); } MessageBox.Show("导出成功。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } } catch (Exception ex) { Logger.Error("", ex); } }
/// <summary> /// 增加一条数据 /// </summary> public string Add(BaseProductionPlanTable model, BllOrderHeaderTable bOrderHeader) { return(dal.Add(model, bOrderHeader)); }
private void FrmAlloation_Load(object sender, EventArgs e) { BllOrderHeaderTable headerTable = bOrderHeader.GetModel(_slipNumber); this.txtSlipNumber.Text = headerTable.SLIP_NUMBER; this.txtCustomerCode.Text = headerTable.CUSTOMER_CODE; this.txtCustomerName.Text = headerTable.CUSTOMER_NAME; this.txtEndCustomerCode.Text = headerTable.ENDER_CUSTOMER_CODE; this.txtEndCustomerName.Text = headerTable.ENDER_CUSTOMER_NAME; this.txtDeliveryPointCode.Text = headerTable.DELIVERY_POINT_CODE; this.txtDeliveryPointName.Text = headerTable.DELIVERY_POINT_NAME; this.txtOwnerPoNumber.Text = headerTable.CUSTOMER_PO_NUMBER; this.txtSlipDate.Text = CConvert.DateTimeToString(headerTable.SLIP_DATE, "yyyy-MM-dd"); this.txtDepartualDate.Text = CConvert.DateTimeToString(headerTable.DEPARTUAL_DATE, "yyyy-MM-dd"); DataGridViewComboBoxColumn co = this.dgvData.Columns["DEPARTUAL_WAREHOUSE"] as DataGridViewComboBoxColumn; co.DataSource = CCacheData.WAREHOUSE.Copy(); co.DisplayMember = "NAME"; co.ValueMember = "CODE"; foreach (BllOrderLineTable lineModel in headerTable.Items) { decimal quantity = CConvert.ToDecimal(lineModel.QUANTITY) - CConvert.ToDecimal(lineModel.SHIPMENT_QUANTITY); int currentRowIndex = dgvData.Rows.Add(1); DataGridViewRow dgvr = dgvData.Rows[currentRowIndex]; dgvr.Cells["NO"].Value = lineModel.LINE_NUMBER; dgvr.Cells["PRODUCT_CODE"].Value = lineModel.PRODUCT_CODE; dgvr.Cells["PRODUCT_NAME"].Value = lineModel.PRODUCT_NAME; dgvr.Cells["PRODUCT_SPEC"].Value = lineModel.PRODUCT_SPEC; dgvr.Cells["QUANTITY"].Value = quantity; dgvr.Cells["UNIT_CODE"].Value = lineModel.UNIT_NAME; dgvr.Cells["UNIT_NAME"].Value = lineModel.UNIT_NAME; dgvr.Cells["REF_STOCK"].Value = "参照"; //当前己引当的仓库的取得 BaseWarehouseTable warehouseTable = bAlloation.GetAlloationWarehouse(headerTable.SLIP_NUMBER, lineModel.LINE_NUMBER); string warehouseCode = warehouseTable.CODE; if (warehouseCode != null && warehouseCode != "") { ((DataGridViewComboBoxCell)dgvr.Cells["DEPARTUAL_WAREHOUSE"]).Style.NullValue = warehouseTable.NAME + " "; } else { warehouseCode = headerTable.DEPARTUAL_WAREHOUSE_CODE; ((DataGridViewComboBoxCell)dgvr.Cells["DEPARTUAL_WAREHOUSE"]).Style.NullValue = headerTable.DEPARTUAL_WAREHOUSE_NAME + " "; } dgvr.Cells["DEFAULT_WAREHOUSE_CODE"].Value = warehouseCode; //当前仓库实际库存的取得 BaseStockTable stockTable = bStock.GetModel(warehouseCode, lineModel.PRODUCT_CODE); decimal stock = 0; if (stockTable != null) { stock = CConvert.ToDecimal(stockTable.QUANTITY); } //己使用的引当数量,当前订单除外,己出库数量除外 stock -= bAlloation.GetAlloationQuantity(headerTable.SLIP_NUMBER, warehouseCode, lineModel.PRODUCT_CODE); dgvr.Cells["STOCK"].Value = stock; dgvr.Cells["ALLOATION_QUANTITY"].Value = quantity; BaseProductTable pTable = null; if (lineModel.PRODUCT_CODE.Length >= 4 && lineModel.PRODUCT_CODE.Substring(0, 4) == "9999") { pTable = bProduct.GetModel(lineModel.PRODUCT_CODE.Substring(0, 4)); } else { pTable = bProduct.GetModel(lineModel.PRODUCT_CODE); } if (pTable.STOCK_FLAG == 2) { dgvr.Cells["IS_ALLOATION"].Value = "OK"; } else if (quantity > stock) { dgvr.Cells["IS_ALLOATION"].Value = "NG"; } else { dgvr.Cells["IS_ALLOATION"].Value = "OK"; } } }
public string Add(BaseProductionPlanTable headerModel, BllOrderHeaderTable bOrderHeader) { int i = 0; int result = 0; while (i < 10) { try { List <CommandInfo> listSql = new List <CommandInfo>(); StringBuilder strSql = new StringBuilder(); strSql.Append("insert into BLL_PRODUCTION_SCHEDULE("); strSql.Append("SLIP_NUMBER,ORDER_SLIP_NUNBER,SLIP_DATE,SLIP_TYPE_CODE,DESCRIPTION,PLAN_NUMBER,PLAN_START_DATE,PLAN_END_DATE,MEMO,STATUS_FLAG,CREATE_USER,CREATE_DATE_TIME,LAST_UPDATE_TIME,LAST_UPDATE_USER,ACTUAL_START_TIME,ACTUAL_END_TIME,MEMO1,MEMO2,MEMO3)"); strSql.Append(" values ("); strSql.Append("@SLIP_NUMBER,@ORDER_SLIP_NUNBER,GETDATE(),@SLIP_TYPE_CODE,@DESCRIPTION,@PLAN_NUMBER,@PLAN_START_DATE,@PLAN_END_DATE,@MEMO,@STATUS_FLAG,@CREATE_USER,GETDATE(),GETDATE(),@LAST_UPDATE_USER,@ACTUAL_START_TIME,@ACTUAL_END_TIME,@MEMO1,@MEMO2,@MEMO3)"); SqlParameter[] parameters = { new SqlParameter("@SLIP_NUMBER", SqlDbType.VarChar, 50), new SqlParameter("@ORDER_SLIP_NUNBER", SqlDbType.VarChar, 50), new SqlParameter("@SLIP_TYPE_CODE", SqlDbType.VarChar, 50), new SqlParameter("@DESCRIPTION", SqlDbType.VarChar, 50), new SqlParameter("@PLAN_NUMBER", SqlDbType.Int, 9), new SqlParameter("@PLAN_START_DATE", SqlDbType.DateTime), new SqlParameter("@PLAN_END_DATE", SqlDbType.DateTime), new SqlParameter("@MEMO", SqlDbType.VarChar, 50), new SqlParameter("@STATUS_FLAG", SqlDbType.Int, 9), new SqlParameter("@CREATE_USER", SqlDbType.VarChar, 50), new SqlParameter("@LAST_UPDATE_USER", SqlDbType.VarChar, 50), new SqlParameter("@ACTUAL_START_TIME", SqlDbType.DateTime), new SqlParameter("@ACTUAL_END_TIME", SqlDbType.DateTime), new SqlParameter("@MEMO1", SqlDbType.VarChar, 50), new SqlParameter("@MEMO2", SqlDbType.VarChar, 50), new SqlParameter("@MEMO3", SqlDbType.VarChar, 50) }; parameters[0].Value = headerModel.SLIP_NUMBER; parameters[1].Value = headerModel.ORDER_SLIP_NUNBER; parameters[2].Value = headerModel.SLIP_TYPE_CODE; parameters[3].Value = headerModel.SPEC; parameters[4].Value = headerModel.PLAN_QUANTITY; parameters[5].Value = headerModel.PLAN_START_DATE; parameters[6].Value = headerModel.PLAN_END_DATE; parameters[7].Value = headerModel.MEMO; parameters[8].Value = CConstant.INIT; parameters[9].Value = headerModel.CREATE_USER; parameters[10].Value = headerModel.LAST_UPDATE_USER; parameters[11].Value = headerModel.ACTUAL_START_TIME; parameters[12].Value = headerModel.ACTUAL_END_TIME; parameters[13].Value = headerModel.MEMO1; parameters[14].Value = headerModel.MEMO2; parameters[15].Value = headerModel.MEMO3; listSql.Add(new CommandInfo(strSql.ToString(), parameters)); //明细插入 foreach (BaseProductionPlanLineTable lineModel in headerModel.Items) { strSql = new StringBuilder(); strSql.Append("insert into BLL_PRODUCTION_SCHEDULE_LINE("); strSql.Append(" SLIP_NUMBER,LINE_NUMBER,PARTS_CODE,PLAN_START_DATE,PLAN_END_DATE,PLAN_NUMBER,SCHEDULE_FLAG,STATUS_FLAG,ACTUAL_START_TIME,ACTUAL_END_TIME)"); strSql.Append(" values ("); strSql.Append(" @SLIP_NUMBER,@LINE_NUMBER,@PARTS_CODE,@PLAN_START_DATE,@PLAN_END_DATE,@PLAN_NUMBER,@SCHEDULE_FLAG,@STATUS_FLAG,@ACTUAL_START_TIME,@ACTUAL_END_TIME)"); SqlParameter[] lineParameters = { new SqlParameter("@SLIP_NUMBER", SqlDbType.VarChar, 20), new SqlParameter("@LINE_NUMBER", SqlDbType.Int, 9), new SqlParameter("@PARTS_CODE", SqlDbType.VarChar, 20), new SqlParameter("@PLAN_START_DATE", SqlDbType.DateTime), new SqlParameter("@PLAN_END_DATE", SqlDbType.DateTime), new SqlParameter("@PLAN_NUMBER", SqlDbType.Int, 9), new SqlParameter("@SCHEDULE_FLAG", SqlDbType.Int, 9), new SqlParameter("@STATUS_FLAG", SqlDbType.Int, 20), new SqlParameter("@ACTUAL_START_TIME", SqlDbType.DateTime), new SqlParameter("@ACTUAL_END_TIME", SqlDbType.DateTime) }; lineParameters[0].Value = headerModel.SLIP_NUMBER; lineParameters[1].Value = lineModel.LINE_NUMBER; lineParameters[2].Value = lineModel.PARTS_CODE; lineParameters[3].Value = lineModel.PLAN_START_DATE; lineParameters[4].Value = lineModel.PLAN_END_DATE; lineParameters[5].Value = lineModel.PLAN_NUMBER; lineParameters[6].Value = lineModel.SCHEDULE_FLAG; lineParameters[7].Value = CConstant.INIT; lineParameters[8].Value = lineModel.ACTUAL_START_TIME; lineParameters[9].Value = lineModel.ACTUAL_END_TIME; listSql.Add(new CommandInfo(strSql.ToString(), lineParameters)); } foreach (BaseProductionPlanDrawingLineTable lineModel in headerModel.ItemsDrawing) { strSql = new StringBuilder(); strSql.Append("insert into BLL_PRODUCTION_SCHEDULE_DRAWING_LINE("); strSql.Append("SLIP_NUMBER,LINE_NUMBER,DRAWING_CODE,PLAN_END_DATE,STATUS_FLAG,ACTUAL_START_TIME,ACTUAL_END_TIME)"); strSql.Append(" values ("); strSql.Append(" @SLIP_NUMBER,@LINE_NUMBER,@DRAWING_CODE,@PLAN_END_DATE,@STATUS_FLAG,@ACTUAL_START_TIME,@ACTUAL_END_TIME)"); SqlParameter[] lineDrawingParameters = { new SqlParameter("@SLIP_NUMBER", SqlDbType.VarChar, 20), new SqlParameter("@LINE_NUMBER", SqlDbType.Int, 9), new SqlParameter("@DRAWING_CODE", SqlDbType.VarChar, 20), new SqlParameter("@PLAN_END_DATE", SqlDbType.DateTime), new SqlParameter("@STATUS_FLAG", SqlDbType.Int, 20), new SqlParameter("@ACTUAL_START_TIME", SqlDbType.DateTime), new SqlParameter("@ACTUAL_END_TIME", SqlDbType.DateTime) }; lineDrawingParameters[0].Value = headerModel.SLIP_NUMBER; lineDrawingParameters[1].Value = lineModel.LINE_NUMBER; lineDrawingParameters[2].Value = lineModel.DRAWING_CODE; lineDrawingParameters[3].Value = lineModel.PLAN_END_DATE; lineDrawingParameters[4].Value = CConstant.INIT; lineDrawingParameters[5].Value = lineModel.ACTUAL_START_TIME; lineDrawingParameters[6].Value = lineModel.ACTUAL_END_TIME; listSql.Add(new CommandInfo(strSql.ToString(), lineDrawingParameters)); } foreach (BaseProductionPlanLineTable lineTable in headerModel.Items) // foreach (BaseProductionScheduleProductionProcessTable lineModel in headerModel.ItemsProductionProcess) { foreach (BaseProductionScheduleProductionProcessTable lineModel in lineTable.ProductionProcess) { strSql = new StringBuilder(); strSql.Append("insert into BLL_PRODUCTION_SCHEDULE_PRODUCTION_PROCESS("); strSql.Append("SLIP_NUMBER,SCHEDULE_LINE_NUNBER,LINE_NUMBER,PRODUCTION_PROCESS_CODE,PLAN_START_DATE,PLAN_END_DATE,STATUS_FLAG,ACTUAL_START_TIME,ACTUAL_END_TIME)"); strSql.Append(" values ("); strSql.Append("@SLIP_NUMBER,@SCHEDULE_LINE_NUNBER,@LINE_NUMBER,@PRODUCTION_PROCESS_CODE,@PLAN_START_DATE,@PLAN_END_DATE,@STATUS_FLAG,@ACTUAL_START_TIME,@ACTUAL_END_TIME)"); SqlParameter[] lineProductionProcessParameters = { new SqlParameter("@SLIP_NUMBER", SqlDbType.VarChar, 20), new SqlParameter("@SCHEDULE_LINE_NUNBER", SqlDbType.Int, 9), new SqlParameter("@LINE_NUMBER", SqlDbType.Int, 9), new SqlParameter("@PRODUCTION_PROCESS_CODE", SqlDbType.VarChar, 50), new SqlParameter("@PLAN_START_DATE", SqlDbType.DateTime), new SqlParameter("@PLAN_END_DATE", SqlDbType.DateTime), new SqlParameter("@STATUS_FLAG", SqlDbType.Int, 9), new SqlParameter("@ACTUAL_START_TIME", SqlDbType.DateTime), new SqlParameter("@ACTUAL_END_TIME", SqlDbType.DateTime) }; lineProductionProcessParameters[0].Value = headerModel.SLIP_NUMBER; lineProductionProcessParameters[1].Value = lineModel.SCHEDULE_LINE_NUNBER; lineProductionProcessParameters[2].Value = lineModel.LINE_NUMBER; lineProductionProcessParameters[3].Value = lineModel.PRODUCTION_PROCESS_CODE; lineProductionProcessParameters[4].Value = lineModel.PLAN_START_DATE; lineProductionProcessParameters[5].Value = lineModel.PLAN_END_DATE; lineProductionProcessParameters[6].Value = CConstant.INIT; lineProductionProcessParameters[7].Value = lineModel.ACTUAL_START_TIME; lineProductionProcessParameters[8].Value = lineModel.ACTUAL_END_TIME; listSql.Add(new CommandInfo(strSql.ToString(), lineProductionProcessParameters)); } } foreach (BaseProductionPlanLineTable lineTable in headerModel.Items) { foreach (BaseProductionScheduleProductionProcessTable lineModel in lineTable.ProductionProcess) { foreach (BaseProductionTechnologyTable lineTechnologyModel in lineModel.ProductionTechnology) { strSql = new StringBuilder(); strSql.Append("insert into BLL_PRODUCTION_SCHEDULE_TECHNOLOGY("); strSql.Append("SLIP_NUMBER,SCHEDULE_LINE_NUMBER,SCHEDULE_PRODUCTION_PROCESS_LINE_NUNBER,TECHNOLOGY_LINE_NUMBER,TECHNOLOGY_CODE,STATUS_FLAG,PLAN_START_DATE,PLAN_END_DATE,ACTUAL_START_TIME,ACTUAL_END_TIME)"); strSql.Append(" values ("); strSql.Append("@SLIP_NUMBER,@SCHEDULE_LINE_NUMBER,@SCHEDULE_PRODUCTION_PROCESS_LINE_NUNBER,@TECHNOLOGY_LINE_NUMBER,@TECHNOLOGY_CODE,@STATUS_FLAG,@PLAN_START_DATE,@PLAN_END_DATE,@ACTUAL_START_TIME,@ACTUAL_END_TIME)"); SqlParameter[] lineTechnologyParameters = { new SqlParameter("@SLIP_NUMBER", SqlDbType.VarChar, 20), new SqlParameter("@SCHEDULE_LINE_NUMBER", SqlDbType.Int, 9), new SqlParameter("@SCHEDULE_PRODUCTION_PROCESS_LINE_NUNBER", SqlDbType.Int, 9), new SqlParameter("@TECHNOLOGY_LINE_NUMBER", SqlDbType.Int, 9), new SqlParameter("@TECHNOLOGY_CODE", SqlDbType.VarChar, 50), new SqlParameter("@STATUS_FLAG", SqlDbType.Int, 9), new SqlParameter("@PLAN_START_DATE", SqlDbType.DateTime), new SqlParameter("@PLAN_END_DATE", SqlDbType.DateTime), new SqlParameter("@ACTUAL_START_TIME", SqlDbType.DateTime), new SqlParameter("@ACTUAL_END_TIME", SqlDbType.DateTime) }; lineTechnologyParameters[0].Value = headerModel.SLIP_NUMBER; lineTechnologyParameters[1].Value = lineTechnologyModel.SCHEDULE_LINE_NUMBER; lineTechnologyParameters[2].Value = lineTechnologyModel.SCHEDULE_PRODUCTION_PROCESS_LINE_NUNBER; lineTechnologyParameters[3].Value = lineTechnologyModel.LINE_NUMBER; lineTechnologyParameters[4].Value = lineTechnologyModel.TECHNOLOGY_CODE; lineTechnologyParameters[5].Value = CConstant.INIT; lineTechnologyParameters[6].Value = lineTechnologyModel.PLAN_START_DATE; lineTechnologyParameters[7].Value = lineTechnologyModel.PLAN_END_DATE; lineTechnologyParameters[8].Value = lineTechnologyModel.ACTUAL_START_TIME; lineTechnologyParameters[9].Value = lineTechnologyModel.ACTUAL_END_TIME; listSql.Add(new CommandInfo(strSql.ToString(), lineTechnologyParameters)); } } } foreach (BllOrderLineTable orderline in bOrderHeader.Items) { strSql = new StringBuilder(); strSql.Append("update BLL_ORDER_LINE set "); strSql.Append("ALLOATION_QUANTITY=@ALLOATION_QUANTITY"); strSql.Append(" where SLIP_NUMBER=@SLIP_NUMBER "); strSql.Append(" AND LINE_NUMBER=@LINE_NUMBER "); SqlParameter[] orderLineParam = { new SqlParameter("@ALLOATION_QUANTITY", SqlDbType.Decimal), new SqlParameter("@SLIP_NUMBER", SqlDbType.VarChar,50), new SqlParameter("@LINE_NUMBER", SqlDbType.Int, 9) }; orderLineParam[0].Value = orderline.ALLOATION_QUANTITY; orderLineParam[1].Value = orderline.SLIP_NUMBER; orderLineParam[2].Value = orderline.LINE_NUMBER; listSql.Add(new CommandInfo(strSql.ToString(), orderLineParam)); } result = DbHelperSQL.ExecuteSqlTran(listSql); break; } catch (SqlException ex) { headerModel.SLIP_NUMBER = DateTime.Now.ToString("yyyyMMdd") + (CConvert.ToInt32(GetMaxSlipNumber()) + 1).ToString().PadLeft(4, '0'); i++; if (i == 10) { throw ex; } continue; } break; } if (result <= 0) { return(null); } return(headerModel.SLIP_NUMBER); }
private void btnProduce_Click(object sender, EventArgs e) { if (CheckSure()) { List <DataTable> orderList = new List <DataTable>(); List <Hashtable> hashTable = new List <Hashtable>(); DataTable dt = new DataTable(); string[] a = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N" }; dt.Columns.Add("NO"); dt.Columns.Add("SLIPTYPE"); dt.Columns.Add("X_1"); dt.Columns.Add("X_2"); dt.Columns.Add("SLIPNUMBER"); dt.Columns.Add("CUSTOMER"); dt.Columns.Add("DATE"); dt.Columns.Add("MEMO"); //dt.Columns.Add("QUANTITY"); int i = 1; foreach (DataGridViewRow dgvr in dgvData.Rows) { if (Convert.ToBoolean(dgvr.Cells["CHECK"].Value)) { orderTable = bOrderHeader.GetModel(CConvert.ToString(dgvr.Cells["SLIP_NUMBER"].Value)); if (orderTable != null) { DataRow row = dt.NewRow(); row["NO"] = i; row["SLIPTYPE"] = bCommon.GetBaseMaster("SLIP_TYPE", orderTable.SLIP_TYPE).Name; row["SLIPNUMBER"] = orderTable.SLIP_NUMBER; row["CUSTOMER"] = orderTable.ENDER_CUSTOMER_NAME; row["DATE"] = orderTable.DUE_DATE; row["MEMO"] = orderTable.MEMO; //row["QUANTITY"]= orderTable. dt.Rows.Add(row); DataTable dt2 = new DataTable(); dt2.Columns.Add("NO"); dt2.Columns.Add("PRODUCT_NAME"); dt2.Columns.Add("X_1"); dt2.Columns.Add("X_2"); dt2.Columns.Add("QUANTITY"); dt2.Columns.Add("X_3"); dt2.Columns.Add("X_4"); dt2.Columns.Add("X_5"); dt2.Columns.Add("X_6"); dt2.Columns.Add("X_7"); dt2.Columns.Add("X_8"); dt2.Columns.Add("MEMO"); int j = 1; foreach (BllOrderLineTable line in orderTable.Items) { DataRow dr = dt2.NewRow(); dr["NO"] = j++; dr["PRODUCT_NAME"] = line.PRODUCT_NAME; dr["QUANTITY"] = (int)line.QUANTITY / orderTable.QUANTITY; dr["MEMO"] = line.MEMO; dt2.Rows.Add(dr); } orderList.Add(dt2); Hashtable ht = new Hashtable(); ht.Add("&SLIP_TYPE", bCommon.GetBaseMaster("SLIP_TYPE", orderTable.SLIP_TYPE).Name); ht.Add("&QUANTITY", ((int)orderTable.QUANTITY).ToString() + "套"); //ht.Add("&YEAR", CConvert.ToDateTime(orderTable.SLIP_DATE).ToString("yyyy")); //ht.Add("&MONTH", CConvert.ToDateTime(orderTable.SLIP_DATE).ToString("MM")); ht.Add("&NAME", "生产通知单" + a[i - 1]); ht.Add("&PONUMBER", orderTable.CUSTOMER_PO_NUMBER); ht.Add("&DUEDATE", CConvert.ToDateTime(orderTable.DUE_DATE).ToString("yyyy") + "月" + CConvert.ToDateTime(orderTable.DUE_DATE).ToString("MM") + "日"); ht.Add("&SLIPNUMBER", orderTable.SLIP_NUMBER); ht.Add("&CUSTOMER", orderTable.ENDER_CUSTOMER_NAME); hashTable.Add(ht); i++; } } } if (dt.Rows.Count > 0) { SaveFileDialog sf = new SaveFileDialog(); sf.FileName = "HD_PRODUCTION_ORDERS_" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls"; sf.Filter = "(文件)|*.xls;*.xlsx"; if (sf.ShowDialog(this) == DialogResult.OK) { if (dt.Rows.Count > 0) { int ret = CExport.DataTableToExcel_Production_Orders(@"rpt\HD_PRODUCTION_ORDERS.xls", sf.FileName, dt, orderList, hashTable); if (CConstant.EXPORT_FAILURE.Equals(ret)) { MessageBox.Show("导出失败。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (CConstant.EXPORT_SUCCESS.Equals(ret)) { MessageBox.Show("导出成功。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } else if (CConstant.EXPORT_RUNNING.Equals(ret)) { MessageBox.Show("文件正在运行,重新生成文件失败。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (CConstant.EXPORT_TEMPLETE_FILE_NOT_EXIST.Equals(ret)) { MessageBox.Show("模版文件不存在。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { MessageBox.Show("明细信息不存在。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } else { MessageBox.Show("请先选择一张订单。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } } }