307 lines
9.1 KiB
C#
307 lines
9.1 KiB
C#
/// <summary>
|
||
///WCF service
|
||
///FOR TABLE t_erp_purch
|
||
///By wm
|
||
///on 05/10/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 和配置文件中的类名 。
|
||
public class T_ERP_PURCH :baseSvc, IErp_purch ,IOrder
|
||
{
|
||
#region options
|
||
/*: basicService,
|
||
private static lErp_purch _lErp_purch ;
|
||
lErp_purch lErp_purchObj
|
||
{
|
||
get
|
||
{
|
||
if ( _lErp_purch == null || _lErp_purch.operId != getOperId())
|
||
{
|
||
_lErp_purch= new lErp_purch(getOperId());
|
||
}
|
||
return _lErp_purch;
|
||
}
|
||
}
|
||
*/
|
||
#endregion
|
||
|
||
public Result add(ErpPurch obj)
|
||
{
|
||
log.Debug("add called --->" + obj);
|
||
|
||
using (TransactionScope scope = new TransactionScope())
|
||
{
|
||
try
|
||
{
|
||
if (obj == null || obj.ErpPurchDetails == null)
|
||
{
|
||
throw new ArgumentNullException("非法的参数格式;订单明细不能为空");
|
||
}
|
||
|
||
foreach (WcfErp_purch_d d in obj.ErpPurchDetails)
|
||
{
|
||
d.getDbObject().Add();
|
||
}
|
||
|
||
obj.wms_state = 0;
|
||
int id= obj.getDbObject().Add();
|
||
|
||
scope.Complete();
|
||
return new Result(id,enumDbResult.成功);
|
||
}
|
||
catch (ConstraintException ex)
|
||
{
|
||
return new Result( enumDbResult.记录已存在,ex.Message);
|
||
}
|
||
catch (Exception er)
|
||
{
|
||
return new Result(enumDbResult.失败, er.Message);
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
public enumDbResult update(WcfErp_purch obj)
|
||
{
|
||
Erp_purch purchObj = obj.getDbObject();
|
||
if (purchObj.ID <= 0) return enumDbResult.失败;
|
||
|
||
Erp_purch tmp = new Erp_purch(purchObj.ID);
|
||
if (!tmp.pur_order.Equals(purchObj.pur_order))
|
||
{
|
||
return enumDbResult.失败;
|
||
}
|
||
if (tmp.wms_state > (int)enumInStockOrderStatus.待收货)
|
||
{
|
||
return enumDbResult.数据状态不允许此操作;
|
||
}
|
||
|
||
|
||
if (purchObj.Update() == 1)
|
||
{
|
||
return enumDbResult.成功;
|
||
}
|
||
|
||
return enumDbResult.成功;
|
||
}
|
||
|
||
public enumDbResult delete(WcfErp_purch obj)
|
||
{
|
||
Erp_purch purchObj = obj.getDbObject();
|
||
if (purchObj.ID <= 0) return enumDbResult.失败;
|
||
|
||
Erp_purch tmp = new Erp_purch(purchObj.ID);
|
||
|
||
if (tmp.wms_state > (int)enumInStockOrderStatus.待收货)
|
||
{
|
||
return enumDbResult.数据状态不允许此操作;
|
||
}
|
||
|
||
return obj.getDbObject().Delete()>0? enumDbResult.成功: enumDbResult.失败;
|
||
}
|
||
#region options
|
||
/*
|
||
public List<Result> updateList(List<WcfErp_purch> objs)
|
||
{
|
||
|
||
List<Result> results = new List<Result>();
|
||
// using (TransactionScope scope = new TransactionScope())
|
||
{
|
||
foreach (WcfErp_purch obj in objs)
|
||
{
|
||
Result rs = new Result(obj.id, obj.getDbObject().Update());
|
||
results.Add(rs);
|
||
|
||
}
|
||
// scope.Complete();
|
||
}
|
||
return results;
|
||
}
|
||
|
||
public List<Result> addList(List<WcfErp_purch> objs)
|
||
{
|
||
|
||
List<Result> results = new List<Result>();
|
||
// using (TransactionScope scope = new TransactionScope())
|
||
{
|
||
foreach (WcfErp_purch obj in objs)
|
||
{
|
||
Result rs = new Result( obj.getDbObject().Add(),1);
|
||
results.Add(rs);
|
||
|
||
}
|
||
// scope.Complete();
|
||
}
|
||
return results;
|
||
}
|
||
|
||
public List<Result> deleteList(List<WcfErp_purch> objs)
|
||
{
|
||
|
||
List<Result> results = new List<Result>();
|
||
// using (TransactionScope scope = new TransactionScope())
|
||
{
|
||
foreach (WcfErp_purch obj in objs)
|
||
{
|
||
Result rs = new Result(obj.id, obj.getDbObject().Delete());
|
||
results.Add(rs);
|
||
|
||
}
|
||
// scope.Complete();
|
||
}
|
||
return results;
|
||
}*/
|
||
#endregion
|
||
public ErpPurch getObj(int Id)
|
||
{
|
||
Erp_purch dbObj = new Erp_purch(Id);
|
||
ErpPurch obj = new ErpPurch(dbObj);
|
||
obj.ErpPurchDetails = getLst(obj.pur_order);
|
||
return obj;
|
||
}
|
||
public ErpPurch getOrder(string orderNo)
|
||
{
|
||
Erp_purch dbObj = new Erp_purch(orderNo);
|
||
ErpPurch obj = new ErpPurch(dbObj);
|
||
obj.ErpPurchDetails = getLst(obj.pur_order);
|
||
return obj;
|
||
}
|
||
List<WcfErp_purch_d> getLst(string orderNo)
|
||
{
|
||
List<WcfErp_purch_d> lstwcf = new List<WcfErp_purch_d>();
|
||
|
||
List< Erp_purch_d> lst = new Erp_purch_d().getList(orderNo);
|
||
foreach ( Erp_purch_d d in lst)
|
||
{
|
||
lstwcf.Add(new WcfErp_purch_d().getWcfObject(d));
|
||
}
|
||
|
||
return lstwcf;
|
||
}
|
||
|
||
|
||
public WcfErp_purchList query(string condition, int pageno)
|
||
{
|
||
condition = filterRisk(condition);
|
||
WcfErp_purchList objLst = new WcfErp_purchList();
|
||
List<WcfErp_purch> lst = new List<WcfErp_purch>();
|
||
Erp_purch dbObj = new Erp_purch();
|
||
dbObj.rownumStart =(Convert.ToInt16( pageno)-1)* WmsConstants.PAGER_SIZE;
|
||
dbObj.rownumEnd = dbObj.rownumStart + DeiNiu.Utils.WmsConstants.PAGER_SIZE;
|
||
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_purch(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;
|
||
}
|
||
|
||
return objLst;
|
||
}
|
||
/*
|
||
public enumDbResult delete(string orderNo)
|
||
{
|
||
|
||
Erp_purch tmp = new Erp_purch(orderNo);
|
||
if (tmp.wms_state > (int)enumInStockOrderStatus.待收货)
|
||
{
|
||
return enumDbResult.数据状态不允许此操作;
|
||
}
|
||
|
||
if (tmp.deleteOrder(orderNo))
|
||
{
|
||
return enumDbResult.成功;
|
||
}
|
||
|
||
return enumDbResult.失败;
|
||
}
|
||
*/
|
||
|
||
|
||
public List<WcfErp_receiveValidDetail> getInStockDetail(string preInOrder)
|
||
{
|
||
List<WcfErp_receiveValidDetail> lst = new List<WcfErp_receiveValidDetail>();
|
||
Erp_receiveValidDetail dbObj = new Erp_receiveValidDetail();
|
||
DataTable dt = dbObj.getDetailByOrder(preInOrder);
|
||
|
||
foreach (DataRow dr in dt.Rows)
|
||
{
|
||
lst.Add(new WcfErp_receiveValidDetail(dr));
|
||
}
|
||
|
||
return lst;
|
||
|
||
}
|
||
|
||
public Result complete(string orderNo)
|
||
{
|
||
Erp_purch tmp = new Erp_purch(orderNo);
|
||
if(tmp.ID == 0)
|
||
{
|
||
return new Result( " 不存在订单 " +orderNo );
|
||
}
|
||
if (tmp.wms_state < (int)enumInStockOrderStatus.已入库)
|
||
{
|
||
return new Result(enumDbResult.数据状态不允许此操作);
|
||
}
|
||
|
||
tmp.updateStockStatus(orderNo, enumInStockOrderStatus.完结回传ERP, enumReceiveStockDetailStatus.完结回传ERP,LoginInfo.UserId);
|
||
|
||
if (tmp.deleteOrder(orderNo))
|
||
{
|
||
return new Result(enumDbResult.成功);
|
||
}
|
||
|
||
return new Result(enumDbResult.失败);
|
||
}
|
||
|
||
public Result cancel(string orderNo)
|
||
{
|
||
Erp_purch tmp = new Erp_purch(orderNo);
|
||
if (tmp.wms_state > (int)enumInStockOrderStatus.已入库)
|
||
{
|
||
return new Result(enumDbResult.数据状态不允许此操作);
|
||
}
|
||
|
||
|
||
if (tmp.deleteOrder(orderNo))
|
||
{
|
||
return new Result(enumDbResult.成功);
|
||
}
|
||
|
||
return new Result(enumDbResult.失败);
|
||
}
|
||
|
||
}
|
||
}
|