Merge remote-tracking branch 'origin/master'

This commit is contained in:
zhangqinlin
2021-09-08 13:41:50 +08:00
19 changed files with 676 additions and 92 deletions
@@ -34,17 +34,16 @@ public class BaseUtil {
/**
* 修改封装
* @param db 查询数据库得到的对象
* @param object 任意继承JeroEntity的对象
* @param userId token解析得到的id
*/
public static void update(Object db,Object object, String userId){
JeroEntity baseDb = (JeroEntity) db;//查询数据库得到的对象
JeroEntity jeroEntity = (JeroEntity) object;//要被封装的对象
jeroEntity.setCreateBy(baseDb.getCreateBy());//封装创建
jeroEntity.setCreateTime(baseDb.getCreateTime());//封装创建时间
jeroEntity.setUpdateBy(userId);//封装修改
jeroEntity.setUpdateTime(new Date());//封装修改时间
public static void update(Object object, String userId){
//要被封装的对象
JeroEntity jeroEntity = (JeroEntity) object;
//封装修改
jeroEntity.setUpdateBy(userId);
//封装修改时间
jeroEntity.setUpdateTime(new Date());
}
/**
@@ -123,13 +123,12 @@ public class PayContactsManagementController extends JeroController<PayContactsM
return Result.error("企业不存在!");
}
payContactsManagement.setCompanyName(payCompanyManagement.getCompanyName());
PayContactsManagement payContactsManagementNew;
try {
String phone = PasswordUtil.encrypt(payContactsManagement.getPhone());
// 新增联系人前在次校验手机号是否存在
LambdaQueryWrapper<PayContactsManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayContactsManagement::getPhone,phone);
payContactsManagementNew = payContactsManagementService.getOne(queryWrapper);
PayContactsManagement payContactsManagementNew = payContactsManagementService.getOne(queryWrapper);
// 手机号存在,并且编辑id与查询不同,则校验不通过
if(!Objects.isNull(payContactsManagementNew)) {
return Result.error("手机号已存在!");
@@ -138,6 +137,20 @@ public class PayContactsManagementController extends JeroController<PayContactsM
log.info("联系人管理-添加异常",e);
return Result.error("手机号已存在!");
}
try {
// 新增联系人前校验同企业下联系人是否存在
LambdaQueryWrapper<PayContactsManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayContactsManagement::getName,payContactsManagement.getName());
queryWrapper.eq(PayContactsManagement::getCompanyId,payContactsManagement.getCompanyId());
PayContactsManagement payContactsManagementNew = payContactsManagementService.getOne(queryWrapper);
// 姓名存在,则校验不通过
if(!Objects.isNull(payContactsManagementNew)) {
return Result.error("联系人姓名已存在!");
}
}catch (Exception e){
log.info("联系人管理-添加异常",e);
return Result.error("联系人姓名已存在!");
}
// 存在数据
try {
if (!StringUtils.isBlank(payContactsManagement.getPhone())){
@@ -185,6 +198,20 @@ public class PayContactsManagementController extends JeroController<PayContactsM
log.info("联系人管理-编辑异常",e);
return Result.error("手机号已存在!");
}
try {
// 新增联系人前校验同企业下联系人是否存在
LambdaQueryWrapper<PayContactsManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayContactsManagement::getName,payContactsManagement.getName());
queryWrapper.eq(PayContactsManagement::getCompanyId,payContactsManagement.getCompanyId());
PayContactsManagement payContactsManagementNew = payContactsManagementService.getOne(queryWrapper);
// 姓名存在,并且编辑id与查询不同,则校验不通过
if(!Objects.isNull(payContactsManagementNew) && !Objects.equals(payContactsManagementNew.getId(),payContactsManagement.getId())) {
return Result.error("联系人姓名已存在!");
}
}catch (Exception e){
log.info("联系人管理-编辑异常",e);
return Result.error("联系人姓名已存在!");
}
try {
if (!StringUtils.isBlank(payContactsManagement.getPhone())){
payContactsManagement.setPhone(PasswordUtil.encrypt(payContactsManagement.getPhone()));
@@ -266,9 +293,42 @@ public class PayContactsManagementController extends JeroController<PayContactsM
}
}catch (Exception e){
log.info("联系人管理-通过手机号查询异常",e);
return Result.error("该机号已存在!");
return Result.error("机号已存在!");
}
return Result.error("该机号已存在!");
return Result.error("机号已存在!");
}
/**
* 通过联系人姓名查询
*
* @param name 联系人姓名
* @return
*/
@ApiOperation(value="联系人管理-通过联系人姓名查询", notes="联系人管理-通过联系人姓名查询")
@GetMapping(value = "/queryByName")
public Result<?> queryByName(@RequestParam(name="name") String name,@RequestParam(name="companyId") String companyId) {
if(StringUtils.isBlank(name)){
return Result.error("联系人姓名不能为空!");
}
if(StringUtils.isBlank(companyId)){
return Result.error("企业id不能为空!");
}
if(name.length() > 20){
return Result.error("姓名长度不能大于20个字符!");
}
try {
LambdaQueryWrapper<PayContactsManagement> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PayContactsManagement::getName,name);
queryWrapper.eq(PayContactsManagement::getCompanyId,companyId);
queryWrapper.eq(PayContactsManagement::getDataSource,PayContactsManagementCommon.DATA_SOURCE1);
PayContactsManagement payContactsManagement = payContactsManagementService.getOne(queryWrapper);
if(Objects.isNull(payContactsManagement)) {
return Result.OK("没有该联系人姓名!");
}
}catch (Exception e){
log.info("联系人管理-通过联系人姓名查询异常",e);
return Result.error("该联系人姓名已存在!");
}
return Result.error("该联系人姓名已存在!");
}
/**
@@ -20,14 +20,10 @@ import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.entity.PayIncomeContractAudit;
import com.jero.contract.entity.PayIncomeContractInstallment;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractAuditService;
import com.jero.contract.service.IPayIncomeContractInstallmentService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.contract.vo.*;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -41,7 +37,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
@@ -1,24 +1,20 @@
package com.jero.contract.controller;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PaySpendingContract;
import com.jero.contract.service.IPaySpendingContractService;
import com.jero.contract.vo.PayIncomeContractOutput;
import com.jero.contract.vo.PaySpendingContractInput;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -57,49 +53,49 @@ public class PaySpendingContractController extends JeroController<PaySpendingCon
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="startTime",required = false) String startTime,
@RequestParam(name="endTime",required = false) String endTime) {
@RequestParam(name="endTime",required = false) String endTime,
HttpServletRequest req) {
if(!StringUtils.isBlank(paySpendingContract.getContractNum()) && paySpendingContract.getContractNum().length() > 50){
return Result.error("合同编号长度不能大于50个字符!");
}
if(!StringUtils.isBlank(paySpendingContract.getContractName()) && paySpendingContract.getContractName().length() > 50){
return Result.error("合同名称长度不能大于50个字符!");
}
// Page<PaySpendingContractOutput> page = new Page<>(pageNo, pageSize);
// IPage<PaySpendingContract> pageList = payIncomeContractService.queryPageList(page, payIncomeContract,chargeStatus,projectName,startTime,endTime);
// if(!CollectionUtils.isEmpty(pageList.getRecords())){
// List<PayIncomeContractOutput> list = pageList.getRecords();
// list.forEach(p->{
//
// });
// }
return Result.OK(null);
LambdaQueryWrapper<PaySpendingContract> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PaySpendingContract::getContractNum,paySpendingContract.getContractNum());
queryWrapper.eq(PaySpendingContract::getContractName,paySpendingContract.getContractName());
queryWrapper.ge(PaySpendingContract::getCreateTime,startTime);
queryWrapper.le(PaySpendingContract::getCreateTime,endTime);
Page<PaySpendingContract> page = new Page<>(pageNo, pageSize);
IPage<PaySpendingContract> pageList = paySpendingContractService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param paySpendingContract
* @param input 支出合同
* @return
*/
@AutoLog(value = "支出合同-添加")
@ApiOperation(value="支出合同-添加", notes="支出合同-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PaySpendingContract paySpendingContract) {
paySpendingContractService.save(paySpendingContract);
return Result.OK("添加成功!");
public Result<?> add(@RequestBody PaySpendingContractInput input) {
PaySpendingContract paySpendingContract = paySpendingContractService.addPaySpendingContractInput(input);
return Result.OK("添加成功!",paySpendingContract);
}
/**
* 编辑
*
* @param paySpendingContract
* @param input 支出合同
* @return
*/
@AutoLog(value = "支出合同-编辑")
@ApiOperation(value="支出合同-编辑", notes="支出合同-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PaySpendingContract paySpendingContract) {
paySpendingContractService.updateById(paySpendingContract);
public Result<?> edit(@RequestBody PaySpendingContractInput input) {
paySpendingContractService.editPayIncomeContractInput(input);
return Result.OK("编辑成功!");
}
@@ -112,8 +108,11 @@ public class PaySpendingContractController extends JeroController<PaySpendingCon
@AutoLog(value = "支出合同-通过id删除")
@ApiOperation(value="支出合同-通过id删除", notes="支出合同-通过id删除")
@GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
paySpendingContractService.removeById(id);
public Result<?> delete(@RequestParam(name="id") String id) {
if(StringUtils.isBlank(id)){
return Result.error("id不能为空!");
}
paySpendingContractService.deletePaySpendingContractInputById(id);
return Result.OK("删除成功!");
}
@@ -126,8 +125,17 @@ public class PaySpendingContractController extends JeroController<PaySpendingCon
@AutoLog(value = "支出合同-批量删除")
@ApiOperation(value="支出合同-批量删除", notes="支出合同-批量删除")
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.paySpendingContractService.removeByIds(Arrays.asList(ids.split(",")));
public Result<?> deleteBatch(@RequestParam(name="ids") String ids) {
if(StringUtils.isBlank(ids)){
return Result.error("id不能为空!");
}
String[] s = ids.split(",");
for (String s1 : s) {
if(StringUtils.isBlank(s1)){
return Result.error("id不能为空!");
}
}
paySpendingContractService.deleteSpendingContractInputByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
@@ -136,10 +136,6 @@ public class PaySpendingContract implements Serializable {
@Excel(name = "打包年份", width = 15)
@ApiModelProperty(value = "打包年份")
private String packYear;
/**合同状态(1:草稿,2:已通过,3:未通过,4:已归档)*/
@Excel(name = "合同状态(1:草稿,2:已通过,3:未通过,4:已归档)", width = 15)
@ApiModelProperty(value = "合同状态(1:草稿,2:已通过,3:未通过,4:已归档)")
private Integer contractStatus;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
@@ -2,6 +2,9 @@ package com.jero.contract.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.contract.entity.PaySpendingContract;
import com.jero.contract.vo.PaySpendingContractInput;
import java.util.List;
/**
* @Description: pay_spending_contract
@@ -11,4 +14,40 @@ import com.jero.contract.entity.PaySpendingContract;
*/
public interface IPaySpendingContractService extends IService<PaySpendingContract> {
/**
* @Description 添加
* @Author lqt
* @Date 2021/9/7
* @Param
* @Return
* @Exception
*/
PaySpendingContract addPaySpendingContractInput(PaySpendingContractInput input);
/**
* @Description 编辑
* @Author lqt
* @Date 2021/9/7
* @Param
* @Return
* @Exception
*/
void editPayIncomeContractInput(PaySpendingContractInput input);
/**
* @Description 通过id删除
* @Author lqt
* @Date 2021/9/7
* @Param
* @Return
* @Exception
*/
void deletePaySpendingContractInputById(String id);
/**
* @Description 批量删除
* @Author lqt
* @Date 2021/9/7
* @Param
* @Return
* @Exception
*/
void deleteSpendingContractInputByIds(List<String> ids);
}
@@ -1,18 +1,226 @@
package com.jero.contract.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.ValidUtil;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractInstallment;
import com.jero.contract.entity.PaySpendingContract;
import com.jero.contract.entity.PaySpendingContractInstallment;
import com.jero.contract.mapper.PaySpendingContractMapper;
import com.jero.contract.service.IPaySpendingContractInstallmentService;
import com.jero.contract.service.IPaySpendingContractService;
import com.jero.contract.vo.PaySpendingContractInput;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @Description: pay_spending_contract
* @Author: jeecg-boot
* @Date: 2021-09-07
* @Version: V1.0
*/
@Slf4j
@Service
public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContractMapper, PaySpendingContract> implements IPaySpendingContractService {
@Autowired
private IPaySpendingContractInstallmentService paySpendingContractInstallmentService;
@Autowired
private IPaySpendingContractService paySpendingContractService;
@Autowired
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Autowired
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Autowired
private ISysUserService sysUserService;
@Override
public PaySpendingContract addPaySpendingContractInput(PaySpendingContractInput input) {
if(Objects.isNull(input)){
throw new JeroBootException("支出合同信息不能为空!");
}
PaySpendingContract paySpendingContract = input.getContract();
if(Objects.isNull(paySpendingContract)){
throw new JeroBootException("支出合同信息不能为空!");
}
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(paySpendingContract);
if(!StringUtils.isBlank(msgPayIncomeContract)){
throw new JeroBootException(msgPayIncomeContract.toString());
}
List<PaySpendingContractInstallment> listPaySpendingContractInstallment = new ArrayList<>();
if(!CollectionUtils.isEmpty(input.getInstallment())){
listPaySpendingContractInstallment = input.getInstallment();
}
try {
LambdaQueryWrapper<PaySpendingContract> query = new LambdaQueryWrapper<>();
query.eq(PaySpendingContract::getContractNum,paySpendingContract.getContractNum());
PaySpendingContract paySpendingContractNew = paySpendingContractService.getOne(query);
if(!Objects.isNull(paySpendingContractNew)){
throw new JeroBootException("合同编号已存在!");
}
}catch (Exception e){
log.info("支出合同-添加异常",e);
throw new JeroBootException("合同编号已存在!");
}
setPaySpendingContract(paySpendingContract);
paySpendingContractService.save(paySpendingContract);
StringBuilder msgPaySpendingContractInstallment = new StringBuilder();
if(!CollectionUtils.isEmpty(listPaySpendingContractInstallment)){
List<PaySpendingContractInstallment> finalListPaySpendingContractInstallment = listPaySpendingContractInstallment;
listPaySpendingContractInstallment.forEach(p->{
p.setContractId(paySpendingContract.getId());
StringBuilder sb = ValidUtil.validateAll(p);
if(!StringUtils.isBlank(sb)){
msgPaySpendingContractInstallment.append("").append(finalListPaySpendingContractInstallment.indexOf(p)).append("阶段:").append(sb);
}
});
paySpendingContractInstallmentService.saveBatch(listPaySpendingContractInstallment);
}
if(!StringUtils.isBlank(msgPaySpendingContractInstallment)){
throw new JeroBootException(msgPaySpendingContractInstallment.toString());
}
return paySpendingContract;
}
@Override
public void editPayIncomeContractInput(PaySpendingContractInput input) {
if(Objects.isNull(input)){
throw new JeroBootException("支出合同信息不能为空!");
}
PaySpendingContract paySpendingContract = input.getContract();
if(Objects.isNull(input.getContract())){
throw new JeroBootException("支出合同信息不能为空!");
}
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(paySpendingContract);
if(!StringUtils.isBlank(msgPayIncomeContract)){
throw new JeroBootException(msgPayIncomeContract.toString());
}
if(StringUtils.isBlank(paySpendingContract.getId())){
throw new JeroBootException("支出合同id不能为空!");
}
PaySpendingContract paySpendingContractStatus = paySpendingContractService.getById(paySpendingContract.getId());
if(Objects.isNull(paySpendingContractStatus)){
throw new JeroBootException("支出合同不存在!");
}
List<PaySpendingContractInstallment> listPaySpendingContractInstallment = new ArrayList<>();
if(!CollectionUtils.isEmpty(input.getInstallment())){
listPaySpendingContractInstallment = input.getInstallment();
}
try {
LambdaQueryWrapper<PaySpendingContract> query = new LambdaQueryWrapper<>();
query.eq(PaySpendingContract::getContractNum,paySpendingContract.getContractNum());
PaySpendingContract payIncomeContractNew = paySpendingContractService.getOne(query);
if(!Objects.isNull(payIncomeContractNew) && !Objects.equals(payIncomeContractNew.getId(),paySpendingContract.getId())){
throw new JeroBootException("合同编号已存在!");
}
}catch (Exception e){
log.info("支出合同-添加异常",e);
throw new JeroBootException("合同编号已存在!");
}
StringBuilder msgPaySpendingContractInstallment = new StringBuilder();
// 删除历史
LambdaQueryWrapper<PaySpendingContractInstallment> queryPaySpendingContractInstallmentService = new LambdaQueryWrapper<>();
queryPaySpendingContractInstallmentService.eq(PaySpendingContractInstallment::getContractId,paySpendingContract.getId());
List<PaySpendingContractInstallment> listPaySpendingContractInstallmentOld = paySpendingContractInstallmentService.list(queryPaySpendingContractInstallmentService);
if(!CollectionUtils.isEmpty(listPaySpendingContractInstallmentOld)){
List<String> list = listPaySpendingContractInstallmentOld.stream().map(PaySpendingContractInstallment::getId).collect(Collectors.toList());
paySpendingContractInstallmentService.removeByIds(list);
}
// 新增
if(!CollectionUtils.isEmpty(listPaySpendingContractInstallment)){
List<PaySpendingContractInstallment> finalListPayIncomeContractInstallment = listPaySpendingContractInstallment;
listPaySpendingContractInstallment.forEach(p->{
p.setContractId(paySpendingContract.getId());
StringBuilder sb = ValidUtil.validateAll(p);
if(!StringUtils.isBlank(sb)){
msgPaySpendingContractInstallment.append("").append(finalListPayIncomeContractInstallment.indexOf(p)).append("阶段:").append(sb);
}
});
paySpendingContractInstallmentService.saveBatch(listPaySpendingContractInstallment);
}
if(!StringUtils.isBlank(msgPaySpendingContractInstallment)){
throw new JeroBootException(msgPaySpendingContractInstallment.toString());
}
setPaySpendingContract(paySpendingContract);
paySpendingContractService.updateById(paySpendingContract);
}
@Override
public void deletePaySpendingContractInputById(String id) {
PaySpendingContract paySpendingContractStatus = paySpendingContractService.getById(id);
if(Objects.isNull(paySpendingContractStatus)){
throw new JeroBootException("支出合同不存在!");
}
paySpendingContractService.removeById(id);
LambdaUpdateWrapper<PaySpendingContractInstallment> updatePaySpendingContractInstallment = new LambdaUpdateWrapper<>();
updatePaySpendingContractInstallment.eq(PaySpendingContractInstallment::getContractId,id);
paySpendingContractInstallmentService.remove(updatePaySpendingContractInstallment);
}
@Override
public void deleteSpendingContractInputByIds(List<String> ids) {
LambdaQueryWrapper<PaySpendingContract> query = new LambdaQueryWrapper<>();
query.in(PaySpendingContract::getId,ids);
List<PaySpendingContract> listPaySpendingContractStatus = paySpendingContractService.list(query);
if(CollectionUtils.isEmpty(listPaySpendingContractStatus)){
throw new JeroBootException("收入合同不存在!");
}
paySpendingContractService.removeByIds(ids);
LambdaUpdateWrapper<PaySpendingContractInstallment> updatePaySpendingContractInstallment = new LambdaUpdateWrapper<>();
updatePaySpendingContractInstallment.in(PaySpendingContractInstallment::getContractId,ids);
paySpendingContractInstallmentService.remove(updatePaySpendingContractInstallment);
}
/**
* @Description 插入企业信息,联系人信息到临时表,更新项目记录
* @Author lqt
* @Date 2021/8/31
* @Param payCommonProject
* @Return
* @Exception
*/
private void setPaySpendingContract(PaySpendingContract paySpendingContract){
// 企业
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(paySpendingContract.getSignedCompanyId());
if(Objects.isNull(chargeCompanyName)){
throw new JeroBootException("企业名称为空!");
}
// 联系人
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(paySpendingContract.getSignedContactsId());
if(Objects.isNull(contactsName)){
throw new JeroBootException("联系人名称为空!");
}
// 负责人名称
SysUser principalName = sysUserService.getById(paySpendingContract.getPrincipalId());
if(Objects.isNull(principalName)){
throw new JeroBootException("负责人名称为空!");
}
paySpendingContract.setPrincipalId(principalName.getId());
paySpendingContract.setPrincipalName(principalName.getRealname());
paySpendingContract.setSignedContactsTemporaryId(contactsName.getId());
paySpendingContract.setSignedContactsTemporaryName(contactsName.getName());
paySpendingContract.setSignedCompanyTemporaryId(chargeCompanyName.getId());
paySpendingContract.setSignedCompanyTemporaryName(chargeCompanyName.getCompanyName());
}
}
@@ -0,0 +1,23 @@
package com.jero.contract.vo;
import com.jero.contract.entity.PaySpendingContract;
import com.jero.contract.entity.PaySpendingContractInstallment;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class PaySpendingContractInput implements Serializable {
/**
* 合同数据
*/
@ApiModelProperty(value = "合同数据")
private PaySpendingContract contract;
/**
* 分期信息
*/
@ApiModelProperty(value = "分期信息")
private List<PaySpendingContractInstallment> installment;
}
@@ -26,6 +26,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.meeting.vo.PayMeetingVO;
import com.jero.meeting.vo.WorkingGroupMeetingExel;
import com.jero.modules.system.volid.group.UpdateGroup;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.service.IPayWorkingGroupService;
@@ -255,6 +256,40 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
}
return super.exportListXls(exportList, PayMeetingVO.class, "会议管理");
}
/**
* 导出excel
*/
@GetMapping(value = "/exportWorkingGroupXls")
public ModelAndView exportWorkingGroupXls(HttpServletRequest request, PayMeeting payMeeting) {
QueryWrapper<PayMeeting> queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap());
List<PayMeeting> pageList = payMeetingService.list(queryWrapper);
List<WorkingGroupMeetingExel> exportList = new ArrayList<>();
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
pageList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}
for (PayMeeting meeting : pageList) {
//查询会议负责人
LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId());
meeting.setDirectorName(user.getUsername());
meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone()));
WorkingGroupMeetingExel workingGroupMeetingExel = new WorkingGroupMeetingExel();
BeanUtils.copyProperties(meeting, workingGroupMeetingExel);
String meetingType = meeting.getMeetingType().toString();
String meetingType1 = sysBaseApi.translateDict("meeting_type", meetingType);
workingGroupMeetingExel.setMeetingType(meetingType1);
// 工作组项目查询工作组项目名
if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING)) {
String workingGroupId = meeting.getWorkingGroupId();
PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId);
workingGroupMeetingExel.setWorkingGroupName(workingGroup.getWorkingGroupProject());
}
exportList.add(workingGroupMeetingExel);
}
return super.exportListXls(exportList, WorkingGroupMeetingExel.class, "会议管理");
}
/**
* 导出excel模板
@@ -57,6 +57,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
public void add(PayMeetingVO payMeetingVO) {
//酒店联系人列表
List<PayMeetingHotelContacts> hotelContactsList = payMeetingVO.getHotelContactsList();
//进行校验,赋值操作
PayMeeting payMeeting = getPayMeeting(payMeetingVO,hotelContactsList);
save(payMeeting);
//如果酒店联系人列表不为空,就新增
@@ -68,7 +69,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
meetingHotelContactsService.saveBatch(hotelContactsList);
}
if (payMeeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
stableCrossTrainingService.push(payMeeting,hotelContactsList);
stableCrossTrainingService.add(payMeeting,hotelContactsList);
}
}
@@ -77,7 +78,8 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
*/
@Override
public void editById(PayMeetingVO payMeetingVO) {
List<PayMeetingHotelContacts> hotelContactsList = new ArrayList<>();
List<PayMeetingHotelContacts> hotelContactsList = payMeetingVO.getHotelContactsList();
//进行校验,赋值操作
PayMeeting payMeeting = getPayMeeting(payMeetingVO, hotelContactsList);
saveOrUpdate(payMeeting);
//如果酒店联系人列表不为空,就更新
@@ -92,7 +94,9 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
);
meetingHotelContactsService.saveBatch(hotelContactsList);
}
if (payMeeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
stableCrossTrainingService.edit(payMeeting,hotelContactsList);
}
}
@NotNull
@@ -146,6 +150,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
if (standardMeetingType == null){
throw new JeroBootException("标协会议类型不存在");
}
payMeeting.setTbMeetingType(Integer.parseInt(tbMeetingType));
for (PayMeetingHotelContacts hotelContacts : hotelContactsList) {
ValidUtil.validate(hotelContacts, StandardMeeting.class);
}
@@ -192,7 +197,11 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
*/
@Override
public void deleteById(String id) {
removeById(id);
PayMeeting payMeeting = getById(id);
if (payMeeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
stableCrossTrainingService.delete(id);
}
removeById(id);
LambdaQueryWrapper<PayMeetingHotelContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayMeetingHotelContacts::getMeetingId,id);
meetingHotelContactsService.remove(wrapper);
@@ -203,6 +212,12 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
*/
@Override
public void deleteByIds(List<String> ids) {
for (String id : ids) {
PayMeeting payMeeting = getById(id);
if (payMeeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
stableCrossTrainingService.delete(id);
}
}
removeByIds(ids);
LambdaQueryWrapper<PayMeetingHotelContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.in(PayMeetingHotelContacts::getMeetingId,ids);
@@ -0,0 +1,154 @@
package com.jero.meeting.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.meeting.entity.PayMeetingHotelContacts;
import com.jero.meeting.valid.group.InternationalMeeting;
import com.jero.meeting.valid.group.StandardMeeting;
import com.jero.meeting.valid.group.WorkingGroupMeeting;
import com.jero.modules.system.volid.group.UpdateGroup;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
/**
* @author liJiaRao
* @date 2021-09-07 18:29
*/
@Data
public class WorkingGroupMeetingExel {
private static final long serialVersionUID = 1L;
/**会议名称*/
@Excel(name = "会议名称", width = 15)
@ApiModelProperty(value = "会议名称")
@NotBlank(message = "会议名称不能为空")
@Size(max = 50,message = "会议名称最长为50字符")
private String meetingName;
/**会议类型*/
@Excel(name = "会议类型", width = 15)
@ApiModelProperty(value = "会议类型")
@NotBlank(message = "会议类型不能为空")
private String meetingType;
/**工作组项目id*/
@ApiModelProperty(value = "工作组项目id")
@NotBlank(message = "工作组项目名称不能为空")
private String workingGroupId;
/**工作组项目名称*/
@Excel(name = "工作组项目名称", width = 15)
@ApiModelProperty(value = "工作组项目名称")
private String workingGroupName;
/**开始时间*/
@Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "会议开始时间")
@NotNull(message = "会议召开时间不能为空")
private java.util.Date startTime;
/**结束时间*/
@Excel(name = "会议结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "会议结束时间")
@NotNull(message = "会议召开时间不能为空")
private java.util.Date endTime;
/**年份*/
@Excel(name = "年份", width = 15)
@ApiModelProperty(value = "年份")
@NotBlank(message = "年份不能为空")
private String particularYear;
/**召开地点*/
@Excel(name = "召开地点", width = 15)
@ApiModelProperty(value = "召开地点")
@NotBlank(message = "召开地点不能为空")
@Size(max = 50, message = "召开地点最大为50字符")
private String venue;
/**召开地点对照码*/
@ApiModelProperty(value = "召开地点对照码")
@NotBlank(message = "召开地点对照码不能为空")
private String convokeLocale;
/**详细地址*/
@Excel(name = "详细地址", width = 15)
@ApiModelProperty(value = "详细地址")
@NotBlank(message = "详细地址不能为空")
@Size(max = 100, message = "召开地点最大为100字符")
private String address;
/**预计参加人数*/
@Excel(name = "预计参加人数", width = 15)
@ApiModelProperty(value = "预计参加人数")
private String estimatedNumber;
/**会议内容*/
@Excel(name = "会议内容", width = 15)
@ApiModelProperty(value = "会议内容")
@NotBlank(message = "会议内容不能为空")
@Size(max = 200, message = "会议内容最大为200字符")
private String meetingContent;
/**报名截止时间*/
@Excel(name = "报名截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "报名截止时间")
@NotNull(message = "报名截止时间不能为空")
private java.util.Date registerDeadline;
/**会议费用*/
@Excel(name = "会议费用", width = 15)
@ApiModelProperty(value = "会议费用")
@NotNull(message = "会议费用不能为空")
@Max(value = 999999999,message = "会议费用格式错误")
private Integer meetingCosts;
/**会议负责人id*/
@ApiModelProperty(value = "会议负责人id")
@NotBlank(message = "会议负责人不能为空")
private String directorId;
/**会议负责人*/
@Excel(name = "会议负责人", width = 15)
@ApiModelProperty(value = "会议负责人")
private String directorName;
/**会议负责人手机号*/
@Excel(name = "会议负责人手机号", width = 15)
@ApiModelProperty(value = "会议负责人手机号")
private String directorPhone;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
@Size(max = 200, message = "备注最大为200字符")
private String remark;
/**会议通知文件*/
@ApiModelProperty(value = "会议通知文件")
@Size(max = 1000, message = "会议通知文件数量超出最大限制")
private String meetingFiles;
/**会议资料*/
@ApiModelProperty(value = "会议资料")
@Size(max = 1000, message = "会议资料数量超出最大限制")
private String meetingData;
/**是否提醒*/
@ApiModelProperty(value = "是否提醒")
private Integer remind;
}
@@ -6,6 +6,10 @@ public class PayProjectCommon {
* 打包(1:是,0:否)
*/
public final static Integer PACKAGING0 = 0;
/**
* 打包(1:是,0:否)
*/
public final static Integer PACKAGING1 = 1;
/**
* 到账(1:全额(对勾),00X),2>0 && <总金额(半满标志))
*/
@@ -19,8 +19,11 @@ import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ValidUtil;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.pack.service.IPayPackCompanyService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.service.IPayCommonProjectService;
@@ -56,6 +59,10 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
private ISysBaseAPI sysBaseAPI;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Autowired
private IPayIncomeContractService payIncomeContractService;
@Autowired
private IPayPackCompanyService payPackCompanyService;
/**
* 分页列表查询
*
@@ -86,19 +93,26 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
* 收入合同-列表
*
* @param payCommonProject 普通项目管理
* @param contractId 合同id
* @return
*/
@ApiOperation(value="普通项目管理-列表", notes="普通项目管理-列表")
@GetMapping(value = "/listAll")
public Result<?> listAll(PayCommonProject payCommonProject,HttpServletRequest req) {
public Result<?> listAll(PayCommonProject payCommonProject,String contractId,HttpServletRequest req) {
if(StringUtils.isBlank(payCommonProject.getChargeCompanyId())){
return Result.error("企业id不能为空!");
}
PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId);
if(Objects.isNull(payIncomeContract)){
return Result.error("合同不存在!");
}
QueryWrapper<PayCommonProject> queryWrapper = QueryGenerator.initQueryWrapper(payCommonProject, req.getParameterMap());
List<PayCommonProject> list = payCommonProjectService.list(queryWrapper);
List<PayCommonProjectOutput> listNew = new ArrayList<>();
List<PayCommonProjectOutput> listPayCommonProjectOutputNew = new ArrayList<>();
if(!CollectionUtils.isEmpty(list)){
// todo 获取打包项目对比数据
// payPackCompanyService.list();
List<String> listProjectId = list.stream().map(PayCommonProject::getId).collect(Collectors.toList());
// 获取已经关联合同的普通项目
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
@@ -113,6 +127,7 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
listNew = JSONArray.parseArray(str,PayCommonProjectOutput.class);
List<String> finalListProjectId = listProjectIdNew;
listNew.forEach(p->{
// 没有关联合同
if(!CollectionUtils.isEmpty(finalListProjectId) && finalListProjectId.contains(p.getId())){
return;
@@ -23,7 +23,7 @@ public interface IHotelManagementService extends IService<HotelManagement> {
/**
* 编辑
*/
Boolean edit(HotelManagement hotelManagement) throws Exception;
Boolean edit(HotelManagement hotelManagement);
/**
* 根据会议id查询酒店
@@ -81,7 +81,7 @@ public class HotelManagementServiceImpl extends ServiceImpl<HotelManagementMappe
* 编辑
*/
@Override
public Boolean edit(HotelManagement hotelManagement) throws Exception {
public Boolean edit(HotelManagement hotelManagement) {
//判断主键是否存在
if (StringUtils.isBlank(hotelManagement.getId())) {
throw new JeroBootException(Result.NULL_ID);
@@ -93,7 +93,11 @@ public class HotelManagementServiceImpl extends ServiceImpl<HotelManagementMappe
HotelManagement hotelManagementDB = hotelManagementService.getById(hotelManagement.getId());
//获取召开时间
this.isZhi(hotelManagement);
try {
this.isZhi(hotelManagement);
}catch (Exception e){
throw new JeroBootException(e);
}
Boolean resFlag = Boolean.TRUE;
LambdaUpdateWrapper<HotelManagement> updateWrapper = new LambdaUpdateWrapper();
updateWrapper.eq(HotelManagement::getId, hotelManagement.getId())
@@ -19,17 +19,17 @@ public interface IStableCrossTrainingService extends IService<StableCrossTrainin
/**
* 添加
*/
Boolean add(StableCrossTraining stableCrossTraining);
Boolean add(PayMeeting payMeeting, List<PayMeetingHotelContacts> hotelContactsList);
/**
* 编辑
*/
Boolean edit(StableCrossTraining stableCrossTraining) throws Exception;
Boolean edit(PayMeeting payMeeting, List<PayMeetingHotelContacts> hotelContactsList);
/**
* 通过id删除
*/
Boolean delete(String id) throws Exception;
Boolean delete(String id);
/**
* 批量删除
@@ -46,5 +46,5 @@ public interface IStableCrossTrainingService extends IService<StableCrossTrainin
*/
List<StableCrossTraining> queryList(StableCrossTraining stableCrossTraining) throws Exception;
void push(PayMeeting payMeeting, List<PayMeetingHotelContacts> hotelContactsList);
StableCrossTraining push(PayMeeting payMeeting, List<PayMeetingHotelContacts> hotelContactsList);
}
@@ -4,7 +4,6 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
@@ -19,10 +18,8 @@ import com.jero.standards.jiudian.hotelcontact.entity.HotelContact;
import com.jero.standards.jiudian.hotelcontact.mapper.HotelContactMapper;
import com.jero.standards.jiudian.hotelcontact.service.IHotelContactService;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.*;
import com.jero.standards.xuanguan.attendmeetings.entity.AttendMeetings;
import com.jero.standards.xuanguan.attendmeetings.service.IAttendMeetingsService;
import com.jero.standards.xuanguan.stablecrosstraining.entity.OSSFileVO;
import com.jero.standards.xuanguan.stablecrosstraining.entity.StableCrossTraining;
import com.jero.standards.xuanguan.stablecrosstraining.mapper.StableCrossTrainingMapper;
import com.jero.standards.xuanguan.stablecrosstraining.service.IStableCrossTrainingService;
@@ -31,15 +28,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
/**
* @Description: 宣贯培训
@@ -67,8 +56,9 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl<StableCrossTrain
private IStableCrossTrainingService stableCrossTrainingService;
@Override
public void push(PayMeeting payMeeting, List<PayMeetingHotelContacts> hotelContactsList) {
public StableCrossTraining push(PayMeeting payMeeting, List<PayMeetingHotelContacts> hotelContactsList) {
StableCrossTraining stableCrossTraining = new StableCrossTraining();
stableCrossTraining.setId(payMeeting.getId());
stableCrossTraining.setName(payMeeting.getMeetingName());
stableCrossTraining.setMeetingType(payMeeting.getMeetingType());
stableCrossTraining.setYear(payMeeting.getParticularYear());
@@ -99,15 +89,22 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl<StableCrossTrain
hotelList.add(hotelContact);
}
stableCrossTraining.setHotelList(hotelList);
add(stableCrossTraining);
return stableCrossTraining;
}
/**
* 添加
*/
@Override
public Boolean add(StableCrossTraining stableCrossTraining) {
public Boolean add(PayMeeting payMeeting, List<PayMeetingHotelContacts> hotelContactsList) {
StableCrossTraining stableCrossTraining = push(payMeeting, hotelContactsList);
// 会议名称唯一校验
LambdaQueryWrapper<StableCrossTraining> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StableCrossTraining::getName,stableCrossTraining.getName());
int count = stableCrossTrainingService.count(wrapper);
if (count>0){
throw new JeroBootException("会议名称与标协会员系统重复");
}
//配置培训状态
this.isTrainingState(stableCrossTraining);
Boolean resFlag = stableCrossTrainingService.save(stableCrossTraining);
@@ -221,23 +218,22 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl<StableCrossTrain
* 编辑
*/
@Override
public Boolean edit(StableCrossTraining stableCrossTraining) throws Exception {
//判断是否为管理员
// sysBaseAPI.isAuthentication();
//判断主键是否存在
if (StringUtils.isBlank(stableCrossTraining.getId())) {
throw new JeroBootException(Result.NULL_ID);
public Boolean edit(PayMeeting payMeeting, List<PayMeetingHotelContacts> hotelContactsList){
StableCrossTraining stableCrossTraining = push(payMeeting, hotelContactsList);
// 会议名称唯一校验
LambdaQueryWrapper<StableCrossTraining> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StableCrossTraining::getName,stableCrossTraining.getName());
wrapper.ne(StableCrossTraining::getId,stableCrossTraining.getId());
int count = stableCrossTrainingService.count(wrapper);
if (count>0){
throw new JeroBootException("会议名称与标协会员系统重复");
}
StableCrossTraining stableCrossTrainingDB = this.queryById(stableCrossTraining.getId());
//判空
this.ifEntityIsEmpty(stableCrossTraining);
//TODO 会议名称唯一校验
//sysBaseAPI.checkValue("1", "web_stable_cross_training", "name",
// stableCrossTraining.getName(), stableCrossTraining.getId());
//配置培训状态
this.isTrainingState(stableCrossTraining);
//修改时间/修改人
// this.update(stableCrossTraining);
//创建时间/创建人/修改时间/修改人
LoginUser user = TokenUtils.getUserByToken();
BaseUtil.update(stableCrossTraining, user.getId());
//添加宣贯培训
LambdaUpdateWrapper<StableCrossTraining> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(StableCrossTraining::getId, stableCrossTraining.getId())
@@ -284,7 +280,7 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl<StableCrossTrain
* 通过id删除
*/
@Override
public Boolean delete(String id) throws Exception {
public Boolean delete(String id) {
//判断主键是否存在
if (StringUtils.isBlank(id)) {
throw new JeroBootException(Result.NULL_ID);
@@ -109,13 +109,12 @@ public class SysUserController {
@RequiresPermissions("sys:user:list")
@PermissionData(pageComponent = "system/UserList")
@RequestMapping(value = "/pageRoleAndDepart", method = RequestMethod.GET)
public Result<IPage<SysUserVo>> queryPageListByRoleAndDepart(SysUser user,
public Result<IPage<SysUserVo>> queryPageByRoleAndDepart(SysUser user,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
String roleId = req.getParameter("roleId");
String departId = req.getParameter("departId");
//TODO 外部模拟登陆临时账号,列表不显示
Page<SysUserVo> page = new Page<>(pageNo, pageSize);
IPage<SysUserVo> pageList = sysUserService.queryPageListByRoleAndDepart(page, user, roleId, departId);
List<SysUserVo> userList = new ArrayList<>();
@@ -141,6 +140,37 @@ public class SysUserController {
return Result.OK(pageList);
}
/**
* 根据角色id和部门id获取用户列表数据
*/
@RequiresPermissions("sys:user:list")
@RequestMapping(value = "/listRoleAndDepart", method = RequestMethod.GET)
public Result<List<SysUserVo>> queryListByRoleAndDepart(SysUser user,HttpServletRequest req) {
String roleId = req.getParameter("roleId");
String departId = req.getParameter("departId");
Page<SysUserVo> page = new Page<>(-1, -1);
IPage<SysUserVo> pageList = sysUserService.queryPageListByRoleAndDepart(page, user, roleId, departId);
List<SysUserVo> userList = new ArrayList<>();
for (SysUserVo record : pageList.getRecords()) {
//处理邮箱和手机号的加密
UserUtil.decryptUser(record);
userList.add(record);
}
//批量查询用户的所属部门
//step.1 先拿到全部的 useids
//step.2 通过 useids,一次性查询用户的所属部门名字
List<String> userIds = userList.stream().map(SysUser::getId).collect(Collectors.toList());
if (userIds != null && userIds.size() > 0) {
Map<String, String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
Map<String, String> roleNames = sysUserService.getRoleNameByUserIds(userIds);
userList.forEach(item -> {
item.setOrgCodeTxt(useDepNames.get(item.getId()));
item.setRoleName(roleNames.get(item.getId()));
});
}
return Result.OK(userList);
}
/**
* 获取用户列表数据
* @param user
@@ -25,6 +25,9 @@ public class UserUtil {
if (StringUtils.isNotBlank(phone)){
record.setPhone(PasswordUtil.decrypt(phone));
}
//接口调用查询返回结果不能返回密码相关信息
record.setSalt("");
record.setPassword("");
}
/**