/// <summary> /// 新增巡店工作日志(门店拜访记录) /// </summary> /// <param name="User"></param> /// <param name="VisitWorkJson"></param> /// <returns>大于0:成功 -1:Json字符串无法解析 -2:新增拜访工作记录失败</returns> public static int VisitWorkAdd(UserInfo User, VisitWork Work) { LogWriter.WriteLog("PBMIFService.VisitWorkAdd:UserName="******",VisitWorkJson=" + JsonConvert.SerializeObject(Work)); try { VisitWork v = Work; if (v == null) return -1; //Json字符串无法解析 VST_WorkListBLL bll; if (Work.ID == 0 || new VST_WorkListBLL(Work.ID).Model == null) { bll = new VST_WorkListBLL(); bll.Model.RelateStaff = v.RelateStaff == 0 ? User.StaffID : v.RelateStaff; bll.Model.Route = v.Route; bll.Model.Client = v.Client; bll.Model.Template = v.VisitTemplate; bll.Model.WorkingClassify = v.WorkingClassify == 0 ? 1 : v.WorkingClassify; bll.Model.IsComplete = v.IsComplete ? "Y" : "N"; bll.Model.BeginTime = v.BeginTime; bll.Model.EndTime = v.EndTime; bll.Model.PlanID = v.PlanID; bll.Model.Remark = v.Remark; bll.Model.ApproveFlag = 2; bll.Model.InsertStaff = User.StaffID; } else { bll = new VST_WorkListBLL(Work.ID); bll.Model.IsComplete = v.IsComplete ? "Y" : "N"; bll.Model.EndTime = v.EndTime; bll.Model.Remark = v.Remark; } if (bll.Model.ID == 0) { int worklistid = bll.Add(); if (worklistid <= 0) return -2; //新增拜访工作记录失败 Work.ID = worklistid; } else { if (bll.Update() < 0) return -3; //更新拜访工作记录失败 } foreach (VisitWork.VisitWorkItem item in v.Items) { if (item.WorkItemID > 0) continue; VST_WorkItem detail = new VST_WorkItem(); detail.WorkList = Work.ID; if (item.ProcessCode != "") { VST_Process m = new VST_ProcessBLL(item.ProcessCode).Model; if (m != null) detail.Process = m.ID; } detail.WorkTime = item.WorkTime; detail.Remark = item.Remark; int detailid = bll.AddDetail(detail); switch (item.ProcessCode) { #region 进店详细属性 case "JD": { int JobType = 0, JudgeMode = 0; float Longitude = 0, Latitude = 0; if (item.ExtParams.ContainsKey("JobType")) int.TryParse(item.ExtParams["JobType"].ToString(), out JobType); if (item.ExtParams.ContainsKey("JudgeMode")) int.TryParse(item.ExtParams["JudgeMode"].ToString(), out JudgeMode); if (item.ExtParams.ContainsKey("Longitude")) float.TryParse(item.ExtParams["Longitude"].ToString(), out Longitude); if (item.ExtParams.ContainsKey("Latitude")) float.TryParse(item.ExtParams["Latitude"].ToString(), out Latitude); VST_WorkItem_JDBLL jdbll = new VST_WorkItem_JDBLL(); jdbll.Model.Job = detailid; jdbll.Model.JobType = JobType; jdbll.Model.JudgeMode = JudgeMode; jdbll.Model.Longitude = Longitude; jdbll.Model.Latitude = Latitude; if (item.ExtParams.ContainsKey("Remark")) jdbll.Model.Remark = item.ExtParams["Remark"].ToString(); jdbll.Add(); break; } #endregion default: break; } } return Work.ID; } catch (System.Exception err) { LogWriter.WriteLog("PBMIFService.VisitWorkAdd Exception Error!", err); return -100; } }
public VisitWorkItem(VST_WorkItem m) { WorkItemID = m.ID; if (m.Process != 0) { Process = new VisitProcess(m.Process); ProcessCode = Process.Code; } WorkTime = m.WorkTime; InsertTime = m.InsertTime; Remark = m.Remark; ExtParams = new Hashtable(); switch (Process.Code) { #region 进店详细属性 case "JD": { VST_WorkItem_JD jd = VST_WorkItem_JDBLL.GetDetailByJobID(m.ID); //进出店类型 ExtParams.Add("JobType", jd.JobType); //1:进店 2:离店 //进出店方式 ExtParams.Add("JudgeMode", jd.JudgeMode); //1:查询 2:扫码 3:NFC //经度 ExtParams.Add("Longitude", jd.Longitude); //纬度 ExtParams.Add("Latitude", jd.Latitude); try { //进出店类型字典名 if (jd.JobType > 0) { Dictionary_Data dic = DictionaryBLL.GetDicCollections("VST_VisitJDType")[jd.JobType.ToString()]; if (dic != null) { ExtParams.Add("JobTypeName", dic.Name); } } //进出店方式字典名 if (jd.JudgeMode > 0) { Dictionary_Data dic = DictionaryBLL.GetDicCollections("VST_VisitJudgeMode")[jd.JudgeMode.ToString()]; if (dic != null) { ExtParams.Add("JudgeModeName", dic.Name); } } } catch { } } break; #endregion } }