/// <summary> /// 保存实体数据. /// </summary> public void Save(InstrumentWaitSendModel model) { if (model.AutoId == 0) { DBProvider.InstrumentWaitSendDAO.Add(model); } else { DBProvider.InstrumentWaitSendDAO.Update(model); } }
/// <summary> /// /// </summary> /// <returns></returns> public ActionResult IsHasRemind() { int count = 0; #region 过期仪器提醒 StringBuilder sqlWhere = new StringBuilder(); sqlWhere.Append("1=1"); if (!LoginHelper.LoginUserAuthorize.ContainsKey("Instrument-CheckAll".ToLower())) { sqlWhere.AppendFormat(" and {0}", Global.Business.ServiceProvider.UserManageDepartService.GetSQL2MyMangeDepart("BelongDepart")); } sqlWhere.AppendFormat(" and '{0:yyyy-MM-dd}'>DueEndDate and ManageLevel !='C' and RecordState={1}", DateTime.Now, UtilConstants.InstrumentState.过期禁用.GetHashCode()); IList <Instrument.Common.Models.InstrumentModel> overTimeList = ServiceProvider.InstrumentService.GetAllInstrumentListByWhere(sqlWhere.ToString()); //当前用户下已加入清单但未送检的仪器 IList <InstrumentWaitSendModel> preSendList = ServiceProvider.InstrumentWaitSendService.GetByUserId(LoginHelper.LoginUser.UserId); InstrumentWaitSendModel instrumentWaitSendModel = null; foreach (Instrument.Common.Models.InstrumentModel item in overTimeList) { instrumentWaitSendModel = preSendList.SingleOrDefault(i => i.InstrumentId.Equals(item.InstrumentId)); if (instrumentWaitSendModel != null) { continue; } count++; break; } #endregion #region 软件过期提醒 if (count == 0) { string PublishKey = WebUtils.GetSettingsValue("PublishDate"); if (string.IsNullOrEmpty(PublishKey) == true) { PublishKey = Global.Common.GlobalConstants.PublishDate; } else { PublishKey = SSOHelper.Decrypt(PublishKey); } DateTime publishDate = DateTime.ParseExact(PublishKey, "yyyy-MM-dd", null); count = new TimeSpan(DateTime.Now.Ticks - (publishDate.AddYears(1).Ticks)).Days; } #endregion JsonResult jr = Json(new { hasremind = count > 0?true:false }, JsonRequestBehavior.AllowGet); return(jr); }
public string AddToShoppingCart(string jobNo, string barCode, string accessToKen) { try { UserModel user = null; string Checkresult = CheckAccess(accessToKen, jobNo, ref user); if (Checkresult != "OK") { return(Checkresult); } InstrumentModel instrument = ServiceProvider.InstrumentService.GetByBarCode(barCode); if (instrument == null) { return(ToolsLib.Utility.CommonUtils.JsonSerialize(new { Msg = "仪器不存在!" })); } if (instrument.InstrumentForm == Instrument.Common.Constants.InstrumentForm.固定资产.GetHashCode()) { return(ToolsLib.Utility.CommonUtils.JsonSerialize(new { Msg = "固定资产不能送检!" })); } bool result = ServiceProvider.InstrumentWaitSendService.ExistsInstrument(instrument.InstrumentId, user.UserId); if (result) { return(ToolsLib.Utility.CommonUtils.JsonSerialize(new { Msg = "仪器已存在待送清单中!" })); } InstrumentWaitSendModel model = new InstrumentWaitSendModel(); model.InstrumentId = instrument.InstrumentId; model.UserId = user.UserId; ServiceProvider.InstrumentWaitSendService.Save(model); return(ToolsLib.Utility.CommonUtils.JsonSerialize(new { Msg = "OK" })); } catch (Exception ex) { log.Error(ex); return(ToolsLib.Utility.CommonUtils.JsonSerialize(new { Msg = ex.Message })); } }
/// <summary> /// 更新一条数据. /// </summary> public void Update(InstrumentWaitSendModel model) { DBProvider.dbMapper.Update("Instrument_WaitSend.Update", model); }
/// <summary> /// 增加一条数据. /// </summary> public void Add(InstrumentWaitSendModel model) { DBProvider.dbMapper.Insert("Instrument_WaitSend.Insert", model); }
/// <summary> /// 仪器送检 /// 仪器手机App接口和网页功能公用方法 /// </summary> /// <param name="instrumentIds">以逗号分隔的仪器标识(未加密)</param> /// <param name="orderJson">送检单Json数据(送检人SendUser,App和网页分别独立赋值)</param> /// <returns></returns> public string SendOrder(string instrumentIds, string orderJson, string OrgName, string UserName, int UserId) { string result = ""; //组装数据 JObject orderObj = JObject.Parse(orderJson); var instrumentIdArr = instrumentIds.Split(','); var instrumentIdList = instrumentIdArr.Select(l => Convert.ToInt32(l)).ToList(); IList <InstrumentModel> instrumentList = ServiceProvider.InstrumentService.GetByIdList(instrumentIdList); //对应的仪器列表 IList <InstrumentWaitSendModel> instrumentWaitSendList = ServiceProvider.InstrumentWaitSendService.GetByInstrumentIdsList(instrumentIdList, UserId); //对应的送检仪器备注 //单号 string orderNumber = ServiceProvider.OrderService.GenerateUniqueOrderNumber(); //组装送检仪器MD5Code字典 Dictionary <int, string> dictionaryMd5 = new Dictionary <int, string>(); foreach (int instrumentId in instrumentIdList) { dictionaryMd5.Add(instrumentId, Guid.NewGuid().ToString()); } IList <Global.Common.Models.ParamModel> paramList = Global.Business.ServiceProvider.ParamService.GetAll(); Global.Common.Models.ParamModel company = paramList.SingleOrDefault(t => t.ParamCode == Constants.SysParamType.CompanyInfo); if (null == company) { company = new Global.Common.Models.ParamModel(); } Global.Common.Models.ParamItemModel CompanyName = company.itemsList.SingleOrDefault(s => s.ParamItemName.Equals("公司名称")); Global.Common.Models.ParamItemModel CompanyCode = company.itemsList.SingleOrDefault(s => s.ParamItemName.Equals("公司编号")); orderObj.Add("OrderNumber", orderNumber); orderObj.Add("CompanyName", CompanyName == null ? "" : CompanyName.ParamItemValue); orderObj.Add("CompanyCode", CompanyCode == null ? "" : CompanyCode.ParamItemValue); //送检人部门 orderObj.Add("SendUserOrgName", OrgName); orderObj.Add("InstrumentCount", instrumentList.Count); //orderObj.Add("SendUser", LoginHelper.LoginUser.UserName);//送检人 //仪器Json数据组装 JArray projectJArr = new JArray(); int maxLen = int.Parse(string.IsNullOrEmpty(WebUtils.GetSettingsValue("SendOrderLength")) ? "1000" : WebUtils.GetSettingsValue("SendOrderLength"));//一次送检的最大仪器数量 int leftCout = instrumentList.Count % maxLen; int count = 0; InstrumentWaitSendModel instrumentWaitSendModel = null; foreach (var item in instrumentList) { instrumentWaitSendModel = instrumentWaitSendList.SingleOrDefault(I => I.InstrumentId.Equals(item.InstrumentId)); count++; JObject projectObj = new JObject(); projectObj.Add("CertificationNumber", item.CertificateNo); projectObj.Add("InstrumentName", item.InstrumentName); projectObj.Add("Specification", item.Specification); projectObj.Add("ManageNumber", item.ManageNo); projectObj.Add("MadeNumber", item.SerialNo); projectObj.Add("InspectDate", item.DueStartDate); projectObj.Add("DueEndDate", item.DueEndDate); projectObj.Add("InspectOrg", item.InspectOrg); projectObj.Add("Remark", instrumentWaitSendModel.Remark); projectObj.Add("MD5Code", dictionaryMd5[item.InstrumentId]); projectJArr.Add(projectObj); if (count % maxLen == 0 || (count % maxLen == leftCout)) { string En_Order = SSOHelper.Encrypt(orderObj.ToString()); string En_Project = SSOHelper.Encrypt(projectJArr.ToString()); string jsonData = GRGTCommonUtils.WSProvider.EbusinessProvider.SendOrder(En_Order, En_Project, Global.Business.ServiceProvider.ParamService.GetaccessToken(Instrument.Common.Constants.SysParamType.CompanyInfo)); Dictionary <string, object> dic = ToolsLib.Utility.CommonUtils.JsonDeserialize(jsonData, typeof(Dictionary <string, object>)) as Dictionary <string, object>; result = dic["Msg"].ToString(); projectJArr.Clear(); if (!result.Equals("OK"))//一次不成功则终止推送 { break; } } } if (result.Equals("OK")) { OrderModel order = new OrderModel(); order.OrderNumber = orderNumber;//单号 order.SendUser = UserName; order.UserId = UserId; order.CreateUser = order.SendUser; order.ReceivedUser = ""; order.InstrumentCount = instrumentIdList.Count; ServiceProvider.OrderService.Save(order); //新增送检仪器清单 InstrumentModel instrumentModel = null; foreach (int instrumentId in instrumentIdList) { OrderSendInstrumentModel model = new OrderSendInstrumentModel(); instrumentModel = instrumentList.SingleOrDefault(I => I.InstrumentId.Equals(instrumentId)); instrumentWaitSendModel = instrumentWaitSendList.SingleOrDefault(I => I.InstrumentId.Equals(instrumentId)); if (instrumentModel == null) { continue; } model.InstrumentId = instrumentId; model.ItemCode = dictionaryMd5[instrumentId]; model.OrderId = order.OrderId; model.InstrumentName = instrumentModel.InstrumentName; model.CertificationNumber = instrumentModel.CertificateNo; model.SerialNo = instrumentModel.SerialNo; model.Specification = instrumentModel.Specification; model.ManageNo = instrumentModel.ManageNo; model.InspectDate = instrumentModel.DueStartDate; model.DueEndDate = instrumentModel.DueEndDate; model.InspectOrg = "广电计量";// model.Remark = instrumentWaitSendModel.Remark; ServiceProvider.OrderSendInstrumentService.Save(model); } } return(result); }
public void ExportOverTimeAndWarnList(int state, int day) { StringBuilder sqlWhere = new StringBuilder(); ParamItemModel mParamItem = new ParamItemModel(); IList <ParamItemModel> overTimeList = new List <ParamItemModel>(); IList <InstrumentWaitSendModel> preSendList = new List <InstrumentWaitSendModel>(); if (state == 0) { sqlWhere.AppendFormat("'{0:yyyy-MM-dd}'>DueEndDate and ManageLevel !='C' and RecordState={1}", DateTime.Now, UtilConstants.InstrumentState.过期禁用.GetHashCode()); preSendList = ServiceProvider.InstrumentWaitSendService.GetByUserId(LoginHelper.LoginUser.UserId); } if (state == 1) { sqlWhere.AppendFormat("DueEndDate<='{0:yyyy-MM-dd}' and DueEndDate>='{1:yyyy-MM-dd}' and ManageLevel !='C'", DateTime.Now.AddDays(day), DateTime.Now); } IList <Instrument.Common.Models.InstrumentModel> instrumentList = ServiceProvider.InstrumentService.GetAllInstrumentListByWhere(sqlWhere.ToString()); //数据列表 DataTable dtData = new DataTable(); if (state == 0) { dtData.Columns.Add("RecordState", typeof(string)); //仪器状态 overTimeList = Global.Business.ServiceProvider.ParamService.GetAll().SingleOrDefault(t => t.ParamCode == Instrument.Common.Constants.SysParamType.InstrumentState).itemsList; } if (state == 1) { dtData.Columns.Add("WarnDay", typeof(string)); //预警天数 } dtData.Columns.Add("InstrumentName", typeof(string)); //仪器名字 dtData.Columns.Add("CertificateNo", typeof(string)); //证书编号 dtData.Columns.Add("DueEndDate", typeof(string)); //到期日期 dtData.Columns.Add("Specification", typeof(string)); //仪器型号 dtData.Columns.Add("ManageNo", typeof(string)); //管理编号 dtData.Columns.Add("SerialNo", typeof(string)); //出厂编号 int warnDay; DateTime dueEndDate; InstrumentWaitSendModel instrumentWaitSendModel = null; foreach (var item in instrumentList) { DataRow drData = dtData.NewRow(); if (state == 0) { instrumentWaitSendModel = preSendList.SingleOrDefault(i => i.InstrumentId.Equals(item.InstrumentId)); if (instrumentWaitSendModel != null) { continue; } mParamItem = overTimeList.SingleOrDefault(c => c.ParamItemValue == string.Format("{0}", item.RecordState)); drData["RecordState"] = mParamItem == null ? "" : mParamItem.ParamItemName; } else { if (!string.IsNullOrWhiteSpace(string.Format("{0}", item.DueEndDate))) { dueEndDate = Convert.ToDateTime(string.Format("{0:d}", item.DueEndDate)); } else { dueEndDate = DateTime.MinValue; } warnDay = (dueEndDate - Convert.ToDateTime(string.Format("{0:d}", DateTime.Now))).Days; warnDay = warnDay < 0 ? 0 : warnDay; warnDay = (dueEndDate - Convert.ToDateTime(string.Format("{0:d}", DateTime.Now))).Days; warnDay = warnDay < 0 ? 0 : warnDay; drData["WarnDay"] = warnDay; } drData["InstrumentName"] = item.InstrumentName; drData["CertificateNo"] = item.CertificateNo; drData["DueEndDate"] = string.Format("{0:yyyy-MM-dd}", item.DueEndDate); drData["Specification"] = item.Specification; drData["ManageNo"] = item.ManageNo; drData["SerialNo"] = item.SerialNo; dtData.Rows.Add(drData); } //导出 string[] head = new string[] { "仪器状态", "仪器名称", "证书编号", "到期日期", "仪器型号", "管理编号", "出厂编号" }; if (state == 1) { head[0] = "预警天数"; } List <string> headerList = new List <string>(head); string result = ToolsLib.FileService.ExcelFile.WriteDataToExcel(headerList, dtData, "Sheet1", ToolsLib.LibConst.ExcelVersion.Excel2007); ToolsLib.FileService.WebServer.DownLoadFile(result, string.Format("{0:yyyyMMddHHmmss}仪器预警{1}", DateTime.Now, System.IO.Path.GetExtension(result)), true); }