瀏覽代碼

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/ConstructionController.java
#	src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/DivideController.java
xs 5 年之前
父節點
當前提交
e82645b221
共有 24 個文件被更改,包括 480 次插入115 次删除
  1. 22 16
      src/main/java/com/jeeplus/modules/act/service/ActTaskService.java
  2. 0 5
      src/main/java/com/jeeplus/modules/act/web/ActTaskController.java
  3. 12 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/MyActiviUtils.java
  4. 22 64
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/ConstructionController.java
  5. 8 10
      src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/DivideController.java
  6. 2 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/ProjectMapper.java
  7. 17 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/xml/ProjectMapper.xml
  8. 4 0
      src/main/java/com/jeeplus/modules/sg/managementcenter/project/service/ProjectService.java
  9. 22 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/ProjectNumber.java
  10. 10 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/ShowList.java
  11. 5 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/PickIngMapper.java
  12. 1 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/ShowListMapper.java
  13. 4 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/PickIngMapper.xml
  14. 3 1
      src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/ShowListMapper.xml
  15. 5 4
      src/main/java/com/jeeplus/modules/sg/picking/activiti/service/PickIngService.java
  16. 9 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/service/ShowListService.java
  17. 15 0
      src/main/java/com/jeeplus/modules/sg/picking/activiti/web/PickIngController.java
  18. 89 3
      src/main/java/com/jeeplus/modules/sg/picking/activiti/web/ShowListController.java
  19. 0 1
      src/main/java/com/jeeplus/modules/sys/web/FileController.java
  20. 0 11
      src/main/webapp/webpage/modules/sg/managementcenter/activiti/divideAudit.jsp
  21. 112 0
      src/main/webapp/webpage/modules/sg/picking/activiti/pickIng.js
  22. 6 0
      src/main/webapp/webpage/modules/sg/picking/activiti/pickIng.jsp
  23. 35 0
      src/main/webapp/webpage/modules/sg/picking/activiti/pickingApplication.js
  24. 77 0
      src/main/webapp/webpage/modules/sg/picking/activiti/pickingApplication.jsp

+ 22 - 16
src/main/java/com/jeeplus/modules/act/service/ActTaskService.java

@@ -13,6 +13,7 @@ import com.jeeplus.modules.sg.managementcenter.activiti.service.ConstructionServ
 import com.jeeplus.modules.sg.managementcenter.activiti.service.DiscloseService;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.ProcessPersonnelService;
 import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import org.activiti.bpmn.model.BpmnModel;
 import org.activiti.engine.FormService;
 import org.activiti.engine.HistoryService;
@@ -1139,7 +1140,8 @@ public class ActTaskService extends BaseService {
 		// 提交流程任务
 		Map<String, Object> vars = Maps.newHashMap();
 		vars.put("pass", "yes".equals(act.getFlag())? true : false);
-		vars.put("processer","项目经理");
+		Project user = MyActiviUtils.findUser(act.getProcInsId());
+		vars.put("processer",user.getProjectManageRole());
 		complete(act.getTaskId(), act.getProcInsId(), act.getComment(), vars);
 	}
 
