Bläddra i källkod

报告签章代码

user5 3 år sedan
förälder
incheckning
9ef7c06160

+ 218 - 7
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageElectronicSealService.java

@@ -2,6 +2,8 @@ package com.jeeplus.modules.ruralprojectrecords.service;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import com.jeeplus.common.config.Global;
+import com.jeeplus.common.oss.OSSClientUtil;
 import com.jeeplus.common.service.CrudService;
 import com.jeeplus.common.utils.IdGen;
 import com.jeeplus.common.utils.ImageUtil;
@@ -27,6 +29,7 @@ import com.jeeplus.modules.sys.service.UserService;
 import com.jeeplus.modules.sys.service.WorkattachmentService;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
+import com.jeeplus.modules.tools.utils.SignaturePostUtil;
 import com.jeeplus.modules.tools.utils.TwoDimensionCode;
 import com.jeeplus.modules.utils.SftpClientUtil;
 import com.jeeplus.modules.workactivity.dao.WorkActivityProcessDao;
@@ -77,7 +80,9 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
     @Autowired
     private UserService userService;
     @Autowired
-    private RuralProjectMessageNewService ruralProjectMessageService;
+    private RuralProjectMessageNewService ruralProjectMessageNewService;
+    @Autowired
+    private RuralProjectMessageService ruralProjectMessageService;
     @Autowired
     private ProjectReportDataService projectReportDataService;
     @Autowired
@@ -453,6 +458,116 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                         vars.put("pass", true);
                         vars.put("passs", true);
                         notifyRole = "审批通过";
