|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Text;
|
|
|
|
using QMAPP.BLL;
|
|
|
|
using QMAPP.FJC.Entity.ProductionPlan;
|
|
|
|
using QMAPP.FJC.DAL.ProductionPlan;
|
|
|
|
using QMFrameWork.Data;
|
|
|
|
using QMAPP.Entity;
|
|
|
|
using System.Data;
|
|
|
|
using QMAPP.FJC.Entity.Operation;
|
|
|
|
using QMAPP.FJC.Entity.FIS;
|
|
|
|
using QMAPP.FJC.DAL.TianJin;
|
|
|
|
using QMAPP.FJC.Entity.TianJin;
|
|
|
|
|
|
|
|
namespace QMAPP.FJC.BLL.TianJin
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// 模块名称:派工单
|
|
|
|
/// 作 者:张鹏
|
|
|
|
/// 编写日期:2017年10月24日
|
|
|
|
/// </summary>
|
|
|
|
public class TJWorkOrderBLL : BaseBLL
|
|
|
|
{
|
|
|
|
|
|
|
|
#region 获取信息
|
|
|
|
/// <summary>
|
|
|
|
/// 获取信息
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="">条件</param>
|
|
|
|
/// <returns>信息</returns>
|
|
|
|
public WorkOrder Get(WorkOrder info)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().Get(info);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 获取列表
|
|
|
|
/// <summary>
|
|
|
|
/// 获取列表
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="condition">条件</param>
|
|
|
|
/// <param name="page">数据页</param>
|
|
|
|
/// <returns>数据页</returns>
|
|
|
|
public DataPage GetList(WorkOrder condition, DataPage page)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().GetList(condition, page);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
|
|
/// 获取指定工序的生产计划清单
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="workcellcode">工序编码</param>
|
|
|
|
/// <param name="filter">过滤选项:0全部;1隐藏挂起;2只看挂起</param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public List<WorkOrder> GetOrderInCell(string workcellcode,int filter, DataPage dataPage)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().GetOrderInCell(workcellcode,filter,dataPage.PageSize);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
///
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="orderplanno"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public List<WorkOrder> GetOrderInfo(string orderplanno)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().GetWorkOrderInfo(orderplanno);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public List<WorkOrder> GetOrderUnPrintedF(string RouteCode, int filter, DataPage dataPage,string Direction,string SHIFTCODE, string BeginTime, string EndTime)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().GetOrderUnPrintedF(RouteCode, Direction, SHIFTCODE, BeginTime, EndTime, filter, dataPage.PageSize);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public List<WorkOrder> GetOrderUnPrintedR(string RouteCode, int filter, DataPage dataPage, string Direction, string SHIFTCODE, string BeginTime, string EndTime)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().GetOrderUnPrintedR(RouteCode, Direction, SHIFTCODE, BeginTime, EndTime, filter, dataPage.PageSize);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public List<WorkOrder> GetOrderUnPrinted018DF(string RouteCode, int filter, DataPage dataPage, string Direction, string SHIFTCODE, string BeginTime, string EndTime)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().GetOrderUnPrinted018DF(RouteCode, Direction, SHIFTCODE, BeginTime, EndTime, filter, dataPage.PageSize);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public List<WorkOrder> GetOrderUnPrinted018DR(string RouteCode, int filter, DataPage dataPage, string Direction, string SHIFTCODE, string BeginTime, string EndTime)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().GetOrderUnPrinted018DR(RouteCode, Direction, SHIFTCODE, BeginTime, EndTime, filter, dataPage.PageSize);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public int SetOrderPrinted(string orderpid)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().SetOrderPrinted(orderpid);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 获取指定工序下待完成计划数量
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="workcellcode">工序编码</param>
|
|
|
|
/// <param name="shift">班次</param>
|
|
|
|
/// <param name="date">日期</param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public int GetOrderCountInCell(string workcellcode, string shift)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
var date = DateTime.Now;
|
|
|
|
return new TWorkOrderDAL().GetOrderCountInCell(workcellcode, shift, date);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 获取工作中心当日的总计划数量
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="workcentercode">工作中心</param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public int GetDayPlanCount(string workcentercode)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
var date = DateTime.Now;
|
|
|
|
return new TWorkOrderDAL().GetDayPlanCount(workcentercode, date);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 获取计划标签数据
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="workorderid"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public Entity.View.PlanLabel GetPlanLabel(string workorderid)
|
|
|
|
{
|
|
|
|
Entity.View.PlanLabel labeldata = new Entity.View.PlanLabel();
|
|
|
|
TWorkOrderDAL dal = new TWorkOrderDAL();
|
|
|
|
var order = dal.Get(new WorkOrder { PID = workorderid });
|
|
|
|
if (order == null)
|
|
|
|
{
|
|
|
|
throw new Exception("获取工单信息失败!");
|
|
|
|
}
|
|
|
|
|
|
|
|
labeldata.BOM = order.PBOM_CODE;
|
|
|
|
labeldata.PN = order.MATERIAL_CODE;
|
|
|
|
labeldata.SEQ = order.SEQ;
|
|
|
|
labeldata.PlanDate = order.PLAN_DATE.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
switch (order.ORDER_TYPE)
|
|
|
|
{
|
|
|
|
case "0":
|
|
|
|
{
|
|
|
|
labeldata.PlanType = "FIS";
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case "1":
|
|
|
|
{
|
|
|
|
labeldata.PlanType = "STOCK";
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case "2":
|
|
|
|
{
|
|
|
|
labeldata.PlanType = "INSERT";
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var plandal = new DAL.FIS.OrderPlanDAL();
|
|
|
|
var plan = plandal.Get(new Entity.FIS.OrderPlan { PID = order.ORDERPLANID });
|
|
|
|
if (plan == null)
|
|
|
|
{
|
|
|
|
throw new Exception("获取计划信息异常!");
|
|
|
|
}
|
|
|
|
labeldata.PlanNo = plan.PLAN_NO;
|
|
|
|
|
|
|
|
|
|
|
|
if (order.ORDER_TYPE == "0")
|
|
|
|
{
|
|
|
|
var fisdal = new DAL.FIS.FISOrderDAL();
|
|
|
|
var fis = fisdal.GetByPlan(plan.PLAN_NO, plan.MATERIAL_CODE);
|
|
|
|
if (fis == null)
|
|
|
|
{
|
|
|
|
throw new Exception("获取FIS信息异常!");
|
|
|
|
}
|
|
|
|
labeldata.VIN = fis.VIN;
|
|
|
|
labeldata.KIN = fis.KIN;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
labeldata.VIN = "N/A";
|
|
|
|
labeldata.KIN = "N/A";
|
|
|
|
}
|
|
|
|
var materialdal = new MD.DAL.MaterialDAL();
|
|
|
|
var material = materialdal.Get(new MD.Entity.Material { MATERIAL_CODE = order.MATERIAL_CODE });
|
|
|
|
if (material == null)
|
|
|
|
{
|
|
|
|
throw new Exception("获取物料信息异常!");
|
|
|
|
}
|
|
|
|
labeldata.HBType = material.HBTYPE;
|
|
|
|
labeldata.ProjectCode = material.PROJECTCODE;
|
|
|
|
labeldata.Color = material.COLOR;
|
|
|
|
labeldata.ProdName = material.MATERIAL_NAME;
|
|
|
|
return labeldata;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 获取计划标签数据
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="workorderid"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public Entity.View.PlanLabel GetPlanLabelBindProdut(Product Product)
|
|
|
|
{
|
|
|
|
Entity.View.PlanLabel labeldata = new Entity.View.PlanLabel();
|
|
|
|
|
|
|
|
var plandal = new DAL.FIS.OrderPlanDAL();
|
|
|
|
var plan = plandal.Get(new Entity.FIS.OrderPlan { PID = Product.PLAN_ID });
|
|
|
|
if (plan == null)
|
|
|
|
{
|
|
|
|
throw new Exception("获取计划信息异常!");
|
|
|
|
}
|
|
|
|
labeldata.BOM = plan.PBOM_CODE;
|
|
|
|
labeldata.PN = plan.MATERIAL_CODE;
|
|
|
|
|
|
|
|
labeldata.PlanDate = plan.PLAN_DATE.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
|
|
TWorkOrderDAL dal = new TWorkOrderDAL();
|
|
|
|
var order = dal.GetOneByProduct(Product.PRODUCTCODE);
|
|
|
|
if (order != null)
|
|
|
|
{
|
|
|
|
labeldata.SEQ = order.SEQ;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
labeldata.SEQ = "N/A";
|
|
|
|
}
|
|
|
|
switch (plan.PLANSOURCE)
|
|
|
|
{
|
|
|
|
case "0":
|
|
|
|
{
|
|
|
|
labeldata.PlanType = "FIS";
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case "1":
|
|
|
|
{
|
|
|
|
labeldata.PlanType = "STOCK";
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case "2":
|
|
|
|
{
|
|
|
|
labeldata.PlanType = "INSERT";
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
labeldata.PlanNo = plan.PLAN_NO;
|
|
|
|
|
|
|
|
|
|
|
|
if (plan.PLANSOURCE == "0")
|
|
|
|
{
|
|
|
|
var fisdal = new DAL.FIS.FISOrderDAL();
|
|
|
|
var fis = fisdal.GetByPlan(plan.PLAN_NO, plan.MATERIAL_CODE);
|
|
|
|
if (fis == null)
|
|
|
|
{
|
|
|
|
throw new Exception("获取FIS信息异常!");
|
|
|
|
}
|
|
|
|
labeldata.VIN = fis.VIN;
|
|
|
|
labeldata.KIN = fis.KIN;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
labeldata.VIN = "N/A";
|
|
|
|
labeldata.KIN = "N/A";
|
|
|
|
}
|
|
|
|
var materialdal = new MD.DAL.MaterialDAL();
|
|
|
|
var material = materialdal.Get(new MD.Entity.Material { MATERIAL_CODE = plan.MATERIAL_CODE });
|
|
|
|
if (material == null)
|
|
|
|
{
|
|
|
|
throw new Exception("获取物料信息异常!");
|
|
|
|
}
|
|
|
|
labeldata.HBType = material.HBTYPE;
|
|
|
|
labeldata.ProjectCode = material.PROJECTCODE;
|
|
|
|
labeldata.Color = material.COLOR;
|
|
|
|
labeldata.ProdName = material.MATERIAL_NAME;
|
|
|
|
return labeldata;
|
|
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 信息是否重复
|
|
|
|
/// <summary>
|
|
|
|
/// 判断名称是否存在
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="">信息</param>
|
|
|
|
/// <returns>true:已存在;fasel:不存在。</returns>
|
|
|
|
public bool Exists(WorkOrder info)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().Exists(info);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 插入信息
|
|
|
|
/// <summary>
|
|
|
|
/// 插入信息(单表)
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="">信息</param>
|
|
|
|
/// <returns>插入行数</returns>
|
|
|
|
public DataResult<int> Insert(WorkOrder info)
|
|
|
|
{
|
|
|
|
DataResult<int> result = new DataResult<int>();
|
|
|
|
try
|
|
|
|
{
|
|
|
|
if (string.IsNullOrWhiteSpace(info.PID))
|
|
|
|
{
|
|
|
|
info.PID = Guid.NewGuid().ToString();
|
|
|
|
}
|
|
|
|
TWorkOrderDAL cmdDAL = new TWorkOrderDAL();
|
|
|
|
result.Result = new TWorkOrderDAL().Insert(info);
|
|
|
|
result.IsSuccess = true;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 更新信息
|
|
|
|
/// <summary>
|
|
|
|
/// 更新信息
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="">信息</param>
|
|
|
|
/// <returns>更新行数</returns>
|
|
|
|
public DataResult<int> Update(WorkOrder info)
|
|
|
|
{
|
|
|
|
DataResult<int> result = new DataResult<int>();
|
|
|
|
try
|
|
|
|
{
|
|
|
|
result.Result = new TWorkOrderDAL().Update(info);
|
|
|
|
result.IsSuccess = true;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
|
|
/// 挂起工单
|
|
|
|
/// </summary>
|
|
|
|
/// <returns></returns>
|
|
|
|
public int SuspendOrder(List<string> orderid)
|
|
|
|
{
|
|
|
|
var orders = GetListByID(orderid.ToArray());
|
|
|
|
foreach (var order in orders)
|
|
|
|
{
|
|
|
|
if (int.Equals(order.STATE, 2))
|
|
|
|
{
|
|
|
|
throw new Exception("不可将状态为执行中的工单挂起!");
|
|
|
|
}
|
|
|
|
order.STATE = 4;
|
|
|
|
}
|
|
|
|
var dal = new TWorkOrderDAL();
|
|
|
|
return dal.Update(orders);
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
|
|
/// 取消挂起
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="orderid"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public int CancelSuspend(List<string> orderid)
|
|
|
|
{
|
|
|
|
var orders = GetListByID(orderid.ToArray());
|
|
|
|
foreach (var order in orders)
|
|
|
|
{
|
|
|
|
if (!int.Equals(order.STATE, 4))
|
|
|
|
{
|
|
|
|
throw new Exception("只可取消状态为挂起状态的工单!");
|
|
|
|
}
|
|
|
|
order.STATE = 1;
|
|
|
|
}
|
|
|
|
var dal = new TWorkOrderDAL();
|
|
|
|
return dal.Update(orders);
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
|
|
/// 回收工单
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="orderid"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public int TakeBack(List<string> orderid)
|
|
|
|
{
|
|
|
|
var orders = GetListByID(orderid.ToArray());
|
|
|
|
foreach (var order in orders)
|
|
|
|
{
|
|
|
|
if (!int.Equals(order.STATE, 4))
|
|
|
|
{
|
|
|
|
throw new Exception("只可回收状态为挂起状态的工单!");
|
|
|
|
}
|
|
|
|
//order.ORDER_TYPE = "1";
|
|
|
|
order.PRI = 1;
|
|
|
|
order.STATE = 0;
|
|
|
|
}
|
|
|
|
var dal = new TWorkOrderDAL();
|
|
|
|
return dal.Update(orders);
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
|
|
/// 重置工单
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="orderid"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public int ResetOrder(List<string> orderid)
|
|
|
|
{
|
|
|
|
var orders = GetListByID(orderid.ToArray());
|
|
|
|
var first = orders.FirstOrDefault();
|
|
|
|
if (first != null)
|
|
|
|
{
|
|
|
|
QMAPP.MD.DAL.WorkCellDAL workCelldal = new QMAPP.MD.DAL.WorkCellDAL();
|
|
|
|
string pbomcode = first.PBOM_CODE;
|
|
|
|
QMAPP.MD.Entity.ProcessRouteWorkCellSeq workcell = workCelldal.GetFirstWorkCell(pbomcode).FirstOrDefault();
|
|
|
|
foreach (var order in orders)
|
|
|
|
{
|
|
|
|
if (!int.Equals(order.STATE, 4))
|
|
|
|
{
|
|
|
|
throw new Exception("只可重置状态为挂起状态的工单!");
|
|
|
|
}
|
|
|
|
//order.ORDER_TYPE = "1";
|
|
|
|
order.WORKCELL_CODE = workcell.WORKCELL_CODE;
|
|
|
|
order.PRI = 1;
|
|
|
|
order.STATE = 0;
|
|
|
|
}
|
|
|
|
var dal = new TWorkOrderDAL();
|
|
|
|
return dal.Update(orders);
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 忽略FIS断号
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="orderid"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public int IgnoreFISBreak(List<string> orderid)
|
|
|
|
{
|
|
|
|
var orders = GetListByID(orderid.ToArray());
|
|
|
|
var first = orders.FirstOrDefault();
|
|
|
|
var plans = new List<OrderPlan>();
|
|
|
|
var plandal = new DAL.FIS.OrderPlanDAL();
|
|
|
|
foreach (var order in orders)
|
|
|
|
{
|
|
|
|
if (!int.Equals(order.ORDER_TYPE, "0"))
|
|
|
|
{
|
|
|
|
throw new Exception("只可对FIS工单进行忽略断号操作!");
|
|
|
|
}
|
|
|
|
var plan = plandal.Get(new OrderPlan { PID = order.ORDERPLANID });
|
|
|
|
if (plan != null)
|
|
|
|
{
|
|
|
|
plan.IGNORE_FISBREAK = "1";
|
|
|
|
plandal.Update(plan);
|
|
|
|
plans.Add(plan);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return plans.Count;
|
|
|
|
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
|
|
/// 删除工单
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="orderid"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public int DeleteOrder(List<string> orderid)
|
|
|
|
{
|
|
|
|
var orders = GetListByID(orderid.ToArray());
|
|
|
|
foreach (var order in orders)
|
|
|
|
{
|
|
|
|
if (!int.Equals(order.STATE, 4))
|
|
|
|
{
|
|
|
|
throw new Exception("只可删除状态为挂起状态的工单!");
|
|
|
|
}
|
|
|
|
//order.STATE = 1;
|
|
|
|
}
|
|
|
|
var dal = new TWorkOrderDAL();
|
|
|
|
return dal.Delete(orders);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 根据主键获取列表
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="orderid"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
private List<WorkOrder> GetListByID(params string[] orderid)
|
|
|
|
{
|
|
|
|
var dal = new TWorkOrderDAL();
|
|
|
|
return dal.GetListByID(orderid);
|
|
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 删除
|
|
|
|
/// <summary>
|
|
|
|
/// 删除信息
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="">主键串</param>
|
|
|
|
/// <returns>删除个数</returns>
|
|
|
|
public DataResult<int> DeleteArray(string strs)
|
|
|
|
{
|
|
|
|
int count = 0;
|
|
|
|
DataResult<int> result = new DataResult<int>();
|
|
|
|
string[] list = strs.Split(":".ToCharArray());
|
|
|
|
try
|
|
|
|
{
|
|
|
|
foreach (string str in list)
|
|
|
|
{
|
|
|
|
count += this.Delete(new WorkOrder { PID = str });
|
|
|
|
}
|
|
|
|
result.Result = count;
|
|
|
|
result.IsSuccess = true;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 删除信息
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="">信息</param>
|
|
|
|
/// <returns>删除个数</returns>
|
|
|
|
public int Delete(WorkOrder info)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().Delete(info);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 导出数据
|
|
|
|
/// <summary>
|
|
|
|
/// 获取导出的数据
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="">查询条件</param>
|
|
|
|
/// <returns>数据</returns>
|
|
|
|
public DataTable GetExportData(WorkOrder info)
|
|
|
|
{
|
|
|
|
try
|
|
|
|
{
|
|
|
|
return new TWorkOrderDAL().GetExportData(info);
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
throw ex;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 导入数据
|
|
|
|
/// <summary>
|
|
|
|
/// 导入数据
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="list">数据</param>
|
|
|
|
/// <returns>导入结果</returns>
|
|
|
|
public DataResult<ImportMessage> ImportData(List<WorkOrder> list)
|
|
|
|
{
|
|
|
|
DataResult<ImportMessage> result = new DataResult<ImportMessage>();
|
|
|
|
TWorkOrderDAL cmDal = new TWorkOrderDAL();
|
|
|
|
List<WorkOrder> List = new List<WorkOrder>();
|
|
|
|
int index = 0;
|
|
|
|
try
|
|
|
|
{
|
|
|
|
result.Result = new ImportMessage();
|
|
|
|
result.Result.Errors = new List<RowError>();
|
|
|
|
using (IDataSession session = AppDataFactory.CreateMainSession())
|
|
|
|
{
|
|
|
|
//状态判断
|
|
|
|
foreach (WorkOrder ma in list)
|
|
|
|
{
|
|
|
|
index++;
|
|
|
|
if (!string.IsNullOrEmpty(ma.InfoError))
|
|
|
|
{
|
|
|
|
ma.PID = null;
|
|
|
|
result.Result.failureNum += 1;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
//修改改时根据主键等信息获取详细内容信息
|
|
|
|
WorkOrder oldInfo = cmDal.Get(ma);
|
|
|
|
if (oldInfo != null)
|
|
|
|
{
|
|
|
|
//更新
|
|
|
|
ma.PID = oldInfo.PID;
|
|
|
|
ma.IsNewInfo = false;
|
|
|
|
result.Result.updateNum += 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
//新增
|
|
|
|
oldInfo = new WorkOrder();
|
|
|
|
if (string.IsNullOrWhiteSpace(ma.PID))
|
|
|
|
{
|
|
|
|
ma.PID = Guid.NewGuid().ToString();
|
|
|
|
}
|
|
|
|
ma.IsNewInfo = true;
|
|
|
|
result.Result.insertNum += 1;
|
|
|
|
}
|
|
|
|
List.Add(ma);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//导入
|
|
|
|
cmDal.GetImportData(List);
|
|
|
|
result.Msg = "导入成功";
|
|
|
|
result.IsSuccess = true;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
|
|
{
|
|
|
|
result.IsSuccess = false;
|
|
|
|
result.Ex = ex;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
}
|