public async Task <NewErrorModel> GetPrintPDF([FromBody] PrintAndSendModel printAndSendModel) { try { string TaskId = printAndSendModel.TaskId; string UserId = printAndSendModel.UserId; PDFHelper pdfHelper = new PDFHelper(); using (DDContext context = new DDContext()) { //获取表单信息 Tasks tasks = context.Tasks.Where(t => t.TaskId.ToString() == TaskId && t.NodeId == 0).First(); string FlowId = tasks.FlowId.ToString(); TasksState tasksState = context.TasksState.Where(t => t.TaskId == TaskId).FirstOrDefault(); if (tasksState.State != "已完成") { return(new NewErrorModel() { error = new Error(1, string.Format("流程{0}!", tasksState.State), "") { }, }); } CarTable ct = context.CarTable.Where(u => u.TaskId == TaskId).FirstOrDefault(); if (printAndSendModel.IsPublic) { ct.CarId = context.Car.Where(c => c.Id.ToString() == ct.CarId).FirstOrDefault().CarNumber; } Dictionary <string, string> keyValuePairs = new Dictionary <string, string>(); if (printAndSendModel.IsPublic) { keyValuePairs.Add("驾驶人", ct.DrivingMan); keyValuePairs.Add("车牌号", ct.CarId); keyValuePairs.Add("同行人数", ct.PeerNumber); keyValuePairs.Add("用车事由", ct.MainContent); keyValuePairs.Add("计划行车路线", ct.PlantTravelWay); keyValuePairs.Add("实际行车路线", ct.FactTravelWay); keyValuePairs.Add("出发时间", ct.StartTime.ToString()); keyValuePairs.Add("归来时间", ct.EndTime.ToString()); keyValuePairs.Add("实际行驶公里数", ct.FactKilometre); keyValuePairs.Add("总行驶公里数", ct.UseKilometres); } else { keyValuePairs.Add("驾驶人", ct.DrivingMan); keyValuePairs.Add("同行人数", ct.PeerNumber); keyValuePairs.Add("用车事由", ct.MainContent); keyValuePairs.Add("计划行车路线", ct.PlantTravelWay); keyValuePairs.Add("实际行车路线", ct.FactTravelWay); keyValuePairs.Add("出发时间", ct.StartTime.ToString()); keyValuePairs.Add("归来时间", ct.EndTime.ToString()); keyValuePairs.Add("总行驶公里数", ct.UseKilometres); } List <NodeInfo> NodeInfoList = context.NodeInfo.Where(u => u.FlowId == FlowId && u.NodeId != 0 && u.IsSend != true && u.NodeName != "结束").ToList(); foreach (NodeInfo nodeInfo in NodeInfoList) { if (string.IsNullOrEmpty(nodeInfo.NodePeople)) { string strNodePeople = context.Tasks.Where(q => q.TaskId.ToString() == TaskId && q.NodeId == nodeInfo.NodeId).First().ApplyMan; string ApplyTime = context.Tasks.Where(q => q.TaskId.ToString() == TaskId && q.NodeId == nodeInfo.NodeId).First().ApplyTime; nodeInfo.NodePeople = strNodePeople + " " + ApplyTime; } else { string ApplyTime = context.Tasks.Where(q => q.TaskId.ToString() == TaskId && q.NodeId == nodeInfo.NodeId).First().ApplyTime; nodeInfo.NodePeople = nodeInfo.NodePeople + " " + ApplyTime; } } DataTable dtApproveView = ClassChangeHelper.ToDataTable(NodeInfoList); string FlowName = context.Flows.Where(f => f.FlowId.ToString() == FlowId).First().FlowName.ToString(); string path = pdfHelper.GeneratePDF(FlowName, TaskId, tasks.ApplyMan, tasks.Dept, tasks.ApplyTime, null, null, "2", 300, 650, null, null, null, dtApproveView, keyValuePairs); string RelativePath = "~/UploadFile/PDF/" + Path.GetFileName(path); List <string> newPaths = new List <string>(); RelativePath = AppDomain.CurrentDomain.BaseDirectory + RelativePath.Substring(2, RelativePath.Length - 2).Replace('/', '\\'); newPaths.Add(RelativePath); string SavePath = string.Format(@"{0}\UploadFile\Ionic\{1}.zip", AppDomain.CurrentDomain.BaseDirectory, FlowName + DateTime.Now.ToString("yyyyMMddHHmmss")); //文件压缩打包 IonicHelper.CompressMulti(newPaths, SavePath, false); //上传盯盘获取MediaId SavePath = string.Format(@"~\UploadFile\Ionic\{0}", Path.GetFileName(SavePath)); DingTalkServersController dingTalkServersController = new DingTalkServersController(); var resultUploadMedia = await dingTalkServersController.UploadMedia(SavePath); //推送用户 FileSendModel fileSendModel = JsonConvert.DeserializeObject <FileSendModel>(resultUploadMedia); fileSendModel.UserId = UserId; var result = await dingTalkServersController.SendFileMessage(fileSendModel); return(new NewErrorModel() { data = result, error = new Error(0, "打印盖章成功!", "") { }, }); } } catch (Exception ex) { throw ex; } }
public NewErrorModel QuaryByTimeNew(string startTime, string endTime) { try { using (DDContext context = new DDContext()) { List <Car> cars = context.Car.ToList(); List <CarTable> carTables = context.CarTable.Where(c => c.IsPublicCar == true && !string.IsNullOrEmpty(c.CarId)).ToList(); List <TasksState> tasksStates = context.TasksState.ToList(); List <CarTable> carTablesPro = new List <CarTable>(); foreach (var item in carTables) { TasksState tasksState = tasksStates.Where(t => t.TaskId == item.TaskId).FirstOrDefault(); if (tasksState != null && tasksState.State == "已完成") { carTablesPro.Add(item); } } foreach (var item in cars) { foreach (var ct in carTablesPro) { if (ct.CarId.ToString() == item.Id.ToString()) { if (!((DateTime.Parse(endTime) < ct.StartTime) || (DateTime.Parse(startTime) > ct.EndTime))) { item.IsOccupyCar = true; //占用 if (item.carTables != null) { item.carTables.Add(ct); } else { item.carTables = new List <CarTable>() { ct }; } //旧格式 if (string.IsNullOrEmpty(item.TaskId)) { item.TaskId = ct.TaskId; } else { item.TaskId = item.TaskId + "," + ct.TaskId; } if (string.IsNullOrEmpty(item.UseMan)) { item.UseMan = ct.DrivingMan; } else { item.UseMan = item.UseMan + "," + ct.DrivingMan; } if (string.IsNullOrEmpty(item.UseTimes)) { item.UseTimes = ct.StartTime + "---" + ct.EndTime; } else { item.UseTimes = item.UseTimes + "," + ct.StartTime + "---" + ct.EndTime; } } } } } return(new NewErrorModel() { data = cars, error = new Error(0, "查询成功!", "") { }, }); //List<Car> cars = context.Car.ToList(); //List<CarTable> carTables = context.CarTable.Where(c => c.IsPublicCar == true && !string.IsNullOrEmpty(c.CarId)).ToList(); //List<Tasks> tasks = FlowInfoServer.ReturnUnFinishedTaskId("13"); //过滤审批后的流程 //List<Car> carsQuery = new List<Car>();//条件过滤集合 //List<Car> carsDic = new List<Car>(); //foreach (var ct in carTables) //{ // if (tasks.Where(t => t.TaskId.ToString() == ct.TaskId).ToList().Count > 0) // { // if (!(DateTime.Parse(endTime) < ct.StartTime || ct.EndTime < DateTime.Parse(startTime))) // { // Car car = cars.Find(c => c.Id.ToString() == ct.CarId); // if (car != null) // { // car.IsOccupyCar = true; // car.OccupyCarId = ct.Id.ToString(); // car.UseMan = ct.DrivingMan; // car.UseTimes = ct.StartTime + "---" + ct.EndTime; // carsQuery.Add(car); // } // } // } //} //foreach (var c in cars) //{ // if (carsQuery.Where(cq => cq.Id == c.Id).ToList().Count == 0) // { // c.OccupyCarId = ""; // c.IsOccupyCar = false; // c.UseTimes = ""; // //bool IsTrue = true; // //foreach (var item in carsQuery) // //{ // // if (item.Id == c.Id) // // { // // IsTrue = false; // // } // //} // //if (IsTrue) // //{ // // carsQuery.Add(c); // //} // } //} //return new NewErrorModel() //{ // data = carsQuery.Distinct(), // error = new Error(0, "查询成功!", "") { }, //}; } } catch (Exception ex) { throw ex; } }