ldj/WcfService1/BLL/lWmsFlow.cs

264 lines
6.9 KiB
C#

/// <summary>
///LOGIC CLASS FOR TABLE t_wmsFlow
///By wm with codesmith.
///on 07/10/2020
/// </summary>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DeiNiu.wms.Data.Model;
using System.Data;
using System.Transactions;
using DeiNiu.Utils;
namespace DeiNiu.wms.Logical
{
[Serializable]
public class lWmsFlow :lbase
{
WmsFlow _obj;
public lWmsFlow()
{
initialize();
}
public WmsFlow getWmsFlow
{
get
{
if (_obj == null)
{
_obj = new WmsFlow();
}
_obj.operater = operId;
return _obj;
}
}
public lWmsFlow(int operId)
: base(operId)
{
initialize();
}
/// <summary>
/// get all data
/// </summary>
public DataSet getAllData()
{
return _obj.Query();
}
/// <summary>
/// get all data
/// </summary>
public DataSet getAllActiveData()
{
return _obj.QueryActived();
}
/// <summary>
/// get a record by id
/// </summary>
public void initialize(int id)
{
_obj = id != 0 ? new WmsFlow(id) : new WmsFlow();
}
/// <summary>
/// get a record by id 0
/// </summary>
public void initialize()
{
initialize(0);
}
/// <summary>
/// get a record by id
/// </summary>
public void initialize(DataRow dr)
{
_obj = new WmsFlow(dr);
}
protected override DeiNiu.Data.BaseObject.BaseModel getModel()
{
return _obj;
}
//begin cust db operation, query, excute sql etc.
internal int add(WmsFlow obj)
{
return obj.Add();
}
/// <summary>
/// update in a transaction scrop
/// </summary>
public void update()
{
if (valid())
{
using (TransactionScope scope = new TransactionScope())
{
//Node tmp = new Node();
//tmp.parentid = 1;
//tmp.name = "test trans" + DateTime.Now;
//tmp.description = "this is for transTest";
//tmp.Add();
_obj.Update();
scope.Complete();
}
}
}
private bool valid()
{
return true;
}
internal DataTable getTaskDetail(string taskNo)
{
return _obj.getTaskDetail(taskNo);
}
internal DataTable getTaskDetail4Wince(string taskNo)
{
/*
WmsFlow wf = new WmsFlow(taskNo);
enumFlowTaskType type = (enumFlowTaskType)wf.type;
switch (type)
{
case enumFlowTaskType.报废下架:
return getDownShelfDetail(taskNo);
case enumFlowTaskType.出库拣货下架:
return getDownShelfDetail(taskNo);
case enumFlowTaskType.储存区补货下架:
return getDownShelfDetail(taskNo);
case enumFlowTaskType.退供应商下架:
return getDownShelfDetail(taskNo);
case enumFlowTaskType.移库下架:
return getDownShelfDetail(taskNo);
case enumFlowTaskType.拣货区补货上架:
return getUpShelfDetail(taskNo);
case enumFlowTaskType.退供应商上架:
return getUpShelfDetail(taskNo);
case enumFlowTaskType.预到收货上架:
return getUpShelfDetail(taskNo);
default:
throw new NotImplementedException();
}
*/
DataTable dt = _obj.getTaskDetail4Wince(taskNo);
foreach (DataRow dr in dt.Rows)
{
dr["类型"] = ((enumStockRecordType) Convert.ToInt32(dr["recType"])).ToString();
dr["状态"] = ((enumPickState) Convert.ToInt32(dr["state"])).ToString();
}
dt.Columns.Remove("recType");
dt.Columns.Remove("state");
return dt;
}
private DataTable getUpShelfDetail(string taskNo)
{
return new WmsInUpPort().getTaskDetail(taskNo);
}
DataTable getDownShelfDetail(string taskNo)
{
return new WmsOutPickPort().getPickTaskDetails(taskNo);
}
internal DataTable getTasks(int status, int partion, int emId)
{
DataTable dt = _obj.getTasks(status, partion, emId);
foreach (DataRow dr in dt.Rows)
{
dr["类型"] = ((EnumFlowTaskType) Convert.ToInt32(dr["type"])).ToString();
dr["状态"] = ((enumFlowTaskStatus) Convert.ToInt32(dr["state"])).ToString();
}
return dt;
}
internal DataTable getFlowDetail(string flowNo)
{
DataTable dt = _obj.getFlowDetail(flowNo);
foreach (DataRow dr in dt.Rows)
{
dr["类型"] = ((EnumFlowTaskType) Convert.ToInt32(dr["type"])).ToString();
dr["状态"] = ((enumFlowTaskStatus) Convert.ToInt32(dr["state"])).ToString();
}
return dt;
}
internal DataTable getTaskInfo(string taskNo)
{
return _obj.getTaskInfo(taskNo);
}
internal enumFlowTaskResult startTask(string taskNo)
{
_obj = new WmsFlow(taskNo);
if (getWmsFlow.owner > 0 && getWmsFlow.owner != this.operId)
{
return enumFlowTaskResult.;
}
if (getWmsFlow.state ==(int) enumFlowTaskStatus.
|| getWmsFlow.state == (int)enumFlowTaskStatus.
|| getWmsFlow.state == (int)enumFlowTaskStatus.)
{
return enumFlowTaskResult.;
}
getWmsFlow.state = (int)enumFlowTaskStatus.;
getWmsFlow.owner = operId;
if ( getWmsFlow.Update()> 0)
{
return enumFlowTaskResult.;
}
return enumFlowTaskResult.;
}
internal enumFlowTaskResult startTask(string orderNo, string flowNo)
{
if( _obj.startTask(orderNo, flowNo) > 0)
{
return enumFlowTaskResult.;
}
return enumFlowTaskResult.;
}
}
}