Beispiel #1
0
        /// <summary>
        /// 插入信息(单表)
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>插入行数</returns>
        public int Insert(WorkGroup model)
        {
            int count = 0;
            List <DataParameter> parameters = new List <DataParameter>();

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    string sql = "DELETE FROM T_FP_WORKGROUPREF WHERE WOID = @WOID";
                    parameters.Add(new DataParameter {
                        ParameterName = "WOID", DataType = DbType.String, Value = model.PID
                    });
                    session.ExecuteSqlScalar(sql, parameters.ToArray());
                    //插入基本信息
                    count = session.Insert <WorkGroup>(model);
                    foreach (WorkGroupRef detail in model.Details)
                    {
                        WorkGroupRef workGroupRef = new WorkGroupRef();
                        workGroupRef.PID  = Guid.NewGuid().ToString();
                        workGroupRef.PEID = detail.PEID;
                        workGroupRef.WOID = model.PID;
                        session.Insert <WorkGroupRef>(workGroupRef);
                    }
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #2
0
        /// <summary>
        /// 插入用户信息信息
        /// </summary>
        /// <param name="user">用户信息信息</param>
        /// <returns>插入数</returns>
        public int Insert(User user)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();

                    //插入基本信息
                    session.Insert <User>(user);

                    //插入用户角色信息
                    if (user.Roles != null)
                    {
                        foreach (UserRole ur in user.Roles)
                        {
                            ur.UserID = user.UserID;
                        }
                        //插入角色信息
                        session.Insert <UserRole>(user.Roles);
                    }

                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #3
0
        /// <summary>
        /// 插入信息(单表)
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>插入行数</returns>
        public int Insert(SupplyInfo model)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();
                    //插入基本信息
                    count = session.Insert <SupplyInfo>(model);
                    foreach (SupplyMaterialInfo detail in model.Details)
                    {
                        detail.PID      = Guid.NewGuid().ToString();
                        detail.SUPPLYID = model.PID;
                        session.Insert <SupplyMaterialInfo>(detail);
                    }
                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #4
0
        /// <summary>
        /// 插入角色
        /// </summary>
        /// <param name="role">角色信息</param>
        /// <returns>插入数</returns>
        public int Insert(RoleInfo role)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();

                    //插入基本信息
                    session.Insert <RoleInfo>(role);
                    if (role.Powers != null)
                    {
                        foreach (RoleAuthority ra in role.Powers)
                        {
                            ra.RoleID = role.RoleID;
                        }
                        //插入权限信息
                        session.Insert <RoleAuthority>(role.Powers);
                    }
                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Beispiel #5
0
        /// <summary>
        /// 插入信息(单表)
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>插入行数</returns>
        public int Insert(WHQualityCheck model)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();
                    //插入基本信息
                    count = session.Insert <WHQualityCheck>(model);
                    foreach (WHQualityCheckResult detail in model.QualityCheckResults)
                    {
                        detail.ID      = Guid.NewGuid().ToString();
                        detail.CheckID = model.ID;
                        session.Insert <WHQualityCheckResult>(detail);
                    }
                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #6
0
        /// <summary>
        /// 插入信息(单表)
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>插入行数</returns>
        public int Insert(ProduceBOM model)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();
                    //插入基本信息
                    count = session.Insert <ProduceBOM>(model);
                    foreach (BOMDetail detail in model.Details)
                    {
                        detail.PID   = Guid.NewGuid().ToString();
                        detail.BOMID = model.PID;
                        session.Insert <BOMDetail>(detail);
                    }
                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #7
0
 public void Insert(UseMatBill bill)
 {
     using (IDataSession session = AppDataFactory.CreateMainSession())
     {
         session.OpenTs();
         session.Insert <UseMatBill>(bill);
         session.Insert <UseMatAmount>(bill.Amounts);
         session.Insert <UseMatDetail>(bill.Details);
         session.CommitTs();
     }
 }
Beispiel #8
0
        /// <summary>
        /// 插入信息(单表)
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>插入行数</returns>
        public int Insert(ProcessInfo model)
        {
            int count = 0;
            List <DataParameter> parameters = new List <DataParameter>();

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    //插入基本信息
                    count = session.Insert <ProcessInfo>(model);
                    string sql = "DELETE FROM T_FP_EQUIPMENTREF WHERE PRID = @PRID";
                    parameters.Add(new DataParameter {
                        ParameterName = "PRID", DataType = DbType.String, Value = model.PID
                    });
                    session.ExecuteSqlScalar(sql, parameters.ToArray());
                    if (model.Details != null)
                    {
                        foreach (EquipmentRef detail in model.Details)
                        {
                            EquipmentRef eref = new EquipmentRef();
                            eref.PID  = Guid.NewGuid().ToString();
                            eref.EQID = detail.EQID;
                            eref.PRID = model.PID;
                            session.Insert <EquipmentRef>(eref);
                        }
                    }

                    string sql2 = "DELETE FROM T_FP_STATIONREF WHERE PRID = @PRID";
                    session.ExecuteSqlScalar(sql2, parameters.ToArray());
                    if (model.Details2 != null)
                    {
                        foreach (StationRef detail in model.Details2)
                        {
                            StationRef eref = new StationRef();
                            eref.PID  = Guid.NewGuid().ToString();
                            eref.STID = detail.STID;
                            eref.PRID = model.PID;
                            session.Insert <StationRef>(eref);
                        }
                    }
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #9
0
 /// <summary>
 /// 保存货品唯一识别码
 /// </summary>
 /// <param name="list">物料唯一识别码列表</param>
 public void SaveMatIDCode(List <MatIDCode> list)
 {
     using (IDataSession session = AppDataFactory.CreateMainSession())
     {
         session.Insert <MatIDCode>(list);
     }
 }
Beispiel #10
0
        /// <summary>
        /// 更新信息
        /// </summary>
        /// <param name=""></param>
        /// <returns>更新行数</returns>
        public int Update(SupplyInfo model)
        {
            int    count = 0;
            string sql   = "delete from T_FP_SUPPLYMATERIALINFO where SUPPLYID = @SUPPLYID";

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();
                    //更新BOM信息
                    count = session.Update <SupplyInfo>(model);
                    //删除BOM明细信息
                    session.ExecuteSql(sql, new DataParameter("SUPPLYID", model.PID));
                    foreach (SupplyMaterialInfo detail in model.Details)
                    {
                        detail.PID      = Guid.NewGuid().ToString();
                        detail.SUPPLYID = model.PID;
                        session.Insert <SupplyMaterialInfo>(detail);
                    }
                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #11
0
        /// <summary>
        /// 插入组织机构信息
        /// </summary>
        /// <param name="orga">组织机构信息</param>
        /// <returns>插入数</returns>
        public int Insert(Orgaization orga)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();
                    orga.DelFlag = "0";
                    if (String.IsNullOrEmpty(orga.OrganParent))
                    {
                        orga.OrganParent = "0";
                    }
                    //插入基本信息
                    session.Insert <Orgaization>(orga);

                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #12
0
        /// <summary>
        /// 更新信息
        /// </summary>
        /// <param name=""></param>
        /// <returns>更新行数</returns>
        public int Update(WHQualityCheck model)
        {
            int    count = 0;
            string sql   = "delete from T_WH_QualityCheckResult where CheckID = @CheckID";

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();
                    count = session.Update <WHQualityCheck>(model);
                    session.ExecuteSql(sql, new DataParameter("CheckID", model.ID));

                    foreach (WHQualityCheckResult detail in model.QualityCheckResults)
                    {
                        detail.ID      = Guid.NewGuid().ToString();
                        detail.CheckID = model.ID;
                        session.Insert <WHQualityCheckResult>(detail);
                    }
                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #13
0
        /// <summary>
        /// 更新信息
        /// </summary>
        /// <param name=""></param>
        /// <returns>更新行数</returns>
        public int Update(ProduceBOM model)
        {
            int    count = 0;
            string sql   = "delete from T_FP_BOMDETAIL where BOMID = @BOMID";

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();
                    //更新BOM信息
                    count = session.Update <ProduceBOM>(model);
                    //删除BOM明细信息
                    session.ExecuteSql(sql, new DataParameter("BOMID", model.PID));
                    foreach (BOMDetail detail in model.Details)
                    {
                        detail.PID   = Guid.NewGuid().ToString();
                        detail.BOMID = model.PID;
                        session.Insert <BOMDetail>(detail);
                    }
                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #14
0
        /// <summary>
        /// 插入信息(单表)
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>插入行数</returns>
        public int Insert(GoodInfo model)
        {
            int count = 0;
            List <DataParameter> parameters = new List <DataParameter>();

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();

                    //插入基本信息
                    count = session.Insert <GoodInfo>(model);
                    string sql = "UPDATE T_FP_ProducePlan SET FactAmount = FactAmount+@OfflineNum WHERE PID =@PID";
                    parameters.Add(new DataParameter {
                        ParameterName = "OfflineNum", DataType = DbType.String, Value = model.OfflineNum
                    });
                    parameters.Add(new DataParameter {
                        ParameterName = "PID", DataType = DbType.String, Value = model.PLANID
                    });
                    count = session.ExecuteSql(sql, parameters.ToArray());

                    //产品组成批次号
                    sql = "update T_FP_GoodPackingForm set BatchNumber = @BatchNumber where GoodBarCode = @GoodBarCode";
                    session.ExecuteSql(sql, new DataParameter("BatchNumber", model.BatchNumber), new DataParameter("GoodBarCode", model.GoodBarCode));

                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #15
0
 public void Insert(WHMonthAccount info)
 {
     using (IDataSession session = AppDataFactory.CreateMainSession())
     {
         session.Insert <WHMonthAccount>(info);
     }
 }
Beispiel #16
0
 /// <summary>
 /// 新增盘点单
 /// </summary>
 /// <param name="info"></param>
 public void Insert(CheckStockBill info)
 {
     try
     {
         using (IDataSession session = AppDataFactory.CreateMainSession())
         {
             session.OpenTs();
             session.Insert <CheckStockBill>(info);
             session.Insert <CheckStockDetail>(info.Details);
             session.CommitTs();
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #17
0
        public void Delete(UseMatBill bill)
        {
            string sql = null;

            using (IDataSession session = AppDataFactory.CreateMainSession())
            {
                session.OpenTs();
                session.Delete <UseMatBill>(bill);

                sql = "delete from T_WH_UseMatAmount where USEID = @USEID";
                session.ExecuteSql(sql, new DataParameter("USEID", bill.PID));
                session.Insert <UseMatAmount>(bill.Amounts);

                sql = "delete from T_WH_UseMatDetail where USEID = @USEID";
                session.ExecuteSql(sql, new DataParameter("USEID", bill.PID));
                session.Insert <UseMatDetail>(bill.Details);
                session.CommitTs();
            }
        }
Beispiel #18
0
        /// <summary>
        /// 处理设备信息.数据库中没有时插入.有时更新最后登陆时间.并更新缓存中的设备信息
        /// </summary>
        /// <param name="key"></param>
        /// <param name="ip"></param>
        /// <param name="port"></param>
        static void handleDeviceInfo(string terminalType, string keyStr, string ip, string port, out string key)
        {
            string no = Tools.HexStrToDecimal(keyStr).ToString().PadLeft(2, '0');

            key = terminalType + "_" + no;

            //判断设备ID在设备列表里是否存在.不存在直接返回
            DeviceInfo deviceInfo = (ThJob.deviceList.ContainsKey(key) ? ThJob.deviceList[key] : null);

            //在数据库中创建一个设备
            if (deviceInfo == null)
            {
                deviceInfo                  = new DeviceInfo();
                deviceInfo.Id               = Guid.NewGuid().ToString();
                deviceInfo.DeviceSN         = key;
                deviceInfo.DeviceName       = key;
                deviceInfo.DeviceIP         = ip;
                deviceInfo.DevicePort       = port;
                deviceInfo.DeviceType       = terminalType;
                deviceInfo.LastRegisterTime = DateTime.Now;
                deviceInfo.LastLoginTime    = deviceInfo.LastRegisterTime;
                //从配置文件中取出设置的当前企业的ID
                string organid = ConfigurationManager.AppSettings["deviceInfo"];
                deviceInfo.OrganID = (organid != null ? organid.ToString() : "");
                //机构
                //备注
                //插入设备信息
                using (IDataSession mysqlSession = AppDataFactory.CreateMainSession())
                {
                    //插入基本信息
                    mysqlSession.Insert(deviceInfo);
                }
                //新的设备信息放入到字典表中
                ThJob.deviceList.TryAdd(key, deviceInfo);
            }
            else
            {
                //更新设备最后登陆时间
                using (IDataSession mysqlSession = AppDataFactory.CreateMainSession())
                {
                    deviceInfo.LastLoginTime = DateTime.Now;
                    //更新设备最后登陆时间
                    mysqlSession.Update(deviceInfo);
                }
            }
        }
Beispiel #19
0
        /// <summary>
        /// 保存仓库权限
        /// </summary>
        /// <param name="userID">用户主键</param>
        /// <param name="powers">仓库权限</param>
        public void SaveWHPowers(string userID, List <WarehousePower> powers)
        {
            string sql = "delete from T_WH_WHPower where UserID = @UserID";

            using (IDataSession session = AppDataFactory.CreateMainSession())
            {
                session.OpenTs();

                //删除
                session.ExecuteSql(sql, new DataParameter("UserID", userID));

                //新增
                session.Insert <WarehousePower>(powers);

                session.CommitTs();
            }
        }
Beispiel #20
0
        /// <summary>
        /// 装箱
        /// </summary>
        /// <param name="list"></param>
        public void Packing(List <GoodPackingForm> list)
        {
            string sql = "delete from T_FP_GoodPackingForm where GoodBarCode = @GoodBarCode";

            using (IDataSession session = AppDataFactory.CreateMainSession())
            {
                session.OpenTs();

                //删除原装箱信息
                session.ExecuteSql(sql, new DataParameter("GoodBarCode", list[0].GoodBarCode));

                //添加装箱信息
                session.Insert <GoodPackingForm>(list);

                session.CommitTs();
            }
        }
Beispiel #21
0
        /// <summary>
        /// 插入公告
        /// </summary>
        /// <param name="user">公告信息</param>
        /// <returns>插入数</returns>
        public int Insert(NoticeInfo user)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    //插入基本信息
                    count = session.Insert <NoticeInfo>(user);
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Beispiel #22
0
        /// <summary>
        /// 插入信息(单表)
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>插入行数</returns>
        public int Insert(ProductInfo model)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    //插入基本信息
                    count = session.Insert <ProductInfo>(model);
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #23
0
        /// <summary>
        /// 插入信息(单表)
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>插入行数</returns>
        public int InsertRef(WorkGroupRef model)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    //插入基本信息
                    count = session.Insert <WorkGroupRef>(model);
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #24
0
        /// <summary>
        /// 插入操作记录
        /// </summary>
        /// <param name="log">记录</param>
        /// <returns>插入数</returns>
        public int Insert(SystemOperateLog log)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    //插入权限信息
                    count = session.Insert <SystemOperateLog>(log);
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Beispiel #25
0
        /// <summary>
        /// 插入信息(单表)
        /// </summary>
        /// <param name="">信息</param>
        /// <returns>插入行数</returns>
        public int Insert(WHStockLimit info)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    //插入基本信息
                    count = session.Insert <WHStockLimit>(info);
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #26
0
        /// <summary>
        /// 插入操作记录(列表)
        /// </summary>
        /// <param name="log">记录</param>
        /// <returns>插入数</returns>
        public int InsertList(List <SystemOperateLog> logList)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();

                    session.Insert <SystemOperateLog>(logList);

                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Beispiel #27
0
        /// <summary>
        /// 插入监测项目信息
        /// </summary>
        /// <param name="itemInfo">监测项目信息</param>
        /// <returns>插入数</returns>
        public int Insert(InspectItemEntity itemInfo)
        {
            int count = 0;

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();

                    //插入基本信息
                    session.Insert <InspectItemEntity>(itemInfo);

                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #28
0
        /// <summary>
        /// 更新角色
        /// </summary>
        /// <param name="role">角色信息</param>
        /// <returns>更新个数</returns>
        public int Update(RoleInfo role)
        {
            int    count = 0;
            string sql   = null;
            List <DataParameter> parameters = new List <DataParameter>();

            try
            {
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.OpenTs();

                    //更新基本信息
                    session.Update <RoleInfo>(role);

                    //更新权限信息
                    sql = "DELETE FROM T_ROLEAUTHORITY WHERE ROLEID=@ROLEID";
                    sql = this.ChangeSqlByDB(sql, session);
                    session.ExecuteSql(sql, new DataParameter {
                        ParameterName = "ROLEID", DataType = DbType.String, Value = role.RoleID
                    });

                    if (role.Powers != null)
                    {
                        session.Insert <RoleAuthority>(role.Powers);
                    }


                    session.CommitTs();
                }
                return(count);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Beispiel #29
0
        /// <summary>
        /// 保存采集数据
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public bool saveItemAndCalResultData(string dataStr, string resDataStr)
        {
            int count = 0;
            List <InspectItemData>         itemList         = JsonConvertHelper.DeserializeObject <List <InspectItemData> >(dataStr);
            List <InspectRealTimeItemData> realTimeItemList = JsonConvertHelper.DeserializeObject <List <InspectRealTimeItemData> >(dataStr);
            List <InspectResultData>       culResultList    = JsonConvertHelper.DeserializeObject <List <InspectResultData> >(resDataStr);

            //用于事务处理
            using (IDataSession session = AppDataFactory.CreateMainSession())
            {
                try
                {
                    //插入基本信息
                    count = session.Insert <InspectItemData>(itemList);
                    foreach (InspectRealTimeItemData irti in realTimeItemList)
                    {
                        List <DataParameter> dataParameter = new List <DataParameter>();
                        dataParameter.Add(new DataParameter {
                            ParameterName = "DeviceSN", DataType = DbType.String, Value = irti.DeviceSN
                        });
                        dataParameter.Add(new DataParameter {
                            ParameterName = "ItemCode", DataType = DbType.String, Value = irti.ItemCode
                        });
                        //更新实时记录表
                        int updCount = Convert.ToInt32(session.ExecuteSqlScalar("select count(0) from inspectrealtimedata where DeviceCode = @DeviceSN and ItemCode = @ItemCode ", dataParameter.ToArray()));
                        //如果返回数据为0说明记录不存在则插入一条新的记录
                        if (updCount == 0)
                        {
                            session.Insert(irti);
                        }
                        else
                        {
                            //更新值
                            dataParameter.Add(new DataParameter {
                                ParameterName = "InspectTime", DataType = DbType.DateTime, Value = irti.InspectTime
                            });
                            dataParameter.Add(new DataParameter {
                                ParameterName = "InspectData", DataType = DbType.String, Value = irti.InspectData
                            });
                            dataParameter.Add(new DataParameter {
                                ParameterName = "UpdateTime", DataType = DbType.DateTime, Value = irti.UpdateTime
                            });
                            session.ExecuteSqlScalar("update inspectrealtimedata set InspectTime = @InspectTime, InspectData = @InspectData, UpdateTime = @UpdateTime where DeviceCode = @DeviceSN and ItemCode = @ItemCode ", dataParameter.ToArray());
                        }
                    }

                    //测试时使用否则插入同一张表中数据会主键冲突
                    foreach (InspectResultData ird in culResultList)
                    {
                        List <DataParameter> dataParameter = new List <DataParameter>();
                        dataParameter.Add(new DataParameter {
                            ParameterName = "ID", DataType = DbType.String, Value = ird.ID
                        });
                        int dataCount = Convert.ToInt32(session.ExecuteSqlScalar("select count(0) from inspectcalcresult where ID = @ID ", dataParameter.ToArray()));
                        //如果返回数据为0说明记录不存在则插入一条新的记录
                        if (dataCount == 0)
                        {
                            count += session.Insert(ird);
                        }
                        else
                        {
                            count += session.Update(ird);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    //保存出错时回滚数据
                    session.RollbackTs();
                    return(false);
                }
            }

            return(true);
        }
Beispiel #30
0
        /// <summary>
        /// 获取数据并调用服务保存
        /// </summary>
        /// <param name="sc"></param>
        /// <param name="OrganID"></param>
        /// <param name="DeviceSN"></param>
        /// <param name="st"></param>
        /// <param name="et"></param>
        /// <returns></returns>
        public bool doSaveData(ServiceReference1.Service1Client sc, string OrganID, string DeviceSN, DateTime st, DateTime et)
        {
            //从指定日期开始到指定日期结束的数据
            List <InspectItemData> itemDataList = getInspectItemData(DeviceSN, st, et);

            //保存结果
            bool saveResult = false;

            //采集列表不为空时
            if (itemDataList != null && itemDataList.Count > 0)
            {
                //设置企业信息机构ID及更新时间
                foreach (InspectItemData iid in itemDataList)
                {
                    iid.ID         = Guid.NewGuid().ToString();
                    iid.OrganID    = OrganID;
                    iid.UpdateTime = DateTime.Now;
                }
            }

            //获取计算结果
            List <InspectResultData> culResultList = null;

            //从mysql取出计算结果
            using (IDataSession session = AppDataFactory.CreateMainSession())
            {
                string sql = @"SELECT * FROM aifishingep.inspectcalcresult T 
                                        WHERE T.ORGANID = @OrganID AND T.DeviceCode = @DeviceSN AND T.UpdateTime > @ST AND T.UpdateTime <= @ET ";
                //此处查询不能使用InspectTime.InspectTime存放的是对应的月份.天或者小时数.结果统计时以更新时间为主
                List <DataParameter> dataParameter = new List <DataParameter>();
                dataParameter.Add(new DataParameter {
                    ParameterName = "OrganID", DataType = DbType.String, Value = OrganID
                });
                dataParameter.Add(new DataParameter {
                    ParameterName = "DeviceSN", DataType = DbType.String, Value = DeviceSN
                });
                dataParameter.Add(new DataParameter {
                    ParameterName = "ST", DataType = DbType.String, Value = st
                });
                dataParameter.Add(new DataParameter {
                    ParameterName = "ET", DataType = DbType.String, Value = et
                });
                //插入基本信息
                culResultList = session.GetList <InspectResultData>(sql, dataParameter.ToArray()).ToList();
            }

            if (itemDataList.Count > 0 || culResultList.Count > 0)
            {
                Console.ForegroundColor = ConsoleColor.Red;
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.White;
            }

            Console.WriteLine("转发企业(" + OrganID + ")-设备("
                              + DeviceSN + ")-起始时间(" + st.ToString("yyyy-MM-dd HH:mm:ss")
                              + ")-结束时间(" + et.ToString("yyyy-MM-dd HH:mm:ss")
                              + ")-采集记录条数(" + itemDataList.Count
                              + ")-计算结果记录条数(" + culResultList.Count + ")");


            //调用WCF保存数据到企业端
            saveResult = sc.saveItemAndCalResultData(JsonConvertHelper.GetSerializes(itemDataList), JsonConvertHelper.GetSerializes(culResultList));

            //保存成功
            if (saveResult)
            {
                //将本次执行记录保存到数据
                HandleResult handelResult = new HandleResult()
                {
                    Id              = Guid.NewGuid().ToString(),
                    OrganId         = OrganID,
                    HandleTime      = DateTime.Now,
                    DeviceSN        = DeviceSN,
                    HandleStartTime = st,
                    HandleEndTime   = et,
                    HandleCountMdb  = itemDataList.Count,
                    HandleCountMs   = culResultList.Count
                };

                //处理记录保存到数据库中
                using (IDataSession session = AppDataFactory.CreateMainSession())
                {
                    session.Insert <HandleResult>(handelResult);
                }
            }

            return(saveResult);
        }