Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master'

sangwenwei 7 mesi fa
parent
commit
bb53b98577
27 ha cambiato i file con 452 aggiunte e 128 eliminazioni
  1. 2 2
      src/main/java/com/jeeplus/modules/filialeWorkInvoice/service/FilialeWorkInvoiceService.java
  2. 2 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingbatchRelationDao.java
  3. 78 8
      src/main/java/com/jeeplus/modules/projectFilingBatch/service/ProjectFilingBatchService.java
  4. 1 1
      src/main/java/com/jeeplus/modules/projectFilingBatch/web/ProjectFilingBatchController.java
  5. 5 5
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectSignatureOldMessageDisposeController.java
  6. 1 1
      src/main/java/com/jeeplus/modules/sys/service/UserService.java
  7. 1 1
      src/main/java/com/jeeplus/modules/sys/web/UserController.java
  8. 63 3
      src/main/java/com/jeeplus/modules/workcalendar/service/WorkCalendarTaskService.java
  9. 7 4
      src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceAllService.java
  10. 8 7
      src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceService.java
  11. 12 0
      src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceAllController.java
  12. 109 70
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  13. 3 0
      src/main/resources/mappings/modules/projectGuidang/ProjectFilingbatchRelationDao.xml
  14. 1 1
      src/main/resources/mappings/modules/statement/StatementCompanyComprehensiveDao.xml
  15. 8 8
      src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchApply.jsp
  16. 1 1
      src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchAudit.jsp
  17. 1 1
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectRecordsAdminModify.jsp
  18. 58 1
      src/main/webapp/webpage/modules/sys/sysHome.jsp
  19. 2 2
      src/main/webapp/webpage/modules/workinvoice/workInvoiceAllTwoForm.jsp
  20. 1 1
      src/main/webapp/webpage/modules/workinvoice/workInvoiceExamineModify.jsp
  21. 7 1
      src/main/webapp/webpage/modules/workinvoice/workInvoiceNotProjectAudit.jsp
  22. 7 1
      src/main/webapp/webpage/modules/workinvoice/workInvoiceNotProjectAuditEnd.jsp
  23. 2 2
      src/main/webapp/webpage/modules/workinvoice/workInvoiceNotProjectModify.jsp
  24. 2 2
      src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoForm.jsp
  25. 1 1
      src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoModify.jsp
  26. 7 1
      src/main/webapp/webpage/modules/workinvoice/workInvoiceView.jsp
  27. 62 3
      src/main/webapp/webpage/modules/workprojectnotify/workProjectNotifyList.jsp

+ 2 - 2
src/main/java/com/jeeplus/modules/filialeWorkInvoice/service/FilialeWorkInvoiceService.java

@@ -168,8 +168,8 @@ public class FilialeWorkInvoiceService extends CrudService<FilialeWorkInvoiceDao
 						}
 					}
 				}else if(projectRelation.getIsProject()==2){
-					projectRelation.setProjectName("内容");
-					projectRelation.setWorkContractName(projectRelation.getDetails());
+					projectRelation.setProjectName(projectRelation.getDetails());
+					//projectRelation.setWorkContractName(projectRelation.getDetails());
 				}
 			}
 			//如果发票对账地区为空,则将第一个项目信息的所在地添加到对账地区

+ 2 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingbatchRelationDao.java

@@ -29,4 +29,6 @@ public interface ProjectFilingbatchRelationDao extends CrudDao<ProjectFilingbatc
      * @param filingBatchId
      */
     void updateDelFlagByFilingBatch(String  filingBatchId);
+
+    Integer deleteByFilingBatchId(String filingBatchId);
 }

+ 78 - 8
src/main/java/com/jeeplus/modules/projectFilingBatch/service/ProjectFilingBatchService.java

@@ -548,8 +548,8 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
             identityService.setAuthenticatedUserId(projectFilingBatch.getCurrentUser().getId());
             Office office = projectFilingBatch.getOffice();
             office = officeService.get(office.getId());
-            String contentStr = "归档项目批次【"+ projectFilingBatch.getFilingBatch()+"】待审批,归档批次编号:"+projectFilingBatch.getId() + "。报告号"+projectFilingBatch.getReportNumber();
-            String titleStr = "归档项目批次【"+ projectFilingBatch.getFilingBatch()+"】待审批" + "报告号"+projectFilingBatch.getReportNumber();
+            String contentStr = "归档项目批次【"+ projectFilingBatch.getFilingBatch()+"】待审批,归档批次编号:"+projectFilingBatch.getFilingBatch() + "。报告号"+projectFilingBatch.getReportNumber();
+            String titleStr = "归档项目批次【"+ projectFilingBatch.getFilingBatch()+"】待审批" + "报告号"+projectFilingBatch.getReportNumber();
             String businessKey = projectFilingBatch.getId();
             Activity activity = new Activity();
             WorkActivityMenu workActivityMenu = workActivityMenuService.findByParentAndOffice("7854872f45b84acd893010e66a3db2c8", office);
@@ -743,7 +743,7 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
      * @throws Exception
      */
     @Transactional(readOnly = false)
-    public String auditSave(ProjectFilingBatch projectFilingBatch, List<User> auditUsers,String[] proInfos, String[] flags) throws Exception {
+    public String auditSave(ProjectFilingBatch projectFilingBatch, List<User> auditUsers,String[] projectId,String[] proInfos, String[] flags) throws Exception {
         this.queryInfo(projectFilingBatch);
         Integer filingStatus = projectFilingBatch.getFilingStatus();
         String taskDefKey = projectFilingBatch.getAct().getTaskDefKey();
@@ -766,6 +766,23 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
             comment = ("yes".equals(projectFilingBatch.getAct().getFlag())?"[同意] ":"[驳回] ");
         }
 
+        //获取前端选择的项目信息
+        //保存要归档的项目
+        if(null!=projectId){
+            //删除现有关联的项目信息
+            projectFilingbatchRelationDao.deleteByFilingBatchId(projectFilingBatch.getId());
+            for (int i=0;i<projectId.length;i++){
+                String id=projectId[i].split("/")[0];
+                ProjectFilingbatchRelation filingbatchRelation=new ProjectFilingbatchRelation();
+                filingbatchRelation.setFilingBatch(projectFilingBatch.getId());
+                filingbatchRelation.setProjectId(id);
+                filingbatchRelation.setSort(i);
+                filingbatchRelation.setStatus(2);
+                filingbatchRelation.preInsert();
+                projectFilingbatchRelationDao.insert(filingbatchRelation);
+            }
+        }
+
         /**
          * 流程驳回修改所有项目归档状态
          */
@@ -960,7 +977,7 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
             }
             //审核完成提示框
             String title = "归档批次号【"+projectFilingBatch.getFilingBatch()+"】"+ "。报告号"+projectFilingBatch.getReportNumber()+"。归档成功";
