|
|
@ -68,8 +68,8 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
private Label goodsNameShow, _difNumber, _adjustNumberLabel; |
|
|
private Label goodsNameShow, _difNumber, _adjustNumberLabel; |
|
|
DFBoolRadioBox adjustType; |
|
|
DFBoolRadioBox adjustType; |
|
|
DFCheckBox avgAdjust; |
|
|
DFCheckBox avgAdjust; |
|
|
VLayoutPanel panel1, panel2; |
|
|
|
|
|
DFEditGrid _editGrid1, _editGrid2; |
|
|
|
|
|
|
|
|
VLayoutPanel panel1, panel11, panel2; |
|
|
|
|
|
DFEditGrid _editGrid1, _editGrid11, _editGrid2; |
|
|
bool byLine |
|
|
bool byLine |
|
|
{ |
|
|
{ |
|
|
get |
|
|
get |
|
|
@ -142,8 +142,10 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
foreach (var item in list.OrderByDescending(x => x.Number)) |
|
|
foreach (var item in list.OrderByDescending(x => x.Number)) |
|
|
details.Add(item); |
|
|
details.Add(item); |
|
|
_editGrid1.DataBind(); |
|
|
_editGrid1.DataBind(); |
|
|
|
|
|
_editGrid11.DataBind(); |
|
|
_editGrid2.DataBind(); |
|
|
_editGrid2.DataBind(); |
|
|
panel1.Visible = byLine; |
|
|
|
|
|
|
|
|
panel1.Visible = byLine && !avgAdjust.Checked; |
|
|
|
|
|
panel11.Visible = byLine && avgAdjust.Checked; |
|
|
panel2.Visible = !byLine; |
|
|
panel2.Visible = !byLine; |
|
|
avgAdjust.Visible = byLine; |
|
|
avgAdjust.Visible = byLine; |
|
|
}; |
|
|
}; |
|
|
@ -169,6 +171,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
query.Columns.Add(DQSelectColumn.Field("SecondNumber", detail)); |
|
|
query.Columns.Add(DQSelectColumn.Field("SecondNumber", detail)); |
|
|
query.Columns.Add(DQSelectColumn.Field("Unit", detail)); |
|
|
query.Columns.Add(DQSelectColumn.Field("Unit", detail)); |
|
|
query.Columns.Add(DQSelectColumn.Field("UnitNum", detail)); |
|
|
query.Columns.Add(DQSelectColumn.Field("UnitNum", detail)); |
|
|
|
|
|
query.Columns.Add(DQSelectColumn.Field("DeliverGoodsLine_ID")); |
|
|
|
|
|
|
|
|
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Domain_ID", DomainContext.Current.ID), DQCondition.EQ("BillState", 单据状态.未审核))); |
|
|
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Domain_ID", DomainContext.Current.ID), DQCondition.EQ("BillState", 单据状态.未审核))); |
|
|
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ(detail, "SaleGoods_ID", goodsId), DQCondition.EQ("Store_ID", storeID))); |
|
|
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ(detail, "SaleGoods_ID", goodsId), DQCondition.EQ("Store_ID", storeID))); |
|
|
@ -189,6 +192,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
item.Unit = (string)reader[6]; |
|
|
item.Unit = (string)reader[6]; |
|
|
item.Number = (Money<decimal>?)reader[7]; |
|
|
item.Number = (Money<decimal>?)reader[7]; |
|
|
item.SendNumber = item.Number.EToDecimal(); |
|
|
item.SendNumber = item.Number.EToDecimal(); |
|
|
|
|
|
item.DeliverGoodsLine_ID = (long?)reader[8]; |
|
|
list.Add(item); |
|
|
list.Add(item); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -253,6 +257,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
details.Clear(); |
|
|
details.Clear(); |
|
|
innerDetails.Clear(); |
|
|
innerDetails.Clear(); |
|
|
_editGrid1.DataBind(); |
|
|
_editGrid1.DataBind(); |
|
|
|
|
|
_editGrid11.DataBind(); |
|
|
_editGrid2.DataBind(); |
|
|
_editGrid2.DataBind(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -321,18 +326,25 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
|
|
|
|
|
|
avgAdjust = hPanel.Add(new DFCheckBox() { Text = "平均分配" }); |
|
|
avgAdjust = hPanel.Add(new DFCheckBox() { Text = "平均分配" }); |
|
|
avgAdjust.Style.Add("margin", "0px 20px"); |
|
|
avgAdjust.Style.Add("margin", "0px 20px"); |
|
|
|
|
|
avgAdjust.AutoPostBack = true; |
|
|
|
|
|
avgAdjust.CheckedChanged += delegate |
|
|
|
|
|
{ |
|
|
|
|
|
panel1.Visible = !avgAdjust.Checked; |
|
|
|
|
|
panel11.Visible = !panel1.Visible; |
|
|
|
|
|
_editGrid1.DataBind(); |
|
|
|
|
|
_editGrid11.DataBind(); |
|
|
|
|
|
}; |
|
|
hPanel.Add(new TSButton("更新报价数量", delegate { AdjustSaleOutStore(); })); |
|
|
hPanel.Add(new TSButton("更新报价数量", delegate { AdjustSaleOutStore(); })); |
|
|
|
|
|
|
|
|
AddGrid1(titlePanel); |
|
|
AddGrid1(titlePanel); |
|
|
|
|
|
AddGrid11(titlePanel); |
|
|
AddGrid2(titlePanel); |
|
|
AddGrid2(titlePanel); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void AddGrid1(TitlePanel titlePanel) |
|
|
void AddGrid1(TitlePanel titlePanel) |
|
|
{ |
|
|
{ |
|
|
panel1 = titlePanel.EAdd(new VLayoutPanel()); |
|
|
panel1 = titlePanel.EAdd(new VLayoutPanel()); |
|
|
var editor = new DFCollectionEditor<SendOutStoreDetail>(() => details); |
|
|
var editor = new DFCollectionEditor<SendOutStoreDetail>(() => details); |
|
|
|
|
|
|
|
|
_editGrid1 = panel1.Add(new DFEditGrid(editor) { Width = Unit.Percentage(100) }); |
|
|
_editGrid1 = panel1.Add(new DFEditGrid(editor) { Width = Unit.Percentage(100) }); |
|
|
_editGrid1.Columns.Add(new DFEditGridColumn("DeliverGoodsLine_Name")); |
|
|
_editGrid1.Columns.Add(new DFEditGridColumn("DeliverGoodsLine_Name")); |
|
|
_editGrid1.Columns.Add(new DFEditGridColumn("SecondUnit")); |
|
|
_editGrid1.Columns.Add(new DFEditGridColumn("SecondUnit")); |
|
|
@ -369,6 +381,29 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
_editGrid1.Columns.Add(new DFEditGridColumn("AdjustNumber")); |
|
|
_editGrid1.Columns.Add(new DFEditGridColumn("AdjustNumber")); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void AddGrid11(TitlePanel titlePanel) |
|
|
|
|
|
{ |
|
|
|
|
|
panel11 = titlePanel.EAdd(new VLayoutPanel()); |
|
|
|
|
|
var editor = new DFCollectionEditor<SendOutStoreDetail>(() => details); |
|
|
|
|
|
editor.IsEditableFunc = (field, detail) => { return field.Name == "SendNumber"; }; |
|
|
|
|
|
|
|
|
|
|
|
_editGrid11 = panel11.Add(new DFEditGrid(editor) { Width = Unit.Percentage(100) }); |
|
|
|
|
|
_editGrid11.ID = "_gridUp"; |
|
|
|
|
|
_editGrid11.ClientIDMode = ClientIDMode.Static; |
|
|
|
|
|
_editGrid11.Columns.Add(new DFEditGridColumn("DeliverGoodsLine_Name")); |
|
|
|
|
|
_editGrid11.Columns.Add(new DFEditGridColumn("SecondUnit")); |
|
|
|
|
|
_editGrid11.Columns.Add(new DFEditGridColumn("SecondNumber")); |
|
|
|
|
|
_editGrid11.Columns.Add(new DFEditGridColumn("Unit")); |
|
|
|
|
|
_editGrid11.Columns.Add(new DFEditGridColumn("Number")); |
|
|
|
|
|
var col = new DFEditGridColumn<DFTextBox>("SendNumber"); |
|
|
|
|
|
col.InitEditControl += (sender, e) => |
|
|
|
|
|
{ |
|
|
|
|
|
e.Control.Attributes["onchange"] = "_SumNumberUp();"; |
|
|
|
|
|
}; |
|
|
|
|
|
_editGrid11.Columns.Add(col); |
|
|
|
|
|
_editGrid11.Columns.Add(new DFEditGridColumn("AdjustNumber")); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
void SaveCookie(string value) |
|
|
void SaveCookie(string value) |
|
|
{ |
|
|
{ |
|
|
HttpCookie cookie = new HttpCookie("innerDetails", value); |
|
|
HttpCookie cookie = new HttpCookie("innerDetails", value); |
|
|
@ -383,6 +418,8 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
editor.IsEditableFunc = (field, detail) => { return field.Name == "SendNumber"; }; |
|
|
editor.IsEditableFunc = (field, detail) => { return field.Name == "SendNumber"; }; |
|
|
|
|
|
|
|
|
_editGrid2 = panel2.Add(new DFEditGrid(editor) { Width = Unit.Percentage(100) }); |
|
|
_editGrid2 = panel2.Add(new DFEditGrid(editor) { Width = Unit.Percentage(100) }); |
|
|
|
|
|
_editGrid2.ID = "_gird2"; |
|
|
|
|
|
_editGrid2.ClientIDMode = ClientIDMode.Static; |
|
|
_editGrid2.Columns.Add(new DFEditGridColumn("Date")); |
|
|
_editGrid2.Columns.Add(new DFEditGridColumn("Date")); |
|
|
_editGrid2.Columns.Add(new DFEditGridColumn("ID")); |
|
|
_editGrid2.Columns.Add(new DFEditGridColumn("ID")); |
|
|
_editGrid2.Columns.Add(new DFEditGridColumn("CustomerName")); |
|
|
_editGrid2.Columns.Add(new DFEditGridColumn("CustomerName")); |
|
|
@ -406,6 +443,7 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
{ |
|
|
{ |
|
|
if (avgAdjust.Checked) |
|
|
if (avgAdjust.Checked) |
|
|
{ |
|
|
{ |
|
|
|
|
|
_editGrid11.GetFromUI(); |
|
|
innerDetails.Clear(); |
|
|
innerDetails.Clear(); |
|
|
AvgAdjust(); |
|
|
AvgAdjust(); |
|
|
} |
|
|
} |
|
|
@ -422,20 +460,38 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
|
|
|
|
|
|
void AvgAdjust() |
|
|
void AvgAdjust() |
|
|
{ |
|
|
{ |
|
|
var total = details.Sum(x => (x.Number ?? 0).Value); |
|
|
|
|
|
if (total == 0) |
|
|
|
|
|
|
|
|
var f = details.FirstOrDefault(); |
|
|
|
|
|
if (f == null) |
|
|
return; |
|
|
return; |
|
|
var avg = productNumber / total; |
|
|
|
|
|
var f = details.First(); |
|
|
|
|
|
var list = CreateDetailsByBill(f.Goods_ID, f.Store_ID); |
|
|
var list = CreateDetailsByBill(f.Goods_ID, f.Store_ID); |
|
|
foreach (var item in list) |
|
|
|
|
|
|
|
|
foreach (var item in details) |
|
|
{ |
|
|
{ |
|
|
var entity = new InnerDetail(); |
|
|
|
|
|
entity.ID = item.ID; |
|
|
|
|
|
entity.DetailID = item.DetailID; |
|
|
|
|
|
entity.Number = item.Number.EToDecimal(); |
|
|
|
|
|
entity.SendNumber = entity.Number * avg; |
|
|
|
|
|
innerDetails.Add(entity); |
|
|
|
|
|
|
|
|
if (item.Number == 0) |
|
|
|
|
|
continue; |
|
|
|
|
|
if ((item.SendNumber ?? 0) == item.Number.Value) |
|
|
|
|
|
continue; |
|
|
|
|
|
var avg = item.SendNumber / item.Number; |
|
|
|
|
|
var tag = list.Where(x => x.DeliverGoodsLine_ID == item.DeliverGoodsLine_ID); |
|
|
|
|
|
var lastNum = (item.SendNumber ?? 0); |
|
|
|
|
|
bool exist = false; |
|
|
|
|
|
foreach (var t in tag) |
|
|
|
|
|
{ |
|
|
|
|
|
var entity = new InnerDetail(); |
|
|
|
|
|
entity.ID = t.ID; |
|
|
|
|
|
entity.DetailID = t.DetailID; |
|
|
|
|
|
entity.Number = t.Number.EToDecimal(); |
|
|
|
|
|
entity.SendNumber = entity.Number * avg; |
|
|
|
|
|
if (entity.SendNumber.HasValue) |
|
|
|
|
|
{ |
|
|
|
|
|
entity.SendNumber = decimal.Floor(entity.SendNumber.Value); |
|
|
|
|
|
lastNum -= entity.SendNumber.Value; |
|
|
|
|
|
} |
|
|
|
|
|
innerDetails.Add(entity); |
|
|
|
|
|
if (!exist) |
|
|
|
|
|
exist = true; |
|
|
|
|
|
} |
|
|
|
|
|
if (lastNum != 0 && exist) |
|
|
|
|
|
innerDetails.Last().SendNumber += lastNum; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -470,8 +526,8 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
{ |
|
|
{ |
|
|
base.OnPreRender(e); |
|
|
base.OnPreRender(e); |
|
|
|
|
|
|
|
|
var pageIndex = _editGrid1.CurrentPageIndex; |
|
|
|
|
|
var size = _editGrid1.PageSize; |
|
|
|
|
|
|
|
|
var pageIndex = _editGrid2.CurrentPageIndex; |
|
|
|
|
|
var size = _editGrid2.PageSize; |
|
|
var index = 0; |
|
|
var index = 0; |
|
|
Money<decimal> unitNum = 0; |
|
|
Money<decimal> unitNum = 0; |
|
|
|
|
|
|
|
|
@ -486,17 +542,74 @@ namespace BWP.Web.Pages.B3ButcherManageToSale.Overlays |
|
|
index++; |
|
|
index++; |
|
|
} |
|
|
} |
|
|
var s = string.Format(@"<script language=javascript>
|
|
|
var s = string.Format(@"<script language=javascript>
|
|
|
var sumUnitNumOtherPage = {0}; |
|
|
|
|
|
</script>", unitNum);
|
|
|
|
|
|
|
|
|
var sumUnitNumOtherPage = {0}; |
|
|
|
|
|
</script>", unitNum);
|
|
|
Page.ClientScript.RegisterClientScriptBlock(GetType(), "OtherPageNumber", s, false); |
|
|
Page.ClientScript.RegisterClientScriptBlock(GetType(), "OtherPageNumber", s, false); |
|
|
|
|
|
|
|
|
string script = @"var defaultGrid=document.all." + _editGrid1.ClientID + @";
|
|
|
|
|
|
function _SumNumber() |
|
|
|
|
|
|
|
|
string script = @"var defaultGrid=document.all._gird2;"+ @";
|
|
|
|
|
|
function _SumNumber() |
|
|
|
|
|
{ |
|
|
|
|
|
var grid = defaultGrid.behind; |
|
|
|
|
|
|
|
|
|
|
|
var itemEndIndex = grid.mItemEndIndex - 1; |
|
|
|
|
|
var sumN = sumUnitNumOtherPage; |
|
|
|
|
|
|
|
|
|
|
|
for (i = 1; i <= itemEndIndex; i++) { |
|
|
|
|
|
var row = grid.front.rows[i]; |
|
|
|
|
|
|
|
|
|
|
|
var m = row.dfContainer.getValue('SendNumber'); |
|
|
|
|
|
var rownumber=row.dfContainer.getValue('Number'); |
|
|
|
|
|
row.dfContainer.setValue('AdjustNumber',(rownumber-m).toFixed(2)); |
|
|
|
|
|
|
|
|
|
|
|
if (m != null && m != '') { |
|
|
|
|
|
sumN = sumN + 1 * m; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
var label = document.getElementById('{adjustNumberLabel}') |
|
|
|
|
|
label.innerText = sumN.toFixed(2); |
|
|
|
|
|
if( sumN > {thisNumber}){ |
|
|
|
|
|
label.style.color = 'red'; |
|
|
|
|
|
} else { |
|
|
|
|
|
label.style.color = 'black'; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var labelDiffNumber = document.getElementById('{difNumber}') |
|
|
|
|
|
labelDiffNumber.innerText = (sumN-{thisNumber}).toFixed(2); |
|
|
|
|
|
|
|
|
|
|
|
} ";
|
|
|
|
|
|
script = script.Replace("{thisNumber}", productNumber.ToString()); |
|
|
|
|
|
script = script.Replace("{adjustNumberLabel}", _adjustNumberLabel.ClientID); |
|
|
|
|
|
script = script.Replace("{difNumber}", _difNumber.ClientID); |
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(GetType(), "Startup", script, true); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var pageIndex11 = _editGrid11.CurrentPageIndex; |
|
|
|
|
|
var size11 = _editGrid11.PageSize; |
|
|
|
|
|
var index11 = 0; |
|
|
|
|
|
Money<decimal> unitNum11 = 0; |
|
|
|
|
|
|
|
|
|
|
|
foreach (var detail in details) |
|
|
|
|
|
{ |
|
|
|
|
|
var begin = size11 * pageIndex11; |
|
|
|
|
|
var end = Math.Min(details.Count, (pageIndex11 + 1) * size11); |
|
|
|
|
|
if (index11 < begin || index11 > end - 1) |
|
|
|
|
|
{ |
|
|
|
|
|
unitNum11 += (detail.SendNumber ?? 0); |
|
|
|
|
|
} |
|
|
|
|
|
index11++; |
|
|
|
|
|
} |
|
|
|
|
|
var s11 = string.Format(@"<script language=javascript>
|
|
|
|
|
|
var sumUnitNumOtherPage11 = {0}; |
|
|
|
|
|
</script>", unitNum11);
|
|
|
|
|
|
Page.ClientScript.RegisterClientScriptBlock(GetType(), "OtherPageNumber11", s11, false); |
|
|
|
|
|
|
|
|
|
|
|
string script11 = @"var defaultGrid11=document.all._gridUp;" + @";
|
|
|
|
|
|
function _SumNumberUp() |
|
|
{ |
|
|
{ |
|
|
var grid = defaultGrid.behind; |
|
|
|
|
|
|
|
|
var grid = defaultGrid11.behind; |
|
|
|
|
|
|
|
|
var itemEndIndex = grid.mItemEndIndex - 1; |
|
|
var itemEndIndex = grid.mItemEndIndex - 1; |
|
|
var sumN = sumUnitNumOtherPage; |
|
|
|
|
|
|
|
|
var sumN = sumUnitNumOtherPage11; |
|
|
|
|
|
|
|
|
for (i = 1; i <= itemEndIndex; i++) { |
|
|
for (i = 1; i <= itemEndIndex; i++) { |
|
|
var row = grid.front.rows[i]; |
|
|
var row = grid.front.rows[i]; |
|
|
@ -521,10 +634,10 @@ var labelDiffNumber = document.getElementById('{difNumber}') |
|
|
labelDiffNumber.innerText = (sumN-{thisNumber}).toFixed(2); |
|
|
labelDiffNumber.innerText = (sumN-{thisNumber}).toFixed(2); |
|
|
|
|
|
|
|
|
} ";
|
|
|
} ";
|
|
|
script = script.Replace("{thisNumber}", productNumber.ToString()); |
|
|
|
|
|
script = script.Replace("{adjustNumberLabel}", _adjustNumberLabel.ClientID); |
|
|
|
|
|
script = script.Replace("{difNumber}", _difNumber.ClientID); |
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(GetType(), "Startup", script, true); |
|
|
|
|
|
|
|
|
script11 = script11.Replace("{thisNumber}", productNumber.ToString()); |
|
|
|
|
|
script11 = script11.Replace("{adjustNumberLabel}", _adjustNumberLabel.ClientID); |
|
|
|
|
|
script11 = script11.Replace("{difNumber}", _difNumber.ClientID); |
|
|
|
|
|
Page.ClientScript.RegisterStartupScript(GetType(), "Startup11", script11, true); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -585,7 +698,7 @@ labelDiffNumber.innerText = (sumN-{thisNumber}).toFixed(2); |
|
|
} |
|
|
} |
|
|
dateStr = dateStr.TrimEnd('&'); |
|
|
dateStr = dateStr.TrimEnd('&'); |
|
|
|
|
|
|
|
|
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Domain_ID", DomainContext.Current.ID), DQCondition.EQ("BillState", 单据状态.未审核), DQCondition.GreaterThan(detail, "ProductNumber", 0))); |
|
|
|
|
|
|
|
|
query.Where.Conditions.Add(DQCondition.And(DQCondition.EQ("Domain_ID", DomainContext.Current.ID), DQCondition.EQ("BillState", 单据状态.已审核), DQCondition.GreaterThan(detail, "ProductNumber", 0))); |
|
|
return query; |
|
|
return query; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|