瀏覽代碼

参会人员投票

LIVE_YE 11 月之前
父節點
當前提交
1e6b1254c3

+ 57 - 24
ruoyi-admin/src/main/java/com/ruoyi/web/controller/conference/SysUserConferenceController.java

@@ -30,31 +30,47 @@ import com.ruoyi.common.core.page.TableDataInfo;
  */
  */
 @RestController
 @RestController
 @RequestMapping("/conference")
 @RequestMapping("/conference")
-public class SysUserConferenceController extends BaseController
-{
+public class SysUserConferenceController extends BaseController {
     @Autowired
     @Autowired
     private ISysUserConferenceService sysUserConferenceService;
     private ISysUserConferenceService sysUserConferenceService;
 
 
-/**
- * 查询参会人员列表
- */
-@PreAuthorize("@ss.hasPermi(' c:conference:list')")
-@GetMapping("/list")
-    public TableDataInfo list(SysUserConference sysUserConference)
-    {
+    /**
+     * 查询参会人员列表
+     */
+    @PreAuthorize("@ss.hasPermi('c:conference:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SysUserConference sysUserConference) {
         startPage();
         startPage();
         List<SysUserConference> list = sysUserConferenceService.selectSysUserConferenceList(sysUserConference);
         List<SysUserConference> list = sysUserConferenceService.selectSysUserConferenceList(sysUserConference);
         return getDataTable(list);
         return getDataTable(list);
     }
     }
 
 
+    /**
+     * 按照时间分组
+     */
+    @PreAuthorize("@ss.hasPermi('c:conference:list:time')")
+    @GetMapping("/app/time/list")
+    public AjaxResult timeTist(SysUserConference sysUserConference) {
+        return sysUserConferenceService.timeTist(sysUserConference);
+    }
+
+    /**
+     * 按照时间分组
+     */
+    @PreAuthorize("@ss.hasPermi('c:conference:list:time')")
+    @GetMapping("/pc/time/list")
+    public AjaxResult pcTimeTist(SysUserConference sysUserConference) {
+        return sysUserConferenceService.pcTimeTist(sysUserConference);
+    }
+
+
     /**
     /**
      * 导出参会人员列表
      * 导出参会人员列表
      */
      */
-    @PreAuthorize("@ss.hasPermi(' c:conference:export')")
+    @PreAuthorize("@ss.hasPermi('c:conference:export')")
     @Log(title = "参会人员", businessType = BusinessType.EXPORT)
     @Log(title = "参会人员", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     @PostMapping("/export")
-    public void export(HttpServletResponse response, SysUserConference sysUserConference)
-    {
+    public void export(HttpServletResponse response, SysUserConference sysUserConference) {
         List<SysUserConference> list = sysUserConferenceService.selectSysUserConferenceList(sysUserConference);
         List<SysUserConference> list = sysUserConferenceService.selectSysUserConferenceList(sysUserConference);
         ExcelUtil<SysUserConference> util = new ExcelUtil<SysUserConference>(SysUserConference.class);
         ExcelUtil<SysUserConference> util = new ExcelUtil<SysUserConference>(SysUserConference.class);
         util.exportExcel(response, list, "参会人员数据");
         util.exportExcel(response, list, "参会人员数据");
@@ -63,43 +79,60 @@ public class SysUserConferenceController extends BaseController
     /**
     /**
      * 获取参会人员详细信息
      * 获取参会人员详细信息
      */
      */
-    @PreAuthorize("@ss.hasPermi(' c:conference:query')")
+    @PreAuthorize("@ss.hasPermi('c:conference:query')")
     @GetMapping(value = "/{conferenceId}")
     @GetMapping(value = "/{conferenceId}")
-    public AjaxResult getInfo(@PathVariable("conferenceId") Long conferenceId)
-    {
+    public AjaxResult getInfo(@PathVariable("conferenceId") Long conferenceId) {
         return success(sysUserConferenceService.selectSysUserConferenceByConferenceId(conferenceId));
         return success(sysUserConferenceService.selectSysUserConferenceByConferenceId(conferenceId));
     }
     }
 
 
     /**
     /**
      * 新增参会人员
      * 新增参会人员
      */
      */
-    @PreAuthorize("@ss.hasPermi(' c:conference:add')")
+    @PreAuthorize("@ss.hasPermi('c:conference:add')")
     @Log(title = "参会人员", businessType = BusinessType.INSERT)
     @Log(title = "参会人员", businessType = BusinessType.INSERT)
     @PostMapping
     @PostMapping
-    public AjaxResult add(@RequestBody SysUserConference sysUserConference)
-    {
+    public AjaxResult add(@RequestBody SysUserConference sysUserConference) {
         return toAjax(sysUserConferenceService.insertSysUserConference(sysUserConference));
         return toAjax(sysUserConferenceService.insertSysUserConference(sysUserConference));
     }
     }
 
 
+    /**
+     * 随机生成参会人员
+     * loanApplicationId 贷款id
+     */
+    @PreAuthorize("@ss.hasPermi('c:conference:randomAdd')")
+    @Log(title = "参会人员", businessType = BusinessType.INSERT)
+    @PostMapping(value = "/random/five")
+    public AjaxResult randomAdd(@RequestBody SysUserConference sysUserConference) {
+        return sysUserConferenceService.randomAdd(sysUserConference);
+    }
+
     /**
     /**
      * 修改参会人员
      * 修改参会人员
      */
      */
-    @PreAuthorize("@ss.hasPermi(' c:conference:edit')")
+    @PreAuthorize("@ss.hasPermi('c:conference:edit')")
     @Log(title = "参会人员", businessType = BusinessType.UPDATE)
     @Log(title = "参会人员", businessType = BusinessType.UPDATE)
     @PostMapping("/put")
     @PostMapping("/put")
-    public AjaxResult edit(@RequestBody SysUserConference sysUserConference)
-    {
+    public AjaxResult edit(@RequestBody SysUserConference sysUserConference) {
         return toAjax(sysUserConferenceService.updateSysUserConference(sysUserConference));
         return toAjax(sysUserConferenceService.updateSysUserConference(sysUserConference));
     }
     }
 
 
+    /**
+     * 投票
+     */
+    @PreAuthorize("@ss.hasPermi('c:conference:vote')")
+    @Log(title = "参会人员", businessType = BusinessType.UPDATE)
+    @PostMapping("/vote")
+    public AjaxResult vote(@RequestBody SysUserConference sysUserConference) {
+        return sysUserConferenceService.vote(sysUserConference);
+    }
+
     /**
     /**
      * 删除参会人员
      * 删除参会人员
      */
      */
-    @PreAuthorize("@ss.hasPermi(' c:conference:remove')")
+    @PreAuthorize("@ss.hasPermi('c:conference:remove')")
     @Log(title = "参会人员", businessType = BusinessType.DELETE)
     @Log(title = "参会人员", businessType = BusinessType.DELETE)
     @GetMapping("/delete/{conferenceIds}")
     @GetMapping("/delete/{conferenceIds}")
-    public AjaxResult remove(@PathVariable Long[] conferenceIds)
-    {
+    public AjaxResult remove(@PathVariable Long[] conferenceIds) {
         return toAjax(sysUserConferenceService.deleteSysUserConferenceByConferenceIds(conferenceIds));
         return toAjax(sysUserConferenceService.deleteSysUserConferenceByConferenceIds(conferenceIds));
     }
     }
 }
 }

+ 14 - 4
ruoyi-system/src/main/java/com/ruoyi/system/domain/conference/SysUserConference.java

@@ -41,6 +41,9 @@ public class SysUserConference extends BaseEntity
     @Excel(name = "贷款申请编号")
     @Excel(name = "贷款申请编号")
     private String loanApplicationNumber;
     private String loanApplicationNumber;
 
 
+    /** 贷款公司名称 */
+    private String loanApplicationName;
+
     /** 是否参会 N:否 Y:是 */
     /** 是否参会 N:否 Y:是 */
     @Excel(name = "是否参会 N:否 Y:是")
     @Excel(name = "是否参会 N:否 Y:是")
     private String isConference;
     private String isConference;
@@ -50,8 +53,7 @@ public class SysUserConference extends BaseEntity
     private String reason;
     private String reason;
 
 
     /** 参会时间 */
     /** 参会时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    private Date conferenceTime;
+    private String conferenceTime;
 
 
     /** 投票结果  N:否 Y:是 */
     /** 投票结果  N:否 Y:是 */
     private String votingResult;
     private String votingResult;
@@ -138,11 +140,11 @@ public class SysUserConference extends BaseEntity
         return reason;
         return reason;
     }
     }
 
 
-    public Date getConferenceTime() {
+    public String getConferenceTime() {
         return conferenceTime;
         return conferenceTime;
     }
     }
 
 
-    public void setConferenceTime(Date conferenceTime) {
+    public void setConferenceTime(String conferenceTime) {
         this.conferenceTime = conferenceTime;
         this.conferenceTime = conferenceTime;
     }
     }
 
 
@@ -178,6 +180,14 @@ public class SysUserConference extends BaseEntity
         this.argument = argument;
         this.argument = argument;
     }
     }
 
 
