Browse Source

增加实时完工数量 详见需求单 143291

master
wushukun 6 years ago
parent
commit
3ddd9c14d9
3 changed files with 119 additions and 7 deletions
  1. +3
    -2
      CowOutputClient/OperateWindow.xaml
  2. +4
    -4
      CowOutputClient/OperateWindow.xaml.cs
  3. +112
    -1
      WeighBusiness/BL/ProductPlanBL.cs

+ 3
- 2
CowOutputClient/OperateWindow.xaml View File

@ -90,8 +90,9 @@ Property="HorizontalContentAlignment" Value="Center">
<DataGridTextColumn Binding="{Binding Goods_Name}" IsReadOnly="True" Header="产品名称" Width="1.7*"/>
<DataGridTextColumn Binding="{Binding Goods_Spec}" IsReadOnly="True" Header="规格" Width="1*"/>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding PlanNumber}" Header="计划数" Width="1*"/>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding FinishNum}" Header="完工数" Width="1*"/>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding SurplusNum}" Header="余数" Width="1*"/>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding FinishNum}" Header="完工数(本)" Width="1.4*"/>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding DeliveryNumber}" Header="完工数" Width="1*"/>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding SurplusNum}" Header="余数" Width="1*"/>
<DataGridTemplateColumn Header="操作" Width="1*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>


+ 4
- 4
CowOutputClient/OperateWindow.xaml.cs View File

@ -294,7 +294,7 @@ namespace CowOutputClient
var infoWindow = new AutoCloseWindow("计划数量【" + mButcherDetailData.PlanNumber + "】完工数量【" + finishNum + "】超出【" + (finishNum - mButcherDetailData.PlanNumber) + "】");
infoWindow.ShowDialog();
}
ProductPlanBL.UpdateButhcerDetailFinishNum(finishNum, mButcherDetailData.DetailID, mButcherDetailData.Goods_ID, she);
ProductPlanBL.UpdateButhcerDetailFinishNum(mButcherDetailData,finishNum, mButcherDetailData.DetailID, mButcherDetailData.Goods_ID, she);
//weight.DetailSequence = WeightInfoBL.GetCurrentSequence(mButcherDetailData.DetailID);
}
WeightInfoBL.Insert(weight,she);
@ -303,7 +303,7 @@ namespace CowOutputClient
//待事务提交后再更新UI的值
if (mButcherDetailData != null && detail.Goods_ID == mButcherDetailData.Goods_ID) {
mButcherDetailData.FinishNum = finishNum;
mButcherDetailData.SurplusNum = (mButcherDetailData.PlanNumber ?? 0) - (mButcherDetailData.FinishNum ?? 0);
mButcherDetailData.SurplusNum = (mButcherDetailData.PlanNumber ?? 0) - (mButcherDetailData.DeliveryNumber ?? 0);
}
BindGridWeightInfo(weight.ButcDetailID);
gridWeightInfo.ScrollIntoView(gridWeightInfo.Items[0]);
@ -489,14 +489,14 @@ namespace CowOutputClient
if (results.Count() > 0) {
result = results.First();
finishNum = result.FinishNum - detail.Weight;
ProductPlanBL.UpdateButhcerDetailFinishNum(finishNum,result.DetailID,result.Goods_ID,she);
ProductPlanBL.UpdateButhcerDetailFinishNum(result,finishNum, result.DetailID,result.Goods_ID,she);
}
she.Commit();
}
//待事务提交后再更新UI的值
if (result != null) {
result.FinishNum = finishNum;
result.SurplusNum = result.PlanNumber - result.FinishNum;
result.SurplusNum = result.PlanNumber - result.DeliveryNumber;
}
var details = gridWeightInfo.ItemsSource as List<WeightInfo>;
details.Remove(detail);


+ 112
- 1
WeighBusiness/BL/ProductPlanBL.cs View File

@ -113,6 +113,7 @@ namespace WeighBusiness.BL
}
}
//以前逻辑
public static void UpdateButhcerDetailFinishNum(decimal? finishNum,decimal? detailID,long? goodsId, SqlHelperEx she2 = null)
{
string excuteSql = string.Empty;
@ -143,7 +144,69 @@ namespace WeighBusiness.BL
}
}
}
//现在逻辑
public static void UpdateButhcerDetailFinishNum(ButcherDetailData data,decimal? finishNum, decimal? detailID, long? goodsId, SqlHelperEx she2 = null)
{
string excuteSql = string.Empty;
var table = SqlHelperEx.DoQuery("select ID from {0} where DetailID = {1}".FormatWith(TableNames., detailID));
if (table.Rows.Count > 0)
{
excuteSql = string.Format("update " + TableNames. + " set FinishNumber = {0} where DetailID ={1}", finishNum, detailID);
}
else
{
excuteSql = InsertUtil.GetInsertSql(TableNames.,
new string[] { "DetailID", "Goods_ID", "FinishNumber" },
new string[] { detailID.ToString(), goodsId.ToString(), (finishNum ?? 0).ToString() });
}
bool success = true;
if (she2 == null)
{
using (var she = new SqlHelperEx())
{
she.CreateTransaction();
she.ExecuteNonQuery(excuteSql, out success);
if (!success)
{
she.Rollback();
}
else
{
she.Commit();
}
}
}
else
{
she2.ExecuteNonQuery(excuteSql, out success);
if (!success)
{
she2.Rollback();
}
}
if (success)
{
try
{
var usId = UserBL.CurrentUser.ERP_User_ID;
//更新数量
var method = "/MainSystem/B3_HaoYue/Rpcs/DeliveryNumberInfoRpc/InsertOrUpdateDeliveryNumber";
var deliveryNum = RpcFacade.Call<decimal>(method, usId, finishNum, detailID);
data.DeliveryNumber = deliveryNum;
}
catch
{
}
}
}
public static string Delete(long ID)
{
@ -339,6 +402,28 @@ namespace WeighBusiness.BL
list.Add(outDetail);
}
}
try
{
//获取全部的完工数量
var details = list.Select(x => x.DetailID).Distinct().ToList();
var method = "/MainSystem/B3_HaoYue/Rpcs/DeliveryNumberInfoRpc/GetDeliveryNumberInfo";
var deliveryInfo = RpcFacade.Call<List<Tuple<long?, decimal?>>>(method, details.ToArray());
foreach(var tuple in deliveryInfo)
{
if (tuple.Item1 == null)
continue;
foreach(var detail in list.Where(x=> x.DetailID == tuple.Item1.Value))
{
detail.DeliveryNumber = tuple.Item2;
}
}
}
catch
{
}
return list;
}
}
@ -356,6 +441,9 @@ namespace WeighBusiness.BL
public DateTime? DeliveryDate { get; set; }
public string DeliveryDateStr { get; set; }
private decimal? mFinishNum;
/// <summary>
/// 本机完工数量
/// </summary>
public decimal? FinishNum
{
get
@ -372,6 +460,29 @@ namespace WeighBusiness.BL
}
}
private decimal? mDeliveryNumber;
/// <summary>
/// 整个系统中的完工数量
/// </summary>
public decimal? DeliveryNumber
{
get
{
return mDeliveryNumber;
}
set
{
mDeliveryNumber = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("DeliveryNumber"));
}
}
}
private decimal? mSurplusNum;
public decimal? SurplusNum
{


Loading…
Cancel
Save