Explorar el Código

项目批量归档时添加暂存功能

[user3] hace 4 años
padre
commit
997153ce50

+ 5 - 3
src/main/java/com/jeeplus/modules/projectFilingBatch/service/ProjectFilingBatchService.java

@@ -380,8 +380,10 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
     @Transactional(readOnly = false)
     public void saveProject(String[] proId,ProjectFilingBatch projectFilingBatch, ProjectStatusEnum projectStatus,String[] proInfos,String[] flags) throws Exception {
         long t1 = System.currentTimeMillis();
-
-        Integer oldStatus = projectFilingBatch.getFilingStatus();
+        Integer oldStatus =0;
+        if (StringUtils.isNotBlank(projectFilingBatch.getFilingBatch())){
+            oldStatus = projectFilingBatch.getFilingStatus();
+        }
         projectFilingBatch.setFilingStatus(projectStatus.getValue());
         User createBy = projectFilingBatch.getCreateBy();
         if(createBy != null){
@@ -396,7 +398,7 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
         //归档批次表添加操作
         if(projectFilingBatch.getFilingStatus()== ProjectStatusEnum.INVALID.getValue()){
             super.save(projectFilingBatch);
-        }else if (oldStatus== ProjectStatusEnum.RECALL.getValue() || oldStatus== ProjectStatusEnum.REJECTED.getValue()) {
+        }else if (oldStatus== ProjectStatusEnum.RECALL.getValue() || oldStatus== ProjectStatusEnum.REJECTED.getValue() || oldStatus== ProjectStatusEnum.TSTORE.getValue()) {
             //获取归档批次的项目信息
             List<ProjectFilingBatch> filingBatches=this.findProjectIdByFiling(projectFilingBatch.getId());
             //通过批次归档id和项目id删除之前的信息

+ 37 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/web/ProjectFilingBatchController.java

@@ -392,6 +392,43 @@ public class ProjectFilingBatchController extends BaseController {
         }
         return "redirect:" + Global.getAdminPath() + "/projectFilingBatch/projectFilingBatchInfo/?repage";
     }
+    /**
+     * 暂存归档批次项目
+     */
+    @RequiresPermissions(value = {"projectFilingBatch:projectFilingBatchInfo:add"}, logical = Logical.OR)
+    @RequestMapping(value = "holdSave")
+    public String holdSave(ProjectFilingBatch projectFilingBatch, Model model, RedirectAttributes redirectAttributes, @RequestParam("proId")String[] proId, String[] proInfos,String[] flags) throws Exception {
+        if (!beanValidator(model, projectFilingBatch)){
+            return form(projectFilingBatch, model);
+        }
+        try{
+            if (projectFilingBatch.getId()!=null && StringUtils.isNotBlank(projectFilingBatch.getId())) {//编辑表单保存
+                ProjectFilingBatch t = projectFilingBatchService.get(projectFilingBatch.getId());//从数据库取出记录的值
+                MyBeanUtils.copyBeanNotNull2Bean(projectFilingBatch, t);
+                projectFilingBatch.setFilingStatus(1);
+                projectFilingBatchService.saveProject(proId,projectFilingBatch, ProjectStatusEnum.TSTORE,proInfos,flags);//保存
+                if(t.getFilingStatus() == 2){
+                    addMessage(redirectAttributes, "归档批次已送审,无法暂存");
+                    return "redirect:"+Global.getAdminPath()+"/projectFilingBatch/projectFilingBatchInfo/?repage";
+                }else if(t.getFilingStatus() == 5){
+                    addMessage(redirectAttributes, "项目归档批次已归档,无法暂存");
+                    return "redirect:"+Global.getAdminPath()+"/projectFilingBatch/projectFilingBatchInfo/?repage";
+                }
+            } else {//新增表单保存
+                projectFilingBatch.setFilingStatus(1);
+                projectFilingBatchService.saveProject(proId,projectFilingBatch, ProjectStatusEnum.TSTORE,proInfos,flags);//保存
+//                //新增项目树形信息
+//                if (proInfos.length!=0) {
+//                    projectFilingBatchService.insertProInfo(proInfos, flags, proId,projectFilingBatch.getId());
+//                }
+            }
+            addMessage(redirectAttributes, "归档暂存成功");
+        }catch (Exception e){
+            logger.error("送审项目异常",e);
+            addMessage(redirectAttributes, "归档暂存异常:"+e.getMessage());
+        }
+        return "redirect:" + Global.getAdminPath() + "/projectFilingBatch/projectFilingBatchInfo/?repage";
+    }
 
     /**
      * 撤回

+ 18 - 12
src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchForm.jsp

@@ -39,21 +39,27 @@
         var validateForm;
         var isMasterClient = true;//是否是委托方
         var clientCount = 0;
-        function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+        function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
             if(validateForm.form()){
-                var length = $("#projectList tr").length
-                if(length ==0){
-                    parent.layer.msg("请添加归档项目!", {icon: 5});
-                    return false
-                }
-                // var prosize=$()
-                // var proJson=new Array(length);
-                for (var i=0;i<length;i++){
-                    var zhi=$("#projectList tr").eq(i).find("input[name='proInfoType']").val();
-                    if (zhi==""){
-                        parent.layer.msg("信息未填写完整!", {icon: 5});
+                if(obj == 1){
+                    var length = $("#projectList tr").length
+                    if(length ==0){
+                        parent.layer.msg("请添加归档项目!", {icon: 5});
                         return false
                     }
+                    // var prosize=$()
+                    // var proJson=new Array(length);
+                    for (var i=0;i<length;i++){
+                        var zhi=$("#projectList tr").eq(i).find("input[name='proInfoType']").val();
+                        if (zhi==""){
+                            parent.layer.msg("信息未填写完整!", {icon: 5});
+                            return false
+                        }
+                    }
+                    $("#inputForm").attr("action","${ctx}/projectFilingBatch/projectFilingBatchInfo/save");
+
+                }else{
+                    $("#inputForm").attr("action","${ctx}/projectFilingBatch/projectFilingBatchInfo/holdSave");
                 }
                 $("#inputForm").submit();
                 return true;

+ 2 - 2
src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchList.jsp

@@ -298,7 +298,7 @@
                         <button class="layui-btn layui-btn-sm layui-bg-blue" id="btn-expand">全部展开</button>
                         <button class="layui-btn layui-btn-sm layui-bg-blue" id="btn-fold">全部折叠</button>
                         <shiro:hasPermission name="projectFilingBatch:projectFilingBatchInfo:add">
-                            <table:addRow url="${ctx}/projectFilingBatch/projectFilingBatchInfo/form" title="归档批次"></table:addRow><!-- 增加按钮 -->
+                            <a href="#" onclick="openDialogre('添加归档批次', '${ctx}/projectFilingBatch/projectFilingBatchInfo/form','95%', '95%','','送审,暂存,关闭')" class="layui-btn layui-btn-sm layui-bg-blue" > 添加</a>
                         </shiro:hasPermission>
                         <shiro:hasPermission name="project:projectRecords:export">
                             <table:exportExcel url="${ctx}/project/projectRecords/export"></table:exportExcel><!-- 导出按钮 -->
@@ -455,7 +455,7 @@
                 }
                 if(d.flag == 1){
                     if(d.status == 1){
-                        xml+="<a href=\"#\" onclick=\"openDialogre('修改批次信息', '${ctx}/projectFilingBatch/projectFilingBatchInfo/form?id=" + d.id +"','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 修改</a>";
+                        xml+="<a href=\"#\" onclick=\"openDialogre('修改批次信息', '${ctx}/projectFilingBatch/projectFilingBatchInfo/form?id=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" > 修改</a>";
                     }
                     if(d.status == 2){
                         xml+="<a href=\"${ctx}/projectFilingBatch/projectFilingBatchInfo/revoke?id=" + d.id + "&filingStatus="+d.status+ "\" onclick=\"return confirmx('确认要撤回该项目审批吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" > 撤回</a>";