コード例 #1
0
ファイル: DbHandler.cs プロジェクト: wwkkww1983/LeProj
        public Schedules SelectSchedule(string scheduleNumber)
        {
            Schedules info   = null;
            string    strSql = "select * from Schedules where Number=@Number";

            using (SqlCommand cmd = new SqlCommand(strSql, conn))
            {
                cmd.Parameters.Add("@Number", SqlDbType.NVarChar);
                cmd.Parameters["@Number"].Value = scheduleNumber;
                SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                DataSet        ds      = new DataSet();
                try
                {
                    adapter.Fill(ds);
                }
                catch { }

                if (ds.Tables.Count < 1 || ds.Tables[0].Rows.Count < 1)
                {
                    return(info);
                }
                DataRow dr = ds.Tables[0].Rows[0];

                info = this.exchangeSchedule(dr);
            }
            return(info);
        }
コード例 #2
0
ファイル: DbHandler.cs プロジェクト: wwkkww1983/LeProj
        private Schedules exchangeSchedule(DataRow dr)
        {
            Schedules info = new Schedules();

            info.CreatorID         = Convert.ToInt32(dr["CreatorID"]);
            info.CreatorName       = dr["CreatorName"].ToString();
            info.DateCreate        = Convert.ToDateTime(dr["DateCreate"]);
            info.DateLastUpdate    = Convert.ToDateTime(dr["DateLastUpdate"]);
            info.DetailInfo        = dr["DetailInfo"].ToString();
            info.DownContinueCount = Convert.ToInt32(dr["DownContinueCount"]);
            info.FinishCount       = Convert.ToInt32(dr["FinishCount"]);
            info.ID = Convert.ToInt32(dr["ID"]);
            info.LastUpdatePersonID   = Convert.ToInt32(dr["LastUpdatePersonID"]);
            info.LastUpdatePersonName = dr["LastUpdatePersonName"].ToString();
            info.MachineId            = Convert.ToInt32(dr["MachineId"]);
            info.MachineName          = dr["MachineName"].ToString();
            info.MaterialDetail       = dr["MaterialDetail"].ToString();
            info.MaterialInfo         = dr["MaterialInfo"].ToString();
            info.NoticeInfo           = dr["NoticeInfo"].ToString();
            info.Number       = dr["Number"].ToString();
            info.OrderId      = Convert.ToInt32(dr["OrderId"]);
            info.OrderNumber  = dr["OrderNumber"].ToString();
            info.ProductCode  = dr["ProductCode"].ToString();
            info.ProductCount = Convert.ToInt32(dr["ProductCount"]);
            info.ProductInfo  = dr["ProductInfo"].ToString();
            info.ProductUnit  = dr["ProductUnit"].ToString();
            info.RoomId       = Convert.ToInt32(dr["RoomId"]);
            info.RoomNumber   = dr["RoomNumber"].ToString();
            info.Status       = (enumStatus)Enum.Parse(typeof(enumStatus), dr["Status"].ToString());
            info.OrderId      = Convert.ToInt32(dr["OrderId"]);

            return(info);
        }
コード例 #3
0
        /// <summary>
        /// 下派施工单编码
        /// </summary>
        /// <param name="buff"></param>
        public static void EncodeSchedule(Schedules schedule, out byte[] buff)
        {
            byte[] content = new  byte[1024];
            int    locIdx = 0, tempLen = 2;

            //机器码
            byte[] machineBytes = ConvertHelper.Int16ToBytes(schedule.MachineId, true);
            Array.Copy(machineBytes, content, tempLen);
            locIdx += tempLen;
            //施工单编号
            byte[] numberBytes = Encoding.ASCII.GetBytes(schedule.Number);
            tempLen           = numberBytes.Length;
            content[locIdx++] = (byte)tempLen;
            Array.Copy(numberBytes, 0, content, locIdx, tempLen);
            locIdx += tempLen;
            //施工单商品总数量
            byte[] countByte = ConvertHelper.Int32ToBytes(schedule.ProductCount, true);
            Array.Copy(countByte, 0, content, locIdx, 4);
            locIdx += 4;
            //上跳持续数量
            countByte = ConvertHelper.Int16ToBytes(schedule.UpContinueCount, true);
            Array.Copy(countByte, 0, content, locIdx, 2);
            locIdx += 2;
            //落下持续数量
            countByte = ConvertHelper.Int16ToBytes(schedule.DownContinueCount, true);
            Array.Copy(countByte, 0, content, locIdx, 2);
            locIdx += 2;
            //详细信息
            byte[] detailBytes = Encoding.GetEncoding("GBK").GetBytes(schedule.DetailInfo);
            tempLen = detailBytes.Length;
            byte[] lengthByte = ConvertHelper.Int16ToBytes(tempLen, true);
            Array.Copy(lengthByte, 0, content, locIdx, 2);
            locIdx += 2;
            Array.Copy(detailBytes, 0, content, locIdx, tempLen);
            locIdx += tempLen;
            //注意事项
            byte[] noticeBytes = Encoding.GetEncoding("GBK").GetBytes(schedule.NoticeInfo);
            tempLen    = noticeBytes.Length;
            lengthByte = ConvertHelper.Int16ToBytes(tempLen, true);
            Array.Copy(lengthByte, 0, content, locIdx, 2);
            locIdx += 2;
            Array.Copy(noticeBytes, 0, content, locIdx, tempLen);
            locIdx += tempLen;

            NetStructure.NormalDataStruct data = new NetStructure.NormalDataStruct()
            {
                Code       = enumCommandType.DOWN_SHEDULE_SEND,
                contentLen = locIdx,
                Content    = content
            };
            EncodeData(data, out buff);
        }