+    public String getLoanApplicationName() {
+        return loanApplicationName;
+    }
+
+    public void setLoanApplicationName(String loanApplicationName) {
+        this.loanApplicationName = loanApplicationName;
+    }
+
     @Override
     @Override
     public String toString() {
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

+ 3 - 4
ruoyi-system/src/main/java/com/ruoyi/system/domain/loan/LoanApplication.java

@@ -236,9 +236,8 @@ public class LoanApplication extends BaseEntity
     @Excel(name = "归档时间", width = 30, dateFormat = "yyyy-MM-dd")
     @Excel(name = "归档时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date fileTime;
     private Date fileTime;
     /** 最新一次上会时间 */
     /** 最新一次上会时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @Excel(name = "最新一次上会时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
     @Excel(name = "最新一次上会时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
-    private Date reviewTime;
+    private String reviewTime;
 
 
     /** 贷款申请进度(业务进度表查询进度列表):
     /** 贷款申请进度(业务进度表查询进度列表):
      2:业务审核/分配 3:担保初审 4:初审风险合规 5:尽职调查 6:评审会 7:合同签约 8:放款合规风险审核 9:放款通知 10:归档 */
      2:业务审核/分配 3:担保初审 4:初审风险合规 5:尽职调查 6:评审会 7:合同签约 8:放款合规风险审核 9:放款通知 10:归档 */
@@ -324,11 +323,11 @@ public class LoanApplication extends BaseEntity
      */
      */
     private Map<String,List<LoanApplicationFj>> otherFj;
     private Map<String,List<LoanApplicationFj>> otherFj;
 
 
-    public Date getReviewTime() {
+    public String getReviewTime() {
         return reviewTime;
         return reviewTime;
     }
     }
 
 
-    public void setReviewTime(Date reviewTime) {
+    public void setReviewTime(String reviewTime) {
         this.reviewTime = reviewTime;
         this.reviewTime = reviewTime;
     }
     }
 
 

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserConferenceMapper.java

@@ -67,4 +67,6 @@ public interface SysUserConferenceMapper
      * @return 结果
      * @return 结果
      */
      */
     public int deleteSysUserConferenceByConferenceIds(Long[] conferenceIds);
     public int deleteSysUserConferenceByConferenceIds(Long[] conferenceIds);
+
+    void updateSysUserConferenceByUserId(SysUserConference sysUserConference);
 }
 }

