|
@@ -0,0 +1,905 @@
|
|
|
|
+package com.jeeplus.modules.sg.managementcenter.projectPlanArrage.web;
|
|
|
|
+
|
|
|
|
+import com.google.common.collect.Lists;
|
|
|
|
+import com.google.common.collect.Maps;
|
|
|
|
+import com.jeeplus.common.json.AjaxJson;
|
|
|
|
+import com.jeeplus.common.utils.DateUtils;
|
|
|
|
+import com.jeeplus.common.utils.excel.ExportExcel;
|
|
|
|
+import com.jeeplus.core.persistence.Page;
|
|
|
|
+import com.jeeplus.core.web.BaseController;
|
|
|
|
+import com.jeeplus.modules.act.entity.Act;
|
|
|
|
+import com.jeeplus.modules.act.service.ActTaskService;
|
|
|
|
+import com.jeeplus.modules.sg.managementcenter.materialplan.entity.MaterialPlan;
|
|
|
|
+import com.jeeplus.modules.sg.managementcenter.projectPlanArrage.entity.ProjectActProclnsAss;
|
|
|
|
+import com.jeeplus.modules.sg.managementcenter.projectPlanArrage.entity.ProjectAssignment;
|
|
|
|
+import com.jeeplus.modules.sg.managementcenter.projectPlanArrage.entity.ProjectPlanArrage;
|
|
|
|
+import com.jeeplus.modules.sg.managementcenter.projectPlanArrage.service.ProjectPlanActService;
|
|
|
|
+import com.jeeplus.modules.sg.managementcenter.projectPlanArrage.service.ProjectPlanArrageService;
|
|
|
|
+import com.jeeplus.modules.sg.managementcenter.projectPlanArrage.util.BookStrapTreeUtil;
|
|
|
|
+import com.jeeplus.modules.sg.managementcenter.projectPlanArrage.util.ImportUtil;
|
|
|
|
+import com.jeeplus.modules.sg.managementcenter.projectPlanArrage.util.PackagingUtil;
|
|
|
|
+import com.jeeplus.modules.sg.managementcenter.projectPlanArrage.util.Result;
|
|
|
|
+import com.jeeplus.modules.sys.utils.UserUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.stereotype.Controller;
|
|
|
|
+import org.springframework.ui.Model;
|
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
+import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
+
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
|
+import java.io.UnsupportedEncodingException;
|
|
|
|
+import java.net.URLDecoder;
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.Date;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+
|
|
|
|
+import static com.jeeplus.core.service.BaseService.dataRuleFilter;
|
|
|
|
+
|
|
|
|
+@Controller
|
|
|
|
+@RequestMapping(value = "${adminPath}/sg/managementCenter/projectPlanArrage")
|
|
|
|
+public class ProjectPlanArrageController extends BaseController {
|
|
|
|
+ @Autowired
|
|
|
|
+ private ProjectPlanArrageService projectPlanArrageService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ProjectPlanActService projectPlanActService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ActTaskService actTaskService;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @RequestMapping(value = {"list", ""})
|
|
|
|
+ public String list(ProjectPlanArrage projectPlanArrage, Model model) {
|
|
|
|
+ model.addAttribute("projectPlanArrage", projectPlanArrage);
|
|
|
|
+ return "modules/sg/managementcenter/projectPlanArrage/projectPlanArrageList";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 列表数据
|
|
|
|
+ */
|
|
|
|
+ /**
|
|
|
|
+ * 列表数据
|
|
|
|
+ */
|
|
|
|
+ @ResponseBody
|
|
|
|
+// @RequiresPermissions("managementcenter:materialproject:list")
|
|
|
|
+ @RequestMapping(value = "data")
|
|
|
|
+ public Map<String, Object> data(ProjectPlanArrage projectPlanArrage, HttpServletRequest request, HttpServletResponse response, Model model) {
|
|
|
|
+ Page<ProjectPlanArrage> page = projectPlanArrageService.findPage(new Page<ProjectPlanArrage>(request, response), projectPlanArrage);
|
|
|
|
+ return getBootstrapData(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //安排项目计划 -- 跳转配网项目经理操作页面
|
|
|
|
+ @RequestMapping(value = "arrageProjectPlan")
|
|
|
|
+ public String arrageProjectPlan(ProjectPlanArrage projectPlanArrage,Model model){
|
|
|
|
+ return "modules/sg/managementcenter/projectPlanArrage/projectDateForm";
|
|
|
|
+ }
|
|
|
|
+ //设置停电开关页面
|
|
|
|
+ @RequestMapping(value = "arrangementElectrified")
|
|
|
|
+ public String arrangementElectrified(ProjectPlanArrage projectPlanArrage){
|
|
|
|
+ return "modules/sg/managementcenter/projectPlanArrage/projectPowerList";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //返回安排计划列表,操作计划安排.
|
|
|
|
+ @RequestMapping(value = "isArranging")
|
|
|
|
+ public String lsArranging(ProjectPlanArrage projectPlanArrage,Model model,HttpServletRequest request){
|
|
|
|
+ try {
|
|
|
|
+ if (null!=projectPlanArrage.getProjectName()&&!"".equals(projectPlanArrage.getProjectName())){
|
|
|
|
+ String name = URLDecoder.decode(projectPlanArrage.getProjectName(),"utf-8");
|
|
|
|
+ projectPlanArrage.setProjectName(name);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //初始安排计划项目列表
|
|
|
|
+ List<ProjectPlanArrage> planArrageList = projectPlanArrageService.getProjectPlanArrageList();
|
|
|
|
+ if (!planArrageList.isEmpty()){
|
|
|
|
+ //根据项目名称查询人员
|
|
|
|
+ List<ProjectAssignment> listAssignment = projectPlanArrageService.findListAssignment(planArrageList);
|
|
|
|
+ //获得最终集合
|
|
|
|
+ List<ProjectPlanArrage> projectPlanArrageList = projectPlanArrageService.getPlanArrageList(planArrageList, listAssignment);
|
|
|
|
+
|
|
|
|
+ //区分开关与项目--整体集合
|
|
|
|
+ List<ProjectPlanArrage> projectList = projectPlanArrageService.getProjectList(projectPlanArrageList);
|
|
|
|
+ //开关 - 项目 统一集合 用WhetherStatus区分
|
|
|
|
+ List<ProjectPlanArrage> projectPlanList = PackagingUtil.getProjectPlanList(projectPlanArrage,projectList);
|
|
|
|
+ for (ProjectPlanArrage par:projectList){
|
|
|
|
+ par.setProjectMonthDate(projectPlanArrage.getProjectMonthDate());
|
|
|
|
+ par.setHtmlStatus("0");
|
|
|
|
+ par.preInsert();
|
|
|
|
+ }
|
|
|
|
+ request.getSession().setAttribute("projectPlan",projectPlanList);
|
|
|
|
+ }
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ return "modules/sg/managementcenter/projectPlanArrage/projectPlanArrageForm";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //初始安排的计划项目--跳转树形操作列表
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "initArragePlanProject")
|
|
|
|
+ public Map<String, Object> initArragePlanProject(ProjectPlanArrage projectPlanArrage,Model model,HttpServletRequest request,HttpServletResponse response){
|
|
|
|
+ projectPlanArrage.setArrageFlag("1");
|
|
|
|
+ projectPlanArrage.setWhetherStatus("0");
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("projectPlan");
|
|
|
|
+ Page<ProjectPlanArrage> page = findPageList(new Page<ProjectPlanArrage>(request, response),projectPlanArrage,projectPlans);
|
|
|
|
+ return getBootstrapData(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public Page<ProjectPlanArrage> findPageList(Page<ProjectPlanArrage> page, ProjectPlanArrage entity,List<ProjectPlanArrage> list) {
|
|
|
|
+ dataRuleFilter(entity);
|
|
|
|
+ entity.setPage(page);
|
|
|
|
+ List<ProjectPlanArrage> planArrages = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+ if (null!=list){
|
|
|
|
+ for (ProjectPlanArrage projectPlanArrage:list){
|
|
|
|
+ if (entity.getWhetherStatus().equals(projectPlanArrage.getWhetherStatus())&&entity.getArrageFlag().equals(projectPlanArrage.getArrageFlag())){
|
|
|
|
+ planArrages.add(projectPlanArrage);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ page.setList(planArrages);
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //所有未安排的计划-树形表格展示
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "bootstrapTreeTable")
|
|
|
|
+ public List<Map<String,Object>> getArrageNoPlan(ProjectPlanArrage projectPlanArrage,HttpServletRequest request){
|
|
|
|
+ //创建树形表格
|
|
|
|
+ List<Map<String,Object>> objects = Lists.newArrayList();
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("projectPlan");
|
|
|
|
+ List<ProjectPlanArrage> planArrageList = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+ if (null!=projectPlans){
|
|
|
|
+ for (ProjectPlanArrage p:projectPlans){
|
|
|
|
+ if (p.getArrageFlag().equals("0")){
|
|
|
|
+ planArrageList.add(p);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ List<Map<String, Object>> bookStrapTree = BookStrapTreeUtil.getAllBookStrapTree(objects, planArrageList,"1");
|
|
|
|
+ return bookStrapTree;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //安排项目计划
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "unplanned")
|
|
|
|
+ public Result getUnplanned(ProjectPlanArrage projectPlanArrage,String ids,HttpServletRequest request){
|
|
|
|
+ Result j = new Result();
|
|
|
|
+ List<String> strings = PackagingUtil.getString(ids);
|
|
|
|
+ j.setSuccess(false);
|
|
|
|
+ j.setMessage("安排计划项目失败");
|
|
|
|
+ try {
|
|
|
|
+ //获取项目信息
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("projectPlan");
|
|
|
|
+ if (!projectPlans.isEmpty()&&!strings.isEmpty()){
|
|
|
|
+ projectPlanArrageService.getUnplannedService(projectPlans,strings);
|
|
|
|
+ }else {
|
|
|
|
+ j.setSuccess(false);
|
|
|
|
+ j.setMessage("安排计划项目失败");
|
|
|
|
+ }
|
|
|
|
+ List<ProjectPlanArrage> planArrages = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+ for (ProjectPlanArrage planArrage:projectPlans){
|
|
|
|
+ if (planArrage.getArrageFlag().equals("0")){
|
|
|
|
+ planArrages.add(planArrage);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ List<Map<String,Object>> objects = Lists.newArrayList();
|
|
|
|
+ List<Map<String, Object>> bookStrapTree = BookStrapTreeUtil.getAllBookStrapTree(objects, planArrages,"1");
|
|
|
|
+ j.setMapListTree(bookStrapTree);
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMessage("安排计划成功");
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //退回操作
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "deleteAll")
|
|
|
|
+ public Result getTheRoBack(ProjectPlanArrage projectPlanArrage, String ids, HttpServletRequest request){
|
|
|
|
+ Result j = new Result();
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMessage("退回成功");
|
|
|
|
+ List<String> strings = PackagingUtil.getString(ids);
|
|
|
|
+ try {
|
|
|
|
+ //获取项目信息
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("projectPlan");
|
|
|
|
+ if (!projectPlans.isEmpty()&&!strings.isEmpty()){
|
|
|
|
+ projectPlanArrageService.getTheRoBackService(projectPlans,strings);
|
|
|
|
+ }else {
|
|
|
|
+ j.setSuccess(false);
|
|
|
|
+ j.setMessage("退回计划项目失败");
|
|
|
|
+ }
|
|
|
|
+ List<ProjectPlanArrage> planArrages = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+ for (ProjectPlanArrage planArrage:projectPlans){
|
|
|
|
+ if (planArrage.getArrageFlag().equals("0")){
|
|
|
|
+ planArrages.add(planArrage);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ List<Map<String,Object>> objects = Lists.newArrayList();
|
|
|
|
+ List<Map<String, Object>> bookStrapTree = BookStrapTreeUtil.getAllBookStrapTree(objects, planArrages,"1");
|
|
|
|
+ j.setMapListTree(bookStrapTree);
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMessage("退回计划成功");
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //安排带电项目展示form
|
|
|
|
+ @ResponseBody
|
|
|
|
+// @RequiresPermissions("managementcenter:materialproject:list")
|
|
|
|
+ @RequestMapping(value = "dataPower")
|
|
|
|
+ public Map<String, Object> dataPower(ProjectPlanArrage projectPlanArrage, HttpServletRequest request, HttpServletResponse response, Model model) {
|
|
|
|
+ projectPlanArrage.setArrageFlag("1");
|
|
|
|
+ projectPlanArrage.setWhetherStatus("0");
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("projectPlan");
|
|
|
|
+ Page<ProjectPlanArrage> page = findPageList(new Page<ProjectPlanArrage>(request, response),projectPlanArrage,projectPlans);
|
|
|
|
+ return getBootstrapData(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //检验开关
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "inspection")
|
|
|
|
+ public AjaxJson inspection(String ids,ProjectPlanArrage projectPlanArrage,Model model,HttpServletRequest request,HttpServletResponse response){
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("projectPlan");
|
|
|
|
+ List<ProjectPlanArrage> planArrages = projectPlanArrageService.inspectionService(ids, projectPlans);
|
|
|
|
+ request.getSession().setAttribute("projectPlan",planArrages);
|
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMsg("检验成功");
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "sureInspection")
|
|
|
|
+ public AjaxJson sureInspection(String ids,ProjectPlanArrage projectPlanArrage,Model model,HttpServletRequest request,HttpServletResponse response){
|
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("projectPlan");
|
|
|
|
+ List<ProjectPlanArrage> planArrages = projectPlanArrageService.inspectionService(ids, projectPlans);
|
|
|
|
+ request.getSession().setAttribute("projectPlan",planArrages);
|
|
|
|
+ boolean flag = true;
|
|
|
|
+ for (ProjectPlanArrage planArrage:planArrages){
|
|
|
|
+ if (planArrage.getHtmlStatus().equals("1")){
|
|
|
|
+ flag = false;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (flag){
|
|
|
|
+ j.setSuccess(false);
|
|
|
|
+ }else {
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ }
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+ //保存并且发送流程
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "save")
|
|
|
|
+ public AjaxJson saveStartupProcess(ProjectPlanArrage projectPlanArrage,Model model,HttpServletRequest request,HttpServletResponse response) throws Exception{
|
|
|
|
+ AjaxJson ajaxJson= new AjaxJson();
|
|
|
|
+ ajaxJson.setSuccess(true);
|
|
|
|
+ //得到所有项目
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("projectPlan");
|
|
|
|
+ //安排项目 --- 得到安排项目
|
|
|
|
+ List<ProjectPlanArrage> planArrages = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+ for (ProjectPlanArrage planArrage:projectPlans){
|
|
|
|
+ if (planArrage.getArrageFlag().equals("1")&&planArrage.getWhetherStatus().equals("0")){
|
|
|
|
+ planArrages.add(planArrage);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //发送流程---施工单位项目经理
|
|
|
|
+ projectPlanActService.startProjectArrangeAct(planArrages);
|
|
|
|
+ return ajaxJson;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //施工单位项目经理处理页面
|
|
|
|
+ @RequestMapping(value = "conList")
|
|
|
|
+ public String getConstructionList(ProjectActProclnsAss projectActProclnsAss, Model model,HttpServletRequest request){
|
|
|
|
+ //得到当前流程
|
|
|
|
+ Act act = projectActProclnsAss.getAct();
|
|
|
|
+ act.setId(projectActProclnsAss.getId());
|
|
|
|
+ projectActProclnsAss.setProcInsId(act.getProcInsId());//赋值项目id
|
|
|
|
+ //配网项目经理安排的项目
|
|
|
|
+ List<ProjectActProclnsAss> listAss = projectPlanActService.findListAss(projectActProclnsAss);//查找当前流程节点的项目
|
|
|
|
+ //目前安排的存入session中
|
|
|
|
+ request.getSession().setAttribute("presentActProInsAss",listAss);
|
|
|
|
+ //项目已经安排项目定义号拼接
|
|
|
|
+ String projectId = projectPlanActService.getMapProjectId(listAss);
|
|
|
|
+ //获取计划安排月份
|
|
|
|
+ Date mouthDate = projectPlanActService.getMouthDate(listAss);
|
|
|
|
+ request.getSession().setAttribute("mouthDate",mouthDate);
|
|
|
|
+
|
|
|
|
+ //初始安排计划项目列表
|
|
|
|
+ List<ProjectPlanArrage> planArrageList = projectPlanArrageService.getProjectPlanArrageList();
|
|
|
|
+ //根据项目名称查询人员
|
|
|
|
+ List<ProjectAssignment> listAssignment = projectPlanArrageService.findListAssignment(planArrageList);
|
|
|
|
+ //获得最终集合
|
|
|
|
+ List<ProjectPlanArrage> projectPlanArrageList = projectPlanArrageService.getPlanArrageList(planArrageList, listAssignment);
|
|
|
|
+ //区分开关与项目--整体集合
|
|
|
|
+ List<ProjectPlanArrage> projectList = projectPlanArrageService.getProjectList(projectPlanArrageList);
|
|
|
|
+ //开关 - 项目 统一集合 用WhetherStatus区分
|
|
|
|
+ ProjectPlanArrage planArrage = new ProjectPlanArrage();
|
|
|
|
+ planArrage.setProjectNumber(projectId);//赋值项目定义号
|
|
|
|
+ List<ProjectPlanArrage> projectPlanList = PackagingUtil.getProjectPlanList(planArrage,projectList);
|
|
|
|
+
|
|
|
|
+ //当前项目与配网项目经理安排项目会合
|
|
|
|
+ List<ProjectPlanArrage> summaryService = projectPlanActService.getSummaryService(projectPlanList, listAss);
|
|
|
|
+ for (ProjectPlanArrage planArrage1:summaryService){
|
|
|
|
+ planArrage1.preInsert();
|
|
|
|
+ }
|
|
|
|
+ request.getSession().setAttribute("summaryList",summaryService);
|
|
|
|
+ request.getSession().setAttribute("planAct",act);
|
|
|
|
+ model.addAttribute("act",act);
|
|
|
|
+ return "modules/sg/managementcenter/projectPlanArrage/act/constructionManageAct";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //初始安排的计划项目--跳转树形操作列表--施工单位项目经理
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "initConstructionArragePlanProject")
|
|
|
|
+ public Map<String, Object> initConstructionArragePlanProject(ProjectPlanArrage projectPlanArrage,Model model,HttpServletRequest request,HttpServletResponse response){
|
|
|
|
+ projectPlanArrage.setArrageFlag("1");
|
|
|
|
+ projectPlanArrage.setWhetherStatus("0");
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("summaryList");
|
|
|
|
+ Page<ProjectPlanArrage> page = findPageListCons(new Page<ProjectPlanArrage>(request, response),projectPlanArrage,projectPlans);
|
|
|
|
+ return getBootstrapData(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //所有未安排的计划-树形表格展示--施工单位项目经理
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "bootstrapConstructionTreeTable")
|
|
|
|
+ public List<Map<String,Object>> getConstructionArrageNoPlan(ProjectPlanArrage projectPlanArrage,HttpServletRequest request){
|
|
|
|
+ //创建树形表格
|
|
|
|
+ List<Map<String,Object>> objects = Lists.newArrayList();
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("summaryList");
|
|
|
|
+ List<ProjectPlanArrage> planArrageList = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+// String name = UserUtils.getUser().getName();
|
|
|
|
+// for (ProjectPlanArrage p:projectPlans){
|
|
|
|
+// if (p.getArrageFlag().equals("0")){
|
|
|
|
+// if (null!=p.getConstructionUnit()){
|
|
|
|
+// if (p.getConstructionUnit().equals(name)){
|
|
|
|
+// planArrageList.add(p);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+ List<Map<String, Object>> bookStrapTree = BookStrapTreeUtil.getAllBookStrapTree(objects, projectPlans,"2");
|
|
|
|
+ return bookStrapTree;
|
|
|
|
+ }
|
|
|
|
+ //安排项目计划---施工单位项目经理
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "consPlanArranage")
|
|
|
|
+ public Result getConsPlanArranage(ProjectPlanArrage projectPlanArrage,String ids,HttpServletRequest request){
|
|
|
|
+ Result j = new Result();
|
|
|
|
+ try{
|
|
|
|
+ //得到拼接id
|
|
|
|
+ List<String> strings = PackagingUtil.getString(ids);
|
|
|
|
+ //获得安排月份
|
|
|
|
+ Date mouthDate = (Date) request.getSession().getAttribute("mouthDate");
|
|
|
|
+ //获取安排的项目
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("summaryList");
|
|
|
|
+ if (null!=projectPlans&&!projectPlans.isEmpty()){
|
|
|
|
+ //安排计划
|
|
|
|
+ projectPlanArrageService.getConsPlanArranageService(projectPlans,strings,mouthDate);
|
|
|
|
+ }
|
|
|
|
+ List<ProjectPlanArrage> planArrages = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+ String name = UserUtils.getUser().getName();
|
|
|
|
+ for (ProjectPlanArrage planArrage:projectPlans){
|
|
|
|
+ if (planArrage.getArrageFlag().equals("0")){
|
|
|
|
+ if (null!=planArrage.getConstructionUnit()){
|
|
|
|
+ if (planArrage.getConstructionUnit().equals(name)){
|
|
|
|
+ planArrages.add(planArrage);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ List<Map<String,Object>> objects = Lists.newArrayList();
|
|
|
|
+ List<Map<String, Object>> bookStrapTree = BookStrapTreeUtil.getAllBookStrapTree(objects, planArrages,"2");
|
|
|
|
+ j.setMapListTree(bookStrapTree);
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMessage("安排计划成功");
|
|
|
|
+ return j;
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ j.setSuccess(false);
|
|
|
|
+ j.setMessage("安排计划失败");
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //删除项目 -- 填写备注--施工单位项目经理 -- 填写完成后由配网项目经理同意删除
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "deletePlanArrange")
|
|
|
|
+ public Result deletePlanArrange(String ids,String backToText,HttpServletRequest request){
|
|
|
|
+ Result ajaxJson = new Result();
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ //获取ids的集合
|
|
|
|
+ String comment ="[退回项目]:"+URLDecoder.decode(backToText, "UTF-8");
|
|
|
|
+ List<String> strings = PackagingUtil.getString(ids);
|
|
|
|
+ //获取安排的项目
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("summaryList");
|
|
|
|
+ //验证是否允许
|
|
|
|
+ boolean flag = projectPlanArrageService.deleteJudgePlanArrange(projectPlans, strings);
|
|
|
|
+ if (!flag){
|
|
|
|
+ ajaxJson.setSuccess(false);
|
|
|
|
+ ajaxJson.setMessage("只允许删除本人的项目!");
|
|
|
|
+ return ajaxJson;
|
|
|
|
+ }
|
|
|
|
+ //删除项目
|
|
|
|
+ projectPlanArrageService.deletePlanArrange(projectPlans,strings,comment);
|
|
|
|
+ List<Map<String,Object>> objects = Lists.newArrayList();
|
|
|
|
+ List<ProjectPlanArrage> planArrages = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+ for (ProjectPlanArrage planArrage:projectPlans){
|
|
|
|
+ if (planArrage.getArrageFlag().equals("0")){
|
|
|
|
+ planArrages.add(planArrage);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ List<Map<String, Object>> bookStrapTree = BookStrapTreeUtil.getAllBookStrapTree(objects, planArrages,"2");
|
|
|
|
+ ajaxJson.setMapListTree(bookStrapTree);
|
|
|
|
+ ajaxJson.setSuccess(true);
|
|
|
|
+ ajaxJson.setMessage("删除成功");
|
|
|
|
+ return ajaxJson;
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ ajaxJson.setSuccess(false);
|
|
|
|
+ ajaxJson.setMessage("删除失败!");
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ return ajaxJson;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //安排计划设置时间 --返回页面 --- 施工单位项目经理
|
|
|
|
+ @RequestMapping(value = "planDate")
|
|
|
|
+ public String planDate(Model model){
|
|
|
|
+ return "modules/sg/managementcenter/projectPlanArrage/act/constructionDateList";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //安排计划时间列表
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "planDateTable")
|
|
|
|
+ public Map<String, Object> planDateTable(ProjectPlanArrage projectPlanArrage,HttpServletRequest request,HttpServletResponse response){
|
|
|
|
+ projectPlanArrage.setArrageFlag("1");
|
|
|
|
+ projectPlanArrage.setWhetherStatus("0");
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("summaryList");
|
|
|
|
+ Page<ProjectPlanArrage> page = findPageListCons(new Page<ProjectPlanArrage>(request, response),projectPlanArrage,projectPlans);
|
|
|
|
+ return getBootstrapData(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public Page<ProjectPlanArrage> findPageListCons(Page<ProjectPlanArrage> page, ProjectPlanArrage entity,List<ProjectPlanArrage> list) {
|
|
|
|
+ dataRuleFilter(entity);
|
|
|
|
+ entity.setPage(page);
|
|
|
|
+ List<ProjectPlanArrage> planArrages = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+ String name = UserUtils.getUser().getName();
|
|
|
|
+ for (ProjectPlanArrage projectPlanArrage:list){
|
|
|
|
+ if (entity.getWhetherStatus().equals(projectPlanArrage.getWhetherStatus())&&entity.getArrageFlag().equals(projectPlanArrage.getArrageFlag())){
|
|
|
|
+ if (name.equals(projectPlanArrage.getConstructionUnit())){
|
|
|
|
+ planArrages.add(projectPlanArrage);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for (ProjectPlanArrage projectPlanArrage:list){
|
|
|
|
+ if (entity.getWhetherStatus().equals(projectPlanArrage.getWhetherStatus())&&entity.getArrageFlag().equals(projectPlanArrage.getArrageFlag())){
|
|
|
|
+ if (!name.equals(projectPlanArrage.getConstructionUnit())){
|
|
|
|
+ planArrages.add(projectPlanArrage);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ page.setList(planArrages);
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
|
|
+ //添加 -- 修改 时间
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "addtime")
|
|
|
|
+ public AjaxJson getAddtime(ProjectPlanArrage projectPlanArrage,HttpServletRequest request){
|
|
|
|
+ AjaxJson ajaxJson = new AjaxJson();
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("summaryList");
|
|
|
|
+ try {
|
|
|
|
+ for (ProjectPlanArrage planArrage:projectPlans){
|
|
|
|
+ if (projectPlanArrage.getId().equals(planArrage.getId())){
|
|
|
|
+ planArrage.setProjectDate(projectPlanArrage.getProjectDate());
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ajaxJson.setSuccess(true);
|
|
|
|
+ ajaxJson.setMsg("安排时间成功");
|
|
|
|
+ return ajaxJson;
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ ajaxJson.setSuccess(false);
|
|
|
|
+ ajaxJson.setMsg("安排时间失败");
|
|
|
|
+ return ajaxJson;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //确定安排计划时间验证
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "judgeAddTime")
|
|
|
|
+ public AjaxJson getJudgeAddTime(HttpServletRequest request){
|
|
|
|
+ AjaxJson ajaxJson = new AjaxJson();
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("summaryList");
|
|
|
|
+ try {
|
|
|
|
+ boolean judgePlanTimeNULL = projectPlanActService.getJudgePlanTimeNULL(projectPlans);
|
|
|
|
+ if (judgePlanTimeNULL){
|
|
|
|
+ ajaxJson.setSuccess(false);
|
|
|
|
+ ajaxJson.setMsg("1");
|
|
|
|
+ return ajaxJson;
|
|
|
|
+ }
|
|
|
|
+ boolean flag = projectPlanActService.getJudgePlanTimeService(projectPlans);
|
|
|
|
+ if (flag){
|
|
|
|
+ ajaxJson.setSuccess(false);
|
|
|
|
+ ajaxJson.setMsg("时间不一致");
|
|
|
|
+ return ajaxJson;
|
|
|
|
+ }
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ return ajaxJson;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //施工项目经理发起流程到配网项目经理
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "conRunProInsId")
|
|
|
|
+ public AjaxJson conRunProInsId(String flag,String comment,HttpServletRequest request) {
|
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
|
+ try {
|
|
|
|
+ Act act = (Act)request.getSession().getAttribute("planAct");
|
|
|
|
+ String comment1 = URLDecoder.decode(comment, "UTF-8");
|
|
|
|
+ act.setComment(comment1);
|
|
|
|
+ act.setFlag(flag);
|
|
|
|
+ //项目经理安排的时间
|
|
|
|
+ List<ProjectPlanArrage> presentActProInsAss = (List<ProjectPlanArrage>)request.getSession().getAttribute("presentActProInsAss");
|
|
|
|
+ //得到项目--所以项目(包括安排和待安排的)
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("summaryList");
|
|
|
|
+ projectPlanActService.conRunProInsId(act,projectPlans,presentActProInsAss);
|
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMsg("审批成功");
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //配网项目经理--审核界面
|
|
|
|
+ @RequestMapping(value = "disList")
|
|
|
|
+ public String getDisList(ProjectActProclnsAss projectActProclnsAss, Model model,HttpServletRequest request){
|
|
|
|
+ //得到当前流程
|
|
|
|
+ Act act = projectActProclnsAss.getAct();
|
|
|
|
+ act.setId(projectActProclnsAss.getId());
|
|
|
|
+ projectActProclnsAss.setProcInsId(act.getProcInsId());//赋值项目id
|
|
|
|
+ //配网项目经理安排的项目
|
|
|
|
+ List<ProjectActProclnsAss> listAss = projectPlanActService.findListAss(projectActProclnsAss);//查找当前流程节点的项目
|
|
|
|
+ //目前安排的存入session中
|
|
|
|
+ request.getSession().setAttribute("networkActProInsAss",listAss);
|
|
|
|
+ //项目已经安排项目定义号拼接
|
|
|
|
+ String projectId = projectPlanActService.getMapProjectId(listAss);
|
|
|
|
+
|
|
|
|
+ //初始安排计划项目列表
|
|
|
|
+ List<ProjectPlanArrage> planArrageList = projectPlanArrageService.getProjectPlanArrageList();
|
|
|
|
+ //根据项目名称查询人员
|
|
|
|
+ List<ProjectAssignment> listAssignment = projectPlanArrageService.findListAssignment(planArrageList);
|
|
|
|
+ //获得最终集合
|
|
|
|
+ List<ProjectPlanArrage> projectPlanArrageList = projectPlanArrageService.getPlanArrageList(planArrageList, listAssignment);
|
|
|
|
+ //区分开关与项目--整体集合
|
|
|
|
+ List<ProjectPlanArrage> projectList = projectPlanArrageService.getProjectList(projectPlanArrageList);
|
|
|
|
+ //开关 - 项目 统一集合 用WhetherStatus区分
|
|
|
|
+ ProjectPlanArrage planArrage = new ProjectPlanArrage();
|
|
|
|
+ planArrage.setProjectNumber(projectId);//赋值项目定义号
|
|
|
|
+ List<ProjectPlanArrage> projectPlanList = PackagingUtil.getProjectPlanList(planArrage,projectList);
|
|
|
|
+ //当前项目与配网项目经理汇合项目汇总
|
|
|
|
+ List<ProjectPlanArrage> planArrages = projectPlanActService.getNetworkService(projectPlanList,listAss);
|
|
|
|
+ for (ProjectPlanArrage planArrage1:planArrages){
|
|
|
|
+ planArrage1.preInsert();
|
|
|
|
+ }
|
|
|
|
+ request.getSession().setAttribute("networkList",planArrages);
|
|
|
|
+ request.getSession().setAttribute("networkPlanAct",act);
|
|
|
|
+ model.addAttribute("act",act);
|
|
|
|
+ return "modules/sg/managementcenter/projectPlanArrage/act/netWorkManageAct";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //初始安排的计划项目--跳转树形操作列表--配网项目经理
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "initNetWorkArragePlanProject")
|
|
|
|
+ public Map<String, Object> initNetWorkArragePlanProject(ProjectPlanArrage projectPlanArrage,Model model,HttpServletRequest request,HttpServletResponse response){
|
|
|
|
+ projectPlanArrage.setArrageFlag("1");
|
|
|
|
+ projectPlanArrage.setWhetherStatus("0");
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("networkList");
|
|
|
|
+ Page<ProjectPlanArrage> page = findPageListNetWorkArragePlan(new Page<ProjectPlanArrage>(request, response),projectPlanArrage,projectPlans);
|
|
|
|
+ return getBootstrapData(page);
|
|
|
|
+ }
|
|
|
|
+ public Page<ProjectPlanArrage> findPageListNetWorkArragePlan(Page<ProjectPlanArrage> page, ProjectPlanArrage entity,List<ProjectPlanArrage> list) {
|
|
|
|
+ dataRuleFilter(entity);
|
|
|
|
+ entity.setPage(page);
|
|
|
|
+ List<ProjectPlanArrage> planArrages = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+ if (null!=list){
|
|
|
|
+ for (ProjectPlanArrage projectPlanArrage:list){
|
|
|
|
+ if (entity.getWhetherStatus().equals(projectPlanArrage.getWhetherStatus())&&entity.getArrageFlag().equals(projectPlanArrage.getArrageFlag())){
|
|
|
|
+ if (projectPlanArrage.getBackToStauts().equals("2")){
|
|
|
|
+ projectPlanArrage.setHtmlStatus("2");//新增项目
|
|
|
|
+ }
|
|
|
|
+ if (null!=projectPlanArrage.getBackToText()&&!"".equals(projectPlanArrage.getBackToText())){
|
|
|
|
+ projectPlanArrage.setHtmlStatus("1");//删除项目
|
|
|
|
+ }
|
|
|
|
+ planArrages.add(projectPlanArrage);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ page.setList(planArrages);
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
|
|
+ //所有未安排的计划-树形表格展示--配网项目经理
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "bootstrapNetWorkTreeTable")
|
|
|
|
+ public List<Map<String,Object>> getNetWorkArrageNoPlan(ProjectPlanArrage projectPlanArrage,HttpServletRequest request){
|
|
|
|
+ //创建树形表格
|
|
|
|
+ List<Map<String,Object>> objects = Lists.newArrayList();
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("networkList");
|
|
|
|
+ List<ProjectPlanArrage> planArrageList = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+ for (ProjectPlanArrage p:projectPlans){
|
|
|
|
+ if (p.getArrageFlag().equals("0")){
|
|
|
|
+ planArrageList.add(p);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ List<Map<String, Object>> bookStrapTree = BookStrapTreeUtil.getAllBookStrapTree(objects, planArrageList,"1");
|
|
|
|
+ return bookStrapTree;
|
|
|
|
+ }
|
|
|
|
+ //添加 -- 修改 时间
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "addtimeNet")
|
|
|
|
+ public AjaxJson getAddtimeNet(ProjectPlanArrage projectPlanArrage,HttpServletRequest request){
|
|
|
|
+ AjaxJson ajaxJson = new AjaxJson();
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("networkList");
|
|
|
|
+ try {
|
|
|
|
+ for (ProjectPlanArrage planArrage:projectPlans){
|
|
|
|
+ if (projectPlanArrage.getId().equals(planArrage.getId())){
|
|
|
|
+ planArrage.setProjectDate(projectPlanArrage.getProjectDate());
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ajaxJson.setSuccess(true);
|
|
|
|
+ ajaxJson.setMsg("安排时间成功");
|
|
|
|
+ return ajaxJson;
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ ajaxJson.setSuccess(false);
|
|
|
|
+ ajaxJson.setMsg("安排时间失败");
|
|
|
|
+ return ajaxJson;
|
|
|
|
+ }
|
|
|
|
+ //退回操作--配网项目经理退回
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "deleteNetWork")
|
|
|
|
+ public Result getNetWorkTheRoBack(ProjectPlanArrage projectPlanArrage, String ids, HttpServletRequest request){
|
|
|
|
+ Result j = new Result();
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMessage("退回成功");
|
|
|
|
+ List<String> strings = PackagingUtil.getString(ids);
|
|
|
|
+ try {
|
|
|
|
+ //获取项目信息
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("networkList");
|
|
|
|
+ if (!projectPlans.isEmpty()&&!strings.isEmpty()){
|
|
|
|
+ projectPlanArrageService.getNetWorkSecond(projectPlans,strings);
|
|
|
|
+ }else {
|
|
|
|
+ j.setSuccess(false);
|
|
|
|
+ j.setMessage("退回计划项目失败");
|
|
|
|
+ }
|
|
|
|
+// List<ProjectPlanArrage> planArrages = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+// for (ProjectPlanArrage planArrage:projectPlans){
|
|
|
|
+// if (planArrage.getArrageFlag().equals("0")){
|
|
|
|
+// planArrages.add(planArrage);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// List<Map<String,Object>> objects = Lists.newArrayList();
|
|
|
|
+// List<Map<String, Object>> bookStrapTree = BookStrapTreeUtil.getAllBookStrapTree(objects, planArrages);
|
|
|
|
+// j.setMapListTree(bookStrapTree);
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMessage("退回计划成功");
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //安排项目计划
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "unNetWorkplanned")
|
|
|
|
+ public Result unNetWorkplanned(ProjectPlanArrage projectPlanArrage,String ids,HttpServletRequest request){
|
|
|
|
+ Result j = new Result();
|
|
|
|
+ List<String> strings = PackagingUtil.getString(ids);
|
|
|
|
+ j.setSuccess(false);
|
|
|
|
+ j.setMessage("安排计划项目失败");
|
|
|
|
+ try {
|
|
|
|
+ //获取项目信息
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("networkList");
|
|
|
|
+ if (!projectPlans.isEmpty()&&!strings.isEmpty()){
|
|
|
|
+ projectPlanArrageService.getUnplannedService(projectPlans,strings);
|
|
|
|
+ }else {
|
|
|
|
+ j.setSuccess(false);
|
|
|
|
+ j.setMessage("安排计划项目失败");
|
|
|
|
+ }
|
|
|
|
+ List<ProjectPlanArrage> planArrages = new ArrayList<ProjectPlanArrage>();
|
|
|
|
+ for (ProjectPlanArrage planArrage:projectPlans){
|
|
|
|
+ if (planArrage.getArrageFlag().equals("0")){
|
|
|
|
+ planArrages.add(planArrage);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ List<Map<String,Object>> objects = Lists.newArrayList();
|
|
|
|
+ List<Map<String, Object>> bookStrapTree = BookStrapTreeUtil.getAllBookStrapTree(objects, planArrages,"1");
|
|
|
|
+ j.setMapListTree(bookStrapTree);
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMessage("安排计划成功");
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //安排计划设置时间 --返回页面 --- 施工单位项目经理
|
|
|
|
+ @RequestMapping(value = "planNetDate")
|
|
|
|
+ public String planNetDate(Model model){
|
|
|
|
+ return "modules/sg/managementcenter/projectPlanArrage/act/newDateList";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //安排计划时间列表
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "planNetDateTable")
|
|
|
|
+ public Map<String, Object> planNetDateTable(ProjectPlanArrage projectPlanArrage,HttpServletRequest request,HttpServletResponse response){
|
|
|
|
+ projectPlanArrage.setArrageFlag("1");
|
|
|
|
+ projectPlanArrage.setWhetherStatus("0");
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("networkList");
|
|
|
|
+ Page<ProjectPlanArrage> page = findPageList(new Page<ProjectPlanArrage>(request, response),projectPlanArrage,projectPlans);
|
|
|
|
+ return getBootstrapData(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //配网项目经理发起流程到配网运行人员
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "newWorkRunProInsId")
|
|
|
|
+ public AjaxJson newWorkRunProInsId(String flag,String comment,HttpServletRequest request) {
|
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
|
+ try {
|
|
|
|
+ Act act = (Act)request.getSession().getAttribute("networkPlanAct");
|
|
|
|
+ String comment1 = URLDecoder.decode(comment, "UTF-8");
|
|
|
|
+ act.setComment(comment1);
|
|
|
|
+ act.setFlag(flag);
|
|
|
|
+ //得到项目
|
|
|
|
+ List<ProjectPlanArrage> projectPlans = (List<ProjectPlanArrage>)request.getSession().getAttribute("networkList");
|
|
|
|
+ projectPlanActService.newWorkRunProInsId(act,projectPlans);
|
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMsg("审批成功");
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //运行项目经理--审核界面
|
|
|
|
+ @RequestMapping(value = "runList")
|
|
|
|
+ public String getRunList(ProjectActProclnsAss projectActProclnsAss, Model model,HttpServletRequest request){
|
|
|
|
+ //得到当前流程
|
|
|
|
+ Act act = projectActProclnsAss.getAct();
|
|
|
|
+ act.setId(projectActProclnsAss.getId());
|
|
|
|
+ projectActProclnsAss.setProcInsId(act.getProcInsId());//赋值项目id
|
|
|
|
+ model.addAttribute("act",act);
|
|
|
|
+ model.addAttribute("projectActProclnsAss",projectActProclnsAss);
|
|
|
|
+ return "modules/sg/managementcenter/projectPlanArrage/act/runListManageAct";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //初始安排的计划项目--跳转树形操作列表--配网运行人员
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "runListArragePlanProject")
|
|
|
|
+ public Map<String, Object> runListArragePlanProject(ProjectActProclnsAss projectActProclnsAss,Model model,HttpServletRequest request,HttpServletResponse response){
|
|
|
|
+ String name = UserUtils.getUser().getName();
|
|
|
|
+ projectActProclnsAss.setOperationUnit(name);
|
|
|
|
+ Page<ProjectActProclnsAss> page = findPageRunList(new Page<ProjectActProclnsAss>(request, response),projectActProclnsAss);
|
|
|
|
+ return getBootstrapData(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public Page<ProjectActProclnsAss> findPageRunList(Page<ProjectActProclnsAss> page, ProjectActProclnsAss entity) {
|
|
|
|
+ dataRuleFilter(entity);
|
|
|
|
+ entity.setPage(page);
|
|
|
|
+ page.setList(projectPlanActService.findListAss(entity));
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //运行单位人员发起流程到配网项目经理
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "runListRunProInsId")
|
|
|
|
+ public AjaxJson runListRunProInsId(Act act) {
|
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
|
+ try {
|
|
|
|
+ String comment1 = URLDecoder.decode(act.getComment(), "UTF-8");
|
|
|
|
+ act.setComment(comment1);
|
|
|
|
+ projectPlanActService.runListRunProInsId(act);
|
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMsg("审批成功");
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //运行项目经理--审核界面
|
|
|
|
+ @RequestMapping(value = "disList2")
|
|
|
|
+ public String getDisList2(ProjectActProclnsAss projectActProclnsAss, Model model,HttpServletRequest request){
|
|
|
|
+ //得到当前流程
|
|
|
|
+ Act act = projectActProclnsAss.getAct();
|
|
|
|
+ act.setId(projectActProclnsAss.getId());
|
|
|
|
+ projectActProclnsAss.setProcInsId(act.getProcInsId());//赋值项目id
|
|
|
|
+ model.addAttribute("act",act);
|
|
|
|
+ model.addAttribute("projectActProclnsAss",projectActProclnsAss);
|
|
|
|
+ return "modules/sg/managementcenter/projectPlanArrage/act/disList2ManageAct";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //初始安排的计划项目--跳转树形操作列表--配网项目经理
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "disList2ArragePlanProject")
|
|
|
|
+ public Map<String, Object> disList2ArragePlanProject(ProjectActProclnsAss projectActProclnsAss,Model model,HttpServletRequest request,HttpServletResponse response){
|
|
|
|
+ Page<ProjectActProclnsAss> page = findPageRunList(new Page<ProjectActProclnsAss>(request, response),projectActProclnsAss);
|
|
|
|
+ return getBootstrapData(page);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //运行单位人员发起流程到配网项目经理
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "disList2RunProInsId")
|
|
|
|
+ public AjaxJson disList2RunProInsId(Act act) {
|
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
|
+ try {
|
|
|
|
+ String comment1 = URLDecoder.decode(act.getComment(), "UTF-8");
|
|
|
|
+ act.setComment(comment1);
|
|
|
|
+ ProjectActProclnsAss proclnsAss = new ProjectActProclnsAss();
|
|
|
|
+ proclnsAss.setProcInsId(act.getProcInsId());
|
|
|
|
+ List<ProjectActProclnsAss> listAss = projectPlanActService.findListAss(proclnsAss);
|
|
|
|
+ projectPlanActService.disList2ProInsId(act,listAss);
|
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMsg("审批成功");
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 导出excel文件
|
|
|
|
+ */
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "export")
|
|
|
|
+ public AjaxJson exportFile(ProjectActProclnsAss projectActProclnsAss, HttpServletRequest request, HttpServletResponse response) {
|
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
|
+ try {
|
|
|
|
+ String fileName = "项目计划安排表"+ DateUtils.getDate("yyyyMMddHHmmss")+".xlsx";
|
|
|
|
+ Page<ProjectActProclnsAss> page = findPageRunList(new Page<ProjectActProclnsAss>(request, response, -1), projectActProclnsAss);
|
|
|
|
+ new ExportExcel("项目计划安排表", ProjectActProclnsAss.class).setDataList(page.getList()).write(response, fileName).dispose();
|
|
|
|
+ j.setSuccess(true);
|
|
|
|
+ j.setMsg("导出成功!");
|
|
|
|
+ return j;
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ j.setSuccess(false);
|
|
|
|
+ j.setMsg("导出项目计划安排记录失败!失败信息:"+e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+ //导入
|
|
|
|
+ /**
|
|
|
|
+ * 导入Excel数据
|
|
|
|
+
|
|
|
|
+ */
|
|
|
|
+ @ResponseBody
|
|
|
|
+ @RequestMapping(value = "import")
|
|
|
|
+ public AjaxJson importFile(@RequestParam("file") MultipartFile file, HttpServletResponse response, HttpServletRequest request){
|
|
|
|
+ AjaxJson j = new AjaxJson();
|
|
|
|
+ try {
|
|
|
|
+ StringBuilder failureMsg = new StringBuilder();
|
|
|
|
+ ImportUtil importUtil = new ImportUtil(file,0,0);
|
|
|
|
+ List<ProjectPlanArrage> materProUtil = projectPlanArrageService.getMaterProUtil(importUtil);
|
|
|
|
+ projectPlanArrageService.insertList(materProUtil);
|
|
|
|
+ j.setMsg( "已成功导入项目"+materProUtil.size()+"条计划安排记录记录");
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ j.setSuccess(false);
|
|
|
|
+ j.setMsg("导入失败!失败信息:"+e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ return j;
|
|
|
|
+ }
|
|
|
|
+}
|