-            String content = "归档批次号【"+projectFilingBatch.getFilingBatch()+"】" + "。报告号"+projectFilingBatch.getReportNumber()+"。归档成功,归档批次编号:"+projectFilingBatch.getId();
+            String content = "归档批次号【"+projectFilingBatch.getFilingBatch()+"】" + "。报告号"+projectFilingBatch.getReportNumber()+"。归档成功,归档批次编号:"+projectFilingBatch.getFilingBatch();
             if ("yes".equals(projectFilingBatch.getAct().getFlag())) {
                 projectFilingBatch.setFilingStatus(ProjectStatusEnum.SIGNED.getValue());
                 WorkProjectNotify notify = new WorkProjectNotify();
@@ -1148,12 +1165,65 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
 
     /**
      * 项目归档表逻辑删除
-     * @param filingBatch
+     * @param projectFilingBatch
      */
     @Transactional(readOnly = false)
-    public void delete(ProjectFilingBatch filingBatch){
-        super.delete(filingBatch);
-        projectFilingbatchRelationDao.updateDelFlagByFilingBatch(filingBatch.getId());
+    public void delete(ProjectFilingBatch projectFilingBatch){
+        //判定流程状态,若流程状态未完成且发起或驳回状态,则需要将当前流程进行结束处理
+        if(projectFilingBatch.getFilingStatus() != 5 && StringUtils.isNotBlank(projectFilingBatch.getProcessinstanceId())){
+            //判定流程是否存在或是否结束
+
+            WorkActivityProcess process = new WorkActivityProcess();
+            process.setProcessInstanceId(projectFilingBatch.getProcessinstanceId());
+            process.setIsApproval("0");
+            //List<WorkActivityProcess> processList1 = workActivityProcessService.findByProcInsId(process);
+            WorkActivityProcess workActivityProcess = new WorkActivityProcess();
+            workActivityProcess.setProcessInstanceId(projectFilingBatch.getProcessinstanceId());
+            List<WorkActivityProcess> processList = workActivityProcessService.findList(workActivityProcess);
+            WorkProjectNotify notify = new WorkProjectNotify();
+            notify.setNotifyId(projectFilingBatch.getId());
+            List<User> userList = workProjectNotifyService.readByNotifyId(notify);
+            if (userList!=null && userList.size()!=0) {
+                for (User u : userList) {
+                    User user = UserUtils.get(u.getId());
+                    UserUtils.pushIm(u.getId(),"申请人 "+user.getName() +",项目归档批次审批:"+projectFilingBatch.getFilingBatch() +" 强制撤销!");
+                }
+            }
+            if(processList!=null && processList.size()>0) {
+                for (int i = 0; i < processList.size(); i++) {
+                    WorkActivityProcess p = processList.get(i);
+                    if (StringUtils.isNotBlank(p.getIsApproval()) && "0".equals(p.getIsApproval())) {
+                        p.setIsApproval("-1");
+                        p.setDelFlag("1");
+                        workActivityProcessDao.updateDelFlagAndIsApproval(p);
+                    }
+                }
+                WorkActivityProcess pro = new WorkActivityProcess();
+                pro.setId("");
+                pro.setDelFlag("0");
+                pro.preInsert();
+                pro.setRemarks("[强制撤销]");
+                pro.setProcessKey(processList.get(0).getProcessKey());
+                pro.setIsApproval("1");
+                pro.setProcessInstanceId(processList.get(0).getProcessInstanceId());
+                pro.setCount(0);
+                workActivityProcessDao.insert(pro);
+
+                //结束该流程,设为"撤销"状态月
+                ProjectFilingBatch filingBatch = new ProjectFilingBatch();
+                filingBatch.setId(projectFilingBatch.getId());
+                filingBatch.setFilingStatus(ProjectStatusEnum.RECALL.getValue());
+                filingBatch.preUpdate();
+                dao.updateProcessIdAndStatus(filingBatch);
+                try {
+                    actTaskService.endProcessInstance(projectFilingBatch.getProcessinstanceId(), "项目归档批次-撤回");
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        super.delete(projectFilingBatch);
+        projectFilingbatchRelationDao.updateDelFlagByFilingBatch(projectFilingBatch.getId());
     }
 
     /**

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

@@ -547,7 +547,7 @@ public class ProjectFilingBatchController extends BaseController {
                     return "redirect:"+Global.getAdminPath()+"/projectFilingBatch/projectFilingBatchInfo/?repage";
                 }
 
-                String str = projectFilingBatchService.auditSave(projectFilingBatch,users,proInfos,flags);
+                String str = projectFilingBatchService.auditSave(projectFilingBatch,users,proId,proInfos,flags);
                 addMessage(redirectAttributes, str);
                 //新增项目树形信息
                 if (proInfos!=null) {

+ 5 - 5
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectSignatureOldMessageDisposeController.java

@@ -188,7 +188,7 @@ public class RuralProjectSignatureOldMessageDisposeController extends BaseContro
     public Map<String,Object> reportView(){
         Map<String,Object> map = new HashMap<>();
         final Calendar c = Calendar.getInstance();
-        Integer year = 2023;
+        Integer year = 2024;
         System.out.println(c.get(Calendar.DATE));
         System.out.println(c.getActualMaximum(Calendar.DATE));
         //if (c.get(Calendar.DATE) == c.getActualMaximum(Calendar.DATE)){
@@ -197,20 +197,20 @@ public class RuralProjectSignatureOldMessageDisposeController extends BaseContro
         //当月最后一天
         //projectRecordsService.getBatchArchiveNotify();
         logger.info("-----------公司级—月度报表(开始)------------------");
-        //statementCompanyComprehensiveService.disposeStatementCompany(year,2,month);
+        statementCompanyComprehensiveService.disposeStatementCompany(year,2,month);
         logger.info("------------公司级—月度报表(结束)------------------");
-        /*logger.info("-----------部门级—月度报表(开始)------------------");
+        logger.info("-----------部门级—月度报表(开始)------------------");
         //statementCompanyComprehensiveService.disposeStatementOffice(year,2,month);
         logger.info("------------部门级—月度报表(结束)------------------");
         logger.info("------------公司级—年度报表(月报中年度信息)(开始)------------------");
-        statementCompanyComprehensiveService.disposeStatementCompanyByYear(year,0,month);
+        //statementCompanyComprehensiveService.disposeStatementCompanyByYear(year,0,month);
         logger.info("------------公司级—年度报表(月报中年度信息)(结束)------------------");
         logger.info("-----------部门级—年度报表(月报中年度信息)(开始)------------------");
         //statementCompanyComprehensiveService.disposeStatementOfficeByYear(year,0,month);
         logger.info("------------部门级—年度报表(月报中年度信息)(结束)------------------");
         logger.info("-----------张静—月度报表(开始)------------------");
         // statementCompanyComprehensiveService.disposeReportDataStatementCompany(year,2,month);
-        logger.info("------------张静—月度报表(结束)------------------");*/
+        logger.info("------------张静—月度报表(结束)------------------");
 
         logger.info("-----------批量归档报表(开始)------------------");
         //statementCompanyComprehensiveService.disposeFilingStatementCompany(year,2,month);

+ 1 - 1
src/main/java/com/jeeplus/modules/sys/service/UserService.java

@@ -702,7 +702,7 @@ public class UserService extends BaseController {
 
                 // 将毫秒数转换为天数
                 long diffInDays = TimeUnit.DAYS.convert(diffInMillies, TimeUnit.MILLISECONDS);
-                if(diffInDays > 30){
+                if(diffInDays > 90){
                     user.setFirstFlag("1");
                     userDao.updatePasswordById(user);
                     // 清除用户缓存

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

@@ -861,7 +861,7 @@ public class UserController extends BaseController {
 
                 NewPassword psd = new NewPassword().newpassword(newPassword);
                 systemService.updatePasswordById(user.getId(), user.getLoginName(), newPassword);
-                model.addAttribute("message", "修改密码成功");
+                model.addAttribute("message", "修改密码成功,请重新登录");
             }else{
                 model.addAttribute("message", "修改密码失败,旧密码错误");
             }

+ 63 - 3
src/main/java/com/jeeplus/modules/workcalendar/service/WorkCalendarTaskService.java

@@ -171,18 +171,78 @@ public class WorkCalendarTaskService  {
             logger.info("-----------公司级—月度报表(开始)------------------");
             statementCompanyComprehensiveService.disposeStatementCompany(year,2,month);
             logger.info("------------公司级—月度报表(结束)------------------");
+
+        }
+
+    }
+
+    /**
+     * 月度报表
+     */
+    //每个月最后一天晚上23点推送
+    @Scheduled(cron= "0 10 23 28-31 * ?")
+    //@Scheduled(cron= "0 0/2 * * * ?")
+    @Transactional(readOnly = false)
+    public void getYearStatementCompanyComprehensiveOnMonth() {
+        final Calendar c = Calendar.getInstance();
+        Integer year = c.get(Calendar.YEAR);
+        System.out.println(c.get(Calendar.DATE));
+        System.out.println(c.getActualMaximum(Calendar.DATE));
+        if (c.get(Calendar.DATE) == c.getActualMaximum(Calendar.DATE)){
+
+            Integer month = c.get(Calendar.MONTH)+1; //第一个月从0开始,所以得到月份+1
+            //当月最后一天
             logger.info("------------公司级—年度报表(月报中年度信息)(开始)------------------");
             statementCompanyComprehensiveService.disposeStatementCompanyByYear(year,0,month);
             logger.info("------------公司级—年度报表(月报中年度信息)(结束)------------------");
+
+        }
+
+    }
+
+    /**
+     * 月度报表
+     */
+    //每个月最后一天晚上23点推送
+    @Scheduled(cron= "0 20 23 28-31 * ?")
+    //@Scheduled(cron= "0 0/2 * * * ?")
+    @Transactional(readOnly = false)
+    public void getOfficeStatementCompanyComprehensiveOnMonth() {
+        final Calendar c = Calendar.getInstance();
+        Integer year = c.get(Calendar.YEAR);
+        System.out.println(c.get(Calendar.DATE));
+        System.out.println(c.getActualMaximum(Calendar.DATE));
+        if (c.get(Calendar.DATE) == c.getActualMaximum(Calendar.DATE)){
+
+            Integer month = c.get(Calendar.MONTH)+1; //第一个月从0开始,所以得到月份+1
+            //当月最后一天
             logger.info("-----------部门级—月度报表(开始)------------------");
             statementCompanyComprehensiveService.disposeStatementOffice(year,2,month);
             logger.info("------------部门级—月度报表(结束)------------------");
+
+        }
+
+    }
+
+    /**
+     * 月度报表
+     */
+    //每个月最后一天晚上23点推送
+    @Scheduled(cron= "0 30 23 28-31 * ?")
+    //@Scheduled(cron= "0 0/2 * * * ?")
+    @Transactional(readOnly = false)
+    public void getOfficeYearStatementCompanyComprehensiveOnMonth() {
+        final Calendar c = Calendar.getInstance();
+        Integer year = c.get(Calendar.YEAR);
+        System.out.println(c.get(Calendar.DATE));
+        System.out.println(c.getActualMaximum(Calendar.DATE));
+        if (c.get(Calendar.DATE) == c.getActualMaximum(Calendar.DATE)){
+
+            Integer month = c.get(Calendar.MONTH)+1; //第一个月从0开始,所以得到月份+1
+            //当月最后一天
             logger.info("-----------部门级—年度报表(月报中年度信息)(开始)------------------");
             statementCompanyComprehensiveService.disposeStatementOfficeByYear(year,0,month);
             logger.info("------------部门级—年度报表(月报中年度信息)(结束)------------------");
-            /*logger.info("-----------张静—月度报表(开始)------------------");
-            statementCompanyComprehensiveService.disposeReportDataStatementCompany(year,2,month);
-            logger.info("------------张静—月度报表(结束)------------------");*/
             logger.info("-----------公司级—批量归档月度报表(开始)------------------");
             statementCompanyComprehensiveService.disposeFilingStatementCompany(year,2,month);
             logger.info("------------公司级—批量归档月度报表(结束)------------------");

+ 7 - 4
src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceAllService.java

@@ -33,6 +33,7 @@ import com.jeeplus.modules.workbidproject.entity.WorkBidProject;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
+import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
 import com.jeeplus.modules.workcontractinfo.service.WorkContractInfoService;
 import com.jeeplus.modules.workinvoice.dao.WorkInvoiceCloudDao;
 import com.jeeplus.modules.workinvoice.dao.WorkInvoiceDao;
@@ -165,8 +166,8 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
 						}
 					}
 				}else if(projectRelation.getIsProject()==2){
-					projectRelation.setProjectName("内容");
-					projectRelation.setWorkContractName(projectRelation.getDetails());
+					projectRelation.setProjectName(projectRelation.getDetails());
+					//projectRelation.setWorkContractName(projectRelation.getDetails());
 				}
 			}
 			//如果发票对账地区为空,则将第一个项目信息的所在地添加到对账地区
@@ -2314,6 +2315,8 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
 		}
 	}
 	public void queryDetails(WorkInvoice workInvoice) {
+		List<WorkInvoiceProjectRelation> projectRelation = getProjectRelation(workInvoice);
+		workInvoice.setWorkInvoiceProjectRelationList(projectRelation);
 		if(workInvoice==null)return;
 		WorkClientAttachment attchment = new WorkClientAttachment();
 		attchment.setAttachmentId(workInvoice.getId());
@@ -2343,7 +2346,7 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
 				if ( projectRelation.getIsProject() == 2) {
 					projectRelation.setProjectName(projectRelation.getDetails());
 					//判断是否选择合同,选择合同则将合同信息以及委托方查询并放入
-					/*if(StringUtils.isNotBlank(projectRelation.getContractId())){
+					if(StringUtils.isNotBlank(projectRelation.getContractId())){
 						WorkContractInfo workContractInfo = contractInfoService.get(projectRelation.getContractId());
 						projectRelation.setWorkContractName(workContractInfo.getName());
 						if(null != workContractInfo.getClient() && StringUtils.isNotBlank(workContractInfo.getClient().getName())){
@@ -2352,7 +2355,7 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
 					}else{
 						projectRelation.setWorkContractName("");
 						projectRelation.setClientName("");
-					}*/
+					}
 				}
 			}
 		}

+ 8 - 7
src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceService.java

@@ -39,6 +39,7 @@ import com.jeeplus.modules.workbidproject.entity.WorkBidProject;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
+import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
 import com.jeeplus.modules.workcontractinfo.service.WorkContractInfoService;
 import com.jeeplus.modules.workinvoice.dao.WorkInvoiceCloudDao;
 import com.jeeplus.modules.workinvoice.dao.WorkInvoiceDao;
@@ -176,8 +177,8 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 						}
 					}
 				}else if(projectRelation.getIsProject()==2){
-					projectRelation.setProjectName("内容");
-					projectRelation.setWorkContractName(projectRelation.getDetails());
+					projectRelation.setProjectName(projectRelation.getDetails());
+					//projectRelation.setWorkContractName(projectRelation.getDetails());
 				}
 			}
 			//如果发票对账地区为空,则将第一个项目信息的所在地添加到对账地区