+ 4 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -1,6 +1,8 @@
 package com.ruoyi.system.mapper;
 package com.ruoyi.system.mapper;
 
 
 import java.util.List;
 import java.util.List;
+
+import com.ruoyi.system.domain.conference.SysUserConference;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.SysUser;
 
 
@@ -127,4 +129,6 @@ public interface SysUserMapper
     public SysUser checkEmailUnique(String email);
     public SysUser checkEmailUnique(String email);
 
 
     public SysUser selectUserByPhonenumber(String userName);
     public SysUser selectUserByPhonenumber(String userName);
+
+    List<SysUser> selectUserManageList(List<String> strlist);
 }
 }

+ 9 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/conference/ISysUserConferenceService.java

@@ -1,5 +1,6 @@
 package com.ruoyi.system.service.conference;
 package com.ruoyi.system.service.conference;
 
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.system.domain.conference.SysUserConference;
 import com.ruoyi.system.domain.conference.SysUserConference;
 
 
 import java.util.List;
 import java.util.List;
@@ -59,4 +60,12 @@ public interface ISysUserConferenceService
      * @return 结果
      * @return 结果
      */
      */
     public int deleteSysUserConferenceByConferenceId(Long conferenceId);
     public int deleteSysUserConferenceByConferenceId(Long conferenceId);
