蔡德晨 5 rokov pred
rodič
commit
7ff6c889d9
57 zmenil súbory, kde vykonal 5106 pridanie a 96 odobranie
  1. 25 0
      src/main/java/com/jeeplus/common/utils/FreemarkerUtil.java
  2. 64 0
      src/main/java/com/jeeplus/common/utils/ImageUtil.java
  3. 46 0
      src/main/java/com/jeeplus/common/utils/ResponseUtil.java
  4. 2 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/dao/ProjectReportDataDao.java
  5. 10 1
      src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectReportDataService.java
  6. 7 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectcontentinfoService.java
  7. 1 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectcontentinfoController.java
  8. 10 0
      src/main/java/com/jeeplus/modules/projectrecord/entity/ProjectRecords.java
  9. 3 1
      src/main/java/com/jeeplus/modules/projectrecord/service/ProjectRecordsService.java
  10. 17 0
      src/main/java/com/jeeplus/modules/projectreportnum/dao/ProjectReportNumDao.java
  11. 44 0
      src/main/java/com/jeeplus/modules/projectreportnum/entity/ReportNum.java
  12. 84 0
      src/main/java/com/jeeplus/modules/projectreportnum/service/ProjectReportNumService.java
  13. 82 0
      src/main/java/com/jeeplus/modules/projectreportnum/web/ProjectReportFindController.java
  14. 188 0
      src/main/java/com/jeeplus/modules/projectreportnum/web/ProjectReportNumController.java
  15. 1 3
      src/main/java/com/jeeplus/modules/test/web/validation/TestValidationController.java
  16. 10 1
      src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceService.java
  17. 13 11
      src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceController.java
  18. 3 0
      src/main/java/com/jeeplus/modules/workinvoicealter/service/WorkInvoiceAlterService.java
  19. 8 1
      src/main/java/com/jeeplus/modules/workinvoicereturn/service/WorkInvoiceReturnService.java
  20. 6 6
      src/main/java/com/jeeplus/modules/workinvoicereturn/web/WorkInvoiceReturnController.java
  21. 3 0
      src/main/java/com/jeeplus/modules/workinvoicereturnalter/service/WorkInvoiceReturnAlterService.java
  22. 19 0
      src/main/java/com/jeeplus/modules/workreceiptsregister/entity/WorkReceiptsRegister.java
  23. 15 4
      src/main/java/com/jeeplus/modules/workreceiptsregister/service/WorkReceiptsRegisterService.java
  24. 9 0
      src/main/java/com/jeeplus/modules/workreimbursement/entity/WorkReimbursement.java
  25. 15 2
      src/main/java/com/jeeplus/modules/workreimbursement/service/WorkReimbursementService.java
  26. 6 6
      src/main/java/com/jeeplus/modules/workreimbursement/web/WorkReimbursementController.java
  27. 2 0
      src/main/java/com/jeeplus/modules/workstaff/dao/WorkStaffBasicInfoDao.java
  28. 18 0
      src/main/java/com/jeeplus/modules/workstaff/service/WorkStaffBasicInfoService.java
  29. 23 0
      src/main/java/com/jeeplus/modules/workstaff/web/WorkStaffBasicInfoController.java
  30. 2457 0
      src/main/resources/freemarker/current.ftl
  31. 8 0
      src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataDao.xml
  32. 100 0
      src/main/resources/mappings/modules/projectreportnum/ProjectReportNumDao.xml
  33. 4 4
      src/main/resources/mappings/modules/workinvoicedetail/WorkInvoiceDetailDao.xml
  34. 12 4
      src/main/resources/mappings/modules/workreceiptsregister/WorkReceiptsRegisterDao.xml
  35. 8 4
      src/main/resources/mappings/modules/workreimbursement/WorkReimbursementDao.xml
  36. 57 0
      src/main/resources/mappings/modules/workstaff/WorkStaffBasicInfoDao.xml
  37. 1 0
      src/main/resources/spring-context-shiro.xml
  38. BIN
      src/main/webapp/static/common/img/xg_logo.png
  39. 17 1
      src/main/webapp/webpage/modules/projectcontentinfo/projectcontentinfoForm.jsp
  40. 27 4
      src/main/webapp/webpage/modules/projectcontentinfo/reportForm.jsp
  41. 16 1
      src/main/webapp/webpage/modules/projectcontentinfo/reportList.jsp
  42. 2 0
      src/main/webapp/webpage/modules/projectcontentinfo/reportView.jsp
  43. 124 0
      src/main/webapp/webpage/modules/projectreportnum/projectReportNumList.jsp
  44. 127 0
      src/main/webapp/webpage/modules/projectreportnum/projectReportNumSel.jsp
  45. 137 0
      src/main/webapp/webpage/modules/projectreportnum/reportAuditProject.jsp
  46. 6 6
      src/main/webapp/webpage/modules/workinvoice/workInvoiceAudit.jsp
  47. 6 6
      src/main/webapp/webpage/modules/workinvoice/workInvoiceAuditEnd.jsp
  48. 7 7
      src/main/webapp/webpage/modules/workinvoice/workInvoiceForm.jsp
  49. 7 7
      src/main/webapp/webpage/modules/workinvoice/workInvoiceModify.jsp
  50. 6 6
      src/main/webapp/webpage/modules/workinvoice/workInvoiceView.jsp
  51. 56 0
      src/main/webapp/webpage/modules/workreceiptsregister/workReceiptsDetailView.jsp
  52. 88 0
      src/main/webapp/webpage/modules/workreceiptsregister/workReceiptsRegisterForm.jsp
  53. 11 10
      src/main/webapp/webpage/modules/workreceiptsregister/workReceiptsRegisterList.jsp
  54. 9 0
      src/main/webapp/webpage/modules/workreimbursement/workReimbursementFormAdd.jsp
  55. 6 0
      src/main/webapp/webpage/modules/workreimbursement/workReimbursementFormDetail.jsp
  56. 270 0
      src/main/webapp/webpage/modules/workstaff/workAddressBookList.jsp
  57. 803 0
      src/main/webapp/webpage/modules/workstaff/workAddressBookView.jsp

+ 25 - 0
src/main/java/com/jeeplus/common/utils/FreemarkerUtil.java

@@ -0,0 +1,25 @@
+package com.jeeplus.common.utils;
+
+import freemarker.template.Template;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.util.Map;
+
+public class FreemarkerUtil {
+    public static void generateFile(Map<?, ?> dataMap, Template template, File file){
+
+        Template t = template;
+        try {
+            // 这个地方不能使用FileWriter因为需要指定编码类型否则生成的Word文档会因为有无法识别的编码而无法打开
+            Writer w = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
+            t.process(dataMap, w);
+            w.close();
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            throw new RuntimeException(ex);
+        }
+    }
+}

+ 64 - 0
src/main/java/com/jeeplus/common/utils/ImageUtil.java

