BaoKai_202508_Wms_Jingwang_.../WMS.Business/SC/BussProcess.cs

150 lines
5.2 KiB
C#
Raw Normal View History

2025-08-24 21:52:42 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WMS.IData;
using WMS.Common;
using WMS.Model.Base;
using WMS.Model.SC;
using System.Data;
namespace WMS.Business.SC
{
public class BussProcess : IBussFactory
{
public List<ScProcessModel> GetProcess(ScProcessModel model)
{
DataTable dt = DataProvider.Instance.Process.GetProcess(model);
if (dt != null)
{
List<ScProcessModel> list = ConvertHelper<ScProcessModel>.ConvertToList(dt);
return list;
}
return null;
}
/// <summary>
/// 新增或修改
/// </summary>
/// <param name="model">实体Model</param>
/// <param name="flg">操作标志 0 新增1 修改</param>
/// <returns></returns>
public string ManageProcess(ScProcessModel model, int flg)
{
if (flg == 0)
{
DataProvider.Instance.Process.AddProcess(model);
}
else
{
DataProvider.Instance.Process.UpdateProcess(model);
}
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
TaCmtOrRak();
return ErrText;
}
/// <summary>
/// 操作加工表和加工破损表
/// </summary>
/// <param name="model">加工</param>
/// <param name="list_break">加工破损表</param>
/// <param name="flg">操作标志 0 新增 1 修改</param>
/// <returns></returns>
public string ManageProAndBreak(ScProcessModel model, List<ProBreakModel> list_break, int flg)
{
#region
// 修改计划商品中的完成数量 、完成日期-- 加上当前完成的数量记录最新的完成数量、完成日期
PlanGoodsModel goods_model = new PlanGoodsModel();
goods_model.PLAN_ID = model.TASK_ID;
goods_model.GOODS_ID = model.GOODS_ID;
DataTable dt = DataProvider.Instance.PlanGoods.GetPlanGoodsList(goods_model);
List<PlanGoodsModel> list = ConvertHelper<PlanGoodsModel>.ConvertToList(dt);
if (list.Count > 0)
{
goods_model = list[0];
}
#endregion
if (flg == 0)//新增
{
if (goods_model != null)
{
goods_model.GOODS_COMPLETENUM += model.FINISH_NUM;
goods_model.COMPLETE_DATE = model.FINISH_DATE;
DataProvider.Instance.PlanGoods.Update(goods_model);
logList.Add(DataProvider.Instance.logData);
}
DataProvider.Instance.Process.AddProcess(model);//加工详情
logList.Add(DataProvider.Instance.logData);
//DataProvider.Instance.Process.AddProcess(model);//加工完成
//logList.Add(DataProvider.Instance.logData);
foreach (ProBreakModel breakModel in list_break)
{
breakModel.RECORD_DATE = model.RecordDate;
breakModel.RECORD_PER = model.RECORD_PER;
DataProvider.Instance.ProBreak.AddProBreak(breakModel);
logList.Add(DataProvider.Instance.logData);
}
}
else
{
//if (goods_model != null)
//{
// DataTable dt_process = DataProvider.Instance.Process.GetProcess(model);
// List<ProcessGoodsModel> lis = ConvertHelper<ProcessGoodsModel>.ConvertToList(dt_process);
// if (lis.Count > 0)
// {
// if (model.FINISH_NUM - lis[0].FINISH_NUM == 0)
// {
// goods_model.GOODS_COMPLETENUM += (model.FINISH_NUM - lis[0].FINISH_NUM);
// DataProvider.Instance.PlanGoods.Update(goods_model);
// logList.Add(DataProvider.Instance.logData);
// }
// }
//}
DataProvider.Instance.Process.UpdateProcess(model);
logList.Add(DataProvider.Instance.logData);
foreach (ProBreakModel breakModel in list_break)
{
DataProvider.Instance.ProBreak.UpdateProBreak(breakModel);
logList.Add(DataProvider.Instance.logData);
}
}
Transaction = DataProvider.Instance.TranOracle;
TaCmtOrRak();
return ErrText;
}
/// <summary>
/// 删除
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public string DeleteProcess(ScProcessModel model)
{
DataProvider.Instance.Process.DeleteProcess(model);
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
TaCmtOrRak();
return ErrText;
}
}
}