ldj/WcfServiceErp/T_ERP_PURCH.svc.cs

307 lines
9.1 KiB
C#
Raw Permalink Normal View History

2023-05-23 16:13:17 +08:00
/// <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 和配置文件中的类名 。
2023-09-04 22:41:19 +08:00
public class T_ERP_PURCH :baseSvc, IErp_purch ,IOrder
2023-05-23 16:13:17 +08:00
{
#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
2023-09-04 22:41:19 +08:00
public Result add(ErpPurch obj)
2023-05-23 16:13:17 +08:00
{
2024-03-06 20:48:05 +08:00
log.Debug("add called --->" + obj);
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.ErpPurchDetails == null)
{
throw new ArgumentNullException("非法的参数格式;订单明细不能为空");
}
2023-05-23 16:13:17 +08:00
foreach (WcfErp_purch_d d in obj.ErpPurchDetails)
{
d.getDbObject().Add();
}
2023-09-04 22:41:19 +08:00
2023-05-23 16:13:17 +08:00
obj.wms_state = 0;
2023-09-04 22:41:19 +08:00
int 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.,ex.Message);
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
}
}
}
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;
}
2023-09-04 22:41:19 +08:00
public ErpPurch getOrder(string orderNo)
2023-05-23 16:13:17 +08:00
{
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)
{
2023-09-04 22:41:19 +08:00
condition = filterRisk(condition);
2023-05-23 16:13:17 +08:00
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;
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_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;
}
2023-05-23 16:13:17 +08:00
return objLst;
}
2023-09-04 22:41:19 +08:00
/*
2023-05-23 16:13:17 +08:00
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.;
}
2023-09-04 22:41:19 +08:00
*/
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;
}
2023-05-23 16:13:17 +08:00
2023-09-04 22:41:19 +08:00
public Result complete(string orderNo)
2023-05-23 16:13:17 +08:00
{
2023-09-04 22:41:19 +08:00
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.);
2023-05-23 16:13:17 +08:00
}
2023-09-04 22:41:19 +08:00
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.);
}
2023-05-23 16:13:17 +08:00
}
}