ldj/WcfServiceErp/T_ERP_PURCH.svc.cs

307 lines
9.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/// <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.);
}
}
}