+
+                        //下载审定单文件
+                        String deleteFile = null;
+                        try {
+                            //进行签章调用
+                            //根据项目id查询是否已经提交过了审定单签章
+                            ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(ruralProjectRecords.getId());
+                            if(null == projectReportData){
+                                return "查询不到该项目的质量复核信息";
+                            }
+                            if(null!= projectReportData.getSignatureFlag() && 1 == projectReportData.getSignatureFlag()){
+                                return "该质量复核已经审定单盖章完成";
+                            }
+                            if(StringUtils.isBlank(ruralProjectRecords.getProjectMasterId())){
+                                return "项目负责人为空,无法进行签章";
+                            }
+
+                            //根据项目id和附件类型的
+                            Workattachment workClientAttachment = new Workattachment();
+                            workClientAttachment.setAttachmentFlag("144");
+                            workClientAttachment.setAttachmentId(ruralProjectRecords.getId());
+                            List<Workattachment> fileList = workattachmentService.findList(workClientAttachment);
+                            if(fileList.size()>0){
+                                Workattachment workattachment = fileList.get(0);
+                                if(StringUtils.isBlank(workattachment.getUrl())){
+                                    return "审定单文件存储路径为空,无法进行签章操作,请驳回后重新上传审定单";
+                                }
+                                //下载审定单文件
+                                String path = null;
+                                if(System.getProperty("os.name").toLowerCase().contains("win")){
+                                    path = "D:/attachment-file/";
+                                }else{
+                                    path = "/attachment-file/";
+                                }
+                                String file = workattachment.getUrl();
+                                file = file.replace("amp;","");
+                                String fileName = file.substring(file.lastIndexOf("/") + 1, file.length());
+                                String aliyunUrl = Global.getAliyunUrl();
+                                String aliDownloadUrl = Global.getAliDownloadUrl();
+                                String cons = "";
+                                if (file.contains(aliyunUrl)){
+                                    cons = aliyunUrl;
+                                }else if (file.contains("http://gangwan-app.oss-cn-hangzhou.aliyuncs.com")){
+                                    cons = "http://gangwan-app.oss-cn-hangzhou.aliyuncs.com";
+                                }else {
+                                    cons = aliDownloadUrl;
+                                }
+                                String ossKey = file.split(cons+"/")[1];
+                                new OSSClientUtil().downByStreamSaveLocal(ossKey,fileName,path+fileName);
+                                //将下载下来的文件转换为file文件
+                                File srcFile = new File(path+fileName);
+                                File verticalInvalidFile = new File(path+fileName);
+                                deleteFile = path+fileName;
+
+                                //截取文件名称
+                                String srcFileName = srcFile.getName().substring(0,srcFile.getName().lastIndexOf("."));
+                                //截取文件后缀名
+                                String substring = srcFile.getName().substring(srcFile.getName().lastIndexOf(".")+1, srcFile.getName().length());
+                                if(!"doc".equals(substring.toLowerCase()) && !"docx".equals(substring.toLowerCase()) && !"pdf".equals(substring.toLowerCase())){
+                                    return "请上传doc、docx或者pdf的文件进行签章操作";
+                                }
+                                //获取真签单的documentId
+                                String documentId = SignaturePostUtil.getDocument(srcFile);
+                                //获取竖版假(空白)签单的documentId
+                                String verticalInvalidDocumentId = SignaturePostUtil.getVerticalInvalidDocument(verticalInvalidFile.getName(),verticalInvalidFile);
+                                if("".equals(verticalInvalidDocumentId)){
+                                    return "竖版模板文件创建失败";
+                                }
+                                List<String> documentList = Lists.newArrayList();
+                                List<String> invalidDocumentList = Lists.newArrayList();
+                                documentList.add(documentId);
+                                documentList.add(verticalInvalidDocumentId);
+                                //documentList.add(acrossInvalidDocumentId);
+                                invalidDocumentList.add(verticalInvalidDocumentId);
+                                //invalidDocumentList.add(acrossInvalidDocumentId);
+                                //将空白单的documentId存入数据库种
+                                projectReportData.setSignatureInvalidDocumentId(String.join(",", invalidDocumentList));
+                                //根据项目id 和 documentId生成合同id
+                                String contractId = ruralProjectMessageService.getSignatureContractId(ruralProjectRecords.getId(), documentList,ruralProjectRecords.getProjectMasterId(),"");
+                                if("".equals(contractId)){
+                                    return "签章文件创建失败";
+                                }
+                                //进行静默签署
+                                ruralProjectMessageService.signbyCompany(contractId,documentList);
+                                //将documentId 和contractId存储到质量复核对应的数据种
+                                //签章完成则进行数据的保存
+                                projectReportData.setSignatureFlag(1);
+                                projectReportData.setSignatureDocumentId(documentId);
+                                projectReportData.setSignatureContractId(contractId);
+                                projectReportData.setSignatureFileName(srcFileName);
+                                projectReportData.setSignatureUploadFileUser(UserUtils.getUser());
+                                projectReportData.setSignatureUploadDate(new Date());
+                                //修改签章对应信息文件
+                                projectReportDataService.updateSignatureInfo(projectReportData);
+                            }else{
+                                return "审定单文件未找到,无法进行签章操作";
+                            }
+                        }catch (Exception e){
+
+                        }finally {
+                            if(StringUtils.isNotBlank(deleteFile)){
+                                //根据路径创建文件对象
+                                File file = new File(deleteFile);
+                                //路径是个文件且不为空时删除文件
+                                if(file.isFile()&&file.exists()){
+                                    file.delete();
+                                }
+                            }
+                        }
+
                     } else {
                         workActivityProcess.setIsApproval("2");
                         vars.put("pass", false);
@@ -1004,6 +1119,102 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                         vars.put("pass", true);
                         vars.put("passs", true);
                         notifyRole = "审批通过";
+
+                        //下载审定单文件
+                        String deleteFile = null;
+                        try {
+                            //进行签章调用
+                            //根据项目id查询是否已经提交过了审定单签章
+                            if(null == ruralProjectRecords){
+                                return "查询不到该项目信息";
+                            }
+                            if(null!= ruralProjectRecords.getReportSignatureFlag() && 1 == ruralProjectRecords.getReportSignatureFlag()){
+                                return "该项目已经报告盖章完成";
+                            }
+                            if(StringUtils.isBlank(ruralProjectRecords.getProjectMasterId())){
+                                return "项目负责人为空,无法进行签章";
+                            }
+
+                            //根据项目id和附件类型的
+                            Workattachment workClientAttachment = new Workattachment();
+                            workClientAttachment.setAttachmentFlag("145");
+                            workClientAttachment.setAttachmentId(ruralProjectRecords.getId());
+                            List<Workattachment> fileList = workattachmentService.findList(workClientAttachment);
+                            if(fileList.size()>0){
+                                Workattachment workattachment = fileList.get(0);
+                                if(StringUtils.isBlank(workattachment.getUrl())){
+                                    return "审定单文件存储路径为空,无法进行签章操作,请驳回后重新上传审定单";
+                                }
+                                //下载审定单文件
+                                String path = null;
+                                if(System.getProperty("os.name").toLowerCase().contains("win")){
+                                    path = "D:/attachment-file/";
+                                }else{
+                                    path = "/attachment-file/";
+                                }
+                                String file = workattachment.getUrl();
+                                file = file.replace("amp;","");
+                                String fileName = file.substring(file.lastIndexOf("/") + 1, file.length());
+                                String aliyunUrl = Global.getAliyunUrl();
+                                String aliDownloadUrl = Global.getAliDownloadUrl();
+                                String cons = "";
+                                if (file.contains(aliyunUrl)){
+                                    cons = aliyunUrl;
+                                }else if (file.contains("http://gangwan-app.oss-cn-hangzhou.aliyuncs.com")){
+                                    cons = "http://gangwan-app.oss-cn-hangzhou.aliyuncs.com";
+                                }else {
+                                    cons = aliDownloadUrl;
+                                }
+                                String ossKey = file.split(cons+"/")[1];
+                                new OSSClientUtil().downByStreamSaveLocal(ossKey,fileName,path+fileName);
+                                //将下载下来的文件转换为file文件
+                                File srcFile = new File(path+fileName);
+                                deleteFile = path+fileName;
+
+                                //截取文件名称
+                                String srcFileName = srcFile.getName().substring(0,srcFile.getName().lastIndexOf("."));
+                                //截取文件后缀名
+                                String substring = srcFile.getName().substring(srcFile.getName().lastIndexOf(".")+1, srcFile.getName().length());
+                                if(!"doc".equals(substring.toLowerCase()) && !"docx".equals(substring.toLowerCase()) && !"pdf".equals(substring.toLowerCase())){
+                                    return "请上传doc、docx或者pdf的文件进行签章操作";
+                                }
+                                //获取真签单的documentId
+                                String documentId = SignaturePostUtil.getDocument(srcFile);
+                                List<String> documentList = Lists.newArrayList();
+                                documentList.add(documentId);
+                                //根据项目id 和 documentId生成合同id
+                                String contractId = ruralProjectMessageService.getReportSignatureContractId(ruralProjectRecords.getId(), documentList,ruralProjectRecords.getProjectMasterId(),"");
+                                if("".equals(contractId)){
+                                    return "签章文件创建失败";
+                                }
+                                //进行静默签署
+                                ruralProjectMessageService.signbyCompanyByKeyWord(contractId,documentList);
+                                //将documentId 和contractId存储到质量复核对应的数据种
+                                //签章完成则进行数据的保存
+                                ruralProjectRecords.setReportSignatureFlag(1);
+                                ruralProjectRecords.setReportSignatureDocumentId(documentId);
+                                ruralProjectRecords.setReportSignatureContractId(contractId);
+                                ruralProjectRecords.setReportSignatureFileName(srcFileName);
+                                ruralProjectRecords.setReportSignatureUploadFileUser(UserUtils.getUser());
+                                ruralProjectRecords.setReportSignatureUploadDate(new Date());
+                                //修改签章对应信息文件
+                                projectReportDataService.updateReportSignatureInfo(ruralProjectRecords);
+                            }else{
+                                return "审定单文件未找到,无法进行签章操作";
+                            }
+                        }catch (Exception e){
+
+                        }finally {
+                            if(StringUtils.isNotBlank(deleteFile)){
+                                //根据路径创建文件对象
+                                File file = new File(deleteFile);
+                                //路径是个文件且不为空时删除文件
+                                if(file.isFile()&&file.exists()){
+                                    file.delete();
+                                }
+                            }
+                        }
+
                     } else {
                         workActivityProcess.setIsApproval("2");
                         vars.put("pass", false);
@@ -1316,7 +1527,7 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
         RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
         List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
         if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
-            userCertificateList = ruralProjectMessageService.getCertificateByUser(ruralProjectRecords.getProjectMasterId());
+            userCertificateList = ruralProjectMessageNewService.getCertificateByUser(ruralProjectRecords.getProjectMasterId());
         }
         //获取专业类型
         List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