@@ -228,7 +229,7 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 				if ( projectRelation.getIsProject() == 2) {
 					projectRelation.setProjectName(projectRelation.getDetails());
 					//判断是否选择合同,选择合同则将合同信息以及委托方查询并放入
-					/*if(StringUtils.isNotBlank(projectRelation.getContractId())){
+					if(StringUtils.isNotBlank(projectRelation.getContractId())){
 						WorkContractInfo workContractInfo = contractInfoService.get(projectRelation.getContractId());
 						projectRelation.setWorkContractName(workContractInfo.getName());
 						if(null != workContractInfo.getClient() && StringUtils.isNotBlank(workContractInfo.getClient().getName())){
@@ -237,7 +238,7 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 					}else{
 						projectRelation.setWorkContractName("");
 						projectRelation.setClientName("");
-					}*/
+					}
 				}
 			}
 		}
@@ -1008,7 +1009,7 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 		String str = "";
 		//所属部门
 
-		String userName = UserUtils.get(workInvoice.getCreateBy().getId()).getName();
+		//String userName = UserUtils.get(workInvoice.getCreateBy().getId()).getName();
 		//项目名称获取
 		List<String> projectNameList = getProjectNameList(workInvoice);
 		String projectNameStr = String.join(",", projectNameList);
@@ -3778,8 +3779,8 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 							}
 						}
 					}else if(projectRelation.getIsProject()==2){
-						projectRelation.setProjectName("内容");
-						projectRelation.setWorkContractName(projectRelation.getDetails());
+						projectRelation.setProjectName(projectRelation.getDetails());
+						//projectRelation.setWorkContractName(projectRelation.getDetails());
 					}
 				}
 				workInvoice.setWorkInvoiceProjectRelationList(projectRelationList);