+
+    AjaxResult randomAdd(SysUserConference sysUserConference);
+
+    AjaxResult timeTist(SysUserConference sysUserConference);
+
+    AjaxResult pcTimeTist(SysUserConference sysUserConference);
+
+    AjaxResult vote(SysUserConference sysUserConference);
 }
 }

+ 179 - 22
ruoyi-system/src/main/java/com/ruoyi/system/service/conference/impl/SysUserConferenceServiceImpl.java

@@ -1,96 +1,253 @@
 package com.ruoyi.system.service.conference.impl;
 package com.ruoyi.system.service.conference.impl;
 
 
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysDictData;
+import com.ruoyi.common.core.domain.entity.SysRole;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.domain.conference.SysUserConference;
 import com.ruoyi.system.domain.conference.SysUserConference;
+import com.ruoyi.system.domain.loan.LoanApplication;
+import com.ruoyi.system.mapper.LoanApplicationMapper;
+import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.system.service.ISysDictTypeService;
 import com.ruoyi.system.service.conference.ISysUserConferenceService;
 import com.ruoyi.system.service.conference.ISysUserConferenceService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import com.ruoyi.system.mapper.SysUserConferenceMapper;
 import com.ruoyi.system.mapper.SysUserConferenceMapper;
+import org.springframework.transaction.annotation.Transactional;
 
 
 /**
 /**
  * 参会人员Service业务层处理
  * 参会人员Service业务层处理
- * 
+ *
  * @author boman
  * @author boman
  * @date 2024-05-06
  * @date 2024-05-06
  */
  */
 @Service
 @Service