@@ -0,0 +1,64 @@
+package com.jeeplus.common.utils;
+
+import sun.misc.BASE64Encoder;
+
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+public class ImageUtil {
+    /**
+     * 将路径参数的文件转为Base64字符串
+     * @return
+     */
+    public static String getImageStr(String path){
+        // 1、校验是否为空
+        if (path == null || path.trim().length() <= 0) {
+            return "";
+        }
+
+        // 2、校验文件是否为目录或者是否存在
+        File picFile = new File(path);
+        if (picFile.isDirectory() || (!picFile.exists()))
+            return "";
+
+        // 3、校验是否为图片
+        try {
+            BufferedImage image = ImageIO.read(picFile);
+            if (image == null) {
+                return "";
+            }
+        } catch (IOException ex) {
+            ex.printStackTrace();
+            return "";
+        }
+
+        // 4、转换成base64编码
+        String imageStr = "   ";
+        InputStream in = null;
+        try {
+            byte[] data = null;
+            in = new FileInputStream(path);
+            data = new byte[in.available()];
+            in.read(data);
+            BASE64Encoder encoder = new BASE64Encoder();
+            imageStr = encoder.encode(data);
+        } catch (Exception e) {
+            imageStr = "";
+            e.printStackTrace();
+        }finally {
+            if (in != null) {
+                try {
+                    in.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+
+        return imageStr;
+    }
+}

+ 46 - 0
src/main/java/com/jeeplus/common/utils/ResponseUtil.java

@@ -0,0 +1,46 @@
+package com.jeeplus.common.utils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URLEncoder;
+
+public class ResponseUtil {
+    private static Logger logger = LoggerFactory.getLogger(ResponseUtil.class);
+
+    public static void docResponse(String fileName, File file, HttpServletResponse response) {
+        ServletOutputStream out = null;
+        FileInputStream fin = null;
+        try {
+            fin = new FileInputStream(file);
+            response.setCharacterEncoding("utf-8");
+            response.setContentType("application/octet-stream; charset=UTF-8");
+            // 设置浏览器以下载的方式处理该文件名
+            response.setHeader("Content-Disposition", "attachment;filename="
+                    .concat(String.valueOf(URLEncoder.encode(fileName, "UTF-8"))));
+            out = response.getOutputStream();
+            byte[] buffer = new byte[1024];  // 缓冲区
+            int bytesToRead = -1;
+            // 通过循环将读入的Word文件的内容输出到浏览器中
+            while ((bytesToRead = fin.read(buffer)) != -1) {
+                out.write(buffer, 0, bytesToRead);
+            }
+        } catch (Exception e) {
+            logger.error("导出模板文件发生错误!",e);
+        } finally {
+            try {
+                out.flush();
+                if (fin != null) fin.close();
+                if (out != null) out.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+
+        }
+    }
+}

+ 2 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/dao/ProjectReportDataDao.java

@@ -69,4 +69,6 @@ public interface ProjectReportDataDao extends CrudDao<ProjectReportData> {
     int updateUpId(@Param("id")String id,@Param("upId")String upId);
 
     List<ProjectReportData> findByProjectId(String projectId);
+
+    ProjectReportData findByNum(String number);
 }

+ 10 - 1
src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectReportDataService.java

@@ -23,6 +23,8 @@ import com.jeeplus.modules.projectcontentinfo.dao.ProjectBasedDataDao;
 import com.jeeplus.modules.projectcontentinfo.dao.ProjectContentDataDao;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
+import com.jeeplus.modules.projectreportnum.entity.ReportNum;
+import com.jeeplus.modules.projectreportnum.service.ProjectReportNumService;
 import com.jeeplus.modules.serialnum.service.SerialNumTplService;
 import com.jeeplus.modules.sys.dao.WorkattachmentDao;
 import com.jeeplus.modules.sys.entity.Office;
@@ -102,6 +104,8 @@ public class ProjectReportDataService extends CrudService<ProjectReportDataDao,
 	private WorkReviewAuditDao workReviewAuditDao;
 	@Autowired
 	private SerialNumTplService serialNumTplService;
+	@Autowired
+	private ProjectReportNumService projectReportNumService;
 
 	public ProjectReportData get(String id) {
 		ProjectReportData projectReportData = super.get(id);
@@ -299,7 +303,11 @@ public class ProjectReportDataService extends CrudService<ProjectReportDataDao,
 			projectReportData.preInsert();
 			insert = true;
 		}
-		projectReportData.setNumber(serialNumTplService.genSerialNum(user.getCompany(),"10"));
+//		projectReportData.setNumber(serialNumTplService.genSerialNum(user.getCompany(),"10"));
+		String num = projectReportData.getNumber();
+		if(StringUtils.isNotBlank(num)){
+			projectReportNumService.updateNum(num);
+		}
 		ProjectRecords projectRecords = projectRecordsService.get(projectReportData.getProject());
 		Office recordsOffice =officeService.get(projectRecords.getOffice());
 		String title = "报告名称:"+projectReportData.getName();
@@ -1439,4 +1447,5 @@ public class ProjectReportDataService extends CrudService<ProjectReportDataDao,
 	}
 
 
+
 }

+ 7 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectcontentinfoService.java

@@ -16,6 +16,7 @@ import com.jeeplus.modules.projectcontroltable.dao.ProjectControlTableDao;
 import com.jeeplus.modules.projectcontroltable.entity.ProjectControlTable;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
+import com.jeeplus.modules.projectreportnum.service.ProjectReportNumService;
 import com.jeeplus.modules.sys.dao.WorkattachmentDao;
 import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.User;
@@ -76,6 +77,8 @@ public class ProjectcontentinfoService extends CrudService<ProjectcontentinfoDao
 	private ProjectReportRecordService projectReportRecordService;
 	@Autowired
 	private ISignatureDocumentService signatureDocumentService;
+	@Autowired
+	private ProjectReportNumService projectReportNumService;
 
 	public Projectcontentinfo get(String id) {
 		return super.get(id);
@@ -251,6 +254,10 @@ public class ProjectcontentinfoService extends CrudService<ProjectcontentinfoDao
 			if (type==1){
 				//暂存
 				projectReportData.setStatus("1");
+				String num = projectReportData.getNumber();
+				if(StringUtils.isNotBlank(num)){
+					projectReportNumService.updateNum(num);
+				}
 				projectReportDataService.save(projectReportData);
 			}else {
 				//送审

+ 1 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectcontentinfoController.java

@@ -48,6 +48,7 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.net.Socket;
 import java.util.*;
 
 /**

+ 10 - 0
src/main/java/com/jeeplus/modules/projectrecord/entity/ProjectRecords.java

@@ -57,6 +57,16 @@ public class ProjectRecords extends ActEntity<ProjectRecords> {
 	private Double installUnitFees;    //安装单位造价
 	private Double totalFees;        //总合同额
 
+	private ProjectReportData reportData;//报告
+
+	public ProjectReportData getReportData() {
+		return reportData;
+	}
+
+	public void setReportData(ProjectReportData reportData) {
+		this.reportData = reportData;
+	}
+
 	@NotNull(message = "委托方联系人不能为空")
 	private List<WorkClientLinkman> workClientLinkmanList;		// 委托方联系人
 	private List<WorkClientLinkman> workConstructionLinkmanList;		// 施工方及联系人

+ 3 - 1
src/main/java/com/jeeplus/modules/projectrecord/service/ProjectRecordsService.java

@@ -127,7 +127,7 @@ public class ProjectRecordsService extends CrudService<ProjectRecordsDao, Projec
 		projectRecords.setLeaderNameStr(Collections3.extractToString(users, "name", ","));
 		if (StringUtils.isNotBlank(projectRecords.getWorkContractInfo().getId())) {
 			WorkContractInfo workContractInfo = contractInfoService.get(projectRecords.getWorkContractInfo().getId());
-			workContractInfo.setConstructionProjectTypeStr(DictUtils.getDictLabel(String.valueOf(workContractInfo.getConstructionProjectType()), "construction_project_type", ""));
+//			workContractInfo.setConstructionProjectTypeStr(DictUtils.getDictLabel(String.valueOf(workContractInfo.getConstructionProjectType()), "construction_project_type", ""));
 			projectRecords.setWorkContractInfo(workContractInfo);
 		}
 		return projectRecords;
@@ -1135,4 +1135,6 @@ public class ProjectRecordsService extends CrudService<ProjectRecordsDao, Projec
     public WorkClientLinkman getLinkMan(WorkClientLinkman workClientLinkman){
 		return clientLinkmanDao.getLinkManByNameAndOffice(workClientLinkman);
 	}
+
+
 }

+ 17 - 0
src/main/java/com/jeeplus/modules/projectreportnum/dao/ProjectReportNumDao.java

@@ -0,0 +1,17 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.projectreportnum.dao;
+
+import com.jeeplus.common.persistence.CrudDao;
+import com.jeeplus.common.persistence.annotation.MyBatisDao;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
+import com.jeeplus.modules.projectreportnum.entity.ReportNum;
+import com.jeeplus.modules.worklog.entity.WorkLog;
+
+
+@MyBatisDao
+public interface ProjectReportNumDao extends CrudDao<ReportNum> {
+    int countNum(String userId);
+    void updateNum(String num);
+}

+ 44 - 0
src/main/java/com/jeeplus/modules/projectreportnum/entity/ReportNum.java

@@ -0,0 +1,44 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.projectreportnum.entity;
+
+
+import com.jeeplus.common.persistence.DataEntity;
+import com.jeeplus.modules.sys.entity.Area;
+
+import java.util.Date;
+
+
+public class ReportNum extends DataEntity<ReportNum> {
+
+	private static final long serialVersionUID = 1L;
+	private String num;		// 报告号
+	private String state;     //使用状态 (1:已使用 0:未使用)
+	private String userId;   //用户
+
+
+	public String getNum() {
+		return num;
+	}
+
+	public void setNum(String num) {
+		this.num = num;
+	}
+
+	public String getState() {
+		return state;
+	}
+
+	public void setState(String state) {
+		this.state = state;
+	}
+
+	public String getUserId() {
+		return userId;
+	}
+
+	public void setUserId(String userId) {
+		this.userId = userId;
+	}
+}

+ 84 - 0
src/main/java/com/jeeplus/modules/projectreportnum/service/ProjectReportNumService.java

@@ -0,0 +1,84 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.projectreportnum.service;
+
+import com.jeeplus.common.persistence.Page;
+import com.jeeplus.common.service.CrudService;
+import com.jeeplus.modules.officeintroduce.entity.Officeintroduce;
+import com.jeeplus.modules.projectreportnum.dao.ProjectReportNumDao;
+import com.jeeplus.modules.projectreportnum.entity.ReportNum;
+import com.jeeplus.modules.serialnum.service.SerialNumTplService;
+import com.jeeplus.modules.sys.utils.UserUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+
+@Service
+@Transactional(readOnly = true)
+public class ProjectReportNumService extends CrudService<ProjectReportNumDao, ReportNum> {
+
+	@Autowired
+	private ProjectReportNumDao projectReportNumDao;
+	@Autowired
+	private SerialNumTplService serialNumTplService;
+
+
+	public ReportNum get(String id) {
+		return super.get(id);
+
+	}
+
+	public int countNum(String userId){
+		return projectReportNumDao.countNum(userId);
+	}
+	
+	public List<ReportNum> findList(ReportNum reportNum) {
+		return super.findList(reportNum);
+	}
+	
+	public Page<ReportNum> findPage(Page<ReportNum> page, ReportNum reportNum) {
+		return super.findPage(page, reportNum);
+	}
+
+	public void updateNum(String num){
+		projectReportNumDao.updateNum(num);
+	}
+
+	
+	@Transactional(readOnly = false)
+	public String  save(String type) {
+		ReportNum reportNum = null;
+		int count = projectReportNumDao.countNum(UserUtils.getUser().getId());
+		if(count>=10){
+			return "最多领取10个报告号";
+		}
+		if(type.equals("one")){
+			String num = serialNumTplService.genSerialNum(UserUtils.getUser().getCompany(), "10");
+			reportNum = new ReportNum();
+			reportNum.setNum(num);
+			reportNum.setState("0");
+			super.save(reportNum);
+		}else {
+             for(int i=0;i<10-count;i++){
+				 String num = serialNumTplService.genSerialNum(UserUtils.getUser().getCompany(), "10");
+				 reportNum = new ReportNum();
+				 reportNum.setNum(num);
+				 reportNum.setState("0");
+				 super.save(reportNum);
+			 }
+		}
+        return "领取成功";
+	}
+	
+	@Transactional(readOnly = false)
+	public void delete(ReportNum reportNum) {
+		super.delete(reportNum);
+	}
+
+	
+	
+}

+ 82 - 0
src/main/java/com/jeeplus/modules/projectreportnum/web/ProjectReportFindController.java

@@ -0,0 +1,82 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.projectreportnum.web;
+
+import com.jeeplus.common.config.Global;
+import com.jeeplus.common.persistence.Page;
+import com.jeeplus.common.utils.FreemarkerUtil;
+import com.jeeplus.common.utils.ImageUtil;
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.common.web.BaseController;
+import com.jeeplus.modules.projectcontentinfo.dao.ProjectReportDataDao;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
+import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
+import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
+import com.jeeplus.modules.projectreportnum.entity.ReportNum;
+import com.jeeplus.modules.projectreportnum.service.ProjectReportNumService;
+import com.jeeplus.modules.sys.utils.UserUtils;
+import com.jeeplus.modules.tools.utils.TwoDimensionCode;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+
+@Controller
+@RequestMapping(value = "/projectreportnum/projectReportNum")
+public class ProjectReportFindController extends BaseController {
+
+	@Autowired
+	private ProjectReportNumService projectReportNumService;
+	@Autowired
+	private ProjectReportDataDao projectReportDataDao;
+	@Autowired
+    private ProjectRecordsService projectRecordsService;
+	
+
+
+	@RequestMapping("report")
+	public String report(HttpServletRequest request,Model model) throws Exception{
+		ProjectRecords data = new ProjectRecords();
+    	String num = request.getParameter("number");
+		num = URLDecoder.decode(num,"UTF-8");
+		ProjectReportData projectReportData = projectReportDataDao.findByNum(num);
+		if(projectReportData != null && projectReportData.getProject() != null) {
+			String projectId = projectReportData.getProject().getId();
+			data = projectRecordsService.getQueryProjectUsers(projectId);
+			data.setReportData(projectReportData);
+		}
+		model.addAttribute("projectRecords",data);
+		return "modules/projectreportnum/reportAuditProject";
+	}
+	
+
+
+
+
+	
+
+
+
+	
+
+
+	
+	
+	
+
+}

+ 188 - 0
src/main/java/com/jeeplus/modules/projectreportnum/web/ProjectReportNumController.java

@@ -0,0 +1,188 @@
+/**
+ * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
+ */
+package com.jeeplus.modules.projectreportnum.web;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
+import com.jeeplus.common.config.Global;
+import com.jeeplus.common.persistence.Page;
+import com.jeeplus.common.utils.*;
+import com.jeeplus.common.utils.excel.ExportExcel;
+import com.jeeplus.common.utils.excel.ImportExcel;
+import com.jeeplus.common.web.BaseController;
+import com.jeeplus.modules.projectcontentinfo.dao.ProjectReportDataDao;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
+import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
+import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
+import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
+import com.jeeplus.modules.projectreportnum.entity.ReportNum;
+import com.jeeplus.modules.projectreportnum.service.ProjectReportNumService;
+import com.jeeplus.modules.sys.utils.UserUtils;
+import com.jeeplus.modules.tools.utils.TwoDimensionCode;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+import net.sf.json.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.servlet.mvc.support.RedirectAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.ConstraintViolationException;
+import java.io.File;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+
+@Controller
+@RequestMapping(value = "${adminPath}/projectreportnum/projectReportNum")
+public class ProjectReportNumController extends BaseController {
+
+	@Autowired
+	private ProjectReportNumService projectReportNumService;
+	@Autowired
+	private ProjectReportDataDao projectReportDataDao;
+	@Autowired
+    private ProjectRecordsService projectRecordsService;
+	
+
+	
+	/**
+	 * 列表页面
+	 */
+
+	@RequestMapping(value = {"list", ""})
+	public String list(ReportNum reportNum, HttpServletRequest request, HttpServletResponse response, Model model) {
+		String userId = UserUtils.getUser().getId();
+		reportNum.setUserId(userId);
+		Page<ReportNum> page = projectReportNumService.findPage(new Page<ReportNum>(request, response), reportNum);
+		model.addAttribute("page", page);
+		return "modules/projectreportnum/projectReportNumList";
+	}
+
+
+	@RequestMapping(value = "select")
+	public String select(ReportNum reportNum, HttpServletRequest request, HttpServletResponse response, Model model) {
+		String userId = UserUtils.getUser().getId();
+		reportNum.setUserId(userId);
+		Page<ReportNum> page = projectReportNumService.findPage(new Page<ReportNum>(request, response), reportNum);
+		model.addAttribute("page", page);
+		return "modules/projectreportnum/projectReportNumSel";
+	}
+
+    @RequestMapping(value = "download")
+    public String download(HttpServletRequest request,RedirectAttributes redirectAttributes,HttpServletResponse response){
+		Template template=null;
+        try{
+			String num = request.getParameter("number");
+			String querySite = Global.getConfig("serverDomain")+"/projectreportnum/projectReportNum/report?number="+ URLEncoder.encode(num,"UTF-8");
+			num = URLDecoder.decode(num,"UTF-8");
+        	int index1 = num.indexOf("【");
+        	int index2 = num.indexOf("】");
+        	String repType = num.substring(0,index1);
+        	String repYear = num.substring(index1+1,index2);
+        	String repNum = num.substring(index2+1,num.length());
+        	String pa = this.getClass().getResource("/").getPath();
+        	if(pa.contains("%20")){
+        		pa = pa.replace("%20"," ");
+			}
+			File path = new File(pa+"/freemarker");
+			Configuration cfg = new Configuration();
+			cfg.setDirectoryForTemplateLoading(path);
+			cfg.setDefaultEncoding("UTF-8");
+			template = cfg.getTemplate("current.ftl","UTF-8");
+			Map<String,Object> data  = new HashMap<>();
+			data.put("repType",repType);
+			data.put("repYear",repYear);
+			data.put("repNum",repNum);
+			data.put("querySite","re.xgccpm.com/ccpm_query");
+			String commonFileName = UUID.randomUUID().toString();
+			String tempPath = pa+"/temp/";
+			File temP = new File(tempPath);
+			if(!temP.exists()){
+                temP.mkdirs();
+			}
+			String qrCodePath = tempPath + commonFileName + ".png";
+			TwoDimensionCode.encoderQRCode(querySite, qrCodePath, "png");//执行生成二维码
+			String imageStr = ImageUtil.getImageStr(qrCodePath);
+			data.put("qrcode",imageStr);
+
+			File docFile = new File(tempPath+commonFileName+".doc");
+			FreemarkerUtil.generateFile(data,template,docFile);
+
+			ResponseUtil.docResponse("防伪报告模板.doc",docFile,response);
+
+			if(docFile != null) docFile.delete(); // 删除doc临时文件
+			File imageFile = new File(qrCodePath);
+			if(imageFile.exists() && imageFile.isFile()) {
+				imageFile.delete();//删除二维码图片临时文件
+			}
+		}catch (Exception e){
+			addMessage(redirectAttributes, "下载失败!失败信息:"+e.getMessage());
+		}
+	    return null;
+    }
+
+
+	/**
+	 * 保存记录
+	 */
+    @ResponseBody
+	@RequestMapping(value = "save")
+	public Map save(HttpServletRequest request){
+    	Map map = new HashMap();
+    	try {
+			String type = request.getParameter("type");
+			String msg = projectReportNumService.save(type);//保存
+			map.put("msg",msg);
+			if(msg.length()>5){
+				map.put("code","0");
+			}else {
+				map.put("code","1");
+			}
+		}catch (Exception e){
+    		map.put("msg","领取失败");
+    		map.put("code","0");
+		}
+		return map;
+	}
+
+	@RequestMapping("report")
+	public String report(HttpServletRequest request,Model model) throws Exception{
+		ProjectRecords data = new ProjectRecords();
+    	String num = request.getParameter("number");
+		num = URLDecoder.decode(num,"UTF-8");
+		ProjectReportData projectReportData = projectReportDataDao.findByNum(num);
+		if(projectReportData != null && projectReportData.getProject() != null) {
+			String projectId = projectReportData.getProject().getId();
+			data = projectRecordsService.getQueryProjectUsers(projectId);
+			data.setReportData(projectReportData);
+		}
+		model.addAttribute("projectRecords",data);
+		return "modules/projectreportnum/reportAuditProject";
+	}
+	
+
+
+
+
+	
+
+
+
+	
+
+
+	
+	
+	
+
+}

+ 1 - 3
src/main/java/com/jeeplus/modules/test/web/validation/TestValidationController.java

@@ -189,8 +189,6 @@ public class TestValidationController extends BaseController {
 		}
 		return "redirect:"+Global.getAdminPath()+"/test/validation/testValidation/?repage";
     }
-	
-	
-	
+    
 
 }

+ 10 - 1
src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceService.java

@@ -347,12 +347,15 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 			if (StringUtils.isBlank(workInvoice.getNumber())) {
 				workInvoice.setNumber(serialNumTplService.genSerialNum(UserUtils.getSelectCompany(), WorkInvoice.SERIAL_BIZCODE));
 			}
+		String officeId = UserUtils.getUser().getOffice().getId();
+		Office office = officeService.get(officeId);
+		workInvoice.setOffice(office);
 		long s2=System.currentTimeMillis();
 			super.save(workInvoice);
 		long s3=System.currentTimeMillis();
 			String str = "";
 			//所属部门
-			Office office = officeService.get(workInvoice.getOffice().getId());
+
 			String userName = UserUtils.get(workInvoice.getCreateBy().getId()).getName();
 			str = "发票申请编号:"+workInvoice.getNumber()+",实际开票单位:"+workInvoice.getClient().getName()+",创建人:"+userName+",所属部门:"+office.getName();
 			String title = "实际开票单位:"+workInvoice.getClient().getName();
@@ -430,6 +433,8 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 					return "流程审批人不能为空,角色发票管理员下无用户,请联系管理员!";
 				}*/
 				//variables.put("fpglycount",fpglys.size());
+				variables.put("bmzrcount",bmzrs.size());
+				variables.put("bmzrList",bmzrs);
 				processType = "workinvoicebranch";
 				users.addAll(bmzrs);
 			}
@@ -667,6 +672,7 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 		workInvoice.preUpdate();
 		// 提交流程任务
 		vars.put(exp, "yes".equals(workInvoice.getAct().getFlag()) ? true : false);
+		vars.put("passs", true);
 		workActivityProcessService.updateProcess(workActivityProcess,workActivityMenu,key,taskCount,workInvoice.getProcessInstanceId(),taskDefKey,"modifyApply",workInvoice.getAct().getFlag(),comment, activities);
 		// 提交流程任务
 		actTaskService.complete(workInvoice.getAct().getTaskId(), workInvoice.getAct().getProcInsId(), workInvoice.getAct().getComment(), vars);
@@ -957,6 +963,8 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 							notifyRole = "发票管理员审批";
 							workActivityProcess.setIsApproval("1");
 							enname = "fpgly";
