Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -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());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+64
-4
@@ -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("该联系人姓名已存在!");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
-5
@@ -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;
|
||||
|
||||
+35
-27
@@ -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("批量删除成功!");
|
||||
}
|
||||
|
||||
|
||||
-4
@@ -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;
|
||||
|
||||
+39
@@ -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);
|
||||
}
|
||||
|
||||
+208
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
+23
@@ -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;
|
||||
}
|
||||
+35
@@ -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模板
|
||||
|
||||
+19
-4
@@ -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);
|
||||
|
||||
+154
@@ -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:全额(对勾),0:0(X),2:>0 && <总金额(半满标志))
|
||||
*/
|
||||
|
||||
+16
-1
@@ -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;
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ public interface IHotelManagementService extends IService<HotelManagement> {
|
||||
/**
|
||||
* 编辑
|
||||
*/
|
||||
Boolean edit(HotelManagement hotelManagement) throws Exception;
|
||||
Boolean edit(HotelManagement hotelManagement);
|
||||
|
||||
/**
|
||||
* 根据会议id查询酒店
|
||||
|
||||
+6
-2
@@ -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())
|
||||
|
||||
+4
-4
@@ -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);
|
||||
}
|
||||
|
||||
+26
-30
@@ -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);
|
||||
|
||||
+32
-2
@@ -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("");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user