-public class SysUserConferenceServiceImpl implements ISysUserConferenceService
-{
+public class SysUserConferenceServiceImpl implements ISysUserConferenceService {
     @Autowired
     @Autowired
     private SysUserConferenceMapper sysUserConferenceMapper;
     private SysUserConferenceMapper sysUserConferenceMapper;
 
 
+    @Autowired
+    private SysUserMapper userMapper;
+
+    @Autowired
+    private LoanApplicationMapper loanApplicationMapper;
+
+    @Autowired
+    private ISysDictTypeService dictTypeService;
+
     /**
     /**
      * 查询参会人员
      * 查询参会人员
-     * 
+     *
      * @param conferenceId 参会人员主键
      * @param conferenceId 参会人员主键
      * @return 参会人员
      * @return 参会人员
      */
      */
     @Override
     @Override
-    public SysUserConference selectSysUserConferenceByConferenceId(Long conferenceId)
-    {
+    public SysUserConference selectSysUserConferenceByConferenceId(Long conferenceId) {
         return sysUserConferenceMapper.selectSysUserConferenceByConferenceId(conferenceId);
         return sysUserConferenceMapper.selectSysUserConferenceByConferenceId(conferenceId);
     }
     }
 
 
     /**
     /**
      * 查询参会人员列表
      * 查询参会人员列表
-     * 
+     *
      * @param sysUserConference 参会人员
      * @param sysUserConference 参会人员
      * @return 参会人员
      * @return 参会人员
      */
      */
     @Override
     @Override
-    public List<SysUserConference> selectSysUserConferenceList(SysUserConference sysUserConference)
-    {
+    public List<SysUserConference> selectSysUserConferenceList(SysUserConference sysUserConference) {
         return sysUserConferenceMapper.selectSysUserConferenceList(sysUserConference);
         return sysUserConferenceMapper.selectSysUserConferenceList(sysUserConference);
     }
     }
 
 
     /**
     /**
      * 新增参会人员
      * 新增参会人员
-     * 
+     *
      * @param sysUserConference 参会人员
      * @param sysUserConference 参会人员
      * @return 结果
      * @return 结果
      */
      */
     @Override
     @Override
-    public int insertSysUserConference(SysUserConference sysUserConference)
-    {
+    public int insertSysUserConference(SysUserConference sysUserConference) {
         sysUserConference.setCreateTime(DateUtils.getNowDate());
         sysUserConference.setCreateTime(DateUtils.getNowDate());
         return sysUserConferenceMapper.insertSysUserConference(sysUserConference);
         return sysUserConferenceMapper.insertSysUserConference(sysUserConference);
     }
     }
 
 
     /**
     /**
      * 修改参会人员
      * 修改参会人员
-     * 
+     *
      * @param sysUserConference 参会人员
      * @param sysUserConference 参会人员
      * @return 结果
      * @return 结果
      */
      */
     @Override
     @Override
-    public int updateSysUserConference(SysUserConference sysUserConference)
-    {
+    public int updateSysUserConference(SysUserConference sysUserConference) {
         sysUserConference.setUpdateTime(DateUtils.getNowDate());
         sysUserConference.setUpdateTime(DateUtils.getNowDate());
         return sysUserConferenceMapper.updateSysUserConference(sysUserConference);
         return sysUserConferenceMapper.updateSysUserConference(sysUserConference);
     }
     }
 
 
     /**
     /**
      * 批量删除参会人员
      * 批量删除参会人员
-     * 
+     *
      * @param conferenceIds 需要删除的参会人员主键
      * @param conferenceIds 需要删除的参会人员主键
      * @return 结果
      * @return 结果
      */
      */
     @Override
     @Override
-    public int deleteSysUserConferenceByConferenceIds(Long[] conferenceIds)
-    {
+    public int deleteSysUserConferenceByConferenceIds(Long[] conferenceIds) {
         return sysUserConferenceMapper.deleteSysUserConferenceByConferenceIds(conferenceIds);
         return sysUserConferenceMapper.deleteSysUserConferenceByConferenceIds(conferenceIds);
     }
     }
 
 
     /**
     /**
      * 删除参会人员信息
      * 删除参会人员信息
-     * 
+     *
      * @param conferenceId 参会人员主键
      * @param conferenceId 参会人员主键
      * @return 结果
      * @return 结果
      */
      */
     @Override
     @Override
-    public int deleteSysUserConferenceByConferenceId(Long conferenceId)
-    {
+    public int deleteSysUserConferenceByConferenceId(Long conferenceId) {
         return sysUserConferenceMapper.deleteSysUserConferenceByConferenceId(conferenceId);
         return sysUserConferenceMapper.deleteSysUserConferenceByConferenceId(conferenceId);
     }
     }
+
+    @Override
+    @Transactional
+    public AjaxResult randomAdd(SysUserConference sysUserConference) {
+
+        int num = 0;
+        //查询贷款信息
+        LoanApplication loanApplication = loanApplicationMapper.selectLoanApplicationByLoanApplicationId(sysUserConference.getLoanApplicationId());
+        //主表赋值
+        loanApplication.setReviewTime(sysUserConference.getConferenceTime());
+        loanApplicationMapper.updateLoanApplication(loanApplication);
+
+        //查询参会人员的字典值
+        List<SysDictData> data = dictTypeService.selectDictDataByType("conference_role");
+        List<String> strlist = data.stream().map(SysDictData::getDictValue).collect(Collectors.toList());
+        //查询人员
+        List<SysUser> userList = userMapper.selectUserManageList(strlist);
+        //生成0-n的随机数
+        Random random = new Random();
+        while (num <= 5) {
+            int randomNumber = random.nextInt(userList.size() - 1);
+            SysUser sysUser = userList.get(randomNumber);
+            //A
+            boolean b1 = sysUser.getUserId().equals(loanApplication.getaUserId());
+            //B
+            boolean b2 = sysUser.getUserId().equals(loanApplication.getbUserId());
+            //风险
+            boolean b3 = sysUser.getUserId().equals(loanApplication.getfUserId());
+            //只有同时满足随机人员不是这三个时才能加入参会人员
+            if (!b1 && !b2 && !b3) {
+                //将信息存入库
+                SysUserConference userConference = new SysUserConference();
+                userConference.setUserId(sysUser.getUserId());
+                userConference.setRealName(sysUser.getNickName());
+                userConference.setLoanApplicationId(sysUserConference.getLoanApplicationId());
+                userConference.setLoanApplicationName(loanApplication.getEnterpriseName());
+                userConference.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
+                userConference.setConferenceTime(sysUserConference.getConferenceTime());
+                sysUserConferenceMapper.insertSysUserConference(userConference);
+                num++;
+            }
+        }
+        return AjaxResult.success("成功");
+    }
+
+    @Override
+    public AjaxResult timeTist(SysUserConference sysUserConference) {
+        List<SysUserConference> sysUserConferences = sysUserConferenceMapper.selectSysUserConferenceList(sysUserConference);
+        Map<String,List<SysUserConference>> map = sysUserConferences.stream().collect(Collectors.groupingBy(SysUserConference::getConferenceTime));
+
+        List<Map<String,Object>> listMap = new ArrayList<>();
+        for (Map.Entry<String, List<SysUserConference>> entry : map.entrySet()) {
+            Map<String,Object> resultMap = new HashMap<>();
+            resultMap.put("conferenceTime",entry.getKey());
+            resultMap.put("children",entry.getValue());
+            listMap.add(resultMap);
+        }
+
+        return AjaxResult.success(listMap);
+    }
+
+    @Override
+    public AjaxResult pcTimeTist(SysUserConference sysUserConference) {
+        List<SysUserConference> sysUserConferences = sysUserConferenceMapper.selectSysUserConferenceList(sysUserConference);
+        return AjaxResult.success(sysUserConferences);
+    }
+
+    @Override
+    @Transactional
+    public AjaxResult vote(SysUserConference sysUserConference) {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        sysUserConference.setUserId(user.getUserId());
+        sysUserConference.setUpdateTime(DateUtils.getNowDate());
+        sysUserConferenceMapper.updateSysUserConferenceByUserId(sysUserConference);
+        //判断当前角色是否是董事长
+        List<SysRole> roles = user.getRoles();
+        Boolean bl = false;
+        for (SysRole role : roles) {
+            if(role.getRoleKey().equals("sensible")){
+                bl = true;
+                break;
+            }
+        }
+        //董事长是否一票否决
+        if(bl && sysUserConference.getVotingResult().equals("N")){
+            //修改主表信息 未通过
+            LoanApplication loanApplication = new LoanApplication();
+            loanApplication.setAuditType("4");
+            loanApplication.setReviewSchedule("6");
+            loanApplicationMapper.updateLoanApplication(loanApplication);
+            // todo 未通过 业务流程表插入数据
+
+            return AjaxResult.success("成功");
+        }
+        //除了本人外是否全部投票
+        Boolean b = true;
+        //不同意人数
+        int bty = 0;
+        if("N".equals(sysUserConference.getVotingResult())){
+            bty++;
+        }
+        //查询所有人员的投票结果
+        List<SysUserConference> sysUserConferences = sysUserConferenceMapper.selectSysUserConferenceList(sysUserConference);
+        for (SysUserConference userConference : sysUserConferences) {
+            //是否有人未投票
+            if(!userConference.getUserId().equals(user.getUserId()) && StringUtils.isEmpty(userConference.getVotingResult())){
+                b = false;
+            }
+            //排除掉本人
+            if(!userConference.getUserId().equals(user.getUserId()) && StringUtils.isNotEmpty(userConference.getVotingResult()) && "N".equals(userConference.getVotingResult())){
+                bty++;
+            }
+
+        }
+
+        if(bty>=2){
+            //修改主表信息 未通过
+            LoanApplication loanApplication = new LoanApplication();
+            loanApplication.setAuditType("4");
+            loanApplication.setReviewSchedule("6");
+            loanApplicationMapper.updateLoanApplication(loanApplication);
+            // todo 未通过 业务流程表插入数据
+
+            return AjaxResult.success("成功");
+        }
+
+        if(b && bty<2){
+            //修改主表信息 通过
+            LoanApplication loanApplication = new LoanApplication();
+            loanApplication.setAuditType("1");
+            loanApplication.setReviewSchedule("5");
+            loanApplication.setAuditSchedule("8");
+            loanApplication.setLoanSchedule("7");
+            loanApplicationMapper.updateLoanApplication(loanApplication);
+            // todo 通过 业务流程表插入数据
+
+
+            return AjaxResult.success("成功");
+        }
+
+        return AjaxResult.success("成功");
+    }
 }
 }