+ 12 - 0
src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceAllController.java

@@ -410,6 +410,18 @@ public class WorkInvoiceAllController extends BaseController {
 			if(StringUtils.isNotBlank(bankName)){
 				workInvoice.setBank(bankName);
 			}
+			//判定 项目是否是非项目,如果是非项目 是否存在合同名称,如果没有关联合同,则合同名称处以-----进行展示
+			if(workInvoice.getWorkInvoiceProjectRelationList().size()>0){
+				List<WorkInvoiceProjectRelation> workInvoiceProjectRelationList = workInvoice.getWorkInvoiceProjectRelationList();
+				for (WorkInvoiceProjectRelation workInvoiceProjectRelation : workInvoiceProjectRelationList) {
+					if(2 == workInvoiceProjectRelation.getIsProject()){
+						//判定是否存在合同信息,若不存在,则合同名称展示------
+						if(StringUtils.isBlank(workInvoiceProjectRelation.getWorkContractName())){
+							workInvoiceProjectRelation.setWorkContractName("————————————");
+						}
+					}
+				}
+			}
 			view = "workInvoiceView";
 		}else if("3".equals(tabId)){
 			List<MainDictDetail> billingContentList = DictUtils.getMainDictList("billing_content");

+ 109 - 70
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java

@@ -175,6 +175,7 @@ import com.jeeplus.modules.workgoout.service.GoOutService;
 import com.jeeplus.modules.workincomingmessage.entity.WorkIncomingMessage;
 import com.jeeplus.modules.workincomingmessage.service.WorkIncomingMessageService;
 import com.jeeplus.modules.workinvoice.entity.WorkInvoice;
+import com.jeeplus.modules.workinvoice.entity.WorkInvoiceProjectRelation;
 import com.jeeplus.modules.workinvoice.service.WorkInvoiceService;
 import com.jeeplus.modules.workinvoicealter.entity.WorkInvoiceAlter;
 import com.jeeplus.modules.workinvoicealter.service.WorkInvoiceAlterService;
@@ -2387,77 +2388,8 @@ public class WorkProjectNotifyController extends BaseController {
 						return "modules/workinvoice/workInvoiceExamineModify";
 					}
 				} else if (workProjectNotify.getType().equals("213")) {    //非项目开票管理
-					WorkInvoice workInvoice = workInvoiceService.get(workProjectNotify.getNotifyId());
-					if (StringUtils.isNotBlank(workInvoice.getId())) {
-						workInvoiceService.queryDetails(workInvoice);
-					}
-					if (StringUtils.isNotBlank(workProjectNotify.getHome())) {
-						workInvoice.setHome(workProjectNotify.getHome());
-					} else {
-						workInvoice.setHome("home");
-					}
-
-					//查询关联红冲发票的开票号
-					if("1".equals(workInvoice.getRedInvoiceFlag()) && StringUtils.isNotBlank(workInvoice.getRedInvoiceRelevancyId())){
-						String invoiceNumberStr = workInvoiceService.getInvoiceNumberStr(workInvoice.getRedInvoiceRelevancyId());
-						workInvoice.setInvoiceNumberStr(invoiceNumberStr);
-					}
-
-					//获取发票开户银行信息
-					String bankName = workInvoiceService.getBankNameByNameOrId(workInvoice.getBank());
-					if (StringUtils.isNotBlank(bankName)) {
-						workInvoice.setBank(bankName);
-					}
-					workInvoice.setAct(getByAct(workInvoice.getProcessInstanceId()));
-					String taskDefKey = workInvoice.getAct().getTaskDefKey();
-					model.addAttribute("workInvoice", workInvoice);
-					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
 
-						List<MainDictDetail> billingContentList = DictUtils.getMainDictList("billing_content");
-						for (MainDictDetail dictDetail : billingContentList) {
-							if (workInvoice.getBillingContent().equals(dictDetail.getValue())) {
-								workInvoice.setBillingContent(dictDetail.getLabel());
-								break;
-							}
-						}
-						List<MainDictDetail> receiptTypeList = DictUtils.getMainDictList("receipt_type");
-						for (MainDictDetail dictDetail : receiptTypeList) {
-							if (workInvoice.getChargeType().equals(dictDetail.getValue())) {
-								workInvoice.setChargeType(dictDetail.getLabel());
-								break;
-							}
-						}
-						return "modules/workinvoice/workInvoiceView";
-					} else if (workProjectNotify.getRemarks().contains("待审批") && !"1".equals(workProjectNotify.getStatus())) {
-
-						List<MainDictDetail> billingContentList = DictUtils.getMainDictList("billing_content");
-						for (MainDictDetail dictDetail : billingContentList) {
-							if (workInvoice.getBillingContent().equals(dictDetail.getValue())) {
-								workInvoice.setBillingContent(dictDetail.getLabel());
-								break;
-							}
-						}
-						List<MainDictDetail> receiptTypeList = DictUtils.getMainDictList("receipt_type");
-						for (MainDictDetail dictDetail : receiptTypeList) {
-							if (workInvoice.getChargeType().equals(dictDetail.getValue())) {
-								workInvoice.setChargeType(dictDetail.getLabel());
-								break;
-							}
-						}
-						model.addAttribute("identification", "workinvoice");
-						model.addAttribute("identificationName", "发票审核意见");
-						if (StringUtils.isNotBlank(taskDefKey) && ("bmzr".equals(taskDefKey) ||
-								"scbzr".equals(taskDefKey)) || "zjl".equals(taskDefKey)) {
-							return "modules/workinvoice/workInvoiceNotProjectAudit";
-						} else if (StringUtils.isNotBlank(taskDefKey) && "fpgly".equals(taskDefKey)) {
-							workInvoice.setDrawerName(UserUtils.getUser().getName());
-							workInvoice.setInvoiceDate(new Date());
-							model.addAttribute("workInvoice", workInvoice);
-							return "modules/workinvoice/workInvoiceNotProjectAuditEnd";
-						}
-					} else if (workProjectNotify.getRemarks().contains("重新申请") && !"1".equals(workProjectNotify.getStatus())) {
-						return "modules/workinvoice/workInvoiceNotProjectModify";
-					}
+					return this.getNotProjectWorkInvoice(workProjectNotify, model);
 				} else if (workProjectNotify.getType().equals("214")) {    //分公司非项目开票管理
 					FilialeWorkInvoice workInvoice = filialeWorkInvoiceService.get(workProjectNotify.getNotifyId());
 					if (StringUtils.isNotBlank(workInvoice.getId())) {
@@ -10906,4 +10838,111 @@ public class WorkProjectNotifyController extends BaseController {
 		return "modules/workinvoice/workInvoiceView";
 	}
 
+	/**
+	 * 业务用章申请
+	 * @param workProjectNotify
+	 * @param model
+	 * @return
+	 */
+	private String getNotProjectWorkInvoice(WorkProjectNotify workProjectNotify,Model model) {
+		WorkInvoice workInvoice = workInvoiceService.get(workProjectNotify.getNotifyId());
+		if (StringUtils.isNotBlank(workInvoice.getId())) {
+			workInvoiceService.queryDetails(workInvoice);
+		}
+		if (StringUtils.isNotBlank(workProjectNotify.getHome())) {
+			workInvoice.setHome(workProjectNotify.getHome());
+		} else {
+			workInvoice.setHome("home");
+		}
+
+		//查询关联红冲发票的开票号
+		if("1".equals(workInvoice.getRedInvoiceFlag()) && StringUtils.isNotBlank(workInvoice.getRedInvoiceRelevancyId())){
+			String invoiceNumberStr = workInvoiceService.getInvoiceNumberStr(workInvoice.getRedInvoiceRelevancyId());
+			workInvoice.setInvoiceNumberStr(invoiceNumberStr);
+		}
+
+		//获取发票开户银行信息
+		/*String bankName = workInvoiceService.getBankNameByNameOrId(workInvoice.getBank());
+		if (StringUtils.isNotBlank(bankName)) {
+			workInvoice.setBank(bankName);
+		}*/
+		workInvoice.setAct(getByAct(workInvoice.getProcessInstanceId()));
+		String taskDefKey = workInvoice.getAct().getTaskDefKey();
+		model.addAttribute("workInvoice", workInvoice);
+		if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
+
+			List<MainDictDetail> billingContentList = DictUtils.getMainDictList("billing_content");
+			for (MainDictDetail dictDetail : billingContentList) {
+				if (workInvoice.getBillingContent().equals(dictDetail.getValue())) {
+					workInvoice.setBillingContent(dictDetail.getLabel());
+					break;
+				}
+			}
+			List<MainDictDetail> receiptTypeList = DictUtils.getMainDictList("receipt_type");
+			for (MainDictDetail dictDetail : receiptTypeList) {
+				if (workInvoice.getChargeType().equals(dictDetail.getValue())) {
+					workInvoice.setChargeType(dictDetail.getLabel());
+					break;
+				}
+			}
+
+			//判定 项目是否是非项目,如果是非项目 是否存在合同名称,如果没有关联合同,则合同名称处以-----进行展示
+			if(workInvoice.getWorkInvoiceProjectRelationList().size()>0){
+				List<WorkInvoiceProjectRelation> workInvoiceProjectRelationList = workInvoice.getWorkInvoiceProjectRelationList();
+				for (WorkInvoiceProjectRelation workInvoiceProjectRelation : workInvoiceProjectRelationList) {
+					if(2 == workInvoiceProjectRelation.getIsProject()){
+						//判定是否存在合同信息,若不存在,则合同名称展示------
+						if(StringUtils.isBlank(workInvoiceProjectRelation.getWorkContractName())){
+							workInvoiceProjectRelation.setWorkContractName("————————————");
+						}
+					}
+				}
+			}
+			return "modules/workinvoice/workInvoiceView";
+		} else if (workProjectNotify.getRemarks().contains("待审批") && !"1".equals(workProjectNotify.getStatus())) {
+
+			List<MainDictDetail> billingContentList = DictUtils.getMainDictList("billing_content");
+			for (MainDictDetail dictDetail : billingContentList) {
+				if (workInvoice.getBillingContent().equals(dictDetail.getValue())) {
+					workInvoice.setBillingContent(dictDetail.getLabel());
+					break;
+				}
+			}
+			List<MainDictDetail> receiptTypeList = DictUtils.getMainDictList("receipt_type");
+			for (MainDictDetail dictDetail : receiptTypeList) {
+				if (workInvoice.getChargeType().equals(dictDetail.getValue())) {
+					workInvoice.setChargeType(dictDetail.getLabel());
+					break;
+				}
+			}
+
+			//判定 项目是否是非项目,如果是非项目 是否存在合同名称,如果没有关联合同,则合同名称处以-----进行展示
+			if(workInvoice.getWorkInvoiceProjectRelationList().size()>0){
+				List<WorkInvoiceProjectRelation> workInvoiceProjectRelationList = workInvoice.getWorkInvoiceProjectRelationList();
+				for (WorkInvoiceProjectRelation workInvoiceProjectRelation : workInvoiceProjectRelationList) {
+					if(2 == workInvoiceProjectRelation.getIsProject()){
+						//判定是否存在合同信息,若不存在,则合同名称展示------
+						if(StringUtils.isBlank(workInvoiceProjectRelation.getWorkContractName())){
+							workInvoiceProjectRelation.setWorkContractName("————————————");
+						}
+					}
+				}
+			}
+			model.addAttribute("identification", "workinvoice");
+			model.addAttribute("identificationName", "发票审核意见");
+			if (StringUtils.isNotBlank(taskDefKey) && ("bmzr".equals(taskDefKey) ||
+					"scbzr".equals(taskDefKey)) || "zjl".equals(taskDefKey)) {
+				return "modules/workinvoice/workInvoiceNotProjectAudit";
+			} else if (StringUtils.isNotBlank(taskDefKey) && "fpgly".equals(taskDefKey)) {
+				workInvoice.setDrawerName(UserUtils.getUser().getName());
+				workInvoice.setInvoiceDate(new Date());
+				model.addAttribute("workInvoice", workInvoice);
+				return "modules/workinvoice/workInvoiceNotProjectAuditEnd";
+			}
+		} else if (workProjectNotify.getRemarks().contains("重新申请") && !"1".equals(workProjectNotify.getStatus())) {
+			return "modules/workinvoice/workInvoiceNotProjectModify";
+		}
+		return "modules/workinvoice/workInvoiceView";
+	}
+
 }

