using ibk.IPD.Common;
using ibk.IPD.Entity.IPD_PS;
using ibk.IPD.Entity;
using log4net.Repository.Hierarchy;
using SOA.Objects;
using SOA.Persistent;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;
using log4net;
using System.Reflection;
using ibk.IPD.Service.IPD_SS;
namespace ibk.IPD.Controller.IPD_PS
{
[RoutePrefix("ipd/ipdMr")]
public class TbSlabSpeController : ApiController
{
private static readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
//设置一个加锁对象
private static readonly object LOCK = new object();
///
/// 参数校验
///
///
/// ///
/// 是否通过参数校验
public bool ParameterCalibration(TB_SLAB_ORD_SPE cncs, RequestEntity result)
{
#region 参数判断
if (CommonUtils.GetLength(cncs.ORD_ITEM) > 100)
{
result.msg = "订单探项次号不可超过100!";
result.code = "0";
return false;
}
if (CommonUtils.GetLength(cncs.ORD_NO) > 100)
{
result.msg = "订单长度不可超过100!";
result.code = "0";
return false;
}
return true;
#endregion
}
#region 特殊钢种成材率管控
///
/// 查询接口
///
///
///
[HttpPost, Route("getTbYieldControl")]
public RequestEntity GetTbYieldControl(TB_YIELD_CONTROL query)
{
RequestEntity result = new RequestEntity(); //声明返回参数实体类
StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量
DataTable dtCheck = new DataTable();
//查询
strSql.AppendLine("SELECT ID,PLT, STLGRD, REMLEN,REMLEN_MIN, YIELD,to_date(INS_DATE || INS_TIME ,'yyyy-mm-dd hh24:mi:ss') as INS_DATE ,INS_TIME,INS_EMP , to_date(UPD_DATE || UPD_TIME ,'yyyy-mm-dd hh24:mi:ss') as UPD_DATE, UPD_TIME,UPD_EMP FROM TB_YIELD_CONTROL WHERE 1 = 1 ");
if (!string.IsNullOrEmpty(query.PLT))
{
strSql.AppendLine("and PLT='" + query.PLT + "'");
}
try
{
//开启数据库连接查询数据
using (IDbContext db = ObjectContainer.GetObject("db"))
{
strSql.AppendLine("Order By INS_DATE DESC ");
dtCheck = db.Query(strSql.ToString());
result.data = db.Query(strSql.ToString());
if (dtCheck.Rows.Count > 0)
{
result.msg = "操作成功!";
result.code = "1";
}
else
{
result.msg = "未找到查询所需数据!";
result.code = "1";
}
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("GetTbUstFl 报错", ex);
}
return result;
}
///
/// 添加接口
///
///
///
[HttpPost, Route("AddTbYieldControl")]
public RequestEntity AddTbYieldControl(TB_YIELD_CONTROL model)
{
RequestEntity result = new RequestEntity();
DateTime dtNow = DateTime.Now;
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
db.BeginTransaction();
#region 参数判断
if (string.IsNullOrEmpty(model.PLT) || string.IsNullOrEmpty(model.STLGRD))
{
db.Rollback();
return result;
}
#endregion
model.ID = "";
model.PLT = model.PLT.Trim();
model.STLGRD = model.STLGRD.Trim();
model.REMLEN = model.REMLEN;
model.REMLEN_MIN = model.REMLEN_MIN;
model.YIELD = model.YIELD;
model.INS_DATE = dtNow.ToString("yyyyMMdd");
model.INS_TIME = dtNow.ToString("HHmmss");
model.UPD_DATE = dtNow.ToString("yyyyMMdd");
model.UPD_TIME = dtNow.ToString("HHmmss");
if (db.Insert(model) > 0)
{
result.msg = "操作成功!";
result.code = "1";
//数据操作成功则保存数据
db.Commit();
}
else
{
result.msg = "操作失败!";
result.code = "0";
//操作失败回滚数据到初始状态
db.Rollback();
}
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("AddTbOrdSpe 报错 : ", ex);
if (ex.ToString().Contains("00001"))
{
result.msg = "重复插入!";
}
}
return result;
}
///
/// 修改接口
///
///
///
[HttpPost, Route("UpdateTbYieldControl")]
public RequestEntity UpdateTbYieldControl(IList model)
{
RequestEntity result = new RequestEntity();
StringBuilder strSql = new StringBuilder();
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
try
{
//ORD_NO, ORD_ITEM
strSql.AppendLine("Update TB_YIELD_CONTROL ");
strSql.AppendLine(string.Format("set REMLEN='{2}',REMLEN_MIN='{5}', YIELD='{3}',PLT = '{0}',STLGRD = '{1}' where ID = '{4}'", model[1].PLT, model[1].STLGRD, model[1].REMLEN, model[1].YIELD, model[1].ID, model[1].REMLEN_MIN));
db.Execute(strSql.ToString()); // 执行删除数据操作
//执行完操作之后清空strSql 准备下次 appendLine
strSql.Length = 0;
}
catch
{
logger.Error("该条记录修改失败: " + model.ToString());
}
result.msg = "操作成功";
result.code = "1";
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("UpdateTbOrdSpeOne 报错", ex);
}
return result;
}
///
/// 删除接口
///
///
///
[HttpPost, Route("DelTbYieldControl")]
public RequestEntity DelTbYieldControl(IList delModel)
{
RequestEntity result = new RequestEntity();
StringBuilder strSql = new StringBuilder();
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
foreach (var model in delModel)
{
try
{
//ORD_NO, ORD_ITEM
strSql.AppendLine("DELETE FROM TB_YIELD_CONTROL WHERE 1=1 ");
strSql.AppendLine(string.Format("AND ID= '{0}'", model.ID));
db.Execute(strSql.ToString()); // 执行删除数据操作
//执行完操作之后清空strSql 准备下次 appendLine
strSql.Length = 0;
}
catch
{
logger.Error("该条记录删除失败: " + delModel.ToString());
}
}
result.msg = "操作成功";
result.code = "1";
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("DelTbOrdSpe 报错", ex);
}
return result;
}
#endregion
///
/// 查询接口
///
///
///
[HttpPost, Route("getTbSlabOrdSpe")]
public RequestEntity GetTbSlabOrdSpe(TB_SLAB_ORD_SPE query)
{
RequestEntity result = new RequestEntity(); //声明返回参数实体类
StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量
String strSql2 = string.Empty; //声明拼接Sql语句变量
DataTable dtCheck = new DataTable();
IList tB_SLAB_ORD_SPEs = new List();
IList ltResult = new List();
//查询
strSql.AppendLine("SELECT ORD_NO, ORD_ITEM, ORD_CON, PK,to_date(INS_DATE || INS_TIME ,'yyyy-mm-dd hh24:mi:ss') as INS_DATE ,INS_TIME,INS_EMP , to_date(UPD_DATE || UPD_TIME ,'yyyy-mm-dd hh24:mi:ss') as UPD_DATE, UPD_TIME,UPD_EMP FROM TB_SLAB_ORD_SPE WHERE 1 = 1 ");
if (query != null)
{
if (!string.IsNullOrWhiteSpace(query.ORD_NO))
strSql.AppendLine(" AND ORD_NO LIKE '%" + query.ORD_NO + "%'");
if (!string.IsNullOrWhiteSpace(query.ORD_ITEM))
strSql.AppendLine(" AND ORD_ITEM LIKE '%" + query.ORD_ITEM + "%'");
}
strSql.AppendLine("Order By INS_DATE DESC ");
using (IDbContext db = ObjectContainer.GetObject("db"))
{
tB_SLAB_ORD_SPEs = db.Query(strSql.ToString());
}
foreach (TB_SLAB_ORD_SPE order in tB_SLAB_ORD_SPEs)
{
strSql2 += string.Format(" or (boi.ORD_NO = '{0}' and boi.ORD_ITEM = '{1}')", order.ORD_NO, order.ORD_ITEM);
}
ltResult = getAPPOINTOrderInfo(strSql2);
foreach (TB_SLAB_ORD_SPE order in tB_SLAB_ORD_SPEs)
{
if(ltResult.Where(p=>p.ORD_NO== order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).Count() == 0)
{
TB_APPOINT_ORDER_INFO tB_APPOINT_ORDER_INFO = new TB_APPOINT_ORDER_INFO();
tB_APPOINT_ORDER_INFO.ORD_NO = order.ORD_NO;
tB_APPOINT_ORDER_INFO.ORD_ITEM = order.ORD_ITEM;
tB_APPOINT_ORDER_INFO.COLOR_STROKE = "未找到订单信息";
ltResult.Add(tB_APPOINT_ORDER_INFO);
}
}
if (ltResult.Count > 0)
{
result.code = "1";
result.data = ltResult;
}
return result;
}
public IList getAPPOINTOrderInfo(string BOI)
{
StringBuilder strSql = new StringBuilder();//声明拼接Sql语句变量
IList ltBOI = new List();
strSql.AppendLine("SELECT DISTINCT ");
strSql.AppendLine(" BOI.ord_no,BOI.ord_item,BOI.ORD_STS,BOI.STDSPEC,BOI.STLGRD,BOI.ORD_THK,BOI.ORD_WID,BOI.ORD_LEN,ROUND(BOI.ORD_THK/1000*BOI.ORD_WID/1000*BOI.ORD_LEN/1000*7.85,3) AS ORD_WGT ,BOI.SIZE_KND,BOI.DEL_TO_DATE,CPP.ORD_WGT as PROD_WGT ");
strSql.AppendLine(",NVL(CPP.ORD_REM_WGT, 0) DEL_TOL_MAX, NVL(CPP.ORD_REM_WGT, 0) - CPP.ORD_WGT * (CPP.DEL_TOL_MAX + ABS(CPP.DEL_TOL_MIN)) / 100 DEL_TOL_MIN ");
strSql.AppendLine(" ,NVL(C.SMS_TOT_WGT, 0) SMS_TOT_WGT-- - 炼钢 ");
strSql.AppendLine(", NVL(C.CCM_TOT_WGT, 0) CCM_TOT_WGT--连铸 ");
strSql.AppendLine(",NVL(C.MILL_TOT_WGT, 0) ");
strSql.AppendLine(" - DECODE(BOI.IS_JC, ");
strSql.AppendLine(" 'Y', ");
strSql.AppendLine(" (SELECT NVL(SUM(WGT), 0) ");
strSql.AppendLine(" FROM NISCO.FP_SLAB ");
strSql.AppendLine(" WHERE REC_STS = '2' ");
strSql.AppendLine(" AND ORD_FL = '1' ");
strSql.AppendLine(" AND PROC_CD IN('CAA', 'CAD') ");
strSql.AppendLine(" AND ORD_NO = BOI.ORD_NO ");
strSql.AppendLine(" AND ORD_ITEM = BOI.ORD_ITEM ");
strSql.AppendLine(" AND INGOT_FL = 'A'), ");
strSql.AppendLine(" 0) ZGDD--轧钢等待 ");
strSql.AppendLine(",(SELECT NVL(SUM(E.WGT), 0) ");
strSql.AppendLine(" FROM NISCO.FP_SLAB F, NISCO.FP_SLAB_DES E ");
strSql.AppendLine(" WHERE E.ORD_NO = BOI.ORD_NO ");
strSql.AppendLine(" AND E.ORD_ITEM = BOI.ORD_ITEM ");
strSql.AppendLine(" AND E.BLOCK_SEQ > '00' ");
strSql.AppendLine(" AND E.SEQ > '00' ");
strSql.AppendLine(" AND E.REC_STS = '2' ");
strSql.AppendLine(" AND F.SLAB_NO = E.SLAB_NO ");
strSql.AppendLine(" AND F.ORD_FL = '1' ");
strSql.AppendLine(" AND E.PROC_CD = 'CAD') CADPL--CAD ");
strSql.AppendLine(",BOI.CFM_MILL_PLT,BOI.COLOR_STROKE,BOI.CUST_CD ");
strSql.AppendLine("FROM NISCO.cp_prc CPP ");
strSql.AppendLine("INNER JOIN ");
strSql.AppendLine("NISCO.BP_ORDER_ITEM boi ");
strSql.AppendLine("ON BOI.ORD_NO = CPP.ORD_NO ");
strSql.AppendLine("AND BOI.ORD_ITEM = CPP.ORD_ITEM ");
strSql.AppendLine("AND BOI.ORD_WID <> 0 ");
strSql.AppendLine("AND BOI.ORD_LEN <> 0 ");
strSql.AppendLine("AND BOI.ORD_THK <> 0 ");
strSql.AppendLine("LEFT JOIN(SELECT CPD.ORD_NO, CPD.ORD_ITEM, ");
strSql.AppendLine(" SUM(DECODE(CPD.PRC, 'BC', CPD.TOT_WGT, 0) + ");
strSql.AppendLine(" DECODE(CPD.PRC, 'BD', CPD.TOT_WGT, 0) + ");
strSql.AppendLine(" DECODE(CPD.PRC, 'BE', CPD.TOT_WGT, 0)) AS SMS_TOT_WGT, ");
strSql.AppendLine(" SUM(DECODE(CPD.PRC, 'BF', CPD.TOT_WGT, 0)) AS CCM_TOT_WGT, ");
strSql.AppendLine(" SUM(DECODE(CPD.PRC, 'CA', CPD.TOT_WGT, 0) + ");
strSql.AppendLine(" DECODE(CPD.PRC, 'CB', CPD.TOT_WGT, 0)) AS MILL_TOT_WGT ");
strSql.AppendLine(" FROM NISCO.CP_PRC_DET CPD ");
strSql.AppendLine(" GROUP BY CPD.ORD_NO, CPD.ORD_ITEM) C ");
strSql.AppendLine(" ON C.ORD_NO = BOI.ORD_NO AND C.ORD_ITEM = BOI.ORD_ITEM ");
strSql.AppendLine("WHERE 1!=1 ");
strSql.AppendLine(BOI);
// P_SLAB_DELI_DET表中字段EST_CD是5或者6开头是协议板。
try
{
//开启数据库连接查询数据
using (IDbContext db = ObjectContainer.GetObject("db_sur"))
{
ltBOI = db.Query(strSql.ToString());
}
}
catch (Exception ex)
{
logger.Error("GetBOIInfo 报错", ex);
}
return ltBOI;
}
///
/// 添加接口
///
///
///
[HttpPost, Route("AddTbSlabOrdSpe")]
public RequestEntity AddTbSlabOrdSpe(IList insertModel)
{
RequestEntity result = new RequestEntity();
DateTime dtNow = DateTime.Now;
try
{
bool b = true;
using (IDbContext db = ObjectContainer.GetObject("db"))
{
db.BeginTransaction();
foreach (TB_SLAB_ORD_SPE model in insertModel)
{
#region 参数判断
if (string.IsNullOrEmpty(model.ORD_NO) || string.IsNullOrEmpty(model.ORD_ITEM))
{
continue;
}
if (!ParameterCalibration(model, result))
{
db.Rollback();
return result;
}
#endregion
model.PK = "";
model.ORD_NO = model.ORD_NO.Trim();
model.ORD_ITEM = model.ORD_ITEM.Trim();
model.ORD_ITEM = model.ORD_ITEM.ToString().PadLeft(3, '0');
model.INS_DATE = dtNow.ToString("yyyyMMdd");
model.INS_TIME = dtNow.ToString("HHmmss");
model.UPD_DATE = dtNow.ToString("yyyyMMdd");
model.UPD_TIME = dtNow.ToString("HHmmss");
if (db.Insert(model) == 0)
{
b = false;
break;
}
}
if (b)
{
result.msg = "操作成功!";
result.code = "1";
//数据操作成功则保存数据
db.Commit();
}
else
{
result.msg = "操作失败!";
result.code = "0";
//操作失败回滚数据到初始状态
db.Rollback();
}
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("AddTbOrdSpe 报错 : ", ex);
if (ex.ToString().Contains("00001"))
{
result.msg = "重复插入!";
}
}
return result;
}
///
/// 添加接口
///
///
///
[HttpPost, Route("AddTbSlabOrdSpeOne")]
public RequestEntity AddTbSlabOrdSpeOne(TB_SLAB_ORD_SPE model)
{
RequestEntity result = new RequestEntity();
DateTime dtNow = DateTime.Now;
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
db.BeginTransaction();
#region 参数判断
if (string.IsNullOrEmpty(model.ORD_NO) || string.IsNullOrEmpty(model.ORD_ITEM))
{
db.Rollback();
return result;
}
if (!ParameterCalibration(model, result))
{
db.Rollback();
return result;
}
#endregion
if(model.ORD_ITEM.Trim()=="000"|| model.ORD_ITEM.Trim() == "")
model.PK = "";
model.ORD_NO = model.ORD_NO.Trim();
model.ORD_ITEM = model.ORD_ITEM.Trim();
model.ORD_ITEM = model.ORD_ITEM.ToString().PadLeft(3, '0');
model.INS_DATE = dtNow.ToString("yyyyMMdd");
model.INS_TIME = dtNow.ToString("HHmmss");
model.UPD_DATE = dtNow.ToString("yyyyMMdd");
model.UPD_TIME = dtNow.ToString("HHmmss");
if (db.Insert(model) > 0)
{
result.msg = "操作成功!";
result.code = "1";
//数据操作成功则保存数据
db.Commit();
}
else
{
result.msg = "操作失败!";
result.code = "0";
//操作失败回滚数据到初始状态
db.Rollback();
}
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("AddTbOrdSpe 报错 : ", ex);
if (ex.ToString().Contains("00001"))
{
result.msg = "重复插入!";
}
}
return result;
}
///
/// 修改接口
///
///
///
[HttpPost, Route("UpdateTbSlabOrdSpe")]
public RequestEntity UpdateTbSlabOrdSpeOne(IList model)
{
RequestEntity result = new RequestEntity();
StringBuilder strSql = new StringBuilder();
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
try
{
//ORD_NO, ORD_ITEM
strSql.AppendLine("Update TB_SLAB_ORD_SPE ");
strSql.AppendLine(string.Format("set 1=1 where ORD_NO = '{0}' and ORD_ITEM = '{1}' ", model[1].ORD_NO, model[1].ORD_ITEM));
db.Execute(strSql.ToString()); // 执行删除数据操作
//执行完操作之后清空strSql 准备下次 appendLine
strSql.Length = 0;
}
catch
{
logger.Error("该条记录修改失败: " + model.ToString());
}
result.msg = "操作成功";
result.code = "1";
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("UpdateTbOrdSpeOne 报错", ex);
}
return result;
}
///
/// 删除接口
///
///
///
[HttpPost, Route("DelTbSlabOrdSpe")]
public RequestEntity DelTbSlabOrdSpe(IList delModel)
{
RequestEntity result = new RequestEntity();
StringBuilder strSql = new StringBuilder();
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
foreach (var model in delModel)
{
try
{
//ORD_NO, ORD_ITEM
strSql.AppendLine("DELETE FROM TB_SLAB_ORD_SPE WHERE 1=1 ");
strSql.AppendLine(string.Format("AND ORD_NO = '{0}' AND ORD_ITEM = '{1}' ", model.ORD_NO, model.ORD_ITEM));
db.Execute(strSql.ToString()); // 执行删除数据操作
//执行完操作之后清空strSql 准备下次 appendLine
strSql.Length = 0;
}
catch
{
logger.Error("该条记录删除失败: " + delModel.ToString());
}
}
result.msg = "操作成功";
result.code = "1";
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("DelTbOrdSpe 报错", ex);
}
return result;
}
#region 选择板坯转工厂
///
/// 查询接口
///
///
///
[HttpPost, Route("getTbPltSpe")]
public RequestEntity GetTbPltSpe(TB_PLT_SPE query)
{
RequestEntity result = new RequestEntity(); //声明返回参数实体类
StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量
string strSql2 = string.Empty; //声明拼接Sql语句变量
DataTable dtCheck = new DataTable();
IList TB_HEAT_SPEs = new List();
IList TB_HEAT_SPEs2 = new List();
//IList ltResult = new List();
//查询
strSql.AppendLine("SELECT '' ord_fl ,t.* FROM TB_PLT_SPE t WHERE 1 = 1 ");
if (query != null)
{
if (!string.IsNullOrWhiteSpace(query.SLAB_NO))
strSql.AppendLine(" AND SLAB_NO LIKE '%" + query.SLAB_NO + "%'");
}
strSql.AppendLine("Order By INS_DATE DESC ");
using (IDbContext db = ObjectContainer.GetObject("db"))
{
TB_HEAT_SPEs = db.Query(strSql.ToString());
}
strSql2=string.Join("','", TB_HEAT_SPEs.Select(p=>p.SLAB_NO));
strSql2 = string.Format("Select slab_no,ord_fl from nisco.fp_slab where slab_no in ('{0}')", strSql2);
using (IDbContext db = ObjectContainer.GetObject("db_sur"))
{
TB_HEAT_SPEs2 = db.Query(strSql2.ToString());
}
foreach (TB_PLT_SPE tb in TB_HEAT_SPEs)
{
if(TB_HEAT_SPEs2.Where(p => p.SLAB_NO == tb.SLAB_NO).Count() > 0)
{
tb.ORD_FL = TB_HEAT_SPEs2.Where(p => p.SLAB_NO == tb.SLAB_NO).FirstOrDefault().ORD_FL;
tb.ORD_FL = tb.ORD_FL == "2" ? "未替代" : "已替代";
}
else
{
tb.ORD_FL = "已替代";
}
}
//foreach (TB_HEAT_SPE order in TB_HEAT_SPEs)
//{
// strSql2 += string.Format(" or (boi.ORD_NO = '{0}' and boi.ORD_ITEM = '{1}')", order.ORD_NO, order.ORD_ITEM);
//}
//ltResult = TB_HEAT_SPEs;// getAPPOINTOrderInfo(strSql2);
//foreach (TB_HEAT_SPE order in TB_HEAT_SPEs)
//{
//if (ltResult.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).Count() == 0)
//{
// TB_APPOINT_ORDER_INFO tB_APPOINT_ORDER_INFO = new TB_APPOINT_ORDER_INFO();
// tB_APPOINT_ORDER_INFO.ORD_NO = order.ORD_NO;
// tB_APPOINT_ORDER_INFO.ORD_ITEM = order.ORD_ITEM;
// tB_APPOINT_ORDER_INFO.COLOR_STROKE = "未找到订单信息";
// ltResult.Add(tB_APPOINT_ORDER_INFO);
//}
//}
if (TB_HEAT_SPEs.Count > 0)
{
result.code = "1";
result.data = TB_HEAT_SPEs;
}
return result;
}
///
/// 添加接口
///
///
///
[HttpPost, Route("AddTbPltSpe")]
public RequestEntity AddTbPltSpe(IList insertModel)
{
RequestEntity result = new RequestEntity();
DateTime dtNow = DateTime.Now;
IList TB_HEAT_SPEs = new List();
StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量
//查询
strSql.AppendLine("SELECT '' ord_fl ,t.* FROM TB_PLT_SPE t WHERE 1 = 1 ");
try
{
bool b = true;
using (IDbContext db = ObjectContainer.GetObject("db"))
{
db.BeginTransaction();
TB_HEAT_SPEs = db.Query(strSql.ToString());
foreach (TB_PLT_SPE model in insertModel)
{
#region 参数判断
if(TB_HEAT_SPEs.Where(p=>p.SLAB_NO== model.SLAB_NO.Trim()).Count() > 0)
{
continue;
}
if (string.IsNullOrEmpty(model.SLAB_NO) )
{
result.msg = "板坯号不能为空!";
continue;
}
if (string.IsNullOrEmpty(model.REMARK))
{
result.msg = "备注不能为空!";
continue;
}
if (string.IsNullOrEmpty(model.PLT))
{
result.msg = "工厂不能为空!";
continue;
}
if(model.PLT != "C1" && model.PLT != "C2" && model.PLT != "C3")
{
result.msg = "工厂错误!";
continue;
}
//if (!ParameterCalibration(model, result))
//{
// db.Rollback();
// return result;
//}
#endregion
model.PK = "";
model.SLAB_NO = model.SLAB_NO.Trim();
model.REMARK = model.REMARK.Trim();
model.PLT = model.PLT.Trim();
model.INS_DATE = dtNow.ToString("yyyyMMdd");
model.INS_TIME = dtNow.ToString("HHmmss");
model.UPD_DATE = dtNow.ToString("yyyyMMdd");
model.UPD_TIME = dtNow.ToString("HHmmss");
model.STATUS = "0";
if (db.Insert(model) == 0)
{
b = false;
break;
}
}
if (b)
{
result.msg = "操作成功!";
result.code = "1";
//数据操作成功则保存数据
db.Commit();
}
else
{
result.msg = "操作失败!";
result.code = "0";
//操作失败回滚数据到初始状态
db.Rollback();
}
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("AddTbOrdSpe 报错 : ", ex);
if (ex.ToString().Contains("00001"))
{
result.msg = "重复插入!";
}
}
return result;
}
///
/// 添加接口
///
///
///
[HttpPost, Route("AddTbPltSpeOne")]
public RequestEntity AddTbPltSpeOne(TB_PLT_SPE model)
{
RequestEntity result = new RequestEntity();
DateTime dtNow = DateTime.Now;
IList TB_HEAT_SPEs = new List();
StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量
//查询
strSql.AppendLine("SELECT '' ord_fl ,t.* FROM TB_PLT_SPE t WHERE 1 = 1 ");
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
db.BeginTransaction();
TB_HEAT_SPEs = db.Query(strSql.ToString());
if (TB_HEAT_SPEs.Where(p => p.SLAB_NO == model.SLAB_NO.Trim()).Count() > 0)
{
db.Rollback();
result.msg = "不能重复插入!";
return result;
}
#region 参数判断
if (string.IsNullOrEmpty(model.SLAB_NO) )
{
db.Rollback();
result.msg = "板坯号不能为空!";
return result;
}
if (string.IsNullOrEmpty(model.REMARK))
{
db.Rollback();
result.msg = "备注不能为空!";
return result;
}
//if (!ParameterCalibration(model, result))
//{
// db.Rollback();
// return result;
//}
#endregion
model.PK = "";
model.SLAB_NO = model.SLAB_NO.Trim();
model.REMARK = model.REMARK.Trim();
model.REMARK = model.REMARK.Trim();
model.PLT = model.PLT.Trim();
model.INS_DATE = dtNow.ToString("yyyyMMdd");
model.INS_TIME = dtNow.ToString("HHmmss");
model.UPD_DATE = dtNow.ToString("yyyyMMdd");
model.UPD_TIME = dtNow.ToString("HHmmss");
model.STATUS = "0";
if (db.Insert(model) > 0)
{
result.msg = "操作成功!";
result.code = "1";
//数据操作成功则保存数据
db.Commit();
}
else
{
result.msg = "操作失败!";
result.code = "0";
//操作失败回滚数据到初始状态
db.Rollback();
}
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("AddTbOrdSpe 报错 : ", ex);
if (ex.ToString().Contains("00001"))
{
result.msg = "重复插入!";
}
}
return result;
}
///
/// 修改接口
///
///
///
[HttpPost, Route("UpdateTbPltSpe")]
public RequestEntity UpdateTbPltSpeOne(IList model)
{
RequestEntity result = new RequestEntity();
StringBuilder strSql = new StringBuilder();
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
try
{
//ORD_NO, ORD_ITEM
strSql.AppendLine("Update TB_PLT_SPE ");
strSql.AppendLine(string.Format("set 1=1 where SLAB_NO = '{0}' and REMARK = '{1}' ", model[1].SLAB_NO, model[1].REMARK));
db.Execute(strSql.ToString()); // 执行删除数据操作
//执行完操作之后清空strSql 准备下次 appendLine
strSql.Length = 0;
}
catch
{
logger.Error("该条记录修改失败: " + model.ToString());
}
result.msg = "操作成功";
result.code = "1";
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("UpdateTbOrdSpeOne 报错", ex);
}
return result;
}
///
/// 删除接口
///
///
///
[HttpPost, Route("DelTbPltSpe")]
public RequestEntity DelTbPltSpe(IList delModel)
{
RequestEntity result = new RequestEntity();
StringBuilder strSql = new StringBuilder();
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
foreach (var model in delModel)
{
try
{
//ORD_NO, ORD_ITEM
strSql.AppendLine("DELETE FROM tb_PLT_spe WHERE 1=1 ");
strSql.AppendLine(string.Format("AND Slab_NO = '{0}' AND REMARK = '{1}' ", model.SLAB_NO, model.REMARK));
db.Execute(strSql.ToString()); // 执行删除数据操作
//执行完操作之后清空strSql 准备下次 appendLine
strSql.Length = 0;
}
catch
{
logger.Error("该条记录删除失败: " + delModel.ToString());
}
}
result.msg = "操作成功";
result.code = "1";
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("DelTbOrdSpe 报错", ex);
}
return result;
}
#endregion
#region 不可替代垛位
///
/// 查询接口
///
///
///
[HttpPost, Route("getTbYardSpe")]
public RequestEntity GetTbYardSpe(TB_YARD_SPE query)
{
RequestEntity result = new RequestEntity(); //声明返回参数实体类
StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量
String strSql2 = string.Empty; //声明拼接Sql语句变量
DataTable dtCheck = new DataTable();
IList TB_HEAT_SPEs = new List();
//IList ltResult = new List();
//查询
strSql.AppendLine("SELECT * FROM TB_YARD_SPE WHERE 1 = 1 ");
if (query != null)
{
if (!string.IsNullOrWhiteSpace(query.LOC))
strSql.AppendLine(" AND LOC LIKE '%" + query.LOC + "%'");
}
strSql.AppendLine("Order By INS_DATE DESC ");
using (IDbContext db = ObjectContainer.GetObject("db"))
{
TB_HEAT_SPEs = db.Query(strSql.ToString());
}
//foreach (TB_HEAT_SPE order in TB_HEAT_SPEs)
//{
// strSql2 += string.Format(" or (boi.ORD_NO = '{0}' and boi.ORD_ITEM = '{1}')", order.ORD_NO, order.ORD_ITEM);
//}
//ltResult = TB_HEAT_SPEs;// getAPPOINTOrderInfo(strSql2);
//foreach (TB_HEAT_SPE order in TB_HEAT_SPEs)
//{
//if (ltResult.Where(p => p.ORD_NO == order.ORD_NO && p.ORD_ITEM == order.ORD_ITEM).Count() == 0)
//{
// TB_APPOINT_ORDER_INFO tB_APPOINT_ORDER_INFO = new TB_APPOINT_ORDER_INFO();
// tB_APPOINT_ORDER_INFO.ORD_NO = order.ORD_NO;
// tB_APPOINT_ORDER_INFO.ORD_ITEM = order.ORD_ITEM;
// tB_APPOINT_ORDER_INFO.COLOR_STROKE = "未找到订单信息";
// ltResult.Add(tB_APPOINT_ORDER_INFO);
//}
//}
if (TB_HEAT_SPEs.Count > 0)
{
result.code = "1";
result.data = TB_HEAT_SPEs;
}
return result;
}
///
/// 添加接口
///
///
///
[HttpPost, Route("AddTbYardSpe")]
public RequestEntity AddTbYardSpe(IList insertModel)
{
RequestEntity result = new RequestEntity();
DateTime dtNow = DateTime.Now;
try
{
bool b = true;
using (IDbContext db = ObjectContainer.GetObject("db"))
{
db.BeginTransaction();
foreach (TB_YARD_SPE model in insertModel)
{
#region 参数判断
if (string.IsNullOrEmpty(model.LOC))
{
continue;
}
if (string.IsNullOrEmpty(model.REMARK))
{
continue;
}
//if (!ParameterCalibration(model, result))
//{
// db.Rollback();
// return result;
//}
#endregion
model.PK = "";
model.LOC = model.LOC.Trim();
model.REMARK = model.REMARK.Trim();
model.PLT = model.PLT.Trim();
model.INS_DATE = dtNow.ToString("yyyyMMdd");
model.INS_TIME = dtNow.ToString("HHmmss");
model.UPD_DATE = dtNow.ToString("yyyyMMdd");
model.UPD_TIME = dtNow.ToString("HHmmss");
if (db.Insert(model) == 0)
{
b = false;
break;
}
}
if (b)
{
result.msg = "操作成功!";
result.code = "1";
//数据操作成功则保存数据
db.Commit();
}
else
{
result.msg = "操作失败!";
result.code = "0";
//操作失败回滚数据到初始状态
db.Rollback();
}
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("AddTbOrdSpe 报错 : ", ex);
if (ex.ToString().Contains("00001"))
{
result.msg = "重复插入!";
}
}
return result;
}
///
/// 添加接口
///
///
///
[HttpPost, Route("AddTbYardSpeOne")]
public RequestEntity AddTbYardSpeOne(TB_YARD_SPE model)
{
RequestEntity result = new RequestEntity();
DateTime dtNow = DateTime.Now;
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
db.BeginTransaction();
#region 参数判断
if (string.IsNullOrEmpty(model.LOC))
{
db.Rollback();
result.msg = "垛位不能为空!";
return result;
}
if (string.IsNullOrEmpty(model.REMARK))
{
db.Rollback();
result.msg = "备注不能为空!";
return result;
}
if (string.IsNullOrEmpty(model.PLT))
{
db.Rollback();
result.msg = "工厂不能为空!";
return result;
}
//if (!ParameterCalibration(model, result))
//{
// db.Rollback();
// return result;
//}
#endregion
model.PK = "";
model.LOC = model.LOC.Trim();
model.REMARK = model.REMARK.Trim();
model.REMARK = model.REMARK.Trim();
model.PLT = model.PLT.Trim();
model.INS_DATE = dtNow.ToString("yyyyMMdd");
model.INS_TIME = dtNow.ToString("HHmmss");
model.UPD_DATE = dtNow.ToString("yyyyMMdd");
model.UPD_TIME = dtNow.ToString("HHmmss");
if (db.Insert(model) > 0)
{
result.msg = "操作成功!";
result.code = "1";
//数据操作成功则保存数据
db.Commit();
}
else
{
result.msg = "操作失败!";
result.code = "0";
//操作失败回滚数据到初始状态
db.Rollback();
}
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("AddTbYARDSpe 报错 : ", ex);
if (ex.ToString().Contains("00001"))
{
result.msg = "重复插入!";
}
}
return result;
}
///
/// 修改接口
///
///
///
[HttpPost, Route("UpdateTbYardSpe")]
public RequestEntity UpdateTbYardSpeOne(IList model)
{
RequestEntity result = new RequestEntity();
StringBuilder strSql = new StringBuilder();
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
try
{
//ORD_NO, ORD_ITEM
strSql.AppendLine("Update TB_YARD_SPE ");
strSql.AppendLine(string.Format("set 1=1 where LOC = '{0}' and REMARK = '{1}' ", model[1].LOC, model[1].REMARK));
db.Execute(strSql.ToString()); // 执行删除数据操作
//执行完操作之后清空strSql 准备下次 appendLine
strSql.Length = 0;
}
catch
{
logger.Error("该条记录修改失败: " + model.ToString());
}
result.msg = "操作成功";
result.code = "1";
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("UpdateTbOrdSpeOne 报错", ex);
}
return result;
}
///
/// 删除接口
///
///
///
[HttpPost, Route("DelTbYardSpe")]
public RequestEntity DelTbYardSpe(IList delModel)
{
RequestEntity result = new RequestEntity();
StringBuilder strSql = new StringBuilder();
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
foreach (var model in delModel)
{
try
{
//ORD_NO, ORD_ITEM
strSql.AppendLine("DELETE FROM tb_Yard_spe WHERE 1=1 ");
strSql.AppendLine(string.Format("AND LOC = '{0}' AND REMARK = '{1}' ", model.LOC, model.REMARK));
db.Execute(strSql.ToString()); // 执行删除数据操作
//执行完操作之后清空strSql 准备下次 appendLine
strSql.Length = 0;
}
catch
{
logger.Error("该条记录删除失败: " + delModel.ToString());
}
}
result.msg = "操作成功";
result.code = "1";
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("DelTbYARDSpe 报错", ex);
}
return result;
}
#endregion
///
/// 查询接口
///
///
///
[HttpPost, Route("getTbSlabSpe")]
public RequestEntity GetTbSlabSpe(TB_SLAB_SPE query)
{
RequestEntity result = new RequestEntity(); //声明返回参数实体类
StringBuilder strSql = new StringBuilder(); //声明拼接Sql语句变量
DataTable dtCheck = new DataTable();
//查询
strSql.AppendLine("SELECT SLAB_NO, SLAB_FLG,PLT, SLAB_CON, PK,to_date(INS_DATE || INS_TIME ,'yyyy-mm-dd hh24:mi:ss') as INS_DATE ,INS_TIME,INS_EMP , to_date(UPD_DATE || UPD_TIME ,'yyyy-mm-dd hh24:mi:ss') as UPD_DATE, UPD_TIME,UPD_EMP FROM TB_SLAB_SPE WHERE 1 = 1 ");
if (query != null)
{
if (!string.IsNullOrWhiteSpace(query.SLAB_NO))
strSql.AppendLine(" AND SLAB_NO LIKE '%" + query.SLAB_NO + "%'");
if (!string.IsNullOrWhiteSpace(query.PLT))
strSql.AppendLine(" AND PLT LIKE '%" + query.PLT + "%'");
}
try
{
//开启数据库连接查询数据
using (IDbContext db = ObjectContainer.GetObject("db"))
{
strSql.AppendLine("Order By SLAB_CON ");
dtCheck = db.Query(strSql.ToString());
result.data = db.Query(strSql.ToString());
if (dtCheck.Rows.Count > 0)
{
result.msg = "操作成功!";
result.code = "1";
}
else
{
result.msg = "未找到查询所需数据!";
result.code = "1";
}
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("GetTbUstFl 报错", ex);
}
return result;
}
///
/// 添加接口
///
///
///
[HttpPost, Route("AddTbSlabSpe")]
public RequestEntity AddTbSlabSpe(IList insertModel)
{
RequestEntity result = new RequestEntity();
DateTime dtNow = DateTime.Now;
try
{
bool b = true;
using (IDbContext db = ObjectContainer.GetObject("db"))
{
db.BeginTransaction();
foreach (TB_SLAB_SPE model in insertModel)
{
#region 参数判断
if (string.IsNullOrEmpty(model.SLAB_NO))
{
continue;
}
if (CommonUtils.GetLength(model.SLAB_NO) > 20)
{
db.Rollback();
return result;
}
#endregion
model.PK = "";
model.SLAB_NO = model.SLAB_NO.Trim();
model.INS_DATE = dtNow.ToString("yyyyMMdd");
model.INS_TIME = dtNow.ToString("HHmmss");
model.UPD_DATE = dtNow.ToString("yyyyMMdd");
model.UPD_TIME = dtNow.ToString("HHmmss");
if (db.Insert(model) == 0)
{
b = false;
break;
}
}
if (b)
{
result.msg = "操作成功!";
result.code = "1";
//数据操作成功则保存数据
db.Commit();
}
else
{
result.msg = "操作失败!";
result.code = "0";
//操作失败回滚数据到初始状态
db.Rollback();
}
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("AddTbOrdSpe 报错 : ", ex);
if (ex.ToString().Contains("00001"))
{
result.msg = "重复插入!";
}
}
return result;
}
///
/// 添加接口
///
///
///
[HttpPost, Route("AddTbSlabSpeOne")]
public RequestEntity AddTbSlabSpeOne(TB_SLAB_SPE model)
{
RequestEntity result = new RequestEntity();
DateTime dtNow = DateTime.Now;
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
db.BeginTransaction();
#region 参数判断
if (string.IsNullOrEmpty(model.SLAB_NO))
{
db.Rollback();
return result;
}
if (CommonUtils.GetLength(model.SLAB_NO) > 20)
{
db.Rollback();
return result;
}
#endregion
model.PK = "";
model.SLAB_NO = model.SLAB_NO.Trim();
model.PLT = model.PLT.Trim();
model.INS_DATE = dtNow.ToString("yyyyMMdd");
model.INS_TIME = dtNow.ToString("HHmmss");
model.UPD_DATE = dtNow.ToString("yyyyMMdd");
model.UPD_TIME = dtNow.ToString("HHmmss");
if (db.Insert(model) > 0)
{
result.msg = "操作成功!";
result.code = "1";
//数据操作成功则保存数据
db.Commit();
}
else
{
result.msg = "操作失败!";
result.code = "0";
//操作失败回滚数据到初始状态
db.Rollback();
}
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("AddTbOrdSpe 报错 : ", ex);
if (ex.ToString().Contains("00001"))
{
result.msg = "重复插入!";
}
}
return result;
}
///
/// 修改接口
///
///
///
[HttpPost, Route("UpdateTbSlabSpe")]
public RequestEntity UpdateTbSlabSpeOne(IList model)
{
RequestEntity result = new RequestEntity();
StringBuilder strSql = new StringBuilder();
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
try
{
//ORD_NO, ORD_ITEM
strSql.AppendLine("Update TB_SLAB_SPE ");
strSql.AppendLine(string.Format("set PLT='{0}' where SLAB_NO = '{1}' ", model[1].PLT, model[1].SLAB_NO));
db.Execute(strSql.ToString()); // 执行删除数据操作
//执行完操作之后清空strSql 准备下次 appendLine
strSql.Length = 0;
}
catch
{
logger.Error("该条记录修改失败: " + model.ToString());
}
result.msg = "操作成功";
result.code = "1";
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("UpdateTbOrdSpeOne 报错", ex);
}
return result;
}
///
/// 删除接口
///
///
///
[HttpPost, Route("DelTbSlabSpe")]
public RequestEntity DelTbSlabOrdSpe(IList delModel)
{
RequestEntity result = new RequestEntity();
StringBuilder strSql = new StringBuilder();
try
{
using (IDbContext db = ObjectContainer.GetObject("db"))
{
foreach (var model in delModel)
{
try
{
//ORD_NO, ORD_ITEM
strSql.AppendLine("DELETE FROM TB_SLAB_SPE WHERE 1=1 ");
strSql.AppendLine(string.Format("AND SLAB_NO = '{0}' ", model.SLAB_NO));
db.Execute(strSql.ToString()); // 执行删除数据操作
//执行完操作之后清空strSql 准备下次 appendLine
strSql.Length = 0;
}
catch
{
logger.Error("该条记录删除失败: " + delModel.ToString());
}
}
result.msg = "操作成功";
result.code = "1";
}
}
catch (Exception ex)
{
result.msg = "数据库错误!";
result.code = "0";
logger.Error("DelTbOrdSpe 报错", ex);
}
return result;
}
}
}