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 ( ) ;
/// <summary>
/// 参数校验
/// </summary>
/// <param name="cncs"></param>
/// /// <param name="result"></param>
/// <returns>是否通过参数校验</returns>
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 特殊钢种成材率管控
/// <summary>
/// 查询接口
/// </summary>
/// <param name="queryArgs"></param>
/// <returns></returns>
[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 < IDbContext > ( "db" ) )
{
strSql . AppendLine ( "Order By INS_DATE DESC " ) ;
dtCheck = db . Query ( strSql . ToString ( ) ) ;
result . data = db . Query < TB_YIELD_CONTROL > ( 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 ;
}
/// <summary>
/// 添加接口
/// </summary>
/// <param name="insertModel"></param>
/// <returns></returns>
[HttpPost, Route("AddTbYieldControl")]
public RequestEntity AddTbYieldControl ( TB_YIELD_CONTROL model )
{
RequestEntity result = new RequestEntity ( ) ;
DateTime dtNow = DateTime . Now ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 < TB_YIELD_CONTROL > ( 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 ;
}
/// <summary>
/// 修改接口
/// </summary>
/// <param name="delModel"></param>
/// <returns></returns>
[HttpPost, Route("UpdateTbYieldControl")]
public RequestEntity UpdateTbYieldControl ( IList < TB_YIELD_CONTROL > model )
{
RequestEntity result = new RequestEntity ( ) ;
StringBuilder strSql = new StringBuilder ( ) ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 ;
}
/// <summary>
/// 删除接口
/// </summary>
/// <param name="delModel"></param>
/// <returns></returns>
[HttpPost, Route("DelTbYieldControl")]
public RequestEntity DelTbYieldControl ( IList < TB_YIELD_CONTROL > delModel )
{
RequestEntity result = new RequestEntity ( ) ;
StringBuilder strSql = new StringBuilder ( ) ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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
/// <summary>
/// 查询接口
/// </summary>
/// <param name="queryArgs"></param>
/// <returns></returns>
[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_SPE > tB_SLAB_ORD_SPEs = new List < TB_SLAB_ORD_SPE > ( ) ;
IList < TB_APPOINT_ORDER_INFO > ltResult = new List < TB_APPOINT_ORDER_INFO > ( ) ;
//查询
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 < IDbContext > ( "db" ) )
{
tB_SLAB_ORD_SPEs = db . Query < TB_SLAB_ORD_SPE > ( 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 < TB_APPOINT_ORDER_INFO > getAPPOINTOrderInfo ( string BOI )
{
StringBuilder strSql = new StringBuilder ( ) ; //声明拼接Sql语句变量
IList < TB_APPOINT_ORDER_INFO > ltBOI = new List < TB_APPOINT_ORDER_INFO > ( ) ;
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 ,'' XY_FLG " ) ;
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 < IDbContext > ( "db_sur" ) )
{
ltBOI = db . Query < TB_APPOINT_ORDER_INFO > ( strSql . ToString ( ) ) ;
}
}
catch ( Exception ex )
{
logger . Error ( "GetBOIInfo 报错" , ex ) ;
}
return ltBOI ;
}
/// <summary>
/// 添加接口
/// </summary>
/// <param name="insertModel"></param>
/// <returns></returns>
[HttpPost, Route("AddTbSlabOrdSpe")]
public RequestEntity AddTbSlabOrdSpe ( IList < TB_SLAB_ORD_SPE > insertModel )
{
RequestEntity result = new RequestEntity ( ) ;
DateTime dtNow = DateTime . Now ;
try
{
bool b = true ;
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 < TB_SLAB_ORD_SPE > ( 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 ;
}
/// <summary>
/// 添加接口
/// </summary>
/// <param name="insertModel"></param>
/// <returns></returns>
[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 < IDbContext > ( "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 < TB_SLAB_ORD_SPE > ( 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 ;
}
/// <summary>
/// 修改接口
/// </summary>
/// <param name="delModel"></param>
/// <returns></returns>
[HttpPost, Route("UpdateTbSlabOrdSpe")]
public RequestEntity UpdateTbSlabOrdSpeOne ( IList < TB_SLAB_ORD_SPE > model )
{
RequestEntity result = new RequestEntity ( ) ;
StringBuilder strSql = new StringBuilder ( ) ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 ;
}
/// <summary>
/// 删除接口
/// </summary>
/// <param name="delModel"></param>
/// <returns></returns>
[HttpPost, Route("DelTbSlabOrdSpe")]
public RequestEntity DelTbSlabOrdSpe ( IList < TB_SLAB_ORD_SPE > delModel )
{
RequestEntity result = new RequestEntity ( ) ;
StringBuilder strSql = new StringBuilder ( ) ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 选择板坯转工厂
/// <summary>
/// 查询接口
/// </summary>
/// <param name="queryArgs"></param>
/// <returns></returns>
[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_PLT_SPE_SEL > TB_HEAT_SPEs = new List < TB_PLT_SPE_SEL > ( ) ;
IList < TB_SlabOrdFl > TB_HEAT_SPEs2 = new List < TB_SlabOrdFl > ( ) ;
//IList<TB_APPOINT_ORDER_INFO> ltResult = new List<TB_APPOINT_ORDER_INFO>();
//查询
strSql . AppendLine ( "SELECT '' ord_fl ,'' STLGRD,'' SPECIFICATION,'' CUR_INV,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 < IDbContext > ( "db" ) )
{
TB_HEAT_SPEs = db . Query < TB_PLT_SPE_SEL > ( strSql . ToString ( ) ) ;
}
strSql2 = string . Join ( "','" , TB_HEAT_SPEs . Select ( p = > p . SLAB_NO ) ) ;
strSql2 = string . Format ( "Select slab_no,ord_fl,STLGRD,(THK || '*' || WID || '*' || LEN) SPECIFICATION,CUR_INV from nisco.fp_slab where slab_no in ('{0}')" , strSql2 ) ;
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "db_sur" ) )
{
TB_HEAT_SPEs2 = db . Query < TB_SlabOrdFl > ( strSql2 . ToString ( ) ) ;
}
foreach ( TB_PLT_SPE_SEL 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" ? "未替代" : "已替代" ;
tb . STLGRD = TB_HEAT_SPEs2 . Where ( p = > p . SLAB_NO = = tb . SLAB_NO ) . FirstOrDefault ( ) . STLGRD ;
tb . SPECIFICATION = TB_HEAT_SPEs2 . Where ( p = > p . SLAB_NO = = tb . SLAB_NO ) . FirstOrDefault ( ) . SPECIFICATION ;
tb . CUR_INV = TB_HEAT_SPEs2 . Where ( p = > p . SLAB_NO = = tb . SLAB_NO ) . FirstOrDefault ( ) . CUR_INV ;
}
else
{
tb . ORD_FL = "已替代" ;
}
}
if ( query ! = null )
{
if ( ! string . IsNullOrWhiteSpace ( query . ORD_FL ) )
TB_HEAT_SPEs = TB_HEAT_SPEs . Where ( p = > p . ORD_FL = = query . ORD_FL ) . ToList ( ) ;
}
//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 ;
}
/// <summary>
/// 添加接口
/// </summary>
/// <param name="insertModel"></param>
/// <returns></returns>
[HttpPost, Route("AddTbPltSpe")]
public RequestEntity AddTbPltSpe ( IList < TB_PLT_SPE > insertModel )
{
RequestEntity result = new RequestEntity ( ) ;
DateTime dtNow = DateTime . Now ;
IList < TB_PLT_SPE > TB_HEAT_SPEs = new List < TB_PLT_SPE > ( ) ;
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 < IDbContext > ( "db" ) )
{
db . BeginTransaction ( ) ;
TB_HEAT_SPEs = db . Query < TB_PLT_SPE > ( 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 < TB_PLT_SPE > ( 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 ;
}
/// <summary>
/// 添加接口
/// </summary>
/// <param name="insertModel"></param>
/// <returns></returns>
[HttpPost, Route("AddTbPltSpeOne")]
public RequestEntity AddTbPltSpeOne ( TB_PLT_SPE model )
{
RequestEntity result = new RequestEntity ( ) ;
DateTime dtNow = DateTime . Now ;
IList < TB_PLT_SPE > TB_HEAT_SPEs = new List < TB_PLT_SPE > ( ) ;
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 < IDbContext > ( "db" ) )
{
db . BeginTransaction ( ) ;
TB_HEAT_SPEs = db . Query < TB_PLT_SPE > ( 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 < TB_PLT_SPE > ( 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 ;
}
/// <summary>
/// 修改接口
/// </summary>
/// <param name="delModel"></param>
/// <returns></returns>
[HttpPost, Route("UpdateTbPltSpe")]
public RequestEntity UpdateTbPltSpeOne ( IList < TB_PLT_SPE > model )
{
RequestEntity result = new RequestEntity ( ) ;
StringBuilder strSql = new StringBuilder ( ) ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 ;
}
/// <summary>
/// 删除接口
/// </summary>
/// <param name="delModel"></param>
/// <returns></returns>
[HttpPost, Route("DelTbPltSpe")]
public RequestEntity DelTbPltSpe ( IList < TB_PLT_SPE > delModel )
{
RequestEntity result = new RequestEntity ( ) ;
StringBuilder strSql = new StringBuilder ( ) ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 不可替代垛位
/// <summary>
/// 查询接口
/// </summary>
/// <param name="queryArgs"></param>
/// <returns></returns>
[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_YARD_SPE > TB_HEAT_SPEs = new List < TB_YARD_SPE > ( ) ;
//IList<TB_APPOINT_ORDER_INFO> ltResult = new List<TB_APPOINT_ORDER_INFO>();
//查询
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 < IDbContext > ( "db" ) )
{
TB_HEAT_SPEs = db . Query < TB_YARD_SPE > ( 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 ;
}
/// <summary>
/// 添加接口
/// </summary>
/// <param name="insertModel"></param>
/// <returns></returns>
[HttpPost, Route("AddTbYardSpe")]
public RequestEntity AddTbYardSpe ( IList < TB_YARD_SPE > insertModel )
{
RequestEntity result = new RequestEntity ( ) ;
DateTime dtNow = DateTime . Now ;
try
{
bool b = true ;
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 < TB_YARD_SPE > ( 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 ;
}
/// <summary>
/// 添加接口
/// </summary>
/// <param name="insertModel"></param>
/// <returns></returns>
[HttpPost, Route("AddTbYardSpeOne")]
public RequestEntity AddTbYardSpeOne ( TB_YARD_SPE model )
{
RequestEntity result = new RequestEntity ( ) ;
DateTime dtNow = DateTime . Now ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 < TB_YARD_SPE > ( 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 ;
}
/// <summary>
/// 修改接口
/// </summary>
/// <param name="delModel"></param>
/// <returns></returns>
[HttpPost, Route("UpdateTbYardSpe")]
public RequestEntity UpdateTbYardSpeOne ( IList < TB_YARD_SPE > model )
{
RequestEntity result = new RequestEntity ( ) ;
StringBuilder strSql = new StringBuilder ( ) ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 ;
}
/// <summary>
/// 删除接口
/// </summary>
/// <param name="delModel"></param>
/// <returns></returns>
[HttpPost, Route("DelTbYardSpe")]
public RequestEntity DelTbYardSpe ( IList < TB_YARD_SPE > delModel )
{
RequestEntity result = new RequestEntity ( ) ;
StringBuilder strSql = new StringBuilder ( ) ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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
/// <summary>
/// 查询接口
/// </summary>
/// <param name="queryArgs"></param>
/// <returns></returns>
[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 < IDbContext > ( "db" ) )
{
strSql . AppendLine ( "Order By SLAB_CON " ) ;
dtCheck = db . Query ( strSql . ToString ( ) ) ;
result . data = db . Query < TB_SLAB_SPE > ( 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 ;
}
/// <summary>
/// 添加接口
/// </summary>
/// <param name="insertModel"></param>
/// <returns></returns>
[HttpPost, Route("AddTbSlabSpe")]
public RequestEntity AddTbSlabSpe ( IList < TB_SLAB_SPE > insertModel )
{
RequestEntity result = new RequestEntity ( ) ;
DateTime dtNow = DateTime . Now ;
try
{
bool b = true ;
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 < TB_SLAB_SPE > ( 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 ;
}
/// <summary>
/// 添加接口
/// </summary>
/// <param name="insertModel"></param>
/// <returns></returns>
[HttpPost, Route("AddTbSlabSpeOne")]
public RequestEntity AddTbSlabSpeOne ( TB_SLAB_SPE model )
{
RequestEntity result = new RequestEntity ( ) ;
DateTime dtNow = DateTime . Now ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 < TB_SLAB_SPE > ( 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 ;
}
/// <summary>
/// 修改接口
/// </summary>
/// <param name="delModel"></param>
/// <returns></returns>
[HttpPost, Route("UpdateTbSlabSpe")]
public RequestEntity UpdateTbSlabSpeOne ( IList < TB_SLAB_SPE > model )
{
RequestEntity result = new RequestEntity ( ) ;
StringBuilder strSql = new StringBuilder ( ) ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 ;
}
/// <summary>
/// 删除接口
/// </summary>
/// <param name="delModel"></param>
/// <returns></returns>
[HttpPost, Route("DelTbSlabSpe")]
public RequestEntity DelTbSlabOrdSpe ( IList < TB_SLAB_SPE > delModel )
{
RequestEntity result = new RequestEntity ( ) ;
StringBuilder strSql = new StringBuilder ( ) ;
try
{
using ( IDbContext db = ObjectContainer . GetObject < IDbContext > ( "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 ;
}
}
}