754 lines
31 KiB
C#
754 lines
31 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Data;
|
|
using WMS.Model.RK;
|
|
using WMS.IData;
|
|
using WMS.Common;
|
|
using WMS.Business.Base;
|
|
using WMS.Model.Base;
|
|
using WMS.Model.CK;
|
|
using WMS.Business.CK;
|
|
using WMS.Model.SC;
|
|
using WMS.Business.SC;
|
|
using System.Reflection;
|
|
|
|
namespace WMS.Business.RK
|
|
{
|
|
public class BussWareNotice : IBussFactory
|
|
{
|
|
/// <summary>
|
|
/// 删除打印的任务
|
|
/// </summary>
|
|
/// <param name="data"></param>
|
|
/// <returns></returns>
|
|
public string DelPrintBoxData(string orderId,string goodsId)
|
|
{
|
|
DataProvider.Instance.WareNoticeTab.DelPrintBoxData(orderId,goodsId);
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
logList.Add(DataProvider.Instance.logData);
|
|
TaCmtOrRak();
|
|
return ErrText;
|
|
|
|
}
|
|
public string AddPrintBoxData(BoxCodeModel data)
|
|
{
|
|
|
|
|
|
DataTable tb= DataProvider.Instance.WareNoticeTab.GetPrintBoxData(data.BARCODE);
|
|
if(tb!=null)
|
|
{
|
|
if(tb.Rows.Count>0)
|
|
{
|
|
int ct = int.Parse(tb.Rows[0]["a"].ToString());
|
|
if(ct>0)
|
|
{
|
|
return "";
|
|
}
|
|
}
|
|
}
|
|
|
|
DataProvider.Instance.WareNoticeTab.AddPrintBoxData(data);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
|
|
TaCmtOrRak();
|
|
return ErrText;
|
|
}
|
|
/// <summary>
|
|
/// 查询采购单写入入库通知表
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public string InsertOrderCgData(List<Mod_CUX_WMS_PO_HEADES_ITF> listOrder,string SEGMENT1, string PO_HEADER_ID,string STORAGE_AREA_ID)
|
|
{
|
|
try
|
|
{
|
|
|
|
Mod_CUX_WMS_PO_HEADES_ITF mode=new Mod_CUX_WMS_PO_HEADES_ITF ();
|
|
|
|
if (listOrder.Count(r => r.PO_HEADER_ID == int.Parse(PO_HEADER_ID)) > 0)
|
|
{
|
|
mode = listOrder.Find(r => r.PO_HEADER_ID == int.Parse(PO_HEADER_ID));
|
|
}
|
|
|
|
//order = listOrder[i];
|
|
//int ct = IBussFactory<BussOrders>.Instance().GetCtOrder(order.CGORDERID);
|
|
//if (ct > 0)
|
|
//{
|
|
// ///如果已经有该订单,删除明细
|
|
// ///
|
|
// DataProvider.Instance.WareNotice.DelOrderData(order.CGORDERID);
|
|
// logList.Add(DataProvider.Instance.logData);
|
|
// Transaction = DataProvider.Instance.TranOracle;
|
|
// DataProvider.Instance.WareNotice.DeleteWareNotice(order.CGORDERID);
|
|
// logList.Add(DataProvider.Instance.logData);
|
|
// TaCmtOrRak();
|
|
|
|
//}
|
|
|
|
string rkdh = DateTime.Now.ToString("yyyyMMddhhmmssfffff");
|
|
WareNoticeModel ware = new WareNoticeModel();
|
|
|
|
ware.PO_HEADER_ID= mode.PO_HEADER_ID;//订单头主键
|
|
ware.ORGANIZATION_ID = mode.ORGANIZATION_ID;//下单业务实体
|
|
ware.ORGANIZATION_CODE = mode.ORGANIZATION_CODE;//业务实体代码
|
|
ware.SHIP_TO_ORGANIZATION_CODE = mode.SHIP_TO_ORGANIZATION_CODE;//收货组织代码
|
|
ware.SHIP_TO_ORGANIZATION_ID = mode.SHIP_TO_ORGANIZATION_ID; //收货组织ID 323
|
|
|
|
ware.STORAGE_ID = mode.SHIP_TO_ORGANIZATION_ID.ToString();//收货组织ID 323
|
|
ware.PURCHASE_ID = mode.SEGMENT1;//采购单号
|
|
ware.STORAGE_MODE = "采购单入库";//采购入库 入库类型(采购入库、退货入库、调货入库、盲收、其它、换货入库)
|
|
ware.PROVIDER_ID = mode.VENDOR_ID.ToString();//供应商ID
|
|
ware.PROVIDER_NAME = mode.VENDOR_NAME;//供应商名称
|
|
ware.WARE_DATE =Convert.ToDateTime( DateTime.Now.ToString());//创建日期 ;
|
|
ware.END_DELIVERY_DATE = mode.LAST_UPDATE_DATE;//最后更新日期
|
|
ware.WAREHOUSING_ID = rkdh;// IBussFactory<WMS.Business.Base.BussDocumentTable>.Instance().GetDocumentStream("入库通知单");
|
|
ware.STATE = "0";
|
|
|
|
|
|
|
|
DataProvider.Instance.WareNotice.InsertWareNotice(ware);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
|
|
|
|
Mod_CUX_WMS_PO_LINES_ITF model = new Mod_CUX_WMS_PO_LINES_ITF();
|
|
model.PO_HEADER_ID = int.Parse(PO_HEADER_ID);
|
|
List<Mod_CUX_WMS_PO_LINES_ITF> listOrderInfo = IBussFactory<BussCUX_WMS_PO_HEADES_ITF>.Instance().GetCUX_WMS_PO_LINES_ITF(model);
|
|
if (listOrderInfo != null)
|
|
{
|
|
foreach (Mod_CUX_WMS_PO_LINES_ITF info in listOrderInfo)
|
|
{
|
|
|
|
|
|
//CLOSED: 关闭
|
|
//CLOSED FOR RECEIVING 接收关闭
|
|
|
|
if (info.CLOSED_CODE == "CLOSED" || info.CLOSED_CODE == "CLOSED FOR RECEIVING")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
|
|
WareNoticeTabModel wareInfo = new WareNoticeTabModel();
|
|
|
|
wareInfo.PURCHASE_ID = SEGMENT1;
|
|
wareInfo.PO_HEADER_ID= info.PO_HEADER_ID;
|
|
wareInfo.PO_LINE_ID = info.PO_LINE_ID;
|
|
wareInfo.LINE_LOCATION_ID = info.LINE_LOCATION_ID;
|
|
wareInfo.SHIP_TO_ORGANIZATION_CODE = info.SHIP_TO_ORGANIZATION_CODE;
|
|
wareInfo.SHIP_TO_ORGANIZATION_ID = info.SHIP_TO_ORGANIZATION_ID;
|
|
wareInfo.LINE_NUM = info.LINE_NUM;
|
|
|
|
wareInfo.GOODS_ID = info.SEGMENT1.ToString();
|
|
wareInfo.GOODS_NAME= info.ITEM_DESCRIPTION.ToString();
|
|
wareInfo.UNIT = info.PUR_UOM_CODE;
|
|
//PUR_UOM_CODE
|
|
wareInfo.GOODS_TYPE_ID = "W"+ mode.SHIP_TO_ORGANIZATION_ID+ DateTime.Now.ToString("yyyyMMddHHmmssfff").Substring(2);
|
|
wareInfo.STORAGE_AREA_ID = STORAGE_AREA_ID;//子库代码
|
|
|
|
wareInfo.AMOUNT = info.QUANTITY;
|
|
|
|
wareInfo.WAREHOUSING_ID = rkdh;// ware.WAREHOUSING_ID;
|
|
wareInfo.SHIPMENT_NUM = info.SHIPMENT_NUM;//发运行号
|
|
wareInfo.PO_DISTRIBUTION_ID = info.PO_DISTRIBUTION_ID;//分配ID
|
|
wareInfo.DISTRIBUTION_NUM = info.DISTRIBUTION_NUM;//分配行号
|
|
wareInfo.CONSIGENED_FLAG = info.CONSIGENED_FLAG;//寄售标记
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DataProvider.Instance.WareNoticeTab.InsertOrUpdateWareNoticeTab(wareInfo, 0);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
}
|
|
}
|
|
///更改采购单抓过你太
|
|
//DataProvider.Instance.Orders.InserRkWareNotce(oderId);
|
|
//logList.Add(DataProvider.Instance.logData);
|
|
TaCmtOrRak();
|
|
|
|
}
|
|
catch (Exception ex) { }
|
|
return ErrText;
|
|
}
|
|
|
|
public string InsertOrderCgDataSRM (List<Mod_CUX_WMS_ASN_HEADES_ITF_ZH> listOrder, string ASN_HEADER_ID, string PO_HEADER_ID, string STORAGE_AREA_ID)
|
|
{
|
|
try
|
|
{
|
|
|
|
Mod_CUX_WMS_ASN_HEADES_ITF_ZH mode = new Mod_CUX_WMS_ASN_HEADES_ITF_ZH();
|
|
|
|
if (listOrder.Count(r => r.ASN_HEADER_ID == int.Parse(ASN_HEADER_ID)) > 0)
|
|
{
|
|
mode = listOrder.Find(r => r.ASN_HEADER_ID == int.Parse(ASN_HEADER_ID));
|
|
}
|
|
|
|
|
|
string rkdh = DateTime.Now.ToString("yyyyMMddhhmmssfffff");
|
|
WareNoticeModel ware = new WareNoticeModel();
|
|
|
|
ware.PO_HEADER_ID = mode.PO_HEADER_ID;//订单头主键
|
|
ware.ORG_ID = mode.ORG_ID;//下单业务实体
|
|
ware.ASN_HEADER_ID = mode.ASN_HEADER_ID;//SRM送货单头ID
|
|
ware.ASN_NUMBER= mode.ASN_NUMBER;//SRM送货单号
|
|
|
|
|
|
ware.PURCHASE_ID = mode.ASN_NUMBER;//送货单单号
|
|
ware.STORAGE_MODE = "SRM送货单入库";//采购入库 入库类型(采购入库、退货入库、调货入库、盲收、其它、换货入库)
|
|
ware.PROVIDER_ID = mode.VENDOR_CODE.ToString();//供应商ID
|
|
ware.PROVIDER_NAME = mode.VENDOR_NAME;//供应商名称
|
|
ware.WARE_DATE = Convert.ToDateTime(DateTime.Now.ToString());//创建日期 ;
|
|
ware.END_DELIVERY_DATE = mode.LAST_UPDATE_DATE;//最后更新日期
|
|
ware.WAREHOUSING_ID = rkdh;// IBussFactory<WMS.Business.Base.BussDocumentTable>.Instance().GetDocumentStream("入库通知单");
|
|
ware.STATE = "0";
|
|
|
|
|
|
|
|
DataProvider.Instance.WareNotice.InsertWareNotice(ware);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
|
|
|
|
//Mod_CUX_WMS_ASN_LINES_ITF_ZH model = new Mod_CUX_WMS_ASN_LINES_ITF_ZH();
|
|
//model.ASN_HEADER_ID = int.Parse(ASN_HEADER_ID);
|
|
List<Mod_CUX_WMS_ASN_LINES_ITF_ZH> listOrderInfo = IBussFactory<BussCUX_WMS_PO_HEADES_ITF>.Instance().Getcux_wms_asn_lines_itf_zh(int.Parse(ASN_HEADER_ID));
|
|
if (listOrderInfo != null)
|
|
{
|
|
foreach (Mod_CUX_WMS_ASN_LINES_ITF_ZH info in listOrderInfo)
|
|
{
|
|
|
|
WareNoticeTabModel wareInfo = new WareNoticeTabModel();
|
|
|
|
wareInfo.ASN_HEADER_ID = info.ASN_HEADER_ID;
|
|
wareInfo.PO_LINE_ID = info.PO_LINE_ID;
|
|
wareInfo.ASN_LINE_ID=info.ASN_LINE_ID;
|
|
wareInfo.PO_LINE_ID = info.PO_LINE_ID;
|
|
wareInfo.LINE_LOCATION_ID = info.LINE_LOCATION_ID;
|
|
|
|
// wareInfo.SHIPMENT_NUM = info.SHIPMENT_NUM;
|
|
wareInfo.SHIP_TO_ORGANIZATION_ID = info.SHIP_TO_ORGANIZATION_ID;
|
|
wareInfo.LINE_NUM = info.LINE_NUM;
|
|
|
|
wareInfo.GOODS_ID = info.ITEM_CODE.ToString();
|
|
wareInfo.GOODS_NAME = info.ITEM_DESCRIPTION.ToString();
|
|
wareInfo.UNIT = info.PUR_UOM_CODE;
|
|
//PUR_UOM_CODE
|
|
//wareInfo.GOODS_TYPE_ID = "W" + mode.SHIP_TO_ORGANIZATION_ID + DateTime.Now.ToString("yyyyMMddHHmmssfff").Substring(2);
|
|
wareInfo.STORAGE_AREA_ID = STORAGE_AREA_ID;//子库代码
|
|
|
|
wareInfo.AMOUNT = info.QUANTITY;
|
|
wareInfo.PRODUCTION_DATE = info.PRODUCTION_DATE;
|
|
wareInfo.WAREHOUSING_ID = rkdh;// ware.WAREHOUSING_ID;
|
|
wareInfo.SHIPMENT_NUM = info.SHIPMENT_NUM;//发运行号
|
|
wareInfo.PO_DISTRIBUTION_ID = info.PO_DISTRIBUTION_ID;//分配ID
|
|
wareInfo.DISTRIBUTION_NUM = info.DISTRIBUTION_NUM;//分配行号
|
|
wareInfo.BARCODE = mode.ASN_NUMBER;//明细表送货单号
|
|
|
|
|
|
|
|
DataProvider.Instance.WareNoticeTab.InsertOrUpdateWareNoticeTab(wareInfo, 0);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
}
|
|
}
|
|
///更改采购单抓过你太
|
|
//DataProvider.Instance.Orders.InserRkWareNotce(oderId);
|
|
//logList.Add(DataProvider.Instance.logData);
|
|
TaCmtOrRak();
|
|
|
|
}
|
|
catch (Exception ex) { }
|
|
return ErrText;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 根据不同状态查询数据
|
|
/// </summary>
|
|
/// <param name="sts"></param>
|
|
/// <returns></returns>
|
|
public List<WareNoticeModel> GetWareNoticeDataSts(string sts)
|
|
{
|
|
DataTable table = DataProvider.Instance.WareNotice.GetWareNoticeDataSts(sts);
|
|
List<WareNoticeModel> WareNoticeModel = ConvertHelper<WareNoticeModel>.ConvertToList(table);
|
|
|
|
return WareNoticeModel;
|
|
|
|
}
|
|
/// <summary>
|
|
/// 获取入库通知单结果集
|
|
/// </summary>
|
|
/// <returns>入库通知单</returns>
|
|
public List<WareNoticeModel> GetWareNoticeList(WareNoticeModel model)
|
|
{
|
|
//MessageModel messModel = new MessageModel();
|
|
//messModel.ID = "RK" + DateTime.Now.ToString("yyyyMMddHHmmss") + DataProvider.Instance.Message.GetSerialNum();
|
|
//messModel.MENU_FORM = "FrmWareNotice";
|
|
//messModel.MESS_CONTENT = "新增入库通知单,单据编号:" + model.WAREHOUSING_ID;
|
|
//messModel.MESS_DATE = DateTime.Now;
|
|
//messModel.MESS_DEP = model.STORAGE_ID;
|
|
//messModel.MESS_FLAG = "0";
|
|
//messModel.MESS_STAR = model.RECORD_PERSON;
|
|
//messModel.MESS_TO = model.RECORD_PERSON;
|
|
//messModel.MESS_STATUS = "0";
|
|
//messModel.WORK_TYPE = "worktype002";
|
|
//messModel.WORK_KIND = "0";
|
|
//messModel.MESS_TYPE = "RK";
|
|
//messModel.RELATIVE_NUMBER = model.WAREHOUSING_ID;
|
|
//messModel.STO_ID = model.STORAGE_ID;
|
|
//DataProvider.Instance.Message.Add(messModel);
|
|
//logList.Add(DataProvider.Instance.logData);
|
|
//Transaction = DataProvider.Instance.TranOracle;
|
|
|
|
DataTable table = DataProvider.Instance.WareNotice.GetWareNoticeDT(model);
|
|
List<WareNoticeModel> WareNoticeModel = ConvertHelper<WareNoticeModel>.ConvertToList(table);
|
|
|
|
if (DataLogErrWrite(table, "获取入库通知单"))
|
|
{
|
|
return WareNoticeModel;
|
|
}
|
|
return null;
|
|
}
|
|
public void InsertWareNotice(WareNoticeModel model)
|
|
{
|
|
DataProvider.Instance.WareNotice.InsertWareNotice(model);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
|
|
TaCmtOrRak();
|
|
}
|
|
|
|
|
|
public void DelOrderData(string PURCHASE_ID)
|
|
{
|
|
DataProvider.Instance.WareNotice.DelOrderData(PURCHASE_ID);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
DataProvider.Instance.WareNotice.DelOrderData2(PURCHASE_ID);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
TaCmtOrRak();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 审核
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
public void RevieWareNotiec(WareNoticeModel model)
|
|
{
|
|
DataProvider.Instance.WareNotice.RevieWareNotiec(model);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
|
|
TaCmtOrRak();
|
|
}
|
|
/// <summary>
|
|
/// 插入或修改入库通知单信息
|
|
/// </summary>
|
|
/// <param name="WareNoticeModel">入库通知单Model</param>
|
|
/// <param name="Flag">操作表示符 0:新增; 1:修改</param>
|
|
/// <returns>是否成功</returns>
|
|
|
|
public string UpdateWareNotice(WareNoticeModel wareNoticeModel)
|
|
{
|
|
DataProvider.Instance.WareNotice.UpdateWareNotice(wareNoticeModel);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
|
|
////修改规格明细
|
|
//if (listSKU != null && listSKU.Count > 0)
|
|
//{
|
|
// if (Flag == 1)
|
|
// {
|
|
// //删除规格明细
|
|
// SKUTabModel skuTab = new SKUTabModel();
|
|
// skuTab.DOCCTNUMBER = wareNoticeModel.WAREHOUSING_ID;
|
|
// // DataProvider.Instance.SKUTab.DelSKUTab(skuTab);
|
|
// // logList.Add(DataProvider.Instance.logData);
|
|
// }
|
|
|
|
// //新增规格明细
|
|
// foreach (var item in listSKU)
|
|
// {
|
|
// item.DOCCTNUMBER = wareNoticeModel.WAREHOUSING_ID;
|
|
// // DataProvider.Instance.SKUTab.AddSKUTab(item);
|
|
// // logList.Add(DataProvider.Instance.logData);
|
|
// }
|
|
//}
|
|
|
|
TaCmtOrRak();
|
|
|
|
|
|
|
|
return ErrText;
|
|
}
|
|
|
|
///// <summary>
|
|
///// 批量新增入库通知单信息
|
|
///// </summary>
|
|
///// <param name="list">入库通知单list</param>
|
|
///// <returns>是否成功</returns>
|
|
//public string InsertWareNoticeList(List<WareNoticeModel> list)
|
|
//{
|
|
// foreach (WareNoticeModel model in list)
|
|
// {
|
|
|
|
// DataProvider.Instance.WareNotice.InsertOrUpdateWareNotice(model, 0);
|
|
// logList.Add(DataProvider.Instance.logData);
|
|
|
|
// Transaction = DataProvider.Instance.TranOracle;
|
|
// }
|
|
|
|
|
|
// TaCmtOrRak();
|
|
// return ErrText;
|
|
//}
|
|
|
|
/// <summary>
|
|
/// 将已上架的或已关闭的入库通知单与属于它的入库商品明细放到备份表中
|
|
/// </summary>
|
|
/// <param name="wareNoticeModel">入库通知单</param>
|
|
/// <returns>是否成功</returns>
|
|
public string MoveWareNoticeAndTabIntoBack(WareNoticeModel wareNoticeModel)
|
|
{
|
|
DataProvider.Instance.WareNotice.UpdateWareNotice(wareNoticeModel);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
|
|
DataProvider.Instance.WareNotice.InsertWareNoticeBack(wareNoticeModel.WAREHOUSING_ID);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
DataProvider.Instance.WareNoticeTab.InsertWareNoticeTabBack(wareNoticeModel.WAREHOUSING_ID);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
DataProvider.Instance.WareNotice.DeleteWareNotice(wareNoticeModel.WAREHOUSING_ID);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
WareNoticeTabModel model = new WareNoticeTabModel();
|
|
model.WAREHOUSING_ID = wareNoticeModel.WAREHOUSING_ID;
|
|
DataProvider.Instance.WareNoticeTab.DeleteWareNoticeTab(model);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
//删除消息
|
|
//DataProvider.Instance.Message.DeleteMessByRelativeNumber(wareNoticeModel.WAREHOUSING_ID);
|
|
//logList.Add(DataProvider.Instance.logData);
|
|
|
|
TaCmtOrRak();
|
|
return ErrText;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除入库通知单信息
|
|
/// </summary>
|
|
/// <param name="WareNotice">入库通知单</param>
|
|
/// <returns>是否成功</returns>
|
|
public string DeleteWareNotice(string wareNoticeID)
|
|
{
|
|
|
|
DataProvider.Instance.WareNotice.DeleteWareNotice(wareNoticeID);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
//删除消息
|
|
DataProvider.Instance.Message.DeleteMessByRelativeNumber(wareNoticeID);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
////删除规格明细
|
|
//SKUTabModel skuTab = new SKUTabModel();
|
|
//skuTab.DOCCTNUMBER = wareNoticeID;
|
|
//DataProvider.Instance.SKUTab.DelSKUTab(skuTab);
|
|
//logList.Add(DataProvider.Instance.logData);
|
|
|
|
TaCmtOrRak();
|
|
return ErrText;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除入库通知单信息与属于它的入库商品清单信息
|
|
/// </summary>
|
|
/// <param name="WareNotice">入库通知单</param>
|
|
/// <returns>是否成功</returns>
|
|
public string DeleteWareNoticeAndTab(string wareNoticeID)
|
|
{
|
|
DataProvider.Instance.WareNotice.DeleteWareNotice(wareNoticeID);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
|
|
WareNoticeTabModel model = new WareNoticeTabModel();
|
|
model.WAREHOUSING_ID = wareNoticeID;
|
|
DataProvider.Instance.WareNoticeTab.DeleteWareNoticeTab(model);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
|
|
////删除规格明细
|
|
//SKUTabModel skuTab = new SKUTabModel();
|
|
//skuTab.DOCCTNUMBER = wareNoticeID;
|
|
//DataProvider.Instance.SKUTab.DelSKUTab(skuTab);
|
|
//logList.Add(DataProvider.Instance.logData);
|
|
|
|
//删除消息
|
|
// DataProvider.Instance.Message.DeleteMessByRelativeNumber(wareNoticeID);
|
|
// logList.Add(DataProvider.Instance.logData);
|
|
|
|
TaCmtOrRak();
|
|
return ErrText;
|
|
}
|
|
|
|
#region 码盘
|
|
/// <summary>
|
|
/// 码盘
|
|
/// </summary>
|
|
/// <param name="model">通知单实体</param>
|
|
/// <param name="list">码盘Model集合</param>
|
|
/// <returns></returns>
|
|
public string CodeDisk(WareNoticeModel model, List<CodeDiskModel> list_model)
|
|
{
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
|
|
DataProvider.Instance.WareNotice.UpdateWareNotice(model);//修改码盘状态,所需托盘数量
|
|
|
|
|
|
TaCmtOrRak();
|
|
return ErrText;
|
|
}
|
|
#endregion
|
|
|
|
#region 接口导入
|
|
/// <summary>
|
|
/// 接口导入
|
|
/// </summary>
|
|
/// <param name="list_or">通知单集合</param>
|
|
/// <param name="list_del">明细集合</param>
|
|
/// <param name="str_succ">成功的单据号集合</param>
|
|
/// <param name="str_fail">失败的单据号集合</param>
|
|
public void Import(List<WareNoticeModel> list_or, List<WareNoticeTabModel> list_del, ref string str_succ, ref string str_fail)
|
|
{
|
|
List<WareNoticeTabModel> _list_del = new List<WareNoticeTabModel>();
|
|
string str_msg = string.Empty;
|
|
|
|
foreach (WareNoticeModel or_Model in list_or)
|
|
{
|
|
//从明细集合里查寻单据编号相等的
|
|
_list_del = list_del.FindAll(r => r.PURCHASE_ID == or_Model.PURCHASE_ID);
|
|
|
|
if (_list_del.Count == 0)
|
|
{
|
|
str_fail += or_Model.PURCHASE_ID;
|
|
str_fail += "△明细丢失";
|
|
str_fail += ",□";
|
|
continue;
|
|
}
|
|
string wID = string.Empty;
|
|
str_msg = InsertOrUpdateWareNoticeAndTab(or_Model, _list_del, 0,new List<SKUTabModel>(),ref wID);
|
|
|
|
if (str_msg == string.Empty)
|
|
{
|
|
str_succ += or_Model.PURCHASE_ID;
|
|
str_succ += ",□";
|
|
}
|
|
else
|
|
{
|
|
str_fail += or_Model.PURCHASE_ID;
|
|
str_fail += "△" + str_msg;
|
|
str_fail += ",□";
|
|
}
|
|
}
|
|
if (str_succ.EndsWith("□"))
|
|
{
|
|
str_succ = str_succ.Substring(0, str_succ.LastIndexOf(','));
|
|
}
|
|
if (str_fail.EndsWith("□"))
|
|
{
|
|
str_fail = str_fail.Substring(0, str_fail.LastIndexOf(','));
|
|
}
|
|
}
|
|
#endregion
|
|
public string DeleteWareNoticeTab(WareNoticeTabModel deleteTemp)
|
|
{
|
|
|
|
DataProvider.Instance.WareNoticeTab.DeleteWareNoticeTab(deleteTemp);
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
TaCmtOrRak();
|
|
return this.ErrText;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 新增或修改入库通知单信息与入库商品明细信息
|
|
/// </summary>
|
|
/// <param name="WareNoticeModel">入库通知单Model</param>
|
|
/// <param name="listWareNoticeTab">入库商品明细Model</param>
|
|
/// <returns>是否成功</returns>
|
|
public string InsertOrUpdateWareNoticeAndTab(WareNoticeModel wareNoticeModel, List<WareNoticeTabModel> listWareNoticeTab, int flag, List<SKUTabModel> listSKU,ref string wID)
|
|
{
|
|
|
|
wareNoticeModel.WAREHOUSING_ID = IBussFactory<WMS.Business.Base.BussDocumentTable>.Instance().GetDocumentStream("入库通知单");
|
|
|
|
//新增或修改入库通知单
|
|
DataProvider.Instance.WareNotice.InsertWareNotice(wareNoticeModel);
|
|
wID = wareNoticeModel.WAREHOUSING_ID;
|
|
logList.Add(DataProvider.Instance.logData);
|
|
|
|
Transaction = DataProvider.Instance.TranOracle;
|
|
|
|
|
|
|
|
//增加入库商品明细
|
|
foreach (WareNoticeTabModel wareNoticeTabModel in listWareNoticeTab)
|
|
{
|
|
if (!string.IsNullOrEmpty(wareNoticeModel.WAREHOUSING_ID))
|
|
{
|
|
wareNoticeTabModel.WAREHOUSING_ID = wareNoticeModel.WAREHOUSING_ID;
|
|
}
|
|
if (!string.IsNullOrEmpty(wareNoticeModel.PURCHASE_ID))
|
|
{
|
|
wareNoticeTabModel.PURCHASE_ID = wareNoticeModel.PURCHASE_ID;
|
|
}
|
|
wareNoticeTabModel.PROVIDER_ID = wareNoticeModel.PROVIDER_ID;
|
|
////根据数量计算总金额、体积、重量
|
|
//decimal amount = wareNoticeTabModel.AMOUNT;
|
|
//BussGoods bg = new BussGoods();
|
|
//GoodsInfoModel gm = bg.GetGoodsList(wareNoticeTabModel.GOODS_ID, "", "", "")[0];
|
|
//wareNoticeTabModel.TOTAL_MONEY = gm.PRICE * amount;
|
|
//wareNoticeTabModel.TOTAL_NET_WEIGH = gm.NET_WEIGHT * amount;
|
|
//wareNoticeTabModel.TOTAL_ROUGH_WEIGHT = gm.GROSS_WEIGHT * amount;
|
|
//wareNoticeTabModel.TOTAL_VOLUME = gm.GVOLUME * amount;
|
|
|
|
////检测有无该条记录 有则修改 没有则新增
|
|
//WareNoticeTabModel temp = new WareNoticeTabModel();
|
|
//temp.WAREHOUSING_ID = wareNoticeTabModel.WAREHOUSING_ID;
|
|
//temp.GOODS_ID = wareNoticeTabModel.GOODS_ID;
|
|
//if (DataProvider.Instance.WareNoticeTab.GetWareNoticeTabDT(temp).Rows.Count > 0)
|
|
//{//有记录修改
|
|
// DataProvider.Instance.WareNoticeTab.InsertOrUpdateWareNoticeTab(wareNoticeTabModel, 1);
|
|
//}
|
|
//else { //没记录新增
|
|
DataProvider.Instance.WareNoticeTab.InsertOrUpdateWareNoticeTab(wareNoticeTabModel, 0);
|
|
//}
|
|
logList.Add(DataProvider.Instance.logData);
|
|
}
|
|
|
|
//修改规格明细
|
|
// if (listSKU != null && listSKU.Count > 0)
|
|
//{
|
|
// if (flag == 1)
|
|
// {
|
|
// //删除规格明细
|
|
// SKUTabModel skuTab = new SKUTabModel();
|
|
// skuTab.DOCCTNUMBER = wareNoticeModel.WAREHOUSING_ID;
|
|
// // DataProvider.Instance.SKUTab.DelSKUTab(skuTab);
|
|
// // logList.Add(DataProvider.Instance.logData);
|
|
// }
|
|
|
|
// //新增规格明细
|
|
// foreach (var item in listSKU)
|
|
// {
|
|
// item.DOCCTNUMBER = wareNoticeModel.WAREHOUSING_ID;
|
|
// // DataProvider.Instance.SKUTab.AddSKUTab(item);
|
|
// // logList.Add(DataProvider.Instance.logData);
|
|
// }
|
|
//}
|
|
|
|
TaCmtOrRak();
|
|
|
|
//if (flag == 0)
|
|
//{
|
|
#region 新增消息
|
|
// MessageModel messModel = new MessageModel();
|
|
// messModel.ID = "RK" + DateTime.Now.ToString("yyyyMMddHHmmss") + DataProvider.Instance.Message.GetSerialNum();
|
|
// messModel.MENU_FORM = "FrmWareNotice";
|
|
// messModel.MESS_CONTENT = "新增入库通知单,单据编号:" + wareNoticeModel.WAREHOUSING_ID;
|
|
// messModel.MESS_DATE = DateTime.Now;
|
|
// messModel.MESS_DEP = wareNoticeModel.STORAGE_ID;
|
|
// messModel.MESS_FLAG = "0";
|
|
// messModel.MESS_STAR = wareNoticeModel.RECORD_PERSON;
|
|
// messModel.MESS_TO = wareNoticeModel.RECORD_PERSON;
|
|
// messModel.MESS_STATUS = "0";
|
|
// messModel.WORK_TYPE = "worktype002";
|
|
// messModel.WORK_KIND = "0";
|
|
// messModel.MESS_TYPE = "RK";
|
|
// messModel.RELATIVE_NUMBER = wareNoticeModel.WAREHOUSING_ID;
|
|
// messModel.STO_ID = wareNoticeModel.STORAGE_ID;
|
|
// DataProvider.Instance.Message.Add(messModel);
|
|
// logList.Add(DataProvider.Instance.logData);
|
|
// Transaction = DataProvider.Instance.TranOracle;
|
|
// TaCmtOrRak();
|
|
#endregion
|
|
//}
|
|
|
|
return ErrText;
|
|
}
|
|
|
|
|
|
|
|
#region 退货入库 add 2.25
|
|
/// <summary>
|
|
/// 退货入库
|
|
/// </summary>
|
|
///<param name="orderid">退货单编号</param>
|
|
static void ReturnRK(string orderid)
|
|
{
|
|
//查询退货订单的相关信息
|
|
string strSql = @"select
|
|
CREATE_DATE as ORDER_DATE,--下单日期
|
|
GOODS_NUM as WARE_COUNT,--入库数量
|
|
'2'as ORDER_MODE,--生成方式
|
|
'1' as STORAGE_MODE --退货入库
|
|
from
|
|
t_out_orders
|
|
where
|
|
status='-2' and BUSINESSORDERID='" + orderid + "'";
|
|
DataTable dtReturn = SystemDataObject.Instance.GetDataTable(strSql.ToString());
|
|
string strGood = @"select
|
|
a.GOOD_ID as GOODS_ID,--物料编号
|
|
a.GOODS_NUM as AMOUNT, --数量
|
|
b.gvolume*a.GOODS_NUM as total_voilum,--总体积
|
|
b.gross_weight*a.GOODS_NUM as total_rough_weight,--总毛重
|
|
b.net_weight*a.GOODS_NUM as total_net_weight,--总净重
|
|
b.price*a.GOODS_NUM as total_money,--总金额
|
|
b.scale_unit,--重量单位
|
|
b.goods_type_id,--商品分类
|
|
provider_id --供货商编号
|
|
from
|
|
T_OUT_ORDERDETAIL a
|
|
left join
|
|
t_base_goods b
|
|
on a.GOOD_ID=b.GOODS_ID
|
|
where DJBH ='" + orderid + "'";
|
|
DataTable dtGood = SystemDataObject.Instance.GetDataTable(strGood);
|
|
if (dtReturn != null && dtGood!=null)
|
|
{
|
|
List<WareNoticeModel> listOrder = ConvertHelper<WareNoticeModel>.ConvertToList(dtReturn);
|
|
List<WareNoticeTabModel> listOrderDetail = ConvertHelper<WareNoticeTabModel>.ConvertToList(dtGood);
|
|
string strSucc = string.Empty;
|
|
string strFail = string.Empty;
|
|
//入库
|
|
BussWareNotice rk = new BussWareNotice();
|
|
rk.Import(listOrder, listOrderDetail, ref strSucc, ref strFail);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
}
|
|
}
|