2023-05-23 16:13:17 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
///WCF service
|
|
|
|
|
///FOR TABLE t_erp_sale
|
|
|
|
|
///By wm
|
|
|
|
|
///on 05/09/2023
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using DeiNiu.wms.Data.Model.Wcf ;
|
|
|
|
|
using DeiNiu.wms.Data.Model;
|
|
|
|
|
using System.Transactions;
|
|
|
|
|
using DeiNiu.Utils;
|
|
|
|
|
using System;
|
|
|
|
|
using DeiNiu.Wcf.erp.wcfData;
|
|
|
|
|
namespace DeiNiu.Wcf
|
|
|
|
|
{
|
|
|
|
|
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名 。
|
2023-09-04 22:41:19 +08:00
|
|
|
|
public class T_ERP_SALE :baseSvc, IErp_sale , IOrder
|
2023-05-23 16:13:17 +08:00
|
|
|
|
{
|
|
|
|
|
#region options
|
2023-09-04 22:41:19 +08:00
|
|
|
|
/*: basicService,
|
|
|
|
|
private static lErp_sale _lErp_sale ;
|
|
|
|
|
lErp_sale lErp_saleObj
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
if ( _lErp_sale == null || _lErp_sale.operId != getOperId())
|
|
|
|
|
{
|
|
|
|
|
_lErp_sale= new lErp_sale(getOperId());
|
|
|
|
|
}
|
|
|
|
|
return _lErp_sale;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
#endregion
|
|
|
|
|
|
2023-05-23 16:13:17 +08:00
|
|
|
|
|
|
|
|
|
ErpSale IErp_sale.getObj(int id)
|
|
|
|
|
{
|
|
|
|
|
ErpSale obj = new ErpSale(new Erp_sale(id));
|
|
|
|
|
obj.ErpSaleDetails = getLst(obj.sale_order);
|
|
|
|
|
|
|
|
|
|
return obj;
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-04 22:41:19 +08:00
|
|
|
|
public ErpSale getOrder(string orderNo)
|
2023-05-23 16:13:17 +08:00
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
ErpSale obj = new ErpSale(new Erp_sale(orderNo));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
obj.ErpSaleDetails = getLst(orderNo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return obj;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<WcfErp_sale_d> getLst(string orderNo)
|
|
|
|
|
{
|
|
|
|
|
List<WcfErp_sale_d> lstwcf = new List<WcfErp_sale_d>();
|
|
|
|
|
|
|
|
|
|
List<Erp_sale_d> lst = new Erp_sale_d().getList(orderNo);
|
|
|
|
|
foreach (Erp_sale_d d in lst)
|
|
|
|
|
{
|
|
|
|
|
lstwcf.Add(new WcfErp_sale_d().getWcfObject(d));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return lstwcf;
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-04 22:41:19 +08:00
|
|
|
|
|
|
|
|
|
|
2023-05-23 16:13:17 +08:00
|
|
|
|
public WcfErp_saleList query(string condition, int pageno)
|
|
|
|
|
{
|
2023-09-04 22:41:19 +08:00
|
|
|
|
condition = filterRisk(condition);
|
|
|
|
|
|
2023-05-23 16:13:17 +08:00
|
|
|
|
WcfErp_saleList objLst = new WcfErp_saleList();
|
|
|
|
|
List<WcfErp_sale> lst = new List<WcfErp_sale>();
|
2023-09-04 22:41:19 +08:00
|
|
|
|
Erp_sale dbObj = new Erp_sale();
|
|
|
|
|
dbObj.rownumStart = (Convert.ToInt16(pageno) - 1) * WmsConstants.PAGER_SIZE;
|
2023-05-23 16:13:17 +08:00
|
|
|
|
dbObj.rownumEnd = dbObj.rownumStart + DeiNiu.Utils.WmsConstants.PAGER_SIZE;
|
2023-09-04 22:41:19 +08:00
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
DataSet ds = dbObj.Query(condition);
|
|
|
|
|
|
|
|
|
|
if (ds.Tables.Count > 1)
|
|
|
|
|
{
|
|
|
|
|
DataTable dt = ds.Tables[0];
|
|
|
|
|
foreach (DataRow dr in dt.Rows)
|
|
|
|
|
{
|
|
|
|
|
lst.Add(new WcfErp_sale(dr));
|
|
|
|
|
}
|
|
|
|
|
objLst.rows = Convert.ToInt32(ds.Tables[1].Rows[0][0].ToString());
|
|
|
|
|
}
|
|
|
|
|
objLst.list = lst;
|
|
|
|
|
objLst.page = Convert.ToInt16(pageno);
|
|
|
|
|
objLst.pageSize = WmsConstants.PAGER_SIZE;
|
|
|
|
|
|
|
|
|
|
objLst.pageCnt = objLst.rows / WmsConstants.PAGER_SIZE;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception er)
|
|
|
|
|
{
|
|
|
|
|
objLst.error = er.Message;
|
2023-05-23 16:13:17 +08:00
|
|
|
|
}
|
2023-09-04 22:41:19 +08:00
|
|
|
|
|
2023-05-23 16:13:17 +08:00
|
|
|
|
return objLst;
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-04 22:41:19 +08:00
|
|
|
|
Result IErp_sale.add(ErpSale obj)
|
2023-05-23 16:13:17 +08:00
|
|
|
|
{
|
2024-02-06 19:36:47 +08:00
|
|
|
|
log.Debug("add called --->" + obj.sale_order);
|
|
|
|
|
|
2023-09-04 22:41:19 +08:00
|
|
|
|
int id;
|
2023-05-23 16:13:17 +08:00
|
|
|
|
using (TransactionScope scope = new TransactionScope())
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
2023-09-04 22:41:19 +08:00
|
|
|
|
|
|
|
|
|
if (obj == null || obj.ErpSaleDetails == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentNullException("非法的参数格式;订单明细不能为空");
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-23 16:13:17 +08:00
|
|
|
|
foreach (WcfErp_sale_d d in obj.ErpSaleDetails)
|
|
|
|
|
{
|
2023-09-04 22:41:19 +08:00
|
|
|
|
if (d.count <= 0)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentNullException("出库数量不能小于等于0");
|
|
|
|
|
}
|
2023-05-23 16:13:17 +08:00
|
|
|
|
d.getDbObject().Add();
|
|
|
|
|
}
|
|
|
|
|
|
2023-09-04 22:41:19 +08:00
|
|
|
|
obj.wms_state = 0;
|
|
|
|
|
id =obj.getDbObject().Add();
|
|
|
|
|
|
2023-05-23 16:13:17 +08:00
|
|
|
|
scope.Complete();
|
2023-09-04 22:41:19 +08:00
|
|
|
|
return new Result(id ,enumDbResult.成功);
|
2023-05-23 16:13:17 +08:00
|
|
|
|
}
|
|
|
|
|
catch (ConstraintException ex) {
|
2023-09-04 22:41:19 +08:00
|
|
|
|
return new Result( enumDbResult.记录已存在);
|
2023-05-23 16:13:17 +08:00
|
|
|
|
}
|
|
|
|
|
catch (Exception er)
|
|
|
|
|
{
|
2023-09-04 22:41:19 +08:00
|
|
|
|
return new Result(enumDbResult.失败,er.Message);
|
|
|
|
|
|
2023-05-23 16:13:17 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
2023-09-04 22:41:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Result complete(string orderNo)
|
|
|
|
|
{
|
|
|
|
|
return new Result(enumDbResult.成功);
|
2023-05-23 16:13:17 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-09-04 22:41:19 +08:00
|
|
|
|
public Result cancel(string orderNo)
|
2023-05-23 16:13:17 +08:00
|
|
|
|
{
|
2023-09-04 22:41:19 +08:00
|
|
|
|
WmsOutRequest wor = new WmsOutRequest(orderNo);
|
|
|
|
|
if( wor.state <(int) enumOutStockRequestStatus.正在分拣)
|
2023-05-23 16:13:17 +08:00
|
|
|
|
{
|
2023-09-04 22:41:19 +08:00
|
|
|
|
//cancel pickorder,picktasks,erp_sale order
|
2023-05-23 16:13:17 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-09-04 22:41:19 +08:00
|
|
|
|
return new Result(enumDbResult.失败);
|
2023-05-23 16:13:17 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-09-04 22:41:19 +08:00
|
|
|
|
public List<WcfErp_sale_d> getOutStockDetail(string pickOrder)
|
2023-05-23 16:13:17 +08:00
|
|
|
|
{
|
2023-09-04 22:41:19 +08:00
|
|
|
|
List<WcfErp_sale_d> lstwcf = new List<WcfErp_sale_d>();
|
2023-05-23 16:13:17 +08:00
|
|
|
|
|
2023-09-04 22:41:19 +08:00
|
|
|
|
List<Erp_sale_d> lst = new Erp_sale_d().getPickList(pickOrder);
|
|
|
|
|
foreach (Erp_sale_d d in lst)
|
|
|
|
|
{
|
|
|
|
|
lstwcf.Add(new WcfErp_sale_d().getWcfObject(d));
|
|
|
|
|
}
|
2023-05-23 16:13:17 +08:00
|
|
|
|
|
2023-09-04 22:41:19 +08:00
|
|
|
|
return lstwcf;
|
|
|
|
|
}
|
2023-05-23 16:13:17 +08:00
|
|
|
|
}
|
|
|
|
|
}
|