From 0a1b58078a954d47f59b6b1005aa06d29e1ba710 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Tue, 7 Sep 2021 18:42:04 +0800 Subject: [PATCH 1/7] =?UTF-8?q?add=20SysUserController.java=20[queryListBy?= =?UTF-8?q?RoleAndDepart]=E6=A0=B9=E6=8D=AE=E8=A7=92=E8=89=B2id=E5=92=8C?= =?UTF-8?q?=E9=83=A8=E9=97=A8id=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysUserController.java | 34 +++++++++++++++++-- .../jero/modules/system/util/UserUtil.java | 3 ++ 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index fc13560b..1731b3eb 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -109,13 +109,12 @@ public class SysUserController { @RequiresPermissions("sys:user:list") @PermissionData(pageComponent = "system/UserList") @RequestMapping(value = "/pageRoleAndDepart", method = RequestMethod.GET) - public Result> queryPageListByRoleAndDepart(SysUser user, + public Result> 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 page = new Page<>(pageNo, pageSize); IPage pageList = sysUserService.queryPageListByRoleAndDepart(page, user, roleId, departId); List 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> queryListByRoleAndDepart(SysUser user,HttpServletRequest req) { + String roleId = req.getParameter("roleId"); + String departId = req.getParameter("departId"); + Page page = new Page<>(-1, -1); + IPage pageList = sysUserService.queryPageListByRoleAndDepart(page, user, roleId, departId); + List userList = new ArrayList<>(); + for (SysUserVo record : pageList.getRecords()) { + //处理邮箱和手机号的加密 + UserUtil.decryptUser(record); + userList.add(record); + } + //批量查询用户的所属部门 + //step.1 先拿到全部的 useids + //step.2 通过 useids,一次性查询用户的所属部门名字 + List userIds = userList.stream().map(SysUser::getId).collect(Collectors.toList()); + if (userIds != null && userIds.size() > 0) { + Map useDepNames = sysUserService.getDepNamesByUserIds(userIds); + Map 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 diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/util/UserUtil.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/util/UserUtil.java index 9d1a10d7..c5e9c3f5 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/util/UserUtil.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/util/UserUtil.java @@ -25,6 +25,9 @@ public class UserUtil { if (StringUtils.isNotBlank(phone)){ record.setPhone(PasswordUtil.decrypt(phone)); } + //接口调用查询返回结果不能返回密码相关信息 + record.setSalt(""); + record.setPassword(""); } /** From 039b1d58c281eaa2032bce27f14fb4cbd3bf9e36 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Tue, 7 Sep 2021 18:46:58 +0800 Subject: [PATCH 2/7] =?UTF-8?q?add=20=E5=B7=A5=E4=BD=9C=E7=BB=84=E4=BC=9A?= =?UTF-8?q?=E8=AE=AE=E5=AF=BC=E5=87=BA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PayMeetingController.java | 35 ++++ .../service/impl/PayMeetingServiceImpl.java | 4 +- .../meeting/vo/WorkingGroupMeetingExel.java | 165 ++++++++++++++++++ 3 files changed, 203 insertions(+), 1 deletion(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/WorkingGroupMeetingExel.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java index 06fd5bc4..d834aa56 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java @@ -255,6 +255,41 @@ public class PayMeetingController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); + List pageList = payMeetingService.list(queryWrapper); + List exportList = new ArrayList<>(); + // 过滤选中数据 + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List 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())); + PayMeetingVO payMeetingVO = new PayMeetingVO(); + BeanUtils.copyProperties(meeting, payMeetingVO); + String meetingType = meeting.getMeetingType().toString(); + String meetingType1 = sysBaseApi.translateDict("meeting_type", meetingType); + payMeetingVO.setMeetingType(meetingType1); + payMeetingVO.setHotelContactsList(new ArrayList<>()); + // 工作组项目查询工作组项目名 + if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING)) { + String workingGroupId = meeting.getWorkingGroupId(); + PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); + payMeetingVO.setWorkingGroupName(workingGroup.getWorkingGroupProject()); + } + exportList.add(payMeetingVO); + } + return super.exportListXls(exportList, PayMeetingVO.class, "会议管理"); + } /** * 导出excel模板 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index 95362fb0..f57b7396 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -57,6 +57,7 @@ public class PayMeetingServiceImpl extends ServiceImpl hotelContactsList = payMeetingVO.getHotelContactsList(); + //进行校验,赋值操作 PayMeeting payMeeting = getPayMeeting(payMeetingVO,hotelContactsList); save(payMeeting); //如果酒店联系人列表不为空,就新增 @@ -77,7 +78,8 @@ public class PayMeetingServiceImpl extends ServiceImpl hotelContactsList = new ArrayList<>(); + List hotelContactsList = payMeetingVO.getHotelContactsList(); + //进行校验,赋值操作 PayMeeting payMeeting = getPayMeeting(payMeetingVO, hotelContactsList); saveOrUpdate(payMeeting); //如果酒店联系人列表不为空,就更新 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/WorkingGroupMeetingExel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/WorkingGroupMeetingExel.java new file mode 100644 index 00000000..91d132cb --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/WorkingGroupMeetingExel.java @@ -0,0 +1,165 @@ +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; + + /**id*/ + @NotBlank(message = "会议id不能为空",groups = UpdateGroup.class) + @ApiModelProperty(value = "id") + private String id; + + /**会议名称*/ + @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; + + /**标协会议类型*/ + @Excel(name = "标协会议类型", width = 15) + @ApiModelProperty(value = "标协会议类型") + @NotBlank(message = "标协会议类型不能为空", groups = StandardMeeting.class) + private String tbMeetingType; + + /**工作组项目id*/ + @ApiModelProperty(value = "工作组项目id") + @NotBlank(message = "工作组项目名称不能为空", groups = WorkingGroupMeeting.class) + 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; +} From 2a1867cfa98d7f6021a4dee808ad06bdd9c4a1bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Tue, 7 Sep 2021 18:48:12 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E6=94=AF=E5=87=BA=E5=90=88=E5=90=8C?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PayIncomeContractController.java | 5 - .../PaySpendingContractController.java | 62 +++--- .../contract/entity/PaySpendingContract.java | 4 - .../service/IPaySpendingContractService.java | 39 ++++ .../impl/PaySpendingContractServiceImpl.java | 208 ++++++++++++++++++ .../contract/vo/PaySpendingContractInput.java | 23 ++ 6 files changed, 305 insertions(+), 36 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PaySpendingContractInput.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java index c75d93fa..85a9fb05 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java @@ -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; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java index eea95784..e7559543 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PaySpendingContractController.java @@ -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 50){ return Result.error("合同编号长度不能大于50个字符!"); } if(!StringUtils.isBlank(paySpendingContract.getContractName()) && paySpendingContract.getContractName().length() > 50){ return Result.error("合同名称长度不能大于50个字符!"); } -// Page page = new Page<>(pageNo, pageSize); -// IPage pageList = payIncomeContractService.queryPageList(page, payIncomeContract,chargeStatus,projectName,startTime,endTime); -// if(!CollectionUtils.isEmpty(pageList.getRecords())){ -// List list = pageList.getRecords(); -// list.forEach(p->{ -// -// }); -// } - return Result.OK(null); + LambdaQueryWrapper 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 page = new Page<>(pageNo, pageSize); + IPage 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 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 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("批量删除成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java index 288880a5..b5594ba7 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PaySpendingContract.java @@ -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; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPaySpendingContractService.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPaySpendingContractService.java index c75af376..d66f69a8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPaySpendingContractService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPaySpendingContractService.java @@ -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 { + /** + * @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 ids); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java index 67995987..49cdfdb7 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PaySpendingContractServiceImpl.java @@ -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 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 listPaySpendingContractInstallment = new ArrayList<>(); + if(!CollectionUtils.isEmpty(input.getInstallment())){ + listPaySpendingContractInstallment = input.getInstallment(); + } + try { + LambdaQueryWrapper 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 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 listPaySpendingContractInstallment = new ArrayList<>(); + if(!CollectionUtils.isEmpty(input.getInstallment())){ + listPaySpendingContractInstallment = input.getInstallment(); + } + try { + LambdaQueryWrapper 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 queryPaySpendingContractInstallmentService = new LambdaQueryWrapper<>(); + queryPaySpendingContractInstallmentService.eq(PaySpendingContractInstallment::getContractId,paySpendingContract.getId()); + List listPaySpendingContractInstallmentOld = paySpendingContractInstallmentService.list(queryPaySpendingContractInstallmentService); + if(!CollectionUtils.isEmpty(listPaySpendingContractInstallmentOld)){ + List list = listPaySpendingContractInstallmentOld.stream().map(PaySpendingContractInstallment::getId).collect(Collectors.toList()); + paySpendingContractInstallmentService.removeByIds(list); + } + // 新增 + if(!CollectionUtils.isEmpty(listPaySpendingContractInstallment)){ + List 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 updatePaySpendingContractInstallment = new LambdaUpdateWrapper<>(); + updatePaySpendingContractInstallment.eq(PaySpendingContractInstallment::getContractId,id); + paySpendingContractInstallmentService.remove(updatePaySpendingContractInstallment); + } + + @Override + public void deleteSpendingContractInputByIds(List ids) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.in(PaySpendingContract::getId,ids); + List listPaySpendingContractStatus = paySpendingContractService.list(query); + if(CollectionUtils.isEmpty(listPaySpendingContractStatus)){ + throw new JeroBootException("收入合同不存在!"); + } + paySpendingContractService.removeByIds(ids); + LambdaUpdateWrapper 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()); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PaySpendingContractInput.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PaySpendingContractInput.java new file mode 100644 index 00000000..961cf04f --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PaySpendingContractInput.java @@ -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 installment; +} From c2b7a1dca2e846953321a9d1139dd3d6351cc130 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 8 Sep 2021 09:44:57 +0800 Subject: [PATCH 4/7] =?UTF-8?q?fix=20=E5=B7=A5=E4=BD=9C=E7=BB=84=E4=BC=9A?= =?UTF-8?q?=E8=AE=AE=E5=AF=BC=E5=87=BA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../meeting/controller/PayMeetingController.java | 16 ++++++++-------- .../jero/meeting/vo/WorkingGroupMeetingExel.java | 13 +------------ 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java index d834aa56..a1d223c5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java @@ -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; @@ -262,7 +263,7 @@ public class PayMeetingController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); List pageList = payMeetingService.list(queryWrapper); - List exportList = new ArrayList<>(); + List exportList = new ArrayList<>(); // 过滤选中数据 String selections = request.getParameter("selections"); if (oConvertUtils.isNotEmpty(selections)) { @@ -274,21 +275,20 @@ public class PayMeetingController extends JeroController()); + workingGroupMeetingExel.setMeetingType(meetingType1); // 工作组项目查询工作组项目名 if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING)) { String workingGroupId = meeting.getWorkingGroupId(); PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); - payMeetingVO.setWorkingGroupName(workingGroup.getWorkingGroupProject()); + workingGroupMeetingExel.setWorkingGroupName(workingGroup.getWorkingGroupProject()); } - exportList.add(payMeetingVO); + exportList.add(workingGroupMeetingExel); } - return super.exportListXls(exportList, PayMeetingVO.class, "会议管理"); + return super.exportListXls(exportList, WorkingGroupMeetingExel.class, "会议管理"); } /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/WorkingGroupMeetingExel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/WorkingGroupMeetingExel.java index 91d132cb..3b072a96 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/WorkingGroupMeetingExel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/WorkingGroupMeetingExel.java @@ -26,11 +26,6 @@ import java.util.List; public class WorkingGroupMeetingExel { private static final long serialVersionUID = 1L; - /**id*/ - @NotBlank(message = "会议id不能为空",groups = UpdateGroup.class) - @ApiModelProperty(value = "id") - private String id; - /**会议名称*/ @Excel(name = "会议名称", width = 15) @ApiModelProperty(value = "会议名称") @@ -44,15 +39,9 @@ public class WorkingGroupMeetingExel { @NotBlank(message = "会议类型不能为空") private String meetingType; - /**标协会议类型*/ - @Excel(name = "标协会议类型", width = 15) - @ApiModelProperty(value = "标协会议类型") - @NotBlank(message = "标协会议类型不能为空", groups = StandardMeeting.class) - private String tbMeetingType; - /**工作组项目id*/ @ApiModelProperty(value = "工作组项目id") - @NotBlank(message = "工作组项目名称不能为空", groups = WorkingGroupMeeting.class) + @NotBlank(message = "工作组项目名称不能为空") private String workingGroupId; /**工作组项目名称*/ From 54531c5af6503cf1f0286d53a3cc331119ccfd59 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 8 Sep 2021 10:11:49 +0800 Subject: [PATCH 5/7] =?UTF-8?q?fix=20=E6=96=B0=E5=A2=9E=E4=BC=9A=E8=AE=AE?= =?UTF-8?q?=E6=97=B6=E6=B2=A1=E6=9C=89=E6=A0=87=E5=8D=8F=E4=BC=9A=E8=AE=AE?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/meeting/service/impl/PayMeetingServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index f57b7396..0efcc77f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -148,6 +148,7 @@ public class PayMeetingServiceImpl extends ServiceImpl Date: Wed, 8 Sep 2021 10:13:14 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E4=BC=81=E4=B8=9A=E4=B8=8B=E5=A7=93=E5=90=8D=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PayContactsManagementController.java | 68 +++++++++++++++++-- .../jero/project/common/PayProjectCommon.java | 4 ++ .../PayCommonProjectController.java | 17 ++++- 3 files changed, 84 insertions(+), 5 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java index 52222e72..3699a060 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java @@ -123,13 +123,12 @@ public class PayContactsManagementController extends JeroController 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 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 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 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 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("该联系人姓名已存在!"); } /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/common/PayProjectCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/common/PayProjectCommon.java index a3d6e3e3..0f5da1a6 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/common/PayProjectCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/common/PayProjectCommon.java @@ -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 && <总金额(半满标志)) */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java index 8473478c..1519f2f1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java @@ -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 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 queryWrapper = QueryGenerator.initQueryWrapper(payCommonProject, req.getParameterMap()); List list = payCommonProjectService.list(queryWrapper); List listNew = new ArrayList<>(); List listPayCommonProjectOutputNew = new ArrayList<>(); if(!CollectionUtils.isEmpty(list)){ + // todo 获取打包项目对比数据 + // payPackCompanyService.list(); List listProjectId = list.stream().map(PayCommonProject::getId).collect(Collectors.toList()); // 获取已经关联合同的普通项目 LambdaQueryWrapper queryPayIncomeContractAssociated = new LambdaQueryWrapper<>(); @@ -113,6 +127,7 @@ public class PayCommonProjectController extends JeroController finalListProjectId = listProjectIdNew; listNew.forEach(p->{ + // 没有关联合同 if(!CollectionUtils.isEmpty(finalListProjectId) && finalListProjectId.contains(p.getId())){ return; From f6b4b398640d02fd423b84ee4e1750a6d441d6ca Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 8 Sep 2021 11:45:26 +0800 Subject: [PATCH 7/7] =?UTF-8?q?add=20=E6=A0=87=E5=8D=8F=E4=BC=9A=E8=AE=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8C=E5=88=A0=E9=99=A4=E6=97=B6=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=88=B0=E4=BC=9A=E5=91=98=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jero/common/util/BaseUtil.java | 15 +++-- .../service/impl/PayMeetingServiceImpl.java | 18 +++++- .../service/IHotelManagementService.java | 2 +- .../impl/HotelManagementServiceImpl.java | 8 ++- .../service/IStableCrossTrainingService.java | 8 +-- .../impl/StableCrossTrainingServiceImpl.java | 56 +++++++++---------- 6 files changed, 59 insertions(+), 48 deletions(-) diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/BaseUtil.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/BaseUtil.java index 39909977..c8910286 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/BaseUtil.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/BaseUtil.java @@ -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()); } /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index 0efcc77f..05c6531a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -69,7 +69,7 @@ public class PayMeetingServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.eq(PayMeetingHotelContacts::getMeetingId,id); meetingHotelContactsService.remove(wrapper); @@ -206,6 +212,12 @@ public class PayMeetingServiceImpl extends ServiceImpl ids) { + for (String id : ids) { + PayMeeting payMeeting = getById(id); + if (payMeeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) { + stableCrossTrainingService.delete(id); + } + } removeByIds(ids); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.in(PayMeetingHotelContacts::getMeetingId,ids); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/jiudian/hotelManagement/service/IHotelManagementService.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/jiudian/hotelManagement/service/IHotelManagementService.java index ece25dbf..4a9fce5b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/jiudian/hotelManagement/service/IHotelManagementService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/jiudian/hotelManagement/service/IHotelManagementService.java @@ -23,7 +23,7 @@ public interface IHotelManagementService extends IService { /** * 编辑 */ - Boolean edit(HotelManagement hotelManagement) throws Exception; + Boolean edit(HotelManagement hotelManagement); /** * 根据会议id查询酒店 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/jiudian/hotelManagement/service/impl/HotelManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/jiudian/hotelManagement/service/impl/HotelManagementServiceImpl.java index 93379485..82537b37 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/jiudian/hotelManagement/service/impl/HotelManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/jiudian/hotelManagement/service/impl/HotelManagementServiceImpl.java @@ -81,7 +81,7 @@ public class HotelManagementServiceImpl extends ServiceImpl updateWrapper = new LambdaUpdateWrapper(); updateWrapper.eq(HotelManagement::getId, hotelManagement.getId()) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/IStableCrossTrainingService.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/IStableCrossTrainingService.java index 0e027df7..96a1a0cc 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/IStableCrossTrainingService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/IStableCrossTrainingService.java @@ -19,17 +19,17 @@ public interface IStableCrossTrainingService extends IService hotelContactsList); /** * 编辑 */ - Boolean edit(StableCrossTraining stableCrossTraining) throws Exception; + Boolean edit(PayMeeting payMeeting, List hotelContactsList); /** * 通过id删除 */ - Boolean delete(String id) throws Exception; + Boolean delete(String id); /** * 批量删除 @@ -46,5 +46,5 @@ public interface IStableCrossTrainingService extends IService queryList(StableCrossTraining stableCrossTraining) throws Exception; - void push(PayMeeting payMeeting, List hotelContactsList); + StableCrossTraining push(PayMeeting payMeeting, List hotelContactsList); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java index 8562bb45..b21e33ac 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/xuanguan/stablecrosstraining/service/impl/StableCrossTrainingServiceImpl.java @@ -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 hotelContactsList) { + public StableCrossTraining push(PayMeeting payMeeting, List 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 hotelContactsList) { + StableCrossTraining stableCrossTraining = push(payMeeting, hotelContactsList); + // 会议名称唯一校验 + LambdaQueryWrapper 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 hotelContactsList){ + StableCrossTraining stableCrossTraining = push(payMeeting, hotelContactsList); + + // 会议名称唯一校验 + LambdaQueryWrapper 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 updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(StableCrossTraining::getId, stableCrossTraining.getId()) @@ -284,7 +280,7 @@ public class StableCrossTrainingServiceImpl extends ServiceImpl