+							vars.put("fpglyList", auditUsers);
+							vars.put("fpglycount",auditUsers.size());
 						}else {
 							notifyRole = "调整申请";
 							workActivityProcess.setIsApproval("2");
@@ -993,6 +1001,7 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 			workInvoice.preUpdate();
 			// 提交流程任务
 			vars.put(exp, "yes".equals(workInvoice.getAct().getFlag()) ? true : false);
+		    vars.put("passs", true);
 			workActivityProcessService.updateProcess(workActivityProcess,workActivityMenu,key,taskCount,workInvoice.getProcessInstanceId(),taskDefKey,"modifyApply",workInvoice.getAct().getFlag(),comment, activities);
 			// 提交流程任务
 			actTaskService.complete(workInvoice.getAct().getTaskId(), workInvoice.getAct().getProcInsId(), workInvoice.getAct().getComment(), vars);

+ 13 - 11
src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceController.java

@@ -143,7 +143,8 @@ public class WorkInvoiceController extends BaseController {
 	 */
 	@RequestMapping(value = "saveAudit")
 	public String saveAudit(WorkInvoice workInvoice, Model model,
-							RedirectAttributes redirectAttributes) {try{
+							RedirectAttributes redirectAttributes) {
+//		try{
 			// 对不同环节的业务逻辑进行操作
 			String taskDefKey = workInvoice.getAct().getTaskDefKey();
 			List<User> users = null;
@@ -167,7 +168,7 @@ public class WorkInvoiceController extends BaseController {
 				if(("1").equals(workInvoice.getExt())) {
 					users = UserUtils.getByProssType(workInvoice.getProcessInstanceId(), 3);
 				}else{
-					users = UserUtils.getByProssType(workInvoice.getProcessInstanceId(),2);
+					users = UserUtils.getByProssType(workInvoice.getProcessInstanceId(),1);
 				}
 			}else if ("modifyApply".equals(taskDefKey)){
 				users = UserUtils.getByProssType(workInvoice.getProcessInstanceId(), 1);
@@ -184,10 +185,10 @@ public class WorkInvoiceController extends BaseController {
 				}
 				addMessage(redirectAttributes, str);
 			}
-		}catch (Exception e){
-			addMessage(redirectAttributes, "审批失败:");
-		}
-		
+//		}catch (Exception e){
+//			addMessage(redirectAttributes, "审批失败:");
+//		}
+
 		if (StringUtils.isNotBlank(workInvoice.getHome()) && "home".equals(workInvoice.getHome())){
 			return "redirect:" + Global.getAdminPath() + "/home/?repage";
 		}else {
@@ -262,7 +263,7 @@ public class WorkInvoiceController extends BaseController {
 		if (user!=null && StringUtils.isNotBlank(user.getId()) && StringUtils.isNotBlank(invoiceState) && "3".equals(invoiceState)){
 			processInstanceId = workInvoiceService.get(workInvoice.getId()).getProcessInstanceId();
 		}
-		try {
+//		try {
 			Map<String, Object> variables = Maps.newHashMap();
 			WorkClientInfo workClientInfo =workClientInfoService.get(workInvoice.getClient().getId());
 			ProjectRecords workProject =projectRecordsService.get(workInvoice.getProject().getId());
@@ -286,10 +287,10 @@ public class WorkInvoiceController extends BaseController {
 			}else{
 				addMessage(redirectAttributes, "因未选择公司类型,发票申请提交失败");
 			}
-		} catch (Exception e) {
-			addMessage(redirectAttributes, "发票申请提交失败!");
-			addMessage(redirectAttributes, "系统内部错误");
-		}
+//		} catch (Exception e) {
+//			addMessage(redirectAttributes, "发票申请提交失败!");
+//			addMessage(redirectAttributes, "系统内部错误");
+//		}
 		return "redirect:"+Global.getAdminPath()+"/workinvoice/workInvoice/?repage";
 	}
 
@@ -612,6 +613,7 @@ public class WorkInvoiceController extends BaseController {
 		map.put("pNumber",projectRecords.getProjectId());//项目编号
 		map.put("cName",projectRecords.getWorkContractInfo().getClient().getName());//委托方
 		map.put("cInfoName",projectRecords.getWorkContractInfo().getName());//合同名称
+		map.put("cMoney",projectRecords.getWorkContractInfo().getContractPrice());//合同名称
 		String id = projectRecords.getWorkContractInfo().getId();
 		WorkContractInfo workContractInfo = workContractInfoService.get(id);
 		if(workContractInfo!=null){

+ 3 - 0
src/main/java/com/jeeplus/modules/workinvoicealter/service/WorkInvoiceAlterService.java

@@ -321,6 +321,8 @@ public class WorkInvoiceAlterService extends CrudService<WorkInvoiceAlterDao, Wo
 			if (cwzgs.size()==0){
 				return "流程审批人不能为空,角色财务主管下无用户,请联系管理员!";
 			}
+			variables.put("cwzgcount",cwzgs.size());
+			variables.put("cwzgList",cwzgs);
 			processType = "workinvoicealter";
 			users.addAll(cwzgs);
 		}
@@ -529,6 +531,7 @@ public class WorkInvoiceAlterService extends CrudService<WorkInvoiceAlterDao, Wo
 		workInvoice.preUpdate();
 		// 提交流程任务
 		vars.put(exp, "yes".equals(workInvoice.getAct().getFlag()) ? true : false);
+		vars.put("passs", true);
 		workActivityProcessService.updateProcess(workActivityProcess,workActivityMenu,key,taskCount,workInvoice.getProcessInstanceId(),taskDefKey,"modifyApply",workInvoice.getAct().getFlag(),comment, activities);
 		// 提交流程任务
 		actTaskService.complete(workInvoice.getAct().getTaskId(), workInvoice.getAct().getProcInsId(), workInvoice.getAct().getComment(), vars);

+ 8 - 1
src/main/java/com/jeeplus/modules/workinvoicereturn/service/WorkInvoiceReturnService.java

@@ -253,6 +253,8 @@ public class WorkInvoiceReturnService extends CrudService<WorkInvoiceReturnDao,
 				/*variables.put("fgldcount",fglds.size());
 				variables.put("fpglycount",fpglys.size());
 				variables.put("zgkjcount",zgkjs.size());*/
+				variables.put("bmzrcount",bmzrs.size());
+				variables.put("bmzrList",bmzrs);
 				processType = "workinvoicereturn";
 				users.addAll(bmzrs);
 			}
@@ -453,6 +455,8 @@ public class WorkInvoiceReturnService extends CrudService<WorkInvoiceReturnDao,
 						notifyRole = "发票管理员审核";
 						workActivityProcess.setIsApproval("1");
 						enname = "fpgly";
+						vars.put("fpglyList", auditUsers);
+						vars.put("fpglycount",auditUsers.size());
 					} else {
 						notifyRole = "调整申请";
 						workActivityProcess.setIsApproval("2");
@@ -465,7 +469,9 @@ public class WorkInvoiceReturnService extends CrudService<WorkInvoiceReturnDao,
 						workActivityProcessService.insertAuditsByType(auditUsers,workInvoiceReturn.getProcessInstanceId(),3,1);
 						workActivityProcess.setIsApproval("1");
 						notifyRole = "主管会计审核";
-						enname = "zghj";
+						enname = "zgkj";
+						vars.put("zgkjList", auditUsers);
+						vars.put("zgkjcount",auditUsers.size());
 					} else {
 						notifyRole = "调整申请";
 						workActivityProcess.setIsApproval("2");
@@ -501,6 +507,7 @@ public class WorkInvoiceReturnService extends CrudService<WorkInvoiceReturnDao,
 		workInvoiceReturn.preUpdate();
 		// 提交流程任务
 		vars.put(exp, "yes".equals(workInvoiceReturn.getAct().getFlag()) ? true : false);
+		vars.put("passs", true);
 		workActivityProcessService.updateProcess(workActivityProcess,workActivityMenu,key,taskCount,workInvoiceReturn.getProcessInstanceId(),taskDefKey,"modifyApply",workInvoiceReturn.getAct().getFlag(),comment, activities);
 		// 提交流程任务
 		actTaskService.complete(workInvoiceReturn.getAct().getTaskId(), workInvoiceReturn.getAct().getProcInsId(), workInvoiceReturn.getAct().getComment(), vars);

+ 6 - 6
src/main/java/com/jeeplus/modules/workinvoicereturn/web/WorkInvoiceReturnController.java

@@ -197,7 +197,7 @@ public class WorkInvoiceReturnController extends BaseController {
 		if (user!=null && StringUtils.isNotBlank(user.getId()) && StringUtils.isNotBlank(sta) && "3".equals(sta)){
 			processInstanceId = workInvoiceReturnService.get(workInvoiceReturn.getId()).getProcessInstanceId();
 		}
-		try {
+//		try {
 			Map<String, Object> variables = Maps.newHashMap();
 			workInvoiceReturn.setCompanyId(UserUtils.getSelectCompany().getId());
 			workInvoiceReturn.setOfficeId(UserUtils.getSelectOffice().getId());
@@ -208,10 +208,10 @@ public class WorkInvoiceReturnController extends BaseController {
 				addMessage(redirectAttributes, "退票申请已经提交");
 			}
 
-		} catch (Exception e) {
-			addMessage(redirectAttributes, "退票申请提交失败!");
-			addMessage(redirectAttributes, "系统内部错误");
-		}
+//		} catch (Exception e) {
+//			addMessage(redirectAttributes, "退票申请提交失败!");
+//			addMessage(redirectAttributes, "系统内部错误");
+//		}
 		return "redirect:"+Global.getAdminPath()+"/workinvoicereturn/workInvoiceReturn/?repage";
 	}
 	
@@ -289,7 +289,7 @@ public class WorkInvoiceReturnController extends BaseController {
 				}
 			}
 		} else if ("zgkj".equals(taskDefKey)) {
-			users = UserUtils.getByProssType(workInvoiceReturn.getProcessInstanceId(), 3);
+			users = UserUtils.getByProssType(workInvoiceReturn.getProcessInstanceId(), 1);
 		} else if ("modifyApply".equals(taskDefKey)) {
 			users = UserUtils.getByProssType(workInvoiceReturn.getProcessInstanceId(), 1);
 		}

+ 3 - 0
src/main/java/com/jeeplus/modules/workinvoicereturnalter/service/WorkInvoiceReturnAlterService.java

@@ -254,6 +254,8 @@ public class WorkInvoiceReturnAlterService extends CrudService<WorkInvoiceReturn
 				if (cwzgs.size()==0){
 					return "流程审批人不能为空,角色财务主管下无用户,请联系管理员!";
 				}
+				variables.put("cwzgcount",cwzgs.size());
+				variables.put("cwzgList",cwzgs);
 				processType = "workinvoicereturnalter";
 				users.addAll(cwzgs);
 			}
@@ -462,6 +464,7 @@ public class WorkInvoiceReturnAlterService extends CrudService<WorkInvoiceReturn
 			workInvoiceReturn.preUpdate();
 			// 提交流程任务
 			vars.put(exp, "yes".equals(workInvoiceReturn.getAct().getFlag()) ? true : false);
+		    vars.put("passs", true);
 			workActivityProcessService.updateProcess(workActivityProcess,workActivityMenu,key,taskCount,workInvoiceReturn.getProcessInstanceId(),taskDefKey,"modifyApply",workInvoiceReturn.getAct().getFlag(),comment, activities);
 			// 提交流程任务
 			actTaskService.complete(workInvoiceReturn.getAct().getTaskId(), workInvoiceReturn.getAct().getProcInsId(), workInvoiceReturn.getAct().getComment(), vars);

+ 19 - 0
src/main/java/com/jeeplus/modules/workreceiptsregister/entity/WorkReceiptsRegister.java

@@ -6,6 +6,7 @@ package com.jeeplus.modules.workreceiptsregister.entity;
 
 import com.jeeplus.common.persistence.DataEntity;
 import com.jeeplus.common.utils.excel.annotation.ExcelField;
+import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.sys.entity.Office;
 import org.hibernate.validator.constraints.NotBlank;
 import org.springframework.format.annotation.NumberFormat;
@@ -26,6 +27,8 @@ public class WorkReceiptsRegister extends DataEntity<WorkReceiptsRegister> {
 	private static final long serialVersionUID = 1L;
     @NotNull(message = "到账时间不能为空")
 	private Date arrivalDate;		// 到账时间
+    private ProjectRecords project;		// 开票项目(来源项目登记)
+    private String ext;
     @NotBlank(message = "对方账号不能为空")
     @Size(min = 16,max = 19,message = "银行账号长度应为16-19位")
 	private String clientAccno;		// 对方账号
@@ -200,4 +203,20 @@ public class WorkReceiptsRegister extends DataEntity<WorkReceiptsRegister> {
     public void setOffice(Office office) {
         this.office = office;
     }
+
+    public ProjectRecords getProject() {
+        return project;
+    }
+
+    public void setProject(ProjectRecords project) {
+        this.project = project;
+    }
+
+    public String getExt() {
+        return ext;
+    }
+
+    public void setExt(String ext) {
+        this.ext = ext;
+    }
 }

+ 15 - 4
src/main/java/com/jeeplus/modules/workreceiptsregister/service/WorkReceiptsRegisterService.java

@@ -9,6 +9,8 @@ import java.util.*;
 import com.jeeplus.common.utils.DateUtils;
 import com.jeeplus.common.utils.MenuStatusEnum;
 import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
+import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
 import com.jeeplus.modules.sys.dao.OfficeDao;
 import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.utils.UserUtils;
@@ -40,9 +42,18 @@ public class WorkReceiptsRegisterService extends CrudService<WorkReceiptsRegiste
     private WorkInvoiceDetailService invoiceDetailService;
     @Autowired
     private OfficeDao officeDao;
+    @Autowired
+    private ProjectRecordsService projectRecordsService;
 
 	public WorkReceiptsRegister get(String id) {
-		return super.get(id);
+		WorkReceiptsRegister workReceiptsRegister = super.get(id);
+		if(workReceiptsRegister.getExt().equals("0")){
+		    if(StringUtils.isNotBlank(workReceiptsRegister.getProject().getId())){
+                ProjectRecords queryProjectUsers = projectRecordsService.getQueryProjectUsers(workReceiptsRegister.getProject().getId());
+                workReceiptsRegister.setProject(queryProjectUsers);
+            }
+        }
+		return workReceiptsRegister;
 	}
 	
 	public List<WorkReceiptsRegister> findList(WorkReceiptsRegister workReceiptsRegister) {
@@ -54,9 +65,9 @@ public class WorkReceiptsRegisterService extends CrudService<WorkReceiptsRegiste
             String dataScopeSql = dataScopeFilter(workReceiptsRegister.getCurrentUser(), "o", "u", "s", MenuStatusEnum.WORK_RECEIPTSREGISTER.getValue());
             workReceiptsRegister.getSqlMap().put("dsf", dataScopeSql);
         }
-        if(StringUtils.isBlank(workReceiptsRegister.getStatus())){
-            workReceiptsRegister.setStatus("0");
-        }
+//        if(StringUtils.isBlank(workReceiptsRegister.getStatus())){
+////            workReceiptsRegister.setStatus("0");
+////        }
 		return super.findPage(page, workReceiptsRegister);
 	}
 	

+ 9 - 0
src/main/java/com/jeeplus/modules/workreimbursement/entity/WorkReimbursement.java

@@ -58,6 +58,7 @@ public class WorkReimbursement extends ActEntity<WorkReimbursement> {
 	private String backmoneys;
 	private String checkMoneys;
 	private String createOffice;// 创建人的部门编号
+	private String type;
 	public String getCreateOffice() {
 		return createOffice;
 	}
@@ -478,4 +479,12 @@ public class WorkReimbursement extends ActEntity<WorkReimbursement> {
 	public void setEndDate(Date endDate) {
 		this.endDate = endDate;
 	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
 }

+ 15 - 2
src/main/java/com/jeeplus/modules/workreimbursement/service/WorkReimbursementService.java

@@ -367,6 +367,8 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
             variables.put("zjlcount",zjls.size());
             variables.put("cwzjcount",cwzjs.size());
             variables.put("cncount",cns.size());*/
+            variables.put("bmzrcount",bmzrs.size());
+            variables.put("bmzrList",bmzrs);
             processType = "reimbursement";
             users.addAll(bmzrs);
         }
@@ -703,6 +705,8 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
                         workActivityProcess.setIsApproval("1");
                         notifyRole = "分管领导审核";
                         enname = "fgld";
+                        vars.put("fgldList", auditUsers);
+                        vars.put("fgldcount",auditUsers.size());
                     } else {
                         notifyRole = "调整申请";
                         workActivityProcess.setIsApproval("2");
@@ -715,7 +719,9 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
                         workActivityProcessService.insertAuditsByType(auditUsers,workReimbursement.getProcessInstanceId(),3,1);
                         notifyRole = "财务审核";
                         workActivityProcess.setIsApproval("1");
-                        enname = "cwzg";
+                        enname = "cw";
+                        vars.put("cwList", auditUsers);
+                        vars.put("cwcount",auditUsers.size());
                     } else {
                         notifyRole = "调整报销";
                         workActivityProcess.setIsApproval("2");
@@ -729,6 +735,8 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
                         notifyRole = "总经理审核";
                         workActivityProcess.setIsApproval("1");
                         enname = "zjl";
+                        vars.put("zjlList", auditUsers);
+                        vars.put("zjlcount",auditUsers.size());
                     } else {
                         notifyRole = "调整报销";
                         workActivityProcess.setIsApproval("2");
@@ -742,7 +750,9 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
                         workActivityProcessService.insertAuditsByType(auditUsers,workReimbursement.getProcessInstanceId(),5,1);
 
                         workActivityProcess.setIsApproval("1");
-                        enname = "cwfgld";
+                        enname = "cwzj";
+                        vars.put("cwzjList", auditUsers);
+                        vars.put("cwzjcount",auditUsers.size());
                     } else {
                         workActivityProcess.setIsApproval("2");
                         notifyRole = "调整报销";
@@ -756,6 +766,8 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
                         notifyRole = "报销付款";
                         workActivityProcess.setIsApproval("1");
                         enname = "cn";
+                        vars.put("cnList", auditUsers);
+                        vars.put("cncount",auditUsers.size());
                     } else {
                         workActivityProcess.setIsApproval("2");
                         notifyRole = "调整报销";
@@ -792,6 +804,7 @@ public class WorkReimbursementService extends CrudService<WorkReimbursementDao,
         workReimbursement.preUpdate();
         // 提交流程任务
         vars.put(exp, "yes".equals(workReimbursement.getAct().getFlag()) ? true : false);
+        vars.put("passs", true);
         workActivityProcessService.updateProcess(workActivityProcess,workActivityMenu,key,taskCount,workReimbursement.getProcessInstanceId(),taskDefKey,"modifyApply",workReimbursement.getAct().getFlag(),comment, activities);
         // 提交流程任务
         actTaskService.complete(workReimbursement.getAct().getTaskId(), workReimbursement.getAct().getProcInsId(), workReimbursement.getAct().getComment(), vars);

+ 6 - 6
src/main/java/com/jeeplus/modules/workreimbursement/web/WorkReimbursementController.java

@@ -295,7 +295,7 @@ public class WorkReimbursementController extends BaseController {
 	@RequestMapping(value = "saveAudit")
 	public String saveAudit(WorkReimbursement workReimbursement, Model model,
 							RedirectAttributes redirectAttributes) {
-		try {
+//		try {
 			// 对不同环节的业务逻辑进行操作
 			String taskDefKey = workReimbursement.getAct().getTaskDefKey();
 			List<User> users = null;
@@ -320,7 +320,7 @@ public class WorkReimbursementController extends BaseController {
 				if (users==null )
 					users = UserUtils.getByRoleActivityEnname("cn",3,workReimbursement.getOfficeId(),"8",workReimbursement.getCreateBy());
 			}else if ("cn".equals(taskDefKey)){
-				users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),6);
+				users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
 			}else if ("modifyApply".equals(taskDefKey)){
 				users = UserUtils.getByProssType(workReimbursement.getProcessInstanceId(),1);
 			}
@@ -331,10 +331,10 @@ public class WorkReimbursementController extends BaseController {
 				String str = workReimbursementService.auditSave(workReimbursement,users);
 				addMessage(redirectAttributes, str);
 			}
-		}catch (Exception e){
-			logger.info("Exception e:"+e);
-			addMessage(redirectAttributes, "审批失败");
-		}
+//		}catch (Exception e){
+//			logger.info("Exception e:"+e);
+//			addMessage(redirectAttributes, "审批失败");
+//		}
 		if (StringUtils.isNotBlank(workReimbursement.getHome()) && "home".equals(workReimbursement.getHome())) {
 			return "redirect:" + Global.getAdminPath() + "/home/?repage";
 		} else {

+ 2 - 0
src/main/java/com/jeeplus/modules/workstaff/dao/WorkStaffBasicInfoDao.java

@@ -37,6 +37,8 @@ public interface WorkStaffBasicInfoDao extends CrudDao<WorkStaffBasicInfo> {
 
     List<WorkStaffBasicInfo> findListByRoleList(WorkStaffBasicInfo select);
 
+    List<WorkStaffBasicInfo> findAddressBook(WorkStaffBasicInfo select);   //通讯录
+
     List<WorkStaffBasicInfo> findListByAchiveId(WorkStaffBasicInfo workStaffBasicInfo);
 
     List<WorkStaffBasicInfo> findListByUserId(WorkStaffBasicInfo workStaffBasicInfo);

+ 18 - 0
src/main/java/com/jeeplus/modules/workstaff/service/WorkStaffBasicInfoService.java

@@ -188,6 +188,24 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
         }
 		return super.findPage(page, workStaffBasicInfo);
 	}
+
+    public Page<WorkStaffBasicInfo> findAddressBook(Page<WorkStaffBasicInfo> page, WorkStaffBasicInfo workStaffBasicInfo) {
+//        if(!UserUtils.getUser().isAdmin()) {
+//            String dataScopeSql = dataScopeFilterOR(workStaffBasicInfo.getCurrentUser(), "o", "u", "s", MenuStatusEnum.WORK_STAFFBASICINFO.getValue());
+//            workStaffBasicInfo.getSqlMap().put("dsf", dataScopeSql);
+//            if(workStaffBasicInfo.getCurrentUser().getBranchOffice()==null){
+//                workStaffBasicInfo.getCurrentUser().setBranchOffice(workStaffBasicInfo.getCurrentUser().getCompany());
+//            }
+//        }
+        String companyId = UserUtils.getUser().getComId();
+        Office office = new Office();
+        office.setId(companyId);
+        workStaffBasicInfo.setCompany(office);
+        workStaffBasicInfo.setPage(page);
+        page.setList(dao.findAddressBook(workStaffBasicInfo));
+        return page;
+    }
+
 	
 	@Transactional(readOnly = false)
 	public void save(WorkStaffBasicInfo workStaffBasicInfo,HttpServletRequest request) throws IOException {

+ 23 - 0
src/main/java/com/jeeplus/modules/workstaff/web/WorkStaffBasicInfoController.java

@@ -203,6 +203,18 @@ public class WorkStaffBasicInfoController extends BaseController {
 		return "modules/workstaff/workStaffBasicInfoView";
 	}
 
+	@RequestMapping(value = "addressbookview")
+	public String addressbookview(WorkStaffBasicInfo workStaffBasicInfo, Model model,boolean reFlag) {
+//		if(StringUtils.isNotBlank(workStaffBasicInfo.getId())){
+//			workStaffBasicInfoService.queryDetails(workStaffBasicInfo);
+//		}
+		Role role = roleService.get(roleService.getRoleIdByUserId(workStaffBasicInfo.getUserId()));
+		workStaffBasicInfo.setRoleId(role.getId());
+		workStaffBasicInfo.setRoleName(role.getName());
+		model.addAttribute("workStaffBasicInfo", workStaffBasicInfo);
+		return "modules/workstaff/workAddressBookView";
+	}
+
 	/**
 	 * 查看,增加,编辑员工信息表单页面
 	 */
@@ -698,4 +710,15 @@ public class WorkStaffBasicInfoController extends BaseController {
 		model.addAttribute("list",list);
 		return "modules/workstaff/infoList";
 	}
+
+	/**
+	 *员工通讯录展示
+	 */
+	@RequiresPermissions("workstaff:workStaffBasicInfo:addressbook")
+	@RequestMapping(value = "addressbook")
+	public String addressBook(WorkStaffBasicInfo workStaffBasicInfo, HttpServletRequest request, HttpServletResponse response, Model model) {
+		Page<WorkStaffBasicInfo> page = workStaffBasicInfoService.findAddressBook(new Page<WorkStaffBasicInfo>(request, response), workStaffBasicInfo);
+		model.addAttribute("page", page);
+		return "modules/workstaff/workAddressBookList";
+	}
 }

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2457 - 0
src/main/resources/freemarker/current.ftl


+ 8 - 0
src/main/resources/mappings/modules/projectcontentinfo/ProjectReportDataDao.xml

@@ -53,6 +53,14 @@
 		<include refid="projectReportDataJoins"/>
 		WHERE a.id = #{id}
 	</select>
+
+	<select id="findByNum" resultType="ProjectReportData" >
+		SELECT
+		<include refid="projectReportDataColumns"/>
+		FROM project_report_data a
+		<include refid="projectReportDataJoins"/>
+		WHERE a.number = #{number}
+	</select>
 	<select id="getNoInvalid" resultType="ProjectReportData" >
 		SELECT
 		a.id AS "id",

+ 100 - 0
src/main/resources/mappings/modules/projectreportnum/ProjectReportNumDao.xml

@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.modules.projectreportnum.dao.ProjectReportNumDao">
+    
+	<sql id="infoColums">
+		a.id AS "id",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag",
+		a.num AS "num",
+		a.state AS "state"
+
+	</sql>
+	
+    
+	<select id="get" resultType="ReportNum" >
+		SELECT 
+			<include refid="infoColums"/>
+		FROM report_num a
+		WHERE a.id = #{id}
+	</select>
+	
+	<select id="findList" resultType="ReportNum" >
+		SELECT 
+			<include refid="infoColums"/>
+		FROM report_num a
+		
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL} and a.state = '0' and a.create_by = #{userId}
+		</where>
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.update_date
+			</otherwise>
+		</choose>
+	</select>
+
+
+	<select id="countNum" parameterType="String" resultType="Integer">
+		select count(id)
+		 from report_num
+		<where>
+			create_by = #{userId} and state = '0'
+		</where>
+	</select>
+	
+	
+	
+	<insert id="insert">
+		INSERT INTO report_num(
+			id,
+			create_by,
+			create_date,
+			update_by,
+			update_date,
+			remarks,
+			del_flag,
+			num,
+			state
+		) VALUES (
+			#{id},
+			#{createBy.id},
+			#{createDate},
+			#{updateBy.id},
+			#{updateDate},
+			#{remarks},
+			#{delFlag},
+			#{num},
+			#{state}
+		)
+	</insert>
+	
+	<update id="updateNum">
+		UPDATE report_num SET
+			state = '1'
+		WHERE num = #{num}
+	</update>
+	
+	
+	<!--物理删除-->
+	<update id="delete">
+		DELETE FROM report_num
+		WHERE id = #{id}
+	</update>
+	
+
+	
+	
+
+
+
+
+
+</mapper>

+ 4 - 4
src/main/resources/mappings/modules/workinvoicedetail/WorkInvoiceDetailDao.xml

@@ -531,9 +531,9 @@
             <if test="state != null and state != ''">
                 AND a.state = #{state}
             </if>
-            <if test="backSign != null and backSign != ''">
-                AND a.back_sign = #{backSign}
-            </if>
+            <!--<if test="backSign != null and backSign != ''">-->
+                <!--AND a.back_sign = #{backSign}-->
+            <!--</if>-->
             <if test="exclusiveIds!=null">
                 AND a.id NOT IN
                 <foreach collection="exclusiveIds" item="exid" index="index"
@@ -542,7 +542,7 @@
                 </foreach>
             </if>
 			AND wi.invoice_state = '5'
-            AND a.total_money+0 > a.income_money+0
+--             AND a.total_money+0 > a.income_money+0
             AND wi.del_flag = #{DEL_FLAG_NORMAL}
             AND a.del_flag = #{DEL_FLAG_NORMAL}
             AND ir.id IS NULL

+ 12 - 4
src/main/resources/mappings/modules/workreceiptsregister/WorkReceiptsRegisterDao.xml

@@ -18,7 +18,9 @@
 		a.company_id AS "company.id",
 		s1.name AS "company.name",
 		a.office_id AS "office.id",
-		a.com_id AS "comp.id"
+		a.com_id AS "comp.id",
+		a.project_id AS "project.id",
+		a.ext
 	</sql>
 	
 	<sql id="workReceiptsRegisterJoins">
@@ -119,7 +121,9 @@
 			status,
 			company_id,
 			office_id,
-		    com_id
+		    com_id,
+		    project_id,
+		    ext
 		) VALUES (
 			#{id},
 			#{createBy.id},
@@ -135,7 +139,9 @@
 			#{status},
 			#{company.id},
 			#{office.id},
-		    #{comp.id}
+		    #{comp.id},
+		    #{project.id},
+		    #{ext}
 		)
 	</insert>
 	
