Browse Source

需求单No.137741

master
robin 8 years ago
parent
commit
82ce6aa63d
2 changed files with 62 additions and 20 deletions
  1. +61
    -20
      B3_DongFangWanQi.Web/Pages/B3_DongFangWanQi/Tools/SaleOrderUpdateList.cs
  2. +1
    -0
      WebFolder/Config/Plugins/B3_DongFangWanQi.Plugin

+ 61
- 20
B3_DongFangWanQi.Web/Pages/B3_DongFangWanQi/Tools/SaleOrderUpdateList.cs View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
@ -14,6 +15,8 @@ using BWP.B3Frameworks.Utils;
using BWP.B3Sale.BO;
using BWP.B3Sale.Utils;
using BWP.B3UnitedInfos;
using BWP.B3UnitedInfos.AvailableStroage;
using BWP.B3UnitedInfos.BL;
using BWP.B3UnitedInfos.BO;
using BWP.Web.Layout;
using BWP.Web.Utils;
@ -34,7 +37,7 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools {
class SaleOrderUpdateList : AppBasePage {
QueryContainer _queryContainer;
readonly DFInfo _dFInfo = DFInfo.Get(typeof(Order));
private DFChoiceBox _goodsPropertyCatalog,_liuchengfenlei;
private DFChoiceBox _goodsPropertyCatalog, _liuchengfenlei;
private ChoiceBox _goodsProperty;
private HiddenField hidden;
private DFChoiceBox _storeInput, _accInput, _customerCatalogt, _customerInput;
@ -158,9 +161,9 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools {
_grid.Columns.Add(new DFBrowseGridColumn("GoodsProperty_Name"));
_grid.Columns.Add(new DFBrowseGridColumn("UnitNum"));
_grid.Columns.Add(new DFBrowseGridColumn("库存数量"));
_grid.Columns.Add(new DFBrowseGridColumn("可用库存"));
_grid.Columns.Add(new DFBrowseGridColumn("测算数量"));
_grid.Columns.Add(new DFBrowseGridColumn("可用数量"));
_grid.Columns.Add(new DFBrowseGridColumn("可用与预算合计"));
_grid.Columns.Add(new DFBrowseGridColumn("预计剩余数量"));
_grid.Columns.Add(new DFBrowseGridColumn("预计剩余头数"));
_grid.OnDetailDataBound += (htmlRow, dataRow, o) => {
@ -168,7 +171,7 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools {
if (row == null)
return;
var diff = (decimal?)row["预计剩余数量"];
AddLinkBt(o, row, 5, diff, htmlRow);
AddLinkBt(o, row, 6, diff, htmlRow);
};
@ -177,19 +180,16 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools {
}
private void AddLinkBt(int o, DFDataRow row, int numberIndext, decimal? diff, HtmlTableRow htmlRow)
{
private void AddLinkBt(int o, DFDataRow row, int numberIndext, decimal? diff, HtmlTableRow htmlRow) {
var bt = new DialogButton();
bt.CssClass = "btn";
bt.Text = htmlRow.Cells[numberIndext].InnerText;
if (o%2 != 1)
{
if (o % 2 != 1) {
bt.CssClass = "btn evenbtn";
}
if (diff < 0)
{
if (diff < 0) {
bt.BorderStyle = BorderStyle.Solid;
bt.BorderColor = Color.Red;
bt.BorderWidth = 1;
@ -198,8 +198,8 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools {
htmlRow.Cells[numberIndext].Controls.Add(bt);
var idField = (long?) row["GoodsProperty_ID"];
var number = ((decimal?) row["可用数量"]) ?? 0;
var idField = (long?)row["GoodsProperty_ID"];
var number = ((Money<decimal>?)row["可用库存"]) ?? 0;
var url = AspUtil.UpdateUrlParam("SaleOrderUpdateEdit.aspx", "GoodsProperty_ID", (idField ?? 0).ToString());
url = AspUtil.UpdateUrlParam(url, "number", number.ToString());
url = AspUtil.UpdateUrlParam(url, "cacheid", "'+__DFContainer.getValue('$HiddenField01')+'");
@ -227,8 +227,13 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools {
var outputConfig = new JoinAlias(typeof(OutputConfigTmp));
var dom = new DQueryDom(bill);
OrganizationUtil.RegisterOrganizationQueryTable(dom);
var context = new AvailableStorageContext { Usage = StorageUsage.Sale };
//注册可用库存查询
AvailableStorageUtil.RegisgterAvaliableStorageUnionTable(dom, context);
//汇总可用库存
RegisgterAvaliableStorageSumTable(dom);
dom.RegisterQueryTable(typeof(OrderTmp), new[] { "GoodsProperty_ID", "Number", "SecondNumber", "UnitNum" }, GetOrderDQueryDom());
dom.RegisterQueryTable(typeof(StoreDetailTmp), new[] { "GoodsProperty_ID", "Number", "SecondNumber" }, GetStoreDetailDQueryDom());
dom.RegisterQueryTable(typeof(OutputTmp), new[] { "GoodsProperty_ID", "Number" }, GetOutputDQueryDom());
dom.RegisterQueryTable(typeof(OutputConfigTmp), new[] { "GoodsProperty_ID", "Number" }, GetOutputConfigureDom());
dom.From.AddJoin(JoinType.Left, new DQDmoSource(goodsProperty), DQCondition.EQ(bill, "GoodsProperty_ID", goodsProperty, "ID"));
@ -239,10 +244,10 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools {
dom.Columns.Add(DQSelectColumn.Field("GoodsProperty_Name", bill));
dom.Columns.Add(DQSelectColumn.Field("UnitNum", bill));
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(storeDetail, "Number"), "库存数量"));
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(storeDetail, "Number"), "可用库存"));
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(output, "Number"), "测算数量"));
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(storeDetail, "Number").EAdd(DQExpression.Field(output, "Number")), "可用数量"));
dom.Columns.Add(DQSelectColumn.Create(DQExpression.Field(storeDetail, "Number").EAdd(DQExpression.Field(output, "Number")), "可用与预算合计"));
dom.Columns.Add(DQSelectColumn.Create(
ESubtract(DQExpression.Field(storeDetail, "Number").EAdd(DQExpression.Field(output, "Number")), DQExpression.Field(bill, "UnitNum")), "预计剩余数量"));
@ -261,6 +266,7 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools {
}
private DQueryDom GetOutputConfigureDom() {
var dom = new DQueryDom(new JoinAlias(typeof(OutputConfigure)));
@ -342,7 +348,7 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools {
DQueryDom GetOrderDQueryDom() {
var dom = _queryContainer.Build();
var bill = dom.From.RootSource.Alias;
var flowdetail=new JoinAlias("flowdetail",typeof(DepartmentWorkFlow_Detail));
var flowdetail = new JoinAlias("flowdetail", typeof(DepartmentWorkFlow_Detail));
var detail = new JoinAlias("detail", typeof(Order_Detail));
var goodsPropertyCatalog = new JoinAlias("_gpc", typeof(GoodsPropertyCatalog));
var goodsProperty = new JoinAlias("_gp", typeof(GoodsProperty));
@ -354,11 +360,10 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools {
dom.From.AddJoin(JoinType.Left, new DQDmoSource(goodsProperty), DQCondition.EQ(goodsProperty, "ID", goods, "GoodsProperty_ID"));
dom.From.AddJoin(JoinType.Left, new DQDmoSource(goodsPropertyCatalog), DQCondition.EQ(goodsProperty, "GoodsPropertyCatalog_ID", goodsPropertyCatalog, "ID"));
dom.From.AddJoin(JoinType.Left, new DQDmoSource(customer), DQCondition.EQ(bill, "Customer_ID", customer, "ID"));
dom.From.AddJoin(JoinType.Left, new DQDmoSource(flowdetail), DQCondition.EQ(bill, "DepartmentWorkFlow_Detail_ID", flowdetail, "ID"));
if (!_liuchengfenlei.IsEmpty)
{
dom.Where.Conditions.Add(DQCondition.EQ(flowdetail, "DepartmentWorkFlowStateCategory_ID",long.Parse(_liuchengfenlei.Value)));
if (!_liuchengfenlei.IsEmpty) {
dom.Where.Conditions.Add(DQCondition.EQ(flowdetail, "DepartmentWorkFlowStateCategory_ID", long.Parse(_liuchengfenlei.Value)));
}
AddGoodsCondition(goodsPropertyCatalog, goodsProperty, dom);
dom.Columns.Add(DQSelectColumn.Field("ID", goodsProperty));
@ -443,6 +448,42 @@ namespace BWP.Web.Pages.B3_DongFangWanQi.Tools {
return query;
}
void RegisgterAvaliableStorageSumTable(DQueryDom outerQuery) {
var union = new JoinAlias(typeof(AvailableStorageUtil.AvailableStorageUnionTable));
var store = new JoinAlias(typeof(Store));
var query = new DQueryDom(union);
var goodsPropertyCatalog = new JoinAlias(typeof(GoodsPropertyCatalog));
var goodsProperty = new JoinAlias(typeof(GoodsProperty));
var goods = new JoinAlias(typeof(SaleGoods));
query.From.AddJoin(JoinType.Left, new DQDmoSource(goods), DQCondition.EQ(union, "Goods_ID", goods, "ID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(goodsProperty), DQCondition.EQ(goodsProperty, "ID", goods, "GoodsProperty_ID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(goodsPropertyCatalog), DQCondition.EQ(goodsProperty, "GoodsPropertyCatalog_ID", goodsPropertyCatalog, "ID"));
query.From.AddJoin(JoinType.Left, new DQDmoSource(store), DQCondition.EQ(union, "Store_ID", store, "ID"));
query.Columns.Add(DQSelectColumn.Field("ID", goodsProperty));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field("Number")), "主数量"));
query.Columns.Add(DQSelectColumn.Create(DQExpression.Sum(DQExpression.Field("SecondNumber")), "辅数量"));
query.GroupBy.Expressions.Add(DQExpression.Field(goodsProperty, "ID"));
AddGoodsCondition(goodsPropertyCatalog, goodsProperty, query);
query.Where.Conditions.Add(DQCondition.EQ(store, "Domain_ID", DomainContext.Current.ID));
var config = AvailableStroageSourceConfigBL.Instance.Load();
var selectedNames = (config.SelectedNames ?? "").Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries) ;
if( selectedNames.Contains("销售订单"))
{
query.Where.Conditions.Add(DQCondition.InEQ("Source", "销售订单"));
}
outerQuery.RegisterQueryTable(typeof(StoreDetailTmp), new[] { "GoodsProperty_ID", "Number", "SecondNumber" }, query);
}
private void AddGoodsCondition(JoinAlias goodsPropertyCatalog, JoinAlias goodsProperty, DQueryDom dom) {
if (!_goodsPropertyCatalog.IsEmpty) {
var strs = B3SaleWebUtil.GetDeepByTreeName(_goodsPropertyCatalog.DisplayValue);


+ 1
- 0
WebFolder/Config/Plugins/B3_DongFangWanQi.Plugin View File

@ -2,6 +2,7 @@
<Plugin xmlns="http://www.TSingSoft.com/Schemas/WPF.xsd" name="B3_DongFangWanQi" displayName="东方万旗" version="1.0" appVersion="$appVersion" schemaVersion="1.0" pluginClass="B3_DongFangWanQi.Web.PluginClass, B3_DongFangWanQi.Web">
<Requires>
<Plugin name="B3Sale" version="$appVersion" />
<Plugin name="B3CowButcherManage" version="$appVersion" />
</Requires>
<Assemblies>
<File name="B3_DongFangWanQi.dll" type="bo bl"/>


Loading…
Cancel
Save