@@ -1153,7 +1155,7 @@ public class ActTaskService extends BaseService {
 		* pass1 = 设计变更
 		* pass2 = 项目关闭
 		* pass3 = 政策处理(城区道路)
-		* pass4 = 完成施工交底
+		* pass4 = 驳回施工单位
 		* pass5 = 政策处理(农场/民事)
 		* */
 		boolean pass1 = false;
@@ -1200,19 +1202,23 @@ public class ActTaskService extends BaseService {
 		} else {
 			if (pass1 == true) {
 				vars.put("pass1", true);
-				vars.put("design", "运行人员");
+				Project user = MyActiviUtils.findUser(act.getProcInsId());
+				vars.put("design", user.getRunUnitRole());
 			}
 			if (pass2 == true) {
 				vars.put("pass2", true);
-				vars.put("itemClose", "专职");
+				Project user = MyActiviUtils.findUser(act.getProcInsId());
+				vars.put("itemClose", user.getDistributionEngineering());
 			}
 			if (pass3 == true) {
 				vars.put("pass3", true);
-				vars.put("coveredPerson", "施工单位");
+				Project user = MyActiviUtils.findUser(act.getProcInsId());
+				vars.put("coveredPerson", user.getConstructionUnitRole());
 			}
 			if (pass5 == true) {
 				vars.put("pass5", true);
-				vars.put("policy", "政策处理");
+				Project user = MyActiviUtils.findUser(act.getProcInsId());
+				vars.put("policy", user.getDistributionPolicy());
 			}
 			vars.put("pass", true);
 			act.setComment("[存在问题]" + act.getComment());
@@ -1444,7 +1450,8 @@ public class ActTaskService extends BaseService {
 		Map<String, Object> vars = Maps.newHashMap();
 		String flag = act.getFlag();
 		if ("yes".equals(flag)) {
-			vars.put("operators", fullName);
+			Project user = MyActiviUtils.findUser(act.getProcInsId());
+			vars.put("operators", user.getRunUnitRole());
 		} else {
 			//驳回到项目经理人工判断问题
 			String manager2 = MyActiviUtils.findHistoryActivity(act.getProcInsId(), "交底:项目经理人工判断问题");
@@ -1494,7 +1501,8 @@ public class ActTaskService extends BaseService {
 		// 提交流程任务
 		Map<String, Object> vars = Maps.newHashMap();
 		if ("yes".equals(flag)) {
-			vars.put("systemfulltime", fullTime);
+			Project user = MyActiviUtils.findUser(act.getProcInsId());
+			vars.put("systemfulltime", user.getDistributionSystem());
 		} else {
 			String itemClose = MyActiviUtils.findHistoryActivity(act.getProcInsId(), "交底:判断项目是否需要关闭");
 			vars.put("itemClose",itemClose );
@@ -1517,17 +1525,18 @@ public class ActTaskService extends BaseService {
 		vars.put("pass3", false);
 		vars.put("reject", false);
 		String flag = act.getFlag();
+		Project user = MyActiviUtils.findUser(act.getProcInsId());
 		if ("pass3".equals(flag)) {
 			vars.put("pass3", true);
 			vars.put("policy", UserUtils.getUser().getLoginName());
 			act.setComment("[通过]"+act.getComment());
 		} else if ("pass1".equals(flag)) {
 			vars.put("pass1", true);
-			vars.put("design", "运行人员");
+			vars.put("design", user.getRunUnitRole());
 			act.setComment("[设计变更]"+act.getComment());
 		} else if ("pass2".equals(flag)) {
 			vars.put("pass2", true);
-			vars.put("itemClose", "专职");
+			vars.put("itemClose", user.getDistributionEngineering());
 			act.setComment("[项目关闭]"+act.getComment());
 		} else if ("reject".equals(flag)) {
 			vars.put("reject", true);
@@ -1535,10 +1544,8 @@ public class ActTaskService extends BaseService {
 			String manager = MyActiviUtils.findHistoryActivity(act.getProcInsId(), "交底:项目经理组织交底");
 			if (manager2!=null&&manager2!="") {
 				vars.put("policy",manager2);
-				System.out.println(manager2);
 			}else if (manager!=null&&manager!="") {
 				vars.put("policy",manager);
-				System.out.println(manager);
 			}
 			act.setComment("[驳回]"+act.getComment());
 		}
@@ -1717,7 +1724,8 @@ public class ActTaskService extends BaseService {
 		vars.put("sealYes", false);
 		vars.put("sealNo", false);
 		if ("yes".equals(flag)) {
-			vars.put("sealPerson",fullName);
+			Project user = MyActiviUtils.findUser(act.getProcInsId());
+			vars.put("sealPerson",user.getDistributionPolicy());
 			act.setComment("[没有问题]"+act.getComment());
 			vars.put("sealYes", true);
 		} else {
@@ -1725,10 +1733,8 @@ public class ActTaskService extends BaseService {
 			String manager = MyActiviUtils.findHistoryActivity(act.getProcInsId(), "交底:项目经理组织交底");
 			if (manager2!=null&&manager2!="") {
 				vars.put("phasePerson",manager2);
-				System.out.println(manager2);
 			}else if (manager!=null&&manager!="") {
 				vars.put("phasePerson",manager);
-				System.out.println(manager);
 			}
 			act.setComment("[驳回]" + act.getComment());
 			vars.put("sealNo", true);
@@ -1782,7 +1788,7 @@ public class ActTaskService extends BaseService {
 			act.setComment("[重新发起]"+act.getComment());
 			vars.put("phaseYes", true);
 		} else {
-			act.setComment("[驳回]" + act.getComment());
+			act.setComment("[无需发起,结束流程]" + act.getComment());
 			vars.put("phaseNo", true);
 		}
 		// 设置意见

+ 0 - 5
src/main/java/com/jeeplus/modules/act/web/ActTaskController.java

@@ -461,11 +461,6 @@ public class ActTaskController extends BaseController {
 	public AjaxJson policiesChange(Act act) {
 		AjaxJson j = new AjaxJson();
 		try {
-			ProcessPersonnel processPersonnel = new ProcessPersonnel();
-			processPersonnel.setProcInsId(act.getProcInsId());
-			//设置
-			processPersonnel.setRuralCivil(UserUtils.getUser().getLoginName());
-			processPersonnelService.newUpdate(processPersonnel);
 			String comment = URLDecoder.decode(act.getComment(), "UTF-8");
 			act.setComment(comment);
 			actTaskService.policiesChange(act);

+ 12 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/utils/MyActiviUtils.java

@@ -6,6 +6,8 @@ import com.jeeplus.modules.sg.audit.information.service.InformationService;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.FindTask;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.MyNeedList;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.ConstructionService;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
+import com.jeeplus.modules.sg.managementcenter.project.service.ProjectService;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import freemarker.template.Configuration;
 import org.activiti.crystalball.simulator.SimulationRunContext;
@@ -42,6 +44,9 @@ public class MyActiviUtils {
     private RuntimeService runtimeService;
     @Autowired
     private static ConstructionService constructionService = SpringContextHolder.getBean(ConstructionService.class);
+    @Autowired
+    private static ProjectService projectService = SpringContextHolder.getBean(ProjectService.class);
+
     /**
      * 获取下一个用户任务信息
      * @param  taskId     任务Id信息
@@ -208,4 +213,11 @@ public class MyActiviUtils {
         }
         return findTaskList;
     }
+    /**
+     * 根据项目名称查询人员
+     * */
+    public static Project findUser(String procInsId){
+        Project user = projectService.findUser(procInsId);
+        return user;
+    }
 }

+ 22 - 64
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/ConstructionController.java

@@ -68,49 +68,12 @@ public class ConstructionController extends BaseController {
      */
     @RequestMapping(value = "form/{mode}")
     public String form(@PathVariable String mode, Construction construction, Model model) {
-//        String proId = construction.getAct().getProcDefId();
-//        String pInId = construction.getProcInsId();
-//        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
-//        RepositoryService rs = processEngine.getRepositoryService();
         //根据流程定义号获取所有的定义流程
         model.addAttribute("construction", construction);
 //		model.addAttribute("roleCodes");
         if ("add".equals(mode) || "edit".equals(mode)) {
             return "modules/sg/managementcenter/activiti/constructionForm";
         } else {//audit(施工单位,项目经理组织交底)
-           /* List<Task> tasks = taskService.createTaskQuery().processInstanceId(pInId).list();
-            //对流程循环
-            for (Task task : tasks) {
-                //根据流程的定义号获取信息
-                ProcessDefinitionEntity def = (ProcessDefinitionEntity) ((RepositoryServiceImpl) rs).getDeployedProcessDefinition(task.getProcessDefinitionId());
-                //获取流程中所有的节点信息
-                List<ActivityImpl> activitiList = def.getActivities();  //rs是指RepositoryService的实例
-                String excId = task.getExecutionId();
-                ExecutionEntity execution = (ExecutionEntity) runtimeService.createExecutionQuery().executionId(excId).singleResult();
-                //获取当前节点id
-                String activitiId = execution.getActivityId();
-                for (ActivityImpl activityImpl : activitiList) {
-                    String id = activityImpl.getId();
-                    if (activitiId.equals(id)) {
-                        System.out.println("当前任务:" + activityImpl.getProperty("name")); //输出某个节点的某种属性
-                        List<PvmTransition> outTransitions = activityImpl.getOutgoingTransitions();//获取从某个节点出来的所有线路
-                        for (PvmTransition tr : outTransitions) {
-                            PvmActivity ac = tr.getDestination();//获取线路的终点节点
-                            List<PvmTransition> outgoingTransitions = ac.getOutgoingTransitions();
-                            for (PvmTransition tr2 : outgoingTransitions) {
-                                PvmActivity ac2 = tr2.getDestination();//获取线路的终点节点
-                                ActivityImpl activityImpl2 = def.findActivity(ac2.getId());
-                                TaskDefinition taskDef = (TaskDefinition) activityImpl2.getProperties().get("taskDefinition");
-                                if (taskDef != null) {
-                                    Set<Expression> roleCodes = taskDef.getCandidateGroupIdExpressions();//候选组
-                                    System.out.println("候选组是" + roleCodes.toString());
-                                }
-                            }
-                        }
-                        break;
-                    }
-                }
-            }*/
             return "modules/sg/managementcenter/activiti/constructionAudit";
         }
 
@@ -134,30 +97,8 @@ public class ConstructionController extends BaseController {
     }
 
     /**
-     * 人工审核页面
-     * */
-    /**
-     * 查看,增加,编辑请假申请表单页面
-     */
-    @RequestMapping(value = "humanReview")
-    public String humanReviewform(Construction construction, Model model) {
-//        String proId = construction.getAct().getProcDefId();
-//        String pInId = construction.getProcInsId();
-//        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
-//        RepositoryService rs = processEngine.getRepositoryService();
-        System.out.println(construction);
-        //根据流程定义号获取所有的定义流程
-        MyImportUtils.getTheEcho(construction,model);
-        model.addAttribute("construction", construction);
-        return "modules/sg/managementcenter/activiti/humanReview";
-    }
-
-    /**
-     * 配网运行人员
+     * 配网运行人员判定设计变更
      * */
-    /**
-     * 查看,增加,编辑请假申请表单页面
-     */
     @RequestMapping(value = "operatorDesignChange")
     public String form3(Construction construction, Model model) {
         //根据流程定义号获取所有的定义流程
@@ -317,10 +258,27 @@ public class ConstructionController extends BaseController {
         return "modules/sg/managementcenter/activiti/documentsForm";
     }
 
-    public void updateStatus(String status, String id) {
-
+    /**
+     * 配网运行人员判定设计变更
+     * 人工审核页面
+     * */
+    /**
+     * 查看,增加,编辑请假申请表单页面
+     */
+    @RequestMapping(value = "humanReview")
+    public String humanReviewform(Construction construction, Model model) {
+//        String proId = construction.getAct().getProcDefId();
+//        String pInId = construction.getProcInsId();
+//        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+//        RepositoryService rs = processEngine.getRepositoryService();
+        System.out.println(construction);
+        //根据流程定义号获取所有的定义流程
+        MyImportUtils.getTheEcho(construction,model);
+        model.addAttribute("construction", construction);
+        return "modules/sg/managementcenter/activiti/humanReview";
     }
 
+
     /**
      * 保存请假申请
      */
@@ -363,7 +321,7 @@ public class ConstructionController extends BaseController {
         List<Project> listById = projectService.findListById(proListId);
         //循环项目信息
             for (Project each : listById) {
-                //从项目信息种获取施工单位字段
+                //从项目信息种获取交底类型
                 constructionUnit = each.getClarificaitonType();
                 //如果施工单位不为空,系统判读施工单位交底
                 if ("施工单位自行交底".equals(constructionUnit)) {
@@ -377,7 +335,7 @@ public class ConstructionController extends BaseController {
                         //有此用户-施工单位交底
                         vars.put("company", true);
                         vars.put("manager", false);
-                        vars.put("processer", "项目经理A");
+                        vars.put("processer", constructionUnitRole);
                         String id = each.getId();
                         construction.setApplyName(constructionUnitRole);
                         construction.setProjectId(id);

+ 8 - 10
src/main/java/com/jeeplus/modules/sg/managementcenter/activiti/web/DivideController.java

@@ -23,6 +23,7 @@ import com.jeeplus.modules.sg.managementcenter.activiti.service.DiscloseService;
 import com.jeeplus.modules.sg.managementcenter.activiti.service.UploadImagesService;
 import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyActiviUtils;
 import com.jeeplus.modules.sg.managementcenter.activiti.utils.MyImportUtils;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import org.activiti.engine.*;
 import org.activiti.engine.repository.ProcessDefinition;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
@@ -152,11 +153,10 @@ public class DivideController extends BaseController {
     /**
      * 旧)导入交底结论,正在使用
      * */
-    @ResponseBody
+    /*@ResponseBody
     @RequestMapping(value = "importConclusion")
     public AjaxJson importConclusion(@RequestParam("file") MultipartFile file, HttpServletResponse response, HttpServletRequest request, String procInsId,String projectName) {
         AjaxJson j = new AjaxJson();
-        List<Disclose> discloseList = new ArrayList<>();
         try {
             int successNum = 0;
             int failureNum = 0;
@@ -197,11 +197,10 @@ public class DivideController extends BaseController {
                     disclose.setIntegrateModule(ei.getCellValue(row, 24).toString());
                     disclose.setNeedReplace(ei.getCellValue(row, 25).toString());
                     disclose.setOverallTransformation(ei.getCellValue(row, 26).toString());
-                    discloseList.add(disclose);
                 }
             }
             try {
-                discloseService.newInsert(discloseList);
+                discloseService.newInsert(disclose);
                 successNum++;
             } catch (Exception ex) {
                 failureNum++;
@@ -217,7 +216,7 @@ public class DivideController extends BaseController {
             j.setMsg("导入失败!失败信息:" + e.getMessage());
         }
         return j;
-    }
+    }*/
 
 
 
@@ -306,14 +305,13 @@ public class DivideController extends BaseController {
                 for (Disclose d : taskList) {
                     Map<String, Object> vars = Maps.newHashMap();
                     String precondition = d.getPrecondition();
+                    Project user = MyActiviUtils.findUser(d.getProcInsId());
                     if (precondition != null && !"".equals(precondition)) {
-                        vars.put("problem", false);
                         vars.put("pass4", true);
-                        vars.put("processer", "项目经理");
+                        vars.put("processer", user.getProjectManageRole());
                     } else {
-                        vars.put("pass4", false);
-                        vars.put("problem", true);
-                        vars.put("processer", "项目经理A");
+                        vars.put("pass4", true);
+                        vars.put("processer", user.getProjectManageRole());
                     }
                     actTaskService.complete(d.getTaskId(), d.getProcInsId(), "系统判断成功,请自行查看", vars);
                 }

+ 2 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/ProjectMapper.java

@@ -32,4 +32,6 @@ public interface ProjectMapper extends BaseMapper<Project> {
     int insertList(@Param("list") List<Project> list);
 
     List<Project> findListProject(List<Project> projects);
+
+    Project findUser(String procInsId);
 }

+ 17 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/mapper/xml/ProjectMapper.xml

@@ -491,4 +491,21 @@
 		</if>
 	</select>
 
+	<select id="findUser"  resultType="com.jeeplus.modules.sg.managementcenter.project.entity.Project">
+		select project_manage_role
+			,distribution_engineering
+			,distribution_materials
+			,distribution_system
+			,distribution_policy
+			,management_leader
+			,run_unit
+			,run_unit_role
+			,through_research_role
+			,construction_unit
+			,construction_unit_role
+			,design_unit
+			,design_unit_role
+		FROM xm_project_details
+		WHERE require_name = (select project_name from xm_construction_clarificaiton where proc_ins_id=#{procInsId});
+	</select>
 </mapper>

+ 4 - 0
src/main/java/com/jeeplus/modules/sg/managementcenter/project/service/ProjectService.java

@@ -123,4 +123,8 @@ public class ProjectService extends CrudService<ProjectMapper, Project> {
 	public List<Project> getListProject(List<Project> projects){
 		return  projectMapper.findListProject(projects);
 	}
+
+	public Project findUser(String procInsId) {
+		return projectMapper.findUser(procInsId);
+	}
 }

+ 22 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/ProjectNumber.java

@@ -0,0 +1,22 @@
+package com.jeeplus.modules.sg.picking.activiti.entity;
+
+public class ProjectNumber {
+    private String requireName;
+    private String theNumber;
+
+    public String getRequireName() {
+        return requireName;
+    }
+
+    public void setRequireName(String requireName) {
+        this.requireName = requireName;
+    }
+
+    public String getTheNumber() {
+        return theNumber;
+    }
+
+    public void setTheNumber(String theNumber) {
+        this.theNumber = theNumber;
+    }
+}

+ 10 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/entity/ShowList.java

@@ -16,6 +16,8 @@ public class ShowList extends ActEntity<ShowList> {
     private String mdUnits;
     //总量;
     private Double mdTotalAmount;
+    //数量
+    private Double mdCount;
     //单重/kg;
     private Double mdSingleWeight;
     //总重/吨;
@@ -188,4 +190,12 @@ public class ShowList extends ActEntity<ShowList> {
     public void setSelectNumber(String selectNumber) {
         this.selectNumber = selectNumber;
     }
+
+    public Double getMdCount() {
+        return mdCount;
+    }
+
+    public void setMdCount(Double mdCount) {
+        this.mdCount = mdCount;
+    }
 }

+ 5 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/PickIngMapper.java

@@ -7,6 +7,7 @@ import com.jeeplus.core.persistence.BaseMapper;
 import com.jeeplus.core.persistence.annotation.MyBatisMapper;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
 import com.jeeplus.modules.sg.picking.activiti.entity.PickIng;
+import com.jeeplus.modules.sg.picking.activiti.entity.ProjectNumber;
 import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
 import com.jeeplus.modules.sys.entity.User;
 import org.apache.ibatis.annotations.Param;
@@ -29,4 +30,8 @@ public interface PickIngMapper extends BaseMapper<PickIng> {
     String findSelectNumber(String procInsId);
 
     String selectVersion(String procInsId);
+
+    ProjectNumber projectNumber(String procInsId);
+
+
 }

+ 1 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/ShowListMapper.java

@@ -19,4 +19,5 @@ import java.util.List;
 @MyBatisMapper
 public interface ShowListMapper extends BaseMapper<ShowList> {
     String findNumber(String projectId);
+    public List<ShowList> findNewList(ShowList entity);
 }

+ 4 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/PickIngMapper.xml

@@ -109,4 +109,8 @@
 	<select id="selectVersion" resultType="string">
 		select version from md_acquisition_process where proc_ins_id = #{pprocInsId};
 	</select>
+
+	<select id="projectNumber" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ProjectNumber">
+		select require_name,the_number from md_acquisition_process as a,xm_project_details as b where a.project_id=b.id and proc_ins_id=#{pprocInsId}
+	</select>
 </mapper>

+ 3 - 1
src/main/java/com/jeeplus/modules/sg/picking/activiti/mapper/xml/ShowListMapper.xml

@@ -7,11 +7,12 @@
 		a.material_description AS "materialDescription",
 		a.extension_description AS "extensionDescription",
 		a.md_units AS "mdUnits",
-		a.md_total_amount AS "mdTotalAmount",
+		a.md_count AS "mdCount",
 		a.md_single_weight AS "mdSingleWeight",
 		a.md_total_weight AS "mdTotalWeight",
 		a.md_the_party AS "meTheParty",
 		a.md_text AS "mdText",
+		a.md_total_amount AS "mdTotalAmount",
 		a.block_id AS "blockId"
 	</sql>
 
@@ -43,6 +44,7 @@
                 </if>
             </trim>
         </where>
+        order by material_code,material_description
     </select>
 
     <select id="findAllList" resultType="com.jeeplus.modules.sg.picking.activiti.entity.ShowList">

+ 5 - 4
src/main/java/com/jeeplus/modules/sg/picking/activiti/service/PickIngService.java

@@ -5,10 +5,7 @@ package com.jeeplus.modules.sg.picking.activiti.service;
 
 import com.jeeplus.core.persistence.Page;
 import com.jeeplus.core.service.CrudService;
-import com.jeeplus.modules.sg.picking.activiti.entity.MdSmallClass;
-import com.jeeplus.modules.sg.picking.activiti.entity.MdTheClass;
-import com.jeeplus.modules.sg.picking.activiti.entity.PickIng;
-import com.jeeplus.modules.sg.picking.activiti.entity.PickList;
+import com.jeeplus.modules.sg.picking.activiti.entity.*;
 import com.jeeplus.modules.sg.picking.activiti.mapper.PickIngMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.method.P;
@@ -130,4 +127,8 @@ public class PickIngService extends CrudService<PickIngMapper, PickIng> {
 	public String selectVersion(String procInsId) {
 		return pickIngMapper.selectVersion(procInsId);
 	}
+
+	public ProjectNumber projectNumber(String procInsId) {
+		return pickIngMapper.projectNumber(procInsId);
+	}
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/service/ShowListService.java

@@ -32,6 +32,15 @@ public class ShowListService extends CrudService<ShowListMapper, ShowList> {
 		return super.findPage(page, entity);
 	}
 
+
+	public Page<ShowList> findNewPage(Page<ShowList> page, ShowList entity) {
+		dataRuleFilter(entity);
+		entity.setPage(page);
+		page.setList(mapper.findNewList(entity));
+		return page;
+	}
+
+
 	public String findNumber(String projectId) {
 		return showListMapper.findNumber(projectId);
 	}

+ 15 - 0
src/main/java/com/jeeplus/modules/sg/picking/activiti/web/PickIngController.java

@@ -10,8 +10,10 @@ import com.jeeplus.modules.act.entity.Act;
 import com.jeeplus.modules.act.service.ActProcessService;
 import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.sg.managementcenter.activiti.entity.Construction;
+import com.jeeplus.modules.sg.managementcenter.project.entity.Project;
 import com.jeeplus.modules.sg.picking.activiti.entity.PickIng;
 import com.jeeplus.modules.sg.picking.activiti.entity.PickList;
+import com.jeeplus.modules.sg.picking.activiti.entity.ProjectNumber;
 import com.jeeplus.modules.sg.picking.activiti.entity.ShowList;
 import com.jeeplus.modules.sg.picking.activiti.service.PickIngService;
 import com.jeeplus.modules.sg.picking.activiti.service.ShowListService;
@@ -50,9 +52,11 @@ public class PickIngController extends BaseController {
     public String form(ShowList showList, Model model) {
         String procInsId = showList.getAct().getProcInsId();
         String s = pickIngService.selectVersion(procInsId);
+        ProjectNumber projectNumber = pickIngService.projectNumber(procInsId);
         PickIng pickIng = new PickIng();
         List<PickList> pickListList = pickIngService.newAllList(pickIng,s);
         model.addAttribute("showList",showList);
+        model.addAttribute("projectNumber",projectNumber);
         model.addAttribute("pickListList", pickListList);
         return "modules/sg/picking/activiti/pickIng";
     }
@@ -100,6 +104,17 @@ public class PickIngController extends BaseController {
         return getBootstrapData(page);
     }
 
+    /**
+     * 领料申请发起
+     * 对项目发起申请,使项目可以提前发起领料流程
+     */
+    @RequestMapping(value = "pickingApplication")
+    public String pickingApplication(ShowList showList, Model model) {
+        model.addAttribute("showList", showList);
+        return "modules/sg/picking/activiti/pickingApplication";
+    }
+
+
     //    manager
     @ResponseBody
     @RequestMapping(value = "constructionData")

+ 89 - 3
src/main/java/com/jeeplus/modules/sg/picking/activiti/web/ShowListController.java

@@ -63,7 +63,11 @@ public class ShowListController extends BaseController {
                     if (my.getId().equals(showList1.getBlockId())) {
                         Double mdSingleWeight = showList1.getMdSingleWeight();
                         Double number = my.getNumber();
+                        Double mdCount = showList1.getMdCount();
                         Double i = mdSingleWeight * number;
+                        BigDecimal b1 = new BigDecimal(Double.toString(number));
+                        BigDecimal b2 = new BigDecimal(Double.toString(mdCount));
+                        double v =  b1.multiply(b2).doubleValue();
                         ShowList newShowList = new ShowList();
                         newShowList.setMaterialCode(showList1.getMaterialCode());
                         newShowList.setMaterialDescription(showList1.getMaterialDescription());
@@ -71,7 +75,7 @@ public class ShowListController extends BaseController {
                         newShowList.setMdUnits(showList1.getMdUnits());
                         newShowList.setMeTheParty(showList1.getMeTheParty());
                         newShowList.setMdText(showList1.getMdText());
-                        newShowList.setMdTotalAmount(number);
+                        newShowList.setMdTotalAmount(v);
                         newShowList.setMdSingleWeight(showList1.getMdSingleWeight());
                         BigDecimal b = new BigDecimal(i);
                         BigDecimal a = new BigDecimal(1000);
@@ -88,9 +92,19 @@ public class ShowListController extends BaseController {
                 flag = true;
                 for (ShowList list1:finalList){
                     if (turn.getMaterialCode().equals(list1.getMaterialCode()) && turn.getMaterialDescription().equals(list1.getMaterialDescription()) && turn.getExtensionDescription().equals(list1.getExtensionDescription())) {
+                        Double mdTotalAmount = list1.getMdTotalAmount();
+                        Double mdTotalAmount1 = turn.getMdTotalAmount();
+                        BigDecimal b1 = new BigDecimal(Double.toString(mdTotalAmount));
+                        BigDecimal b2 = new BigDecimal(Double.toString(mdTotalAmount1));
+                        double v =  b1.add(b2).doubleValue();
 
-                        list1.setMdTotalAmount(list1.getMdTotalAmount() + turn.getMdTotalAmount());
-                        list1.setMdTotalWeight(list1.getMdTotalWeight() + turn.getMdTotalWeight());
+                        Double mdTotalWeight = list1.getMdTotalWeight();
+                        Double mdTotalWeight1 = turn.getMdTotalWeight();
+                        BigDecimal a1 = new BigDecimal(Double.toString(mdTotalWeight));
+                        BigDecimal a2 = new BigDecimal(Double.toString(mdTotalWeight1));
+                        double  b=  a1.add(a2).doubleValue();
+                        list1.setMdTotalAmount(v);
+                        list1.setMdTotalWeight(b);
                         flag = false;
                         break;
                     }
@@ -119,4 +133,76 @@ public class ShowListController extends BaseController {
             return getBootstrapData(page);
         }
     }
+
+    /**
+     * 模块
+     * */
+    @ResponseBody
+    @RequestMapping(value ="mkData")
+    public Map<String, Object> mkData(ShowList showList,String item, HttpServletRequest request, HttpServletResponse response, Model model) {
+        ArrayList<String> objects = new ArrayList<>();
+        ArrayList<String> findList = new ArrayList<>();
+
+        //返回给页面的list
+        List<ShowList> myList = new ArrayList<>();
+        if (item != null&&!"".equals(item)) {
+            String[] split = item.split(";");
+            //回显list
+            List<ShowList> returnList = new ArrayList<>();
+            for (int i = 0; i < split.length; i++) {
+                objects.add(split[i]);
+            }
+            for (String s : objects) {
+                String[] split1 = s.split(":");
+                ShowList myShow = new ShowList();
+                myShow.setId(split1[0]);
+                String s1 = split1[1];
+                myShow.setNumber(Double.parseDouble(s1));
+                findList.add(split1[0]);
+                myList.add(myShow);
+            }
+            showList.setFindList(findList);
+            Page<ShowList> page = showListService.findPage(new Page<ShowList>(request, response), showList);
+            //查询出来所有的模块清单数据
+            List<ShowList> list = page.getList();
+            //前端传来选择的模块与数量
+            for (ShowList my : myList) {
+                //循环遍历
+                for (ShowList showList1 : list) {
+                    //选择的模块与查出来的一致
+                    if (my.getId().equals(showList1.getBlockId())) {
+                        Double mdSingleWeight = showList1.getMdSingleWeight();
+                        Double number = my.getNumber();
+                        Double mdCount = showList1.getMdCount();
+                        Double i = mdSingleWeight * number;
+                        BigDecimal b1 = new BigDecimal(Double.toString(number));
+                        BigDecimal b2 = new BigDecimal(Double.toString(mdCount));
+                        double v =  b1.multiply(b2).doubleValue();
+                        ShowList newShowList = new ShowList();
+                        newShowList.setMaterialCode(showList1.getMaterialCode());
+                        newShowList.setMaterialDescription(showList1.getMaterialDescription());
+                        newShowList.setExtensionDescription(showList1.getExtensionDescription());
+                        newShowList.setMdUnits(showList1.getMdUnits());
+                        newShowList.setMeTheParty(showList1.getMeTheParty());
+                        newShowList.setMdText(showList1.getMdText());
+                        newShowList.setMdTotalAmount(v);
+                        newShowList.setMdSingleWeight(showList1.getMdSingleWeight());
+                        BigDecimal b = new BigDecimal(i);
+                        BigDecimal a = new BigDecimal(1000);
+                        BigDecimal divide = b.divide(a, 4, BigDecimal.ROUND_HALF_UP);
+                        newShowList.setMdTotalWeight(Double.valueOf(divide.toString()));
+                        newShowList.setBlockId(showList1.getBlockId());
+                        returnList.add(newShowList);
+                    }
+                }
+            }
+            page.setList(returnList);
+            return getBootstrapData(page);
+        } else {
+            findList.add("没有数据");
+            showList.setFindList(findList);
+            Page<ShowList> page = showListService.findPage(new Page<ShowList>(request, response), showList);
+            return getBootstrapData(page);
+        }
+    }
 }

+ 0 - 1
src/main/java/com/jeeplus/modules/sys/web/FileController.java

@@ -317,7 +317,6 @@ public class FileController extends BaseController {
 		String fileDir = Global.getAttachmentDir2()+uploadPath+"/"+year+"/"+month+"/";
 		// 判断文件是否为空
 		if (!file.isEmpty()) {
-
 			// 文件保存路径
 			// 转存文件
 			FileUtils.createDirectory(fileDir);

+ 0 - 11
src/main/webapp/webpage/modules/sg/managementcenter/activiti/divideAudit.jsp

@@ -106,17 +106,6 @@
 <%--						<input type="text" value="${construction.disclose.channel}">--%>
 						<table class="table table-bordered">
 							<tbody>
-<%--							<tr>
-								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>申请人:</label></td>
-								<td class="width-35">
-										${fns:unescapeHtml(construction.userName)}
-								</td>
-								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>审核人:</label></td>
-								<td class="width-35">
-									<sys:userselect roleName="项目经理;施工单位" id="tuser" name="tuser.id" value="${construction.tuser.id}" labelName="tuser.name" labelValue="${construction.tuser.name}"
-													cssClass="form-control required"/>
-								</td>
-							</tr>--%>
 							<tr>
 								<td class="width-15 active"><label class="pull-right">项目号:</label></td>
 								<td class="width-35">

+ 112 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/pickIng.js

@@ -93,6 +93,96 @@ $(document).ready(function() {
 		 ]
 	});
 
+	$('#informationTable2').bootstrapTable({
+		//请求方法
+		method: 'post',
+		//类型json
+		dataType: "json",
+		contentType: "application/x-www-form-urlencoded",
+		//显示检索按钮
+		showSearch: false,
+		//显示刷新按钮
+		showRefresh: false,
+		//显示切换手机试图按钮
+		showToggle: false,
+		//显示 内容列下拉框
+		showColumns: false,
+		//显示到处按钮
+		showExport: false,
+		//显示切换分页按钮
+		showPaginationSwitch: false,
+		//最低显示2行
+		minimumCountColumns: 2,
+		//是否显示行间隔色
+		striped: true,
+		//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+		cache: false,
+		//是否显示分页(*)
+		pagination: false,
+		//排序方式
+		sortOrder: "asc",
+		//初始化加载第一页,默认第一页
+		pageNumber:1,
+		//每页的记录行数(*)
+		pageSize: 10,
+		//可供选择的每页的行数(*)
+		pageList: [10, 25, 50, 100],
+		//这个接口需要处理bootstrap table传递的固定参数,并返回特定格式的json数据
+		url: "${ctx}/picking/showlist/mkData",
+		//默认值为 'limit',传给服务端的参数为:limit, offset, search, sort, order Else
+		////查询参数,每次调用是会带上这个参数,可自定义
+		queryParams : function(params) {
+			var searchParam = $("#searchForm").serializeJSON();
+			searchParam.pageNo = params.limit === undefined? "1" :params.offset/params.limit+1;
+			searchParam.pageSize = params.limit === undefined? -1 : params.limit;
+			searchParam.orderBy = params.sort === undefined? "" : params.sort+ " "+  params.order;
+			return searchParam;
+		},
+		//分页方式:client客户端分页,server服务端分页(*)
+		sidePagination: "server",
+		contextMenuTrigger:"right",//pc端 按右键弹出菜单
+		contextMenuTriggerMobile:"press",//手机端 弹出菜单,click:单击, press:长按。
+		contextMenu: '#context-menu',
+		onClickRow: function(row, $el){
+		},
+		onShowSearch: function () {
+			$("#search-collapse").slideToggle();
+		},
+		formatNoMatches:function(){
+			return "你的自定义文字说明";
+		},
+		columns: [
+			{
+				field: 'materialCode',
+				title: '物料编码',
+			},{
+				field: 'materialDescription',
+				title: '物料名称',
+			},{
+				field: 'extensionDescription',
+				title: '扩展描述',
+			},{
+				field: 'mdUnits',
+				title: '单位',
+			},{
+				field: 'mdTotalAmount',
+				title: '总量',
+			},{
+				field: 'mdSingleWeight',
+				title: '单重/kg',
+			},{
+				field: 'mdTotalWeight',
+				title: '总重/吨',
+			},{
+				field: 'meTheParty',
+				title: '甲乙供',
+			},{
+				field: 'mdText',
+				title: '备注',
+			}
+		]
+	});
+
 
 	  if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端
 		  $('#informationTable').bootstrapTable("toggleView");
@@ -124,10 +214,12 @@ $(document).ready(function() {
 		$("#dq").click("click", function () {
 			$("#div1").attr("style", "display:block;");
 			$("#div2").attr("style", "display:none;");
+			$("#div3").attr("style", "display:none;");
 		});
 		$("#qd").click("click", function () {
 			$("#div1").attr("style", "display:none;");
 			$("#div2").attr("style", "display:block;");
+			$("#div3").attr("style", "display:none;");
 			var item = "";
 			$('input[name="need"]').each(function(){
 				var val = $(this).val();
@@ -144,6 +236,26 @@ $(document).ready(function() {
 					}
 			});
 		});
+	$("#mkqd").click("click", function () {
+		$("#div1").attr("style", "display:none;");
+		$("#div2").attr("style", "display:none;");
+		$("#div3").attr("style", "display:block;");
+		var item = "";
+		$('input[name="need"]').each(function(){
+			var val = $(this).val();
+			console.log("val"+val);
+			if (val!=null&&val!=""&&val>0) {
+				item += $(this).attr("id")+":"+val+";"
+				console.log("item"+item);
+			}
+		})
+		$('#informationTable2').bootstrapTable('refresh', {
+			query:
+				{
+					item: item
+				}
+		});
+	});
 	$("#agree").click(function () {
 		var item = "";
 		$('input[name="need"]').each(function(){

+ 6 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/pickIng.jsp

@@ -41,6 +41,7 @@
 			<div>
 				<ul class="nav nav-tabs">
 					<li role="presentation" id="click1" style="border-bottom: 0px;border-left: 1px solid rgb(221,221,221);border-right: 1px solid rgb(221,221,221);border-top: 1px solid rgb(221,221,221)"><a id="dq" href="javascript:void(0)">填写需要材料</a></li>
+					<li role="presentation" id="click3" ><a id="mkqd" href="javascript:void(0)">查看模块清单</a></li>
 					<li role="presentation" id="click2" ><a id="qd" href="javascript:void(0)">查看领料清单</a></li>
 				</ul>
 			</div>
@@ -48,6 +49,7 @@
 			<div id="div1">
 				<table class="table table-view">
 					<tbody>
+					<h3>项目:${projectNumber.requireName}&nbsp;发起第${projectNumber.theNumber}次开具领料清单</h3>
 					<c:forEach items="#{pickListList}" var="items" varStatus="status">
 						<c:if test="${status.count eq 1 || (status.count-1) % 1 eq 0}">
 						<tr>
@@ -101,6 +103,10 @@
 			<div id="div2" style="display: none">
 				<table id="informationTable"   data-toolbar="#toolbar" class="table"></table>
 			</div>
+			<div id="div3" style="display: none">
+				<table id="informationTable2"   data-toolbar="#toolbar" class="table"></table>
+			</div>
+
 			<c:if test="${not empty showList.id}">
 				<act:flowChart procInsId="${showList.act.procInsId}"/>
 				<act:histoicFlow procInsId="${showList.act.procInsId}" />

+ 35 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/pickingApplication.js

@@ -0,0 +1,35 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<script>
+	/**
+	 * 配网专职提交申请页面
+	 * */
+	$(document).ready(function() {
+		jp.ajaxForm("#inputForm",function(data){
+			if(data.success){
+				jp.alert(data.msg);
+				jp.go("${ctx}"+ data.body.targetUrl);
+			}else{
+				jp.alert(data.msg);
+				$("#inputForm").find("button:submit").button("reset");
+			}
+		});
+
+		$('#acceptDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+
+		$('#examineDate').datetimepicker({
+			format: "YYYY-MM-DD HH:mm:ss"
+		});
+		//富文本初始化
+		$('#reason').summernote({
+			height: 300,
+			lang: 'zh-CN',
+			callbacks: {
+				onChange: function(contents, $editable) {
+					$("input[name='reason']").val($('#reason').summernote('code'));//取富文本的值
+				}
+			}
+		});
+	})
+</script>

+ 77 - 0
src/main/webapp/webpage/modules/sg/picking/activiti/pickingApplication.jsp

@@ -0,0 +1,77 @@
+<%@ page pageEncoding="UTF-8"%>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>领料提交申请</title>
+	<meta name="decorator" content="ani"/>
+	<!-- SUMMERNOTE -->
+	<%@include file="/webpage/include/summernote.jsp" %>
+	<%@include file="pickingApplication.js"%>
+</head>
+<body>
+
+<div class="wrapper wrapper-content">
+	<div class="row">
+		<div class="col-md-12">
+			<div class="panel panel-primary">
+				<div class="panel-heading">
+					<h3 class="panel-title">
+						<a class="panelButton"  href="#"  onclick="history.go(-1)"><i class="ti-angle-left"></i> 返回</a>
+					</h3>
+				</div>
+				<div class="panel-body">
+					<form:form id="inputForm" modelAttribute="showList" action="${ctx}/picking/activiti/save" method="post" class="form-horizontal">
+						<form:hidden path="id"/>
+						<form:hidden path="act.taskId"/>
+						<form:hidden path="act.taskName"/>
+						<form:hidden path="act.taskDefKey"/>
+						<form:hidden path="act.procInsId"/>
+						<form:hidden path="act.procDefId"/>
+						<form:hidden id="flag" path="act.flag" />
+						<div class="form-group text-center">
+							<h3> 领料申请</h3>
+						</div>
+						<table class="table table-bordered">
+							<tbody>
+							<tr>
+								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>项目名称:</label></td>
+								<td class="width-35">
+									<sys:itemselect url="${ctx}/sg/managementcenter/project/dataPicking" id="project" name="projectId" value="${showList.projectName}" labelName="project.requireName" labelValue="${showList.projectName}"
+													title="选择项目号" cssClass="form-control " fieldLabels="${fns:urlEncode('项目需求名称|工程编号|项目名称|项目定义号')}" fieldKeys="requireName|projecId|projectName|projectNumber" searchLabels="${fns:urlEncode('项目需求名称')}" searchKeys="requireName"  isMultiSelected="false"></sys:itemselect>
+								</td>
+								<td class="width-15 active"><label class="pull-right"><font color="red">*</font>选择模块版本:</label></td>
+								<td class="width-35">
+									<form:select  cssClass="form-control" path="sVersion">
+										<c:forEach items="${showList.version}" var="list">
+											<option value="${list}">${list}</option>
+										</c:forEach>
+									</form:select>
+								</td>
+							</tr>
+							<tr>
+							</tr>
+							</tbody>
+						</table>
+
+						<div class="form-group">
+							<div class="col-lg-3"></div>
+								<div class="col-lg-6">
+									<div class="form-group text-center">
+										<div>
+											<button class="btn btn-primary btn-block btn-lg btn-parsley" data-loading-text="正在提交...">提 交</button>
+										</div>
+									</div>
+								</div>
+						</div>
+					</form:form>
+					<c:if test="${not empty showList.id}">
+						<act:flowChart procInsId="${showList.act.procInsId}"/>
+						<act:histoicFlow procInsId="${showList.act.procInsId}" />
+					</c:if>
+				</div>
+			</div>
+		</div>
+	</div>
+</div>
+</body>
+</html>