@@ -151,7 +157,9 @@
 			status = #{status},
 			company_id = #{company.id},
 			office_id = #{office.id},
-		    com_id = #{comp.id}
+		    com_id = #{comp.id},
+		    project_id = #{project.id},
+		    ext = #{ext}
 		WHERE id = #{id}
 	</update>
 	

+ 8 - 4
src/main/resources/mappings/modules/workreimbursement/WorkReimbursementDao.xml

@@ -34,7 +34,8 @@
 		a.project_name AS "projectName",
 		a.bank_card AS "bankCard",
 		a.ext AS "ext",
-		a.create_office as "createOffice"
+		a.create_office as "createOffice",
+		a.type as "type"
 	</sql>
 	
 	<sql id="workReimbursementJoins">
@@ -189,7 +190,8 @@
 			backmoney,
 			backmoneys,
 			checkMoneys,
-            create_office
+            create_office,
+            type
 		) VALUES (
 			#{id},
 			#{number},
@@ -220,7 +222,8 @@
 			#{backmoney},
 			#{backmoneys},
 			#{checkMoneys},
-			#{createOffice}
+			#{createOffice},
+			#{type}
 
 		)
 	</insert>
@@ -252,7 +255,8 @@
 		    achives_id =#{achivesId},
 		    backmoney = #{backmoney},
 		    backmoneys =#{backmoneys},
-		    checkMoneys = #{checkMoneys}
+		    checkMoneys = #{checkMoneys},
+		    type = #{type}
 		WHERE id = #{id}
 	</update>
 	

+ 57 - 0
src/main/resources/mappings/modules/workstaff/WorkStaffBasicInfoDao.xml

@@ -202,6 +202,63 @@
 			</otherwise>
 		</choose>
 	</select>
+
+	<select id="findAddressBook" resultType="WorkStaffBasicInfo" >
+		SELECT
+		<include refid="workStaffBasicInfoColumns"/>
+		FROM work_staff_basic_info a
+		<include refid="workStaffBasicInfoJoins"/>
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL}
+			<if test="company != null and company.id != null and company.id != ''">
+				AND a.company_id = #{company.id}
+			</if>
+			<if test="office != null and office.id != null and office.id != ''">
+				AND a.office_id = #{office.id}
+			</if>
+			<if test="no != null and no != ''">
+				AND a.no = #{no}
+			</if>
+			<if test="name != null and name != ''">
+				AND a.name LIKE
+				<if test="dbName == 'oracle'">'%'||#{name}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{name}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{name},'%')</if>
+			</if>
+			<if test="idCard != null and idCard != ''">
+				AND a.id_card = #{idCard}
+			</if>
+			<if test="mobile != null and mobile != ''">
+				AND a.mobile = #{mobile}
+			</if>
+			<if test="jobGrade != null and jobGrade.id !=null and jobGrade.id != ''">
+				AND a.job_grade = #{jobGrade.id}
+			</if>
+			<if test="status != null and status != ''">
+				AND a.status = #{status}
+			</if>
+			<if test="beginEntryDate != null">
+				AND a.entry_date >= #{beginEntryDate}
+			</if>
+			<if test="endEntryDate != null">
+				AND a.entry_date &lt;= #{endEntryDate}
+			</if>
+			<if test="achiveId != null and achiveId !=''">
+				AND a.achive_id = #{achiveId}
+			</if>
+			<!--<if test="sqlMap.dsf !=null and sqlMap.dsf !=''">-->
+				<!--AND ((a.user_id = #{currentUser.id} AND a.branch_office = #{currentUser.branchOffice.id})${sqlMap.dsf} )-->
+			<!--</if>-->
+		</where>
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.create_date
+			</otherwise>
+		</choose>
+	</select>
 	
 	<select id="findAllList" resultType="WorkStaffBasicInfo" >
 		SELECT 

+ 1 - 0
src/main/resources/spring-context-shiro.xml

@@ -36,6 +36,7 @@
                 ${adminPath}/login/getRandomCode = anon
                 ${adminPath}/soft/sysVersion/getAndroidVer = anon
                 ${adminPath}/soft/sysVersion/getIosVer = anon
+                ${adminPath}/projectreportnum/projectReportNum/report = anon
                 ${adminPath}/cas = cas
                 ${adminPath}/login = authc
                 ${adminPath}/logout = anon

BIN
src/main/webapp/static/common/img/xg_logo.png


+ 17 - 1
src/main/webapp/webpage/modules/projectcontentinfo/projectcontentinfoForm.jsp

@@ -162,6 +162,19 @@
             });
             return false;
         }
+		function openDialogWork1(title,url,width,height,target){
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['关闭'],
+				end:function(index){
+					top.layer.close(index)
+				}
+			});
+		}
         function openDialogWork(title,url,width,height,target){
             initControlData();
             if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
@@ -397,7 +410,10 @@
 					<div class="form-group-label"><h2>报告列表</h2></div>
 					<div class="layui-item nav-btns">
 						<c:if test="${empty change}">
-							<a href="javascript:void(0)" onclick="openDialogres('新增报告文件', '${ctx}/projectcontentinfo/projectcontentinfo/form?view=report&dictType=${dictType}&id=${id}&parentIds=${parentIds}','95%','95%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i>&nbsp; 新增</a>
+							<a href="javascript:void(0)" onclick="openDialogWork1('领取报告号', '${ctx}/projectreportnum/projectReportNum/list','60%','95%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i>&nbsp; 领取报告号</a>
+						</c:if>
+						<c:if test="${empty change}">
+							<a href="javascript:void(0)" onclick="openDialogres('新增报告文件', '${ctx}/projectcontentinfo/projectcontentinfo/form?view=report&dictType=${dictType}&id=${id}&parentIds=${parentIds}','95%','95%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i>&nbsp; 新增报告</a>
 						</c:if>
 						</div>
 					<div class="layui-item layui-col-xs12 form-table-container">

+ 27 - 4
src/main/webapp/webpage/modules/projectcontentinfo/reportForm.jsp

@@ -90,6 +90,29 @@
                 multipartUploadWithSts(storeAs, file, attachmentId, attachmentFlag, uploadPath, divId, "0");
             }
         }
+        
+        function selectNum() {
+			top.layer.open({
+				type: 2,
+				area: ['50%','95%'],
+				title:'选择报告号',
+				content: '${ctx}/projectreportnum/projectReportNum/select',
+				btn: ['确定','关闭'],
+				btn1: function(index, layero){
+					var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+					var item = iframeWin.getSelectedItem();
+					if(item === 'false'){
+						iframeWin.layer.msg('请选择一条数据', {icon: 5});
+					}else {
+						$("#number").val(item)
+						top.layer.close(index);//关闭对话框。
+					}
+				},
+				btn2: function(index){
+				}
+
+			})
+		}
         function openDialogre(title,url,width,height,formId){
 
             if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
@@ -285,16 +308,16 @@
 				</div>
 			</div>
 			<div class="layui-item layui-col-sm6">
-				<label class="layui-form-label">报告编号:</label>
+				<label class="layui-form-label"><span class="require-item">*</span>报告编号:</label>
 				<div class="layui-input-block">
 					<div class="input-group">
-						<form:input  path="projectReportData.number" readonly="true" htmlEscape="false"  class="form-control layui-input "/>
-						<span class="input-group-btn">
+						<form:input  path="projectReportData.number" onclick="selectNum()" id="number" htmlEscape="false" readonly="true" class="form-control layui-input required"/>
+						<span class="input-group-btn" onclick="selectNum()">
 								<label class="form-status">
 									<c:choose>
 										<c:when test="${not empty projectcontentinfo.projectReportData.status}">${fns:getDictLabel(projectcontentinfo.projectReportData.status, 'audit_state', '')}
 										</c:when>
-										<c:otherwise>新</c:otherwise>
+										<c:otherwise>新</c:otherwise>
 									</c:choose></label>
 							 </span>
 					</div>

+ 16 - 1
src/main/webapp/webpage/modules/projectcontentinfo/reportList.jsp

@@ -34,6 +34,20 @@
             $("#"+obj).show();
             $("#"+obj).siblings().hide();
         }