+ 3 - 0
src/main/resources/mappings/modules/projectGuidang/ProjectFilingbatchRelationDao.xml

@@ -24,6 +24,9 @@
 	<delete id="deleteByprojectId">
 		DELETE FROM project_flingbatch_relation WHERE filing_batch=#{filingBatch} and project_id=#{projectId}
 	</delete>
+	<delete id="deleteByFilingBatchId">
+		DELETE FROM project_flingbatch_relation WHERE filing_batch=#{filingBatchId}
+	</delete>
 	<update id="update">
 		update project_flingbatch_relation
 		<set>

+ 1 - 1
src/main/resources/mappings/modules/statement/StatementCompanyComprehensiveDao.xml

@@ -910,7 +910,7 @@
 	<select id="getUserByOfficeId" resultType="com.jeeplus.modules.sys.entity.User">
 		select su.id,su.name,su.company_id as "company.id",su.office_id as "office.id" from sys_user su
 		<where>
-			su.del_flag = 0 and su.office_id = #{officeId}
+			su.del_flag = 0 and su.office_id = #{officeId} and su.login_flag = 1
 		</where>
 	</select>
 

+ 8 - 8
src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchApply.jsp

@@ -168,16 +168,16 @@
 							}
 							if(flag) {
 								$("#projectList").append("<tr class='rowSize' onclick='listTr(this)'>" +
-										"<td ><input type=\"hidden\" name=\"proId\" id='" + tid + "' value=" + obj.id + "><input type=\"hidden\" name=\"projectid\" value=" + obj.id + "/><span class='default_open ' style=\"padding-right: 15px; \"></span>" + obj.projectId + "</td>" +
-										"<td >" + obj.projectName + "</td>" +
-										"<td >" + obj.projectReportNumber + "</td>" +
+										"<td><span class='default_open ' style=\"padding-right: 15px; \"></span><input type=\"hidden\" name=\"proId\" id='" + tid + "' value=" + obj.id + "><input type=\"hidden\" name=\"projectid\" value=" + obj.id + ">" + obj.projectId + "</td>" +
+										"<td>" + obj.projectName + "</td>" +
+										"<td>" + obj.projectReportNumber + "</td>" +
 										"<td class=\"text-center op-td\" >" +
 										"<span class=\"op-btn op-btn-add\" onclick=\"addRowInfoForm("+tid+","+id+")\" title=\"添加\"><i class=\"fa fa-plus\"></i>&nbsp;添加</span>" +
-										"<span class=\"op-btn op-btn-delete\" onclick=\"delListRow(this," + id + ")\" title=\"删除\"><i class=\"glyphicon glyphicon-remove\"></i>&nbsp;删除</span>" +
+										"<span class=\"op-btn op-btn-delete\" onclick=\"delListRow(this," + id + ",'" + obj.projectReportNumber + "')\" title=\"删除\"><i class=\"glyphicon glyphicon-remove\"></i>&nbsp;删除</span>" +
 										"</td>" +
 										"</tr>")
 								$("#projectList").append("<tr class='"+obj.id+"' style='display: none;'> <td colspan='4' style='padding: 0px;'>" +
-										"<table style=\"width: 100%;padding: 0px;margin: 0px;\" class=\"table table-bordered table-condensed can-edit\">" +
+										"<table style=\"width: 100%;padding: 0px;margin: 0px;\" class=\"table table-bordered table-condensed details\">" +
 										"<tbody id='" + id + "'>" +
 										"<input type='text' id='" + id + "_len' style='display: none;' name='flags' />"+
 										"</tbody>" +
@@ -199,17 +199,17 @@
 										$(iid).parent().parent().parent().show();
 										$.each(result.data,function(index,value){
 											$(iid).append(
-													"<tr class='listInfo'>"+
+													"<tr class='listInfo' style='position: relative'>"+
 													// "<td class=\"hide\">"+
 													// "<input type='file' multiple='multiple' style='display: none;' onChange='if(this.value)insertAccording(this.value,"+obj.id+",this);'/>"+
 													// "<input type='hidden' style='display: none;' id='attId' value='"+value.id+"'/>"+
 													// "<input type='hidden' style='display: none;' id='fileUrl' value='"+value.url+"'/>"+
 													// "</td>"+
 													"<td style=\"text-align: center;position: relative;\" width=\"20%\">" +
-													"<input name='proInfoType' style='text-align: center' readonly='true' class=\"form-control\" value='"+value.proInfoType+"'/></td>"+
+													"<input name='proInfoType' onChange='upwType(this)' style='text-align: center' readonly='true' class=\"form-control required\" value='"+value.proInfoType+"'/></td>"+
 													"<td style=\"text-align: center\" width=\"20%\"><input  readonly='true' name='proInfoName' style='text-align: center' class=\"form-control\" value='"+value.proInfoName+"'/></td>"+
 													"<td style=\"text-align: center\" width=\"20%\"></td>"+
-													"<td width=\"20%\" style='padding-top : 8px;'>" +
+													"<td width=\"20%\">" +
 													"<span href=javascript:void(0); onclick=\"addRowInfoForm("+tid+","+id+")\"   class=\"op-btn op-btn-edit\" title=\"上传附件\"><i class=\"glyphicon glyphicon-edit\"></i>&nbsp;编辑</span>" +
 													"<span class=\"op-btn op-btn-delete\" onclick=\"delListInfoRow(this)\" title=\"删除\"><i class=\"glyphicon glyphicon-remove\"></i>&nbsp;删除</span>" +
 													"<input type='text' class='" + id + "_json' style='display: none;' name='proInfos' />"+

+ 1 - 1
src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchAudit.jsp

@@ -307,7 +307,7 @@
 			</div>--%>
 
 			<div class="form-group layui-row">
-				<div class="form-group-label"><h2>项目基础信息</h2></div>
+				<div class="form-group-label"><h2>项目基础信息<span style="color: red">  (注:点击确认即采用下表中的同意驳回处理结果,点击驳回全部即将该流程进行驳回处理)</span></h2></div>
 					<table id="contentTable" class="table table-bordered table-condensed can-edit tree_table">
 						<thead>
 						<tr>

+ 1 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectRecordsAdminModify.jsp

@@ -822,7 +822,7 @@
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>项目所在地:</label>
                     <div class="layui-input-block  with-icon">
-                        <sys:treeselectProject id="area" name="area.id" value="${projectRecords.area.id}" labelName="area.name" labelValue="${projectRecords.area.name}"
+                        <sys:treeselectProjectArea id="area" name="area.id" value="${projectRecords.area.id}" labelName="area.name" labelValue="${projectRecords.area.name}"
                                                cssStyle="background-color:#fff" title="区域" url="/sys/area/treeData" cssClass="form-control layui-input required" allowClear="true" notAllowSelectParent="true"/>
                         <span id="areaShow" style="color: red"><c:if test="${projectRecords.area.id!=null}">${projectRecords.province}-${projectRecords.city}-${projectRecords.county}</c:if></span>
 

+ 58 - 1
src/main/webapp/webpage/modules/sys/sysHome.jsp

@@ -186,6 +186,60 @@
             });
 
         }
+
+        function openFilingBatchDialogre(title,url,width,height,target){
+            if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+                width='auto';
+                height='auto';
+            }else{//如果是PC端,根据用户设置的width和height显示。
+
+            }
+            top.layer.open({
+                type: 2,
+                area: [width, height],
+                title: title,
+                skin:"three-btns",
+                maxmin: true, //开启最大化最小化按钮
+                content: url ,
+                btn: ['确认','驳回全部','关闭'],
+                btn1: function(index, layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(1) ){
+                        top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                },
+                btn2:function(index,layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(2) ){
+                        top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                    return false;
+                },
+                btn3: function(index){
+                }
+            });
+
+        }
         function openDialogres(title,url,width,height,target) {
             parent.index = "";
             if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
@@ -1070,7 +1124,10 @@
         <c:when test="${workProjectNotify.type == 84 }">
         xml = "<a  href=\"javascript:void(0)\" onclick=\"openDialogreAttendance('${fns:getDictLabel(workProjectNotify.type, 'project_notify_type', '')}待审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=${workProjectNotify.id}','95%','95%')\">";
         </c:when>
-        <c:when test="${workProjectNotify.remarks eq '待审批' && workProjectNotify.status != 1 }">
+        <c:when test="${workProjectNotify.remarks eq '待审批' && workProjectNotify.status != 1 && workProjectNotify.type == 100 }">
+        xml = "<a  href=\"javascript:void(0)\" onclick=\"openFilingBatchDialogre('${fns:getDictLabel(workProjectNotify.type, 'project_notify_type', '')}待审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=${workProjectNotify.id}','95%','95%')\">";
+        </c:when>
+        <c:when test="${workProjectNotify.remarks eq '待审批' && workProjectNotify.status != 1 && workProjectNotify.type != 100 }">
         xml = "<a  href=\"javascript:void(0)\" onclick=\"openDialogre('${fns:getDictLabel(workProjectNotify.type, 'project_notify_type', '')}待审批', '${ctx}/workprojectnotify/workProjectNotify/form?id=${workProjectNotify.id}','95%','95%')\">";
         </c:when>
 

+ 2 - 2
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllTwoForm.jsp

@@ -476,7 +476,7 @@
 				}
 			}
 			layui.form.render("select");