@@ -1335,7 +1546,7 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
             consultants.add(currentConsultant);
         }
         //根据项目id查找报告咨询员信息
-        List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(ruralProjectRecords.getId());
+        List<RuralReportConsultant> consultantList = ruralProjectMessageNewService.getConsultantsList(ruralProjectRecords.getId());
         Iterator<RuralReportConsultant> it = consultantList.iterator();
         while(it.hasNext()){
             RuralReportConsultant consultant = it.next();
@@ -1349,7 +1560,7 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                 }
                 it.remove();
             }else if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
-                List<WorkStaffCertificate> bzshbCertificateList = ruralProjectMessageService.getCertificateByUser(projectReportData.getBzshbUserId());
+                List<WorkStaffCertificate> bzshbCertificateList = ruralProjectMessageNewService.getCertificateByUser(projectReportData.getBzshbUserId());
                 for (WorkStaffCertificate certificateInfo: bzshbCertificateList) {
                     bzshbConsultant.setZhucezigezhID(certificateInfo.getNum());
                     bzshbConsultant.setZhucezigezhKey(certificateInfo.getName());
@@ -1371,7 +1582,7 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                 it.remove();
             }else{
                 //根据用户查询技能信息
-                List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
+                List<WorkStaffCertificate> certificateList = ruralProjectMessageNewService.getCertificateByUser(consultant.getZixunyuan());
                 for (WorkStaffCertificate certificateInfo: certificateList) {
                     if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
                         consultant.setZhucezigezhID(certificateInfo.getNum());
@@ -1489,7 +1700,7 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
             data.put("zixunyuanName",consultantUser.getName());
             data.put("consultantProfession1","");
             data.put("consultantQualification1","");
-            List<WorkStaffCertificate> certificateByUser = ruralProjectMessageService.getCertificateByUser(consultantUser.getId());
+            List<WorkStaffCertificate> certificateByUser = ruralProjectMessageNewService.getCertificateByUser(consultantUser.getId());
             for (WorkStaffCertificate certificateInfo: certificateByUser) {
                 consultantUserConsultant.setZhucezigezhID(certificateInfo.getNum());
                 consultantUserConsultant.setZhucezigezhKey(certificateInfo.getName());
@@ -1951,7 +2162,7 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
             workattachment.setProjectId(ruralProjectRecords.getId());
             workattachment.setUrl(uploadPath);
             workattachment.setType("docx");
-            workattachment.setAttachmentFlag("199");
+            workattachment.setAttachmentFlag("145");
             workattachment.setAttachmentName(ruralProjectRecords.getProjectName() + "报告签章.docx");
             workattachment.setAttachmentUser(UserUtils.getUser().getId());
 

+ 1 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageElectronicSealController.java

@@ -439,7 +439,7 @@ public class RuralProjectMessageElectronicSealController extends BaseController
     public String reportSignatureForm(RuralProjectRecords projectRecords, Model model){
         if (projectRecords!=null&& StringUtils.isNotBlank(projectRecords.getId())) {
             projectRecords = projectRecordsService.get(projectRecords.getId());
-            projectRecordsService.queryProjectDetail(projectRecords);
+            projectRecordsService.queryProjectDetailBySignature(projectRecords,"145");
             ProjectPlanInfo projectPlanInfo = new ProjectPlanInfo();
             projectPlanInfo.setProjectId(projectRecords.getId());
             if(null != projectRecords.getWorkContractInfo()){

+ 36 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsApprovalForm.jsp

@@ -47,6 +47,11 @@
         var clientCount = 0;
         function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
             if(validateForm.form()){
+                var length = $("#file_attachment").find("tr").length ;
+                if(length == 0){
+                    top.layer.msg("请上传审定单签章附件", {icon: 0});
+                    return;
+                }
                 $("#inputForm").submit();
                 return true;
             }else{
@@ -563,7 +568,37 @@
 
         function insertTitle(tValue){
             $("#flagFile").val(false);
-            var files = $("#attachment_file")[0].files;            for(var i = 0;i<files.length;i++) {                var file = files[i];
+            var files = $("#attachment_file")[0].files;
+            var length = $("#file_attachment").find("tr").length ;
+            if(length>0){
+                top.layer.msg("已上传审定单,审定单文件有且只能存在一条", {icon: 0});
+                return;
+            }
+            if(files.length>1){
+                top.layer.msg("只能够上传一个审定单签章文件", {icon: 0});
+                return;
+            }
+            for(var i = 0;i<files.length;i++) {
+                var file = files[i];
+                var attachTypes = "doc,docx,pdf";
+                var suffixResult = 0;
+                var fileName = file.name.lastIndexOf(".");//获取到文件名开始到最后一个“.”的长度。
+                var fileNameLength = file.name.length;//获取到文件名长度
+                var suffix = file.name.substring(fileName + 1, fileNameLength);//截取后缀名
+                suffix = suffix.toLowerCase();//后缀名转换小写
+                attachTypes = attachTypes.toLowerCase();
+                var attachTypeList = attachTypes.split(",");
+                for (var x in attachTypeList) {
+                    if(attachTypeList[x] == suffix){
+                        suffixResult = 1;
+                        break;
+                    }
+                }
+                if(suffixResult == 0 ){
+                    top.layer.msg("上传附件只能为:"+attachTypes+" 类型文件", {icon: 0});
+                    return false;
+                }
+
                 var attachmentId = $("#id").val();
                 var attachmentFlag = "144";
                 /*console.log(file);*/

+ 38 - 3
src/main/webapp/webpage/modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsApprovalModify.jsp

@@ -15,6 +15,11 @@
         var validateForm;
         function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
             if(validateForm.form()){
+                var length = $("#file_attachment").find("tr").length ;
+                if(length == 0){
+                    top.layer.msg("请上传审定单签章附件", {icon: 0});
+                    return;
+                }
                 if(obj == 1) {
                     $("#flag").val("yes");
                 }else {
@@ -86,13 +91,43 @@
         });
 
         function insertTitle(tValue){
-            var files = $("#attachment_file")[0].files;            for(var i = 0;i<files.length;i++) {                var file = files[i];
+            var files = $("#attachment_file")[0].files;
+            var length = $("#file_attachment").find("tr").length ;
+            if(length>0){
+                top.layer.msg("已上传审定单,审定单文件有且只能存在一条", {icon: 0});
+                return;
+            }
+            if(files.length>1){
+                top.layer.msg("只能够上传一个审定单签章文件", {icon: 0});
+                return;
+            }
+            for(var i = 0;i<files.length;i++) {
+                var file = files[i];
+                var attachTypes = "doc,docx,pdf";
+                var suffixResult = 0;
+                var fileName = file.name.lastIndexOf(".");//获取到文件名开始到最后一个“.”的长度。
+                var fileNameLength = file.name.length;//获取到文件名长度
+                var suffix = file.name.substring(fileName + 1, fileNameLength);//截取后缀名
+                suffix = suffix.toLowerCase();//后缀名转换小写
+                attachTypes = attachTypes.toLowerCase();
+                var attachTypeList = attachTypes.split(",");
+                for (var x in attachTypeList) {
+                    if(attachTypeList[x] == suffix){
+                        suffixResult = 1;
+                        break;
+                    }
+                }
+                if(suffixResult == 0 ){
+                    top.layer.msg("上传附件只能为:"+attachTypes+" 类型文件", {icon: 0});
+                    return false;
+                }
+
                 var attachmentId = $("#id").val();
                 var attachmentFlag = "144";
-                console.log(file);
+                /*console.log(file);*/
                 var timestamp=new Date().getTime();
 
-                var storeAs = "projectRecods";
+                var storeAs = "projectRecords";
                 var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
                 var divId = "_attachment";
                 $("#addFile"+divId).show();

+ 36 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsReportSignatureForm.jsp

@@ -47,6 +47,11 @@
         var clientCount = 0;
         function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
             if(validateForm.form()){
+                var length = $("#file_attachment").find("tr").length ;
+                if(length == 0){
+                    top.layer.msg("请上传报告签章附件", {icon: 0});
+                    return;
+                }
                 $("#inputForm").submit();
                 return true;
             }else{
@@ -565,7 +570,37 @@
 
         function insertTitle(tValue){
             $("#flagFile").val(false);
-            var files = $("#attachment_file")[0].files;            for(var i = 0;i<files.length;i++) {                var file = files[i];
+            var files = $("#attachment_file")[0].files;
+            var length = $("#file_attachment").find("tr").length ;
+            if(length>0){
+                top.layer.msg("已上传审定单,审定单文件有且只能存在一条", {icon: 0});
+                return;
+            }
+            if(files.length>1){
+                top.layer.msg("只能够上传一个审定单签章文件", {icon: 0});
+                return;
+            }
+            for(var i = 0;i<files.length;i++) {
+                var file = files[i];
+                var attachTypes = "doc,docx";
+                var suffixResult = 0;
+                var fileName = file.name.lastIndexOf(".");//获取到文件名开始到最后一个“.”的长度。
+                var fileNameLength = file.name.length;//获取到文件名长度
+                var suffix = file.name.substring(fileName + 1, fileNameLength);//截取后缀名
+                suffix = suffix.toLowerCase();//后缀名转换小写
+                attachTypes = attachTypes.toLowerCase();
+                var attachTypeList = attachTypes.split(",");
+                for (var x in attachTypeList) {
+                    if(attachTypeList[x] == suffix){
+                        suffixResult = 1;
+                        break;
+                    }
+                }
+                if(suffixResult == 0 ){
+                    top.layer.msg("上传附件只能为:"+attachTypes+" 类型文件", {icon: 0});
+                    return false;
+                }
+
                 var attachmentId = $("#id").val();
                 var attachmentFlag = "145";
                 /*console.log(file);*/

+ 40 - 3
src/main/webapp/webpage/modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsReportSignatureModify.jsp

@@ -15,6 +15,12 @@
         var validateForm;
         function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
             if(validateForm.form()){
+
+                var length = $("#file_attachment").find("tr").length ;
+                if(length == 0){
+                    top.layer.msg("请上传报告签章附件", {icon: 0});
+                    return;
+                }
                 //var ss= document.getElementById("iframe").contentWindow.document.getElementById("opinion").value
                 //$("#opinion").val(ss);
                 if(obj == 1) {
@@ -88,13 +94,44 @@
         });
 
         function insertTitle(tValue){
-            var files = $("#attachment_file")[0].files;            for(var i = 0;i<files.length;i++) {                var file = files[i];
+            $("#flagFile").val(false);
+            var files = $("#attachment_file")[0].files;
+            var length = $("#file_attachment").find("tr").length ;
+            if(length>0){
+                top.layer.msg("已上传审定单,审定单文件有且只能存在一条", {icon: 0});
+                return;
+            }
+            if(files.length>1){
+                top.layer.msg("只能够上传一个审定单签章文件", {icon: 0});
+                return;
+            }
+            for(var i = 0;i<files.length;i++) {
+                var file = files[i];
+                var attachTypes = "doc,docx";
+                var suffixResult = 0;
+                var fileName = file.name.lastIndexOf(".");//获取到文件名开始到最后一个“.”的长度。
+                var fileNameLength = file.name.length;//获取到文件名长度
+                var suffix = file.name.substring(fileName + 1, fileNameLength);//截取后缀名
+                suffix = suffix.toLowerCase();//后缀名转换小写
+                attachTypes = attachTypes.toLowerCase();
+                var attachTypeList = attachTypes.split(",");
+                for (var x in attachTypeList) {
+                    if(attachTypeList[x] == suffix){
+                        suffixResult = 1;
+                        break;
+                    }
+                }
+                if(suffixResult == 0 ){
+                    top.layer.msg("上传附件只能为:"+attachTypes+" 类型文件", {icon: 0});
+                    return false;
+                }
+
                 var attachmentId = $("#id").val();
                 var attachmentFlag = "145";
-                console.log(file);
+                /*console.log(file);*/
                 var timestamp=new Date().getTime();
 
-                var storeAs = "projectRecods";
+                var storeAs = "projectRecords";
                 var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
                 var divId = "_attachment";
                 $("#addFile"+divId).show();

+ 7 - 5
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/electronicSeal/ruralProjectMessageElectronicSealList.jsp

@@ -1176,7 +1176,7 @@
 						}
 						return xml;
 					}}
-                ,{field:'op',align:'center',title:"操作",width:320,templet:function(d) {
+                ,{field:'op',align:'center',title:"操作",width:360,templet:function(d) {
 						////对操作进行初始化
 						var xml = '<div class=\"layui-btn-group\">';
 
@@ -1192,14 +1192,15 @@
 								xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogreAudit('修改审定单签章申请', '${ctx}/ruralProject/electronicSeal/approvalModify?id=" + d.id + "','95%', '95%','')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改审定单签章申请</a>";
 							}else if(d.approvalSignatureStatus == 5){
 								//上传审定单进行签章
-								<shiro:hasPermission name="ruralProject:ruralProjectMessage:importApprovalFile">
+								<%--<shiro:hasPermission name="ruralProject:ruralProjectMessage:importApprovalFile">
 								if(d.signatureFlag != "1"){
 									xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogreByImportFile('上传审定单签章', '${ctx}/ruralProject/ruralProjectMessage/skipImportApprovalWord?id=" + d.id + "&visitType=1','500px', '300px','','导入,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" > 审定单签章</a>";
 								}else{
 									xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadAttach?contractId="+ d.signatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\">审定单签章下载</a>"
 								}
 
-								</shiro:hasPermission>
+								</shiro:hasPermission>--%>
+								xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadAttach?contractId="+ d.signatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\">审定单签章下载</a>"
 							}
 
 							if(d.reportSignatureStatus == 0){
@@ -1212,7 +1213,7 @@
 								xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogreAudit('修改报告签章申请', '${ctx}/ruralProject/electronicSeal/reportSignatureModify?id=" + d.id + "','95%', '95%','')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改报告签章申请</a>";
 							}else if(d.reportSignatureStatus == 5){
 								//上传审定单进行签章
-								<shiro:hasPermission name="ruralProject:ruralProjectMessage:importReportFile">
+								<%--<shiro:hasPermission name="ruralProject:ruralProjectMessage:importReportFile">
 								if(d.reportSignatureFlag != "1"){
 									xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogreByReportImportFile('上传报告签章', '${ctx}/ruralProject/ruralProjectMessage/skipImportReportWord?id=" + d.id + "&visitType=1','500px', '300px','','导入,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" > 报告签章</a>";
 								}else{
@@ -1221,7 +1222,8 @@
 
 								//自动生成电子签章报告(在有报告的前提下可使用,没有报告信息则不进行展示该按钮)
 								//xml+="<a href=\"${ctx}/ruralProject/electronicSeal/downloadMassControl?id="+ d.pidId +"\" onclick=\"return confirmx('确认要自动生成报告签章吗?', this.href)\" class=\"layui-btn  layui-btn-xs\" > 自动生成报告签章</a>";
-								</shiro:hasPermission>
+								</shiro:hasPermission>--%>
+								xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadReportAttach?contractId="+ d.reportSignatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\">报告签章下载</a>"
 							}
 
 							if(d.prsiId != null && d.prsiId != undefined && d.prsiId != ""){