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_Name}" IsReadOnly="True" Header="产品名称" Width="1.7*"/>
<DataGridTextColumn Binding="{Binding Goods_Spec}" IsReadOnly="True" Header="规格" Width="1*"/> <DataGridTextColumn Binding="{Binding Goods_Spec}" IsReadOnly="True" Header="规格" Width="1*"/>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding PlanNumber}" 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 Header="操作" Width="1*">
<DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn.CellTemplate>
<DataTemplate> <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) + "】"); var infoWindow = new AutoCloseWindow("计划数量【" + mButcherDetailData.PlanNumber + "】完工数量【" + finishNum + "】超出【" + (finishNum - mButcherDetailData.PlanNumber) + "】");
infoWindow.ShowDialog(); 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); //weight.DetailSequence = WeightInfoBL.GetCurrentSequence(mButcherDetailData.DetailID);
} }
WeightInfoBL.Insert(weight,she); WeightInfoBL.Insert(weight,she);
@ -303,7 +303,7 @@ namespace CowOutputClient
//待事务提交后再更新UI的值 //待事务提交后再更新UI的值
if (mButcherDetailData != null && detail.Goods_ID == mButcherDetailData.Goods_ID) { if (mButcherDetailData != null && detail.Goods_ID == mButcherDetailData.Goods_ID) {
mButcherDetailData.FinishNum = finishNum; mButcherDetailData.FinishNum = finishNum;
mButcherDetailData.SurplusNum = (mButcherDetailData.PlanNumber ?? 0) - (mButcherDetailData.FinishNum ?? 0);
mButcherDetailData.SurplusNum = (mButcherDetailData.PlanNumber ?? 0) - (mButcherDetailData.DeliveryNumber ?? 0);
} }
BindGridWeightInfo(weight.ButcDetailID); BindGridWeightInfo(weight.ButcDetailID);
gridWeightInfo.ScrollIntoView(gridWeightInfo.Items[0]); gridWeightInfo.ScrollIntoView(gridWeightInfo.Items[0]);
@ -489,14 +489,14 @@ namespace CowOutputClient
if (results.Count() > 0) { if (results.Count() > 0) {
result = results.First(); result = results.First();
finishNum = result.FinishNum - detail.Weight; 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(); she.Commit();
} }
//待事务提交后再更新UI的值 //待事务提交后再更新UI的值
if (result != null) { if (result != null) {
result.FinishNum = finishNum; result.FinishNum = finishNum;
result.SurplusNum = result.PlanNumber - result.FinishNum;
result.SurplusNum = result.PlanNumber - result.DeliveryNumber;
} }
var details = gridWeightInfo.ItemsSource as List<WeightInfo>; var details = gridWeightInfo.ItemsSource as List<WeightInfo>;
details.Remove(detail); 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) public static void UpdateButhcerDetailFinishNum(decimal? finishNum,decimal? detailID,long? goodsId, SqlHelperEx she2 = null)
{ {
string excuteSql = string.Empty; 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) public static string Delete(long ID)
{ {
@ -339,6 +402,28 @@ namespace WeighBusiness.BL
list.Add(outDetail); 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; return list;
} }
} }
@ -356,6 +441,9 @@ namespace WeighBusiness.BL
public DateTime? DeliveryDate { get; set; } public DateTime? DeliveryDate { get; set; }
public string DeliveryDateStr { get; set; } public string DeliveryDateStr { get; set; }
private decimal? mFinishNum; private decimal? mFinishNum;
/// <summary>
/// 本机完工数量
/// </summary>
public decimal? FinishNum public decimal? FinishNum
{ {
get 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; private decimal? mSurplusNum;
public decimal? SurplusNum public decimal? SurplusNum
{ {


Loading…
Cancel
Save