-			form.render();
+			layui.form.render();
 		}
 		function setDp(obj){
 			$.ajax({
@@ -1184,7 +1184,7 @@
 				</div>
 				<div class="layui-item layui-col-sm6">
 					<label class="layui-form-label"><span class="require-item invoicetype">*</span>开户银行:</label>
-					<div class="layui-input-block">
+					<div class="layui-input-block readOnlyFFF">
 						<select id="bank" name="bank" value="${workInvoice.bank}" lay-filter="bankFilter"></select>
 						<span id="bankRemarks" class="spanzj" style="color:red;"></span>
 						<%--<form:input id ="bank"  path="bank" htmlEscape="false" placeholder="请输入开户银行"  class="form-control layui-input"/>--%>

+ 1 - 1
src/main/webapp/webpage/modules/workinvoice/workInvoiceExamineModify.jsp

@@ -1015,7 +1015,7 @@
 				</div>
 				<div class="layui-item layui-col-sm6 count1">
 					<label class="layui-form-label"><span class="require-item invoicetype">*</span>开户银行:</label>
-					<div class="layui-input-block">
+					<div class="layui-input-block readOnlyFFF">
 						<select id="bank" name="bank" value="${workInvoice.bank}" lay-filter="bankFilter"></select>
 						<span id="bankRemarks" class="spanzj" style="color:red;"></span>
 							<%--<form:input id ="bank"  path="bank" htmlEscape="false" placeholder="请输入开户银行"  class="form-control layui-input"/>--%>

+ 7 - 1
src/main/webapp/webpage/modules/workinvoice/workInvoiceNotProjectAudit.jsp

@@ -35,6 +35,12 @@
 		}
 		$(document).ready(function() {
 
+			const input = document.getElementById('workContractInput');
+			if (input.value !== '————————————') {
+				input.style.color = '';
+				input.style.textAlign = '';
+			}
+
 			//初始化截图功能子页面。
 			$('#orgContent').attr("src","${ctx}/workinvoice/workInvoice/workInvoiceImageEdit");
 
@@ -511,7 +517,7 @@
 									<input type="text" value="${list.projectName}" readonly="readonly"  class="form-control"/>
 								</td>
 								<td>
-									<input type="text" value="${list.workContractName}" readonly="readonly"  class="form-control"/>
+									<input type="text" id="workContractInput"  style="color: #9e9e9e;text-align: center;" value="${list.workContractName}" readonly="readonly"  class="form-control"/>
 								</td>
 								<td style="text-align:center;">
 									<input type="text" value="${list.projectNum}" readonly="readonly"  class="form-control"/>

+ 7 - 1
src/main/webapp/webpage/modules/workinvoice/workInvoiceNotProjectAuditEnd.jsp

@@ -72,6 +72,12 @@
 		  return false;
 		}
 		$(document).ready(function() {
+
+			const input = document.getElementById('workContractInput');
+			if (input.value !== '————————————') {
+				input.style.color = '';
+				input.style.textAlign = '';
+			}
 			//初始化截图功能子页面。
 			$('#orgContent').attr("src","${ctx}/workinvoice/workInvoice/workInvoiceImageEdit");
 
@@ -555,7 +561,7 @@
 									<input type="text" value="${list.projectName}" readonly="readonly"  class="form-control"/>
 								</td>
 								<td>
-									<input type="text" value="${list.workContractName}" readonly="readonly"  class="form-control"/>
+									<input type="text" id="workContractInput"  style="color: #9e9e9e;text-align: center;" value="${list.workContractName}" readonly="readonly"  class="form-control"/>
 								</td>
 								<td style="text-align:center;">
 									<input type="text" value="${list.projectNum}" readonly="readonly"  class="form-control"/>

+ 2 - 2
src/main/webapp/webpage/modules/workinvoice/workInvoiceNotProjectModify.jsp

@@ -419,7 +419,7 @@
 				}
 			}
 			layui.form.render("select");
-			form.render();
+			layui.form.render();
 		}
         function setDp(obj){
             $.ajax({
@@ -1136,7 +1136,7 @@
 				</div>
 				<div class="layui-item layui-col-sm6 count1">
 					<label class="layui-form-label"><span class="require-item invoicetype">*</span>开户银行:</label>
-					<div class="layui-input-block">
+					<div class="layui-input-block readOnlyFFF">
 						<select id="bank" name="bank" value="${workInvoice.bank}" lay-filter="bankFilter"></select>
 						<span id="bankRemarks" class="spanzj" style="color:red;"></span>
 							<%--<form:input id ="bank"  path="bank" htmlEscape="false" placeholder="请输入开户银行"  class="form-control layui-input"/>--%>

+ 2 - 2
src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoForm.jsp

@@ -514,7 +514,7 @@
 				}
 			}
 			layui.form.render("select");
-			form.render();
+			layui.form.render();
 		}
         function setDp(obj){
             $.ajax({
@@ -1270,7 +1270,7 @@
 				</div>
 				<div class="layui-item layui-col-sm6">
 					<label class="layui-form-label"><span class="require-item invoicetype">*</span>开户银行:</label>
-					<div class="layui-input-block">
+					<div class="layui-input-block readOnlyFFF">
 						<select id="bank" name="bank" value="${workInvoice.bank}" lay-filter="bankFilter"></select>
 						<%--<form:input id ="bank"  path="bank" htmlEscape="false" placeholder="请输入开户银行"  class="form-control layui-input"/>--%>
 						<span id="bankRemarks" class="spanzj" style="color:red;"></span>

+ 1 - 1
src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoModify.jsp

@@ -1081,7 +1081,7 @@
 				</div>
 				<div class="layui-item layui-col-sm6 count1">
 					<label class="layui-form-label"><span class="require-item invoicetype">*</span>开户银行:</label>
-					<div class="layui-input-block">
+					<div class="layui-input-block readOnlyFFF">
 						<select id="bank" name="bank" value="${workInvoice.bank}" lay-filter="bankFilter"></select>
 						<span id="bankRemarks" class="spanzj" style="color:red;"></span>
 						<%--<form:input id ="bank"  path="bank" htmlEscape="false" placeholder="请输入开户银行"  class="form-control layui-input"/>--%>

+ 7 - 1
src/main/webapp/webpage/modules/workinvoice/workInvoiceView.jsp

@@ -24,6 +24,12 @@
 		}
 		$(document).ready(function() {
 
+			const input = document.getElementById('workContractInput');
+			if (input.value !== '————————————') {
+				input.style.color = '';
+				input.style.textAlign = '';
+			}
+
 			layui.use('form', function () {
 				var form = layui.form;
 				form.render();
@@ -100,7 +106,7 @@
 									<input type="text" value="${list.projectName}" readonly="readonly"  class="form-control"/>
 								</td>
 								<td>
-									<input type="text" value="${list.workContractName}" readonly="readonly"  class="form-control"/>
+									<input type="text" id="workContractInput"  style="color: #9e9e9e;text-align: center;" value="${list.workContractName}" readonly="readonly"  class="form-control"/>
 								</td>
 								<td style="text-align:center;">
 									<input type="text" value="${list.projectNum}" readonly="readonly"  class="form-control"/>

+ 62 - 3
src/main/webapp/webpage/modules/workprojectnotify/workProjectNotifyList.jsp

@@ -93,6 +93,59 @@
             });
 
         }
+        function openFilingBatchDialogre(title,url,width,height,target){
+            if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+                width='auto';
+                height='auto';
+            }else{//如果是PC端,根据用户设置的width和height显示。
+
+            }
+            top.layer.open({
+                type: 2,
+                area: [width, height],
+                title: title,
+				skin:"three-btns",
+                maxmin: true, //开启最大化最小化按钮
+                content: url ,
+                btn: ['确认','驳回全部','关闭'],
+                btn1: function(index, layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(1) ){
+                        top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                },
+                btn2:function(index,layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(2) ){
+                        top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                    return false;
+                },
+                btn3: function(index){
+            }
+            });
+
+        }
         function openDialogreExample(title,url,width,height,target){
             if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
                 width='auto';
@@ -1123,9 +1176,15 @@
 									"<span title=\""+ d.title +"\">"+"【通过】"+  d.title +"</span>" +
 									"</a>";
 						}else {
-							return "<a class=\"attention-info\"  href=\"javascript:void(0)\" onclick=\"openDialogre('"+ d.type1 +"待审批', '${ctx}/workprojectnotify/workProjectNotify/form?id="+d.id+"&home=notifyList','95%','95%')\">" +
-									"<span title=\""+ d.title +"\">"+ d.title +"</span>" +
-									"</a>";
+							if (d.type === "100"){
+								return "<a class=\"attention-info\"  href=\"javascript:void(0)\" onclick=\"openFilingBatchDialogre('"+ d.type1 +"待审批', '${ctx}/workprojectnotify/workProjectNotify/form?id="+d.id+"&home=notifyList','95%','95%')\">" +
+										"<span title=\""+ d.title +"\">"+ d.title +"</span>" +
+										"</a>";
+							}else{
+								return "<a class=\"attention-info\"  href=\"javascript:void(0)\" onclick=\"openDialogre('"+ d.type1 +"待审批', '${ctx}/workprojectnotify/workProjectNotify/form?id="+d.id+"&home=notifyList','95%','95%')\">" +
+										"<span title=\""+ d.title +"\">"+ d.title +"</span>" +
+										"</a>";
+							}
 						}
 
                     }