+ 25 - 1
ruoyi-system/src/main/resources/mapper/system/SysUserConferenceMapper.xml

@@ -11,6 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="realName"    column="real_name"    />
         <result property="realName"    column="real_name"    />
         <result property="loanApplicationId"    column="loan_application_id"    />
         <result property="loanApplicationId"    column="loan_application_id"    />
         <result property="loanApplicationNumber"    column="loan_application_number"    />
         <result property="loanApplicationNumber"    column="loan_application_number"    />
+        <result property="loanApplicationName"    column="loan_application_name"    />
         <result property="isConference"    column="is_conference"    />
         <result property="isConference"    column="is_conference"    />
         <result property="reason"    column="reason"    />
         <result property="reason"    column="reason"    />
         <result property="conferenceTime"    column="conference_time"    />
         <result property="conferenceTime"    column="conference_time"    />
@@ -26,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
     </resultMap>
 
 
     <sql id="selectSysUserConferenceVo">
     <sql id="selectSysUserConferenceVo">
-        select conference_id, user_id, id_card, real_name, loan_application_id, loan_application_number, is_conference, reason,conference_time,voting_result,line_guarantee,guarantee_period,argument, create_by, create_time, update_by, update_time, remark from sys_user_conference
+        select conference_id, user_id, id_card, real_name, loan_application_id, loan_application_number,loan_application_name, is_conference, reason,conference_time,voting_result,line_guarantee,guarantee_period,argument, create_by, create_time, update_by, update_time, remark from sys_user_conference
     </sql>
     </sql>
 
 
     <select id="selectSysUserConferenceList" parameterType="SysUserConference" resultMap="SysUserConferenceResult">
     <select id="selectSysUserConferenceList" parameterType="SysUserConference" resultMap="SysUserConferenceResult">