+
+		function openDialogWork1(title,url,width,height,target){
+			top.layer.open({
+				type: 2,
+				area: [width, height],
+				title: title,
+				maxmin: true, //开启最大化最小化按钮
+				content: url ,
+				btn: ['关闭'],
+				end:function(index){
+					top.layer.close(index)
+				}
+			});
+		}
         function openDialogre(title,url,width,height,target){
 
             if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
@@ -262,7 +276,8 @@
 			<div class="layui-form contentDetails">
 				<div class="nav-btns">
 					<c:if test="${empty change}">
-						<a href="javascript:void(0)" onclick="openDialogres('新增报告', '${ctx}/projectcontentinfo/projectcontentinfo/form?view=report&dictType=${dictType}&id=${id}&parentIds=${parentIds}','95%','95%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i>&nbsp; 新增</a>
+						<a href="javascript:void(0)" onclick="openDialogWork1('领取报告号', '${ctx}/projectreportnum/projectReportNum/list','60%','95%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i>&nbsp; 领取报告号</a>
+						<a href="javascript:void(0)" onclick="openDialogres('新增报告', '${ctx}/projectcontentinfo/projectcontentinfo/form?view=report&dictType=${dictType}&id=${id}&parentIds=${parentIds}','95%','95%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i>&nbsp; 新增报告</a>
 						<button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"><i class="glyphicon glyphicon-repeat"></i>&nbsp;刷新</button>
 					</c:if>
 					<div style="clear: both;"></div>

+ 2 - 0
src/main/webapp/webpage/modules/projectcontentinfo/reportView.jsp

@@ -344,6 +344,7 @@
 				</table>
 			</div>
 		</div>
+		<c:if test="${not empty projectcontentinfo.projectReportData.act.procInsId}">
 		<div class="form-group layui-row">
 			<div class="form-group-label"><h2>审批意见</h2></div>
 			<div class="layui-item layui-col-xs12 with-textarea" >
@@ -353,6 +354,7 @@
 				</div>
 			</div>
 		</div>
+		</c:if>
 		<c:if test="${not empty projectcontentinfo.projectReportData.act.procInsId}">
 		<div class="form-group layui-row">
 			<div class="form-group-label"><h2>审批流程</h2></div>

+ 124 - 0
src/main/webapp/webpage/modules/projectreportnum/projectReportNumList.jsp

@@ -0,0 +1,124 @@
+<%@ page import="com.jeeplus.modules.sys.utils.UserUtils" %>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>报告号</title>
+	<meta name="decorator" content="default"/>
+
+
+	<style>
+		.widthClass{
+			display: inline-block;
+		}
+		.shows .input-group{
+			width: 48%!important;
+		}
+	</style>
+	<style>
+		body{
+			background-color:transparent;
+			filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
+			color:#ffffff;
+			background-color:rgba(255,255,255,0);
+			height:100%;
+		}
+	</style>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<sys:message content="${message}"/>
+	<div class="layui-row">
+
+
+		<div class="full-width fl">
+			<div class="contentShadow layui-form contentDetails">
+				<div class="nav-btns">
+					<button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="getOne()" title="领取"><i class="fa fa-plus"></i>&nbsp;领一个</button>
+					<button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="getMore()" title="领取"><i class="fa fa-plus"></i>&nbsp;领多个</button>
+					<div style="clear: both;"></div>
+				</div>
+				<table class="oa-table layui-table" id="contentTable">
+				</table>
+
+				<div style="clear: both;"></div>
+			</div>
+		</div>
+	</div>
+</div>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+    layui.use('table', function(){
+        layui.table.render({
+            limit:${ page.pageSize }
+            ,elem: '#contentTable'
+            ,page: false
+            ,cols: [[
+                {field:'index',align:'center',width:120, title: '序号'},
+                {field:'num',align:'center',  title: '报告号'}
+				,{field:'op',align:'center',title:"操作",width:200,templet:function(d){
+						var xml = "";
+						 xml +="<a href=\"${ctx}/projectreportnum/projectReportNum/download?number=" +encodeURIComponent(encodeURIComponent( d.num ))+ "\"    class=\"op-btn op-btn-edit\"><i class=\"fa fa-edit\"></i> 生成报告模板</a>";
+						 return xml
+				}
+				}
+            ]]
+            ,data: [
+                <c:if test="${ not empty page.list}">
+                <c:forEach items="${page.list}" var="reportNum" varStatus="index">
+                <c:if test="${index.index != 0}">,</c:if>
+                {
+                    "index":"${index.index+1}"
+                    ,"num":"${reportNum.num}"
+                }
+                </c:forEach>
+                </c:if>
+            ]
+
+        });
+
+    })
+</script>
+<script>
+    resizeListWindow1();
+    $(window).resize(function(){
+        resizeListWindow1();
+    });
+</script>
+<script type="text/javascript">
+    $(document).ready(function() {
+
+
+    });
+    function getOne() {
+		$.ajax({
+			url:"${ctx}/projectreportnum/projectReportNum/save",
+			data:{type:"one"},
+			success:function (result) {
+				if(result.code == '1') {
+					layer.msg(result.msg, {icon: 1});
+					window.location.reload();
+				}else {
+					layer.msg(result.msg, {icon: 5});
+				}
+			}
+		})
+	}
+	function getMore() {
+		$.ajax({
+			url:"${ctx}/projectreportnum/projectReportNum/save",
+			data:{type:"more"},
+			success:function (result) {
+				if(result.code == '1') {
+					layer.msg(result.msg, {icon: 1});
+					window.location.reload();
+				}else {
+					layer.msg(result.msg, {icon: 5});
+				}
+			}
+		})
+	}
+
+</script>
+</body>
+</html>

+ 127 - 0
src/main/webapp/webpage/modules/projectreportnum/projectReportNumSel.jsp

@@ -0,0 +1,127 @@
+<%@ page import="com.jeeplus.modules.sys.utils.UserUtils" %>
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>选择报告号</title>
+	<meta name="decorator" content="default"/>
+
+
+	<style>
+		.widthClass{
+			display: inline-block;
+		}
+		.shows .input-group{
+			width: 48%!important;
+		}
+	</style>
+	<style>
+		body{
+			background-color:transparent;
+			filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
+			color:#ffffff;
+			background-color:rgba(255,255,255,0);
+			height:100%;
+		}
+	</style>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<sys:message content="${message}"/>
+	<div class="layui-row">
+
+
+		<div class="full-width fl">
+			<div class="contentShadow layui-form contentDetails">
+				<div class="nav-btns">
+					<button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="getOne()" title="领取"><i class="fa fa-plus"></i>&nbsp;领一个</button>
+					<button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="getMore()" title="领取"><i class="fa fa-plus"></i>&nbsp;领多个</button>
+					<div style="clear: both;"></div>
+				</div>
+				<table class="oa-table layui-table"  id="contentTable" lay-filter="contentTable">
+				</table>
+
+				<div style="clear: both;"></div>
+			</div>
+		</div>
+	</div>
+</div>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+    layui.use('table', function(){
+        layui.table.render({
+            limit:${ page.pageSize }
+            ,elem: '#contentTable'
+            ,page: false
+            ,cols: [[
+				{checkbox: true,width:80},
+                {field:'index',align:'center',width:120, title: '序号'},
+                {field:'num',align:'center',  title: '报告号'}
+            ]]
+            ,data: [
+                <c:if test="${ not empty page.list}">
+                <c:forEach items="${page.list}" var="reportNum" varStatus="index">
+                <c:if test="${index.index != 0}">,</c:if>
+                {
+                    "index":"${index.index+1}"
+                    ,"num":"${reportNum.num}"
+                }
+                </c:forEach>
+                </c:if>
+            ]
+
+        });
+
+
+    })
+</script>
+<script>
+    resizeListWindow1();
+    $(window).resize(function(){
+        resizeListWindow1();
+    });
+</script>
+<script type="text/javascript">
+   function getSelectedItem() {
+	   var checkStatus = layui.table.checkStatus('contentTable');
+       var  data = checkStatus.data;
+	   if(data.length !== 1 ){
+		   return 'false';
+	   }
+	   var num = data[0].num;
+	   return num
+   }
+
+   function getOne() {
+	   $.ajax({
+		   url:"${ctx}/projectreportnum/projectReportNum/save",
+		   data:{type:"one"},
+		   success:function (result) {
+			   if(result.code == '1') {
+				   layer.msg(result.msg, {icon: 1});
+				   window.location.reload();
+			   }else {
+				   layer.msg(result.msg, {icon: 5});
+			   }
+		   }
+	   })
+   }
+   function getMore() {
+	   $.ajax({
+		   url:"${ctx}/projectreportnum/projectReportNum/save",
+		   data:{type:"more"},
+		   success:function (result) {
+			   if(result.code == '1') {
+				   layer.msg(result.msg, {icon: 1});
+				   window.location.reload();
+			   }else {
+				   layer.msg(result.msg, {icon: 5});
+			   }
+		   }
+	   })
+   }
+
+
+</script>
+</body>
+</html>

+ 137 - 0
src/main/webapp/webpage/modules/projectreportnum/reportAuditProject.jsp

@@ -0,0 +1,137 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>造价审核项目</title>
+	<meta name="decorator" content="default"/>
+	<%--<%@include file="leadin.jsp" %>--%>
+	<!-- SUMMERNOTE -->
+	<%--<%@include file="/webpage/include/summernote.jsp" %>--%>
+	<link rel="stylesheet" href="${ctxp}/static/bootstrap/3.3.4/css_default/bootstrap.min.css"/>
+	<script type="text/javascript" src="${ctxp}/static/jquery/jquery-2.1.1.min.js"></script>
+	<script src="${ctxp}/static/bootstrap/3.3.4/js/bootstrap.min.js"></script>
+
+
+
+	<style type="text/css">
+		.ta_c{text-align: center;}
+		.w_m_600{width: 600px; margin: auto;}
+
+		.logo_t{width:100%; margin:auto;display: block;}
+		.logo_img{display: block;margin:auto;}
+
+		.bnt_blue{    background: #2489cc; color: #fff; border-radius: 0px;border: 0px; padding: 0 10px;}
+		.h_w{ height:100%;width:100%;}
+		.b_d{     position: absolute;bottom: 20px;text-align: center;display: block;width: 100%;}
+		.ts_b{    border: 1px solid #ccc;padding: 10px 20px;}
+		.f_b{    display: block;background: #2489cc; width: 100px;text-align: center; padding: 5px 20px;color: #fff;   margin: auto;font-size: 16px;}
+		.w_100{width:80%}
+	</style>
+</head>
+<body >
+	<div class="wrapper wrapper-content h_w">
+		<div class="panel panel-primary ">
+			<div class="panel-heading logo_t" style="background: #fff;color: #555;" >
+				<img class="logo_img w_100"  src="${ctxStatic}/common/img/xg_logo.png" />
+				<h6 class="panel-title ta_c">兴光工程咨询报告查询</h6>
+			</div>
+		<div class="panel-body">
+		<form:form id="inputForm" modelAttribute="projectRecords" class="form-horizontal">
+			<div class="form-group">
+				<label class="col-sm-4 control-label">项目名称:</label>
+				<div class="col-sm-6">
+					<form:input path="projectName" htmlEscape="false"  readonly="true"  class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">咨询项目类型:</label>
+				<div class="col-sm-6">
+					<input  htmlEscape="false"  readonly="readonly"  class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">工程编号:</label>
+				<div class="col-sm-6">
+					<form:input path="projectId" htmlEscape="false"  readonly="true"  class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">项目所在地:</label>
+				<div class="col-sm-6">
+					<form:input path="area.name" htmlEscape="false" readonly="true"   class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">委托单位:</label>
+				<div class="col-sm-6">
+					<form:input path="workContractInfo.client.name" htmlEscape="false" readonly="true"   class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">报告号:</label>
+				<div class="col-sm-6">
+					<form:input path="reportData.number" htmlEscape="false"  readonly="true"  class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">合同金额(元):</label>
+				<div class="col-sm-6">
+					<form:input path="reportData.contractFee" htmlEscape="false"  readonly="true"  class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">送审金额(元):</label>
+				<div class="col-sm-6">
+					<form:input path="reportData.reviewFee" htmlEscape="false"  readonly="true"  class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">审定金额(元):</label>
+				<div class="col-sm-6">
+					<form:input path="reportData.approvalFee" htmlEscape="false" readonly="true"   class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">核增核减金额(元):</label>
+				<div class="col-sm-6">
+					<form:input path="reportData.verifyFee" htmlEscape="false"  readonly="true"  class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">核增核减率%:</label>
+				<div class="col-sm-6">
+					<form:input path="reportData.verifyRate" htmlEscape="false" readonly="true"   class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">工作开始日期:</label>
+				<div class="col-sm-6">
+					<input  htmlEscape="false"  readonly="readonly" class="form-control " />
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">工作结束日期:</label>
+				<div class="col-sm-6">
+					<input  htmlEscape="false"  readonly="readonly"  class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">项目负责人:</label>
+				<div class="col-sm-6">
+					<form:input path="leaderNameStr" htmlEscape="false"  readonly="true"  class="form-control "/>
+				</div>
+			</div>
+			<div class="form-group">
+				<label class="col-sm-4 control-label">咨询人:</label>
+				<div class="col-sm-6">
+					<input  htmlEscape="false"  readonly="readonly"  class="form-control "/>
+				</div>
+			</div>
+	</form:form>
+		</div>
+		</div>
+	</div>
+</div>
+</div>
+</body>
+</html>

+ 6 - 6
src/main/webapp/webpage/modules/workinvoice/workInvoiceAudit.jsp

@@ -89,12 +89,12 @@
 					<input htmlEscape="false" readonly="true"   class="form-control layui-input" value="${workInvoice.project.workContractInfo.client.name}"/>
 				</div>
 			</div>
-			<div class="layui-item layui-col-sm6">
-				<label class="layui-form-label"><span class="require-item">*</span>所属部门:</label>
-				<div class="layui-input-block">
-					<input htmlEscape="false" readonly="true"   class="form-control layui-input" value="${workInvoice.office.name}"/>
-				</div>
-			</div>
+			<%--<div class="layui-item layui-col-sm6">--%>
+				<%--<label class="layui-form-label"><span class="require-item">*</span>所属部门:</label>--%>
+				<%--<div class="layui-input-block">--%>
+					<%--<input htmlEscape="false" readonly="true"   class="form-control layui-input" value="${workInvoice.office.name}"/>--%>
+				<%--</div>--%>
+			<%--</div>--%>
 		</div>
 		<div class="form-group layui-row first lw14">
 			<div class="form-group-label"><h2>发票详情</h2></div>

+ 6 - 6
src/main/webapp/webpage/modules/workinvoice/workInvoiceAuditEnd.jsp

@@ -435,12 +435,12 @@
 					<input htmlEscape="false" readonly="true"   class="form-control layui-input" value="${workInvoice.project.workContractInfo.client.name}"/>
 				</div>
 			</div>
-			<div class="layui-item layui-col-sm6">
-				<label class="layui-form-label"><span class="require-item">*</span>所属部门:</label>
-				<div class="layui-input-block">
-					<input htmlEscape="false" readonly="true"   class="form-control layui-input" value="${workInvoice.office.name}"/>
-				</div>
-			</div>
+			<%--<div class="layui-item layui-col-sm6">--%>
+				<%--<label class="layui-form-label"><span class="require-item">*</span>所属部门:</label>--%>
+				<%--<div class="layui-input-block">--%>
+					<%--<input htmlEscape="false" readonly="true"   class="form-control layui-input" value="${workInvoice.office.name}"/>--%>
+				<%--</div>--%>
+			<%--</div>--%>
 		</div>
 		<div class="form-group layui-row first lw14">
 			<div class="form-group-label"><h2>发票详情</h2></div>

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

@@ -383,13 +383,13 @@
 						<form:input id ="cName" path="project.workContractInfo.client.name" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
 					</div>
 				</div>
-				<div class="layui-item layui-col-sm6">
-					<label class="layui-form-label"><span class="require-item">*</span>所属部门:</label>
-					<div class="layui-input-block">
-						<form:input id ="officeName" path="office.name" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
-						<form:hidden path="office.id" id ="officeId" />
-					</div>
-				</div>
+				<%--<div class="layui-item layui-col-sm6">--%>
+					<%--<label class="layui-form-label"><span class="require-item">*</span>所属部门:</label>--%>
+					<%--<div class="layui-input-block">--%>
+						<%--<form:input id ="officeName" path="office.name" htmlEscape="false"  readonly="true" class="form-control layui-input"/>--%>
+						<%--<form:hidden path="office.id" id ="officeId" />--%>
+					<%--</div>--%>
+				<%--</div>--%>
 			</div>
 			<div class="form-group layui-row first lw14">
 				<div class="form-group-label"><h2>发票详情</h2></div>

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

@@ -383,13 +383,13 @@
 						<form:input id ="cName" path="project.workContractInfo.client.name" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
 					</div>
 				</div>
-				<div class="layui-item layui-col-sm6">
-					<label class="layui-form-label"><span class="require-item">*</span>所属部门:</label>
-					<div class="layui-input-block">
-						<form:input id ="officeName" path="office.name" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
-						<form:hidden path="office.id" id ="officeId" />
-					</div>
-				</div>
+				<%--<div class="layui-item layui-col-sm6">--%>
+					<%--<label class="layui-form-label"><span class="require-item">*</span>所属部门:</label>--%>
+					<%--<div class="layui-input-block">--%>
+						<%--<form:input id ="officeName" path="office.name" htmlEscape="false"  readonly="true" class="form-control layui-input"/>--%>
+						<%--<form:hidden path="office.id" id ="officeId" />--%>
+					<%--</div>--%>
+				<%--</div>--%>
 			</div>
 			<div class="form-group layui-row first lw14">
 				<div class="form-group-label"><h2>发票详情</h2></div>

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

@@ -83,12 +83,12 @@
 						<input htmlEscape="false" readonly="true"   class="form-control layui-input" value="${workInvoice.project.workContractInfo.client.name}"/>
 					</div>
 				</div>
-				<div class="layui-item layui-col-sm6">
-					<label class="layui-form-label"><span class="require-item">*</span>所属部门:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" readonly="true"   class="form-control layui-input" value="${workInvoice.office.name}"/>
-					</div>
-				</div>
+				<%--<div class="layui-item layui-col-sm6">--%>
+					<%--<label class="layui-form-label"><span class="require-item">*</span>所属部门:</label>--%>
+					<%--<div class="layui-input-block">--%>
+						<%--<input htmlEscape="false" readonly="true"   class="form-control layui-input" value="${workInvoice.office.name}"/>--%>
+					<%--</div>--%>
+				<%--</div>--%>
 			</div>
 			<div class="form-group layui-row first lw14">
 				<div class="form-group-label"><h2>发票详情</h2></div>

+ 56 - 0
src/main/webapp/webpage/modules/workreceiptsregister/workReceiptsDetailView.jsp

@@ -31,6 +31,14 @@
 					}
 				}
 			});
