/// <summary> /// 得到一个对象实体 /// </summary> public Maticsoft.Model.SMT_STAFF_FACEDEV GetModel(decimal STAFF_ID, decimal FACEDEV_ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 STAFF_ID,FACEDEV_ID,IS_UPLOAD,UPLOAD_TIME,ADD_TIME,START_VALID_TIME,END_VALID_TIME,STAFF_DEV_ID from SMT_STAFF_FACEDEV "); strSql.Append(" where STAFF_ID=@STAFF_ID and FACEDEV_ID=@FACEDEV_ID "); SqlParameter[] parameters = { new SqlParameter("@STAFF_ID", SqlDbType.Decimal, 9), new SqlParameter("@FACEDEV_ID", SqlDbType.Decimal, 9) }; parameters[0].Value = STAFF_ID; parameters[1].Value = FACEDEV_ID; Maticsoft.Model.SMT_STAFF_FACEDEV model = new Maticsoft.Model.SMT_STAFF_FACEDEV(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { return(DataRowToModel(ds.Tables[0].Rows[0])); } else { return(null); } }
/// <summary> /// 得到一个对象实体 /// </summary> public Maticsoft.Model.SMT_STAFF_FACEDEV DataRowToModel(DataRow row) { Maticsoft.Model.SMT_STAFF_FACEDEV model = new Maticsoft.Model.SMT_STAFF_FACEDEV(); if (row != null) { if (row["STAFF_ID"] != null && row["STAFF_ID"].ToString() != "") { model.STAFF_ID = decimal.Parse(row["STAFF_ID"].ToString()); } if (row["FACEDEV_ID"] != null && row["FACEDEV_ID"].ToString() != "") { model.FACEDEV_ID = decimal.Parse(row["FACEDEV_ID"].ToString()); } if (row["IS_UPLOAD"] != null && row["IS_UPLOAD"].ToString() != "") { if ((row["IS_UPLOAD"].ToString() == "1") || (row["IS_UPLOAD"].ToString().ToLower() == "true")) { model.IS_UPLOAD = true; } else { model.IS_UPLOAD = false; } } if (row["UPLOAD_TIME"] != null && row["UPLOAD_TIME"].ToString() != "") { model.UPLOAD_TIME = DateTime.Parse(row["UPLOAD_TIME"].ToString()); } if (row["ADD_TIME"] != null && row["ADD_TIME"].ToString() != "") { model.ADD_TIME = DateTime.Parse(row["ADD_TIME"].ToString()); } if (row["START_VALID_TIME"] != null && row["START_VALID_TIME"].ToString() != "") { model.START_VALID_TIME = DateTime.Parse(row["START_VALID_TIME"].ToString()); } if (row["END_VALID_TIME"] != null && row["END_VALID_TIME"].ToString() != "") { model.END_VALID_TIME = DateTime.Parse(row["END_VALID_TIME"].ToString()); } if (row["STAFF_DEV_ID"] != null) { model.STAFF_DEV_ID = row["STAFF_DEV_ID"].ToString(); } } return(model); }
private void dgvStaffs_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0 && e.ColumnIndex >= 0) { DataGridViewRow row = dgvStaffs.Rows[e.RowIndex]; Maticsoft.Model.SMT_STAFF_FACEDEV ffd = (Maticsoft.Model.SMT_STAFF_FACEDEV)row.Tag; List <Maticsoft.Model.SMT_STAFF_FACEDEV> list = new List <Maticsoft.Model.SMT_STAFF_FACEDEV>() { ffd }; if (dgvStaffs.Columns[e.ColumnIndex].Name == "Col_DELETE") { doDelete(list, false, row); } else if (dgvStaffs.Columns[e.ColumnIndex].Name == "Col_Modify") { try { FrmStaffInfo staffInfo = new FrmStaffInfo(ffd); staffInfo.ShowDialog(this); row.Cells[1].Value = staffInfo.StaffInfo.STAFF_NO; row.Cells[2].Value = staffInfo.StaffInfo.REAL_NAME; row.Cells[3].Value = staffInfo.StaffInfo.ORG_NAME; string state = ""; if (staffInfo.StaffInfo.PHOTO == null || staffInfo.StaffInfo.PHOTO.Length == 0) { state = "未上传(无照片)"; } else { state = "未上传"; } row.Cells[4].Value = state; } catch (Exception ex) { WinInfoHelper.ShowInfoWindow(this, "修改发生异常:" + ex.Message); } } else if (dgvStaffs.Columns[e.ColumnIndex].Name == "Col_SC") { DoUpload(list, true, false, row); } } }
private List <Maticsoft.Model.SMT_STAFF_FACEDEV> GetSelectStaffs(out List <DataGridViewRow> rows) { rows = null; if (this.dgvStaffs.SelectedRows.Count == 0) { return(null); } List <Maticsoft.Model.SMT_STAFF_FACEDEV> list = new List <Maticsoft.Model.SMT_STAFF_FACEDEV>(); rows = new List <DataGridViewRow>(); foreach (DataGridViewRow row in this.dgvStaffs.SelectedRows) { Maticsoft.Model.SMT_STAFF_FACEDEV sfdModel = (Maticsoft.Model.SMT_STAFF_FACEDEV)row.Tag; list.Add(sfdModel); rows.Add(row); } return(list); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Maticsoft.Model.SMT_STAFF_FACEDEV model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update SMT_STAFF_FACEDEV set "); strSql.Append("IS_UPLOAD=@IS_UPLOAD,"); strSql.Append("UPLOAD_TIME=@UPLOAD_TIME,"); strSql.Append("ADD_TIME=@ADD_TIME,"); strSql.Append("START_VALID_TIME=@START_VALID_TIME,"); strSql.Append("END_VALID_TIME=@END_VALID_TIME,"); strSql.Append("STAFF_DEV_ID=@STAFF_DEV_ID"); strSql.Append(" where STAFF_ID=@STAFF_ID and FACEDEV_ID=@FACEDEV_ID "); SqlParameter[] parameters = { new SqlParameter("@IS_UPLOAD", SqlDbType.Bit, 1), new SqlParameter("@UPLOAD_TIME", SqlDbType.DateTime), new SqlParameter("@ADD_TIME", SqlDbType.DateTime), new SqlParameter("@START_VALID_TIME", SqlDbType.DateTime), new SqlParameter("@END_VALID_TIME", SqlDbType.DateTime), new SqlParameter("@STAFF_DEV_ID", SqlDbType.VarChar, 50), new SqlParameter("@STAFF_ID", SqlDbType.Decimal, 9), new SqlParameter("@FACEDEV_ID", SqlDbType.Decimal, 9) }; parameters[0].Value = model.IS_UPLOAD; parameters[1].Value = model.UPLOAD_TIME; parameters[2].Value = model.ADD_TIME; parameters[3].Value = model.START_VALID_TIME; parameters[4].Value = model.END_VALID_TIME; parameters[5].Value = model.STAFF_DEV_ID; parameters[6].Value = model.STAFF_ID; parameters[7].Value = model.FACEDEV_ID; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(Maticsoft.Model.SMT_STAFF_FACEDEV model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into SMT_STAFF_FACEDEV("); strSql.Append("STAFF_ID,FACEDEV_ID,IS_UPLOAD,UPLOAD_TIME,ADD_TIME,START_VALID_TIME,END_VALID_TIME,STAFF_DEV_ID)"); strSql.Append(" values ("); strSql.Append("@STAFF_ID,@FACEDEV_ID,@IS_UPLOAD,@UPLOAD_TIME,@ADD_TIME,@START_VALID_TIME,@END_VALID_TIME,@STAFF_DEV_ID)"); SqlParameter[] parameters = { new SqlParameter("@STAFF_ID", SqlDbType.Decimal, 9), new SqlParameter("@FACEDEV_ID", SqlDbType.Decimal, 9), new SqlParameter("@IS_UPLOAD", SqlDbType.Bit, 1), new SqlParameter("@UPLOAD_TIME", SqlDbType.DateTime), new SqlParameter("@ADD_TIME", SqlDbType.DateTime), new SqlParameter("@START_VALID_TIME", SqlDbType.DateTime), new SqlParameter("@END_VALID_TIME", SqlDbType.DateTime), new SqlParameter("@STAFF_DEV_ID", SqlDbType.VarChar, 50) }; parameters[0].Value = model.STAFF_ID; parameters[1].Value = model.FACEDEV_ID; parameters[2].Value = model.IS_UPLOAD; parameters[3].Value = model.UPLOAD_TIME; parameters[4].Value = model.ADD_TIME; parameters[5].Value = model.START_VALID_TIME; parameters[6].Value = model.END_VALID_TIME; parameters[7].Value = model.STAFF_DEV_ID; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
private void DoUpload(List <Maticsoft.Model.SMT_STAFF_FACEDEV> list, bool bforce, bool bcancel, params DataGridViewRow[] rows) { List <Maticsoft.Model.SMT_STAFF_FACEDEV> addmodels = new List <Maticsoft.Model.SMT_STAFF_FACEDEV>(); List <Maticsoft.Model.SMT_STAFF_FACEDEV> updatemodels = new List <Maticsoft.Model.SMT_STAFF_FACEDEV>(); List <Maticsoft.Model.SMT_STAFF_FACEDEV> deletemodels = new List <Maticsoft.Model.SMT_STAFF_FACEDEV>(); foreach (var item in list) { if (bcancel && item.IS_UPLOAD) { deletemodels.Add(item); } else { if (item.IS_UPLOAD) { updatemodels.Add(item); } else { addmodels.Add(item); } } } CtrlWaiting waiting = new CtrlWaiting(() => { string errMsg = ""; bool ret = false; List <Maticsoft.Model.SMT_STAFF_FACEDEV> dels = null; if (bcancel && deletemodels.Count > 0) { dels = UploadPrivate.DeleteFace(deletemodels, out errMsg); if (!string.IsNullOrWhiteSpace(errMsg)) { WinInfoHelper.ShowInfoWindow(this, "权限删除存在异常:" + errMsg); } } else { SmartAccess.Common.Datas.UploadPrivate.CancelObject cancelObject = new UploadPrivate.CancelObject(); if (bforce) { ret = UploadPrivate.UploadFace(cancelObject, list, null, out errMsg); } else { ret = UploadPrivate.UploadFace(cancelObject, addmodels, updatemodels, out errMsg); } if (!ret || !string.IsNullOrWhiteSpace(errMsg)) { WinInfoHelper.ShowInfoWindow(this, "权限上传存在异常:" + errMsg); } } if (rows != null && rows.Length > 0) { this.Invoke(new Action(() => { foreach (var row in rows) { Maticsoft.Model.SMT_STAFF_FACEDEV item = (Maticsoft.Model.SMT_STAFF_FACEDEV)row.Tag; string state = ""; if (item.IS_FORBIDDEN) { state = "已禁用"; } else if (item.IS_UPLOAD) { state = "已上传"; } else { if (item.PHOTO == null || item.PHOTO.Length == 0) { state = "未上传(无照片)"; } else { state = "未上传"; } } row.Cells[4].Value = state; row.Cells[8].Value = item.IS_UPLOAD ? "重上传" : "上传"; } })); } else { DoSearch(null, null, null); } }); waiting.Show(this); }
private void DoSave(bool isupload = false) { if (dgvSelected.Rows.Count == 0) { if (_inprivateStaffInfos.Count == 0) { WinInfoHelper.ShowInfoWindow(this, "请至少选一个授权的人员!"); return; } } var hasPrivates = _inprivateStaffInfos.ToList(); List <Maticsoft.Model.SMT_STAFF_INFO> staffInfos = new List <Maticsoft.Model.SMT_STAFF_INFO>(); foreach (DataGridViewRow item in dgvSelected.Rows) { staffInfos.Add((Maticsoft.Model.SMT_STAFF_INFO)item.Tag); } CtrlWaiting waiting = new CtrlWaiting(() => { Maticsoft.BLL.SMT_STAFF_FACEDEV sfbll = new Maticsoft.BLL.SMT_STAFF_FACEDEV(); List <Maticsoft.Model.SMT_STAFF_FACEDEV> addmodels = new List <Maticsoft.Model.SMT_STAFF_FACEDEV>(); List <Maticsoft.Model.SMT_STAFF_FACEDEV> updatemodels = new List <Maticsoft.Model.SMT_STAFF_FACEDEV>(); List <Maticsoft.Model.SMT_STAFF_FACEDEV> deletemodels = new List <Maticsoft.Model.SMT_STAFF_FACEDEV>(); try { foreach (var staff in staffInfos) { foreach (var dev in _selectDevices) { var model = sfbll.GetModel(staff.ID, dev.ID); if (model == null) { model = new Maticsoft.Model.SMT_STAFF_FACEDEV(); model.ADD_TIME = DateTime.Now; model.END_VALID_TIME = dtpEnd.Value.Date + new TimeSpan(23, 59, 59); model.FACEDEV_ID = dev.ID; model.IS_UPLOAD = false; model.STAFF_DEV_ID = Guid.NewGuid().ToString("N"); model.STAFF_ID = staff.ID; model.START_VALID_TIME = dtpStart.Value.Date; model.UPLOAD_TIME = DateTime.Now; sfbll.Add(model); } else { hasPrivates.RemoveAll(m => m.ID == model.STAFF_ID); model.START_VALID_TIME = dtpStart.Value.Date; model.END_VALID_TIME = dtpEnd.Value.Date + new TimeSpan(23, 59, 59); if (string.IsNullOrWhiteSpace(model.STAFF_DEV_ID)) { model.STAFF_DEV_ID = Guid.NewGuid().ToString("N"); } sfbll.Update(model); } model.STAFF_INFO = staff; model.FACERECG_DEVICE = dev; if (!model.IS_UPLOAD) { addmodels.Add(model); } } } foreach (var item in hasPrivates) { foreach (var dev in _selectDevices) { var model = sfbll.GetModel(item.ID, dev.ID); if (model != null) { deletemodels.Add(model); } } } } catch (Exception ex) { WinInfoHelper.ShowInfoWindow(this, "保存异常:" + ex.Message); log.Error("保存异常:", ex); return; } if (deletemodels.Count > 0) { string errMsg = ""; var delre = UploadPrivate.DeleteFace(deletemodels, out errMsg); if (delre != null && delre.Count > 0) { foreach (var item in delre) { sfbll.Delete(item.STAFF_ID, item.FACEDEV_ID); } } } if (isupload) { string errMsg = ""; SmartAccess.Common.Datas.UploadPrivate.CancelObject cancelObject = new UploadPrivate.CancelObject(); bool ret = UploadPrivate.UploadFace(cancelObject, addmodels, updatemodels, out errMsg); if (!ret || !string.IsNullOrWhiteSpace(errMsg)) { WinInfoHelper.ShowInfoWindow(this, "保存成功,部分权限上传异常:" + errMsg); } } this.Invoke(new Action(() => { this.DialogResult = DialogResult.OK; this.Close(); })); }); waiting.Show(this); }
/// <summary> /// 得到一个对象实体 /// </summary> public Maticsoft.Model.SMT_STAFF_FACEDEV DataRowToModelEx(DataRow row) { Maticsoft.Model.SMT_STAFF_FACEDEV model = new Maticsoft.Model.SMT_STAFF_FACEDEV(); if (row != null) { if (row["STAFF_ID"] != null && row["STAFF_ID"].ToString() != "") { model.STAFF_ID = decimal.Parse(row["STAFF_ID"].ToString()); } if (row["FACEDEV_ID"] != null && row["FACEDEV_ID"].ToString() != "") { model.FACEDEV_ID = decimal.Parse(row["FACEDEV_ID"].ToString()); } if (row["IS_UPLOAD"] != null && row["IS_UPLOAD"].ToString() != "") { if ((row["IS_UPLOAD"].ToString() == "1") || (row["IS_UPLOAD"].ToString().ToLower() == "true")) { model.IS_UPLOAD = true; } else { model.IS_UPLOAD = false; } } if (row["UPLOAD_TIME"] != null && row["UPLOAD_TIME"].ToString() != "") { model.UPLOAD_TIME = DateTime.Parse(row["UPLOAD_TIME"].ToString()); } if (row["ADD_TIME"] != null && row["ADD_TIME"].ToString() != "") { model.ADD_TIME = DateTime.Parse(row["ADD_TIME"].ToString()); } if (row["START_VALID_TIME"] != null && row["START_VALID_TIME"].ToString() != "") { model.START_VALID_TIME = DateTime.Parse(row["START_VALID_TIME"].ToString()); } if (row["STAFF_VALID_ENDTIME"] != null && row["STAFF_VALID_ENDTIME"].ToString() != "")//"STAFF_VALID_ENDTIME" { model.END_VALID_TIME = DateTime.Parse(row["STAFF_VALID_ENDTIME"].ToString()); } if (row["STAFF_DEV_ID"] != null) { model.STAFF_DEV_ID = row["STAFF_DEV_ID"].ToString(); } if (row["REAL_NAME"] != null) { model.REAL_NAME = row["REAL_NAME"].ToString(); } if (row["STAFF_NO"] != null) { model.STAFF_NO = row["STAFF_NO"].ToString(); } if (row["STAFF_TYPE"] != null) { model.STAFF_TYPE = row["STAFF_TYPE"].ToString(); } if (row["ORG_ID"] != null && row["ORG_ID"].ToString() != "") { model.ORG_ID = decimal.Parse(row["ORG_ID"].ToString()); } if (row["ORG_NAME"] != null) { model.ORG_NAME = row["ORG_NAME"].ToString(); } if (row["PHOTO"] != null && row["PHOTO"].ToString() != "") { model.PHOTO = (byte[])row["PHOTO"]; } if (row["IS_FORBIDDEN"] != null && row["IS_FORBIDDEN"].ToString() != "") { if ((row["IS_FORBIDDEN"].ToString() == "1") || (row["IS_FORBIDDEN"].ToString().ToLower() == "true")) { model.IS_FORBIDDEN = true; } else { model.IS_FORBIDDEN = false; } } if (row["FACEDEV_NAME"] != null) { model.FACEDEV_NAME = row["FACEDEV_NAME"].ToString(); } } return(model); }
//保存记录 public void SaveRecord(decimal ctrlrId, List <Maticsoft.Model.BST.staff_log> records) { try { Dictionary <string, Maticsoft.Model.SMT_STAFF_FACEDEV> staffDevDic = new Dictionary <string, Maticsoft.Model.SMT_STAFF_FACEDEV>(); Maticsoft.BLL.SMT_FACE_RECORD bllRecord = new Maticsoft.BLL.SMT_FACE_RECORD(); foreach (var record in records) { string strTime = record.id.Substring(0, "2018/09/23_22:48:39".Length); string staffdevId = record.id.Substring("2018/09/23_22:48:39".Length + 1); Maticsoft.Model.SMT_STAFF_FACEDEV sfmodel = null; if (staffDevDic.ContainsKey(staffdevId)) { sfmodel = staffDevDic[staffdevId]; } else { Maticsoft.BLL.SMT_STAFF_FACEDEV ssfbll = new Maticsoft.BLL.SMT_STAFF_FACEDEV(); List <Maticsoft.Model.SMT_STAFF_FACEDEV> modelSFDs = ssfbll.GetModelList("STAFF_DEV_ID='" + staffdevId + "'"); if (modelSFDs.Count == 0) { log.Warn("无此ID:" + staffdevId + " 授权注册!"); continue; } sfmodel = modelSFDs[0]; Maticsoft.BLL.SMT_STAFF_INFO sbll = new Maticsoft.BLL.SMT_STAFF_INFO(); sfmodel.STAFF_INFO = sbll.GetModel(sfmodel.STAFF_ID); staffDevDic.Add(staffdevId, sfmodel); } Maticsoft.Model.SMT_FACE_RECORD modelRecord = new Maticsoft.Model.SMT_FACE_RECORD(); modelRecord.FACEDEV_ID = ctrlrId; modelRecord.FREC_AUTHORITY = record.authority; modelRecord.FREC_FACE_IMAGE = record.imagesql; double dec = 0.8; double.TryParse(record.info, out dec); modelRecord.FREC_FACE_LEVEL = (decimal)dec; modelRecord.FREC_VIDEO_IMAGE = record.imagevideo; DateTime now = DateTime.Now; DateTime.TryParse(strTime.Replace("_", " "), out now); modelRecord.FREC_TIME = now; modelRecord.ID = -1; modelRecord.FREC_PARAM3 = record.data_keepon3; modelRecord.FREC_PARAM4 = record.data_keepon4; modelRecord.FREC_SRC_ID = record.id; modelRecord.FREC_STAFF_ID = sfmodel.STAFF_ID; if (sfmodel.STAFF_INFO == null) { modelRecord.FREC_STAFF_NAME = record.name; modelRecord.FREC_STAFF_NO = record.data_keepon1; modelRecord.FREC_STAFF_TYPE = record.data_keepon4; } else { modelRecord.FREC_STAFF_NAME = sfmodel.STAFF_INFO.REAL_NAME; modelRecord.FREC_STAFF_NO = sfmodel.STAFF_INFO.STAFF_NO; modelRecord.FREC_STAFF_TYPE = sfmodel.STAFF_INFO.STAFF_TYPE; } bllRecord.Add(modelRecord); } } catch (Exception ex) { log.Error("记录保存失败:CTRLID=" + ctrlrId, ex); throw ex; } }
private void DoSaveDevices(List <Maticsoft.Model.SMT_FACERECG_DEVICE> devices, bool upload = false) { if (dtpStart.Value.Date > dtpEnd.Value.Date) { WinInfoHelper.ShowInfoWindow(this, "起始时间不能小于结束时间!"); return; } CtrlWaiting ctrlWaiting = new CtrlWaiting("正在保存...", () => { try { Maticsoft.BLL.SMT_STAFF_FACEDEV sfBLL = new Maticsoft.BLL.SMT_STAFF_FACEDEV(); var sfList = sfBLL.GetModelList("STAFF_ID=" + _staffInfo.ID); List <Maticsoft.Model.SMT_FACERECG_DEVICE> tempDevs = new List <Maticsoft.Model.SMT_FACERECG_DEVICE>(); tempDevs.AddRange(devices); List <Maticsoft.Model.SMT_STAFF_FACEDEV> addPrivates = new List <Maticsoft.Model.SMT_STAFF_FACEDEV>(); List <Maticsoft.Model.SMT_STAFF_FACEDEV> updatePrivates = new List <Maticsoft.Model.SMT_STAFF_FACEDEV>(); List <Maticsoft.Model.SMT_STAFF_FACEDEV> delPrivates = new List <Maticsoft.Model.SMT_STAFF_FACEDEV>(); foreach (var item in sfList) { var sc = devices.Find(m => m.ID == item.FACEDEV_ID); if (sc == null)//不存在,则权限删除 { delPrivates.Add(item); // sfBLL.Delete(item.STAFF_ID, item.FACEDEV_ID);//删除权限 } else { item.START_VALID_TIME = dtpStart.Value.Date; item.END_VALID_TIME = dtpEnd.Value.Date + new TimeSpan(23, 59, 59); if (_staffInfo.VALID_STARTTIME.Date > item.START_VALID_TIME.Date) { item.START_VALID_TIME = _staffInfo.VALID_STARTTIME.Date; } if (_staffInfo.VALID_ENDTIME.Date < item.END_VALID_TIME.Date) { item.END_VALID_TIME = _staffInfo.VALID_ENDTIME.Date + new TimeSpan(23, 59, 59); } sfBLL.Update(item); tempDevs.Remove(sc); if (!item.IS_UPLOAD) { addPrivates.Add(item); } else { if (_imageChanged) { addPrivates.Add(item); } else { updatePrivates.Add(item); } } } } foreach (var item in tempDevs)//添加的权限 { Maticsoft.Model.SMT_STAFF_FACEDEV newSd = new Maticsoft.Model.SMT_STAFF_FACEDEV(); newSd.ADD_TIME = DateTime.Now; newSd.FACEDEV_ID = item.ID; newSd.IS_UPLOAD = false; newSd.UPLOAD_TIME = DateTime.Now; newSd.STAFF_ID = _staffInfo.ID; newSd.STAFF_DEV_ID = Guid.NewGuid().ToString("N"); newSd.START_VALID_TIME = dtpStart.Value.Date; newSd.END_VALID_TIME = dtpEnd.Value.Date + new TimeSpan(23, 59, 59); if (_staffInfo.VALID_STARTTIME.Date > newSd.START_VALID_TIME.Date) { newSd.START_VALID_TIME = _staffInfo.VALID_STARTTIME.Date; } if (_staffInfo.VALID_ENDTIME.Date < newSd.END_VALID_TIME.Date) { newSd.END_VALID_TIME = _staffInfo.VALID_ENDTIME.Date + new TimeSpan(23, 59, 59); } sfBLL.Add(newSd); addPrivates.Add(newSd); } if (upload) { string errMsg; if (delPrivates.Count > 0) { var delResults = UploadPrivate.DeleteFace(delPrivates, out errMsg); if (delResults != null && delResults.Count > 0) { foreach (var item in delResults) { Maticsoft.BLL.SMT_STAFF_FACEDEV bll = new Maticsoft.BLL.SMT_STAFF_FACEDEV(); bll.Delete(item.STAFF_ID, item.FACEDEV_ID); } } } errMsg = ""; if (addPrivates.Count > 0 || updatePrivates.Count > 0) { SmartAccess.Common.Datas.UploadPrivate.CancelObject cancelObject = new UploadPrivate.CancelObject(); bool ret = UploadPrivate.UploadFace(cancelObject, addPrivates, updatePrivates, out errMsg); if (ret && errMsg != "") { WinInfoHelper.ShowInfoWindow(this, "上传权限存在异常:" + errMsg); log.Warn("上传权限存在异常:" + errMsg); return; } } WinInfoHelper.ShowInfoWindow(null, "上传权限结束!"); } this.Invoke(new Action(() => { this.DialogResult = DialogResult.OK; this.Close(); })); } catch (System.Exception ex) { log.Error("保存异常:", ex); WinInfoHelper.ShowInfoWindow(this, "保存异常:" + ex.Message); } }); ctrlWaiting.Show(this); }