@@ -37,6 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="realName != null  and realName != ''"> and real_name like concat('%', #{realName}, '%')</if>
             <if test="realName != null  and realName != ''"> and real_name like concat('%', #{realName}, '%')</if>
             <if test="loanApplicationId != null "> and loan_application_id = #{loanApplicationId}</if>
             <if test="loanApplicationId != null "> and loan_application_id = #{loanApplicationId}</if>
             <if test="loanApplicationNumber != null  and loanApplicationNumber != ''"> and loan_application_number = #{loanApplicationNumber}</if>
             <if test="loanApplicationNumber != null  and loanApplicationNumber != ''"> and loan_application_number = #{loanApplicationNumber}</if>
+            <if test="loanApplicationName != null "> and loan_application_name = #{loanApplicationName}</if>
             <if test="isConference != null  and isConference != ''"> and is_conference = #{isConference}</if>
             <if test="isConference != null  and isConference != ''"> and is_conference = #{isConference}</if>
             <if test="reason != null  and reason != ''"> and reason = #{reason}</if>
             <if test="reason != null  and reason != ''"> and reason = #{reason}</if>
 
 
@@ -62,6 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="realName != null and realName != ''">real_name,</if>
             <if test="realName != null and realName != ''">real_name,</if>
             <if test="loanApplicationId != null">loan_application_id,</if>
             <if test="loanApplicationId != null">loan_application_id,</if>
             <if test="loanApplicationNumber != null">loan_application_number,</if>
             <if test="loanApplicationNumber != null">loan_application_number,</if>
+            <if test="loanApplicationName != null "> loan_application_name ,</if>
             <if test="isConference != null">is_conference,</if>
             <if test="isConference != null">is_conference,</if>
             <if test="reason != null">reason,</if>
             <if test="reason != null">reason,</if>
             <if test="conferenceTime != null ">conference_time ,</if>
             <if test="conferenceTime != null ">conference_time ,</if>
@@ -81,6 +84,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="realName != null and realName != ''">#{realName},</if>
             <if test="realName != null and realName != ''">#{realName},</if>
             <if test="loanApplicationId != null">#{loanApplicationId},</if>
             <if test="loanApplicationId != null">#{loanApplicationId},</if>
             <if test="loanApplicationNumber != null">#{loanApplicationNumber},</if>
             <if test="loanApplicationNumber != null">#{loanApplicationNumber},</if>
+            <if test="loanApplicationName != null "> #{loanApplicationName},</if>
             <if test="isConference != null">#{isConference},</if>
             <if test="isConference != null">#{isConference},</if>
             <if test="reason != null">#{reason},</if>
             <if test="reason != null">#{reason},</if>
             <if test="conferenceTime != null ">#{conferenceTime},</if>
             <if test="conferenceTime != null ">#{conferenceTime},</if>
@@ -110,6 +114,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="realName != null and realName != ''">real_name = #{realName},</if>
             <if test="realName != null and realName != ''">real_name = #{realName},</if>
             <if test="loanApplicationId != null">loan_application_id = #{loanApplicationId},</if>
             <if test="loanApplicationId != null">loan_application_id = #{loanApplicationId},</if>
             <if test="loanApplicationNumber != null">loan_application_number = #{loanApplicationNumber},</if>
             <if test="loanApplicationNumber != null">loan_application_number = #{loanApplicationNumber},</if>
+            <if test="loanApplicationName != null "> loan_application_name = #{loanApplicationName},</if>
             <if test="isConference != null">is_conference = #{isConference},</if>
             <if test="isConference != null">is_conference = #{isConference},</if>
             <if test="reason != null">reason = #{reason},</if>
             <if test="reason != null">reason = #{reason},</if>
             <if test="conferenceTime != null ">conference_time = #{conferenceTime},</if>
             <if test="conferenceTime != null ">conference_time = #{conferenceTime},</if>
@@ -125,6 +130,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </trim>
         </trim>
         where conference_id = #{conferenceId}
         where conference_id = #{conferenceId}
     </update>
     </update>
+    <update id="updateSysUserConferenceByUserId" parameterType="SysUserConference">
+        update sys_user_conference
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="idCard != null">id_card = #{idCard},</if>
+            <if test="realName != null and realName != ''">real_name = #{realName},</if>
+            <if test="isConference != null">is_conference = #{isConference},</if>
+            <if test="reason != null">reason = #{reason},</if>
+            <if test="votingResult != null  ">voting_result = #{votingResult},</if>
+            <if test="lineGuarantee != null  ">line_guarantee = #{lineGuarantee},</if>
+            <if test="guaranteePeriod != null  ">guarantee_period = #{guaranteePeriod},</if>
+            <if test="argument != null  ">argument = #{argument},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where  user_id = #{userId} and loan_application_id = #{loanApplicationId} and conference_time = #{conferenceTime}
+    </update>
 
 
     <delete id="deleteSysUserConferenceByConferenceId" parameterType="Long">
     <delete id="deleteSysUserConferenceByConferenceId" parameterType="Long">
         delete from sys_user_conference where conference_id = #{conferenceId}
         delete from sys_user_conference where conference_id = #{conferenceId}

+ 14 - 1
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -157,7 +157,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
 	<select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
 		select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
 		select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
 	</select>
 	</select>
-	
+
+	<select id="selectUserManageList" parameterType="SysUser" resultMap="SysUserResult">
+		select u.user_id, u.dept_id, u.user_name, u.nick_name,u.user_type,u.init_face, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
+			   r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
+		from sys_user u
+				 left join sys_user_role ur on u.user_id = ur.user_id
+				 left join sys_role r on r.role_id = ur.role_id
+		where  u.del_flag = '0' and r.role_key in
+		<foreach collection="list" item="item" open="(" separator="," close=")">
+			#{item}
+		</foreach>
+
+	</select>
+
 	<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
 	<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
  		insert into sys_user(
  		insert into sys_user(
  			<if test="userId != null and userId != 0">user_id,</if>
  			<if test="userId != null and userId != 0">user_id,</if>