264 lines
6.9 KiB
C#
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.任务不存在;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|