From 9482c364bfc6560a28d32b9d54479d97084b8364 Mon Sep 17 00:00:00 2001 From: fengchenchen Date: Mon, 25 Dec 2023 17:50:33 +0800 Subject: [PATCH 01/35] =?UTF-8?q?=E3=80=90update=E3=80=91-=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BC=9A=E8=AE=AE=E6=89=93=E5=8C=85=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E7=9A=84=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/24年1月5日上线变更.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 db/24年1月5日上线变更.sql diff --git a/db/24年1月5日上线变更.sql b/db/24年1月5日上线变更.sql new file mode 100644 index 00000000..f9ef6c2d --- /dev/null +++ b/db/24年1月5日上线变更.sql @@ -0,0 +1,4 @@ +-- 增加会议打包统计的菜单 +INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1739214868996505601', '1739213908475723777', '导出', '', NULL, NULL, NULL, 2, 'meetingPackStatistics:export', '1', 2.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-12-25 17:21:52', NULL, NULL, 0, 0, '1', 0, 0); +INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1739214686250680322', '1739213908475723777', '查询', NULL, NULL, NULL, NULL, 2, 'meetingPackStatistics:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-12-25 17:21:09', NULL, NULL, 0, 0, '1', 0, 0); +INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1739213908475723777', '1437320526513905666', '会议打包统计', '/statisticalReport/meetingPackStatistics', 'statisticalReport/MeetingPackStatistics', NULL, NULL, 1, NULL, '1', 12.00, 0, NULL, 1, 0, 0, 0, NULL, 'LKGLZ', '2023-12-25 17:18:03', NULL, NULL, 0, 0, '1', 0, 0); From 900d6d9ec3d53189e6b65e7374059f3468e9a82e Mon Sep 17 00:00:00 2001 From: sunzheng Date: Tue, 26 Dec 2023 15:59:41 +0800 Subject: [PATCH 02/35] =?UTF-8?q?=E5=AE=8C=E6=88=90=E9=9C=80=E6=B1=8266,67?= =?UTF-8?q?,68?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/24年1月5日上线变更.sql | 9 ++++ .../PayMemberProjectSubitemController.java | 48 +++++++++++++++++-- .../entity/PayMemberProjectSubitem.java | 19 ++++++++ .../xml/PayMemberProjectSubitemMapper.xml | 3 ++ .../vo/PayMemberProjectSubitemExcel.java | 29 +++++++++++ .../PayCommonProjectController.java | 6 +++ .../PayWorkingGroupSubItemController.java | 6 +++ .../jero/project/entity/PayCommonProject.java | 21 ++++++++ .../entity/PayWorkingGroupSubItem.java | 24 ++++++++++ .../mapper/xml/PayCommonProjectMapper.xml | 9 +++- .../xml/PayWorkingGroupSubItemMapper.xml | 9 +++- .../PayWorkingGroupSubItemServiceImpl.java | 23 +++++++++ .../vo/excel/PayWorkingGroupSubItemExcel.java | 10 ++++ .../src/main/resources/application-dev.yml | 8 ++-- 14 files changed, 213 insertions(+), 11 deletions(-) diff --git a/db/24年1月5日上线变更.sql b/db/24年1月5日上线变更.sql index f9ef6c2d..074b79ac 100644 --- a/db/24年1月5日上线变更.sql +++ b/db/24年1月5日上线变更.sql @@ -2,3 +2,12 @@ INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1739214868996505601', '1739213908475723777', '导出', '', NULL, NULL, NULL, 2, 'meetingPackStatistics:export', '1', 2.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-12-25 17:21:52', NULL, NULL, 0, 0, '1', 0, 0); INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1739214686250680322', '1739213908475723777', '查询', NULL, NULL, NULL, NULL, 2, 'meetingPackStatistics:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2023-12-25 17:21:09', NULL, NULL, 0, 0, '1', 0, 0); INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `external_terminal_show`) VALUES ('1739213908475723777', '1437320526513905666', '会议打包统计', '/statisticalReport/meetingPackStatistics', 'statisticalReport/MeetingPackStatistics', NULL, NULL, 1, NULL, '1', 12.00, 0, NULL, 1, 0, 0, 0, NULL, 'LKGLZ', '2023-12-25 17:18:03', NULL, NULL, 0, 0, '1', 0, 0); + +-- pay_common_project表新增estimated_arrival_date(预估到账日期)字段 +ALTER TABLE `pay_common_project` ADD COLUMN `estimated_arrival_date` date COMMENT '预估到账日期'; + +-- pay_member_project_subitem表新增estimated_arrival_date(预估到账日期)字段 +ALTER TABLE `pay_member_project_subitem` ADD COLUMN `estimated_arrival_date` date COMMENT '预估到账日期'; + +-- pay_working_group_subitem表新增estimated_arrival_date(预估到账日期)字段 +ALTER TABLE `pay_working_group_subitem` ADD COLUMN `estimated_arrival_date` date COMMENT '预估到账日期'; \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java index 42e84486..96364134 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java @@ -1,6 +1,8 @@ package com.jero.member.controller; import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -8,6 +10,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.jero.common.api.vo.Result; @@ -83,6 +86,21 @@ public class PayMemberProjectSubitemController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMemberProjectSubitem, req.getParameterMap()); + // 预计到账开始日期 + String estimatedArrivalStartDate = payMemberProjectSubitem.getEstimatedArrivalStartDate(); + // 预计到账结束日期 + String estimatedArrivalEndDate = payMemberProjectSubitem.getEstimatedArrivalEndDate(); + if (ObjectUtil.isNotEmpty(estimatedArrivalStartDate) && ObjectUtil.isNotEmpty(estimatedArrivalEndDate)) { + queryWrapper.lambda().ge(PayMemberProjectSubitem::getEstimatedArrivalDate,estimatedArrivalStartDate); + queryWrapper.lambda().le(PayMemberProjectSubitem::getEstimatedArrivalDate,estimatedArrivalEndDate); + } + if (ObjectUtil.isNotEmpty(estimatedArrivalStartDate) && ObjectUtil.isEmpty(estimatedArrivalEndDate)) { + queryWrapper.lambda().ge(PayMemberProjectSubitem::getEstimatedArrivalDate,estimatedArrivalStartDate); + } + if (ObjectUtil.isEmpty(estimatedArrivalEndDate) && ObjectUtil.isNotEmpty(estimatedArrivalEndDate)) { + queryWrapper.lambda().le(PayMemberProjectSubitem::getEstimatedArrivalDate,estimatedArrivalEndDate); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (!rolePermissionService.getRolePermission("safeguardMember:search")) { queryWrapper.eq("pmp.director_id",sysUser.getId()); @@ -144,6 +162,9 @@ public class PayMemberProjectSubitemController extends JeroController add(@RequestBody PayMemberProjectSubitem payMemberProjectSubitem) { + if (Objects.isNull(payMemberProjectSubitem.getEstimatedArrivalDate())) { + return Result.error("预估到账日期不能为空"); + } memberProjectService.check(payMemberProjectSubitem.getProjectId(),"safeguardMember:add"); ValidUtil.validate(payMemberProjectSubitem); memberProjectSubitemService.add(payMemberProjectSubitem); @@ -158,6 +179,9 @@ public class PayMemberProjectSubitemController extends JeroController edit(@RequestBody PayMemberProjectSubitem payMemberProjectSubitem) { + if (Objects.isNull(payMemberProjectSubitem.getEstimatedArrivalDate())) { + return Result.error("预估到账日期不能为空"); + } memberProjectSubitemService.check(payMemberProjectSubitem.getId(),"safeguardMember:edit"); ValidUtil.validate(payMemberProjectSubitem); memberProjectSubitemService.editById(payMemberProjectSubitem); @@ -283,6 +307,18 @@ public class PayMemberProjectSubitemController extends JeroController select pmps.* from pay_member_project_subitem pmps left join pay_member_project pmp on pmps.project_id = pmp.id ${ew.customSqlSegment} + + + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java index 04ad84fa..83a9b4a0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/vo/PayMemberProjectSubitemExcel.java @@ -1,6 +1,7 @@ package com.jero.member.vo; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import com.jero.common.aspect.annotation.Dict; @@ -113,4 +114,32 @@ public class PayMemberProjectSubitemExcel { @NotBlank(message = "需要发票不能为空") private String needInvoice; + /**预计到账日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "预计到账日期") + @Excel(name = "预计到账日期", width = 15,orderNum = "5") + private String estimatedArrivalDate; + + @Excel(name = "邮寄联系人手机号", width = 17, orderNum = "4") + @ApiModelProperty(value = "邮寄联系人手机号") + @TableField(exist = false) + private String postContactPhone; + + @Excel(name = "邮寄联系人邮箱", width = 15, orderNum = "5") + @ApiModelProperty(value = "邮寄联系人邮箱") + @TableField(exist = false) + private String postContactMail; + + @Excel(name = "邮寄联系人通讯地址", width = 19, orderNum = "6") + @ApiModelProperty(value = "邮寄联系人地址") + @TableField(exist = false) + private String postContactAddress; + + @Excel(name = "邮寄联系人邮政编码", width = 19, orderNum = "7") + @ApiModelProperty(value = "邮寄联系人邮编") + @TableField(exist = false) + private String contactPostCode; + } + 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 a389024a..185076e2 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 @@ -371,6 +371,9 @@ public class PayCommonProjectController extends JeroController add(@RequestBody PayCommonProject payCommonProject) { + if (Objects.isNull(payCommonProject.getEstimatedArrivalDate())) { + return Result.error("预估到账日期不能为空"); + } StringBuilder msg = ValidUtil.validateAll(payCommonProject); if(!StringUtils.isBlank(msg)){ return Result.error(msg.toString()); @@ -390,6 +393,9 @@ public class PayCommonProjectController extends JeroController edit(@RequestBody PayCommonProject payCommonProject) { + if (Objects.isNull(payCommonProject.getEstimatedArrivalDate())) { + return Result.error("预估到账日期不能为空"); + } StringBuilder msg = ValidUtil.validateAll(payCommonProject); if(!StringUtils.isBlank(msg)){ return Result.error(msg.toString()); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java index d6f85c0c..cbc6ea53 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java @@ -357,6 +357,9 @@ public class PayWorkingGroupSubItemController extends JeroController add(@RequestBody PayWorkingGroupSubItem payWorkingGroupSubItem) { + if (Objects.isNull(payWorkingGroupSubItem.getEstimatedArrivalDate())) { + return Result.error("预估到账日期不能为空"); + } StringBuilder msg = ValidUtil.validateAll(payWorkingGroupSubItem); if (!StringUtils.isBlank(msg)) { return Result.error(msg.toString()); @@ -376,6 +379,9 @@ public class PayWorkingGroupSubItemController extends JeroController edit(@RequestBody PayWorkingGroupSubItem payWorkingGroupSubItem) { + if (Objects.isNull(payWorkingGroupSubItem.getEstimatedArrivalDate())) { + return Result.error("预估到账日期不能为空"); + } StringBuilder msg = ValidUtil.validateAll(payWorkingGroupSubItem); if (!StringUtils.isBlank(msg)) { return Result.error(msg.toString()); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java index 2417d387..d8369ba1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java @@ -319,4 +319,25 @@ public class PayCommonProject implements Serializable { @ApiModelProperty(value = "未税金额") @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal noTaxAmount; + + /**预计到账日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "预计到账日期") + private String estimatedArrivalDate; + + + /**预计到账开始日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "预计到账开始的日期") + @TableField(exist = false) + private String estimatedArrivalStartDate; + + /**预计到账结束日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "预计到账结束的日期") + @TableField(exist = false) + private String estimatedArrivalEndDate; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java index f2032dea..2ddb8b7b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java @@ -19,6 +19,8 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.io.Serializable; import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.Date; import java.util.List; /** @@ -162,6 +164,14 @@ public class PayWorkingGroupSubItem implements Serializable { /**收费通知文件id*/ @ApiModelProperty(value = "收费通知文件id") private java.lang.String chargeNoticeId; + + /**预计到账日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "预计到账日期") + @Excel(name = "预计到账日期",width = 15,format = "yyyy-MM-dd") + private String estimatedArrivalDate; + /**打包(1:是,0:否)*/ @ApiModelProperty(value = "打包(1:是,0:否)") private java.lang.Integer pack; @@ -585,4 +595,18 @@ public class PayWorkingGroupSubItem implements Serializable { @ApiModelProperty(value = "标签") @Size(max = 32,message = "标签名称长度不能大于50个字符") private String label; + + /**预计到账开始日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "预计到账开始的日期") + @TableField(exist = false) + private String estimatedArrivalStartDate; + + /**预计到账结束日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "预计到账结束的日期") + @TableField(exist = false) + private String estimatedArrivalEndDate; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml index 0cb5ff51..ee03867f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml @@ -41,7 +41,8 @@ pcp.payment_status, pcp.tax, pcp.tax_rate, - pcp.no_tax_amount + pcp.no_tax_amount, + pcp.estimated_arrival_date FROM pay_common_project pcp left join sys_user su on pcp.principal_id = su.id LEFT JOIN pay_payment_record ppr ON ppr.project_id = pcp.id @@ -73,6 +74,12 @@ AND pcp.principal_id = #{payCommonProject.principal} + + AND pcp.estimated_arrival_date >= #{payCommonProject.estimatedArrivalStartDate} + + + AND pcp.estimated_arrival_date <= #{payCommonProject.estimatedArrivalEndDate} + GROUP BY pcp.id ORDER BY pcp.create_time DESC diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml index b21dc889..10b9374e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml @@ -44,7 +44,8 @@ pwgs.tax, pwgs.tax_rate, pwgs.no_tax_amount, - pwgs.label + pwgs.label, + pwgs.estimated_arrival_date FROM pay_working_group_subitem pwgs LEFT JOIN pay_payment_record ppr ON ppr.project_id = pwgs.id @@ -68,6 +69,12 @@ and label LIKE concat('%',#{payWorkingGroupSubItem.label},'%') + + AND pwgs.estimated_arrival_date >= #{payWorkingGroupSubItem.estimatedArrivalStartDate} + + + AND pwgs.estimated_arrival_date <= #{payWorkingGroupSubItem.estimatedArrivalEndDate} + GROUP BY pwgs.id ORDER BY pwgs.create_time desc diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java index 4973dc40..8975edd4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java @@ -56,11 +56,13 @@ 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.apache.poi.ss.usermodel.DataFormat; import org.apache.shiro.SecurityUtils; import org.jeecgframework.poi.excel.ExcelImportCheckUtil; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ImportParams; import org.springframework.core.env.Environment; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -71,6 +73,9 @@ import javax.servlet.http.HttpServletRequest; import java.io.File; import java.math.BigDecimal; import java.math.RoundingMode; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -129,6 +134,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl queryPageList(Page page, PayWorkingGroupSubItem payWorkingGroupSubitem,String paymentDate) { @@ -583,6 +590,22 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl { + String estimatedArrivalDate = p.getEstimatedArrivalDate(); + if (Objects.isNull(estimatedArrivalDate)) { + msg.append("第").append(list.indexOf(p) + 3).append("行预估到账日期不能为空,请修改。
"); + }else { + try { + LocalDate.parse(estimatedArrivalDate,DateTimeFormatter.ofPattern("yyyy-MM-dd")); + }catch (Exception e) { + msg.append("第").append(list.indexOf(p) + 3).append("行预估到账日期格式不正确,请修改。
"); + } + } + } + ); // 获取工作组成员 LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(PayWorkingGroupSubItem::getWorkingGroupId, workGroupId); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java index c131d79e..26f393a0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java @@ -4,10 +4,12 @@ import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.DecimalMax; import java.io.Serializable; import java.math.BigDecimal; +import java.util.Date; /** * @Description: pay_working_group_subitem @@ -63,6 +65,14 @@ public class PayWorkingGroupSubItemExcel implements Serializable { @Excel(name = "收费通知号", width = 15) @ApiModelProperty(value = "收费通知号") private String chargeNoticeNo; + + /**预计到账日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "预计到账日期") + @Excel(name = "预计到账日期",width = 15) + private String estimatedArrivalDate; + /** * 打包 */ diff --git a/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot-single-startup/src/main/resources/application-dev.yml index d965d908..75ce7650 100644 --- a/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -136,15 +136,15 @@ spring: connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 datasource: master: - url: jdbc:p6spy:mysql://10.10.10.44:3306/income_payments_online_test?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai + url: jdbc:p6spy:mysql://lijiarao.cn:3306/income_payments_prod?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai username: root - password: hzwlsoft.com + password: 704670af746903fa driver-class-name: com.p6spy.engine.spy.P6SpyDriver # 多数据源配置 multi-datasource1: - url: jdbc:p6spy:mysql://10.10.10.44:3306/standards_association?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&serverTimezone=Asia/Shanghai + url: jdbc:p6spy:mysql://lijiarao.cn:3306/standards_association?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&serverTimezone=Asia/Shanghai username: root - password: hzwlsoft.com + password: 704670af746903fa driver-class-name: com.p6spy.engine.spy.P6SpyDriver redis: database: 14 From b6402a410d336c68dc3b722ad947807ab7b2c50b Mon Sep 17 00:00:00 2001 From: lijiarao Date: Tue, 26 Dec 2023 18:06:11 +0800 Subject: [PATCH 03/35] =?UTF-8?q?update=20=E6=9B=B4=E6=94=B9=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E5=90=8D=E7=A7=B0=E6=97=B6=E5=A4=84=E7=90=86=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=9A=84=E5=8D=95=E4=BD=8D=E5=90=8D=E7=A7=B0=EF=BC=88?= =?UTF-8?q?=E6=99=AE=E9=80=9A=E9=A1=B9=E7=9B=AE=E5=AE=8C=E6=88=90=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PayCompanyManagementServiceImpl.java | 88 +++++++++++++------ .../mapper/xml/PayCommonProjectMapper.xml | 6 +- 2 files changed, 63 insertions(+), 31 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java index 095c1a00..d4b1de9e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java @@ -1,6 +1,7 @@ package com.jero.company.service.impl; import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -52,6 +53,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -742,43 +744,51 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl updatePayCompanyManagementTemporary = new LambdaUpdateWrapper<>(); - updatePayCompanyManagementTemporary.eq(PayCompanyManagementTemporary::getCompanyId,payCompanyManagement.getId()); - updatePayCompanyManagementTemporary.ge(PayCompanyManagementTemporary::getEditTime,payCompanyManagement.getEditTime()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyName,payCompanyManagement.getCompanyName()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyAddress,payCompanyManagement.getCompanyAddress()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyPhone,payCompanyManagement.getCompanyPhone()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getPostalCode,payCompanyManagement.getPostalCode()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getBankAccountName,payCompanyManagement.getBankAccountName()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getOpeningBank,payCompanyManagement.getOpeningBank()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getDutyCode,payCompanyManagement.getDutyCode()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getStatus,PayCompanyManagementCommon.STATUS1); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getDataSource,payCompanyManagement.getDataSource()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getRemarks,payCompanyManagement.getRemarks()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getEditTime,payCompanyManagement.getEditTime()); - //updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCreateBy,payCompanyManagement.getCreateBy()); - //updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCreateTime,payCompanyManagement.getCreateTime()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getUpdateBy,payCompanyManagement.getUpdateBy()); - updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getUpdateTime,payCompanyManagement.getUpdateTime()); - payCompanyManagementTemporaryService.update(updatePayCompanyManagementTemporary); + //更新人员 LambdaUpdateWrapper updatePayContactsManagement = new LambdaUpdateWrapper<>(); updatePayContactsManagement.eq(PayContactsManagement::getCompanyId,payCompanyManagement.getId()); updatePayContactsManagement.set(PayContactsManagement::getCompanyName,payCompanyManagement.getCompanyName()); payContactsManagementService.update(updatePayContactsManagement); + int thisYear = DateUtil.thisYear(); + //需要更新的临时企业id + List companyTemporaryIdList = new ArrayList<>(); // 更新普通项目 - LambdaUpdateWrapper updatePayCommonProject = new LambdaUpdateWrapper<>(); - updatePayCommonProject.eq(PayCommonProject::getChargeCompanyId,payCompanyManagement.getId()); - //updatePayCommonProject.ge(PayCommonProject::getCreateTime,payCompanyManagement.getEditTime()); - updatePayCommonProject.set(PayCommonProject::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName()); - updatePayCommonProject.exists(" select 1 from pay_company_management_temporary where " + - "pay_common_project.charge_company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'"); - payCommonProjectService.update(updatePayCommonProject); + LambdaQueryWrapper quaryPayCommonProject = new LambdaQueryWrapper<>(); + quaryPayCommonProject.eq(PayCommonProject::getChargeCompanyId,payCompanyManagement.getId()); + + quaryPayCommonProject.eq(PayCommonProject::getYear,thisYear); + quaryPayCommonProject.and( + a -> { + a.eq(PayCommonProject::getPaidAmount, BigDecimal.ZERO) + .or() + .isNull(PayCommonProject::getPaidAmount); + }); + quaryPayCommonProject.and( + a -> { + a.eq(PayCommonProject::getInvoiceAmount, BigDecimal.ZERO) + .or() + .isNull(PayCommonProject::getInvoiceAmount); + }); + quaryPayCommonProject.and( + a -> { + a.eq(PayCommonProject::getConfirmAmount, BigDecimal.ZERO) + .or() + .isNull(PayCommonProject::getConfirmAmount); + }); + List list = payCommonProjectService.list(quaryPayCommonProject); + List collect = list.stream().map(PayCommonProject::getChargeCompanyTemporaryId).collect(Collectors.toList()); + companyTemporaryIdList.addAll(collect); + if (!collect.isEmpty()){ + LambdaUpdateWrapper updatePayCommonProject = new LambdaUpdateWrapper<>(); + updatePayCommonProject.in(PayCommonProject::getChargeCompanyTemporaryId,collect); + updatePayCommonProject.set(PayCommonProject::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName()); + payCommonProjectService.update(updatePayCommonProject); + } + // 更新工作组 LambdaUpdateWrapper updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getChargeCompanyId,payCompanyManagement.getId()); - //updatePayWorkingGroupSubItem.ge(PayWorkingGroupSubItem::getCreateTime,payCompanyManagement.getEditTime()); updatePayWorkingGroupSubItem.exists(" select 1 from pay_company_management_temporary where " + "pay_working_group_subitem.charge_company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'"); updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName()); @@ -786,11 +796,31 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>(); updatePayMemberProjectSubitem.eq(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId()); - //updatePayMemberProjectSubitem.ge(PayMemberProjectSubitem::getCreateTime,payCompanyManagement.getEditTime()); updatePayMemberProjectSubitem.exists(" select 1 from pay_company_management_temporary where " + "pay_member_project_subitem.company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'"); updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName()); memberProjectSubitemService.update(updatePayMemberProjectSubitem); + + // 更新临时数据 + if (!companyTemporaryIdList.isEmpty()) { + LambdaUpdateWrapper updatePayCompanyManagementTemporary = new LambdaUpdateWrapper<>(); + updatePayCompanyManagementTemporary.in(PayCompanyManagementTemporary::getId,companyTemporaryIdList); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyName,payCompanyManagement.getCompanyName()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyAddress,payCompanyManagement.getCompanyAddress()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getCompanyPhone,payCompanyManagement.getCompanyPhone()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getPostalCode,payCompanyManagement.getPostalCode()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getBankAccountName,payCompanyManagement.getBankAccountName()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getOpeningBank,payCompanyManagement.getOpeningBank()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getDutyCode,payCompanyManagement.getDutyCode()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getStatus,PayCompanyManagementCommon.STATUS1); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getDataSource,payCompanyManagement.getDataSource()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getRemarks,payCompanyManagement.getRemarks()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getEditTime,payCompanyManagement.getEditTime()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getUpdateBy,payCompanyManagement.getUpdateBy()); + updatePayCompanyManagementTemporary.set(PayCompanyManagementTemporary::getUpdateTime,payCompanyManagement.getUpdateTime()); + payCompanyManagementTemporaryService.update(updatePayCompanyManagementTemporary); + } + // 更新合同 LambdaUpdateWrapper updatePayIncomeContract = new LambdaUpdateWrapper<>(); updatePayIncomeContract.eq(PayIncomeContract::getSignedCompanyId,payCompanyManagement.getId()); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml index 0cb5ff51..ce89de09 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayCommonProjectMapper.xml @@ -11,7 +11,7 @@ su.realname as principal_name, pcp.charge_company_id, pcp.charge_company_temporary_id, - pcp.charge_company_temporary_name, + if(pcp.charge_company_temporary_name = pcm.company_name, pcp.charge_company_temporary_name, concat(pcp.charge_company_temporary_name,'(更名为',pcm.company_name,')')) as charge_company_temporary_name, pcp.charge_use, pcp.contacts_id, pcp.contacts_temporary_id, @@ -45,12 +45,14 @@ FROM pay_common_project pcp left join sys_user su on pcp.principal_id = su.id LEFT JOIN pay_payment_record ppr ON ppr.project_id = pcp.id + left join pay_company_management_temporary pcmt on pcp.charge_company_temporary_id = pcmt.id + left join pay_company_management pcm on pcmt.company_id = pcm.id AND pcp.charge_project like concat('%',concat(#{payCommonProject.chargeProject},'%')) - AND pcp.charge_company_temporary_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%')) + AND pcm.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%')) AND pcp.contacts_temporary_name like concat('%',concat(#{payCommonProject.contactsTemporaryName},'%')) From 57372d9b9dcd91acffe7b996ce18a0547eb02f76 Mon Sep 17 00:00:00 2001 From: sunzheng Date: Wed, 27 Dec 2023 14:32:40 +0800 Subject: [PATCH 04/35] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=A0=87=E9=A2=98=E3=80=90=E9=A2=84=E8=AE=A1=E5=88=B0=E8=B4=A6?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E3=80=91=E5=9C=A8excel=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/entity/PayMemberProjectSubitem.java | 2 +- .../project/entity/PayWorkingGroupSubItem.java | 15 ++++++++------- .../vo/excel/PayWorkingGroupSubItemExcel.java | 15 ++++++++------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/PayMemberProjectSubitem.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/PayMemberProjectSubitem.java index ff37aadf..c8b254dd 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/PayMemberProjectSubitem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/entity/PayMemberProjectSubitem.java @@ -389,7 +389,7 @@ public class PayMemberProjectSubitem implements Serializable { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "预计到账日期") - @Excel(name = "预计到账日期", width = 15,orderNum = "5") + @Excel(name = "预计到账日期", width = 15,orderNum = "9") private String estimatedArrivalDate; /**预计到账开始日期*/ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java index 2ddb8b7b..bbee340f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java @@ -125,6 +125,14 @@ public class PayWorkingGroupSubItem implements Serializable { @DecimalMax(value = "9999999999.99",message = "待确收金额(元)格式错误") @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal receivableAmount; + + /**预计到账日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "预计到账日期") + @Excel(name = "预计到账日期",width = 15,format = "yyyy-MM-dd") + private String estimatedArrivalDate; + /**实收金额(元)*/ @ApiModelProperty(value = "实收金额(元)") @DecimalMax(value = "9999999999.99",message = "实收金额(元)格式错误") @@ -165,13 +173,6 @@ public class PayWorkingGroupSubItem implements Serializable { @ApiModelProperty(value = "收费通知文件id") private java.lang.String chargeNoticeId; - /**预计到账日期*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") - @ApiModelProperty(value = "预计到账日期") - @Excel(name = "预计到账日期",width = 15,format = "yyyy-MM-dd") - private String estimatedArrivalDate; - /**打包(1:是,0:否)*/ @ApiModelProperty(value = "打包(1:是,0:否)") private java.lang.Integer pack; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java index 26f393a0..07e4934d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/vo/excel/PayWorkingGroupSubItemExcel.java @@ -53,6 +53,14 @@ public class PayWorkingGroupSubItemExcel implements Serializable { @ApiModelProperty(value = "实收金额(元)") @JsonFormat(shape = JsonFormat.Shape.STRING) private BigDecimal paidAmount; + + /**预计到账日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "预计到账日期") + @Excel(name = "预计到账日期",width = 15) + private String estimatedArrivalDate; + /** * 合同编号 */ @@ -66,13 +74,6 @@ public class PayWorkingGroupSubItemExcel implements Serializable { @ApiModelProperty(value = "收费通知号") private String chargeNoticeNo; - /**预计到账日期*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") - @ApiModelProperty(value = "预计到账日期") - @Excel(name = "预计到账日期",width = 15) - private String estimatedArrivalDate; - /** * 打包 */ From 8a86d6bbab0d877b979fd0dea04fdfae4f54ba3d Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 27 Dec 2023 15:29:12 +0800 Subject: [PATCH 05/35] =?UTF-8?q?update=20=E6=9B=B4=E6=94=B9=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E5=90=8D=E7=A7=B0=E6=97=B6=E5=A4=84=E7=90=86=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=9A=84=E5=8D=95=E4=BD=8D=E5=90=8D=E7=A7=B0=EF=BC=88?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=84=E9=A1=B9=E7=9B=AE=E5=AE=8C=E6=88=90?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PayCompanyManagementServiceImpl.java | 74 ++++++++++++++++--- .../mapper/PayMemberProjectSubitemMapper.java | 4 + .../IPayMemberProjectSubitemService.java | 2 + ...PayPayMemberProjectSubitemServiceImpl.java | 5 ++ .../mapper/PayWorkingGroupSubItemMapper.java | 5 ++ .../xml/PayWorkingGroupSubItemMapper.xml | 5 ++ .../IPayWorkingGroupSubItemService.java | 4 + .../PayWorkingGroupSubItemServiceImpl.java | 7 ++ 8 files changed, 94 insertions(+), 12 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java index d4b1de9e..14d84c25 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/service/impl/PayCompanyManagementServiceImpl.java @@ -787,19 +787,69 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); - updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getChargeCompanyId,payCompanyManagement.getId()); - updatePayWorkingGroupSubItem.exists(" select 1 from pay_company_management_temporary where " + - "pay_working_group_subitem.charge_company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'"); - updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName()); - payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem); + QueryWrapper queryPayWorkingGroupSubItem = new QueryWrapper<>(); + queryPayWorkingGroupSubItem.eq("pwg.year",thisYear); + queryPayWorkingGroupSubItem.lambda().eq(PayWorkingGroupSubItem::getChargeCompanyId,payCompanyManagement.getId()) + .and( + a -> { + a.eq(PayWorkingGroupSubItem::getPaidAmount, BigDecimal.ZERO) + .or() + .isNull(PayWorkingGroupSubItem::getPaidAmount); + }) + .and( + a -> { + a.eq(PayWorkingGroupSubItem::getInvoiceAmount, BigDecimal.ZERO) + .or() + .isNull(PayWorkingGroupSubItem::getInvoiceAmount); + }) + .and( + a -> { + a.eq(PayWorkingGroupSubItem::getConfirmAmount, BigDecimal.ZERO) + .or() + .isNull(PayWorkingGroupSubItem::getConfirmAmount); + }); + List workingGroupSubItemList = payWorkingGroupSubItemService.queryList(queryPayWorkingGroupSubItem); + List collect1 = workingGroupSubItemList.stream().map(PayWorkingGroupSubItem::getChargeCompanyTemporaryId).collect(Collectors.toList()); + companyTemporaryIdList.addAll(collect1); + if (!collect1.isEmpty()){ + LambdaUpdateWrapper updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); + updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getChargeCompanyId,collect1); + updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName()); + payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem); + } + // 更新会员 - LambdaUpdateWrapper updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>(); - updatePayMemberProjectSubitem.eq(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId()); - updatePayMemberProjectSubitem.exists(" select 1 from pay_company_management_temporary where " + - "pay_member_project_subitem.company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'"); - updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName()); - memberProjectSubitemService.update(updatePayMemberProjectSubitem); + QueryWrapper queryPayMemberProjectSubitem = new QueryWrapper<>(); + queryPayMemberProjectSubitem.eq("pmp.particular_year",thisYear); + queryPayMemberProjectSubitem.lambda().eq(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId()) + .and( + a -> { + a.eq(PayMemberProjectSubitem::getPaidAmount, BigDecimal.ZERO) + .or() + .isNull(PayMemberProjectSubitem::getPaidAmount); + }) + .and( + a -> { + a.eq(PayMemberProjectSubitem::getInvoiceAmount, BigDecimal.ZERO) + .or() + .isNull(PayMemberProjectSubitem::getInvoiceAmount); + }) + .and( + a -> { + a.eq(PayMemberProjectSubitem::getConfirmAmount, BigDecimal.ZERO) + .or() + .isNull(PayMemberProjectSubitem::getConfirmAmount); + }); + List payMemberProjectSubitems = memberProjectSubitemService.queryPageListCompany(queryPayMemberProjectSubitem); + List collect2 = payMemberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyTemporaryId).collect(Collectors.toList()); + companyTemporaryIdList.addAll(collect2); + if (!collect2.isEmpty()){ + LambdaUpdateWrapper updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>(); + updatePayMemberProjectSubitem.in(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId()); + updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName()); + memberProjectSubitemService.update(updatePayMemberProjectSubitem); + } + // 更新临时数据 if (!companyTemporaryIdList.isEmpty()) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/PayMemberProjectSubitemMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/PayMemberProjectSubitemMapper.java index e1db65e8..d6df6678 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/PayMemberProjectSubitemMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/PayMemberProjectSubitemMapper.java @@ -8,6 +8,8 @@ import com.jero.member.entity.PayMemberProjectSubitem; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @Description: 会员项目_subitem * @Author: jero-boot @@ -18,5 +20,7 @@ public interface PayMemberProjectSubitemMapper extends BaseMapper queryPageListCompany(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + List queryPageListCompany(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + IPage getPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/IPayMemberProjectSubitemService.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/IPayMemberProjectSubitemService.java index 06e34c8d..0dce1342 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/IPayMemberProjectSubitemService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/IPayMemberProjectSubitemService.java @@ -70,6 +70,8 @@ public interface IPayMemberProjectSubitemService extends IService queryPageListCompany(Page page, QueryWrapper queryWrapper); + List queryPageListCompany(QueryWrapper queryWrapper); + IPage getPage(Page page, QueryWrapper queryWrapper); void check(String subitemId, String permission); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java index 9bff200e..53ba3f73 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java @@ -497,6 +497,11 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl queryPageListCompany(QueryWrapper queryWrapper) { + return baseMapper.queryPageListCompany(queryWrapper); + } + @Override public IPage getPage(Page page, QueryWrapper queryWrapper) { return baseMapper.getPage(page, queryWrapper); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemMapper.java index ee767266..1bada09c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupSubItemMapper.java @@ -1,6 +1,9 @@ package com.jero.project.mapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.company.entity.PayContactsManagement; import com.jero.project.entity.PayWorkGroupSubletStatistics; @@ -59,4 +62,6 @@ public interface PayWorkingGroupSubItemMapper extends BaseMapper publishReminderList(Page page, @Param("payWorkingGroupSubItem") PayWorkingGroupSubItem payWorkingGroupSubItem); + + List queryList(@Param(Constants.WRAPPER) QueryWrapper queryPayWorkingGroupSubItem); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml index b21dc889..b7c3b524 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml @@ -346,4 +346,9 @@ + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java index a98157ae..ba8ac742 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupSubItemService.java @@ -1,5 +1,7 @@ package com.jero.project.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.baomidou.mybatisplus.extension.service.IService; @@ -123,4 +125,6 @@ public interface IPayWorkingGroupSubItemService extends IService queryList(QueryWrapper queryPayWorkingGroupSubItem); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java index 4973dc40..b3a30220 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java @@ -2,6 +2,7 @@ package com.jero.project.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -1040,6 +1041,12 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl queryList(QueryWrapper queryPayWorkingGroupSubItem) { + + return payWorkingGroupSubItemMapper.queryList(queryPayWorkingGroupSubItem); + } + /** * @Description 删除项目打包关联,临时企业、联系信息 * @Author lqt From 59732ac38bf4b7dfd778a845fbc8f524447fc6ad Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 27 Dec 2023 15:53:23 +0800 Subject: [PATCH 06/35] =?UTF-8?q?update=20=E6=9B=B4=E6=94=B9=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E5=90=8D=E7=A7=B0=E6=97=B6=E5=A4=84=E7=90=86=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=9A=84=E5=8D=95=E4=BD=8D=E5=90=8D=E7=A7=B0=EF=BC=88?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=84=E9=A1=B9=E7=9B=AE=E5=AE=8C=E6=88=90?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/mapper/xml/PayWorkingGroupSubItemMapper.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml index e31b55a5..97856f8e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupSubItemMapper.xml @@ -8,7 +8,8 @@ pwgs.working_group_id AS workingGroupId, pwgs.charge_company_id AS chargeCompanyId, pwgs.charge_company_temporary_id AS chargeCompanyTemporaryId, - pwgs.charge_company_temporary_name AS chargeCompanyTemporaryName, + + if(pwgs.charge_company_temporary_name = pcm.company_name, pwgs.charge_company_temporary_name, concat(pwgs.charge_company_temporary_name,'(更名为',pcm.company_name,')')) as chargeCompanyTemporaryName, pwgs.contacts_id_one AS contactsIdOne, pwgs.contacts_temporary_id_one AS contactsTemporaryIdOne, pwgs.contacts_temporary_name_one AS contactsTemporaryNameOne, @@ -48,10 +49,12 @@ pwgs.estimated_arrival_date FROM pay_working_group_subitem pwgs LEFT JOIN pay_payment_record ppr ON ppr.project_id = pwgs.id + left join pay_company_management_temporary pcmt on pwgs.charge_company_temporary_id = pcmt.id + left join pay_company_management pcm on pcmt.company_id = pcm.id pwgs.working_group_id = #{payWorkingGroupSubItem.workingGroupId} - AND pwgs.charge_company_temporary_name LIKE + AND pcm.company_name LIKE concat('%',concat(#{payWorkingGroupSubItem.chargeCompanyTemporaryName},'%')) From 6e4675202aa7893d3a0e54766cc1f275892330a0 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 27 Dec 2023 15:54:13 +0800 Subject: [PATCH 07/35] =?UTF-8?q?update=20=E6=9F=A5=E8=AF=A2=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=97=B6=EF=BC=8C=E6=9C=89=E5=A4=9A=E4=BD=99=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jero/modules/oss/controller/OSSFileController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/oss/controller/OSSFileController.java b/jero-boot-module-system/src/main/java/com/jero/modules/oss/controller/OSSFileController.java index 2b5ba144..ff1b7b7f 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/oss/controller/OSSFileController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/oss/controller/OSSFileController.java @@ -84,7 +84,7 @@ public class OSSFileController { */ @ResponseBody @GetMapping("/queryById") - public Result queryById(@RequestParam(name = "id") String id) { + public Result queryById(@RequestParam(name = "id",required = false) String id) { Result result = new Result<>(); OSSFile file = ossFileService.getById(id); if (file == null) { From c57e671122663a7986b2b0d54b3865eb6529a6a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Wed, 27 Dec 2023 16:15:30 +0800 Subject: [PATCH 08/35] =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=A2=84=E8=AE=A1=E5=88=B0=E8=B4=A6=E6=97=A5=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/24年1月5日上线变更.sql | 5 +++- .../meeting/entity/PayMeetingSituation.java | 27 ++++++++++++------- .../service/impl/PayMeetingServiceImpl.java | 19 +++++++------ .../impl/PayMeetingSituationServiceImpl.java | 20 +++++--------- 4 files changed, 40 insertions(+), 31 deletions(-) diff --git a/db/24年1月5日上线变更.sql b/db/24年1月5日上线变更.sql index 074b79ac..dd6568cb 100644 --- a/db/24年1月5日上线变更.sql +++ b/db/24年1月5日上线变更.sql @@ -10,4 +10,7 @@ ALTER TABLE `pay_common_project` ADD COLUMN `estimated_arrival_date` date COMMEN ALTER TABLE `pay_member_project_subitem` ADD COLUMN `estimated_arrival_date` date COMMENT '预估到账日期'; -- pay_working_group_subitem表新增estimated_arrival_date(预估到账日期)字段 -ALTER TABLE `pay_working_group_subitem` ADD COLUMN `estimated_arrival_date` date COMMENT '预估到账日期'; \ No newline at end of file +ALTER TABLE `pay_working_group_subitem` ADD COLUMN `estimated_arrival_date` date COMMENT '预估到账日期'; + +-- pay_meeting_situation 添加预计到账日期 +ALTER TABLE `pay_meeting_situation` ADD COLUMN `estimated_arrival_date` datetime COMMENT '预计到账日期'; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingSituation.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingSituation.java index 0c95548c..0d185060 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingSituation.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingSituation.java @@ -1,23 +1,26 @@ package com.jero.meeting.entity; -import java.io.Serializable; -import java.math.BigDecimal; - -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.common.aspect.annotation.Dict; import com.jero.company.vo.UpdateInvoicePram; import com.jero.meeting.valid.group.CommonPeople; import com.jero.meeting.valid.group.Guest; -import lombok.Data; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; -import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.*; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; /** * @Description: 会议报名信息 @@ -569,4 +572,10 @@ public class PayMeetingSituation implements Serializable { @ApiModelProperty(value = "发票项目") private Integer invoiceProject; + /**预计到账日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "预计到账日期") + private Date estimatedArrivalDate; + } 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 14bb94c4..27dbe577 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 @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.CommonConstant; import com.jero.common.dto.SendMessageDTO; import com.jero.common.enums.CompanyMessageEnums; @@ -66,20 +67,16 @@ import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.io.File; import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.ObjectUtils; - /** * @Description: 会议管理 * @Author: jero-boot @@ -314,6 +311,12 @@ public class PayMeetingServiceImpl extends ServiceImpl upPayMeetingSituation = new LambdaUpdateWrapper<>(); + upPayMeetingSituation.eq(PayMeetingSituation::getMeetingId,payMeeting.getId()); + upPayMeetingSituation.set(PayMeetingSituation::getEstimatedArrivalDate,payMeeting.getStartTime()); + payMeetingSituationService.update(upPayMeetingSituation); + delWithStandardForUpdate(payMeeting); //如果酒店联系人列表不为空,就更新 if (!CollectionUtils.isEmpty(hotelContactsList)) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 8726df0b..fd4bbea8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -1,6 +1,4 @@ package com.jero.meeting.service.impl; -import java.util.Date; - import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; @@ -12,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.common.ProjectCommon; import com.jero.common.constant.CommonConstant; @@ -20,9 +19,9 @@ import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.enums.ManagementMessageEnums; import com.jero.common.enums.PaymentStatusEnum; import com.jero.common.exception.JeroBootException; +import com.jero.common.service.ContractCreateProjectSendMessageService; import com.jero.common.service.RolePermissionService; import com.jero.common.service.SendMessageService; -import com.jero.common.service.ContractCreateProjectSendMessageService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; @@ -82,19 +81,15 @@ import org.apache.shiro.SecurityUtils; import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.transaction.annotation.Transactional; - /** * @Description: 会议报名信息 * @Author: jero-boot @@ -186,7 +181,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl Date: Wed, 27 Dec 2023 16:52:05 +0800 Subject: [PATCH 09/35] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=E9=80=9A=E8=BF=87exc?= =?UTF-8?q?el=E5=AF=BC=E5=85=A5=E5=B7=A5=E4=BD=9C=E7=BB=84=E6=88=90?= =?UTF-8?q?=E5=91=98=E5=92=8C=E8=B5=84=E6=96=99=E7=BD=91=E5=91=98=E6=88=90?= =?UTF-8?q?=E5=91=98=E7=9A=84=E9=BB=98=E8=AE=A4=E7=A8=8E=E7=8E=87=E4=B8=BA?= =?UTF-8?q?6%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/controller/PayMemberProjectSubitemController.java | 5 +++++ .../service/impl/PayWorkingGroupSubItemServiceImpl.java | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java index 96364134..2d67af26 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/controller/PayMemberProjectSubitemController.java @@ -356,6 +356,11 @@ public class PayMemberProjectSubitemController extends JeroController { + // 填充税率为默认值 6% + if (Objects.isNull(p.getTaxRate())) { + p.setTaxRate(new BigDecimal("0.06")); + } String estimatedArrivalDate = p.getEstimatedArrivalDate(); if (Objects.isNull(estimatedArrivalDate)) { msg.append("第").append(list.indexOf(p) + 3).append("行预估到账日期不能为空,请修改。
"); From 7c6e35558f7a8ecac24624be422de67e6a5cf756 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 27 Dec 2023 16:57:57 +0800 Subject: [PATCH 10/35] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E5=88=B0?= =?UTF-8?q?=E8=B4=A6=E5=BC=80=E7=A5=A8=E6=9F=A5=E8=AF=A2=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PayPaymentRecordServiceImpl.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java index 2d01f7c0..ecd866dd 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.payment.service.impl; +import cn.hutool.core.collection.CollStreamUtil; import com.alibaba.druid.sql.visitor.functions.If; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -157,26 +158,26 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.select(PayPaymentRecordSub::getProjectId,PayPaymentRecordSub::getPaymentStatus); wrapper.eq(PayPaymentRecordSub::getLastSign, LastSignEnum.LAST.getCode()); wrapper.eq(PayPaymentRecordSub::getDelFlag, PayProjectCommon.NO); List RecordSubList = payPaymentCheckService.list(wrapper); - + Map projectIdPaymentStatusMap = CollStreamUtil.toMap(RecordSubList, PayPaymentRecordSub::getProjectId, PayPaymentRecordSub::getPaymentStatus); for (PayCommonProject commonProject : list) { //如果是会议类型,就查询会议的具体类型 + String id = commonProject.getId(); if (commonProject.getProjectType().equals(Integer.parseInt(ProjectCommon.PROJECT_TYPE3))) { - String id = commonProject.getId(); PayMeeting payMeeting = payMeetingService.getMeetingBySituationId(id); commonProject.setMeetingType(payMeeting.getMeetingType()); commonProject.setSituationId(id); } //插入待审核状态,供前端判断是否显示审核按钮 //先查审核记录表有没有待审核的 - for(PayPaymentRecordSub recordSub : RecordSubList){ - if(commonProject.getId().equals(recordSub.getProjectId())){ - if(PaymentStatusEnum.TO_BE_REVIEWED.getCode().equals(recordSub.getPaymentStatus())){ - commonProject.setCheckPaymentStatus(recordSub.getPaymentStatus()); - continue; - } + if(projectIdPaymentStatusMap.containsKey(id)){ + String paymentStatus = projectIdPaymentStatusMap.get(id); + if(PaymentStatusEnum.TO_BE_REVIEWED.getCode().equals(paymentStatus)){ + commonProject.setCheckPaymentStatus(paymentStatus); + continue; } } //再查项目主表状态是不是待审核 From ed1d64c49a32bd00de46b1ee0b4ef61e8d7d59a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Wed, 27 Dec 2023 17:24:28 +0800 Subject: [PATCH 11/35] =?UTF-8?q?=E9=A6=96=E9=A1=B5-=E5=85=A8=E6=89=80?= =?UTF-8?q?=E6=94=B6=E5=85=A5=E7=BB=9F=E8=AE=A1=EF=BC=88=E7=B4=AF=E8=AE=A1?= =?UTF-8?q?=EF=BC=89=EF=BC=9B=20=E9=A6=96=E9=A1=B5-=E5=85=A8=E6=89=80?= =?UTF-8?q?=E6=94=B6=E5=85=A5=E7=BB=9F=E8=AE=A1=EF=BC=88=E5=8D=95=E6=9C=88?= =?UTF-8?q?=EF=BC=89=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/index/service/IndexService.java | 9 +++++---- .../com/jero/index/vo/LineChartListVO.java | 2 ++ .../project/mapper/PayWorkingGroupMapper.java | 2 ++ .../mapper/xml/PayWorkingGroupMapper.xml | 13 ++++++++++++ .../impl/PayWorkingGroupServiceImpl.java | 20 +++++++++++++++---- .../entity/AllProjectStatistics.java | 4 ++++ 6 files changed, 42 insertions(+), 8 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java b/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java index e386af18..d022d8de 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/index/service/IndexService.java @@ -1,10 +1,9 @@ package com.jero.index.service; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; - -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.DictModel; import com.jero.index.dto.YearMoneyDTO; @@ -19,7 +18,6 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; import java.math.RoundingMode; -import java.text.DecimalFormat; import java.util.*; import java.util.stream.Collectors; @@ -78,6 +76,8 @@ public class IndexService { lineChartListVO.setBillMoney(reduce2.toString()); BigDecimal reduce3 = lineChartListVOList.stream().map(i -> new BigDecimal(i.getComeAllMoney())).reduce(BigDecimal.ZERO, BigDecimal::add); lineChartListVO.setComeAllMoney(reduce3.toString()); + BigDecimal reduce4 = lineChartListVOList.stream().map(i -> new BigDecimal(i.getEstimatedArrivalMoney())).reduce(BigDecimal.ZERO, BigDecimal::add); + lineChartListVO.setEstimatedArrivalMoney(reduce4.toString()); lineChartListVO.setPaymentDate("总数"); lineChartListVOList.add(lineChartListVO); return lineChartListVOList; @@ -99,6 +99,7 @@ public class IndexService { lineChartListVO.setBillMoney(allProjectStatistics.getBillMoney()); lineChartListVO.setComeAllMoney(allProjectStatistics.getComeAllMoney()); lineChartListVO.setPaymentDate(allProjectStatistics.getPaymentDate()); + lineChartListVO.setEstimatedArrivalMoney(allProjectStatistics.getEstimatedArrivalMoney()); return lineChartListVO; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/index/vo/LineChartListVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/index/vo/LineChartListVO.java index c70877e6..07146d55 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/index/vo/LineChartListVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/index/vo/LineChartListVO.java @@ -24,4 +24,6 @@ public class LineChartListVO { @ApiModelProperty(value = "到账时间") private String paymentDate; + @ApiModelProperty(value = "预计到账金额") + private String estimatedArrivalMoney; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java index 828aab27..de3f4c2c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java @@ -242,6 +242,8 @@ public interface PayWorkingGroupMapper extends BaseMapper { List cumulativeListComeAllMoney(@Param("paymentYear") String paymentYear); + List cumulativeListEstimatedArrivalMoney(@Param("paymentYear") String paymentYear); + BigDecimal invoiceAmount(@Param("start") Integer start, @Param("end") Integer end, @Param("departCode") String departCode); IPage invoiceAmountList(Page page, @Param("start") Integer start, @Param("end") Integer end, @Param("departCode") String departCode, @Param("column") String column, @Param("order") String order); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml index 70030485..e0fcb058 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml @@ -2522,4 +2522,17 @@
) a + + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java index c056dea1..1df3d058 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java @@ -606,7 +606,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl listConfirmAmount = payWorkingGroupMapper.queryListConfirmAmount(allProjectStatisticsSearch); List listBillMoney = payWorkingGroupMapper.queryListBillMoney(allProjectStatisticsSearch); List listComeAllMoney = payWorkingGroupMapper.queryListComeAllMoney(allProjectStatisticsSearch); - return getAllProjectMoneyStatistics(allProjectStatisticsSearch,allMoneyList,listConfirmAmount, listBillMoney,listComeAllMoney); + // 预计到账金额 + List listEstimatedArrivalMoney = payWorkingGroupMapper.cumulativeListEstimatedArrivalMoney(allProjectStatisticsSearch.getPaymentYear()); + return getAllProjectMoneyStatistics(allProjectStatisticsSearch,allMoneyList,listConfirmAmount, listBillMoney,listComeAllMoney,listEstimatedArrivalMoney); } @Override @@ -615,7 +617,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl listConfirmAmount = payWorkingGroupMapper.cumulativeListConfirmAmount(allProjectStatisticsSearch.getPaymentYear()); List listBillMoney = payWorkingGroupMapper.cumulativeListBillMoney(allProjectStatisticsSearch.getPaymentYear()); List listComeAllMoney = payWorkingGroupMapper.cumulativeListComeAllMoney(allProjectStatisticsSearch.getPaymentYear()); - return getAllProjectMoneyStatistics(allProjectStatisticsSearch,allMoneyList,listConfirmAmount, listBillMoney,listComeAllMoney); + // 预计到账金额 + List listEstimatedArrivalMoney = payWorkingGroupMapper.cumulativeListEstimatedArrivalMoney(allProjectStatisticsSearch.getPaymentYear()); + return getAllProjectMoneyStatistics(allProjectStatisticsSearch,allMoneyList,listConfirmAmount, listBillMoney,listComeAllMoney,listEstimatedArrivalMoney); } @Override @@ -625,7 +629,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl listBillMoney = payWorkingGroupMapper.queryListBillMoney(allProjectStatisticsSearch); List listComeAllMoney = payWorkingGroupMapper.queryListComeAllMoney(allProjectStatisticsSearch); - List list2=getAllProjectMoneyStatistics(allProjectStatisticsSearch,allMoneyList,listConfirmAmount, listBillMoney,listComeAllMoney); + // 预计到账金额 + List listEstimatedArrivalMoney = payWorkingGroupMapper.cumulativeListEstimatedArrivalMoney(allProjectStatisticsSearch.getPaymentYear()); + List list2=getAllProjectMoneyStatistics(allProjectStatisticsSearch,allMoneyList,listConfirmAmount, listBillMoney,listComeAllMoney,listEstimatedArrivalMoney); AllMoney allMoney=payWorkingGroupMapper.queryPageList33(allProjectStatisticsSearch, idList); List comeAllMoneyList=list2.stream().map(AllProjectStatistics::getComeAllMoney).collect(Collectors.toList()); @@ -677,11 +683,13 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl allMoneyList, List listConfirmAmount, List listBillMoney, - List listComeAllMoney) { + List listComeAllMoney, + List listEstimatedArrivalMoney) { Map allMoneyMap = allMoneyList.stream().collect(Collectors.toMap(AllProjectStatistics::getPaymentDate, AllProjectStatistics::getAllMoney)); Map confirmAmountMap = listConfirmAmount.stream().collect(Collectors.toMap(AllProjectStatistics::getPaymentDate, AllProjectStatistics::getConfirmAmount)); Map billMoneyMap = listBillMoney.stream().collect(Collectors.toMap(AllProjectStatistics::getPaymentDate, AllProjectStatistics::getBillMoney)); Map comeAllMoneyMap = listComeAllMoney.stream().collect(Collectors.toMap(AllProjectStatistics::getPaymentDate, AllProjectStatistics::getComeAllMoney)); + Map estimatedArrivalMoneyMap = listEstimatedArrivalMoney.stream().collect(Collectors.toMap(AllProjectStatistics::getPaymentDate, AllProjectStatistics::getComeAllMoney)); String paymentYear=allProjectStatisticsSearch.getPaymentYear(); List yearMonth = getYearMonth(paymentYear); @@ -692,6 +700,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl Date: Wed, 27 Dec 2023 18:08:39 +0800 Subject: [PATCH 12/35] =?UTF-8?q?add=20=E5=88=B0=E8=B4=A6=E5=BC=80?= =?UTF-8?q?=E7=A5=A8=E8=BF=94=E5=9B=9E=E5=80=BC=E6=96=B0=E5=A2=9E=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=AD=97=E6=AE=B5=20=E6=98=AF=E5=90=A6=E6=98=AF?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E7=AE=A1=E7=90=86=E5=91=98=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/PayPaymentRecordMapper.xml | 16 +++++++++------- .../jero/project/entity/PayCommonProject.java | 3 +++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml index 20d87319..cca83f91 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/mapper/xml/PayPaymentRecordMapper.xml @@ -47,11 +47,11 @@ - \ No newline at end of file + + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java index 61129e67..ea8e96f0 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java @@ -3,13 +3,16 @@ package com.jero.meeting.service; 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.baomidou.mybatisplus.extension.service.IService; import com.jero.common.api.vo.Result; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingGuestsFile; import com.jero.meeting.entity.PayMeetingSituation; -import com.baomidou.mybatisplus.extension.service.IService; import com.jero.meeting.vo.*; +import com.jero.statistics.entity.MeetingPackStatistics; +import com.jero.statistics.entity.MeetingPackStatisticsSearch; import org.jetbrains.annotations.Nullable; +import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -102,4 +105,10 @@ public interface IPayMeetingSituationService extends IService guestsUploadFileList(GuestsUploadFileVO guestsUploadFileVO); void guestsDeleteFile(GuestsUploadFileVO guestsUploadFileVO); + + IPage getMeetingPackStatistics(MeetingPackStatisticsSearch metingPackStatisticsSearch, + Integer pageNo, + Integer pageSize); + + ModelAndView excelMeetingPackStatistics(MeetingPackStatisticsSearch metingPackStatisticsSearch); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index fd4bbea8..53f9561b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -1,4 +1,5 @@ package com.jero.meeting.service.impl; + import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; @@ -72,16 +73,23 @@ import com.jero.project.entity.PayWorkingGroupSubItemContacts; import com.jero.project.service.IPayWorkingGroupSubItemContactsService; import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.standards.memberinfo.service.IMemberInfoService; +import com.jero.statistics.entity.MeetingPackStatistics; +import com.jero.statistics.entity.MeetingPackStatisticsSearch; import com.jero.temporary.service.IPayCompanyManagementTemporaryService; import com.jero.temporary.service.IPayContactsManagementTemporaryService; import com.jero.util.ObjRecordUtil; import com.jero.util.module.ObjRecordUtilModule; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.enmus.ExcelType; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -1914,4 +1922,45 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl getMeetingPackStatistics(MeetingPackStatisticsSearch metingPackStatisticsSearch, + Integer pageNo, + Integer pageSize) { + QueryWrapper query = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch); + Page page = new Page<>(pageNo, pageSize); + return payMeetingSituationMapper.getMeetingPackStatistics(page,query); + } + + @Override + public ModelAndView excelMeetingPackStatistics(MeetingPackStatisticsSearch metingPackStatisticsSearch) { + QueryWrapper query = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch); + List list = payMeetingSituationMapper.getMeetingPackStatistics(query); + + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + mv.addObject(NormalExcelConstants.FILE_NAME, "会议打包统计"); //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.CLASS, MeetingPackStatistics.class); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams=new ExportParams("会议打包统计", "会议打包统计"); + exportParams.setType(ExcelType.XSSF); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, list); + return mv; + } + + @NotNull + private QueryWrapper getPayMeetingSituationQueryWrapper(MeetingPackStatisticsSearch metingPackStatisticsSearch) { + QueryWrapper query = new QueryWrapper<>(); + if (!StringUtils.isBlank(metingPackStatisticsSearch.getCompanyName())) { + query.lambda().like(PayMeetingSituation::getCompanyName, metingPackStatisticsSearch.getCompanyName()); + } + if (!StringUtils.isBlank(metingPackStatisticsSearch.getPayMode())) { + query.lambda().in(PayMeetingSituation::getPayMode, Arrays.asList(metingPackStatisticsSearch.getPayMode().split(","))); + } + if (!StringUtils.isBlank(metingPackStatisticsSearch.getPaymentYear())) { + query.eq("DATE_FORMAT(p3.payment_date,'%Y')", metingPackStatisticsSearch.getPaymentYear()); + } + return query; + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/MeetingPackStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/MeetingPackStatisticsController.java new file mode 100644 index 00000000..f6c51a97 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/MeetingPackStatisticsController.java @@ -0,0 +1,65 @@ +package com.jero.statistics.controller; + +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.meeting.service.IPayMeetingService; +import com.jero.meeting.service.IPayMeetingSituationService; +import com.jero.payment.service.impl.PayConfirmPaymentRecordService; +import com.jero.statistics.entity.MeetingPackStatisticsSearch; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; + +import javax.annotation.Resource; + + +/** + * @author zql + * @date 2021/9/20 21:00:00 + */ +@Api(tags = "会议打包统计") +@RestController +@RequestMapping("/statistics/meetingPackStatistics") +@Slf4j +public class MeetingPackStatisticsController { + @Resource + private IPayMeetingSituationService payMeetingSituationService; + @Resource + private IPayMeetingService payMeetingService; + @Resource + private PayConfirmPaymentRecordService payConfirmPaymentRecordService; + + + /** + * 分页列表查询 + * + * @param metingPackStatisticsSearch 会议打包统计 + * @param pageNo 页数 + * @param pageSize 条数 + */ +// @RequiresPermissions("individualPaymentStatistics:search") + @ApiOperation(value = "会议打包统计-分页列表查询", notes = "会议打包统计-分页列表查询") + @GetMapping(value = "/page") + public Result list(MeetingPackStatisticsSearch metingPackStatisticsSearch, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + return Result.OK(payMeetingSituationService.getMeetingPackStatistics(metingPackStatisticsSearch, pageNo, pageSize)); + } + + /** + * 导出 + * + * @param metingPackStatisticsSearch + */ + @AutoLog(value = "会议打包统计-导出统计") + @ApiOperation(value = "会议打包统计-导出统计", notes = "会议打包统计-导出统计") + @GetMapping(value = "/excelMeetingPackStatistics") + public ModelAndView excelMeetingPackStatistics(MeetingPackStatisticsSearch metingPackStatisticsSearch) { + return payMeetingSituationService.excelMeetingPackStatistics(metingPackStatisticsSearch); + } +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/MeetingPackStatistics.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/MeetingPackStatistics.java new file mode 100644 index 00000000..8f10cc53 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/MeetingPackStatistics.java @@ -0,0 +1,63 @@ +package com.jero.statistics.entity; + +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @author lqt + * @version 1.0 + * @date 2023/12/27 17:53 + */ +@Data +public class MeetingPackStatistics implements Serializable { + + @ApiModelProperty(value = "参会人id") + private String id; + + @ApiModelProperty(value = "会议id") + private String meetingId; + + @Excel(name = "会议名称", width = 15) + @ApiModelProperty(value = "会议名称") + private String meetingName; + + @Excel(name = "会议类型", width = 15, dicCode = "meeting_type") + @ApiModelProperty(value = "会议类型") + @Dict(dicCode = "meeting_type") + private Integer meetingType; + + @Excel(name = "来款单位", width = 15) + @ApiModelProperty(value = "来款单位") + private String companyName; + + @Excel(name = "参会人员", width = 15) + @ApiModelProperty(value = "参会人员") + private String companyContactName; + + @Excel(name = "年度待确收金额", width = 15) + @ApiModelProperty(value = "应收金额") + private String allMoney; + + @Excel(name = "确认收入金额", width = 15) + @ApiModelProperty(value = "确认金额") + private String confirmAmount; + + @Excel(name = "开票金额", width = 15) + @ApiModelProperty(value = "开票金额") + private String billMoney; + + @Excel(name = "到账金额", width = 15) + @ApiModelProperty(value = "到账金额") + private String comeAllMoney; + + + @ApiModelProperty(value = "确认年份") + private BigDecimal paymentYear; + + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/MeetingPackStatisticsSearch.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/MeetingPackStatisticsSearch.java new file mode 100644 index 00000000..fdde5f24 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/MeetingPackStatisticsSearch.java @@ -0,0 +1,22 @@ +package com.jero.statistics.entity; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author lqt + * @version 1.0 + * @date 2023/12/27 17:53 + */ +@Data +public class MeetingPackStatisticsSearch implements Serializable { + + @ApiModelProperty(value = "来款单位") + private String companyName; + @ApiModelProperty(value = "确认年份") + private String paymentYear; + @ApiModelProperty(value = "来款方式(默认打包)") + private String payMode; +} From 473f6b0acd923fc807c0680b4a0bd0a46e1933b7 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Thu, 28 Dec 2023 17:37:07 +0800 Subject: [PATCH 15/35] =?UTF-8?q?update=20=E8=B5=84=E6=96=99=E7=BD=91?= =?UTF-8?q?=E5=91=98=E7=BC=96=E8=BE=91=E5=90=8E=E6=9B=B4=E6=96=B0=E4=BC=81?= =?UTF-8?q?=E4=B8=9A=E8=81=94=E7=B3=BB=E4=BA=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xml/PayMemberProjectSubitemMapper.xml | 32 ++++++++++++++++++- ...PayPayMemberProjectSubitemServiceImpl.java | 23 +++++++------ .../impl/PayCommonProjectServiceImpl.java | 8 ++--- 3 files changed, 46 insertions(+), 17 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/xml/PayMemberProjectSubitemMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/xml/PayMemberProjectSubitemMapper.xml index 00d425ac..5a80d474 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/xml/PayMemberProjectSubitemMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/mapper/xml/PayMemberProjectSubitemMapper.xml @@ -33,7 +33,24 @@ + + + + + + + + + + + + + + + + + @@ -261,6 +264,9 @@ + + AND pack = #{payWorkingGroupSubletSearch.pack} + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java index 1df3d058..1a4e87e4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java @@ -619,6 +619,15 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl listComeAllMoney = payWorkingGroupMapper.cumulativeListComeAllMoney(allProjectStatisticsSearch.getPaymentYear()); // 预计到账金额 List listEstimatedArrivalMoney = payWorkingGroupMapper.cumulativeListEstimatedArrivalMoney(allProjectStatisticsSearch.getPaymentYear()); + // 累加金额 + for (int i = 1; i < listEstimatedArrivalMoney.size(); i++) { + AllProjectStatistics obj = listEstimatedArrivalMoney.get(i); + AllProjectStatistics objLast = listEstimatedArrivalMoney.get(i-1); + BigDecimal n = new BigDecimal(obj.getEstimatedArrivalMoney()); + BigDecimal l = new BigDecimal(objLast.getEstimatedArrivalMoney()); + obj.setEstimatedArrivalMoney(n.add(l).toPlainString()); + listEstimatedArrivalMoney.set(i,obj); + } return getAllProjectMoneyStatistics(allProjectStatisticsSearch,allMoneyList,listConfirmAmount, listBillMoney,listComeAllMoney,listEstimatedArrivalMoney); } @@ -689,7 +698,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl confirmAmountMap = listConfirmAmount.stream().collect(Collectors.toMap(AllProjectStatistics::getPaymentDate, AllProjectStatistics::getConfirmAmount)); Map billMoneyMap = listBillMoney.stream().collect(Collectors.toMap(AllProjectStatistics::getPaymentDate, AllProjectStatistics::getBillMoney)); Map comeAllMoneyMap = listComeAllMoney.stream().collect(Collectors.toMap(AllProjectStatistics::getPaymentDate, AllProjectStatistics::getComeAllMoney)); - Map estimatedArrivalMoneyMap = listEstimatedArrivalMoney.stream().collect(Collectors.toMap(AllProjectStatistics::getPaymentDate, AllProjectStatistics::getComeAllMoney)); + Map estimatedArrivalMoneyMap = listEstimatedArrivalMoney.stream().collect(Collectors.toMap(AllProjectStatistics::getPaymentDate, AllProjectStatistics::getEstimatedArrivalMoney)); String paymentYear=allProjectStatisticsSearch.getPaymentYear(); List yearMonth = getYearMonth(paymentYear); From 1bd61cc80a6c4d2104acd0642ac7302ea09efdf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Fri, 29 Dec 2023 15:08:27 +0800 Subject: [PATCH 20/35] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/PayMeetingSituationMapper.xml | 2 +- .../impl/PayMeetingSituationServiceImpl.java | 21 ++++++++++++++++--- .../entity/MeetingPackStatistics.java | 5 +++-- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml index 10dd04be..588f71bf 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml @@ -180,7 +180,7 @@ + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index 3a88c396..c5970902 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -1953,16 +1953,12 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl querySum = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch); - querySum.select("case when sum( p1.amount_receivable ) is null then 0 else sum( p1.amount_receivable ) end AS allMoney,\n" + - "\tcase when sum( p1.confirm_amount ) is null then 0 else sum( p1.confirm_amount ) end AS confirm_amount,\n" + - "\tcase when sum( p1.invoice_amount ) is null then 0 else sum( p1.invoice_amount ) end AS billMoney,\n" + - "\tcase when sum( p1.paid_amount ) is null then 0 else sum( p1.paid_amount ) end AS comeAllMoney "); - List sumList = payMeetingSituationMapper.getMeetingPackStatistics(querySum); + MeetingPackStatistics count = payMeetingSituationMapper.getMeetingPackStatisticsCount(querySum); HashMap hashMap = new HashMap<>(); - hashMap.put("sumOfMoney", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getAllMoney())) ? 0 : sumList.get(0).getAllMoney()); - hashMap.put("sumOfReallyMoney", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getComeAllMoney())) ? 0 : sumList.get(0).getComeAllMoney()); - hashMap.put("sumOfBillMoney", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getBillMoney())) ? 0 : sumList.get(0).getBillMoney()); - hashMap.put("sumOfConfirmAmount", (CollectionUtils.isEmpty(sumList) || StringUtils.isBlank(sumList.get(0).getConfirmAmount())) ? 0 : sumList.get(0).getConfirmAmount()); + hashMap.put("sumOfMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getAllMoney())) ? 0 : count.getAllMoney()); + hashMap.put("sumOfReallyMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getComeAllMoney())) ? 0 : count.getComeAllMoney()); + hashMap.put("sumOfBillMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getBillMoney())) ? 0 : count.getBillMoney()); + hashMap.put("sumOfConfirmAmount", (Objects.isNull(count) || StringUtils.isBlank(count.getConfirmAmount())) ? 0 : count.getConfirmAmount()); hashMap.put("pageList", pageList); return hashMap; } @@ -1998,12 +1994,12 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl query) { - query.groupBy("p3.project_id"); query.select("p1.id,p1.meeting_id,p1.company_name,p1.company_contact_name,p1.amount_receivable as allMoney,p1.confirm_amount,\n" + " p1.invoice_amount as billMoney,p1.paid_amount as comeAllMoney,p2.meeting_name,p2.meeting_type,DATE_FORMAT(p3.payment_date,'%Y') as payment_year"); // 排序