+
+			if("${workReceiptsRegister.ext}" == "1"){
+				$("#ext1").iCheck('check')
+				$("#divv").hide();
+			}else{
+				$("#ext").iCheck('check')
+				$("#divv").show();
+			}
 			
 		});
 
@@ -65,6 +73,54 @@
 		<form:form id="inputForm" modelAttribute="workReceiptsRegister" action="${ctx}/workreceiptsregister/workReceiptsRegister/saveDetail" method="post" class="form-horizontal">
 			<form:hidden path="id"/>
 			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>项目信息</h2></div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label"><span class="require-item">*</span>收入类型:</label>
+					<div class="layui-input-block">
+						<input type="radio" class="i-checks" name="ext" checked id="ext" value="0">
+						<label for="ext">项目收入</label>
+						<input type="radio" class="i-checks" name="ext" id="ext1" value="1">
+						<label for="ext1">非项目收入</label>
+							<%--<input type="text" name="title" lay-verify="title" autocomplete="off" readonly="true" placeholder="" class="layui-input" value="全过程管理用户01">--%>
+					</div>
+				</div>
+				<div id="divv">
+					<div class="layui-item layui-col-sm6 td1">
+						<label class="layui-form-label"><span class="require-item">*</span>收入项目:</label>
+						<div class="layui-input-block with-icon">
+							<%--<sys:gridselectcallprojectt url="${ctx}/workinvoice/workInvoice/selectproject" id="project" name="project.id"  value="${workReceiptsRegister.project.id}"  title="选择所属项目" labelName="workInvoice.project.projectName"--%>
+														<%--labelValue="${workReceiptsRegister.project.projectName}" cssClass="form-control required layui-input" fieldLabels="项目" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName" ></sys:gridselectcallprojectt>--%>
+							<form:input path="project.projectName" readonly="true" class="form-control layui-input"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6">
+						<label class="layui-form-label"><span class="require-item">*</span>项目编号:</label>
+						<div class="layui-input-block">
+							<form:input id ="pNumber" path="project.projectId" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6">
+						<label class="layui-form-label"><span class="require-item">*</span>合同名称:</label>
+						<div class="layui-input-block">
+							<form:input id ="cInfoName" path="project.workContractInfo.name" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
+						</div>
+					</div>
+
+					<div class="layui-item layui-col-sm6">
+						<label class="layui-form-label"><span class="require-item">*</span>委托方:</label>
+						<div class="layui-input-block">
+							<form:input id ="cName" path="project.workContractInfo.client.name" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6">
+						<label class="layui-form-label"><span class="require-item">*</span>合同金额:</label>
+						<div class="layui-input-block">
+							<form:input id ="cMoney" path="project.workContractInfo.contractPrice" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
+						</div>
+					</div>
+				</div>
+			</div>
+			<div class="form-group layui-row first">
 				<div class="form-group-label"><h2>登记信息</h2></div>
 				<div class="layui-item layui-col-sm6">
 					<label class="layui-form-label"><span class="require-item">*</span>到账时间:</label>

+ 88 - 0
src/main/webapp/webpage/modules/workreceiptsregister/workReceiptsRegisterForm.jsp

@@ -37,8 +37,48 @@
 			            event: 'focus', //响应事件。如果没有传入event,则按照默认的click
                         type : 'date'
 			        });
+
+			if("${workReceiptsRegister.ext}" == "1"){
+				$("#ext1").iCheck('check')
+			}else{
+				$("#ext").iCheck('check')
+			}
+
+			$("input[name='ext']").on('ifChecked',function(event){
+				radioVal = $(this).val();
+				if(radioVal == 0){
+
+					// $("#workClientLinkmanList tr").remove();
+					$("#divv").show();
+
+				}else{
+					$("#divv input").val('');
+					// $("#workClientLinkmanList tr").remove();
+					$("#divv").hide();
+
+				}
+			});
 		});
 
+		function setPNumber(obj){
+			$.ajax({
+				type:'post',
+				url:'${ctx}/workinvoice/workInvoice/getPNumber',
+				data:{
+					"obj":obj
+				},
+				success:function(data){
+					var d = JSON.parse(data);
+					$("#pNumber").val(d.pNumber);
+					$("#cInfoName").val(d.cInfoName);
+					$("#cName").val(d.cName);
+					$("#cMoney").val(d.cMoney);
+					// $("#officeName").val(d.officeName);
+					// $("#officeId").val(d.officeId);
+				}
+			})
+		}
+
         function formatNum(obj) {
             var val = $(obj).val();
             if(val==null||val==''|| isNaN(val))return;
@@ -75,7 +115,55 @@
 		<form:form id="inputForm" modelAttribute="workReceiptsRegister" action="${ctx}/workreceiptsregister/workReceiptsRegister/save" method="post" class="form-horizontal">
 			<form:hidden path="id"/>
 			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>项目信息</h2></div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label"><span class="require-item">*</span>收入类型:</label>
+					<div class="layui-input-block">
+						<input type="radio" class="i-checks" name="ext" checked id="ext" value="0">
+						<label for="ext">项目收入</label>
+						<input type="radio" class="i-checks" name="ext" id="ext1" value="1">
+						<label for="ext1">非项目收入</label>
+							<%--<input type="text" name="title" lay-verify="title" autocomplete="off" readonly="true" placeholder="" class="layui-input" value="全过程管理用户01">--%>
+					</div>
+				</div>
+				<div id="divv">
+				<div class="layui-item layui-col-sm6 td1">
+					<label class="layui-form-label"><span class="require-item">*</span>收入项目:</label>
+					<div class="layui-input-block with-icon">
+						<sys:gridselectcallprojectt url="${ctx}/workinvoice/workInvoice/selectproject" id="project" name="project.id"  value="${workReceiptsRegister.project.id}"  title="选择所属项目" labelName="workInvoice.project.projectName"
+													labelValue="${workReceiptsRegister.project.projectName}" cssClass="form-control required layui-input" fieldLabels="项目" fieldKeys="projectName" searchLabel="项目名称" searchKey="projectName" ></sys:gridselectcallprojectt>
+					</div>
+				</div>
+					<div class="layui-item layui-col-sm6">
+						<label class="layui-form-label"><span class="require-item">*</span>项目编号:</label>
+						<div class="layui-input-block">
+							<form:input id ="pNumber" path="project.projectId" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
+						</div>
+					</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label"><span class="require-item">*</span>合同名称:</label>
+					<div class="layui-input-block">
+						<form:input id ="cInfoName" path="project.workContractInfo.name" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
+					</div>
+				</div>
+
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label"><span class="require-item">*</span>委托方:</label>
+					<div class="layui-input-block">
+						<form:input id ="cName" path="project.workContractInfo.client.name" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
+					</div>
+				</div>
+					<div class="layui-item layui-col-sm6">
+						<label class="layui-form-label"><span class="require-item">*</span>合同金额:</label>
+						<div class="layui-input-block">
+							<form:input id ="cMoney" path="project.workContractInfo.contractPrice" htmlEscape="false"  readonly="true" class="form-control layui-input"/>
+						</div>
+					</div>
+				</div>
+			</div>
+			<div class="form-group layui-row first">
 				<div class="form-group-label"><h2>登记信息</h2></div>
+
 				<div class="layui-item layui-col-sm6">
 					<label class="layui-form-label"><span class="require-item">*</span>到账时间:</label>
 					<div class="layui-input-block">

+ 11 - 10
src/main/webapp/webpage/modules/workreceiptsregister/workReceiptsRegisterList.jsp

@@ -108,15 +108,16 @@
                                 </input>
                             </div>
                         </div>
-                        <div class="layui-item query athird">
-                            <label class="layui-form-label">收入状态:</label>
-                            <div class="layui-input-block">
-                                <form:select path="status" htmlEscape="false" maxlength="255"  class=" form-control simple-select">
-                                    <form:option value="0" label="未登记"/>
-                                    <form:option value="1" label="已登记"/>
-                                </form:select>
-                            </div>
-                        </div>
+                        <%--<div class="layui-item query athird">--%>
+                            <%--<label class="layui-form-label">收入状态:</label>--%>
+                            <%--<div class="layui-input-block">--%>
+                                <%--<form:select path="status" htmlEscape="false" maxlength="255"  class=" form-control simple-select">--%>
+									<%--<form:option  value="" label=""/>--%>
+                                    <%--<form:option value="0" label="未登记"/>--%>
+                                    <%--<form:option value="1" label="已登记"/>--%>
+                                <%--</form:select>--%>
+                            <%--</div>--%>
+                        <%--</div>--%>
 						<div style="clear:both;"></div>
 					</div>
 				</form:form>
@@ -159,7 +160,7 @@
                 // {checkbox: true, fixed: true},
                 {field:'index',align:'center', title: '序号',width:40}
                 ,{field:'arrivalDate',align:'center', title: '到账时间',minWidth:100, templet:function(d){
-                        var xml = "<a class=\"attention-info\" href=\"javascript:void(0)\" onclick=\"openDialogView('查看报销单', '${ctx}/workreceiptsregister/workReceiptsRegister/view?id=" + d.id + "','95%','95%')\">" +
+                        var xml = "<a class=\"attention-info\" href=\"javascript:void(0)\" onclick=\"openDialogView('查看', '${ctx}/workreceiptsregister/workReceiptsRegister/view?id=" + d.id + "','95%','95%')\">" +
                             d.arrivalDate + "</a>";
                         return xml;
                     }}

+ 9 - 0
src/main/webapp/webpage/modules/workreimbursement/workReimbursementFormAdd.jsp

@@ -538,6 +538,15 @@
                                                labelValue="${workReimbursement.project.projectName}" cssClass="form-control required layui-input" fieldLabels="工程" fieldKeys="projectName" searchLabel="工程名称" searchKey="projectName" ></sys:gridselectReproject>
                 </div>
             </div>
+            <%--<div class="layui-item layui-col-sm6">--%>
+                <%--<label class="layui-form-label">报销类别:</label>--%>
+                <%--<div class="layui-input-block">--%>
+                    <%--<form:select id="type" path="type" class="form-control simple-select ">--%>
+                        <%--<form:option value="" label=""/>--%>
+                        <%--<form:options items="${fns:getDictList('reimbursement_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>--%>
+                    <%--</form:select>--%>
+                <%--</div>--%>
+            <%--</div>--%>
             <%--<div class="layui-item layui-col-sm6 td1">
                 <label class="layui-form-label">项目负责人:</label>
                 <div class="layui-input-block">

+ 6 - 0
src/main/webapp/webpage/modules/workreimbursement/workReimbursementFormDetail.jsp

@@ -120,6 +120,12 @@
                 <input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${workReimbursement.project.projectName}"/>
             </div>
         </div>
+        <%--<div class="layui-item layui-col-sm6">--%>
+            <%--<label class="layui-form-label">报销类别:</label>--%>
+            <%--<div class="layui-input-block">--%>
+                <%--<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${fns:getDictLabel(workReimbursement.type, 'reimbursement_type','')}"/>--%>
+            <%--</div>--%>
+        <%--</div>--%>
         <%--<div class="layui-item layui-col-sm6 td1">
             <label class="layui-form-label">项目负责人:</label>
             <div class="layui-input-block">

+ 270 - 0
src/main/webapp/webpage/modules/workstaff/workAddressBookList.jsp

@@ -0,0 +1,270 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>员工通讯录</title>
+	<meta name="decorator" content="default"/>
+    <style>
+        body{
+            background-color:transparent;
+            filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
+            color:#ffffff;
+            background-color:rgba(255,255,255,0);
+            height:100%;
+        }
+    </style>
+    <script type="text/javascript">
+        $(document).ready(function() {
+            $("#cus_name").show();
+            $("#cus_name").siblings().hide();
+            //搜索框收放
+            $('#moresee').click(function(){
+                if($('#moresees').is(':visible'))
+                {
+                    $('#moresees').slideUp(0,resizeListWindow1);
+                    $('#moresee i').removeClass("glyphicon glyphicon-menu-up").addClass("glyphicon glyphicon-menu-down");
+                }else{
+                    $('#moresees').slideDown(0,resizeListWindow1);
+                    $('#moresee i').removeClass("glyphicon glyphicon-menu-down").addClass("glyphicon glyphicon-menu-up");
+                }
+            });
+            laydate.render({
+                elem: '#beginEntryDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+                event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+                type : 'date'
+            });
+            laydate.render({
+                elem: '#endEntryDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+                event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+                type : 'date'
+            });
+
+        });
+
+        function openDialog(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,
+                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(index) ){
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                    return false;
+                },
+                btn2: function (index) {
+
+                }
+            });
+        }
+
+        function setParentInfo(ids,names,nos,salarys){
+            return;
+        }
+	</script>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+    <sys:message content="${message}"/>
+    <div class="layui-row">
+        <div class="full-width fl">
+            <div class="contentShadow layui-row" id="queryDiv">
+            <form:form id="searchForm" modelAttribute="workStaffBasicInfo" action="${ctx}/workstaff/workStaffBasicInfo/addressbook" method="post" class="form-inline">
+                <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+                <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+                <table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
+                <div class="commonQuery">
+                    <div class="layui-item query athird">
+                        <label class="layui-form-label">姓    名:</label>
+                        <div class="layui-input-block">
+                            <form:input path="name" htmlEscape="false" maxlength="64"  class=" form-control layui-input"/>
+                        </div>
+                    </div>
+                    <div class="layui-item query athird">
+                        <label class="layui-form-label">部门:</label>
+                        <div class="layui-input-block with-icon">
+                            <sys:treeselect id="office" name="office.id" value="${workStaffBasicInfo.office.id}" labelName="office.name" labelValue="${workStaffBasicInfo.office.name}"
+                                            title="部门" url="/sys/office/treeData?type=2" cssClass="form-control layui-input required" notAllowSelectParent="true"/>
+                        </div>
+                    </div>
+                    <div class="layui-item athird fr">
+                        <div class="input-group">
+                            <a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>
+                            <button id="searchReset" class="fixed-btn searchReset fr" onclick="resetSearch()">重置</button>
+                            <button id="searchQuery" class="fixed-btn searchQuery fr" onclick="search()">查询</button>
+                        </div>
+                    </div>
+                    <div style="    clear:both;"></div>
+                </div>
+                <div id="moresees" style="clear:both;display:none;">
+                    <div class="layui-item query athird">
+                        <label class="layui-form-label">工    号:</label>
+                        <div class="layui-input-block">
+                            <form:input path="no" htmlEscape="false" maxlength="10"  class=" form-control layui-input"/>
+                        </div>
+                    </div>
+                    <div class="layui-item query athird">
+                        <label class="layui-form-label">移动电话:</label>
+                        <div class="layui-input-block">
+                            <form:input path="mobile" htmlEscape="false" maxlength="64"  class=" form-control layui-input"/>
+                        </div>
+                    </div>
+                    <%--<div class="layui-item query athird">--%>
+                        <%--<label class="layui-form-label">部门:</label>--%>
+                        <%--<div class="layui-input-block with-icon">--%>
+                            <%--<sys:treeselect id="office" name="office.id" value="${workStaffBasicInfo.office.id}" labelName="office.name" labelValue="${workStaffBasicInfo.office.name}"--%>
+                                            <%--title="部门" url="/sys/office/treeData?type=2" cssClass="form-control layui-input required" notAllowSelectParent="true"/>--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <div class="layui-item query athird">
+                        <label class="layui-form-label">职级:</label>
+                        <div class="layui-input-block with-icon">
+                            <sys:treeselectJobGrade id="jobGrade" name="jobGrade.id" value="${workStaffBasicInfo.jobGrade.id}" labelName="jobGrade.name" labelValue="${workStaffBasicInfo.jobGrade.name}"
+                                                    title="职级类型" url="/workjobgrade/workJobGrade/treeData"  cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
+                        </div>
+                    </div>
+                    <div class="layui-item query athird">
+                        <label class="layui-form-label">员工状态:</label>
+                        <div class="layui-input-block">
+                            <form:select path="status" class="form-control simple-select required">
+                                <form:option value="" label=""/>
+                                <form:options items="${fns:getDictList('staff_status')}" itemLabel="label" itemValue="label" htmlEscape="false"/>
+                            </form:select>
+                        </div>
+                    </div>
+                    <%--<div class="layui-item query athird">--%>
+                        <%--<label class="layui-form-label">入职日期:</label>--%>
+                        <%--<div class="layui-input-block">--%>
+                            <%--<input id="beginEntryDate" name="beginEntryDate" type="text" placeholder="开始时间" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"--%>
+                                   <%--value="<fmt:formatDate value="${workStaffBasicInfo.beginEntryDate}" pattern="yyyy-MM-dd"/>"/>--%>
+                            <%--</input>--%>
+                            <%--<span class="group-sep">-</span>--%>
+                            <%--<input id="endEntryDate" name="endEntryDate" type="text" placeholder="结束时间" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"--%>
+                                   <%--value="<fmt:formatDate value="${workStaffBasicInfo.endEntryDate}" pattern="yyyy-MM-dd"/>"/>--%>
+                            <%--</input>--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <%--<div class="layui-item query athird">--%>
+                        <%--<label class="layui-form-label">操作:</label>--%>
+
+                    <%--</div>--%>
+                </div>
+            </form:form>
+	        </div>
+	    </div>
+
+        <div class="full-width fl">
+            <div class="contentShadow layui-form contentDetails">
+                <div class="nav-btns">
+                    <%--<shiro:hasPermission name="workstaff:workStaffBasicInfo:add">--%>
+                        <%--<table:addRow url="${ctx}/workstaff/workStaffBasicInfo/form" title="员工信息"></table:addRow><!-- 增加按钮 -->--%>
+                    <%--</shiro:hasPermission>--%>
+                    <button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"><i class="glyphicon glyphicon-repeat"></i>&nbsp;刷新</button>
+                    <div style="clear: both;"></div>
+                </div>
+                <table class="oa-table layui-table" id="contentTable"></table>
+
+                <!-- 分页代码 -->
+                <table:page page="${page}"></table:page>
+                <div style="clear: both;"></div>
+            </div>
+        </div>
+    </div>
+    <div id="changewidth"></div>
+</div>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+    layui.use('table', function(){
+        layui.table.render({
+            limit:${ page.pageSize }
+            ,elem: '#contentTable'
+            ,page: false
+            ,cols: [[
+                {field:'index',align:'center', title: '序号',width:40}
+                ,{field:'no',align:'center', title: '工号',minWidth:100,templet:function(d){
+                        var xml = "<a class=\"attention-info\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看员工信息', '${ctx}/workstaff/workStaffBasicInfo/addressbookview?id="+d.id+"','95%','95%')\">" +
+                            "<span title=" + d.no + ">" + d.no + "</span></a>";
+                        return xml;
+                    }}
+                ,{field:'name',align:'center', title: '姓名',minWidth:100,templet:function(d){
+                    var xml = "<a class=\"attention-info\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看员工信息', '${ctx}/workstaff/workStaffBasicInfo/addressbookview?id="+d.id+"','95%','95%')\">" +
+                        "<span title=" + d.name + ">" + d.name + "</span></a>";
+                    return xml;
+                }}
+                // ,{field:'idCard',align:'center', title: '身份证号码',minWidth:150}
+                ,{field:'mobile',align:'center', title: '移动电话', minWidth:100}
+                ,{field:'office',align:'center', title: '部门', minWidth:100}
+                // ,{field:'role',align:'center', title: '岗位', minWidth:100}
+                ,{field:'jobGrade',align:'center', title: '职级', minWidth:100}
+                ,{field:'status',align:'center', title: '员工状态', minWidth:80}
+                // ,{field:'entryDate', align:'center',sort:true,title: '入职日期',width:100}
+                <%--,{field:'op',align:'center',title:"操作",width:130,templet:function(d){--%>
+                        <%--////对操作进行初始化--%>
+                        <%--var xml = "";--%>
+
+                        <%--if(d.canedit != undefined && d.canedit == "1")--%>
+                            <%--xml +="<a href=\"javascript:void(0)\" onclick=\"openDialog('修改', '${ctx}/workstaff/workStaffBasicInfo/form?id="+ d.id + "','95%','95%')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";--%>
+
+                        <%--if(d.candelete != undefined && d.candelete == "1")--%>
+                            <%--xml +="<a href=\"${ctx}/workstaff/workStaffBasicInfo/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除信息吗?', this.href)\"   class=\"op-btn op-btn-delete\"><i class=\"fa fa-trash\"></i> 删除</a>";--%>
+                        <%--return xml;--%>
+                    <%--}}--%>
+            ]]
+            ,data: [
+                <c:if test="${ not empty page.list}">
+                <c:forEach items="${page.list}" var="workStaffBasicInfo" varStatus="index">
+                <c:if test="${index.index != 0}">,</c:if>
+                {
+                    "index":"${index.index+1}"
+                    ,"id":"${workStaffBasicInfo.id}"
+                    <%--,"role":"${workStaffBasicInfo.roleName}"--%>
+                    ,"no":"<c:out value="${workStaffBasicInfo.no}" escapeXml="true"/>"
+                    ,"name":"<c:out value="${workStaffBasicInfo.name}" escapeXml="false"/>"
+                    <%--,"idCard":"<c:out value="${workStaffBasicInfo.idCard}" escapeXml="true"/>"--%>
+                    ,'mobile':"<c:out value="${workStaffBasicInfo.mobile}" escapeXml="true"/>"
+                    ,'office':"<c:out value="${workStaffBasicInfo.office.name}" escapeXml="true"/>"
+                    ,'jobGrade':"<c:out value="${workStaffBasicInfo.jobGrade.name}" escapeXml="true"/>"
+                    ,'status':"<c:out value="${workStaffBasicInfo.status}" escapeXml="true"/>"
+                    <%--,"entryDate":"<fmt:formatDate value="${workStaffBasicInfo.entryDate}" pattern="yyyy-MM-dd"/>"--%>
+                    <%--<shiro:hasPermission name="workstaff:workStaffBasicInfo:edit">,"canedit":"1"</shiro:hasPermission>--%>
+                    <%--<shiro:hasPermission name="workstaff:workStaffBasicInfo:del">,"candelete":"1"</shiro:hasPermission>--%>
+                }
+                </c:forEach>
+                </c:if>
+            ]
+        });
+
+    })
+
+    resizeListTable(130);/*消除由于有竖向滚动条造成table出现横向滚动条*/
+    $("a").on("click",addLinkVisied);
+</script>
+<script>
+    resizeListWindow1();
+    $(window).resize(function(){
+        resizeListWindow1();
+    });
+</script>
+</body>
+</html>

