瀏覽代碼

项目超期处理,人员信息多岗位报错修改

user5 1 年之前
父節點
當前提交
bdf9be95cb

+ 10 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageAllDao.java

@@ -181,4 +181,14 @@ public interface RuralProjectMessageAllDao extends CrudDao<RuralProjectRecords>
      */
     List<ProjectReportRecord> getReportRecordByReportIdList(@Param("reportIdList") List<String> reportIdList);
 
+    void updateRecords(@Param("id")String id , @Param("type")String type);
+
+    void updateRecordsReport(@Param("reportId")String reportId , @Param("status")String status);
+
+
+    void updatePaperRecords(@Param("id")String id , @Param("type")String type);
+
+
+    void updateReportrdRecords(@Param("id")String id , @Param("type")String type);
+
 }

+ 21 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecordsExport.java

@@ -120,6 +120,9 @@ public class RuralProjectRecordsExport extends ActEntity<RuralProjectRecordsExpo
 	private Date filingBatchAuditPassDate;	//B类纸质归档审核时间
 	private Date projectReportRecordAuditDate;	//B类纸质归档审核时间
 
+	private Date accomplishDate;	//上报审核时间
+	private String accomplishDays;	//上报超期天数
+
 
 
 
@@ -2352,4 +2355,22 @@ public class RuralProjectRecordsExport extends ActEntity<RuralProjectRecordsExpo
 	public void setPpfFileNum(String ppfFileNum) {
 		this.ppfFileNum = ppfFileNum;
 	}
+
+
+	public Date getAccomplishDate() {
+		return accomplishDate;
+	}
+
+	public void setAccomplishDate(Date accomplishDate) {
+		this.accomplishDate = accomplishDate;
+	}
+
+	@ExcelField(title="上报超期天数", align=2, sort=26)
+	public String getAccomplishDays() {
+		return accomplishDays;
+	}
+
+	public void setAccomplishDays(String accomplishDays) {
+		this.accomplishDays = accomplishDays;
+	}
 }

+ 497 - 40
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageAllService.java