コード例 #4
0
ファイル: ClientHanlder.cs プロジェクト: wwkkww1983/LeProj
        public byte[] HandlerClientData(byte[] buff)
        {
            byte[]    buffResp = { 1 };
            DbHandler db       = new DbHandler();

            NetStructure.DeviceMaterial outInfo = this.DecodeData(buff);
            Machines            machine         = db.SelectMachine(outInfo.MachineId);
            Schedules           schedule        = db.SelectSchedule(outInfo.ScheduleNumber);
            MachineCallMaterial innerInfo       = this.exchangeData(machine, schedule);

            //记录原始数据
            db.InsertMachineCallMaterial(innerInfo);

            buffResp[0] = 0;

            return(buffResp);
        }
コード例 #5
0
ファイル: ClientHanlder.cs プロジェクト: wwkkww1983/LeProj
        public byte[] HandlerClientData(byte[] buff)
        {
            byte[]    buffResp    = { 1 };
            DbHandler db          = new DbHandler();
            DateTime  currentTime = DateTime.Now;

            NetStructure.DeviceStartEnd outInfo = this.DecodeData(buff);
            Machines        machine             = db.SelectMachine(outInfo.MachineId);
            Schedules       schedule            = db.SelectSchedule(outInfo.ScheduleNumber);
            UserProfile     userInfo            = db.SelectUser(outInfo.UserNumber);
            MachineStartEnd innerInfo           = this.exchangeData(outInfo, machine, schedule, userInfo);

            //记录原始数据

            if (outInfo.Status == enumDeviceWorkStatus.Start)
            {
                innerInfo.DateStart = currentTime;
                db.InsertMachineStartEnd(innerInfo);
            }
            else
            {
                int startId = db.GetStartEndID(new MachineStartEnd()
                {
                    MachineId       = outInfo.MachineId,
                    SchueduleNumber = outInfo.ScheduleNumber,
                    UserNumber      = outInfo.UserNumber,
                    Status          = enumDeviceWorkStatus.Start
                });
                if (startId == 0)
                {
                    innerInfo.DateEnd = currentTime;
                    db.InsertMachineStartEnd(innerInfo);
                }
                else
                {
                    db.FinishStartStatus(startId);
                }
            }

            buffResp[0] = 0;

            return(buffResp);
        }
コード例 #6
0
ファイル: ClientHanlder.cs プロジェクト: wwkkww1983/LeProj
 /// <summary>
 /// 内外部数据转换
 /// </summary>
 /// <param name="info"></param>
 /// <param name="machine"></param>
 /// <returns></returns>
 private MachineCallMaterial exchangeData(Machines machine, Schedules schedule)
 {
     return(new MachineCallMaterial()
     {
         DateCreate = DateTime.Now,
         MachineNumber = machine.Number,
         MachineId = machine.ID,
         MachineName = machine.Name,
         RoomId = machine.RoomID,
         RoomNumber = machine.RoomName,
         RoomName = machine.RoomName,
         OrderId = schedule.OrderId,
         OrderNumber = schedule.OrderNumber,
         ScheduleId = schedule.ID,
         SchueduleNumber = schedule.Number,
         MaterialInfo = schedule.MaterialDetail,
         Status = enumDeviceWarnningStatus.Unhandler
     });
 }
コード例 #7
0
        /// <summary>
        /// 施工单操作编码
        /// </summary>
        /// <param name="schedule"></param>
        /// <param name="buff"></param>
        public static void EncodeScheHandler(Schedules schedule, enumCommandType command, out byte[] buff)
        {
            byte[] content = new byte[1024];
            int    locIdx = 0, tempLen = 2;

            //机器码
            byte[] machineBytes = ConvertHelper.Int16ToBytes(schedule.MachineId, true);
            Array.Copy(machineBytes, content, tempLen);
            locIdx += tempLen;
            //施工单编号
            byte[] numberBytes = Encoding.ASCII.GetBytes(schedule.Number);
            tempLen           = numberBytes.Length;
            content[locIdx++] = (byte)tempLen;
            Array.Copy(numberBytes, 0, content, locIdx, tempLen);
            locIdx += tempLen;

            NetStructure.NormalDataStruct data = new NetStructure.NormalDataStruct()
            {
                Code       = command,
                contentLen = locIdx,
                Content    = content
            };
            EncodeData(data, out buff);
        }
コード例 #8
0
ファイル: ClientHanlder.cs プロジェクト: wwkkww1983/LeProj
        /// <summary>
        /// 内外部数据转换
        /// </summary>
        /// <param name="info"></param>
        /// <param name="machine"></param>
        /// <returns></returns>
        private MachineStartEnd exchangeData(NetStructure.DeviceStartEnd outInfo, Machines machine, Schedules schedule, UserProfile userInfo)
        {
            MachineStartEnd startEndItem = new MachineStartEnd()
            {
                MachineNumber = machine.Number,
                MachineId     = machine.ID,
                MachineName   = machine.Name,
                RoomId        = machine.RoomID,
                RoomNumber    = machine.RoomName
            };

            startEndItem.OrderId         = schedule.OrderId;
            startEndItem.OrderNumber     = schedule.OrderNumber;
            startEndItem.ScheduleId      = schedule.ID;
            startEndItem.SchueduleNumber = schedule.Number;
            startEndItem.UserId          = userInfo == null ? 0 : userInfo.UserId;
            startEndItem.UserNumber      = userInfo == null ? "" : userInfo.UserName;
            startEndItem.Status          = outInfo.Status;

            return(startEndItem);
        }