/// <summary> /// 初始化数据 /// </summary> /// <param name="list"></param> /// <param name="i"></param> /// <param name="j"></param> private void init(List <Customs.Entity.Store_in_listInfo> list, int i, int j) { #region 给table赋值 DevExpress.XtraReports.UI.XRTableCell seq = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cseq" + i, false); seq.Text = list[j].G_no.ToString(); DevExpress.XtraReports.UI.XRTableCell cCode = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cCode" + i, false); cCode.Text = list[j].Code_t; //货物名称和规格 DevExpress.XtraReports.UI.XRTableCell cName = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cName" + i, false); cName.Text = list[j].Mg_name + "\n" + list[j].Mg_spec + "\n" + list[j].Pkgs + "件"; //数量 string temp = PublicMethod.RemoveZero(list[j].Qty_2.ToString()) == "0" ? "" : PublicMethod.RemoveZero(list[j].Qty_2.ToString()); DevExpress.XtraReports.UI.XRTableCell cNum = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cNum" + i, false); //cNum.Text = PublicMethod.RemoveZero(list[j].G_qty.ToString())+"\n"+PublicMethod.RemoveZero(list[j].Qty_1.ToString())+"\n"+temp; cNum.Text = PublicMethod.RemoveZero(list[j].Qty_1.ToString()) + "\n" + temp + "\n" + PublicMethod.RemoveZero(list[j].G_qty.ToString()); //单位 DevExpress.XtraReports.UI.XRTableCell cUnit = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cUnit" + i, false); //cUnit.Text =PublicMethod.GetHashValue(ht,list[j].G_unit).ToString() + "\n" + PublicMethod.GetHashValue(ht,list[j].Unit_code1).ToString() + "\n"+PublicMethod.GetHashValue(ht,list[j].Unit_code2).ToString();//list[j].G_unit; cUnit.Text = CommonReport.GetHashValue(ht, list[j].Unit_code1).ToString() + "\n" + CommonReport.GetHashValue(ht, list[j].Unit_code2).ToString() + "\n" + CommonReport.GetHashValue(ht, list[j].G_unit).ToString();//list[j].G_unit; DevExpress.XtraReports.UI.XRTableCell cWeight = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cWeight" + i, false); cWeight.Text = list[j].Gross + "\n" + list[j].Net; //币值 DevExpress.XtraReports.UI.XRTableCell cCoin = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cCoin" + i, false); cCoin.Text = CommonReport.GetCode("118", list[j].Curr_code.ToString(), true); DevExpress.XtraReports.UI.XRTableCell cPrice = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cPrice" + i, false); cPrice.Text = list[j].Unit_price.ToString(); DevExpress.XtraReports.UI.XRTableCell cTotal = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cTotal" + i, false); cTotal.Text = list[j].Trade_ttl.ToString(); #endregion }
public MainFunction(GeometryOptions model, MaterialsOptions material, AdditionallyOptions add, FileName file, CommonReport finalReport, GeneralReport genReport, Routes rout, ArgumentsCMD cmd, FilesForVolume filesForVolume) { this.model = model; this.material = material; this.add = add; this.file = file; this.finalReport = finalReport; this.genReport = genReport; this.rout = rout; this.cmd = cmd; this.filesForVolume = filesForVolume; }
public SimplexPlanning(GeometryOptions model, MaterialsOptions material, AdditionallyOptions add, FileName file, CommonReport finalReport, Routes rout, ArgumentsCMD cmd, FilesForVolume filesForVolume) { this.model = model; this.material = material; this.add = add; this.file = file; this.finalReport = finalReport; this.rout = rout; this.cmd = cmd; this.filesForVolume = filesForVolume; }
//打印明细 protected void btnPrintDetail_Click(object sender, EventArgs e) { SetInitlocalsetting(hdMac.Text);//获取打印机配置信息 if (gvDetail.Rows.Count <= 0 || gvDetail.SelectedRowIndexArray.Length <= 0) { return; } int currentrowindex = (int)ViewState["currentrowindex"]; //hashtable保存报表头尾基本信息 Hashtable htinfo = new Hashtable(); htinfo["customername"] = gvList.Rows[currentrowindex].Values[1].ToString(); htinfo["salename"] = gvList.Rows[currentrowindex].Values[8].ToString(); htinfo["begindate"] = gvList.Rows[currentrowindex].Values[10].ToString() == "" ? "" : DateTime.Parse(gvList.Rows[currentrowindex].Values[10].ToString()).ToString("yyyy-MM-dd"); htinfo["enddate"] = gvList.Rows[currentrowindex].Values[11].ToString() == "" ? "" : DateTime.Parse(gvList.Rows[currentrowindex].Values[11].ToString()).ToString("yyyy-MM-dd"); htinfo["customertype"] = gvList.Rows[currentrowindex].Values[12].ToString() == "0" ? "项目" : "外包项目"; htinfo["titleName"] = ViewState["dictlabname"].ToString(); double?dictlabid = null; double?checkbillid = null; if (!string.IsNullOrEmpty(gvList.Rows[currentrowindex].Values[9].ToString())) { checkbillid = double.Parse(gvList.Rows[currentrowindex].Values[9].ToString()); } dictlabid = double.Parse(ViewState["dictlabid"].ToString()); //设置打印报表数据 string billheadid = gvList.Rows[currentrowindex].Values[0].ToString(); DataSet ds = new DataSet(); ds = comm.ConvertToDataSet(htinfo, billheadid, "billdetail", checkbillid, dictlabid, ViewState["flag"].ToString()); //打印 CommonReport commonReport = new CommonReport(); Report report = new Report(); report = commonReport.GetReportByDataset("20", ds, 1); commonReport.PrintReport2(report.SaveToString(), commonReport.dsGetReportData.Copy(), Userinfo); ExtAspNet.PageContext.RegisterStartupScript(string.Format(" PrintReport(\'{0}\',\'{1}\',\'{2}\');", CommonReport.printer, CommonReport.json, CommonReport.dsjson)); }
protected void btnPrintIndividual_Click(object sender, EventArgs e) { SetInitlocalsetting(hdMac.Text);//取mac地址 try { if (gvList.Rows.Count <= 0 || gvList.SelectedRowIndexArray.Length <= 0) { return; } //获取勾选的记录 string ordernums = GetGridViewIds(); IList <Billhead> headlist = headService.SelectBillHeadListForPrintByids(ordernums); //定义dataset 存放打印信息 foreach (Billhead head in headlist) { Hashtable htinfo = new Hashtable(); htinfo["Ordernum"] = head.Ordernum; htinfo["Realname"] = head.Realname; htinfo["Productname"] = head.Productname; htinfo["Finalprice"] = head.Totalfinalprice + "(元)"; htinfo["Billbyname"] = head.Username; htinfo["Billbydate"] = System.DateTime.Now.Year + "年" + System.DateTime.Now.Month + "月" + System.DateTime.Now.Day + "日"; htinfo["titleName"] = ViewState["dictlabname"].ToString(); DataSet ds = comm.ConvertToDataSet(htinfo); //打印 CommonReport commonReport = new CommonReport(); Report report = new Report(); List <string> lists = new List <string>(); List <DataSet> dslist = new List <DataSet>(); report = commonReport.GetReportByDataset("30", ds, 1); commonReport.PrintReport2(report.SaveToString(), commonReport.dsGetReportData.Copy(), Userinfo); ExtAspNet.PageContext.RegisterStartupScript(string.Format(" PrintReport(\'{0}\',\'{1}\',\'{2}\');", CommonReport.printer, CommonReport.json, CommonReport.dsjson)); } } catch (Exception ex) { MessageBoxShow(ex.Message, MessageBoxIcon.Error); } }
/// <summary> /// 构造查询SQL条件 /// </summary> /// <param name="sCargoType">货物类型</param> /// <param name="bllid">订单号</param> /// <returns>Sql</returns> private string GetSQLCondition(string sCargoType = "", string bllid = "") { string sSQLWhere = string.Empty; //获取查询的货物类型 sCargoType = CommonReport.InputText(sCargoType, sCargoType.Length); if (!string.IsNullOrWhiteSpace(sCargoType)) { sSQLWhere += " lading_type ='" + sCargoType + "'"; } if (!string.IsNullOrWhiteSpace(bllid)) { sSQLWhere += " AND bill_id = '" + bllid + "'"; } return(sSQLWhere); }
private void CreatePDF(DataGridViewRow row) { string ordernum = row.Cells[4].Value.ToString().Trim(); string cname = row.Cells[2].Value.ToString(); string realname = row.Cells[5].Value.ToString(); string section = row.Cells[3].Value.ToString().Replace("\\", "").Replace("/", ""); string labname = row.Cells[1].Value.ToString(); string strpath = Application.StartupPath + "\\reporttemplate\\"; using (Report report = new CommonReport().GetReport(ordernum, strpath)) { //生成PDF文件保存在PdfFile文件夹内,以时间命名 string FilePdfPath = Application.StartupPath + "\\PdfFile\\" + labname + "\\" + ordernum.ToString().Substring(0, 8) + "\\" + cname + "\\"; string randomName = string.Empty; if (!string.IsNullOrEmpty(section)) { FilePdfPath += section + "\\"; } randomName = string.Format("{0}_{1}.pdf", ordernum, realname); string pdfPath = FilePdfPath + randomName; if (!Directory.Exists(FilePdfPath)) { Directory.CreateDirectory(FilePdfPath); //若文件夹不存在则新建文件夹 } if (File.Exists(pdfPath)) { File.Delete(pdfPath); } PDFExport tyt = new PDFExport() { Compressed = true, RichTextQuality = 50, EmbeddingFonts = false }; report.Export(tyt, pdfPath); } if (ckChangeStatus.Checked) { //修改状态 Hashtable ht = new Hashtable(); ht.Add("ordernum", ordernum); ht.Add("oldstatus", (int)ParamStatus.OrdersStatus.FinishCheck); ht.Add("status", (int)ParamStatus.OrdersStatus.FinishPrint); os.EditStatusByOldStatus(ht); } }
/// <summary> /// 初始化明细 /// </summary> private void init(List <Customs.Entity.Store_out_listInfo> List, int i, int j) { //初始化每列的数据 DevExpress.XtraReports.UI.XRTableCell COldBill_id = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("COldBill_id" + i, false); COldBill_id.Text = List[j].Cust_in_bill_id; DevExpress.XtraReports.UI.XRTableCell cInseq = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cInseq" + i, false); cInseq.Text = List[j].In_g_no.ToString(); DevExpress.XtraReports.UI.XRTableCell cOutseq = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cOutseq" + i, false); cOutseq.Text = List[j].G_no.ToString(); DevExpress.XtraReports.UI.XRTableCell cPlace = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cPlace" + i, false); cPlace.Text = List[j].Loc; DevExpress.XtraReports.UI.XRTableCell cCode = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cCode" + i, false); cCode.Text = List[j].Code_t; DevExpress.XtraReports.UI.XRTableCell cName = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cName" + i, false); cName.Text = List[j].Mg_name + "\n" + List[i - 1].Mg_spec + "\n" + List[i - 1].Pkgs + "件"; DevExpress.XtraReports.UI.XRTableCell cNum = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cNum" + i, false); string temp = PublicMethod.RemoveZero(List[j].Qty_2.ToString()) == "0" ? "" : PublicMethod.RemoveZero(List[j].Qty_2.ToString()); //cNum.Text = PublicMethod.RemoveZero(List[j].G_qty.ToString()) + "\n" + PublicMethod.RemoveZero(List[j].Qty_1.ToString()) + "\n" + temp; cNum.Text = PublicMethod.RemoveZero(List[j].Qty_1.ToString()) + "\n" + temp + "\n" + PublicMethod.RemoveZero(List[j].G_qty.ToString()); DevExpress.XtraReports.UI.XRTableCell cUnit = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cUnit" + i, false); //cUnit.Text =PublicMethod.GetHashValue(ht, List[j].G_unit.ToString()) +"\n"+ PublicMethod.GetHashValue(ht,List[j].Unit_code1).ToString() + "\n" + PublicMethod.GetHashValue(ht,List[j].Unit_code2).ToString(); cUnit.Text = CommonReport.GetHashValue(ht, List[j].Unit_code1).ToString() + "\n" + CommonReport.GetHashValue(ht, List[j].Unit_code2).ToString() + "\n" + CommonReport.GetHashValue(ht, List[j].G_unit).ToString(); DevExpress.XtraReports.UI.XRTableCell cWeight = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cWeight" + i, false); cWeight.Text = List[j].Gross + "\n" + List[i - 1].Net; DevExpress.XtraReports.UI.XRTableCell cCoin = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cCoin" + i, false); cCoin.Text = CommonReport.GetCode("118", List[j].Curr_code, true);; DevExpress.XtraReports.UI.XRTableCell cPrice = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cPrice" + i, false); cPrice.Text = List[j].Unit_price.ToString(); DevExpress.XtraReports.UI.XRTableCell cTotal = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cTotal" + i, false); cTotal.Text = List[j].Trade_ttl.ToString(); }
//打印清单 protected void btnPrint_Click(object sender, EventArgs e) { SetInitlocalsetting(hdMac.Text);//取mac地址 try { if (gvList.Rows.Count <= 0 || gvList.SelectedRowIndexArray.Length <= 0) { return; } //获取勾选的记录 string ordernums = GetGridViewIds(); DataSet ds = new DataSet(); //hashtable保存财务报表头尾信息 Hashtable htinfo = new Hashtable(); htinfo["begindate"] = dtpStart.Text; htinfo["enddate"] = dtpEnd.Text; htinfo["customertype"] = "项目"; htinfo["titleName"] = ViewState["dictlabname"].ToString(); //设置打印报表数据 ds = comm.ConvertToDataSet(htinfo, ordernums, "billhead", null, null, ""); CommonReport commonReport = new CommonReport(); Report report = new Report(); report = commonReport.GetReportByDataset("20", ds, 1); commonReport.PrintReport2(report.SaveToString(), commonReport.dsGetReportData.Copy(), Userinfo); ExtAspNet.PageContext.RegisterStartupScript(string.Format(" PrintReport(\'{0}\',\'{1}\',\'{2}\');", CommonReport.printer, CommonReport.json, CommonReport.dsjson)); } catch (Exception ex) { MessageBoxShow(ex.Message, MessageBoxIcon.Error); } }
protected void btnPrint_Click(object sender, EventArgs e) { Hashtable htinfo = new Hashtable(); htinfo["Ordernum"] = tbxOrdernum.Text.Trim(); htinfo["Realname"] = tbxName.Text.Trim(); htinfo["Productname"] = ViewState["testname"]; htinfo["Finalprice"] = tbxModifytotalprice.Text + "(元)"; htinfo["Billbyname"] = Userinfo.userId; htinfo["Billbydate"] = System.DateTime.Now.Year + "年" + System.DateTime.Now.Month + "月" + System.DateTime.Now.Day + "日"; htinfo["titleName"] = Request["dictlabname"] == null ? "" : Request["dictlabname"]; DataSet ds = comm.ConvertToDataSet(htinfo); //打印 SetInitlocalsetting(hdMac.Text);//获取打印机配置信息 CommonReport commonReport = new CommonReport(); Report report = new Report(); report = commonReport.GetReportByDataset("30", ds, 1); commonReport.PrintReport2(report.SaveToString(), commonReport.dsGetReportData, Userinfo); ExtAspNet.PageContext.RegisterStartupScript(string.Format(" PrintReport(\'{0}\',\'{1}\',\'{2}\');", CommonReport.printer, CommonReport.json, CommonReport.dsjson)); btnPrint.Enabled = false; gvList.Rows.Clear(); }
/// <summary> /// 打印之前 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Rpt_Customs_InWarehouseBil_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) { try { String DecType = CommonReport.GetDecCodeName(_Store_in_head.Dec_type); xrLabel1.Text = "(" + _Store_in_head.Lading_type + ") 核增表--" + DecType + " 复核表"; bStore_in_list.DataSource = _Store_in_head; xrTableCell_TAX_FLAG.Text = _Store_in_head.Tax_flag.Trim() == "1" ? "是" : (_Store_in_head.Tax_flag.Trim() == "0" ? "否" : "");//退税标志xrTableCell_SFDZBH xrTableCell_YUNF.Text = GetToValue(_Store_in_head.Yunf) + "/" + ILIMS.Common.PublicMethod.RemoveZero(_Store_in_head.Yunf2.ToString()) + "/" + GetCodeFromName(_dtbSPBCODES, _Store_in_head.Yunf3); //保费3 xrTableCell_BAOF.Text = GetToValue(_Store_in_head.Baof) + "/" + ILIMS.Common.PublicMethod.RemoveZero(_Store_in_head.Baof2.ToString()) + "/" + GetCodeFromName(_dtbSPBCODES, _Store_in_head.Baof3); xrTableCell_ZAF.Text = GetToValue(_Store_in_head.Zaf) + "/" + ILIMS.Common.PublicMethod.RemoveZero(_Store_in_head.Zaf2.ToString()) + "/" + GetCodeFromName(_dtbSPBCODES, _Store_in_head.Zaf3); //报关单类型 xrTableCell10.Text = DecType; //运输方式 xrTableCell_TRAF_MODE.Text = "(" + _Store_in_head.Traf_mode.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "116", _Store_in_head.Traf_mode.Trim()); //贸易方式 xrTableCell_TRADE_MODE.Text = "(" + _Store_in_head.Trade_mode.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "112", _Store_in_head.Trade_mode.Trim()); //结汇方式 xrTableCell_JHFS.Text = "(" + _Store_in_head.Jhfs_code.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "125", _Store_in_head.Jhfs_code.Trim()); //启运国 xrTableCell_TRADE_COUN.Text = "(" + _Store_in_head.Trade_coun.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "102", _Store_in_head.Trade_coun.Trim()); //装货港 xrTableCell_TRADE_PORT.Text = "(" + _Store_in_head.Trade_port.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "100", _Store_in_head.Trade_port.Trim()); //境地货源/目的地 xrTableCell_TRADE_AREA.Text = "(" + _Store_in_head.Trade_area.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "121", _Store_in_head.Trade_area.Trim()); //经营单位 xrTableCell_TRADE.Text = "(" + _Store_in_head.Trade_code + ")" + CommonReport.GetCompanyName(_Store_in_head.Trade_code.Trim()); xrTableCell_RS.Text = "(" + _Store_in_head.Rs_code + ")" + CommonReport.GetCompanyName(_Store_in_head.Rs_code.Trim()); //进出口岸 xrTableCell_IE_PORT.Text = "(" + _Store_in_head.Ie_port.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "108", _Store_in_head.Ie_port.Trim()); //入仓方式 xrTableCell93.Text = GetCName(_dtbInType001, _Store_in_head.In_type.Trim()); //币制 xrTableCell_CURR.Text = GetCodeFromName(_dtbSPBCODES, _Store_in_head.Curr_code.Trim()); // xrTableCell_CNTNR.Text = _Store_in_head.Cntnr_spec; xrTableCell_CZQY.Text = GetSIGN_NAME(_dtbEnterprise001, _Store_in_head.Lease_holder); //仓租企业名称 //货物类型 xrTableCell57.Text = _Store_in_head.Lading_type; xrTableCell_SFDZBH.Text = _Store_in_head.Sfdz;; //随附单证编号 //征免性质 xrTableCell_ZMXZ.Text = "(" + _Store_in_head.Zmxz_code.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "119", _Store_in_head.Zmxz_code.Trim()); //成交方式 xrTableCell_TRANS_MODE.Text = "(" + _Store_in_head.Trans_mode.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "115", _Store_in_head.Trans_mode.Trim()); //生产厂家及用途 xrTableCell_PU_CODE.Text = _Store_in_head.Pu_name + "/" + GetCodeFromName(_dtbSPBCODES, "117", _Store_in_head.Pu_code.Trim());; //包装种类 xrTableCell99.Text = "(" + _Store_in_head.Bzzl_code.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "133", _Store_in_head.Bzzl_code.Trim()); xrPkgs_num.Text = ILIMS.Common.PublicMethod.RemoveZero(_Store_in_head.Pkgs_num.ToString()); xrGross_Wt.Text = ILIMS.Common.PublicMethod.RemoveZero(_Store_in_head.Gross_wt.ToString()); xrNet_wt.Text = ILIMS.Common.PublicMethod.RemoveZero(_Store_in_head.Net_wt.ToString()); xrAll_value.Text = ILIMS.Common.PublicMethod.RemoveZero(_Store_in_head.All_value.ToString()); } catch (Exception ex) { throw ex; } }
public void Optimization(GeometryOptions model, MaterialsOptions material, AdditionallyOptions add, FileName file, CommonReport fReport) { double firstRadius = model.startBlankRadius; double lastRadius = 10.5; //double firstRadius = 10.87; //double lastRadius = firstRadius; double frictionStep = 0.1; for (model.stampAngle = model.startAngle; model.stampAngle <= model.endAngle; model.stampAngle += model.stepAngle) { for (model.incrBlankRadius = firstRadius; model.incrBlankRadius <= lastRadius; model.incrBlankRadius += 0.05) { // округляем из-за проблемы сложения чисел 0.1 + 0.2 for (model.friction = model.startFriction; model.friction <= model.endFriction; model.friction = Math.Round(model.friction + frictionStep, 1)) { // считаем радиус усечённого конуса model.dieRadius = (Math.Tan(model.stampAngle * Math.PI / 180) * 60) + 10; //объём цилиндра (верхний радиус 10, нижний может меняться) model.dieVolume = (Math.PI * 60 * (Math.Pow(model.dieRadius, 2) + model.dieRadius * 10 + Math.Pow(10, 2)) / 3); #region необходимо для вычесления облоя double upperRadius; double angle30X; double filletLength; //3 - радиус скругления, 90 - градус filletLength = Math.Tan((180 - (((90 + model.stampAngle) / 2) + 90)) * Math.PI / 180) * 3; upperRadius = model.dieRadius + filletLength + 10; angle30X = upperRadius - 5; #endregion double lowerVolume = Math.Pow((angle30X - 5), 2) * Math.PI * 1; model.dieVolume += lowerVolume; double shave = Math.Pow(angle30X, 2) * Math.PI * 1; shave -= lowerVolume; model.dieVolume = Math.Round(model.dieVolume, 1); model.blankRadius = model.incrBlankRadius; model.blankUpperRadius = model.blankRadius - (Math.Tan(model.stampAngle * Math.PI / 180) * 2); model.blankChamferVolume = (Math.PI * 2 * (Math.Pow(model.blankRadius, 2) + model.blankRadius * (model.blankUpperRadius) + Math.Pow((model.blankUpperRadius), 2))) / 3; model.blankChamferVolume = Math.Round(model.blankChamferVolume, 2); //объем цилиндра, не считая фаску (как будто её нет,а заготовка имеет форму просто цилиндра) double abstractRadiusVolume = Math.PI * Math.Pow(model.blankRadius, 2) * 2; double blankVolume = model.dieVolume + (abstractRadiusVolume - model.blankChamferVolume); blankVolume += shave; model.blankHeight = blankVolume / (Math.PI * Math.Pow(model.blankRadius, 2)); model.blankHeight = Math.Round(model.blankHeight, 2); double radiusAfterLowerFillet = angle30X - 5; double radiusHeightInStamp; //необходимо для вычесления объёма от пуансона до конца матрицы model.lowerFilletRadius = radiusAfterLowerFillet; radiusHeightInStamp = 60 * ((radiusAfterLowerFillet - model.blankRadius) / (radiusAfterLowerFillet - 10)); if (model.blankRadius > 12.5) { //model.blankPosition = model.blankHeight * ((model.dieRadius - model.blankRadius) / (model.dieRadius - 10)); model.blankPosition = model.blankHeight * ((radiusAfterLowerFillet - model.blankRadius) / (radiusAfterLowerFillet - 10)); model.blankPosition = Math.Round(model.blankPosition, 1); model.blankPosition = Math.Abs(model.blankPosition - model.blankHeight); //model.blankPosition += 2; } else if (model.blankRadius > 10) { //model.blankPosition = 60 * ((model.dieRadius - model.blankRadius) / (model.dieRadius - 10)); model.blankPosition = model.blankHeight - radiusHeightInStamp; model.blankPosition = Math.Round(model.blankPosition, 1); model.blankPosition += 5; } else { //предположим, что это высота заготовки, которая равняется разницей в высоте //между ей и высотой матрицы, должно помочь, когда заготовка высокая double tempHeight = model.blankHeight - 60; model.blankPosition = tempHeight * ((model.dieRadius - 10) / (model.dieRadius - 10)); model.blankPosition = Math.Round(model.blankPosition, 1); //допуск +2мм на всякий пожарный случай model.blankPosition += 2; } //задаем перемещение матрицы model.stampDisplacement = model.blankPosition; //оставляем зазор 3мм model.stampDisplacement -= 1; #region Создание общей папки с название радиуса заготовки genReport.folderName = Convert.ToString(model.blankRadius); if (!Directory.Exists(genReport.folderName)) { Directory.CreateDirectory(genReport.folderName); } #endregion string abaqusOutputFolder = Convert.ToString(model.blankRadius) + "r" + Convert.ToString(model.stampAngle) + "a" + Convert.ToString(model.friction) + "f"; file.outputFolder = Path.Combine(genReport.folderName, abaqusOutputFolder); if (!Directory.Exists(file.outputFolder)) { Directory.CreateDirectory(file.outputFolder); } file.caeFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, add.jobName + ".cae"); file.caeFolder = file.caeFolder.Replace(@"\", "/"); file.stampFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Stamp.IGS"); file.stampFolder = file.stampFolder.Replace(@"\", "/"); file.blankFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Blank.IGS"); file.blankFolder = file.blankFolder.Replace(@"\", "/"); file.platformFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Platform.IGS"); file.platformFolder = file.platformFolder.Replace(@"\", "/"); solid.UseSolid(file, model); rout.pathIn = "abaqusMacros.py"; // old rout.setWorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); rout.workingDirectory = file.outputFolder; rout.pathOut = rout.workingDirectory + @"\abaqusMacros.py"; change.Output(rout, model, material, add, file); //Form1._Form1.runAbaqus(file); //Form1._Form1.GetHistoryregionName(file); //Form1._Form1.Processing(model, file); //report.ReportReactionForce(model, genReport, file); //rpr.ReportVolume(model, genReport, file); RadiusChart(model); FrictionChart(model); } //genReport.DrawFrictionChart(model); } //genReport.DrawRadiusChart(model); } }
//初始化出口监管仓货物入仓清单 public Report_ExSup(Customs.Entity.Store_in_headInfo CurInHead, List <Customs.Entity.Store_in_listInfo> list) { //先初始化界面 InitializeComponent(); //初始化报表 try { //初始化表头部分 //仓库编号 labWareNO.Text = CurInHead.Cust_bill_id; labCustomCode.Text = CurInHead.Bill_id; lbCnsNo.Text = CurInHead.Cns_no; tbWareName.Text = "深国际华南物流监管仓"; tbreferdoc.Text = CurInHead.Refer_doc; //发货单位 tbdeliverUnit.Text = CommonReport.GetCompanyName(CurInHead.Rs_code); tbSumWeight.Text = "毛重:" + CurInHead.Gross_wt.ToString() + "\n" + "净重:" + CurInHead.Net_wt.ToString();//CurInHead.Gross_wt.ToString(); lbPkgs.Text = "共 " + CurInHead.Pkgs_num + " 件"; tbtotalValue.Text = CurInHead.All_value.ToString(); tbPlace.Text = CurInHead.Place; //国别 tbOutCountry.Text = list != null?CommonReport.GetCode("102", list[0].Orign_coun, false) : ""; //WareCommon.GetCode("102", CurInHead.Trade_coun, false); tbtaxRebate.Text = CurInHead.Tax_flag.Trim() == "1" ? "是" : "否"; tbTradetype.Text = httrade_way.Contains(CurInHead.Trade_mode) ? httrade_way[CurInHead.Trade_mode].ToString() : ""; tbInWaretype.Text = htIn_type.Contains(CurInHead.In_type) ? htIn_type[CurInHead.In_type].ToString() : ""; //目的海关 labCustom.Text = CurInHead.Ie_portName; //报关员 //labName.Text = "报关员"; //货主 //lab.Text = "龙卓公司"; //仓库员 //labAdmin.Text = "胡藩"; BarCode.Text = CurInHead.Bill_id; tbremark.Text = CurInHead.Remark; labDate.Text = CurInHead.Ie_date.ToString("yyyy-MM-dd") != "1900-01-01" ? CurInHead.Ie_date.ToString("yyyy-MM-dd") : ""; //txtPkgs.Text = "200件"; if (list.Count <= 5) { for (int i = 1; i <= list.Count; i++) { #region 给table赋值 DevExpress.XtraReports.UI.XRTableCell seq = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cseq" + i, false); seq.Text = list[i - 1].G_no.ToString(); DevExpress.XtraReports.UI.XRTableCell cCode = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cCode" + i, false); cCode.Text = list[i - 1].Code_t; //货物名称和规格 DevExpress.XtraReports.UI.XRTableCell cName = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cName" + i, false); cName.Text = list[i - 1].Mg_name + "\r\n" + list[i - 1].Mg_spec + "\n" + list[i - 1].Pkgs.ToString() + "件"; //数量 string temp = PublicMethod.RemoveZero(list[i - 1].Qty_2.ToString()) == "0" ? "" : PublicMethod.RemoveZero(list[i - 1].Qty_2.ToString()); DevExpress.XtraReports.UI.XRTableCell cNum = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cNum" + i, false); //cNum.Text = PublicMethod.RemoveZero(list[i - 1].G_qty.ToString()) + "\n" + PublicMethod.RemoveZero(list[i - 1].Qty_1.ToString()) + "\n" + temp; cNum.Text = PublicMethod.RemoveZero(list[i - 1].Qty_1.ToString()) + "\n" + temp + "\n" + PublicMethod.RemoveZero(list[i - 1].G_qty.ToString()); //list[i - 1].G_qty.ToString(); //单位 DevExpress.XtraReports.UI.XRTableCell cUnit = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cUnit" + i, false); //cUnit.Text = PublicMethod.GetHashValue(ht,list[i - 1].G_unit).ToString() + "\n" + PublicMethod.GetHashValue(ht,list[i - 1].Unit_code1).ToString() + "\n" + PublicMethod.GetHashValue(ht,list[i - 1].Unit_code2).ToString(); cUnit.Text = CommonReport.GetHashValue(ht, list[i - 1].Unit_code1).ToString() + "\n" + CommonReport.GetHashValue(ht, list[i - 1].Unit_code2).ToString() + "\n" + CommonReport.GetHashValue(ht, list[i - 1].G_unit).ToString(); //ht.Contains(list[i - 1].G_unit) ? ht[list[i - 1].G_unit].ToString() : "";//list[i - 1].G_unit; DevExpress.XtraReports.UI.XRTableCell cWeight = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cWeight" + i, false); cWeight.Text = list[i - 1].Gross + "\r\n" + list[i - 1].Net; //币值 DevExpress.XtraReports.UI.XRTableCell cCoin = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cCoin" + i, false); cCoin.Text = CommonReport.GetCode("118", list[i - 1].Curr_code.ToString(), true); DevExpress.XtraReports.UI.XRTableCell cPrice = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cPrice" + i, false); cPrice.Text = list[i - 1].Unit_price.ToString(); DevExpress.XtraReports.UI.XRTableCell cTotal = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cTotal" + i, false); cTotal.Text = list[i - 1].Trade_ttl.ToString(); #endregion } } if (list.Count > 5) { for (int i = 1; i <= 5; i++) { #region 给table赋值 DevExpress.XtraReports.UI.XRTableCell seq = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cseq" + i, false); seq.Text = list[i - 1].G_no.ToString(); DevExpress.XtraReports.UI.XRTableCell cCode = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cCode" + i, false); cCode.Text = list[i - 1].Code_t; //货物名称和规格 DevExpress.XtraReports.UI.XRTableCell cName = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cName" + i, false); cName.Text = list[i - 1].Mg_name + "\r\n" + list[i - 1].Mg_spec + "\r\n" + list[i - 1].Pkgs.ToString() + "件"; //数量 string temp = PublicMethod.RemoveZero(list[i - 1].Qty_2.ToString()) == "0"?"":PublicMethod.RemoveZero(list[i - 1].Qty_2.ToString()); DevExpress.XtraReports.UI.XRTableCell cNum = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cNum" + i, false); //cNum.Text = PublicMethod.RemoveZero(list[i - 1].G_qty.ToString()) + "\n" + PublicMethod.RemoveZero(list[i - 1].Qty_1.ToString()) + "\n" + temp; //list[i - 1].G_qty.ToString(); cNum.Text = PublicMethod.RemoveZero(list[i - 1].Qty_1.ToString()) + "\n" + temp + "\n" + PublicMethod.RemoveZero(list[i - 1].G_qty.ToString()); //list[i - 1].G_qty.ToString(); //单位 DevExpress.XtraReports.UI.XRTableCell cUnit = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cUnit" + i, false); //cUnit.Text = PublicMethod.GetHashValue(ht,list[i - 1].G_unit).ToString() + "\n" + PublicMethod.GetHashValue(ht,list[i - 1].Unit_code1).ToString() + "\n" + PublicMethod.GetHashValue(ht,list[i - 1].Unit_code2).ToString(); //ht.Contains(list[i - 1].G_unit) ? ht[list[i - 1].G_unit].ToString() : "";//list[i - 1].G_unit; cUnit.Text = CommonReport.GetHashValue(ht, list[i - 1].Unit_code1).ToString() + "\n" + CommonReport.GetHashValue(ht, list[i - 1].Unit_code2).ToString() + "\n" + CommonReport.GetHashValue(ht, list[i - 1].G_unit).ToString(); //ht.Contains(list[i - 1].G_unit) ? ht[list[i - 1].G_unit].ToString() : "";//list[i - 1].G_unit; DevExpress.XtraReports.UI.XRTableCell cWeight = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cWeight" + i, false); cWeight.Text = list[i - 1].Gross + "\r\n" + list[i - 1].Net; //币值 DevExpress.XtraReports.UI.XRTableCell cCoin = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cCoin" + i, false); cCoin.Text = CommonReport.GetCode("118", list[i - 1].Curr_code.ToString(), true); DevExpress.XtraReports.UI.XRTableCell cPrice = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cPrice" + i, false); cPrice.Text = list[i - 1].Unit_price.ToString(); DevExpress.XtraReports.UI.XRTableCell cTotal = (DevExpress.XtraReports.UI.XRTableCell)Detail.FindControl("cTotal" + i, false); cTotal.Text = list[i - 1].Trade_ttl.ToString(); #endregion } } } catch (Exception ex) { LogManager.WriteErrorLog(ex.Message.ToString()); } }
/// <summary>开始计时 /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { string strOrderNum = "";//条码号 if (b) { return; } //设置timer不可用 timer.Stop();// //传输数据 try { #region DataTable dt = orderservice.GetSelectOrdersByStatus(); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { //生成pdf strOrderNum = dt.Rows[i]["barcode"].ToString(); string strpath = ConfigurationManager.AppSettings["path"]; using (Report report = new CommonReport().GetReport(strOrderNum, strpath)) { //生成PDF文件保存在PdfFile文件夹内,以时间命名 string FilePdfPath = Application.StartupPath + "\\PdfFile\\"; string randomName = ""; string idnumber = dt.Rows[i]["idnumber"].ToString().Trim(); string ordernum = strOrderNum; string realname = dt.Rows[i]["realname"].ToString(); if (string.IsNullOrEmpty(idnumber)) { randomName = String.Format("{0}_{1}.pdf", ordernum, realname); } else { randomName = string.Format("{0}_{1}_{2}.pdf", idnumber, ordernum, realname); } string pdfPath = FilePdfPath + randomName; if (!Directory.Exists(FilePdfPath)) { Directory.CreateDirectory(FilePdfPath); //若文件夹不存在则新建文件夹 } PDFExport tyt = new PDFExport() { Compressed = true, RichTextQuality = 50, EmbeddingFonts = false }; report.Export(tyt, pdfPath); } //修改状态 Hashtable htorder = new Hashtable(); htorder.Add("Transed", "1"); htorder.Add("ordernum", strOrderNum); bool falg = new OrdersService().EditTransed(htorder); SetTB(String.Format("订单号:{0}报告生成状态【{1}】!", strOrderNum, falg)); } } else { SetTB(String.Format("---{0} 没有传输的数据!\n", DateTime.Now)); } #endregion } catch (Exception ex) { string strmessage = String.Format("订单号:{0}报告生成出错;时间{1}: 错误原因:{2}", strOrderNum, DateTime.Now, ex.Message); SetTB(strmessage); CreateErrorLog(strmessage); } finally { timer.Start(); } }
public double GetVolumeByFriction(double x, GeometryOptions model, FileName file, MaterialsOptions material, AdditionallyOptions add, CommonReport finalReport) { model.friction = Math.Round(model.startFriction, 2); FrictionChart(model); x = Math.Round(x, 2); model.friction = x; string abaqusOutputFolder = "b" + Convert.ToString(model.stampAngle) + "a" + Convert.ToString(model.friction) + "f"; file.outputFolder = Path.Combine(genReport.folderName, abaqusOutputFolder); if (!Directory.Exists(file.outputFolder)) { Directory.CreateDirectory(file.outputFolder); } file.caeFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, add.jobName + ".cae"); file.caeFolder = file.caeFolder.Replace(@"\", "/"); file.stampFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Stamp.IGS"); file.stampFolder = file.stampFolder.Replace(@"\", "/"); file.blankFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Blank.IGS"); file.blankFolder = file.blankFolder.Replace(@"\", "/"); file.platformFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Platform.IGS"); file.platformFolder = file.platformFolder.Replace(@"\", "/"); solid.UseSolid(file, model); rout.workingDirectory = file.outputFolder; rout.pathOut = rout.workingDirectory + @"\abaqusMacros.py"; change.Output(rout, model, material, add, file); //Form1._Form1.runAbaqus(file); //Form1._Form1.GetHistoryregionName(file); //Processing(model, file); genReport.folderName = Convert.ToString(model.blankRadius); //report.ReportReactionForce(model, genReport, file); //rpr.ReportVolume(model, genReport, file); FrictionChart(model); finalReport.AddData(model); //FReport.setMaxVolume.Add( // new VariablesForReport(model.blankRadius, model.blankRadius, // model.friction, model.blankVolume, model.setRectionForceToBlank) // ); return(model.pctOfDieFilling); }
public void CalculateAngle(GeometryOptions model, MaterialsOptions material, AdditionallyOptions add, FileName file, CommonReport fReport) { double eps = 50, z = (3 - Math.Sqrt(5)) / 2; //5 //максимальная высота double minStampAngle = model.startAngle; double maxStampAngle = model.endAngle; double x3 = minStampAngle + z * (maxStampAngle - minStampAngle), x4 = maxStampAngle - z * (maxStampAngle - minStampAngle); for (int j = 0; maxStampAngle - minStampAngle > eps && model.blankVolume <= model.dieVolume; j++) { //для поиска max функции, для поиска min функции поменять знак на <= if (GetVolumeByAngle(x3, model, file, material, add, fReport) >= GetVolumeByAngle(x4, model, file, material, add, fReport)) { maxStampAngle = x4; x4 = x3; x3 = minStampAngle + maxStampAngle - x4; } else { minStampAngle = x3; x3 = x4; x4 = minStampAngle + maxStampAngle - x3; } //просчёт с изменением силы трения CalculateFriction(model, material, add, file, fReport); } double x = (minStampAngle + maxStampAngle) / 2; GetVolumeByAngle(x, model, file, material, add, fReport); //genReport.DrawAngleChart(); }
public double GetVolumeByAngle(double x, GeometryOptions model, FileName file, MaterialsOptions material, AdditionallyOptions add, CommonReport finalReport) { //добавляем здесь, так как прошло изменение радиуса //после изменения радиуса, добавляем последние значения в постройку графика //округляем высоту заготовки, иначе после работы алгоритма добавит как новую высоту, //из-за точности знаков после запятой и моего костыля :) model.stampAngle = Math.Round(model.startAngle); AngleChart(model); model.friction = model.startFriction; model.friction = Math.Round(model.startFriction, 2); x = Math.Round(x); #region "+" будут обозначены строки, котоыре необходимы в методе вычесления угла матрицы, заключенніе в регион model.dieRadius = (Math.Tan(x * Math.PI / 180) * 57) + 10; model.dieRadius = Math.Round(model.dieRadius, 1); //объём усеченного конуса (верхний радиус 10, нижний может меняться) model.dieVolume = (Math.PI * 57 * (Math.Pow(model.dieRadius, 2) + model.dieRadius * 10 + Math.Pow(10, 2))) / 3; model.dieVolume = Math.Round(model.dieVolume, 2); #endregion #region "+" model.blankUpperRadius = model.blankRadius - (Math.Tan(model.stampAngle * Math.PI / 180) * 2); model.blankPosition = (Math.PI * 2 * (Math.Pow(model.blankRadius, 2) + model.blankRadius * (model.blankUpperRadius) + Math.Pow((model.blankUpperRadius), 2))) / 3; model.blankPosition = Math.Round(model.blankPosition, 2); //объем цилиндра, не считая фаску (как будто её нет,а заготовка имеет форму просто цилиндра) double abstractRadiusVolume = Math.PI * Math.Pow(model.blankRadius, 2) * 2; double blankVolume = model.dieVolume + (abstractRadiusVolume - model.blankPosition); double tempVolume = blankVolume * 10; tempVolume /= 100; blankVolume += tempVolume; model.blankHeight = blankVolume / (Math.PI * Math.Pow(model.blankRadius, 2)); model.blankHeight = Math.Round(model.blankHeight, 2); model.blankPosition = model.blankHeight * ((model.dieRadius - model.blankRadius) / (model.dieRadius - 10)); model.blankPosition = Math.Round(model.blankPosition, 1); model.blankPosition += 2; //задаем перемещение матрицы model.stampDisplacement = model.blankPosition; model.stampDisplacement -= 3; #endregion model.stampAngle = x; string abaqusOutputFolder = "b" + Convert.ToString(model.blankRadius) + "r" + Convert.ToString(model.stampAngle) + "a"; file.outputFolder = Path.Combine(genReport.folderName, abaqusOutputFolder); if (!Directory.Exists(file.outputFolder)) { Directory.CreateDirectory(file.outputFolder); } file.caeFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, add.jobName + ".cae"); file.caeFolder = file.caeFolder.Replace(@"\", "/"); file.stampFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Stamp.IGS"); file.stampFolder = file.stampFolder.Replace(@"\", "/"); file.blankFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Blank.IGS"); file.blankFolder = file.blankFolder.Replace(@"\", "/"); file.platformFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Platform.IGS"); file.platformFolder = file.platformFolder.Replace(@"\", "/"); solid.UseSolid(file, model); rout.workingDirectory = file.outputFolder; rout.pathOut = rout.workingDirectory + @"\abaqusMacros.py"; change.Output(rout, model, material, add, file); //Form1._Form1.runAbaqus(file); //Form1._Form1.GetHistoryregionName(file); //Form1._Form1.Processing(model, file); genReport.folderName = Convert.ToString(model.blankRadius); //report.ReportReactionForce(model, genReport, file); //rpr.ReportVolume(model, genReport, file); AngleChart(model); //просчёт с изменением силы трения //CalculateFriction(model, material, add, file, finalReport); finalReport.AddData(model); //FReport.setMaxVolume.Add( // new VariablesForReport(model.blankRadius, model.blankRadius, // model.friction, model.pctOfDieFilling, model.setRectionForceToBlank) // ); return(model.pctOfDieFilling); }
public void Optimization(GeometryOptions model, MaterialsOptions material, AdditionallyOptions add, FileName file, CommonReport fReport) { double firstRadius = model.startBlankRadius; double lastRadius = firstRadius * 1.5; double eps = 0.01, z = (3 - Math.Sqrt(5)) / 2; //0.25 double x1 = firstRadius + z * (lastRadius - firstRadius), x2 = lastRadius - z * (lastRadius - firstRadius); // изменение угла в матрице #region hide //if (i == 5) //{ // model.setRadius = 3 + (0.09 * 18); //} //if (i == 10) //{ // model.setRadius = 3 + (0.18 * 18); //} //if (i == 15) //{ // model.setRadius = 3 + (0.27 * 18); //} #endregion for (model.incrBlankRadius = 0; lastRadius - firstRadius > eps; model.incrBlankRadius += 0.01) { //для поиска max функции, для поиска min функции поменять знак на <= if (GetVolumeByRadius(x1, model, file, material, add, fReport) >= GetVolumeByRadius(x2, model, file, material, add, fReport)) { lastRadius = x2; x2 = x1; x1 = firstRadius + lastRadius - x2; } else { firstRadius = x1; x1 = x2; x2 = firstRadius + lastRadius - x1; } CalculateAngle(model, material, add, file, fReport); } double result = (firstRadius + lastRadius) / 2; GetVolumeByRadius(result, model, file, material, add, fReport); CalculateAngle(model, material, add, file, fReport); Form1._Form1.LogArea("Конец расчётов."); }
public double GetVolumeByRadius(double x, GeometryOptions model, FileName file, MaterialsOptions material, AdditionallyOptions add, CommonReport finalReport) { model.stampAngle = model.startAngle; model.stampAngle = Math.Round(model.stampAngle); model.friction = model.startFriction; model.friction = Math.Round(model.startFriction, 2); #region "+" будут обозначены строки, котоыре необходимы в методе вычесления угла матрицы, заключенніе в регион //10 - верхний радиус model.dieRadius = (Math.Tan(model.stampAngle * Math.PI / 180) * 57) + 10; model.dieRadius = Math.Round(model.dieRadius, 1); //объем цилиндрического выреза в матрице // double tempVolume = Math.PI * Math.Pow(model.dieRadius, 2) * 4; //объём усеченного конуса (верхний радиус 10, нижний может меняться) model.dieVolume = (Math.PI * 57 * (Math.Pow(model.dieRadius, 2) + model.dieRadius * 10 + Math.Pow(10, 2))) / 3; // model.dieVolume = model.dieVolume + tempVolume; model.dieVolume = Math.Round(model.dieVolume, 2); #endregion //ЗАМЕНИТЬ НА Х ОБРАТНО model.blankRadius = x; model.blankRadius = Math.Round(model.blankRadius, 2); #region "+" model.blankUpperRadius = model.blankRadius - (Math.Tan(model.stampAngle * Math.PI / 180) * 2); model.blankPosition = (Math.PI * 2 * (Math.Pow(model.blankRadius, 2) + model.blankRadius * (model.blankUpperRadius) + Math.Pow((model.blankUpperRadius), 2))) / 3; model.blankPosition = Math.Round(model.blankPosition, 2); //объем цилиндра, не считая фаску (как будто её нет,а заготовка имеет форму просто цилиндра) double abstractRadiusVolume = Math.PI * Math.Pow(model.blankRadius, 2) * 2; double blankVolume = model.dieVolume + (abstractRadiusVolume - model.blankPosition); //объём зазора между матрицей и площадкой //double tempVolume = Math.Pow((model.dieRadius + 10), 2) * 3; double tempVolume = blankVolume * 10; tempVolume /= 100; blankVolume += tempVolume; model.blankHeight = blankVolume / (Math.PI * Math.Pow(model.blankRadius, 2)); model.blankHeight = Math.Round(model.blankHeight, 2); model.blankPosition = model.blankHeight * ((model.dieRadius - model.blankRadius) / (model.dieRadius - 10)); model.blankPosition = Math.Round(model.blankPosition, 1); model.blankPosition += 2; //задаем перемещение матрицы model.stampDisplacement = model.blankPosition; model.stampDisplacement -= 3; #endregion #region Создание общей папки с название радиуса заготовки genReport.folderName = Convert.ToString(model.blankRadius); if (!Directory.Exists(genReport.folderName)) { Directory.CreateDirectory(genReport.folderName); } #endregion string abaqusOutputFolder = "b" + Convert.ToString(model.blankRadius) + "r" + Convert.ToString(model.stampAngle) + "a"; file.outputFolder = Path.Combine(genReport.folderName, abaqusOutputFolder); if (!Directory.Exists(file.outputFolder)) { Directory.CreateDirectory(file.outputFolder); } file.caeFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, add.jobName + ".cae"); file.caeFolder = file.caeFolder.Replace(@"\", "/"); file.stampFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Stamp.IGS"); file.stampFolder = file.stampFolder.Replace(@"\", "/"); file.blankFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Blank.IGS"); file.blankFolder = file.blankFolder.Replace(@"\", "/"); file.platformFolder = Path.Combine(Environment.CurrentDirectory, file.outputFolder, "Platform.IGS"); file.platformFolder = file.platformFolder.Replace(@"\", "/"); solid.UseSolid(file, model); rout.pathIn = "abaqusMacros.py"; // old rout.setWorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); rout.workingDirectory = file.outputFolder; rout.pathOut = rout.workingDirectory + @"\abaqusMacros.py"; change.Output(rout, model, material, add, file); //Form1._Form1.runAbaqus(file); //Form1._Form1.GetHistoryregionName(file); //Form1._Form1.Processing(model, file); //report.ReportReactionForce(model, genReport, file); //rpr.ReportVolume(model, genReport, file); finalReport.AddData(model); //FReport.setMaxVolume.Add( // new VariablesForReport(model.blankRadius, model.blankRadius, // model.friction, model.blankVolume, model.setRectionForceToBlank) // ); return(model.pctOfDieFilling); }
public Report_ckjgcc(Customs.Entity.Store_out_headInfo CurOutHead, List <Customs.Entity.Store_out_listInfo> CurOutList, string Type) { InitializeComponent(); //Type = "保税"; try { #region 表头项 if (Type == "监管") { tbWareName.Text = "华南物流监管仓"; tbVar.Text = "集装箱号"; tbTitle.Text = "出 口 监 管 仓 货 物"; labCustomCode.Text = CurOutHead.Bill_id; //labWareNO.Text = CurOutHead.Store_code; //tbSum.Visible = false; } if (Type == "保税" || Type == "MCC") { xrPictureBox1.Visible = false; labCustomCode.Visible = false; xrLabel3.Visible = false; tbTitle.Text = "进 口 保 税 仓 货 物"; tbWareName.Text = "华南物流保税仓"; tbVar.Text = "载货清单号"; xrLabel2.Text = "出仓单编号:"; //labWareNO.Text = CurOutHead.Bill_id; } //总的件数合计 BarCode.Text = CurOutHead.Bill_id; lbJZXH.Text = CurOutHead.Cntnr_spec; labWareNO.Text = CurOutHead.Cust_bill_id; lbCnsNo.Text = CurOutHead.Cns_no; tbTotalPkgs.Text = CurOutHead.Pkgs_num.ToString(); tbreferdoc.Text = CurOutHead.Refer_doc; tbLoadCarCode.Text = CurOutHead.Shipping_no; tbdeliverUnit.Text = htCustom[CurOutHead.Lease_holder] != null?htCustom[CurOutHead.Lease_holder].ToString():""; tbOut.Text = CurOutHead.Ie_port; tbFZCode.Text = CurOutHead.Seal_no; //司机本海关编号 tbcarCcode.Text = CurOutHead.Driver_no; tbOutCountry.Text = CommonReport.GetCode("102", CurOutHead.Trade_coun, false); tbCarNO.Text = CurOutHead.Car_no; tbOutType.Text = CurOutHead.Out_type; lbRemark.Text = CurOutHead.Remark; if (CurOutHead.Ie_date.ToString("yyyy-MM-dd") != "1900-01-01") { labDate.Text = CurOutHead.Ie_date.ToString("yyyy-MM-dd"); } //labCustom.Text = CurOutHead.Ie_port; tbTotal.Text = CurOutHead.All_value.ToString(); tbTotalW.Text = "毛重:" + CurOutHead.Gross_wt.ToString() + "\n" + "净重:" + CurOutHead.Net_wt.ToString(); #endregion #region 明细项 if (CurOutList.Count <= 5) { for (int i = 1; i <= CurOutList.Count; i++) { init(i, CurOutList); } } if (CurOutList.Count > 5) { for (int i = 1; i <= 5; i++) { init(i, CurOutList); } } #endregion } catch (Exception) { throw; } }
/// <summary> /// 复核表打印 /// </summary> /// <param name="id">订单号</param> /// <param name="lading_type">货物类型</param> public void ReviewPrint(string id, string lading_type) { try { //权限验证 //this.HasActionPower(); if (string.IsNullOrWhiteSpace(id) || string.IsNullOrWhiteSpace(lading_type)) { var msgT = Server.UrlEncode("参数传输错误!"); var msgD = Server.UrlEncode(string.Empty); UrlHelper url = new UrlHelper(this.Request.RequestContext); this.Response.Redirect(url.Action("Index", "Error", new { msgTitle = msgT, msgDetail = msgD })); } var dateFormat = DateTime.Now.ToString("yyyyMMdd"); var rootPath = Server.MapPath("~/FileTemp"); var dirPath = rootPath + "/" + dateFormat + "/"; if (!Directory.Exists(dirPath)) { Directory.CreateDirectory(dirPath); } var fileName = id + "_" + DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".pdf"; var filePath = dirPath + fileName; #region 生成pdf //取出当前点中的行的核增单号 string sCurrentRowBillCode = id; string LadingType = lading_type; DataTable dtbEnterprise001 = new DataTable(); //监管仓仓租企业 DataTable dtbEnterprise500 = new DataTable(); //保税仓仓租企业 DataTable dtbInType001 = new DataTable(); //监管仓核增方式 DataTable dtbInType500 = new DataTable(); //保税仓核增方式 DataTable dtbSPBCODES = new DataTable(); dtbInType001 = BasicData.BLL.BLLFactory <BasicData.BLL.B_datacategory> .Instance.GetInWarehouseTypeFromDepot("001", true); dtbInType500 = BasicData.BLL.BLLFactory <BasicData.BLL.B_datacategory> .Instance.GetInWarehouseTypeFromDepot("500", true); dtbSPBCODES = BasicData.BLL.BLLFactory <BasicData.BLL.C_codes> .Instance.GetAllToDataTable(); Customs.Entity.Store_in_headInfo Store_in_head = Customs.BLL.BLLFactory <Customs.BLL.Store_in_head> .Instance.FindSingle(" BILL_ID='" + sCurrentRowBillCode + "'"); DataTable dstInHead = Customs.BLL.BLLFactory <Customs.BLL.Store_in_head> .Instance.SelectSimpleStoreInHead(sCurrentRowBillCode); DataTable dstInList = Customs.BLL.BLLFactory <Customs.BLL.Store_in_list> .Instance.SelectSimpleStoreInList(sCurrentRowBillCode); dstInHead.Rows[0]["dec_type"] = CommonReport.GetDecCodeName(dstInHead.Rows[0]["dec_type"].ToString()); if (LadingType == "MCC" && dstInList.Rows.Count > 20) { if (dstInList != null) { dstInList.Columns.Add("ColNo", typeof(string)); //增加汇总行 decimal TotalNet = 0; decimal TotalGross = 0; decimal TotalPrice = 0; decimal TotalPkgs = 0; #region if (dstInList != null) { if (dstInList.Rows.Count > 0) { DataRow dr = null; int m = 0; for (int i = 0; i < dstInList.Rows.Count; i++) { if (dstInList.Rows[i]["BILL_ID"] != null && dstInList.Rows[i]["BILL_ID"].ToString().Trim() != "") { TotalNet += string.IsNullOrEmpty(dstInList.Rows[i]["NET"].ToString().Trim()) ? 0 : decimal.Parse(dstInList.Rows[i]["NET"].ToString().Trim()); TotalGross += string.IsNullOrEmpty(dstInList.Rows[i]["GROSS"].ToString().Trim()) ? 0 : decimal.Parse(dstInList.Rows[i]["GROSS"].ToString().Trim()); TotalPrice += string.IsNullOrEmpty(dstInList.Rows[i]["TRADE_TTL"].ToString().Trim()) ? 0 : decimal.Parse(dstInList.Rows[i]["TRADE_TTL"].ToString().Trim()); TotalPkgs += string.IsNullOrEmpty(dstInList.Rows[i]["PKGS"].ToString().Trim()) ? 0 : decimal.Parse(dstInList.Rows[i]["PKGS"].ToString().Trim()); m++; if (m % 20 == 0 && m != 0) { dr = dstInList.NewRow(); dr["NET"] = TotalNet; dr["GROSS"] = TotalGross; dr["TRADE_TTL"] = TotalPrice; dr["PKGS"] = TotalPkgs; dr["ColNo"] = i + 1; dr["QTY_2"] = 0; dr["ORIGN_COUN"] = ""; dr["Curr_code"] = ""; dstInList.Rows.InsertAt(dr, i + 1); TotalNet = 0; TotalGross = 0; TotalPrice = 0; TotalPkgs = 0; } else { dstInList.Rows[i]["ColNo"] = i + 1; } } } if (TotalNet != 0)//如果非21倍数 { dr = dstInList.NewRow(); dr["NET"] = TotalNet; dr["GROSS"] = TotalGross; dr["TRADE_TTL"] = TotalPrice; dr["PKGS"] = TotalPkgs; dr["ColNo"] = "小计"; dr["ORIGN_COUN"] = ""; dr["Curr_code"] = ""; dr["QTY_2"] = 0; dstInList.Rows.InsertAt(dr, dstInList.Rows.Count); } } } #endregion } } //获得列表中商品内容 string CODE_TS = ""; foreach (DataRow drw in dstInList.Rows) { CODE_TS += drw["CODE_T"].ToString().Trim() + "|"; } //List<Customs.Entity.Store_in_listInfo> dtbSTORE_IN_LIST = Customs.BLL.BLLFactory<Customs.BLL.Store_in_list>.Instance.Find(" BILL_ID='" + Store_in_head.Bill_id + "'", " order by g_no "); DataTable dstComplexys = BasicData.BLL.BLLFactory <BasicData.BLL.C_complex> .Instance.GetListByCodes(CODE_TS); DataSet dstReport = new DataSet(); DataTable dtbHead = new DataTable("STORE_IN_HEAD"); DataTable dtbList = new DataTable("STORE_IN_LIST"); DataTable dtbSpbComplexys = new DataTable("SPBCOMPLEXYS"); dtbHead = dstInHead.Copy(); dtbList = dstInList.Copy(); dtbSpbComplexys = dstComplexys.Copy(); dstReport.Tables.Add(dtbHead); //dstReport.Tables.Add(dtbList); //dstReport.Tables.Add(dtbSpbComplexys); DataTable Enterprise = null; DataTable InType = null; if (Store_in_head.Lading_type == "保税") { InType = dtbInType500; } else { InType = dtbInType001; } Enterprise = BasicData.BLL.BLLFactory <BasicData.BLL.B_custom_info> .Instance.GetEnterpriseFromDepot(string.Empty); XtraReport reportClass = new Rpt_Customs_InWarehouseBil(Store_in_head, dstInList, dtbSPBCODES, Enterprise, InType, dstComplexys); reportClass.DataSource = dstReport; reportClass.DataMember = "STORE_IN_HEAD"; reportClass.ExportToPdf(filePath); #endregion if (!string.IsNullOrWhiteSpace(filePath)) { RespWrite(filePath); } } catch (Exception ex) { var msgT = Server.UrlEncode("系统出现错误,请联系客服或管理员处理!"); var msgD = Server.UrlEncode(ex.Message); UrlHelper url = new UrlHelper(this.Request.RequestContext); this.Response.Redirect(url.Action("Index", "Error", new { msgTitle = msgT, msgDetail = msgD })); } }
public double CalculateFriction(GeometryOptions model, MaterialsOptions material, AdditionallyOptions add, FileName file, CommonReport fReport) { double eps = 0.01, z = (3 - Math.Sqrt(5)) / 2; //0.1 //максимальная высота double minFriction = model.startFriction; double maxFriction = model.endFriction; double x5 = minFriction + z * (maxFriction - minFriction), x6 = maxFriction - z * (maxFriction - minFriction); for (int j = 0; maxFriction - minFriction > eps && model.blankVolume <= model.dieVolume; j++) { //для поиска max функции, для поиска min функции поменять знак на <= if (GetVolumeByFriction(x5, model, file, material, add, fReport) >= GetVolumeByFriction(x6, model, file, material, add, fReport)) { maxFriction = x6; x6 = x5; x5 = minFriction + maxFriction - x6; } else { minFriction = x5; x5 = x6; x6 = minFriction + maxFriction - x5; } } double x = (minFriction + maxFriction) / 2; GetVolumeByFriction(x, model, file, material, add, fReport); //genReport.DrawFrictionChart(model); return(model.pctOfDieFilling); }
private void Rpt_Customs_OutWarehouseBill_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) { try { string DecType = CommonReport.GetDecCodeName(_Store_Out_head.Dec_type); xrLabel1.Text = "(" + _Store_Out_head.Lading_type + ") 核扣表--" + DecType + " 复核表"; //bStore_Out_list.DataSource = _Store_Out_head; //条码 xrBarCode1.Text = _Store_Out_head.Bill_id; //出仓单号 xtcClp_No.Text = _Store_Out_head.Bill_id; //出仓日期 xrLabel_IEDate.Text = _Store_Out_head.Out_date.ToString("yyyy-MM-dd"); //创建人 xtcCreate_name.Text = _Store_Out_head.Creater_name; //车牌号 xtcCar_no.Text = _Store_Out_head.Car_no; //司机本编号 xtDriver_no.Text = _Store_Out_head.Driver_no; //报关单号 xtRefer_doc.Text = _Store_Out_head.Refer_doc; //客户订单号 xtClient_no.Text = _Store_Out_head.Client_no; //MCC号 xtMcc_no.Text = _Store_Out_head.Mcc_no; //封条 xtSeal_no.Text = _Store_Out_head.Seal_no; //备注 xtRemark.Text = _Store_Out_head.Remark; //备案号 xtBah.Text = _Store_Out_head.Bah; //进出口日期 xrTableCell_IE_DATE.Text = _Store_Out_head.Ie_date.ToString("yyyy-MM-dd"); //运输工具 xtTraf_name.Text = _Store_Out_head.Traf_name; //提运单号 xtTydh.Text = _Store_Out_head.Tydh; //许可证号 xtPermission_no.Text = _Store_Out_head.Permission_no; //批准文号 xtPzwh.Text = _Store_Out_head.Pzwh; //合同协议号 xtHtxyh.Text = _Store_Out_head.Htxyh; // xtNote_s.Text = _Store_Out_head.Note_s; //转关单号 xrTableCell29.Text = _Store_Out_head.Trans_doc; xrTableCell_YUNF.Text = GetToValue(_Store_Out_head.Yunf) + "/" + ILIMS.Common.PublicMethod.RemoveZero(_Store_Out_head.Yunf2.ToString()) + "/" + GetCodeFromName(_dtbSPBCODES, _Store_Out_head.Yunf3); //保费3 xrTableCell_BAOF.Text = GetToValue(_Store_Out_head.Baof) + "/" + ILIMS.Common.PublicMethod.RemoveZero(_Store_Out_head.Baof2.ToString()) + "/" + GetCodeFromName(_dtbSPBCODES, _Store_Out_head.Baof3); xrTableCell_ZAF.Text = GetToValue(_Store_Out_head.Zaf) + "/" + ILIMS.Common.PublicMethod.RemoveZero(_Store_Out_head.Zaf2.ToString()) + "/" + GetCodeFromName(_dtbSPBCODES, _Store_Out_head.Zaf3); //报关单类型 xrTableCell91.Text = CommonReport.GetDecCodeName(_Store_Out_head.Dec_type); //运输方式 xrTableCell_TRAF_MODE.Text = "(" + _Store_Out_head.Traf_mode.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "116", _Store_Out_head.Traf_mode.Trim()); //贸易方式 xrTableCell_TRADE_MODE.Text = "(" + _Store_Out_head.Trade_mode.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "112", _Store_Out_head.Trade_mode.Trim()); //结汇方式 xrTableCell_JHFS.Text = "(" + _Store_Out_head.Jhfs_code.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "125", _Store_Out_head.Jhfs_code.Trim()); //启运国 xrTableCell_TRADE_COUN.Text = "(" + _Store_Out_head.Trade_coun.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "102", _Store_Out_head.Trade_coun.Trim()); //装货港 xrTableCell_TRADE_PORT.Text = "(" + _Store_Out_head.Trade_port.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "100", _Store_Out_head.Trade_port.Trim()); //境地货源/目的地 xrTableCell_TRADE_AREA.Text = "(" + _Store_Out_head.Trade_area.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "121", _Store_Out_head.Trade_area.Trim()); //成交方式 xrTableCell_TRANS_MODE.Text = "(" + _Store_Out_head.Trans_mode.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "115", _Store_Out_head.Trans_mode.Trim()); //经营单位 xrTableCell_TRADE.Text = "(" + _Store_Out_head.Trade_code + ")" + CommonReport.GetCompanyName(_Store_Out_head.Trade_code.Trim()); xrTableCell_RS.Text = "(" + _Store_Out_head.Rs_code + ")" + CommonReport.GetCompanyName(_Store_Out_head.Rs_code.Trim()); //进出口岸 xrTableCell_IE_PORT.Text = "(" + _Store_Out_head.Ie_port.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "108", _Store_Out_head.Ie_port.Trim()); //出仓方式 if (_Store_Out_head.Lading_type.ToString() == "保税") {//保税仓出仓方式dtbOutWarehouseWay500 DataRow[] drdtbOutWarehouseWay500 = _dtbOutType500.Select("outtype_id=" + _Store_Out_head.Out_type); xrTableCell65.Text = drdtbOutWarehouseWay500[0]["outtype"].ToString(); } else {//监管仓出仓方式dtbOutWarehouseWay001 DataRow[] drdtbOutWarehouseWay001 = _dtbInType001.Select("outtype_id=" + _Store_Out_head.Out_type); xrTableCell65.Text = drdtbOutWarehouseWay001[0]["outtype"].ToString(); } //币制 xrTableCell_CURR.Text = "(" + _Store_Out_head.Curr_code.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, _Store_Out_head.Curr_code.Trim()); //包装种类 xrTableCell73.Text = "(" + _Store_Out_head.Bzzl_code.Trim() + ")" + GetCodeFromName(_dtbSPBCODES, "133", _Store_Out_head.Bzzl_code.Trim()); //货物类型 xrTableCell96.Text = _Store_Out_head.Lading_type; xrTableCell_CNTNR.Text = _Store_Out_head.Cntnr_spec; xrTableCell_CZQY.Text = GetSIGN_NAME(_dtbEnterprise001, _Store_Out_head.Lease_holder); //仓租企业名称 xrTableCell_SFDZBH.Text = _Store_Out_head.Sfdz; //随附单证编号 //生产厂家用途 xrTableCell_PU_CODE.Text = _Store_Out_head.Pu_name + "/" + GetCodeFromName(_dtbSPBCODES, "117", _Store_Out_head.Pu_code.Trim());; //证免 xrTableCell_ZMXZ.Text = GetCodeFromName(_dtbSPBCODES, "119", _Store_Out_head.Zmxz_code.Trim()); xrPkgs_num.Text = ILIMS.Common.PublicMethod.RemoveZero(_Store_Out_head.Pkgs_num.ToString()); xrGross_Wt.Text = ILIMS.Common.PublicMethod.RemoveZero(_Store_Out_head.Gross_wt.ToString()); xrNet_wt.Text = ILIMS.Common.PublicMethod.RemoveZero(_Store_Out_head.Net_wt.ToString()); xrAll_value.Text = ILIMS.Common.PublicMethod.RemoveZero(_Store_Out_head.All_value.ToString()); } catch (Exception ex) { throw ex; } }