+ 803 - 0
src/main/webapp/webpage/modules/workstaff/workAddressBookView.jsp

@@ -0,0 +1,803 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>员工信息管理</title>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript">
+		$(document).ready(function() {
+            cacuAge('${workStaffBasicInfo.idCard}','1');
+		});
+	</script>
+    <script type="text/javascript">
+
+        function cacuAge(idCard,type){
+            if(type=='1'){
+                var pattern = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
+                if(!pattern.test(idCard)){
+                    return;
+                }
+            }
+            var age = 0;
+            var year='';
+            var months='';
+            var days='';
+            if(idCard.length==15){
+                year = "19"+idCard.substring(6,8);
+                months=idCard.substring(8,10);//截取身份证上的月
+                days=idCard.substring(10,12);//截取身份证上的日
+            }else {
+                year=idCard.substring(6,10);//截取身份证上的年
+                months=idCard.substring(10,12);//截取身份证上的月
+                days=idCard.substring(12,14);//截取身份证上的日
+            }
+
+            var myDate = new Date();
+            var month = myDate.getMonth() + 1;
+            var day = myDate.getDate();
+            age = myDate.getFullYear() - year - 1;
+            if (months< month || months == month && days <= day) {
+                age++;
+            }
+            if(age<0)age=0;
+            $("#age").val(age);
+        }
+    </script>
+</head>
+<body>
+    <div class="single-form">
+        <div class="container view-form">
+            <form:form id="inputForm" modelAttribute="workStaffBasicInfo" action="${ctx}/workstaff/workStaffBasicInfo/save" enctype="multipart/form-data" method="post" class="form-horizontal">
+                <form:hidden path="id"/>
+                <form:hidden path="userId"/>
+                <div class="form-group layui-row first">
+                    <div class="form-group-label"><h2>基本信息</h2></div>
+                    <div class="layui-item layui-col-sm6 lw7" style="padding-right: 0;">
+                        <div class="layui-item layui-col-sm12">
+                            <label class="layui-form-label">工    号:</label>
+                            <div class="layui-input-block">
+                                <form:input path="no" htmlEscape="false" readonly="true" class="form-control  layui-input"/>
+                            </div>
+                        </div>
+                        <div class="layui-item layui-col-sm12">
+                            <label class="layui-form-label">性    别:</label>
+                            <div class="layui-input-block">
+                                <input value="${fns:getDictLabel(workStaffBasicInfo.gender,'sex','')}" type="text" readonly="true" class="form-control  layui-input" />
+                                <input name="gender" value="${workStaffBasicInfo.gender}" type="hidden" readonly="true" class="form-control  layui-input" />
+                            </div>
+                        </div>
+                        <div class="layui-item layui-col-sm12">
+                            <label class="layui-form-label">出生日期:</label>
+                            <div class="layui-input-block">
+                                <input name="birthday" value="<fmt:formatDate value="${workStaffBasicInfo.birthday}" pattern="yyyy-MM-dd"/>" type="text" readonly="true" class="form-control  layui-input" />
+                            </div>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <div style="margin-right: 120px;">
+                            <div class="layui-item layui-col-sm12">
+                                <label class="layui-form-label">姓    名:</label>
+                                <div class="layui-input-block">
+                                    <form:input path="name" htmlEscape="false" readonly="true" class="form-control layui-input required"/>
+                                </div>
+                            </div>
+                            <div class="layui-item layui-col-sm12">
+                                <label class="layui-form-label">民    族:</label>
+                                <div class="layui-input-block">
+                                    <input value="${fns:getDictLabel(workStaffBasicInfo.nation,'nation_type','')}" type="text" readonly="true" class="form-control  layui-input" />
+                                    <input name="nation" value="${workStaffBasicInfo.nation}" type="hidden" readonly="true" class="form-control  layui-input" />
+                                </div>
+                            </div>
+                            <div class="layui-item layui-col-sm12">
+                                <label class="layui-form-label">年    龄:</label>
+                                <div class="layui-input-block">
+                                    <form:input path="age" htmlEscape="false" readonly="true" class="form-control  layui-input required"/>
+                                </div>
+                            </div>
+                        </div>
+                        <div class="profile_box_wrapper">
+                            <div class="profile_box">
+                                <div id="this_upload_image_div_1">
+                                    <div id="this_upload_div_1" style="position:relative;">
+                                        <c:choose>
+                                            <c:when test="${not empty workStaffBasicInfo.picture}">
+                                                <%--<span id="this_upload_close_1" class="pic_close glyphicon glyphicon-remove" onclick="this_close_img(1)"></span>--%>
+                                                <img alt="_blank" id="this_upload_image_1" class="upload_ico" style="cursor:pointer;"  src="${workStaffBasicInfo.picture}" />
+                                            </c:when>
+                                            <c:otherwise>
+                                                <img alt="_blank" id="this_upload_image_1" class="upload_ico" style="cursor:pointer;"  src="${pageContext.request.contextPath}/static/common/img/pic_add.png" />
+                                            </c:otherwise>
+                                        </c:choose>
+                                        <input id="this_upload_file_1" type="file" style="display:none"  name="pictureFile"  onchange="this_upload_show_image(1)"  class="form-control"/>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">电子邮箱:</label>
+                        <div class="layui-input-block">
+                            <form:input path="email" htmlEscape="false" readonly="true" class="form-control layui-input email"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">移动电话:</label>
+                        <div class="layui-input-block">
+                            <form:input path="mobile" htmlEscape="false" readonly="true" class="form-control  layui-input"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">座机:</label>
+                        <div class="layui-input-block">
+                            <form:input path="phone" readonly="true" htmlEscape="false"  class="form-control  layui-input"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label"><span class="require-item">*</span>归属部门:</label>
+                        <div class="layui-input-block">
+                            <input name="office.name" value="${workStaffBasicInfo.office.name}" type="text" readonly="true" class="form-control  layui-input" />
+                            <input name="office.id" value="${workStaffBasicInfo.office.id}" type="hidden" readonly="true" class="form-control  layui-input" />
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label"><span class="require-item">*</span>岗   位:</label>
+                        <div class="layui-input-block ">
+                            <input id="roleName" value="${workStaffBasicInfo.roleName}" type="text" readonly class="form-control layui-input" />
+                        </div>
+                    </div>
+                    <%--<div class="layui-item layui-col-sm6 lw7">--%>
+                        <%--<label class="layui-form-label">职    位:</label>--%>
+                        <%--<div class="layui-input-block">--%>
+                            <%--<input name="duty" value="${workStaffBasicInfo.duty}" type="text" readonly="true" class="form-control  layui-input" />--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">职    级:</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="jobGrade.name" htmlEscape="false"  readonly="true"  class="form-control layui-input required"/>
+                            <form:hidden path="jobGrade.id" htmlEscape="false"  readonly="true"  class="form-control layui-input required"/>
+                        </div>
+                    </div>
+                    <%--<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">--%>
+                            <%--<input id="salary" htmlEscape="false" readonly value="<fmt:formatNumber pattern="#,##0.00#" value="${workStaffBasicInfo.salary}"/>" class="form-control layui-input"/>--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <%--<div class="layui-item layui-col-sm6 lw7">--%>
+                        <%--<label class="layui-form-label double-line"><span class="require-item">*</span>是否 TS人员:</label>--%>
+                        <%--<div class="layui-input-block">--%>
+                            <%--<input value="${fns:getDictLabel(workStaffBasicInfo.ts,'yes_no','')}" type="text" readonly="true" class="form-control  layui-input" />--%>
+                            <%--<input name="ts" value="${workStaffBasicInfo.ts}" type="hidden" readonly="true" class="form-control  layui-input" />--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label"><span class="require-item">*</span>员工状态:</label>
+                        <div class="layui-input-block">
+                            <input name="status" value="${workStaffBasicInfo.status}" type="text" readonly="true" class="form-control  layui-input" />
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label"><span class="require-item">*</span>入职日期:</label>
+                        <div class="layui-input-block">
+                            <input name="entryDate" value="<fmt:formatDate value="${workStaffBasicInfo.entryDate}" pattern="yyyy-MM-dd"/>" type="text" readonly="true" class="form-control  layui-input" />
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label double-line"><span class="require-item">*</span>参加工作日期:</label>
+                        <div class="layui-input-block">
+                            <input name="workDate" value="<fmt:formatDate value="${workStaffBasicInfo.workDate}" pattern="yyyy-MM"/>" type="text" readonly="true" class="form-control  layui-input" />
+                        </div>
+                    </div>
+                    <%--<div class="layui-item layui-col-sm6 lw7">--%>
+                        <%--<label class="layui-form-label">开户银行:</label>--%>
+                        <%--<div class="layui-input-block">--%>
+                            <%--<input name="bankName" value="${workStaffBasicInfo.bankName}" type="text" readonly="true" class="form-control  layui-input" />--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <%--<div class="layui-item layui-col-sm6 lw7">--%>
+                        <%--<label class="layui-form-label">银行卡号:</label>--%>
+                        <%--<div class="layui-input-block">--%>
+                            <%--<form:input path="bankCard" htmlEscape="false" readonly="true" class="form-control layui-input digits"/>--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">婚姻状况:</label>
+                        <div class="layui-input-block">
+                            <input name="marriage" value="${workStaffBasicInfo.marriage}" type="text" readonly="true" class="form-control  layui-input" />
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">政治面貌:</label>
+                        <div class="layui-input-block">
+                            <input name="politics" value="${workStaffBasicInfo.politics}" type="text" readonly="true" class="form-control  layui-input" />
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label double-line">是否退伍军人:</label>
+                        <div class="layui-input-block">
+                            <input name="exSoldier" value="${fns:getDictLabel(workStaffBasicInfo.exSoldier,'yes_no','')}" type="text" readonly="true" class="form-control  layui-input" />
+                        </div>
+                    </div>
+                    <%--<div class="layui-item layui-col-sm6 lw7">--%>
+                        <%--<label class="layui-form-label">常住地址:</label>--%>
+                        <%--<div class="layui-input-block">--%>
+                            <%--<form:input path="address" htmlEscape="false" readonly="true" class="form-control layui-input"/>--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">籍    贯:</label>
+                        <div class="layui-input-block">
+                            <input name="nativePlace.name" value="${workStaffBasicInfo.nativePlace.name}" type="text" readonly="true" class="form-control  layui-input" />
+                        </div>
+                    </div>
+                    <%--<div class="layui-item layui-col-sm6 lw7">--%>
+                        <%--<label class="layui-form-label">户口所在地:</label>--%>
+                        <%--<div class="layui-input-block">--%>
+                            <%--<form:input path="household" htmlEscape="false" readonly="true" class="form-control layui-input"/>--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <%--<div class="layui-item layui-col-sm6 lw7">--%>
+                        <%--<label class="layui-form-label double-line"><span class="require-item">*</span>从事本行业日期:</label>--%>
+                        <%--<div class="layui-input-block">--%>
+                            <%--<input id="industryDate" name="industryDate" type="text" maxlength="20" readonly class="form-control layui-input"--%>
+                                   <%--value="<fmt:formatDate value="${workStaffBasicInfo.industryDate}" pattern="yyyy-MM"/>"/>--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <%--<div class="layui-item layui-col-sm6 lw7">--%>
+                        <%--<label class="layui-form-label double-line">试用期结束日期:</label>--%>
+                        <%--<div class="layui-input-block">--%>
+                            <%--<input id="tryEndTime"  type="text" maxlength="20" readonly class="form-control layui-input"--%>
+                                   <%--value="<fmt:formatDate value="${workStaffBasicInfo.tryEndTime}" pattern="yyyy-MM-dd"/>"/>--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <%--<div class="layui-item layui-col-sm6 lw7">--%>
+                        <%--<label class="layui-form-label">离职日期:</label>--%>
+                        <%--<div class="layui-input-block">--%>
+                            <%--<input id="dimissionDate"  type="text" maxlength="20" readonly class="form-control layui-input"--%>
+                                   <%--value="<fmt:formatDate value="${workStaffBasicInfo.dimissionDate}" pattern="yyyy-MM-dd"/>"/>--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                    <%--<div class="layui-item layui-col-sm6 lw7">--%>
+                        <%--<label class="layui-form-label double-line">考勤截止日期:</label>--%>
+                        <%--<div class="layui-input-block">--%>
+                            <%--<input id="workEndDate"  type="text" maxlength="20" readonly class="form-control layui-input"--%>
+                                   <%--value="<fmt:formatDate value="${workStaffBasicInfo.workEndDate}" pattern="yyyy-MM-dd"/>"/>--%>
+                        <%--</div>--%>
+                    <%--</div>--%>
+                </div>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>教育经历</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="educationTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="12%"><span class="require-item">*</span>毕业院校</th>--%>
+                                <%--<th width="12%">所学专业</th>--%>
+                                <%--<th width="12%"><span class="require-item">*</span>学    历</th>--%>
+                                <%--<th width="12%">学    位</th>--%>
+                                <%--<th width="12%"><span class="require-item">*</span>学历性质</th>--%>
+                                <%--<th width="10%"><span class="require-item">*</span>入学日期</th>--%>
+                                <%--<th width="10%">毕业日期</th>--%>
+                                <%--<th width="10%">学历证书</th>--%>
+                                <%--<th width="10%">学位证书</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="educationList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.educationList}" var="education" varStatus="varStatus">--%>
+                                <%--<tr>--%>
+                                    <%--<td>--%>
+                                        <%--${education.school}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${education.major}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                            <%--${fns:getDictLabel(education.edu,'education_level','')}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                            <%--${fns:getDictLabel(education.degree,'degree_level','')}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                            <%--${fns:getDictLabel(education.eduType,'edu_type','')}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<fmt:formatDate value="${education.startDate}" pattern="yyyy-MM-dd"/>--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<fmt:formatDate value="${education.endDate}" pattern="yyyy-MM-dd"/>--%>
+                                    <%--</td>--%>
+                                    <%--<td class="text-left op-td">--%>
+                                        <%--<c:if test="${not empty education.eduPhoto}"><img src="${education.eduPhoto}" width="24" height="24" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${education.eduPhoto}','90%','90%')" alt=""></c:if>--%>
+                                    <%--</td>--%>
+                                    <%--<td class="text-left op-td">--%>
+                                        <%--<c:if test="${not empty education.degreePhoto}"><img src="${education.degreePhoto}" width="24" height="24" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${education.degreePhoto}','90%','90%')" alt=""></c:if>--%>
+                                    <%--</td>--%>
+                                <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>劳动关系</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="labourTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="12%">合同类型</th>--%>
+                                <%--<th width="12%">合同编号</th>--%>
+                                <%--<th width="12%">合同期限</th>--%>
+                                <%--<th width="11%">合同起始日期</th>--%>
+                                <%--<th width="11%">合同终止日期</th>--%>
+                                <%--<th width="11%">试用期结束日期</th>--%>
+                                <%--<th width="11%">办理日期</th>--%>
+                                <%--<th width="20%">文件</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="labourList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.labourList}" var="buyDetails" varStatus="status">--%>
+                                <%--<tr>--%>
+                                    <%--<td>${fns:getDictLabel(buyDetails.contractType, 'relsp_cType', '')}</td>--%>
+                                    <%--<td>${buyDetails.contractNum}</td>--%>
+                                    <%--<td>${fns:getDictLabel(buyDetails.contractLimit, 'contract_limit', '')}</td>--%>
+                                    <%--<td><fmt:formatDate value="${buyDetails.contractStartTime}" pattern="yyyy-MM-dd"/></td>--%>
+                                    <%--<td><fmt:formatDate value="${buyDetails.contractEndTime}" pattern="yyyy-MM-dd"/></td>--%>
+                                    <%--<td><fmt:formatDate value="${buyDetails.tryEndTime}" pattern="yyyy-MM-dd"/></td>--%>
+                                    <%--<td><fmt:formatDate value="${buyDetails.transactTime}" pattern="yyyy-MM-dd"/></td>--%>
+                                        <%--&lt;%&ndash;试用期结束时间<td><fmt:formatDate value="${buyDetails.tryEndTime}" pattern="yyyy-MM-dd"/></td>&ndash;%&gt;--%>
+
+                                    <%--<c:forEach items="${buyDetails.workAttachments}" var = "workClientAttachment" varStatus="status">--%>
+                                        <%--<c:choose>--%>
+                                            <%--<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')--%>
+																		   <%--or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')--%>
+																		   <%--or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')--%>
+																		   <%--or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')--%>
+																		   <%--or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">--%>
+                                                <%--<td><img src="${workClientAttachment.url}" width="24" height="24" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}"></td>--%>
+                                            <%--</c:when>--%>
+                                            <%--<c:otherwise>--%>
+                                                <%--<c:choose>--%>
+                                                    <%--<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">--%>
+                                                        <%--<td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>--%>
+                                                    <%--</c:when>--%>
+                                                    <%--<c:otherwise>--%>
+                                                        <%--<td><a href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>--%>
+                                                    <%--</c:otherwise>--%>
+                                                <%--</c:choose>--%>
+                                            <%--</c:otherwise>--%>
+                                        <%--</c:choose>--%>
+                                    <%--</c:forEach>--%>
+                                <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>外语语种</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="languageTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>语种</th>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>熟练程度</th>--%>
+                                <%--<th width="20%">证书名称</th>--%>
+                                <%--<th width="20%">获证日期</th>--%>
+                                <%--<th width="20%">文件</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="languageList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.languageList}" var="language" varStatus="varStatus">--%>
+                                <%--<tr>--%>
+                                    <%--<td>--%>
+                                            <%--${fns:getMainDictLabel(language.language,'language','')}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                            <%--${fns:getDictLabel(language.proficiency,'proficiency','')}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                            <%--${language.certificate}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<fmt:formatDate value="${language.certifDate}" pattern="yyyy-MM-dd"/>--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<c:if test="${not empty language.filePath}"><img src="${language.filePath}" width="24" height="24" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${language.filePath}','90%','90%')" alt=""></c:if>--%>
+                                    <%--</td>--%>
+                                <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>工作经历</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="experienceTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="15%"><span class="require-item">*</span>所在单位</th>--%>
+                                <%--<th width="15%"><span class="require-item">*</span>工作部门</th>--%>
+                                <%--<th width="15%"><span class="require-item">*</span>职务或岗位</th>--%>
+                                <%--<th width="15%"><span class="require-item">*</span>起始日期</th>--%>
+                                <%--<th width="15%"><span class="require-item">*</span>终止日期</th>--%>
+                                <%--<th width="13%">证明人</th>--%>
+                                <%--<th width="12%">证明人联系方式</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="experienceList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.experienceList}" varStatus="varStatus" var="experience">--%>
+                                <%--<tr>--%>
+                                    <%--<td>--%>
+                                        <%--${experience.company}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${experience.dept}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${experience.duty}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<fmt:formatDate value="${experience.startDate}" pattern="yyyy-MM-dd"/>--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<fmt:formatDate value="${experience.endDate}" pattern="yyyy-MM-dd"/>--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${experience.certifier}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${experience.certifierTel}--%>
+                                    <%--</td>--%>
+                                <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>执业资格证书</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="certificateTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="10%"><span class="require-item">*</span>证书名称</th>--%>
+                                <%--<th width="10%"><span class="require-item">*</span>证书编号</th>--%>
+                                <%--<th width="10%"><span class="require-item">*</span>发证机关</th>--%>
+                                <%--<th width="10%"><span class="require-item">*</span>发证日期</th>--%>
+                                <%--<th width="10%">注册日期</th>--%>
+                                <%--<th width="10%">注册证书编号</th>--%>
+                                <%--<th width="10%">专业</th>--%>
+                                <%--<th width="10%">等级</th>--%>
+                                <%--<th width="10%">取得方式</th>--%>
+                                <%--<th width="10%">文件</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="certificateList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.certificateList}" var="certificate" varStatus="varStatus">--%>
+                                <%--<tr>--%>
+                                    <%--<td>--%>
+                                            <%--${certificate.name}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${certificate.num}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${certificate.issuingAuthority}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<fmt:formatDate value="${certificate.issuingDate}" pattern="yyyy-MM-dd"/>--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<fmt:formatDate value="${certificate.registDate}" pattern="yyyy-MM-dd"/>--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${certificate.registNum}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${certificate.major}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${certificate.grade}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                            <%--${certificate.issType}--%>
+                                    <%--</td>--%>
+                                    <%--<td >--%>
+                                        <%--<c:if test="${not empty certificate.filePath}"><img src="${certificate.filePath}" width="24" height="24" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${certificate.filePath}','90%','90%')" alt=""></c:if>--%>
+                                    <%--</td>--%>
+                                <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>职称</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="titleTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>职称名称</th>--%>
+                                <%--<th width="15%"><span class="require-item">*</span>职称等级</th>--%>
+                                <%--<th width="15%"><span class="require-item">*</span>取得日期</th>--%>
+                                <%--<th width="15%"><span class="require-item">*</span>取得途径</th>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>审批单位</th>--%>
+                                <%--<th width="15%">文件</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="titleList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.titleList}" var="title" varStatus="varStatus">--%>
+                                <%--<tr>--%>
+                                    <%--<td>--%>
+                                        <%--${title.name}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${title.grade}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<fmt:formatDate value="${title.startDate}" pattern="yyyy-MM-dd"/>--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${title.pathway}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${title.approvalAuthority}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<c:if test="${not empty title.filePath}"><img src="${title.filePath}" width="24" height="24" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${title.filePath}','90%','90%')" alt=""></c:if>--%>
+                                    <%--</td>--%>
+                                <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>家庭情况</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="familyTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>与本人的关系</th>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>成员姓名</th>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>身份证号码</th>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>成员性别</th>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>成员联系方式</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="familyList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.familyList}" var="family" varStatus="varStatus">--%>
+                                <%--<tr>--%>
+                                    <%--<td>--%>
+                                        <%--${family.relation}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${family.name}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${family.idCard}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                            <%--${family.gender}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${family.contact}--%>
+                                    <%--</td>--%>
+                                <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>培训经历</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="trainingTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="10%"><span class="require-item">*</span>培训名称</th>--%>
+                                <%--<th width="10%">培训机构</th>--%>
+                                <%--<th width="10%">培训地点</th>--%>
+                                <%--<th width="10%">培训起始日期</th>--%>
+                                <%--<th width="10%">培训终止日期</th>--%>
+                                <%--<th width="10%"><span class="require-item">*</span>培训类型</th>--%>
+                                <%--<th width="10%">学时</th>--%>
+                                <%--<th width="10%"><span class="require-item">*</span>所获证书</th>--%>
+                                <%--<th width="10%">文件</th>--%>
+                                <%--<th width="10%">备注</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="trainingList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.trainingList}" var="training" varStatus="varStatus">--%>
+                                <%--<tr>--%>
+                                    <%--<td>--%>
+                                        <%--${training.name}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${training.agency}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${training.address}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<fmt:formatDate value="${training.startDate}" pattern="yyyy-MM-dd"/>--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<fmt:formatDate value="${training.endDate}" pattern="yyyy-MM-dd"/>--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                            <%--${training.type}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${training.hours}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${training.certificate}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<c:if test="${not empty training.filePath}"><img src="${training.filePath}" width="24" height="24" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${training.filePath}','90%','90%')" alt="${training.fileName}"></c:if>--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${training.remarks}--%>
+                                    <%--</td>--%>
+                                <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>社会及行业职务</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="socialPositionTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="25%"><span class="require-item">*</span>职务名称</th>--%>
+                                <%--<th width="25%">任职开始日期</th>--%>
+                                <%--<th width="25%">任职结束日期</th>--%>
+                                <%--<th width="25%">任职机构</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="socialPositionList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.socialPositionList}" varStatus="varStatus" var="socialPosition">--%>
+                            <%--<tr>--%>
+                                <%--<td>--%>
+                                    <%--${socialPosition.name}--%>
+                                <%--</td>--%>
+                                <%--<td>--%>
+                                    <%--<fmt:formatDate value="${socialPosition.startDate}" pattern="yyyy-MM-dd"/>--%>
+                                <%--</td>--%>
+                                <%--<td>--%>
+                                    <%--<fmt:formatDate value="${socialPosition.endDate}" pattern="yyyy-MM-dd"/>--%>
+                                <%--</td>--%>
+                                <%--<td>--%>
+                                    <%--${socialPosition.organization}--%>
+                                <%--</td>--%>
+                            <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>奖惩情况</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="rewardsTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="10%"><span class="require-item">*</span>奖惩类型</th>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>奖惩名称</th>--%>
+                                <%--<th width="15%"><span class="require-item">*</span>时间</th>--%>
+                                <%--<th width="15%">级别</th>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>原因</th>--%>
+                                <%--<th width="20%"><span class="require-item">*</span>授予机构</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="rewardsList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.rewardsList}" varStatus="varStatus" var="rewards">--%>
+                                <%--<tr>--%>
+                                    <%--<td>--%>
+                                            <%--${rewards.type}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${rewards.name}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${rewards.atTime}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${rewards.grade}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${rewards.reason}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${rewards.organization}--%>
+                                    <%--</td>--%>
+                                <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>工作业绩</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="achievementTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="20%">项目名称</th>--%>
+                                <%--<th width="15%">主委托方</th>--%>
+                                <%--<th width="15%">工程分类</th>--%>
+                                <%--<th width="15%">规模类型/单位/数量</th>--%>
+                                <%--<th width="15%">担任职务</th>--%>
+                                <%--<th width="20%">参与内容</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="achievementList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.achievementList}" var="achievement" varStatus="varStatus">--%>
+                                <%--<tr>--%>
+                                    <%--<td class="text-center">--%>
+                                            <%--${achievement.projName}--%>
+                                    <%--</td>--%>
+                                    <%--<td class="text-center">--%>
+                                            <%--${achievement.projClient}--%>
+                                    <%--</td>--%>
+                                    <%--<td class="text-center">--%>
+                                            <%--${achievement.category}--%>
+                                    <%--</td>--%>
+                                    <%--<td class="text-center">--%>
+                                            <%--${achievement.unitNumber}--%>
+                                    <%--</td>--%>
+                                    <%--<td class="text-center">--%>
+                                            <%--${achievement.duty}--%>
+                                    <%--</td>--%>
+                                    <%--<td class="text-center">--%>
+                                            <%--${achievement.content}--%>
+                                    <%--</td>--%>
+                                <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+                <%--<div class="form-group layui-row">--%>
+                    <%--<div class="form-group-label"><h2>电子档案</h2></div>--%>
+                    <%--<div class="layui-item layui-col-xs12 form-table-container">--%>
+                        <%--<table id="recordTable" class="table table-bordered table-condensed details">--%>
+                            <%--<thead>--%>
+                            <%--<tr>--%>
+                                <%--<th width="25%"><span class="require-item">*</span>档案名称</th>--%>
+                                <%--<th width="25%">编号</th>--%>
+                                <%--<th width="25%">文件</th>--%>
+                                <%--<th width="25%">验证</th>--%>
+                            <%--</tr>--%>
+                            <%--</thead>--%>
+                            <%--<tbody id="recordList">--%>
+                            <%--<c:forEach items="${workStaffBasicInfo.recordList}" var="record" varStatus="varStatus">--%>
+                                <%--<tr>--%>
+                                    <%--<td>--%>
+                                        <%--${record.name}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${record.num}--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--<c:if test="${not empty record.filePath}"><img src="${record.filePath}" width="24" height="24" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${record.filePath}','90%','90%')" alt="${record.fileName}"></c:if>--%>
+                                    <%--</td>--%>
+                                    <%--<td>--%>
+                                        <%--${record.status}--%>
+                                    <%--</td>--%>
+                                <%--</tr>--%>
+                            <%--</c:forEach>--%>
+                            <%--</tbody>--%>
+                        <%--</table>--%>
+                    <%--</div>--%>
+                <%--</div>--%>
+            </form:form>
+        </div>
+    </div>
+</body>
+</html>