| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- /*******************************************************************************
- * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:SmartDeviceLogic.cs
- * 2.功能描述:接收智能设备请求。
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * 陈晓野 2018/10/25 1.00 新建
- *******************************************************************************/
- using System;
- using System.Data;
- using Dongke.IBOSS.PRD.Basics.DataAccess;
- using Dongke.IBOSS.PRD.Service.DataModels;
- using Dongke.IBOSS.PRD.WCF.DataModels;
- using Dongke.IBOSS.PRD.Basics.BaseResources;
- using Oracle.ManagedDataAccess.Client;
- namespace Dongke.IBOSS.PRD.Service.SmartDeviceService
- {
- /// <summary>
- /// 处理智能设备请求
- /// </summary>
- public class SmartDeviceLogic
- {
- /// <summary>
- /// 验证连接信息
- /// </summary>
- /// <param name="barcode"></param>
- /// <param name="sUserInfo"></param>
- /// <returns></returns>
- public static DataTable CheckUserCode(string accountcode, string usercode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = "SELECT a.accountid, a.accountcode, u.userid, u.usercode, u.username\n" +
- " FROM tp_mst_user u\n" +
- " INNER JOIN tp_mst_account a\n" +
- " ON a.accountid = u.accountid\n" +
- " WHERE u.valueflag = '1'\n" +
- " AND u.usercode = :usercode\n" +
- " AND a.accountcode = :accountcode";
- OracleParameter[] paras = new OracleParameter[]
- {
- new OracleParameter(":usercode",OracleDbType.Varchar2, usercode,ParameterDirection.Input),
- new OracleParameter(":accountcode",OracleDbType.Varchar2, accountcode,ParameterDirection.Input),
- };
- DataTable userInfo = con.GetSqlResultToDt(sqlString, paras);
- if (userInfo == null || userInfo.Rows.Count == 0)
- {
- return null;
- }
- return userInfo;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- //xuwei add 2019-11-19 增加 按窑车号 查询窑车数据 方法
- public static DataTable getKilnCarByCode(string kilnCarCode)
- {
- IDBConnection conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- conn.Open();
- DataTable kilnCar = conn.GetSqlResultToDt($@"
- SELECT
- k.KILNID,
- k.KILNCODE,
- k.KILNNAME,
- c.KILNCARID,
- c.KILNCARCODE,
- c.KILNCARNAME
- FROM
- TP_MST_KILN k
- LEFT JOIN TP_MST_KILNCAR c ON k.KILNID = c.KILNID
- WHERE
- c.VALUEFLAG = '1'
- AND c.KILNCARCODE = '{kilnCarCode}'
- ");
- conn.Close();
- return kilnCar;
- }
- //xuwei end
- //xuwei add 2019-11-15 增加 plc 的 注浆 登窑 入窑 卸窑 方法
- /// <summary>
- /// 通过 accountCode 和 userCode 自动从系统获取userinfo 用来通过原业务逻辑验证
- /// </summary>
- /// <param name="acountCode"></param>
- /// <param name="userCode"></param>
- /// <returns></returns>
- public static SUserInfo getUserInfoByDoLogin(string acountCode,string userCode)
- {
- SUserInfo sUser = new SUserInfo();
- #region 直接从库里读取密码备用
- IDBConnection conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- conn.Open();
- string password = conn.GetSqlResultToStr($@"
- SELECT
- PASSWORD
- FROM
- TP_MST_USER
- WHERE
- ACCOUNTCODE = '{acountCode}'
- AND USERCODE = '{userCode}'
- ");
- conn.Close();
- #endregion
- #region 设置登录参数
- LoginRequestEntity para = new LoginRequestEntity();
- para.AccountCode = acountCode;
- para.UserCode = userCode;
- para.Password = password;
- para.ComputerName = "PLC";
- para.IPAddress = "0.0.0.0";
- para.MACAddress = "00:00:00:00:00:00";
- para.SessionKey = null;
- #endregion
- #region 调用标准登录接口获取UserInfo 参数 activeType 0 pc登录 1 移动端登录
- LoginResultEntity result = DKIBOSSPRDLogic.DKIBOSSPRDLogic.DoLogin(para, "0");
- sUser.AccountCode = result.CurrentUserEntity.AccountCode;
- sUser.AccountID = result.CurrentUserEntity.AccountID;
- sUser.ComputerName = para.ComputerName;
- sUser.IPAddress = para.IPAddress;
- sUser.MACAddress = para.MACAddress;
- sUser.OrganizationCode = result.CurrentUserEntity.OrganizationCode;
- sUser.OrganizationID = result.CurrentUserEntity.OrganizationID;
- sUser.SessionKey = result.CurrentUserEntity.SessionKey;
- sUser.UserCode = result.CurrentUserEntity.UserCode;
- sUser.UserID = result.CurrentUserEntity.UserID;
- #endregion
- return sUser;
- }
- /// <summary>
- /// 通过 accountCode 和 userCode 获取 userinfo
- /// </summary>
- /// <param name="accountCode"></param>
- /// <param name="userCode"></param>
- /// <returns></returns>
- public static SUserInfo getUserInfo(string accountCode,string userCode)
- {
- SUserInfo sUser = new SUserInfo();
- DataTable dt = CheckUserCode(accountCode, userCode);
- if(dt.Rows.Count>0)
- {
- sUser.AccountCode = accountCode;
- sUser.AccountID = Convert.ToInt32(dt.Rows[0]["accountid"]);
- sUser.UserCode = userCode;
- sUser.UserID = Convert.ToInt32(dt.Rows[0]["userid"]);
- }
- return sUser;
- }
- /// <summary>
- /// 注浆
- /// </summary>
- /// <param name="accountCode"></param>
- /// <param name="userCode"></param>
- /// <param name="groutingData"></param>
- /// <returns></returns>
- public static ServiceResultEntity SetGroutingLineDetail(string lineCode, string groutingData, SUserInfo sUserInfo)
- {
- IDBConnection conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- string sqlString = "select t.userid, u.usercode, u.username, t.groutinglineid\n" +
- " from tp_pc_groutingline t\n" +
- " inner join tp_mst_user u\n" +
- " on u.userid = t.userid\n" +
- " where t.groutinglinecode = :lineCode\n" +
- " and t.valueflag='1'\n" +
- " and t.gmouldstatus = 1";
- OracleParameter[] paras = new OracleParameter[]
- {
- new OracleParameter(":lineCode", lineCode),
- };
- DataTable dt = conn.GetSqlResultToDt(sqlString, paras);
- if (dt == null || dt.Rows.Count == 0)
- {
- ServiceResultEntity sre = new ServiceResultEntity();
- sre.Status = Constant.ServiceResultStatus.NoSearchResults;
- sre.Message = $"成型线{lineCode}不存在或当前状态不能注浆";
- return sre;
- }
- sUserInfo.UserID = Convert.ToInt32(dt.Rows[0]["userid"]);
- sUserInfo.UserCode = dt.Rows[0]["usercode"] + "";
- return PDAModuleLogic.PDAModuleLogic.SetGroutingLineDetail(groutingData, sUserInfo);
- }
- /// <summary>
- /// 登窑 入窑 卸窑
- /// </summary>
- /// <param name="accountCode"></param>
- /// <param name="userCode"></param>
- /// <param name="procedureID"></param>
- /// <param name="barcodeTable"></param>
- /// <param name="procedureInfo"></param>
- /// <returns></returns>
- public static DataTable AddWorkPieceKiln(int procedureID, DataTable barcodeTable, SUserInfo sUserInfo)
- {
- ProcedureEntity procedureInfo = null;
- ServiceResultEntity sre = new ServiceResultEntity();
- return PMModuleLogic.PMModuleLogicDAL.AddWorkPiece(procedureID, barcodeTable, sUserInfo, out procedureInfo);
- }
- //xuwei end
- #region 恒洁三水三车间对接乾润工序用
- /// <summary>
- /// 获取条码返回数据
- /// </summary>
- /// <param name="barcode"></param>
- /// <returns></returns>
- public static DataTable GetGroutingdailydetail(string barcode)
- {
- IDBConnection conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- string sqlString = "SELECT \n" +
- " t.barcode\n" +
- " ,t.goodscode\n" +
- " ,t.materialcode\n" +
- " ,g.goodstypeid\n" +
- " ,g.goods_line_type\n" +
- " ,t.goodsleveltypeid\n" +
- " ,t.GROUTINGLINECODE\n" +
- " ,t.GROUTINGLINENAME\n" +
- " FROM tp_pm_groutingdailydetail t\n" +
- " INNER JOIN tp_mst_goods g\n" +
- " ON g.goodsid = t.goodsid\n" +
- " WHERE t.barcode = :barcode";
- OracleParameter[] paras = new OracleParameter[]
- {
- new OracleParameter(":barcode", barcode),
- };
- DataTable data = conn.GetSqlResultToDt(sqlString, paras);
- return data;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- conn.Close();
- }
- }
- //public static string AddSmartLog(string )
- //{
- //}
- #endregion
- }
- }
|