@@ -274,23 +274,23 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
             //判断是A类还是B类 2是A类1是B类
             if ("1".equals(records.getSubmitMoney())){
                 //设置电子未归档天数
-                if (null != records.getPrdAuditDate() && 5 != records.getProjectReportRecordStatus()
+                if (null != records.getReportAuditDate() && 5 != records.getProjectReportRecordStatus()
                         && 7!= records.getProjectReportRecordStatus()){
                     try {
-                        Date date2 = format.parse(records.getPrdAuditDate());
+                        Date date2 = records.getReportAuditDate();
                         Long dateTimeLong = date.getTime();
                         Long date2TimeLong = date2.getTime();
                         //计算未归档天数
                         Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
                         endTime = endTime - endingAdventRecordCount;
                         records.setNoArchivedDays(endTime.toString());
-                    } catch (ParseException e) {
+                    } catch (Exception e) {
                         e.printStackTrace();
                     }
-                }else if (null != records.getPrdAuditDate() && (5 == records.getProjectReportRecordStatus()
+                }else if (null != records.getReportAuditDate() && (5 == records.getProjectReportRecordStatus()
                         || 7 == records.getProjectReportRecordStatus()) && null != records.getProjectReportRecordAuditDate()) {
                     try {
-                        Date date2 = format.parse(records.getPrdAuditDate());
+                        Date date2 = records.getReportAuditDate();
                         //获取电子归档审核通过时间
                         Long dateTimeLong = records.getProjectReportRecordAuditDate().getTime();
                         Long date2TimeLong = date2.getTime();
@@ -298,31 +298,31 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
                         Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
                         endTime = endTime - endingAdventRecordCount;
                         records.setNoArchivedDays(endTime.toString());
-                    } catch (ParseException e) {
+                    } catch (Exception e) {
                         e.printStackTrace();
                     }
                 }
 
                 //设置纸质未归档天数
-                if (null != records.getPrdAuditDate()
+                if (null != records.getReportAuditDate()
                         && 5 != records.getFilingProjectStatus()
                         && 7 != records.getFilingProjectStatus() && 10 != records.getFilingProjectStatus()){
                     try {
-                        Date date2 = format.parse(records.getPrdAuditDate());
+                        Date date2 = records.getReportAuditDate();
                         Long dateTimeLong = date.getTime();
                         Long date2TimeLong = date2.getTime();
                         //计算未归档天数
                         Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
                         endTime = endTime - endingAdventRecordBCount;
                         records.setPaperNoArchivedDays(endTime.toString());
-                    } catch (ParseException e) {
+                    } catch (Exception e) {
                         e.printStackTrace();
                     }
-                }else if(null != records.getPrdAuditDate()
+                }else if(null != records.getReportAuditDate()
                         && (5 == records.getFilingProjectStatus()
                         || 7 == records.getFilingProjectStatus()) && null != records.getFilingBatchAuditPassDate()) {
                     try {
-                        Date date2 = format.parse(records.getPrdAuditDate());
+                        Date date2 = records.getReportAuditDate();
                         //获取电子归档审核通过时间
                         Long dateTimeLong = records.getFilingBatchAuditPassDate().getTime();
                         Long date2TimeLong = date2.getTime();
@@ -330,7 +330,7 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
                         Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
                         endTime = endTime - endingAdventRecordBCount;
                         records.setPaperNoArchivedDays(endTime.toString());
-                    } catch (ParseException e) {
+                    } catch (Exception e) {
                         e.printStackTrace();
                     }
 
@@ -1313,8 +1313,9 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
 
 
 
+    @Transactional(readOnly = false)
     public List<RuralProjectRecordsExport> findExportList(Page<RuralProjectRecords> page, RuralProjectRecords projectRecords) {
-        //查询超期时间天数
+        //查询上报超期时间天数
         List<MainDictDetail> adventCount = DictUtils.getMainDictListOnProjectAdvent("advent_count");
         //查询超期时间天数(电子归档)
         List<MainDictDetail> adventRecordCount = DictUtils.getMainDictListOnProjectAdvent("advent_record_count");
@@ -1322,9 +1323,10 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
         List<MainDictDetail> adventRecordACount = DictUtils.getMainDictListOnProjectAdvent("advent_record_A_count");
         //查询超期时间天数(B类纸质归档)
         List<MainDictDetail> adventRecordBCount = DictUtils.getMainDictListOnProjectAdvent("advent_record_B_count");
+        Integer endingCount = 0;
         if(adventCount.size()>0){
             //获取超期时间天数转int
-            Integer endingCount = Integer.parseInt(adventCount.get(0).getLabel());
+            endingCount = Integer.parseInt(adventCount.get(0).getLabel());
             projectRecords.setEndingCount(endingCount);
         }
         if(null!= projectRecords.getOffice() && StringUtils.isNotBlank(projectRecords.getOffice().getId())){
@@ -1363,7 +1365,7 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
         Date date = new Date();
 
 
-       if(null != recordsList && recordsList.size()>0){
+        if(null != recordsList && recordsList.size()>0){
 
             //查询报告文件、依据性文件、其他文件必填列表以及数据
             List<MainDictDetail> projectSortCostList = projectSortCostList();
@@ -1394,23 +1396,23 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
                 //判断是A类还是B类 2是A类1是B类
                 if ("1".equals(info.getSubmitMoney())){
                     //设置电子未归档天数
-                    if (null != info.getPrdAuditDate() && 5 != info.getProjectReportRecordStatus()
+                    if (null != info.getReportAuditDate() && 5 != info.getProjectReportRecordStatus()
                             && 7!= info.getProjectReportRecordStatus()){
                         try {
-                            Date date2 = format.parse(info.getPrdAuditDate());
+                            Date date2 = info.getReportAuditDate();
                             Long dateTimeLong = date.getTime();
                             Long date2TimeLong = date2.getTime();
                             //计算未归档天数
                             Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
                             endTime = endTime - endingAdventRecordCount;
                             info.setNoArchivedDays(endTime.toString());
-                        } catch (ParseException e) {
+                        } catch (Exception e) {
                             e.printStackTrace();
                         }
-                    }else if (null != info.getPrdAuditDate() && (5 == info.getProjectReportRecordStatus()
+                    }else if (null != info.getReportAuditDate() && (5 == info.getProjectReportRecordStatus()
                             || 7 == info.getProjectReportRecordStatus()) && null != info.getProjectReportRecordAuditDate()) {
                         try {
-                            Date date2 = format.parse(info.getPrdAuditDate());
+                            Date date2 = info.getReportAuditDate();
                             //获取电子归档审核通过时间
                             Long dateTimeLong = info.getProjectReportRecordAuditDate().getTime();
                             Long date2TimeLong = date2.getTime();
@@ -1418,65 +1420,104 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
                             Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
                             endTime = endTime - endingAdventRecordCount;
                             info.setNoArchivedDays(endTime.toString());
-                        } catch (ParseException e) {
+                        } catch (Exception e) {
                             e.printStackTrace();
                         }
                     }
 
                     //设置纸质未归档天数
-                    if (null != info.getPrdAuditDate()
+                    if (null != info.getReportAuditDate()
                             && !"5".equals(info.getPaperFilingStatus())
                             && !"7".equals(info.getPaperFilingStatus()) && !"10".equals(info.getPaperFilingStatus())){
                         try {
-                            Date date2 = format.parse(info.getPrdAuditDate());
+                            Date date2 = info.getReportAuditDate();
                             Long dateTimeLong = date.getTime();
                             Long date2TimeLong = date2.getTime();
                             //计算未归档天数
                             Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
                             endTime = endTime - endingAdventRecordBCount;
+
                             info.setPaperNoArchivedDays(endTime.toString());
-                        } catch (ParseException e) {
+                        } catch (Exception e) {
                             e.printStackTrace();
                         }
-                    }else if(null != info.getPrdAuditDate()
+                    }else if(null != info.getReportAuditDate()
                             && ("5".equals(info.getPaperFilingStatus())
-                            || "10".equals(info.getPaperFilingStatus())) && null != info.getFilingBatchAuditPassDate()) {
+                            || "7".equals(info.getPaperFilingStatus())) && null != info.getFilingBatchAuditPassDate()) {
                         try {
-                            Date date2 = format.parse(info.getPrdAuditDate());
+                            Date date2 = info.getReportAuditDate();
                             //获取电子归档审核通过时间
                             Long dateTimeLong = info.getFilingBatchAuditPassDate().getTime();
                             Long date2TimeLong = date2.getTime();
                             //计算未归档天数
                             Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
                             endTime = endTime - endingAdventRecordBCount;
+
                             info.setPaperNoArchivedDays(endTime.toString());
-                        } catch (ParseException e) {
+                        } catch (Exception e) {
                             e.printStackTrace();
                         }
 
                     }
+
+                    //设置上报未归档天数
+                    if (null != info.getReportAuditDate()
+                            && !"5".equals(info.getReportStatus())
+                            && !"7".equals(info.getReportStatus()) && !"10".equals(info.getReportStatus())){
+                        try {
+                            Date date2 = info.getReportAuditDate();
+                            Long dateTimeLong = date.getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                            endTime = endTime - endingCount;
+
+                            info.setAccomplishDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }else if(null != info.getReportAuditDate()
+                            && ("5".equals(info.getReportStatus())
+                            || "7".equals(info.getReportStatus())) && null != info.getAccomplishDate()) {
+                        try {
+                            Date date2 = info.getReportAuditDate();
+                            //获取电子归档审核通过时间
+                            Long dateTimeLong = info.getAccomplishDate().getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
+                            endTime = endTime - endingCount;
+
+                            info.setAccomplishDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+
+                    }
+
                 } else if ("2".equals(info.getSubmitMoney())){
                     if(StringUtils.isNotBlank(info.getPpfFileNum())){
                         info.setFilingBoxNum(info.getPpfFileNum());
                     }
                     //设置电子未归档天数
-                    if (null != info.getTwoAuditPassDate() && 5 != info.getProjectReportRecordStatus()
+                    if (null != info.getReportTwoAuditDate() && 5 != info.getProjectReportRecordStatus()
                             && 7!= info.getProjectReportRecordStatus()){
                         try {
-                            Date date2 = format.parse(info.getTwoAuditPassDate());
+                            Date date2 = info.getReportTwoAuditDate();
                             Long dateTimeLong = date.getTime();
                             Long date2TimeLong = date2.getTime();
                             //计算未归档天数
                             Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
                             endTime = endTime - endingAdventRecordCount;
+
                             info.setNoArchivedDays(endTime.toString());
-                        } catch (ParseException e) {
+                        } catch (Exception e) {
                             e.printStackTrace();
                         }
-                    }else if (null != info.getTwoAuditPassDate() && (5 == info.getProjectReportRecordStatus()
+                    }else if (null != info.getReportTwoAuditDate() && (5 == info.getProjectReportRecordStatus()
                             || 7 == info.getProjectReportRecordStatus()) && null != info.getProjectReportRecordAuditDate()) {
                         try {
-                            Date date2 = format.parse(info.getTwoAuditPassDate());
+                            Date date2 = info.getReportTwoAuditDate();
                             //获取电子归档审核通过时间
                             Long dateTimeLong = info.getProjectReportRecordAuditDate().getTime();
                             Long date2TimeLong = date2.getTime();
@@ -1484,40 +1525,79 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
                             Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
                             endTime = endTime - endingAdventRecordCount;
                             info.setNoArchivedDays(endTime.toString());
-                        } catch (ParseException e) {
+                        } catch (Exception e) {
                             e.printStackTrace();
                         }
                     }
 
                     //设置纸质未归档天数
-                    if (null != info.getTwoAuditPassDate()
+                    if (null != info.getReportTwoAuditDate()
                             && !"5".equals(info.getPaperFilingStatus()) &&
                             !"7".equals(info.getPaperFilingStatus()) && !"10".equals(info.getPaperFilingStatus())){
                         try {
-                            Date date2 = format.parse(info.getTwoAuditPassDate());
+                            Date date2 = info.getReportTwoAuditDate();
                             Long dateTimeLong = date.getTime();
                             Long date2TimeLong = date2.getTime();
                             //计算未归档天数
                             Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
                             endTime = endTime - endingAdventRecordACount;
+
                             info.setPaperNoArchivedDays(endTime.toString());
-                        } catch (ParseException e) {
+                        } catch (Exception e) {
                             e.printStackTrace();
                         }
-                    }else if (null != info.getTwoAuditPassDate() && (5 == info.getProjectReportRecordStatus()
+                    }else if (null != info.getReportTwoAuditDate() && (5 == info.getProjectReportRecordStatus()
                             || 7 == info.getProjectReportRecordStatus()) && null != info.getPaperFilingAuditPassDate()) {
                         try {
-                            Date date2 = format.parse(info.getTwoAuditPassDate());
+                            Date date2 = info.getReportTwoAuditDate();
                             //获取电子归档审核通过时间
                             Long dateTimeLong = info.getPaperFilingAuditPassDate().getTime();
                             Long date2TimeLong = date2.getTime();
                             //计算未归档天数
                             Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
                             endTime = endTime - endingAdventRecordACount;
+
                             info.setPaperNoArchivedDays(endTime.toString());
-                        } catch (ParseException e) {
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+
+
+
+                    //设置上报未归档天数
+                    if (null != info.getReportTwoAuditDate()
+                            && !"5".equals(info.getReportStatus())
+                            && !"7".equals(info.getReportStatus()) && !"10".equals(info.getReportStatus())){
+                        try {
+                            Date date2 = info.getReportTwoAuditDate();
+                            Long dateTimeLong = date.getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                            endTime = endTime - endingCount;
+
+                            info.setAccomplishDays(endTime.toString());
+                        } catch (Exception e) {
                             e.printStackTrace();
                         }
+                    }else if(null != info.getReportTwoAuditDate()
+                            && ("5".equals(info.getReportStatus())
+                            || "7".equals(info.getReportStatus())) && null != info.getAccomplishDate()) {
+                        try {
+                            Date date2 = info.getReportTwoAuditDate();
+                            //获取电子归档审核通过时间
+                            Long dateTimeLong = info.getAccomplishDate().getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
+                            endTime = endTime - endingCount;
+
+                            info.setAccomplishDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+
                     }
                 }
 
@@ -1526,6 +1606,7 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
         return recordsList;
     }
 
+
     public String getMoneyAll(RuralProjectRecords ruralProjectRecords){
         //根据当前登录人查询登陆人权限
         List<Office> officeListByUserId = ruralProjectMessageAllConfigService.getOfficeListByUserId(UserUtils.getUser().getId());
@@ -1810,4 +1891,380 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
         return  act;
     }
 
+
+    @Transactional(readOnly = false)
+    public List<RuralProjectRecordsExport> disposeProjectExportDataInfo() {
+        RuralProjectRecords projectRecords = new RuralProjectRecords();
+        //查询上报超期时间天数
+        List<MainDictDetail> adventCount = DictUtils.getMainDictListOnProjectAdvent("advent_count");
+        //查询超期时间天数(电子归档)
+        List<MainDictDetail> adventRecordCount = DictUtils.getMainDictListOnProjectAdvent("advent_record_count");
+        //查询超期时间天数(A类纸质归档)
+        List<MainDictDetail> adventRecordACount = DictUtils.getMainDictListOnProjectAdvent("advent_record_A_count");
+        //查询超期时间天数(B类纸质归档)
+        List<MainDictDetail> adventRecordBCount = DictUtils.getMainDictListOnProjectAdvent("advent_record_B_count");
+        Integer endingCount = 0;
+        if(adventCount.size()>0){
+            //获取超期时间天数转int
+            endingCount = Integer.parseInt(adventCount.get(0).getLabel());
+            projectRecords.setEndingCount(endingCount);
+        }
+        if(null!= projectRecords.getOffice() && StringUtils.isNotBlank(projectRecords.getOffice().getId())){
+            if("一部本部".equals(projectRecords.getOffice().getId())){
+                List<String> officeIdList = Lists.newArrayList();
+                Office office = officeService.getByName("工程一部");
+                officeIdList.add(office.getId());
+                projectRecords.setOfficeIdList(officeIdList);
+            }else{
+                //查询该选择节点下所有的部门Id
+                List<String> officeIdList = officeService.getChildrenOffice(projectRecords.getOffice().getId());
+                officeIdList.add(projectRecords.getOffice().getId());
+                projectRecords.setOfficeIdList(officeIdList);
+            }
+        }
+        List<RuralProjectRecordsExport> recordsList = dao.findExportList(projectRecords);
+
+        Integer endingAdventRecordCount = 0;
+        if(adventRecordCount.size()>0){
+            //获取超期时间天数(电子归档)转int
+            endingAdventRecordCount = Integer.parseInt(adventRecordCount.get(0).getLabel());
+        }
+        Integer endingAdventRecordACount = 0;
+        if(adventRecordACount.size()>0){
+            //获取超期时间天数(A类纸质归档)转int
+            endingAdventRecordACount = Integer.parseInt(adventRecordACount.get(0).getLabel());
+        }
+        Integer endingAdventRecordBCount = 0;
+        if(adventRecordBCount.size()>0){
+            //获取超期时间天数(A类纸质归档)转int
+            endingAdventRecordBCount = Integer.parseInt(adventRecordBCount.get(0).getLabel());
+        }
+        Date date = new Date();
+
+
+        if(null != recordsList && recordsList.size()>0){
+
+            for (RuralProjectRecordsExport info : recordsList) {
+
+                //判断是A类还是B类 2是A类1是B类
+                if ("1".equals(info.getSubmitMoney())){
+                    //设置电子未归档天数
+                    if (null != info.getReportAuditDate() && 5 != info.getProjectReportRecordStatus()
+                            && 7!= info.getProjectReportRecordStatus()){
+                        try {
+                            Date date2 = info.getReportAuditDate();
+                            Long dateTimeLong = date.getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                            endTime = endTime - endingAdventRecordCount;
+                            if(endTime <= 0 && (info.getProjectReportRecordStatus() ==6 || info.getProjectReportRecordStatus() ==7)){
+                                if(info.getProjectReportRecordStatus() ==6){
+                                    dao.updateRecords(info.getId(),"");
+                                }else{
+                                    dao.updateRecords(info.getId(),"5");
+                                }
+                            }
+                            info.setNoArchivedDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }else if (null != info.getReportAuditDate() && (5 == info.getProjectReportRecordStatus()
+                            || 7 == info.getProjectReportRecordStatus()) && null != info.getProjectReportRecordAuditDate()) {
+                        try {
+                            Date date2 = info.getReportAuditDate();
+                            //获取电子归档审核通过时间
+                            Long dateTimeLong = info.getProjectReportRecordAuditDate().getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
+                            endTime = endTime - endingAdventRecordCount;
+
+                            if(endTime <= 0 && (info.getProjectReportRecordStatus() ==6 || info.getProjectReportRecordStatus() ==7)){
+                                if(info.getProjectReportRecordStatus() ==6){
+                                    dao.updateRecords(info.getId(),"");
+                                    dao.updateRecordsReport(info.getPrdId(),"");
+                                }else{
+                                    dao.updateRecords(info.getId(),"5");
+                                    dao.updateRecordsReport(info.getPrdId(),"5");
+                                }
+                            }
+                            info.setNoArchivedDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+
+                    //设置纸质未归档天数
+                    if (null != info.getReportAuditDate()
+                            && !"5".equals(info.getPaperFilingStatus())
+                            && !"7".equals(info.getPaperFilingStatus()) && !"10".equals(info.getPaperFilingStatus())){
+                        try {
+                            Date date2 = info.getReportAuditDate();
+                            Long dateTimeLong = date.getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                            endTime = endTime - endingAdventRecordBCount;
+
+
+                            if(endTime <= 0 && (info.getPaperFilingStatus().equals("6") || info.getPaperFilingStatus().equals("7"))){
+                                if(info.getPaperFilingStatus().equals("6") ){
+                                    dao.updatePaperRecords(info.getId(),"");
+                                }else{
+                                    dao.updatePaperRecords(info.getId(),"5");
+                                }
+                            }
+
+                            info.setPaperNoArchivedDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }else if(null != info.getReportAuditDate()
+                            && ("5".equals(info.getPaperFilingStatus())
+                            || "7".equals(info.getPaperFilingStatus())) && null != info.getFilingBatchAuditPassDate()) {
+                        try {
+                            Date date2 = info.getReportAuditDate();
+                            //获取电子归档审核通过时间
+                            Long dateTimeLong = info.getFilingBatchAuditPassDate().getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
+                            endTime = endTime - endingAdventRecordBCount;
+
+
+                            if(endTime <= 0 && (info.getPaperFilingStatus().equals("6") || info.getPaperFilingStatus().equals("7"))){
+                                if(info.getPaperFilingStatus().equals("6") ){
+                                    dao.updatePaperRecords(info.getId(),"");
+                                }else{
+                                    dao.updatePaperRecords(info.getId(),"5");
+                                }
+                            }
+
+                            info.setPaperNoArchivedDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+
+                    }
+
+                    //设置上报未归档天数
+                    if (null != info.getReportAuditDate()
+                            && !"5".equals(info.getReportStatus())
+                            && !"7".equals(info.getReportStatus()) && !"10".equals(info.getReportStatus())){
+                        try {
+                            Date date2 = info.getReportAuditDate();
+                            Long dateTimeLong = date.getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                            endTime = endTime - endingCount;
+
+
+                            if(endTime <= 0 && (info.getReportedState().equals("6") || info.getReportedState().equals("7"))){
+                                if(info.getReportedState().equals("6") ){
+                                    dao.updateReportrdRecords(info.getId(),"");
+                                }else{
+                                    dao.updateReportrdRecords(info.getId(),"5");
+                                }
+                            }
+
+                            info.setAccomplishDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }else if(null != info.getReportAuditDate()
+                            && ("5".equals(info.getReportStatus())
+                            || "7".equals(info.getReportStatus())) && null != info.getAccomplishDate()) {
+                        try {
+                            Date date2 = info.getReportAuditDate();
+                            //获取电子归档审核通过时间
+                            Long dateTimeLong = info.getAccomplishDate().getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
+                            endTime = endTime - endingCount;
+
+
+                            if(endTime <= 0 && (info.getReportedState().equals("6") || info.getReportedState().equals("7"))){
+                                if(info.getReportedState().equals("6") ){
+                                    dao.updateReportrdRecords(info.getId(),"");
+                                }else{
+                                    dao.updateReportrdRecords(info.getId(),"5");
+                                }
+                            }
+
+                            info.setAccomplishDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+
+                    }
+
+                } else if ("2".equals(info.getSubmitMoney())){
+                    if(StringUtils.isNotBlank(info.getPpfFileNum())){
+                        info.setFilingBoxNum(info.getPpfFileNum());
+                    }
+                    //设置电子未归档天数
+                    if (null != info.getReportTwoAuditDate() && 5 != info.getProjectReportRecordStatus()
+                            && 7!= info.getProjectReportRecordStatus()){
+                        try {
+                            Date date2 = info.getReportTwoAuditDate();
+                            Long dateTimeLong = date.getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                            endTime = endTime - endingAdventRecordCount;
+
+                            if(endTime <= 0 && (info.getProjectReportRecordStatus() ==6 || info.getProjectReportRecordStatus() ==7)){
+                                if(info.getProjectReportRecordStatus() ==6){
+                                    dao.updateRecords(info.getId(),"");
+                                    dao.updateRecordsReport(info.getPrdId(),"");
+                                }else{
+                                    dao.updateRecords(info.getId(),"5");
+                                    dao.updateRecordsReport(info.getPrdId(),"5");
+                                }
+                            }
+
+                            info.setNoArchivedDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }else if (null != info.getReportTwoAuditDate() && (5 == info.getProjectReportRecordStatus()
+                            || 7 == info.getProjectReportRecordStatus()) && null != info.getProjectReportRecordAuditDate()) {
+                        try {
+                            Date date2 = info.getReportTwoAuditDate();
+                            //获取电子归档审核通过时间
+                            Long dateTimeLong = info.getProjectReportRecordAuditDate().getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
+                            endTime = endTime - endingAdventRecordCount;
+
+                            if(endTime <= 0 && (info.getProjectReportRecordStatus() ==6 || info.getProjectReportRecordStatus() ==7)){
+                                if(info.getProjectReportRecordStatus() ==6){
+                                    dao.updateRecords(info.getId(),"");
+                                    dao.updateRecordsReport(info.getPrdId(),"");
+                                }else{
+                                    dao.updateRecords(info.getId(),"5");
+                                    dao.updateRecordsReport(info.getPrdId(),"5");
+                                }
+                            }
+
+                            info.setNoArchivedDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+
+                    //设置纸质未归档天数
+                    if (null != info.getReportTwoAuditDate()
+                            && !"5".equals(info.getPaperFilingStatus()) &&
+                            !"7".equals(info.getPaperFilingStatus()) && !"10".equals(info.getPaperFilingStatus())){
+                        try {
+                            Date date2 = info.getReportTwoAuditDate();
+                            Long dateTimeLong = date.getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                            endTime = endTime - endingAdventRecordACount;
+
+
+                            if(endTime <= 0 && (info.getPaperFilingStatus().equals("6") || info.getPaperFilingStatus().equals("7"))){
+                                if(info.getPaperFilingStatus().equals("6") ){
+                                    dao.updatePaperRecords(info.getId(),"");
+                                }else{
+                                    dao.updatePaperRecords(info.getId(),"5");
+                                }
+                            }
+                            info.setPaperNoArchivedDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }else if (null != info.getReportTwoAuditDate() && (5 == info.getProjectReportRecordStatus()
+                            || 7 == info.getProjectReportRecordStatus()) && null != info.getPaperFilingAuditPassDate()) {
+                        try {
+                            Date date2 = info.getReportTwoAuditDate();
+                            //获取电子归档审核通过时间
+                            Long dateTimeLong = info.getPaperFilingAuditPassDate().getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
+                            endTime = endTime - endingAdventRecordACount;
+
+
+                            if(endTime <= 0 && (info.getPaperFilingStatus().equals("6") || info.getPaperFilingStatus().equals("7"))){
+                                if(info.getPaperFilingStatus().equals("6") ){
+                                    dao.updatePaperRecords(info.getId(),"");
+                                }else{
+                                    dao.updatePaperRecords(info.getId(),"5");
+                                }
+                            }
+                            info.setPaperNoArchivedDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+
+
+
+                    //设置上报未归档天数
+                    if (null != info.getReportTwoAuditDate()
+                            && !"5".equals(info.getReportStatus())
+                            && !"7".equals(info.getReportStatus()) && !"10".equals(info.getReportStatus())){
+                        try {
+                            Date date2 = info.getReportTwoAuditDate();
+                            Long dateTimeLong = date.getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                            endTime = endTime - endingCount;
+
+
+                            if(endTime <= 0 && (info.getReportedState().equals("6") || info.getReportedState().equals("7"))){
+                                if(info.getReportedState().equals("6") ){
+                                    dao.updateReportrdRecords(info.getId(),"");
+                                }else{
+                                    dao.updateReportrdRecords(info.getId(),"5");
+                                }
+                            }
+
+                            info.setAccomplishDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }else if(null != info.getReportTwoAuditDate()
+                            && ("5".equals(info.getReportStatus())
+                            || "7".equals(info.getReportStatus())) && null != info.getAccomplishDate()) {
+                        try {
+                            Date date2 = info.getReportTwoAuditDate();
+                            //获取电子归档审核通过时间
+                            Long dateTimeLong = info.getAccomplishDate().getTime();
+                            Long date2TimeLong = date2.getTime();
+                            //计算未归档天数
+                            Long endTime = (dateTimeLong - date2TimeLong) / (24 * 60 * 60 * 1000);
+                            endTime = endTime - endingCount;
+
+
+                            if(endTime <= 0 && (info.getReportedState().equals("6") || info.getReportedState().equals("7"))){
+                                if(info.getReportedState().equals("6") ){
+                                    dao.updateReportrdRecords(info.getId(),"");
+                                }else{
+                                    dao.updateReportrdRecords(info.getId(),"5");
+                                }
+                            }
+
+                            info.setAccomplishDays(endTime.toString());
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+
+                    }
+                }
+
+            }
+        }
+        return recordsList;
+    }
+
 }

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

@@ -18,6 +18,7 @@ import com.jeeplus.modules.ruralprojectrecords.entity.PhysicsSeal;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectcontentinfo;
 import com.jeeplus.modules.ruralprojectrecords.entity.SealAuthBean;
+import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageAllService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectSignatureOldMessageDisposeService;
 import com.jeeplus.modules.statement.service.StatementCompanyComprehensiveService;
@@ -82,6 +83,9 @@ public class RuralProjectSignatureOldMessageDisposeController extends BaseContro
     @Autowired
     private StatementCompanyComprehensiveService statementCompanyComprehensiveService;
 
+    @Autowired
+    private RuralProjectMessageAllService ruralProjectMessageAllService;
+
     private static final String HTTPTOP = Global.getConfig("signature_http_top");
 
     private final static String apptoken = Global.getConfig("apptoken");
@@ -673,7 +677,21 @@ public class RuralProjectSignatureOldMessageDisposeController extends BaseContro
     }
 
 
-
+    /**
+     * 处理项目(电子归档、纸质归档、上报)数据方法
+     * 用于对数据是否超期检查和调整
+     * 主要将未超期 但数据库中调整程超期的项目调整成未超期
+     * @return
+     */
+    @RequestMapping(value = "/disposeProjectExportDataInfo")
+    @ResponseBody
+    @Transactional(readOnly = false)
+    public Map<String,Object> disposeProjectExportDataInfo(){
+        Map<String,Object> map = new HashMap<>();
+        ruralProjectMessageAllService.disposeProjectExportDataInfo();
+        map.put("smg","处理完成");
+        return map;
+    }
 
 
 }

+ 14 - 0
src/main/java/com/jeeplus/modules/sys/dao/RoleDao.java

@@ -88,7 +88,21 @@ public interface RoleDao extends CrudDao<Role> {
 
 	public String getRoleIdByUserId(String userId);
 
+	/**
+	 * 获取当前人员岗位集合
+	 * @param userId
+	 * @return
+	 */
+	public List<String> getRoleIdByUserIdList(String userId);
+
 	public Role getRoleByUserId(String userId);
 
 	int updateRoleByUserId(@Param("roleId") String roleId,@Param("userId") String userId);
+
+	/**
+	 * 根据用户id查询人员岗位名称
+	 * @param userId
+	 * @return
+	 */
+	public String getRoleNameByUserId(String userId);
 }

+ 15 - 0
src/main/java/com/jeeplus/modules/sys/dao/UserDao.java

@@ -313,4 +313,19 @@ public interface UserDao extends CrudDao<User> {
 	 * @return
 	 */
 	public List<User> findUserByOfficeIdAndNameAndOfficeIdList(@Param("user")User user,@Param("officeIdList")List<String> officeIdList);
+
+
+	/**
+	 * 根据用户id删除岗位信息
+	 * @param userId
+	 */
+	void deleteUserRoleById(String userId);
+
+	/**
+	 * 新增用户岗位信息
+	 * @param userId
+	 * @param roleId
+	 * @return
+	 */
+	int insertRoleByUserId(@Param("userId")String userId ,@Param("roleId")String roleId);
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/sys/service/RoleService.java

@@ -33,8 +33,17 @@ public class RoleService extends CrudService<RoleDao,Role> {
     public String  getRoleIdByUserId(String userId){
         return  roleDao.getRoleIdByUserId(userId);
     }
+    public List<String>  getRoleIdByUserIdList (String userId){
+        return  roleDao.getRoleIdByUserIdList(userId);
+    }
 
     public Role getRoleByUserId(String userId){
         return roleDao.getRoleByUserId(userId);
     }
+
+
+
+    public String getRoleNameByUserId(String userId){
+        return roleDao.getRoleNameByUserId(userId);
+    }
 }

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

@@ -598,4 +598,22 @@ public class UserService extends BaseController {
         return userList;
     }
 
+    /**
+     * 删除用户岗位信息
+     * @param userId
+     */
+    public void deleteUserRoleById(String userId){
+        userDao.deleteUserRoleById(userId);
+    }
+
+    /**
+     * 新增用户岗位信息
+     * @param userId
+     * @param roleId
+     */
+    public void insertRoleByUserId(String userId ,String roleId){
+        userDao.insertRoleByUserId(userId,roleId);
+    }
+
+
 }

+ 55 - 0
src/main/java/com/jeeplus/modules/sys/web/RoleController.java

@@ -815,4 +815,59 @@ public class RoleController extends BaseController {
 	    return map;
 
     }
+
+
+	/**
+	 * 查询工作类型
+	 * @return
+	 */
+	@RequestMapping("getNewByOfficeId")
+	@ResponseBody
+	public AjaxJson getNewByOfficeId(String id,Model model){
+		AjaxJson ajaxJson = new AjaxJson();
+		try {
+			List<Role> roles = roleDao.getByOfficeId(id);
+			List<Map<String, Object>> mapList = new ArrayList<>();
+			for (int i = 0; i < roles.size(); i++) {
+				Map<String, Object> map = new HashMap<>();
+				map.put("name", roles.get(i).getName());
+				map.put("value", roles.get(i).getId());
+				mapList.add(map);
+			}
+			ajaxJson.getBody().put("list", mapList);
+			ajaxJson.setMsg("获取数据成功");
+		} catch (Exception e) {
+			logger.error("获取数据异常!", e);
+			ajaxJson.setSuccess(false);
+			ajaxJson.setMsg("获取数据异常");
+		}
+		return ajaxJson;
+	}
+	/**
+	 * 查询工作类型
+	 * @return
+	 */
+	@RequestMapping("getRoleIdByUserIdList")
+	@ResponseBody
+	public AjaxJson getJobTypeById(String id){
+		AjaxJson ajaxJson = new AjaxJson();
+		try {
+			List<String> getRoleIdByUserIdList = roleDao.getRoleIdByUserIdList(id);
+			List<Map<String, Object>> mapList = new ArrayList<>();
+			for (int i = 0; i < getRoleIdByUserIdList.size(); i++) {
+				Map<String, Object> map = new HashMap<>();
+				map.put("value", getRoleIdByUserIdList.get(i));
+				mapList.add(map);
+			}
+			ajaxJson.getBody().put("list", mapList);
+			ajaxJson.setMsg("获取数据成功");
+		} catch (Exception e) {
+			logger.error("获取数据异常!", e);
+			ajaxJson.setSuccess(false);
+			ajaxJson.setMsg("获取数据异常");
+		}
+		return ajaxJson;
+	}
+
+
 }

+ 19 - 0
src/main/java/com/jeeplus/modules/workstaff/entity/WorkStaffBasicInfo.java

@@ -116,6 +116,9 @@ public class WorkStaffBasicInfo extends DataEntity<WorkStaffBasicInfo> {
 	private String certificateType; //执业资格证书类型
 	private String certificateName; //执业资格证书名称
 
+	private String roleIdShow; //岗位展示
+	private String roleIdStr; //岗位Str
+
 	//劳动关系临时属性
 	private String relationshipStatus;
     public List<WorkStaffEducation> getEducationList() {
@@ -880,4 +883,20 @@ public class WorkStaffBasicInfo extends DataEntity<WorkStaffBasicInfo> {
 	public void setCertificateName(String certificateName) {
 		this.certificateName = certificateName;
 	}
+
+	public String getRoleIdShow() {
+		return roleIdShow;
+	}
+
+	public void setRoleIdShow(String roleIdShow) {
+		this.roleIdShow = roleIdShow;
+	}
+
+	public String getRoleIdStr() {
+		return roleIdStr;
+	}
+
+	public void setRoleIdStr(String roleIdStr) {
+		this.roleIdStr = roleIdStr;
+	}
 }

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

@@ -47,10 +47,7 @@ import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
 import java.text.NumberFormat;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 员工基本信息Service
@@ -268,11 +265,25 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
             user.setOffice(workStaffBasicInfo.getOffice());
             user.setOtherServiceFlag(workStaffBasicInfo.getOtherServiceFlag());
             userService.updateUser(user);
-            userService.updateRole(workStaffBasicInfo);
+            //userService.updateRole(workStaffBasicInfo);
         }else{
-            userService.insertRole(workStaffBasicInfo);
+            //userService.insertRole(workStaffBasicInfo);
         }
-	}
+        // 调整人员岗位信息
+        if(StringUtils.isNotBlank(workStaffBasicInfo.getRoleIdStr())){
+            String[] split = workStaffBasicInfo.getRoleIdStr().split(",");
+            List<String> roleIdList = Arrays.asList(split);
+            //删除现有人员岗位信息
+            userService.deleteUserRoleById(workStaffBasicInfo.getUserId());
+            //新增人员岗位信息
+            for (String info : roleIdList) {
+                if(StringUtils.isNotBlank(info)){
+                    userService.insertRoleByUserId(workStaffBasicInfo.getUserId(),info);
+                }
+            }
+
+        }
+    }
 
 
     /**

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

@@ -125,7 +125,7 @@ public class WorkStaffBasicInfoController extends BaseController {
 		List<WorkStaffBasicInfo> list = page.getList();
 		for (WorkStaffBasicInfo info:list){
 			info.setRoleId(roleService.getRoleIdByUserId(info.getUserId()));
-			info.setRoleName(roleService.get(info.getRoleId()).getName());
+			info.setRoleName(roleService.getRoleNameByUserId(info.getUserId()));
 		}
 		model.addAttribute("page", page);
 		return "modules/workstaff/workStaffBasicInfoList";

+ 26 - 1
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageAllDao.xml

@@ -880,7 +880,7 @@ END) as projectScale*/
 		end) as downArchiveStatus
 
 		,prr.accomplish_date as "projectReportRecordAuditDate"
-		,prd.audit_pass_date as "reportAuditDate"
+		,prd.first_audit_date as "reportAuditDate"
 		,rprr.accomplish_date as "projectRecordsReportedAuditPassDate"
 		,prdt.audit_pass_date as "reportTwoAuditDate"
 		,concat(ifnull( pfp.STATUS, 0 ),ifnull( ppf.STATUS, 0 )) as "downProjectReportRecordPaperFilingStatus"
@@ -937,6 +937,7 @@ END) as projectScale*/
 		,if(case_status > 0 ,case_status,"0") as "caseStatus"
 		,a.paper_filing_status as "apaperFilingStatus"
 		,a.over_paper_filing_status as "overPaperFilingStatus"
+		,rprr.accomplish_date AS "accomplishDate"
 		FROM rural_project_records a
 		LEFT JOIN sys_area area ON area.id = a.area_id
 		LEFT JOIN sys_user sub on a.project_master_id = sub.id
@@ -2776,4 +2777,28 @@ END) as projectScale*/
 		</where>
 	</select>
 
+	<update id="updateRecords">
+		update rural_project_records set
+		record_state = #{type},over_record_status = 0
+		where id = #{id}
+	</update>
+
+	<update id="updateRecordsReport">
+		update rural_project_report_record set
+		status = #{status}
+		where report_id = #{reportId}
+	</update>
+
+	<update id="updatePaperRecords">
+		update rural_project_records set
+		paper_filing_status = #{type},over_paper_filing_status = 0
+		where id = #{id}
+	</update>
+
+	<update id="updateReportrdRecords">
+		update rural_project_records set
+		reported_state = #{type},over_due_status = 0
+		where id = #{id}
+	</update>
+
 </mapper>

+ 14 - 0
src/main/resources/mappings/modules/sys/RoleDao.xml

@@ -587,6 +587,13 @@
 	<select id="getRoleIdByUserId" resultType="String">
 		select role_id
 		from sys_user_role
+		where user_id = #{userId,jdbcType=VARCHAR} order by role_id limit 1
+	</select>
+
+
+	<select id="getRoleIdByUserIdList" resultType="String">
+		select role_id
+		from sys_user_role
 		where user_id = #{userId,jdbcType=VARCHAR}
 	</select>
 
@@ -602,4 +609,11 @@
 		set role_id = #{roleId}
 		where user_id = #{userId}
 	</update>
+
+	<select id="getRoleNameByUserId" resultType="String">
+		select group_concat(role.name)
+		from sys_user_role a
+		left join sys_role role on role.id = a.role_id
+		where user_id = #{userId,jdbcType=VARCHAR}
+	</select>
 </mapper>

+ 12 - 0
src/main/resources/mappings/modules/sys/UserDao.xml

@@ -1345,4 +1345,16 @@
 			</if>
 		</where>
 	</select>
+
+	<delete id="deleteUserRoleById">
+		delete from sys_user_role where user_id = #{userId}
+	</delete>
+
+
+	<insert id="insertRoleByUserId" >
+		INSERT INTO
+		sys_user_role(user_id, role_id)
+		values
+		(#{userId},#{roleId})
+	</insert>
 </mapper>

+ 128 - 3
src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoForm.jsp

@@ -8,6 +8,7 @@
     <link rel='stylesheet' type="text/css" href="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.css"/>
     <script type="text/javascript" src="${ctxStatic}/layui/layui.js"></script>
     <link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/css/layui.css"/>
+    <script src="${ctxStatic}/layer-v2.3/layui/xmSelect.js" charset="utf-8"></script>
     <style>
         label.error{
             left:0;
@@ -30,6 +31,11 @@
                 if(!existMobile){
                     var  flag = $("#updateFlag").val();
                     if(flag === '1'){
+                        var roleIdStr = $("#roleIdStr").val();
+                        if (roleIdStr == null || "" == roleIdStr) {
+                            parent.layer.msg("请选择岗位信息!", {icon: 5});
+                            return false;
+                        }
                         // $("#notifyFlag").val("1");
                         $("#inputForm").submit();
                         parent.layer.closeAll();
@@ -97,6 +103,7 @@
             })
 
 
+            contentDetailTypeShow();
 
             laydate.render({
                 elem: '#tryEndTime', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
@@ -145,7 +152,7 @@
 
             changeTryEndTime('${workStaffBasicInfo.status}');
 
-            var off = $("#officeId").val();
+            /*var off = $("#officeId").val();
             if(off != ''){
                 $.ajax({
                     type: 'POST',
@@ -165,7 +172,7 @@
                         $("#roleId").append(html);
                     }
                 });
-            }
+            }*/
 
 
             $('#officeId').on("change", function () {
@@ -423,6 +430,10 @@
             <form:hidden path="userId"/>
             <form:hidden path="handSignature"/>
             <input id="updateFlag" value="${updateFlag}" style="display:none;">
+
+            <form:hidden path="roleIdShow"/>
+            <input type="hidden" id="roleIdStr" name="roleIdStr" value="">
+
             <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;">
@@ -640,13 +651,24 @@
                                        cssStyle="background-color:#fff" title="部门" url="/sys/office/treeData?type=2" cssClass="form-control layui-input required"/>
                     </div>
                 </div>
-                <div class="layui-item layui-col-sm6 lw7">
+                <%--<div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>岗   位:</label>
                     <div class="layui-input-block ">
                         <select id="roleId" class="form-control simple-select required" name="roleId">
                         </select>
                     </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">
+                        <div id="roleId" class="xm-select-demo" tabindex="0" contenteditable="true"></div>
+                    </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 ">
@@ -2130,5 +2152,108 @@
     }
 
 </script>
+<script src="${ctxStatic}/bootstrap-select-1.12.4/js/bootstrap-select.min.js"></script>
+<script>
+    function contentDetailTypeShow() {
+        var off = $("#officeId").val();
+
+        $.ajax({
+            type:'post',
+            url: '${ctx}/sys/role/getNewByOfficeId',
+            data: {'id':off},
+            success:function(data){
+                if(data.success) {
+                    var data = data.body.list;
+                    var newDataList = data;
+                    var showList = [];
+                    $.ajax({
+                        type:'post',
+                        url:'${ctx}/sys/role/getRoleIdByUserIdList',
+                        data:{
+                            "id":$("#userId").val()
+                        },
+                        success:function(dataListById){
+
+                            if(dataListById.success) {
+                                var showDataList = dataListById.body.list;
+                                var lists = [];
+                                for (i in newDataList) {
+                                    for (j in showDataList) {
+                                        if (newDataList[i].value == showDataList[j].value) {
+                                            var newData = {
+                                                "name": newDataList[i].name,
+                                                "value": newDataList[i].value,
+                                                "selected": true
+
+                                            }
+                                            lists.push(newDataList[i].value);
+                                            showList.push(newData);
+                                            data.splice(i,1,newData);
+                                        }
+                                    }
+                                }
+                                if(0 == showDataList.length){
+                                    var roleIdShow = $("#roleIdShow").val();
+                                    if(undefined != roleIdShow && null != roleIdShow && '' != roleIdShow){
+                                        for (i in newDataList) {
+                                            if (newDataList[i].value == roleIdShow) {
+                                                var newData = {
+                                                    "name": newDataList[i].name,
+                                                    "value": newDataList[i].value,
+                                                    "selected": true
+
+                                                }
+                                                lists.push(newDataList[i].value);
+                                                showList.push(newData);
+                                                data.splice(i,1,newData);
+                                            }
+                                        }
+                                    }else{
+
+                                        var newData = {
+                                            "name": newDataList[0].name,
+                                            "value": newDataList[0].value,
+                                            "selected": true
+
+                                        }
+                                        lists.push(newDataList[0].value);
+                                        showList.push(newData);
+                                        data.splice(0,1,newData);
+                                    }
+                                }
+
+                                $("#roleStr").val(lists);
+                                xmSelect.render({
+                                    el: '#roleId',
+                                    language: 'zn',
+                                    data:data
+                                })
+                            }
+                        }
+                    })
+                }
+            }
+        })
+    }
+
+    var roleId = xmSelect.render({
+        el: '#roleId',
+        language: 'zn',
+        data: [
+        ]
+    })
+
+
+    document.getElementById('roleId').onblur=function(){
+        var list = [];
+        //获取当前多选选中的值
+        var selectArr = roleId.getValue();
+        for (var i in selectArr){
+            list.push(selectArr[i].value);
+        }
+        $("#roleIdStr").val(list);
+        console.log(list);
+    }
+</script>
 </body>
 </html>