| @ -0,0 +1,100 @@ | |||||
| using BWP.B3QingDaoWanFu.BL; | |||||
| using BWP.B3QingDaoWanFu.BO; | |||||
| using BWP.Web.CustomPageLayout; | |||||
| using BWP.Web.Layout; | |||||
| using BWP.Web.WebControls; | |||||
| using Forks.EnterpriseServices.DataForm; | |||||
| using System; | |||||
| using System.Collections.Generic; | |||||
| using System.Linq; | |||||
| using System.Text; | |||||
| using System.Web.UI; | |||||
| using System.Web.UI.WebControls; | |||||
| using TSingSoft.WebControls2; | |||||
| using TSingSoft.WebPluginFramework; | |||||
| namespace BWP.Web.Pages.B3QingDaoWanFu.Bills.OutFactoryRecord_ | |||||
| { | |||||
| partial class OutFactoryRecordEdit : DepartmentWorkFlowBillEditPage<OutFactoryRecord, IOutFactoryRecordBL> | |||||
| { | |||||
| protected override void BuildBody(Control control) | |||||
| { | |||||
| base.BuildBody(control); | |||||
| AddDetail(control.EAdd(new TitlePanel("记录明细", "记录明细"))); | |||||
| } | |||||
| protected override void BuildBasePropertiesEditor(TitlePanel titlePanel, PageLayoutSection pageLayoutSection) | |||||
| { | |||||
| var layoutManager = new LayoutManager("", mDFInfo, mDFContainer); | |||||
| var config = new AutoLayoutConfig(); | |||||
| layoutManager.Config = config; | |||||
| config.Add("AccountingUnit_ID"); | |||||
| config.Add("Department_ID"); | |||||
| config.Add("Date"); | |||||
| pageLayoutSection.SetRequired("AccountingUnit_ID", "Department_ID"); | |||||
| pageLayoutSection.ApplyLayout(layoutManager, config, mPageLayoutManager, mDFInfo); | |||||
| titlePanel.Controls.Add(layoutManager.CreateLayout()); | |||||
| } | |||||
| private DFEditGrid _detailGrid; | |||||
| private void AddDetail(TitlePanel titlePanel) | |||||
| { | |||||
| var vPanel = new VLayoutPanel(); | |||||
| titlePanel.Controls.Add(vPanel); | |||||
| if (CanSave) | |||||
| { | |||||
| var hPanel = vPanel.Add(new HLayoutPanel(), new VLayoutOption(HorizontalAlign.Left)); | |||||
| var oFileDialog = hPanel.Add(new FileUpload()); | |||||
| oFileDialog.Controls.Clear(); | |||||
| var btn = hPanel.Add(new TSButton("导入明细", delegate | |||||
| { | |||||
| if (string.IsNullOrEmpty(oFileDialog.FileName)) | |||||
| throw new Exception("请选择要导入的Excel文件"); | |||||
| Import(oFileDialog.PostedFile.InputStream); | |||||
| AspUtil.Alert(this, "导入成功!"); | |||||
| })); | |||||
| btn.OnClientClick = "if(__DFContainer.getValue('Date')=='') {alert('请选择屠宰日期');return false;}"; | |||||
| var link = hPanel.Add(new HyperLink()); | |||||
| link.Text = "模板下载"; | |||||
| link.NavigateUrl = WpfPageUrl.ToGlobal(AspUtil.AddTimeStampToUrl("~/Template/产品出厂记录模板.xlsx")); | |||||
| link.Target = "_blank"; | |||||
| } | |||||
| var detailEditor = new DFCollectionEditor<OutFactoryRecord_Detail>(() => Dmo.Details); | |||||
| detailEditor.AllowDeletionFunc = () => CanSave; | |||||
| detailEditor.CanDeleteFunc = (detail) => CanSave; | |||||
| detailEditor.IsEditableFunc = (field, detail) => false; | |||||
| _detailGrid = vPanel.Add(new DFEditGrid(detailEditor) { Width = Unit.Percentage(100) }); | |||||
| _detailGrid.Columns.Add(new DFEditGridColumn("OutDate")); | |||||
| _detailGrid.Columns.Add(new DFEditGridColumn("CustomerName")); | |||||
| _detailGrid.Columns.Add(new DFEditGridColumn("GoodsName")); | |||||
| _detailGrid.Columns.Add(new DFEditGridColumn("Number")); | |||||
| _detailGrid.Columns.Add(new DFEditGridColumn("SaleUnit")); | |||||
| _detailGrid.Columns.Add(new DFEditGridColumn("AnimalTest")); | |||||
| _detailGrid.Columns.Add(new DFEditGridColumn("MeatTest")); | |||||
| _detailGrid.Columns.Add(new DFEditGridColumn("PigSource")); | |||||
| _detailGrid.Columns.Add(new DFEditGridColumn("TestMan")); | |||||
| var section2 = mPageLayoutManager.AddSection("detailColumns1", "记录明细"); | |||||
| section2.ApplyLayout(_detailGrid, mPageLayoutManager, DFInfo.Get(typeof(OutFactoryRecord_Detail))); | |||||
| titlePanel.SetPageLayoutSetting(mPageLayoutManager, section2.Name); | |||||
| } | |||||
| public override void GetFromUI() | |||||
| { | |||||
| base.GetFromUI(); | |||||
| _detailGrid.GetFromUI(); | |||||
| } | |||||
| public override void AppToUI() | |||||
| { | |||||
| base.AppToUI(); | |||||
| _detailGrid.DataBind(); | |||||
| } | |||||
| } | |||||
| } | |||||
| @ -0,0 +1,114 @@ | |||||
| using BWP.B3ButcherManage.BO; | |||||
| using BWP.B3QingDaoWanFu.BO; | |||||
| using BWP.B3UnitedInfos.DataExchange; | |||||
| using Forks.EnterpriseServices.DomainObjects2; | |||||
| using Forks.EnterpriseServices.DomainObjects2.DQuery; | |||||
| using Forks.EnterpriseServices.SqlDoms; | |||||
| using System; | |||||
| using System.Collections.Generic; | |||||
| using System.IO; | |||||
| using System.Linq; | |||||
| using System.Text; | |||||
| using TSingSoft.WebPluginFramework; | |||||
| namespace BWP.Web.Pages.B3QingDaoWanFu.Bills.OutFactoryRecord_ | |||||
| { | |||||
| partial class OutFactoryRecordEdit | |||||
| { | |||||
| void Import(Stream fileStream) | |||||
| { | |||||
| GetFromUI(); | |||||
| var supplier = GetButcherSupplier(); | |||||
| var man = new ExcelImportManager(); | |||||
| var outDateColumn = man.Add(new ExecelImportColumn() | |||||
| { | |||||
| Name = "出厂日期", | |||||
| Required = false, | |||||
| Nullable = true | |||||
| }); | |||||
| var customerColumn = man.Add(new ExecelImportColumn() | |||||
| { | |||||
| Name = "业主信息", | |||||
| Required = false, | |||||
| Nullable = true | |||||
| }); | |||||
| var goodsNameColumn = man.Add(new ExecelImportColumn() | |||||
| { | |||||
| Name = "销售品种", | |||||
| Required = false, | |||||
| Nullable = true | |||||
| }); | |||||
| var numberColumn = man.Add(new ExecelImportColumn() | |||||
| { | |||||
| Name = "数量", | |||||
| Required = false, | |||||
| Nullable = true | |||||
| }); | |||||
| var saleUnitColumn = man.Add(new ExecelImportColumn() | |||||
| { | |||||
| Name = "销售市场", | |||||
| Required = false, | |||||
| Nullable = true | |||||
| }); | |||||
| var animalTestColumn = man.Add(new ExecelImportColumn() | |||||
| { | |||||
| Name = "动检证号", | |||||
| Required = false, | |||||
| Nullable = true | |||||
| }); | |||||
| var meatTestColumn = man.Add(new ExecelImportColumn() | |||||
| { | |||||
| Name = "肉质检验证号", | |||||
| Required = false, | |||||
| Nullable = true | |||||
| }); | |||||
| var testManColumn = man.Add(new ExecelImportColumn() | |||||
| { | |||||
| Name = "检验人员", | |||||
| Required = false, | |||||
| Nullable = true | |||||
| }); | |||||
| var details = new List<OutFactoryRecord_Detail>(); | |||||
| foreach (var row in man.Parse(fileStream)) | |||||
| { | |||||
| var detail = new OutFactoryRecord_Detail(); | |||||
| detail.OutDate = outDateColumn.GetNullableValue<DateTime>(row); | |||||
| detail.CustomerName = customerColumn.GetStringValue(row); | |||||
| detail.GoodsName = customerColumn.GetStringValue(row); | |||||
| detail.Number = numberColumn.GetNullableValue<decimal>(row); | |||||
| detail.SaleUnit = saleUnitColumn.GetStringValue(row); | |||||
| detail.AnimalTest = animalTestColumn.GetStringValue(row); | |||||
| detail.MeatTest = meatTestColumn.GetStringValue(row); | |||||
| detail.TestMan = testManColumn.GetStringValue(row); | |||||
| detail.PigSource = supplier; | |||||
| details.Add(detail); | |||||
| } | |||||
| foreach (var detail in details) | |||||
| Dmo.Details.Add(detail); | |||||
| _detailGrid.DataBind(); | |||||
| } | |||||
| string GetButcherSupplier() | |||||
| { | |||||
| var order = new JoinAlias(typeof(ButcherOrder)); | |||||
| var orderDetail = new JoinAlias(typeof(ButcherOrder_Detail)); | |||||
| var weight = new JoinAlias(typeof(WeighBill)); | |||||
| var query = new DQueryDom(order); | |||||
| query.From.AddJoin(JoinType.Left, new DQDmoSource(orderDetail), DQCondition.EQ(order, "ID", orderDetail, "ButcherOrder_ID")); | |||||
| query.From.AddJoin(JoinType.Left, new DQDmoSource(weight), DQCondition.EQ(orderDetail, "WeighBill_ID", weight, "ID")); | |||||
| query.Where.Conditions.Add(DQCondition.EQ("Date", Dmo.Date)); | |||||
| query.Columns.Add(DQSelectColumn.Field("Supplier_Name", weight)); | |||||
| query.Range = SelectRange.Top(5); | |||||
| return string.Join(",", query.EExecuteList<string>()) + ",……"; | |||||
| } | |||||
| } | |||||
| } | |||||
| @ -0,0 +1,36 @@ | |||||
| using BWP.B3QingDaoWanFu.BL; | |||||
| using BWP.B3QingDaoWanFu.BO; | |||||
| using System; | |||||
| using System.Collections.Generic; | |||||
| using System.Linq; | |||||
| using System.Text; | |||||
| using TSingSoft.WebControls2; | |||||
| namespace BWP.Web.Pages.B3QingDaoWanFu.Bills.OutFactoryRecord_ | |||||
| { | |||||
| class OutFactoryRecordList : DomainBillListPage<OutFactoryRecord, IOutFactoryRecordBL> | |||||
| { | |||||
| protected override void AddQueryControls(VLayoutPanel vPanel) | |||||
| { | |||||
| vPanel.Add(CreateDefaultBillQueryControls((panel, config) => | |||||
| { | |||||
| config.AddAfter("Date", "BillState"); | |||||
| config.AddAfter("AccountingUnit_ID", "Date"); | |||||
| config.AddAfter("Department_ID", "AccountingUnit_ID"); | |||||
| config.Remvoe("Remark"); | |||||
| })); | |||||
| } | |||||
| protected override void AddDFBrowseGridColumn(DFBrowseGrid grid, string field) | |||||
| { | |||||
| base.AddDFBrowseGridColumn(grid, field); | |||||
| if (field == "BillState") | |||||
| { | |||||
| AddDFBrowseGridColumn(grid, "Date"); | |||||
| AddDFBrowseGridColumn(grid, "AccountingUnit_Name"); | |||||
| AddDFBrowseGridColumn(grid, "Department_Name"); | |||||
| AddDFBrowseGridColumn(grid, "CheckUser_Name"); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| @ -0,0 +1,58 @@ | |||||
| <?xml version="1.0" encoding="utf-8" ?> | |||||
| <Select xmlns="urn:XDQuery"> | |||||
| <Columns> | |||||
| <Field name="ID"/> | |||||
| </Columns> | |||||
| <From> | |||||
| <DmoClass class="BWP.B3QingDaoWanFu.BO.OutFactoryRecord, B3QingDaoWanFu"/> | |||||
| </From> | |||||
| <Where> | |||||
| <And> | |||||
| <EQ> | |||||
| <Field name="ID"/> | |||||
| <QBE paramName="ID"/> | |||||
| </EQ> | |||||
| <EQ> | |||||
| <Field name="AccountingUnit_ID"/> | |||||
| <QBE paramName="AccountingUnit_ID"/> | |||||
| </EQ> | |||||
| <EQ> | |||||
| <Field name="Department_ID"/> | |||||
| <QBE paramName="Department_ID"/> | |||||
| </EQ> | |||||
| <EQ> | |||||
| <Field name="IsLocked"/> | |||||
| <QBE paramName="IsLocked"/> | |||||
| </EQ> | |||||
| <Contains> | |||||
| <Field name="CreateUser_Name"/> | |||||
| <QBE paramName="CreateUser_Name"/> | |||||
| </Contains> | |||||
| <Contains> | |||||
| <Field name="CheckUser_Name"/> | |||||
| <QBE paramName="CheckUser_Name"/> | |||||
| </Contains> | |||||
| <GreaterThanOrEqual> | |||||
| <Field name="CreateTime"/> | |||||
| <QBE paramName="MinCreateTime" /> | |||||
| </GreaterThanOrEqual> | |||||
| <LessThanOrEqual> | |||||
| <Field name="CreateTime"/> | |||||
| <QBE paramName="MaxCreateTime"/> | |||||
| </LessThanOrEqual> | |||||
| <GreaterThanOrEqual> | |||||
| <Field name="Date"/> | |||||
| <QBE paramName="MinDate" /> | |||||
| </GreaterThanOrEqual> | |||||
| <LessThanOrEqual> | |||||
| <Field name="Date"/> | |||||
| <QBE paramName="MaxDate"/> | |||||
| </LessThanOrEqual> | |||||
| <EQ> | |||||
| <Field name="BillState"/> | |||||
| <QBE paramName ="BillState"/> | |||||
| </EQ> | |||||
| </And> | |||||
| </Where> | |||||
| </Select> | |||||
| @ -0,0 +1,20 @@ | |||||
| using BWP.B3Frameworks.BL; | |||||
| using BWP.B3QingDaoWanFu.BO; | |||||
| using Forks.EnterpriseServices; | |||||
| using Forks.EnterpriseServices.BusinessInterfaces; | |||||
| using System; | |||||
| using System.Collections.Generic; | |||||
| using System.Linq; | |||||
| using System.Text; | |||||
| namespace BWP.B3QingDaoWanFu.BL | |||||
| { | |||||
| [LogicName("产品出厂记录")] | |||||
| [BusinessInterface(typeof(OutFactoryRecordBL))] | |||||
| public interface IOutFactoryRecordBL : IDepartmentWorkFlowBillBL<OutFactoryRecord> | |||||
| { } | |||||
| public class OutFactoryRecordBL : DepartmentWorkFlowBillBL<OutFactoryRecord>, IOutFactoryRecordBL | |||||
| { | |||||
| } | |||||
| } | |||||
| @ -0,0 +1,29 @@ | |||||
| using BWP.B3Frameworks; | |||||
| using BWP.B3Frameworks.BO; | |||||
| using Forks.EnterpriseServices; | |||||
| using Forks.EnterpriseServices.DataForm; | |||||
| using Forks.EnterpriseServices.DomainObjects2; | |||||
| using System; | |||||
| using System.Collections.Generic; | |||||
| using System.Linq; | |||||
| using System.Text; | |||||
| namespace BWP.B3QingDaoWanFu.BO | |||||
| { | |||||
| [Serializable, DFClass, LogicName("产品出厂记录")] | |||||
| [DmoTypeID(B3FrameworksConsts.DmoTypeIDBases.B3QingDaoWanFu, B3QingDaoWanFuConsts.DmoTypeIDOffsets.OutFactoryRecord)] | |||||
| [DFCPrompt("部门", Property = "Department_ID")] | |||||
| [DFCPrompt("部门", Property = "Department_Name")] | |||||
| public class OutFactoryRecord : DepartmentWorkFlowBill | |||||
| { | |||||
| private DateTime? date = DateTime.Today; | |||||
| [LogicName("屠宰日期")] | |||||
| [DFNotEmpty] | |||||
| public DateTime? Date { get { return date; } set { date = value; } } | |||||
| private readonly OutFactoryRecord_DetailCollection mDetails = new OutFactoryRecord_DetailCollection(); | |||||
| [OneToMany(typeof(OutFactoryRecord_Detail), "ID")] | |||||
| [Join("ID", "OutFactoryRecord_ID")] | |||||
| public OutFactoryRecord_DetailCollection Details { get { return mDetails; } } | |||||
| } | |||||
| } | |||||
| @ -0,0 +1,54 @@ | |||||
| using BWP.B3Frameworks.BO; | |||||
| using Forks.EnterpriseServices; | |||||
| using Forks.EnterpriseServices.DataForm; | |||||
| using Forks.EnterpriseServices.DomainObjects2; | |||||
| using Forks.Utils; | |||||
| using System; | |||||
| using System.Collections.Generic; | |||||
| using System.Data; | |||||
| using System.Linq; | |||||
| using System.Text; | |||||
| namespace BWP.B3QingDaoWanFu.BO | |||||
| { | |||||
| [Serializable, DFClass, LogicName("产品出厂记录_明细")] | |||||
| public class OutFactoryRecord_Detail : Base | |||||
| { | |||||
| public long OutFactoryRecord_ID { get; set; } | |||||
| [LogicName("出厂日期")] | |||||
| public DateTime? OutDate { get; set; } | |||||
| [LogicName("购货业主姓名及联系方式")] | |||||
| [DbColumn(DbType = SqlDbType.NVarChar, Length = 200)] | |||||
| public string CustomerName { get; set; } | |||||
| [LogicName("销售品种")] | |||||
| public string GoodsName { get; set; } | |||||
| [LogicName("数量(头数或公斤)")] | |||||
| public Money<decimal>? Number { get; set; } | |||||
| [LogicName("销售市场或单位")] | |||||
| [DbColumn(DbType = SqlDbType.NVarChar, Length = 200)] | |||||
| public string SaleUnit { get; set; } | |||||
| [LogicName("动物检疫合格证编号")] | |||||
| public string AnimalTest { get; set; } | |||||
| [LogicName("肉品品质检验合格证编号")] | |||||
| public string MeatTest { get; set; } | |||||
| [LogicName("生猪来源(生猪货主姓名)")] | |||||
| [DbColumn(DbType = SqlDbType.NVarChar, Length = 200)] | |||||
| public string PigSource { get; set; } | |||||
| [LogicName("检验人员")] | |||||
| public string TestMan { get; set; } | |||||
| } | |||||
| [Serializable] | |||||
| public class OutFactoryRecord_DetailCollection : DmoCollection<OutFactoryRecord_Detail> | |||||
| { | |||||
| } | |||||
| } | |||||