Merge branch '24年二季度其他'
# Conflicts: # db/统计视图(新).sql
This commit is contained in:
+122
@@ -104,3 +104,125 @@ INSERT INTO `sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `com
|
||||
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 ('1800701388810936321', '1430376424950026242', '委员信息', '/organizationalManage/committeeMemberInfo', 'organizationalManage/committeeMemberInfo/CommitteeMemberInfoList', NULL, NULL, 1, NULL, '1', 24.00, 0, NULL, 1, 0, 0, 1, NULL, 'LKGLZ', '2024-06-12 09:27:21', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1800701184820961281', '1430376424950026242', '委员会详情', '/organizationalManage/committeeDetail', 'organizationalManage/committeeInfo/CommitteeInfoDetail', NULL, NULL, 1, NULL, '1', 23.00, 0, NULL, 1, 1, 0, 1, NULL, 'LKGLZ', '2024-06-12 09:26:33', 'LKGLZ', '2024-06-12 09:26:44', 0, 0, '1', 0, 1);
|
||||
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 ('1800698635388772353', '', '委员会', '/organizationalManage/committeeInfo', 'organizationalManage/committeeInfo/CommitteeInfoList', NULL, NULL, 0, NULL, '1', 4.10, 0, 'cus_yinzhang', 1, 0, 0, 0, NULL, 'LKGLZ', '2024-06-12 09:16:25', 'LKGLZ', '2024-06-12 09:16:36', 0, 0, '1', 0, 1);
|
||||
|
||||
-- 20240701 财务管理-修改待确收金额
|
||||
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 ('1806586851988770818', '1435815710331621378', '修改待确收金额', NULL, NULL, NULL, NULL, 2, 'incomePaymentAndInvoiving:editReceivableAmount', '0', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-06-28 15:14:05', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
-- 20240701 普通项目-新增复制
|
||||
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 ('1807697397756596226', '1430376521213497345', '复制', '', NULL, NULL, NULL, 2, 'generalProject:copy', '1', 4.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-01 16:47:00', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
-- 20240701 会员信息统计
|
||||
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 ('1807709111403286529', '1807708679419334658', '导出', NULL, NULL, NULL, NULL, 2, 'memberStatistic:export', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-01 17:33:32', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1807709030168006657', '1807708679419334658', '查询', NULL, NULL, NULL, NULL, 2, 'memberStatistic:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-01 17:33:13', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1807708679419334658', '1438394322899558402', '会员信息统计', '/incomePayments/memberManage/MemberStatisticList', 'incomePayments/memberManage/MemberStatisticList', NULL, NULL, 1, NULL, '1', 8.11, 0, NULL, 1, 0, 0, 0, NULL, 'LKGLZ', '2024-07-01 17:31:49', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
-- 20240703 工作组-成员单位维护-确认凭证 工作组-全部文件导出
|
||||
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 ('1808440661174550530', '1431167539278086146', '确认凭证', NULL, NULL, NULL, NULL, 2, 'workingGroupMember:confirmVoucher', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 18:00:27', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808439808279609346', '1430718058514440194', '全部文件导出', NULL, NULL, NULL, NULL, 2, 'workingGroupProject:exportAllFile', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 17:57:04', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
-- 20240703 工作组、起草组-会议参会情况-批量审核报名信息
|
||||
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 ('1808458564737335298', '1742070808427126785', '批量审核报名信息', '', NULL, NULL, NULL, 2, 'draftGroupMeetingSituation:batchAuditSignUp', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 19:11:36', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808458432167968769', '1443462660843458561', '批量审核报名信息', NULL, NULL, NULL, NULL, 2, 'workGroupMeetingSituation:batchAuditSignUp', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-03 19:11:04', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
-- 20240704 会议参会情况-编辑打包前金额
|
||||
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 ('1808714130038607873', '1443470901166039042', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'standardsMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 12:07:08', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808713535055613954', '1443461591480487938', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'committeeMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 12:04:46', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808712529420898306', '1744610339198091266', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'draftGroupMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 12:00:46', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808712332892590081', '1470954992463327234', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'councilMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 11:59:59', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808712185471193089', '1803335479314161665', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'overseasMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 11:59:24', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808711899306414081', '1443460205023940610', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'otherMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 11:58:16', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808711775985487874', '1433322232030777345', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'internalMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 11:57:46', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808711651183972353', '1443462660843458561', '编辑打包前金额', NULL, NULL, NULL, NULL, 2, 'workGroupMeetingSituation:editBeforePackMoney', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 11:57:17', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
|
||||
-- 20240704 会议酒店推荐 相关菜单
|
||||
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 ('1808762081121292290', '1808757213186904065', '下载模板', NULL, NULL, NULL, NULL, 2, 'recommendHotelPage:downTemplate', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 15:17:40', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808761976095920129', '1808757213186904065', '导入', NULL, NULL, NULL, NULL, 2, 'recommendHotelPage:import', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 15:17:15', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808761869799673858', '1808757213186904065', '查询', NULL, NULL, NULL, NULL, 2, 'recommendHotelPage:list', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 15:16:50', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808757213186904065', '1430376424950026242', '会议酒店推荐', '/projectManagement/allMeetingList/RecommendHotelPage', 'projectManagement/RecommendHotelPage', NULL, NULL, 1, NULL, '1', 40.00, 0, NULL, 1, 0, 0, 1, NULL, 'LKGLZ', '2024-07-04 14:58:19', 'LKGLZ', '2024-07-04 14:58:31', 0, 0, '1', 0, 1);
|
||||
-- 20240704 年度数据锁定
|
||||
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 ('1808786188755947522', '1808784364816715778', '批量删除', NULL, NULL, NULL, NULL, 2, 'annualDataLockingList:batchDel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 16:53:28', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808786109202583554', '1808784364816715778', '删除', NULL, NULL, NULL, NULL, 2, 'annualDataLockingList:delete', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 16:53:09', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808785934673399809', '1808784364816715778', '新增', NULL, NULL, NULL, NULL, 2, 'annualDataLockingList:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 16:52:27', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808785856063754242', '1808784364816715778', '查询', NULL, NULL, NULL, NULL, 2, 'annualDataLockingList:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 16:52:08', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808784364816715778', 'd7d6e2e4e2934f2c9385a623fd98c6f3', '年度数据锁定', '/isystem/annualDataLockingList', 'system/AnnualDataLockingList', NULL, NULL, 1, NULL, '1', 9.00, 0, NULL, 1, 0, 0, 0, NULL, 'LKGLZ', '2024-07-04 16:46:13', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
-- 20240704 企业分类统计菜单
|
||||
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 ('1808798008250093569', '1808797556947177473', '导出', NULL, NULL, NULL, NULL, 2, 'companyPaymentClassificationStatistics:export', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 17:40:26', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808797925806854146', '1808797556947177473', '查询', NULL, NULL, NULL, NULL, 2, 'companyPaymentClassificationStatistics:search', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-04 17:40:06', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
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 ('1808797556947177473', '1437320526513905666', '企业来款分类统计', '/statisticalReport/enterprisePaymentStatistics/enterprisePaymentClassificationStatisticsList', 'statisticalReport/enterprisePaymentStatistics/EnterprisePaymentClassificationStatisticsList', NULL, NULL, 1, NULL, '1', 2.10, 0, NULL, 1, 0, 1, 0, NULL, 'LKGLZ', '2024-07-04 17:38:38', NULL, NULL, 0, 0, '1', 0, 0);
|
||||
|
||||
-- 20240705 标协会员的视图创建
|
||||
CREATE VIEW v_member_project_subitem AS
|
||||
select `t1`.`id` AS `id`,`t1`.`member_no` AS `member_no`,`t1`.`company_name` AS `company_name`,`t1`.`liaison_man_id` AS `liaison_man_id`,
|
||||
`t1`.`member_status` AS `member_status`,`t1`.`effective_date` AS `effective_date`,`t1`.`invalidation_date` AS `invalidation_date`,
|
||||
`t1`.`create_time` AS `create_time`,`t1`.`project_id` AS `project_id` from (`tb_member_project_subitem` `t1` join
|
||||
(select `tb_member_project_subitem`.`company_id` AS `company_id`,max(`tb_member_project_subitem`.`create_time`) AS `max_create_time`
|
||||
from `tb_member_project_subitem` group by `tb_member_project_subitem`.`company_id`) `t2` on(((`t1`.`company_id` = `t2`.`company_id`)
|
||||
and (`t1`.`create_time` = `t2`.`max_create_time`)))) where (`t1`.`member_status` is not null);
|
||||
|
||||
-- 20240708 工作组成员新增是否审核,是否确认凭证字段
|
||||
ALTER TABLE `pay_working_group_subitem`
|
||||
add column check_payment_status tinyint(1) comment '是否审核(1:是,0:否)',
|
||||
add column confirm_voucher tinyint(1) comment '是否确认凭证(1:是,0:否)';
|
||||
|
||||
-- 20240708 工作组表新增自定义排序字段
|
||||
ALTER TABLE `pay_working_group`
|
||||
add column sort_no decimal(20, 10) comment '自定义排序顺序';
|
||||
|
||||
-- 20240710 新增会议酒店推荐表
|
||||
DROP TABLE IF EXISTS `pay_meeting_hotel_recommend`;
|
||||
CREATE TABLE `pay_meeting_hotel_recommend` (
|
||||
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||
`recommend_people` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '推荐人',
|
||||
`hotel_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '酒店名称',
|
||||
`hotel_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所在省份',
|
||||
`hotel_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所在城市',
|
||||
`is_hold` tinyint(1) NULL DEFAULT NULL COMMENT '是否举办过标准院会议 1-是 0-否',
|
||||
`meeting_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '曾举办的会议类型',
|
||||
`contact` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '酒店联系方式',
|
||||
`remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
|
||||
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '会议酒店推荐表' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
|
||||
-- 20240712 导入到标协会员菜单
|
||||
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 ('1811666066341814274', '1469221945005338626', '导入到标协会员', NULL, NULL, NULL, NULL, 2, 'council:exportToMember', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-12 15:37:04', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
|
||||
-- 20240715 会议汇总-会议酒店推荐按钮
|
||||
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 ('1812785413516914690', '1626061755230580738', '会议酒店推荐', NULL, NULL, NULL, NULL, 2, 'allmeeting:recommendHotel', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'LKGLZ', '2024-07-15 17:44:57', NULL, NULL, 0, 0, '1', 0, 1);
|
||||
|
||||
-- 20240716 处理工作组成员历史数据中的是否确认凭证字段
|
||||
UPDATE pay_working_group_subitem SET confirm_voucher = 0 WHERE confirm_voucher IS NULL;
|
||||
|
||||
-- 20240716 处理工作组成员历史数据中的是否审核字段
|
||||
UPDATE pay_working_group_subitem SET check_payment_status = 0;
|
||||
UPDATE pay_working_group_subitem SET check_payment_status = 1 WHERE payment_status = 'completed' OR payment_status = 'rejected';
|
||||
|
||||
-- auto-generated definition
|
||||
create table pay_annual_data_locking
|
||||
(
|
||||
id varchar(32) not null comment '主键'
|
||||
primary key,
|
||||
year varchar(32) null comment '年份',
|
||||
create_by varchar(32) null comment '创建人',
|
||||
create_time datetime null comment '创建时间',
|
||||
update_by varchar(32) null comment '更新人',
|
||||
update_time datetime null comment '更新时间'
|
||||
)
|
||||
comment '年度数据锁定表';
|
||||
|
||||
alter table pay_company_management_temporary comment '企业管理临时表';
|
||||
alter table pay_contacts_management_temporary comment '联系人管理临时表';
|
||||
|
||||
alter table pay_company_management_temporary
|
||||
add year varchar(4) null comment '数据锁定年份';
|
||||
alter table pay_contacts_management_temporary
|
||||
add year varchar(4) null comment '数据锁定年份';
|
||||
# 标协会员项目增加临时id
|
||||
alter table tb_member_project_subitem
|
||||
add company_temporary_id varchar(50) null comment '企业临时id' after company_id,
|
||||
add company_contact_temporary_id varchar(50) null comment '企业联系人临时id' after liaison_man_id,
|
||||
add post_contact_temporary_id varchar(150) null comment '邮寄联系人临时id' after post_contact_id;
|
||||
# 标协会员项目增加临时id
|
||||
alter table pay_pack_company
|
||||
add mail_contact_temporary_id varchar(150) null comment '邮寄联系人临时id' after mail_contacts_id;
|
||||
+40
-4
@@ -203,7 +203,7 @@ from (SELECT pwgs.id,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
liaison_man as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
null as estimatedArrivalDate,
|
||||
estimated_arrival_date as estimatedArrivalDate,
|
||||
tmps.create_time as createTime
|
||||
FROM tb_member_project tmp
|
||||
left join tb_member_project_subitem tmps on (tmp.id = tmps.project_id)
|
||||
@@ -460,7 +460,7 @@ from (SELECT pwgs.id,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
liaison_man as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
null as estimatedArrivalDate,
|
||||
estimated_arrival_date as estimatedArrivalDate,
|
||||
tmps.create_time as createTime
|
||||
FROM tb_member_project tmp
|
||||
left join tb_member_project_subitem tmps on (tmp.id = tmps.project_id)
|
||||
@@ -826,6 +826,7 @@ SELECT
|
||||
end meeting_costs_b,
|
||||
p2.meeting_name,
|
||||
p2.meeting_type,
|
||||
p2.particular_year as year,
|
||||
( SELECT DATE_FORMAT( payment_date, '%Y' ) FROM pay_confirm_payment_record p3 WHERE p3.project_id = p1.id LIMIT 1 ) AS payment_year
|
||||
FROM
|
||||
pay_meeting_situation p1
|
||||
@@ -1073,7 +1074,7 @@ from (SELECT pwgs.id,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
liaison_man as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
null as estimatedArrivalDate,
|
||||
estimated_arrival_date as estimatedArrivalDate,
|
||||
tmps.create_time as createTime
|
||||
FROM tb_member_project tmp
|
||||
left join tb_member_project_subitem tmps on (tmp.id = tmps.project_id)
|
||||
@@ -1373,7 +1374,7 @@ from (SELECT pwgs.id,
|
||||
vcpr.no_tax_amount as confirmNoTaxAmount,
|
||||
liaison_man as contactsName,
|
||||
vcpr.payment_date as confirmDate,
|
||||
null as estimatedArrivalDate,
|
||||
estimated_arrival_date as estimatedArrivalDate,
|
||||
tmps.create_time as createTime
|
||||
FROM tb_member_project tmp
|
||||
left join tb_member_project_subitem tmps on (tmp.id = tmps.project_id)
|
||||
@@ -1567,6 +1568,40 @@ from (
|
||||
and (pack = 0 or year < 2024)
|
||||
group by pwgs.id
|
||||
union all
|
||||
SELECT pcp.id,
|
||||
pcp.id as superId,
|
||||
pcp.charge_project AS projectName,
|
||||
pcp.principal_name as principalName,
|
||||
pcp.charge_company_id AS chargeCompanyId,
|
||||
pcp.charge_company_temporary_id as chargeCompanyTemporaryId,
|
||||
pcp.charge_company_temporary_name AS chargeCompanyTemporaryName,
|
||||
pcp.no_tax_amount as allMoney,
|
||||
pcp.paid_amount as comeAllMoney,
|
||||
16 as chargeUse,
|
||||
sd.depart_name as depart,
|
||||
pcp.pack as pack,
|
||||
pcp.year as year,
|
||||
pcp.in_account as payStatue,
|
||||
sd.org_code as departCode,
|
||||
sd.id as departId,
|
||||
pcp.principal_id as principalNameId,
|
||||
1 as type,
|
||||
pcp.invoice_amount AS billMoney,
|
||||
confirm_amount as confirmAmount,
|
||||
invoice_no_tax_amount as invoiceNoTaxAmount,
|
||||
paid_no_tax_amount as paidNoTaxAmount,
|
||||
confirm_no_tax_amount as confirmNoTaxAmount,
|
||||
contacts_temporary_name as contactsName,
|
||||
GROUP_CONCAT(DATE_FORMAT(pcpr.payment_date,'%Y-%m')) as confirmDate,
|
||||
pcp.create_time as createTime
|
||||
FROM pay_common_project pcp
|
||||
left JOIN sys_user su on (pcp.principal_id = su.id)
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join pay_confirm_payment_record pcpr on pcp.id = pcpr.project_id
|
||||
where (pack = 0 or year < 2024)
|
||||
and charge_way = 2
|
||||
group by pcp.id
|
||||
union all
|
||||
SELECT pcp.id,
|
||||
pcp.id as superId,
|
||||
pcp.charge_project AS projectName,
|
||||
@@ -1598,6 +1633,7 @@ from (
|
||||
left join sys_depart sd on (su.depart_ids = sd.id)
|
||||
left join pay_confirm_payment_record pcpr on pcp.id = pcpr.project_id
|
||||
where (pack = 0 or year < 2024)
|
||||
and charge_way != 2
|
||||
group by pcp.id
|
||||
union all
|
||||
SELECT pmps.id,
|
||||
|
||||
+2
@@ -309,4 +309,6 @@ public interface CommonConstant {
|
||||
* 第三方登录 验证密码/创建用户 都需要设置一个操作码 防止被恶意调用
|
||||
*/
|
||||
public final static String THIRD_LOGIN_CODE = "third_login_code";
|
||||
|
||||
public final static String ZERO = "0.00";
|
||||
}
|
||||
|
||||
@@ -46,6 +46,13 @@ public class StaticConfig {
|
||||
StaticConfig.needPassword = needPassword;
|
||||
}
|
||||
|
||||
public static String TEMPLATE_PATH;
|
||||
|
||||
@Value("${template.path.templatePath}")
|
||||
public void setTemplatePath(String templatePath) {
|
||||
StaticConfig.TEMPLATE_PATH = templatePath;
|
||||
}
|
||||
|
||||
|
||||
/*@Bean
|
||||
public void initStatic() {
|
||||
|
||||
+1
-1
@@ -140,7 +140,7 @@ public class ShiroConfig {
|
||||
filterChainDefinitionMap.put("/sys/oss/file/queryById","anon");//通过id查询文件
|
||||
filterChainDefinitionMap.put("/meeting/internalMeetingSituation/checkMember","anon");//校验是否为会员单位
|
||||
filterChainDefinitionMap.put("/meeting/internalMeeting/getLinkTopics","anon");//查询关联会议
|
||||
filterChainDefinitionMap.put("/company/payCompanyManagement/judgeCompanyIsPackaged","anon");//判断当前企业是否是打包企业
|
||||
filterChainDefinitionMap.put("/pack/payPackCompany/judgeCompanyIsPackaged","anon");//判断当前企业是否是打包企业
|
||||
//通过单位名称查询该单位是否可用
|
||||
filterChainDefinitionMap.put("/member/tbMemberProjectSubitem/enableMemberByCompanyName", "anon");
|
||||
//门户端-分页查询所有会员名称
|
||||
|
||||
+9
-8
@@ -1,18 +1,19 @@
|
||||
package com.jero.common.mapper;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ProjectDetailMapper {
|
||||
/**
|
||||
* @Description 查询项目信息
|
||||
* @Author lqt
|
||||
* @Date 2021/9/14
|
||||
* @Param projectId 项目id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
PayCommonProject queryProject(String projectId);
|
||||
* @Description 查询项目信息
|
||||
* @Author lqt
|
||||
* @Date 2021/9/14
|
||||
* @Param projectId 项目id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
PayCommonProject queryProject(@Param("projectId") String projectId);
|
||||
|
||||
/**
|
||||
* @Description 查询项目列表信息
|
||||
|
||||
+332
-98
@@ -4,8 +4,41 @@
|
||||
|
||||
<select id="queryProject" resultType="com.jero.project.entity.PayCommonProject">
|
||||
<!-- 普通项目-->
|
||||
select c.id,c.charge_project, c.charge_use, c.principal_id,su.realname as principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,'' as phone,'' as email,c.remarks,c.contract_num,c.charge_company_temporary_id,c.charge_way,c.files,c.charge_notice_no,c.charge_notice_id,c.year,c.mail_contacts_temporary_name,'' as mission_and_objectives
|
||||
,c.tax_rate,c.tax,c.no_tax_amount,c.affirm_income
|
||||
select c.id as id,
|
||||
c.charge_project as charge_project,
|
||||
c.charge_use as charge_use,
|
||||
c.principal_id as principal_id,
|
||||
su.realname as principal_name,
|
||||
c.contacts_id as contacts_id,
|
||||
c.contacts_temporary_id as contacts_temporary_id,
|
||||
c.contacts_temporary_name as contacts_temporary_name,
|
||||
c.charge_company_id as charge_company_id,
|
||||
c.charge_company_temporary_id as charge_company_temporary_id,
|
||||
c.charge_company_temporary_name as charge_company_temporary_name,
|
||||
c.receivable_amount as receivable_amount,
|
||||
c.paid_amount as paid_amount,
|
||||
c.need_invoice as need_invoice,
|
||||
c.pack as pack,
|
||||
c.in_account as in_account,
|
||||
c.make_invoice as make_invoice,
|
||||
c.mail as mail,
|
||||
c.create_time as create_time,
|
||||
1 as projectType,
|
||||
'' as phone,
|
||||
'' as email,
|
||||
c.remarks as remarks,
|
||||
c.contract_num as contract_num,
|
||||
c.charge_way as charge_way,
|
||||
c.files as files,
|
||||
c.charge_notice_no as charge_notice_no,
|
||||
c.charge_notice_id as charge_notice_id,
|
||||
c.year as year,
|
||||
c.mail_contacts_temporary_name as mail_contacts_temporary_name,
|
||||
'' as mission_and_objectives,
|
||||
c.tax_rate as tax_rate,
|
||||
c.tax as tax,
|
||||
c.no_tax_amount as no_tax_amount,
|
||||
c.affirm_income as affirm_income
|
||||
from pay_common_project c
|
||||
left join sys_user su on c.principal_id = su.id
|
||||
<where>
|
||||
@@ -15,164 +48,365 @@
|
||||
</where>
|
||||
<!--工作组项目-->
|
||||
UNION ALL
|
||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,su.realname,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','',gsub.remarks,gsub.contract_num,gsub.charge_company_temporary_id,gsub.charge_way,'',gsub.charge_notice_no,gsub.charge_notice_id,g.year,gsub.mail_contacts_temporary_name,g.mission_and_objectives
|
||||
,gsub.tax_rate,gsub.tax,gsub.no_tax_amount,affirm_income
|
||||
select c.id as id,
|
||||
g.working_group_project as charge_project,
|
||||
c.charge_use as charge_use,
|
||||
g.principal_id_a as principal_id,
|
||||
su.realname as principal_name,
|
||||
c.contacts_id_one as contacts_id,
|
||||
c.contacts_temporary_id_one as contacts_temporary_id,
|
||||
c.contacts_temporary_name_one as contacts_temporary_name,
|
||||
c.charge_company_id as charge_company_id,
|
||||
c.charge_company_temporary_id as charge_company_temporary_id,
|
||||
c.charge_company_temporary_name as charge_company_temporary_name,
|
||||
c.receivable_amount as receivable_amount,
|
||||
c.paid_amount as paid_amount,
|
||||
c.need_invoice as need_invoice,
|
||||
c.pack as pack,
|
||||
c.in_account as in_account,
|
||||
c.make_invoice as make_invoice,
|
||||
c.mail as mail,
|
||||
c.create_time as create_time,
|
||||
2 as projectType,
|
||||
'' as phone,
|
||||
'' as email,
|
||||
c.remarks as remarks,
|
||||
c.contract_num as contract_num,
|
||||
c.charge_way as charge_way,
|
||||
'' as files,
|
||||
c.charge_notice_no as charge_notice_no,
|
||||
c.charge_notice_id as charge_notice_id,
|
||||
g.year as year,
|
||||
c.mail_contacts_temporary_name as mail_contacts_temporary_name,
|
||||
g.mission_and_objectives as mission_and_objectives,
|
||||
c.tax_rate as tax_rate,
|
||||
c.tax as tax,
|
||||
c.no_tax_amount as no_tax_amount,
|
||||
affirm_income
|
||||
from pay_working_group g
|
||||
left join sys_user su on g.principal_id_a = su.id
|
||||
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
|
||||
inner join pay_working_group_subitem c on g.id = c.working_group_id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND gsub.id = #{projectId}
|
||||
AND c.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
<!-- 会议项目-->
|
||||
UNION ALL
|
||||
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, su.realname,sit.company_contact_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,'','',sit.remark,'',sit.company_id,sit.pay_mode,'','','','','',''
|
||||
,sit.tax_rate,sit.tax,sit.no_tax_amount,affirm_income
|
||||
select c.id as id,
|
||||
meeting.meeting_name as charge_project,
|
||||
c.charge_use as charge_use,
|
||||
meeting.director_id as principal_id,
|
||||
su.realname as principal_name,
|
||||
c.company_contact_id as contacts_id,
|
||||
c.company_contact_temporary_id as contacts_temporary_id,
|
||||
c.company_contact_name as contacts_temporary_name,
|
||||
c.company_id as charge_company_id,
|
||||
c.company_temporary_id as charge_company_temporary_id,
|
||||
c.company_name as charge_company_temporary_name,
|
||||
c.amount_receivable as receivable_amount,
|
||||
c.paid_amount as paid_amount,
|
||||
c.need_invoice as need_invoice,
|
||||
c.pack as pack,
|
||||
c.in_account as in_account,
|
||||
c.make_invoice as make_invoice,
|
||||
c.mail as mail,
|
||||
c.create_time as create_time,
|
||||
3 as projectType,
|
||||
'' as phone,
|
||||
'' as email,
|
||||
c.remark as remarks,
|
||||
'' as contract_num,
|
||||
c.pay_mode as charge_way,
|
||||
'' as files,
|
||||
'' as charge_notice_no,
|
||||
'' as charge_notice_id,
|
||||
'' as year,
|
||||
'' as mail_contacts_temporary_name,
|
||||
'' as mission_and_objectives,
|
||||
c.tax_rate as tax_rate,
|
||||
c.tax as tax,
|
||||
c.no_tax_amount as no_tax_amount,
|
||||
affirm_income
|
||||
from pay_meeting meeting
|
||||
left join sys_user su on meeting.director_id = su.id
|
||||
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
|
||||
inner join pay_meeting_situation c on meeting.id = c.meeting_id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND sit.id = #{projectId}
|
||||
AND c.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
<!-- 会员项目-->
|
||||
UNION ALL
|
||||
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,su.realname,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'','',msub.remark,msub.contract_no as contract_num,msub.company_temporary_id,msub.payment_method,'',msub.charge_notice_no,msub.charge_notice_file_id,pmp.particular_year,msub.post_contact_name,''
|
||||
,msub.tax_rate,msub.tax,msub.no_tax_amount,affirm_income
|
||||
select c.id as id,
|
||||
pmp.project_name as charge_project,
|
||||
c.charge_use as charge_use,
|
||||
pmp.director_id as principal_id,
|
||||
su.realname as principal_name,
|
||||
c.company_contact_id as contacts_id,
|
||||
c.company_contact_temporary_id as contacts_temporary_id,
|
||||
c.company_contact_name as contacts_temporary_name,
|
||||
c.company_id as charge_company_id,
|
||||
c.company_temporary_id as charge_company_temporary_id,
|
||||
c.company_name as charge_company_temporary_name,
|
||||
c.amount_receivable as receivable_amount,
|
||||
c.paid_amount as paid_amount,
|
||||
c.need_invoice as need_invoice,
|
||||
c.pack as pack,
|
||||
c.in_account as in_account,
|
||||
c.make_invoice as make_invoice,
|
||||
c.mail as mail,
|
||||
c.create_time as create_time,
|
||||
4 as projectType,
|
||||
'' as phone,
|
||||
'' as email,
|
||||
c.remark as remarks,
|
||||
c.contract_no as contract_num,
|
||||
c.payment_method as charge_way,
|
||||
'' as files,
|
||||
c.charge_notice_no as charge_notice_no,
|
||||
c.charge_notice_file_id as charge_notice_id,
|
||||
pmp.particular_year as year,
|
||||
c.post_contact_name as mail_contacts_temporary_name,
|
||||
'' as mission_and_objectives,
|
||||
c.tax_rate as tax_rate,
|
||||
c.tax as tax,
|
||||
c.no_tax_amount as no_tax_amount,
|
||||
affirm_income
|
||||
from pay_member_project pmp
|
||||
left join sys_user su on pmp.director_id = su.id
|
||||
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
|
||||
inner join pay_member_project_subitem c on pmp.id = c.project_id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND msub.id = #{projectId}
|
||||
AND c.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
<!-- 标协会员项目-->
|
||||
UNION ALL
|
||||
select tmsub.id,tmember.project_name,tmsub.charge_use,tmember.director_id,su.realname,tmsub.liaison_man_id,tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,tmsub.mobile,tmsub.email,tmsub.remark,pic.contract_num,tmsub.company_id,tmsub.payment_method,'',tmsub.charge_notice_no,tmsub.charge_notice_id,tmember.year,'',''
|
||||
,tmsub.tax_rate,tmsub.tax,tmsub.no_tax_amount,affirm_income
|
||||
select c.id as id,
|
||||
tmember.project_name as charge_project,
|
||||
c.charge_use as charge_use,
|
||||
tmember.director_id as principal_id,
|
||||
su.realname as principal_name,
|
||||
c.liaison_man_id as contacts_id,
|
||||
c.company_contact_temporary_id as contacts_temporary_id,
|
||||
c.liaison_man as contacts_temporary_name,
|
||||
c.company_id as charge_company_id,
|
||||
c.company_temporary_id as charge_company_temporary_id,
|
||||
c.company_name as charge_company_temporary_name,
|
||||
c.amount_receivable as receivable_amount,
|
||||
c.paid_amount as paid_amount,
|
||||
c.invoice_requirements as need_invoice,
|
||||
c.pack as pack,
|
||||
c.in_account as in_account,
|
||||
c.make_invoice as make_invoice,
|
||||
c.mail as mail,
|
||||
c.create_time as create_time,
|
||||
5 as projectType,
|
||||
c.mobile as phone,
|
||||
c.email as email,
|
||||
c.remark as remarks,
|
||||
pic.contract_num as contract_num,
|
||||
c.payment_method as charge_way,
|
||||
'' as files,
|
||||
c.charge_notice_no as charge_notice_no,
|
||||
c.charge_notice_id as charge_notice_id,
|
||||
tmember.year as year,
|
||||
'' as mail_contacts_temporary_name,
|
||||
'' as mission_and_objectives,
|
||||
c.tax_rate as tax_rate,
|
||||
c.tax as tax,
|
||||
c.no_tax_amount as no_tax_amount,
|
||||
affirm_income
|
||||
from tb_member_project tmember
|
||||
left join sys_user su on tmember.director_id = su.id
|
||||
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
|
||||
left join pay_income_contract_associated pica on pica.project_id=tmsub.id
|
||||
inner join tb_member_project_subitem c on tmember.id=c.project_id
|
||||
left join pay_income_contract_associated pica on pica.project_id=c.id
|
||||
left join pay_income_contract pic on pica.contract_id = pic.id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND tmsub.id = #{projectId}
|
||||
AND c.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
<!-- 标协会员证书项目-->
|
||||
UNION ALL
|
||||
select tmps.id,tmember.project_name,tmps.charge_use,tmember.director_id,su.realname,tmps.liaison_man_id,tmps.liaison_man,tmps.company_name,tmps.amount_receivable,tmps.paid_amount,tmps.invoice_requirements,tmps.pack,tmps.in_account,tmps.make_invoice,tmps.mail,tmps.create_time,5,tmps.mobile,tmps.email,'','',tmps.company_id,tmps.payment_method,'','','',tmember.year,'',''
|
||||
,tmps.tax_rate,tmps.tax,tmps.no_tax_amount,affirm_income
|
||||
select c.id as id,
|
||||
tmember.project_name as charge_project,
|
||||
c.charge_use as charge_use,
|
||||
tmember.director_id as principal_id,
|
||||
su.realname as principal_name,
|
||||
c.liaison_man_id as contacts_id,
|
||||
c.liaison_man_id as contacts_temporary_id,
|
||||
c.liaison_man as contacts_temporary_name,
|
||||
c.company_id as charge_company_id,
|
||||
c.company_id as charge_company_temporary_id,
|
||||
c.company_name as charge_company_temporary_name,
|
||||
c.amount_receivable as receivable_amount,
|
||||
c.paid_amount as paid_amount,
|
||||
c.invoice_requirements as need_invoice,
|
||||
c.pack as pack,
|
||||
c.in_account as in_account,
|
||||
c.make_invoice as make_invoice,
|
||||
c.mail as mail,
|
||||
c.create_time as create_time,
|
||||
5 as projectType,
|
||||
c.mobile as phone,
|
||||
c.email as email,
|
||||
'' as remarks,
|
||||
'' as contract_num,
|
||||
c.payment_method as charge_way,
|
||||
'' as files,
|
||||
'' as charge_notice_no,
|
||||
'' as charge_notice_id,
|
||||
tmember.year as year,
|
||||
'' as mail_contacts_temporary_name,
|
||||
'' as mission_and_objectives,
|
||||
c.tax_rate as tax_rate,
|
||||
c.tax as tax,
|
||||
c.no_tax_amount as no_tax_amount,
|
||||
affirm_income
|
||||
from tb_member_project tmember
|
||||
left join sys_user su on tmember.director_id = su.id
|
||||
inner join tb_certificate_payment tmps on tmember.id=tmps.project_id
|
||||
inner join tb_certificate_payment c on tmember.id=c.project_id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND tmps.id = #{projectId}
|
||||
AND c.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
UNION ALL
|
||||
SELECT
|
||||
gsub.id,
|
||||
g.drafting_group_project,
|
||||
'',
|
||||
g.principal_id_a,
|
||||
su.realname,
|
||||
gsub.contacts_temporary_id_one,
|
||||
gsub.contacts_temporary_name_one,
|
||||
gsub.charge_company_temporary_name,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
gsub.create_time,
|
||||
7,
|
||||
'',
|
||||
'',
|
||||
gsub.remarks,
|
||||
'',
|
||||
gsub.charge_company_temporary_id,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
g.year,
|
||||
'',
|
||||
g.mission_and_objectives,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
c.id as id,
|
||||
g.drafting_group_project as charge_project,
|
||||
'' as charge_use,
|
||||
g.principal_id_a as principal_id,
|
||||
su.realname as principal_name,
|
||||
c.contacts_id_one as contacts_id,
|
||||
c.contacts_temporary_id_one as contacts_temporary_id,
|
||||
c.contacts_temporary_name_one as contacts_temporary_name,
|
||||
c.charge_company_id as charge_company_id,
|
||||
c.charge_company_temporary_id as charge_company_temporary_id,
|
||||
c.charge_company_temporary_name as charge_company_temporary_name,
|
||||
'' as receivable_amount,
|
||||
'' as paid_amount,
|
||||
'' as need_invoice,
|
||||
'' as pack,
|
||||
'' as in_account,
|
||||
'' as make_invoice,
|
||||
'' as mail,
|
||||
c.create_time as create_time,
|
||||
7 as projectType,
|
||||
'' as phone,
|
||||
'' as email,
|
||||
c.remarks as remarks,
|
||||
'' as contract_num,
|
||||
'' as charge_way,
|
||||
'' as files,
|
||||
'' as charge_notice_no,
|
||||
'' as charge_notice_id,
|
||||
g.year as year,
|
||||
'' as mail_contacts_temporary_name,
|
||||
g.mission_and_objectives as mission_and_objectives,
|
||||
'' as tax_rate,
|
||||
'' as tax,
|
||||
'' as no_tax_amount,
|
||||
''
|
||||
FROM
|
||||
pay_drafting_group g
|
||||
LEFT JOIN
|
||||
sys_user su ON g.principal_id_a = su.id
|
||||
INNER JOIN
|
||||
pay_drafting_group_subitem gsub ON g.id = gsub.drafting_group_id
|
||||
pay_drafting_group_subitem c ON g.id = c.drafting_group_id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND gsub.id = #{projectId}
|
||||
AND c.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
<!-- 打包项目-->
|
||||
UNION ALL
|
||||
select ppc.id,ppc.company_temporary_name AS charge_project, 22 AS charge_use, ppc.pack_principal_id as principal_id,su.realname as principal_name,ppc.pack_contact_temporary_id as contacts_temporary_id,
|
||||
ppc.pack_contact_temporary_name,ppc.company_temporary_name as charge_company_temporary_name,ppc.receivable_amount,ppc.paid_amount,ppc.need_invoice,1 as pack,ppc.in_account,ppc.make_invoice,null as mail,ppc.create_time,8 as projectType,'' as phone,'' as email,'' as remarks,ppc.contract_num,ppc.company_temporary_id as charge_company_temporary_id,ppc.charge_way,null as files,ppc.charge_notice_no,ppc.charge_notice_id,null as year, null as mail_contacts_temporary_name,'' as mission_and_objectives
|
||||
,ppc.tax_rate,ppc.tax,ppc.no_tax_amount,ppc.income_affirm AS affirm_income
|
||||
from pay_pack_company ppc
|
||||
left join sys_user su on ppc.pack_principal_id = su.id
|
||||
select c.id as id,
|
||||
c.company_temporary_name AS charge_project,
|
||||
22 AS charge_use,
|
||||
c.pack_principal_id as principal_id,
|
||||
su.realname as principal_name,
|
||||
c.pack_contact_id as contacts_id,
|
||||
c.pack_contact_temporary_id as contacts_temporary_id,
|
||||
c.pack_contact_temporary_name as contacts_temporary_name,
|
||||
c.company_id as charge_company_id,
|
||||
c.company_temporary_id as charge_company_temporary_id,
|
||||
c.company_temporary_name as charge_company_temporary_name,
|
||||
c.receivable_amount as receivable_amount,
|
||||
c.paid_amount as paid_amount,
|
||||
c.need_invoice as need_invoice,
|
||||
1 as pack,
|
||||
c.in_account as in_account,
|
||||
c.make_invoice as make_invoice,
|
||||
null as mail,
|
||||
c.create_time as create_time,
|
||||
8 as projectType,
|
||||
'' as phone,
|
||||
'' as email,
|
||||
'' as remarks,
|
||||
c.contract_num as contract_num,
|
||||
c.charge_way as charge_way,
|
||||
null as files,
|
||||
c.charge_notice_no as charge_notice_no,
|
||||
c.charge_notice_id as charge_notice_id,
|
||||
null as year,
|
||||
null as mail_contacts_temporary_name,
|
||||
'' as mission_and_objectives,
|
||||
c.tax_rate as tax_rate,
|
||||
c.tax as tax,
|
||||
c.no_tax_amount as no_tax_amount,
|
||||
c.income_affirm AS affirm_income
|
||||
from pay_pack_company c
|
||||
left join sys_user su on c.pack_principal_id = su.id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND ppc.id = #{projectId}
|
||||
AND c.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
<!-- 功能安全中心项目-->
|
||||
UNION ALL
|
||||
SELECT
|
||||
pfsc.id,
|
||||
g.project_name,
|
||||
'',
|
||||
g.principal_id,
|
||||
su.realname,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
g.create_time,
|
||||
9,
|
||||
'',
|
||||
'',
|
||||
g.remarks,
|
||||
'',
|
||||
pfsc.company_id,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
g.mission_and_objectives,
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
pfsc.id as id,
|
||||
c.project_name as charge_project,
|
||||
'' as charge_use,
|
||||
c.principal_id as principal_id,
|
||||
su.realname as principal_name,
|
||||
'' as contacts_id,
|
||||
'' as contacts_temporary_id,
|
||||
'' as contacts_temporary_name,
|
||||
pfsc.company_id as charge_company_id,
|
||||
pfsc.company_id as charge_company_temporary_id,
|
||||
'' as charge_company_temporary_name,
|
||||
'' as receivable_amount,
|
||||
'' as paid_amount,
|
||||
'' as need_invoice,
|
||||
'' as pack,
|
||||
'' as in_account,
|
||||
'' as make_invoice,
|
||||
'' as mail,
|
||||
c.create_time as create_time,
|
||||
9 as projectType,
|
||||
'' as phone,
|
||||
'' as email,
|
||||
c.remarks as remarks,
|
||||
'' as contract_num,
|
||||
'' as charge_way,
|
||||
'' as files,
|
||||
'' as charge_notice_no,
|
||||
'' as charge_notice_id,
|
||||
'' as year,
|
||||
'' as mail_contacts_temporary_name,
|
||||
c.mission_and_objectives as mission_and_objectives,
|
||||
'' as tax_rate,
|
||||
'' as tax,
|
||||
'' as no_tax_amount,
|
||||
''
|
||||
FROM
|
||||
pay_functional_safety_center g
|
||||
LEFT JOIN sys_user su ON g.principal_id = su.id
|
||||
LEFT JOIN pay_functional_safety_center_subitem pfsc ON g.id = pfsc.project_id
|
||||
pay_functional_safety_center c
|
||||
LEFT JOIN sys_user su ON c.principal_id = su.id
|
||||
LEFT JOIN pay_functional_safety_center_subitem pfsc ON c.id = pfsc.project_id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND pfsc.id = #{projectId}
|
||||
|
||||
+133
-168
@@ -221,183 +221,148 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
if(!Objects.isNull(payCommonProject.getPack())){
|
||||
projectDetailVO.setPack_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payCommonProject.getPack())));
|
||||
}
|
||||
// 标协会员和会议,直接查询企业,联系人 加功能安全中心
|
||||
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)
|
||||
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE3)
|
||||
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE9)){
|
||||
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payCommonProject.getChargeCompanyTemporaryId());
|
||||
if(Objects.isNull(payCompanyManagement)){
|
||||
throw new JeroBootException("企业不存在!");
|
||||
}
|
||||
if(Objects.equals(payCompanyManagement.getStatus(), PayCompanyManagementTemporaryCommon.STATUS2)){
|
||||
projectDetailVO.setCompanyName(payCompanyManagement.getCompanyName() + PayCompanyManagementTemporaryCommon.CHECK);
|
||||
}else{
|
||||
projectDetailVO.setCompanyName(payCompanyManagement.getCompanyName());
|
||||
}
|
||||
projectDetailVO.setCompanyPhone(PasswordUtil.decrypt(payCompanyManagement.getCompanyPhone()));
|
||||
projectDetailVO.setDutyCode(payCompanyManagement.getDutyCode());
|
||||
projectDetailVO.setBankAccountName(payCompanyManagement.getBankAccountName());
|
||||
projectDetailVO.setBankAccount(payCompanyManagement.getBankAccount());
|
||||
projectDetailVO.setOpeningBank(payCompanyManagement.getOpeningBank());
|
||||
projectDetailVO.setPostalCodeCompany(payCompanyManagement.getPostalCode());
|
||||
projectDetailVO.setCompanyAddress(payCompanyManagement.getCompanyAddress());
|
||||
projectDetailVO.setLinkBankNumber(payCompanyManagement.getLinkBankNumber());
|
||||
//功能安全中心添加企业联系人
|
||||
if (Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE9)){
|
||||
List<SafetyCenterSubitemContacts> subitemContacts = safetyCenterSubitemContactsService.listBySubitemId(projectId);
|
||||
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = new ArrayList<>();
|
||||
for (SafetyCenterSubitemContacts subitemContact : subitemContacts) {
|
||||
PayContactsManagement contactsManagement = payContactsManagementService.getById(subitemContact.getContactsId());
|
||||
PayWorkingGroupSubItemContacts p = new PayWorkingGroupSubItemContacts();
|
||||
p.setContactsTemporaryName(contactsManagement.getName());
|
||||
p.setGender(contactsManagement.getGender());
|
||||
if(!Objects.isNull(contactsManagement.getGender())){
|
||||
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(contactsManagement.getGender())));
|
||||
}
|
||||
p.setPost(contactsManagement.getPost());
|
||||
if(!StringUtils.isBlank(contactsManagement.getPhone())){
|
||||
p.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(contactsManagement.getEmail())){
|
||||
p.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail()));
|
||||
}
|
||||
p.setPostalCodeContacts(contactsManagement.getPostalCode());
|
||||
p.setContactAddress(contactsManagement.getContactAddress());
|
||||
listPayWorkingGroupSubItemContacts.add(p);
|
||||
}
|
||||
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
|
||||
}else {
|
||||
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payCommonProject.getContactsTemporaryId());
|
||||
if(Objects.isNull(payContactsManagement)){
|
||||
throw new JeroBootException("联系人不存在!");
|
||||
}
|
||||
projectDetailVO.setName(payContactsManagement.getName());
|
||||
projectDetailVO.setGender(payContactsManagement.getGender());
|
||||
if(!Objects.isNull(payContactsManagement.getGender())){
|
||||
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagement.getGender())));
|
||||
}
|
||||
projectDetailVO.setPost(payContactsManagement.getPost());
|
||||
if(!StringUtils.isBlank(payContactsManagement.getPhone())){
|
||||
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(payContactsManagement.getEmail())){
|
||||
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail()));
|
||||
}
|
||||
projectDetailVO.setPostalCodeContacts(payContactsManagement.getPostalCode());
|
||||
projectDetailVO.setContactAddress(payContactsManagement.getContactAddress());
|
||||
}
|
||||
}else{
|
||||
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(payCommonProject.getChargeCompanyTemporaryId());
|
||||
if(Objects.isNull(payCompanyManagementTemporary)){
|
||||
throw new JeroBootException("企业不存在!");
|
||||
}
|
||||
String contactsTemporaryId = payCommonProject.getContactsTemporaryId();
|
||||
String contactsId = payCommonProject.getContactsId();
|
||||
String chargeCompanyTemporaryId = payCommonProject.getChargeCompanyTemporaryId();
|
||||
String chargeCompanyId = payCommonProject.getChargeCompanyId();
|
||||
|
||||
projectDetailVO.setCompanyName(payCompanyManagementTemporary.getCompanyName());
|
||||
projectDetailVO.setPostalCodeCompany(payCompanyManagementTemporary.getPostalCode());
|
||||
projectDetailVO.setCompanyAddress(payCompanyManagementTemporary.getCompanyAddress());
|
||||
projectDetailVO.setCompanyPhone(PasswordUtil.decrypt(payCompanyManagementTemporary.getCompanyPhone()));
|
||||
projectDetailVO.setDutyCode(payCompanyManagementTemporary.getDutyCode());
|
||||
projectDetailVO.setBankAccountName(payCompanyManagementTemporary.getBankAccountName());
|
||||
projectDetailVO.setOpeningBank(payCompanyManagementTemporary.getOpeningBank());
|
||||
// 如果企业临时id和企业id相同,就查询企业表否则查询企业临时表
|
||||
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getByAllTable(chargeCompanyId,chargeCompanyTemporaryId);
|
||||
projectDetailVO.setCompanyName(payCompanyManagementTemporary.getCompanyName());
|
||||
projectDetailVO.setCompanyPhone(PasswordUtil.decrypt(payCompanyManagementTemporary.getCompanyPhone()));
|
||||
projectDetailVO.setPostalCodeCompany(payCompanyManagementTemporary.getPostalCode());
|
||||
projectDetailVO.setCompanyAddress(payCompanyManagementTemporary.getCompanyAddress());
|
||||
projectDetailVO.setDutyCode(payCompanyManagementTemporary.getDutyCode());
|
||||
projectDetailVO.setBankAccountName(payCompanyManagementTemporary.getBankAccountName());
|
||||
projectDetailVO.setBankAccount(payCompanyManagementTemporary.getBankAccount());
|
||||
projectDetailVO.setOpeningBank(payCompanyManagementTemporary.getOpeningBank());
|
||||
projectDetailVO.setLinkBankNumber(payCompanyManagementTemporary.getLinkBankNumber());
|
||||
|
||||
// 工作组 添加企业联系人
|
||||
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE2)){
|
||||
PayWorkingGroupSubItem payWorkingGroupSubItem = payWorkingGroupSubItemService.getById(projectId);
|
||||
if(Objects.isNull(payWorkingGroupSubItem)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
//功能安全中心添加企业联系人
|
||||
if (Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE9)){
|
||||
List<SafetyCenterSubitemContacts> subitemContacts = safetyCenterSubitemContactsService.listBySubitemId(projectId);
|
||||
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = new ArrayList<>();
|
||||
for (SafetyCenterSubitemContacts subitemContact : subitemContacts) {
|
||||
PayContactsManagement contactsManagement = payContactsManagementService.getById(subitemContact.getContactsId());
|
||||
PayWorkingGroupSubItemContacts p = new PayWorkingGroupSubItemContacts();
|
||||
p.setContactsTemporaryName(contactsManagement.getName());
|
||||
p.setGender(contactsManagement.getGender());
|
||||
if(!Objects.isNull(contactsManagement.getGender())){
|
||||
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(contactsManagement.getGender())));
|
||||
}
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>();
|
||||
queryPayWorkingGroupSubItemContacts.in(PayWorkingGroupSubItemContacts::getWorkingGroupSubId,projectId);
|
||||
queryPayWorkingGroupSubItemContacts.orderByAsc(PayWorkingGroupSubItemContacts::getOrderNum);
|
||||
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsService.list(queryPayWorkingGroupSubItemContacts);
|
||||
p.setPost(contactsManagement.getPost());
|
||||
if(!StringUtils.isBlank(contactsManagement.getPhone())){
|
||||
p.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(contactsManagement.getEmail())){
|
||||
p.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail()));
|
||||
}
|
||||
p.setPostalCodeContacts(contactsManagement.getPostalCode());
|
||||
p.setContactAddress(contactsManagement.getContactAddress());
|
||||
listPayWorkingGroupSubItemContacts.add(p);
|
||||
}
|
||||
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
|
||||
}
|
||||
// 工作组 添加企业联系人
|
||||
else if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE2)){
|
||||
PayWorkingGroupSubItem payWorkingGroupSubItem = payWorkingGroupSubItemService.getById(projectId);
|
||||
if(Objects.isNull(payWorkingGroupSubItem)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>();
|
||||
queryPayWorkingGroupSubItemContacts.in(PayWorkingGroupSubItemContacts::getWorkingGroupSubId,projectId);
|
||||
queryPayWorkingGroupSubItemContacts.orderByAsc(PayWorkingGroupSubItemContacts::getOrderNum);
|
||||
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsService.list(queryPayWorkingGroupSubItemContacts);
|
||||
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){
|
||||
//List<String> listIds = listPayWorkingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
|
||||
//List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
|
||||
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){
|
||||
List<String> listIds = listPayWorkingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
|
||||
List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
|
||||
if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){
|
||||
listPayWorkingGroupSubItemContacts.forEach(p->{
|
||||
List<PayContactsManagementTemporary> listNew = payContactsManagementTemporaryList.stream().filter(o->Objects.equals(o.getId(),p.getContactsTemporaryId())).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(listNew)){
|
||||
return;
|
||||
}
|
||||
PayContactsManagementTemporary payContactsManagementTemporary = listNew.get(0);
|
||||
p.setGender(payContactsManagementTemporary.getGender());
|
||||
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
|
||||
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
|
||||
}
|
||||
p.setPost(payContactsManagementTemporary.getPost());
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
|
||||
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
|
||||
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
|
||||
}
|
||||
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
|
||||
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
|
||||
});
|
||||
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
|
||||
}
|
||||
listPayWorkingGroupSubItemContacts.forEach(p->{
|
||||
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getByAllTable(p.getContactsId(),p.getContactsTemporaryId());
|
||||
if(Objects.isNull(payContactsManagementTemporary)){
|
||||
throw new JeroBootException("联系人不存在!");
|
||||
}
|
||||
p.setGender(payContactsManagementTemporary.getGender());
|
||||
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
|
||||
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
|
||||
}
|
||||
p.setPost(payContactsManagementTemporary.getPost());
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
|
||||
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
|
||||
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
|
||||
}
|
||||
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
|
||||
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
|
||||
});
|
||||
projectDetailVO.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
|
||||
}
|
||||
}else if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE7)) {
|
||||
PayDraftingGroupSubItem payDraftingGroupSubItem = payDraftingGroupSubItemService.getById(projectId);
|
||||
if(Objects.isNull(payDraftingGroupSubItem)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
LambdaQueryWrapper<PayDraftingGroupSubItemContacts> queryPayDraftingGroupSubItemContacts = new LambdaQueryWrapper<>();
|
||||
queryPayDraftingGroupSubItemContacts.in(PayDraftingGroupSubItemContacts::getDraftingGroupSubId,projectId);
|
||||
queryPayDraftingGroupSubItemContacts.orderByAsc(PayDraftingGroupSubItemContacts::getOrderNum);
|
||||
List<PayDraftingGroupSubItemContacts> listPayDraftingGroupSubItemContacts = payDraftingGroupSubItemContactsService.list(queryPayDraftingGroupSubItemContacts);
|
||||
if(!CollectionUtils.isEmpty(listPayDraftingGroupSubItemContacts)){
|
||||
List<String> listIds = listPayDraftingGroupSubItemContacts.stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
|
||||
List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
|
||||
if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){
|
||||
listPayDraftingGroupSubItemContacts.forEach(p->{
|
||||
List<PayContactsManagementTemporary> listNew = payContactsManagementTemporaryList.stream().filter(o->Objects.equals(o.getId(),p.getContactsTemporaryId())).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(listNew)){
|
||||
return;
|
||||
}
|
||||
PayContactsManagementTemporary payContactsManagementTemporary = listNew.get(0);
|
||||
p.setGender(payContactsManagementTemporary.getGender());
|
||||
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
|
||||
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
|
||||
}
|
||||
p.setPost(payContactsManagementTemporary.getPost());
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
|
||||
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
|
||||
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
|
||||
}
|
||||
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
|
||||
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
|
||||
});
|
||||
List<PayWorkingGroupSubItemContacts> payWorkingGroupSubItemContactsList = JSON.parseArray(JSONArray.toJSONString(listPayDraftingGroupSubItemContacts), PayWorkingGroupSubItemContacts.class);
|
||||
projectDetailVO.setPayWorkingGroupSubItemContactsList(payWorkingGroupSubItemContactsList);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(payCommonProject.getContactsTemporaryId());
|
||||
if(Objects.isNull(payContactsManagementTemporary)){
|
||||
throw new JeroBootException("联系人不存在!");
|
||||
}
|
||||
projectDetailVO.setName(payContactsManagementTemporary.getName());
|
||||
projectDetailVO.setGender(payContactsManagementTemporary.getGender());
|
||||
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
|
||||
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
|
||||
}
|
||||
projectDetailVO.setPost(payContactsManagementTemporary.getPost());
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
|
||||
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
|
||||
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
|
||||
}
|
||||
projectDetailVO.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
|
||||
projectDetailVO.setContactAddress(payContactsManagementTemporary.getContactAddress());
|
||||
}
|
||||
}
|
||||
// 起草组项目
|
||||
else if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE7)) {
|
||||
PayDraftingGroupSubItem payDraftingGroupSubItem = payDraftingGroupSubItemService.getById(projectId);
|
||||
if(Objects.isNull(payDraftingGroupSubItem)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
LambdaQueryWrapper<PayDraftingGroupSubItemContacts> queryPayDraftingGroupSubItemContacts = new LambdaQueryWrapper<>();
|
||||
queryPayDraftingGroupSubItemContacts.in(PayDraftingGroupSubItemContacts::getDraftingGroupSubId,projectId);
|
||||
queryPayDraftingGroupSubItemContacts.orderByAsc(PayDraftingGroupSubItemContacts::getOrderNum);
|
||||
List<PayDraftingGroupSubItemContacts> listPayDraftingGroupSubItemContacts = payDraftingGroupSubItemContactsService.list(queryPayDraftingGroupSubItemContacts);
|
||||
if(!CollectionUtils.isEmpty(listPayDraftingGroupSubItemContacts)){
|
||||
List<String> listIds = listPayDraftingGroupSubItemContacts.stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
|
||||
List<PayContactsManagementTemporary> payContactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(listIds);
|
||||
if(!CollectionUtils.isEmpty(payContactsManagementTemporaryList)){
|
||||
listPayDraftingGroupSubItemContacts.forEach(p->{
|
||||
List<PayContactsManagementTemporary> listNew = payContactsManagementTemporaryList.stream().filter(o->Objects.equals(o.getId(),p.getContactsTemporaryId())).collect(Collectors.toList());
|
||||
if(CollectionUtils.isEmpty(listNew)){
|
||||
return;
|
||||
}
|
||||
PayContactsManagementTemporary payContactsManagementTemporary = listNew.get(0);
|
||||
p.setGender(payContactsManagementTemporary.getGender());
|
||||
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
|
||||
p.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
|
||||
}
|
||||
p.setPost(payContactsManagementTemporary.getPost());
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
|
||||
p.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
|
||||
p.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
|
||||
}
|
||||
p.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
|
||||
p.setContactAddress(payContactsManagementTemporary.getContactAddress());
|
||||
});
|
||||
List<PayWorkingGroupSubItemContacts> payWorkingGroupSubItemContactsList = JSON.parseArray(JSONArray.toJSONString(listPayDraftingGroupSubItemContacts), PayWorkingGroupSubItemContacts.class);
|
||||
projectDetailVO.setPayWorkingGroupSubItemContactsList(payWorkingGroupSubItemContactsList);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getByAllTable(contactsId,contactsTemporaryId);
|
||||
if(Objects.isNull(payContactsManagementTemporary)){
|
||||
throw new JeroBootException("联系人不存在!");
|
||||
}
|
||||
projectDetailVO.setName(payContactsManagementTemporary.getName());
|
||||
projectDetailVO.setGender(payContactsManagementTemporary.getGender());
|
||||
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
|
||||
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
|
||||
}
|
||||
projectDetailVO.setPost(payContactsManagementTemporary.getPost());
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
|
||||
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
|
||||
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
|
||||
}
|
||||
projectDetailVO.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
|
||||
projectDetailVO.setContactAddress(payContactsManagementTemporary.getContactAddress());
|
||||
}
|
||||
|
||||
|
||||
//会员权益
|
||||
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE5)){
|
||||
TbMemberProjectSubitem takeEffectInfo = tbMemberProjectSubitemService.getTakeEffectInfo(payCommonProject.getChargeCompanyTemporaryId());
|
||||
TbMemberProjectSubitem takeEffectInfo = tbMemberProjectSubitemService.getTakeEffectInfo(chargeCompanyId);
|
||||
if (takeEffectInfo != null){
|
||||
projectDetailVO.setMemberNo(takeEffectInfo.getMemberNo());
|
||||
projectDetailVO.setEffectiveDate(takeEffectInfo.getEffectiveDate());
|
||||
|
||||
+1
@@ -1111,6 +1111,7 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
|
||||
/**
|
||||
* 判断当前企业是否是打包企业
|
||||
*/
|
||||
@Deprecated
|
||||
@ApiOperation(value="判断当前企业是否是打包企业")
|
||||
@GetMapping(value = "/judgeCompanyIsPackaged")
|
||||
public Result<Boolean> judgeCompanyIsPackaged(@RequestParam(name="companyId") String companyId){
|
||||
|
||||
+4
@@ -33,4 +33,8 @@ public interface PayCompanyManagementMapper extends BaseMapper<PayCompanyManagem
|
||||
Integer checkMemberCompanyName(@Param("memberId") String memberId, @Param("companyName") String companyName);
|
||||
|
||||
IPage<PayCompanyManagement> pageSafetyCenter(Page<PayCompanyManagement> page, @Param(Constants.WRAPPER) QueryWrapper<PayCompanyManagement> queryWrapper);
|
||||
|
||||
Page<PayCompanyManagement> pageHaveMoney(Page<PayCompanyManagement> page, @Param("chargeCompanyIds") List<String> chargeCompanyIds);
|
||||
|
||||
List<PayCompanyManagement> pageHaveMoney(@Param("chargeCompanyIds") List<String> chargeCompanyIds);
|
||||
}
|
||||
|
||||
+10
@@ -46,4 +46,14 @@
|
||||
left join pay_functional_safety_center_subitem pfscs on pcm.id = pfscs.company_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="pageHaveMoney" resultType="com.jero.company.entity.PayCompanyManagement">
|
||||
select * from pay_company_management
|
||||
<where>
|
||||
<foreach item="item" index="index" collection="chargeCompanyIds" open="id in (" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</where>
|
||||
order by create_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
+3
@@ -127,4 +127,7 @@ public interface IPayCompanyManagementService extends IService<PayCompanyManagem
|
||||
|
||||
IPage<PayCompanyManagement> pageSafetyCenter(Page<PayCompanyManagement> page, QueryWrapper<PayCompanyManagement> queryWrapper);
|
||||
|
||||
Page<PayCompanyManagement> pageHaveMoney(Page<PayCompanyManagement> page, List<String> chargeCompanyIds);
|
||||
|
||||
List<PayCompanyManagement> pageHaveMoney(List<String> chargeCompanyIds);
|
||||
}
|
||||
|
||||
+90
-97
@@ -32,14 +32,22 @@ import com.jero.company.vo.CompanyOrContactsCount;
|
||||
import com.jero.company.vo.UpdateInvoicePram;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||
import com.jero.member.service.IPayMemberProjectSubitemService;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.pack.entity.PayPackCompany;
|
||||
import com.jero.pack.mapper.PayPackCompanyMapper;
|
||||
import com.jero.pack.service.IPayPackCompanyService;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import com.jero.project.service.IPayCommonProjectService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
@@ -93,7 +101,21 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
|
||||
private SendMessageService sendMessageService;
|
||||
@Resource
|
||||
private Environment env;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Resource
|
||||
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
@Resource
|
||||
private IPayMeetingSituationService meetingSituationService;
|
||||
@Resource
|
||||
private PayMeetingSituationMapper meetingSituationMapper;
|
||||
@Resource
|
||||
private PayPackCompanyMapper packCompanyMapper;
|
||||
|
||||
@Resource
|
||||
private IPayPackCompanyService packCompanyService;
|
||||
@Override
|
||||
public void addMeeting(PayCompanyManagement payCompanyManagement) {
|
||||
if(StringUtils.isEmpty(payCompanyManagement.getCompanyPhone())){
|
||||
@@ -409,23 +431,6 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
|
||||
throw new JeroBootException("公司电话加密异常!");
|
||||
}
|
||||
}
|
||||
// 会员企业编辑同步会员系统
|
||||
//if(Objects.equals(payCompanyManagementOld.getRoleCode(),PayCompanyManagementCommon.ROLE_CODE2)){
|
||||
// if(!Objects.equals(payCompanyManagementOld.getCompanyName(),payCompanyManagement.getCompanyName())){
|
||||
// throw new JeroBootException("会员企业名称不可修改!");
|
||||
// }
|
||||
// // 调用会员项目接口
|
||||
// MemberInfo memberInfo = new MemberInfo();
|
||||
// memberInfo.setCompanyName(payCompanyManagement.getCompanyName());
|
||||
// memberInfo.setId(payCompanyManagementOld.getMemberId());
|
||||
// memberInfo.setTaxNo(payCompanyManagement.getDutyCode());
|
||||
// memberInfo.setDepositBank(payCompanyManagement.getOpeningBank());
|
||||
// memberInfo.setBankAccount(payCompanyManagement.getBankAccount());
|
||||
// memberInfo.setInvoiceAddress(payCompanyManagement.getCompanyAddress());
|
||||
// memberInfo.setInvoicePhone(payCompanyManagement.getCompanyPhone());
|
||||
// memberInfo.setLinkBankNumber(payCompanyManagement.getLinkBankNumber());
|
||||
// AuthenticationUtils.post("/memberInfo/memberInfo/incomingEdit","",memberInfo);
|
||||
//}
|
||||
// 财务人员,直接批量变更状态
|
||||
if(sysUser.getRoleCode().contains(RoleCommon.CWRY)){
|
||||
payCompanyManagementOld.setCompanyName(payCompanyManagement.getCompanyName());
|
||||
@@ -715,6 +720,16 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
|
||||
return payCompanyManagementMapper.pageSafetyCenter(page, queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<PayCompanyManagement> pageHaveMoney(Page<PayCompanyManagement> page, List<String> chargeCompanyIds) {
|
||||
return payCompanyManagementMapper.pageHaveMoney(page, chargeCompanyIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PayCompanyManagement> pageHaveMoney(List<String> chargeCompanyIds) {
|
||||
return payCompanyManagementMapper.pageHaveMoney(chargeCompanyIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验企业名称和信用代码是否匹配
|
||||
* @param payCompanyManagement
|
||||
@@ -749,113 +764,99 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
|
||||
* @Exception
|
||||
*/
|
||||
private void updateBatchData(PayCompanyManagement payCompanyManagement){
|
||||
|
||||
String companyManagementId = payCompanyManagement.getId();
|
||||
//更新人员
|
||||
LambdaUpdateWrapper<PayContactsManagement> updatePayContactsManagement = new LambdaUpdateWrapper<>();
|
||||
updatePayContactsManagement.eq(PayContactsManagement::getCompanyId,payCompanyManagement.getId());
|
||||
updatePayContactsManagement.eq(PayContactsManagement::getCompanyId, companyManagementId);
|
||||
updatePayContactsManagement.set(PayContactsManagement::getCompanyName,payCompanyManagement.getCompanyName());
|
||||
payContactsManagementService.update(updatePayContactsManagement);
|
||||
int thisYear = DateUtil.thisYear();
|
||||
List<String> allYear = annualDataLockingService.getAllYear();
|
||||
//需要更新的临时企业id
|
||||
List<String> companyTemporaryIdList = new ArrayList<>();
|
||||
// 更新普通项目
|
||||
LambdaQueryWrapper<PayCommonProject> quaryPayCommonProject = new LambdaQueryWrapper<>();
|
||||
quaryPayCommonProject.eq(PayCommonProject::getChargeCompanyId,payCompanyManagement.getId());
|
||||
quaryPayCommonProject.eq(PayCommonProject::getChargeCompanyId, companyManagementId);
|
||||
|
||||
quaryPayCommonProject.notIn(PayCommonProject::getYear,allYear);
|
||||
|
||||
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<PayCommonProject> list = payCommonProjectService.list(quaryPayCommonProject);
|
||||
List<String> collect = list.stream().map(PayCommonProject::getChargeCompanyTemporaryId).collect(Collectors.toList());
|
||||
List<String> idList = list.stream().map(PayCommonProject::getId).collect(Collectors.toList());
|
||||
companyTemporaryIdList.addAll(collect);
|
||||
if (!collect.isEmpty()){
|
||||
if (!idList.isEmpty()){
|
||||
LambdaUpdateWrapper<PayCommonProject> updatePayCommonProject = new LambdaUpdateWrapper<>();
|
||||
updatePayCommonProject.in(PayCommonProject::getChargeCompanyTemporaryId,collect);
|
||||
updatePayCommonProject.in(PayCommonProject::getId,idList);
|
||||
updatePayCommonProject.set(PayCommonProject::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName());
|
||||
payCommonProjectService.update(updatePayCommonProject);
|
||||
}
|
||||
|
||||
// 更新工作组
|
||||
QueryWrapper<PayWorkingGroupSubItem> 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);
|
||||
});
|
||||
queryPayWorkingGroupSubItem.notIn("pwg.year",allYear);
|
||||
queryPayWorkingGroupSubItem.lambda().eq(PayWorkingGroupSubItem::getChargeCompanyId, companyManagementId);
|
||||
|
||||
List<PayWorkingGroupSubItem> workingGroupSubItemList = payWorkingGroupSubItemService.queryList(queryPayWorkingGroupSubItem);
|
||||
List<String> collect1 = workingGroupSubItemList.stream().map(PayWorkingGroupSubItem::getChargeCompanyTemporaryId).collect(Collectors.toList());
|
||||
List<String> idList1 = workingGroupSubItemList.stream().map(PayWorkingGroupSubItem::getId).collect(Collectors.toList());
|
||||
companyTemporaryIdList.addAll(collect1);
|
||||
if (!collect1.isEmpty()){
|
||||
if (!idList1.isEmpty()){
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
|
||||
updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getChargeCompanyId,collect1);
|
||||
updatePayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getId,idList1);
|
||||
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeCompanyTemporaryName,payCompanyManagement.getCompanyName());
|
||||
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
|
||||
}
|
||||
|
||||
//会议项目
|
||||
List<PayMeetingSituation> meetingSituations = meetingSituationMapper.listByYearNotIn(allYear,companyManagementId);
|
||||
List<String> collect4 = meetingSituations.stream().map(PayMeetingSituation::getCompanyTemporaryId).collect(Collectors.toList());
|
||||
List<String> idList4 = meetingSituations.stream().map(PayMeetingSituation::getId).collect(Collectors.toList());
|
||||
companyTemporaryIdList.addAll(collect4);
|
||||
if (!idList4.isEmpty()){
|
||||
LambdaUpdateWrapper<PayMeetingSituation> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.in(PayMeetingSituation::getId,idList4);
|
||||
updateWrapper.set(PayMeetingSituation::getCompanyName,payCompanyManagement.getCompanyName());
|
||||
meetingSituationService.update(updateWrapper);
|
||||
}
|
||||
// 更新会员
|
||||
QueryWrapper<PayMemberProjectSubitem> 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);
|
||||
});
|
||||
queryPayMemberProjectSubitem.notIn("pmp.particular_year",allYear) ;
|
||||
queryPayMemberProjectSubitem.lambda().eq(PayMemberProjectSubitem::getCompanyId, companyManagementId);
|
||||
|
||||
List<PayMemberProjectSubitem> payMemberProjectSubitems = memberProjectSubitemService.queryPageListCompany(queryPayMemberProjectSubitem);
|
||||
List<String> collect2 = payMemberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyTemporaryId).collect(Collectors.toList());
|
||||
List<String> idList2 = payMemberProjectSubitems.stream().map(PayMemberProjectSubitem::getId).collect(Collectors.toList());
|
||||
companyTemporaryIdList.addAll(collect2);
|
||||
if (!collect2.isEmpty()){
|
||||
if (!idList2.isEmpty()){
|
||||
LambdaUpdateWrapper<PayMemberProjectSubitem> updatePayMemberProjectSubitem = new LambdaUpdateWrapper<>();
|
||||
updatePayMemberProjectSubitem.in(PayMemberProjectSubitem::getCompanyId,payCompanyManagement.getId());
|
||||
updatePayMemberProjectSubitem.in(PayMemberProjectSubitem::getId,idList2);
|
||||
updatePayMemberProjectSubitem.set(PayMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName());
|
||||
memberProjectSubitemService.update(updatePayMemberProjectSubitem);
|
||||
}
|
||||
// 更新标协会员
|
||||
QueryWrapper<TbMemberProjectSubitem> queryTbMemberProjectSubitem = new QueryWrapper<>();
|
||||
queryTbMemberProjectSubitem.notIn("tmp.year",allYear);
|
||||
queryTbMemberProjectSubitem.lambda().eq(TbMemberProjectSubitem::getCompanyId, companyManagementId);
|
||||
|
||||
|
||||
List<TbMemberProjectSubitem> tbMemberProjectSubitems = tbMemberProjectSubitemMapper.queryListCompanyYear(queryTbMemberProjectSubitem);
|
||||
List<String> collect3 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getCompanyTemporaryId).collect(Collectors.toList());
|
||||
List<String> idList3 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getId).collect(Collectors.toList());
|
||||
companyTemporaryIdList.addAll(collect3);
|
||||
if (!idList3.isEmpty()){
|
||||
LambdaUpdateWrapper<TbMemberProjectSubitem> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.in(TbMemberProjectSubitem::getId,idList3);
|
||||
updateWrapper.set(TbMemberProjectSubitem::getCompanyName,payCompanyManagement.getCompanyName());
|
||||
tbMemberProjectSubitemService.update(updateWrapper);
|
||||
}
|
||||
//打包项目
|
||||
List<PayPackCompany> packCompanyList = packCompanyMapper.listByYearNotIn(allYear,companyManagementId);
|
||||
List<String> collect5 = packCompanyList.stream().map(PayPackCompany::getCompanyTemporaryId).collect(Collectors.toList());
|
||||
List<String> idList6 = packCompanyList.stream().map(PayPackCompany::getId).collect(Collectors.toList());
|
||||
companyTemporaryIdList.addAll(collect5);
|
||||
if (!idList6.isEmpty()){
|
||||
LambdaUpdateWrapper<PayPackCompany> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.in(PayPackCompany::getId,idList6);
|
||||
updateWrapper.set(PayPackCompany::getCompanyTemporaryName,payCompanyManagement.getCompanyName());
|
||||
packCompanyService.update(updateWrapper);
|
||||
}
|
||||
// 更新临时数据
|
||||
if (!companyTemporaryIdList.isEmpty()) {
|
||||
LambdaUpdateWrapper<PayCompanyManagementTemporary> updatePayCompanyManagementTemporary = new LambdaUpdateWrapper<>();
|
||||
@@ -878,19 +879,11 @@ public class PayCompanyManagementServiceImpl extends ServiceImpl<PayCompanyManag
|
||||
|
||||
// 更新合同
|
||||
LambdaUpdateWrapper<PayIncomeContract> updatePayIncomeContract = new LambdaUpdateWrapper<>();
|
||||
updatePayIncomeContract.eq(PayIncomeContract::getSignedCompanyId,payCompanyManagement.getId());
|
||||
updatePayIncomeContract.eq(PayIncomeContract::getSignedCompanyId, companyManagementId);
|
||||
//updatePayIncomeContract.ge(PayIncomeContract::getCreateTime,payCompanyManagement.getEditTime());
|
||||
updatePayIncomeContract.exists(" select 1 from pay_company_management_temporary where " +
|
||||
"pay_income_contract.signed_company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'");
|
||||
updatePayIncomeContract.set(PayIncomeContract::getSignedCompanyTemporaryName,payCompanyManagement.getCompanyName());
|
||||
payIncomeContractService.update(updatePayIncomeContract);
|
||||
// 更新打包
|
||||
LambdaUpdateWrapper<PayPackCompany> updatePayPackCompany = new LambdaUpdateWrapper<>();
|
||||
updatePayPackCompany.eq(PayPackCompany::getCompanyId,payCompanyManagement.getId());
|
||||
//updatePayPackCompany.ge(PayPackCompany::getCreateTime,payCompanyManagement.getEditTime());
|
||||
updatePayPackCompany.exists(" select 1 from pay_company_management_temporary where " +
|
||||
"pay_pack_company.company_temporary_id = id and create_time >= '" + DateTime.of(payCompanyManagement.getEditTime()) + "'");
|
||||
updatePayPackCompany.set(PayPackCompany::getCompanyTemporaryName,payCompanyManagement.getCompanyName());
|
||||
payPackCompanyService.update(updatePayPackCompany);
|
||||
}
|
||||
}
|
||||
|
||||
+5
-6
@@ -50,7 +50,6 @@ import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.mapper.PayWorkingGroupSubItemContactsMapper;
|
||||
import com.jero.project.service.IPayCommonProjectService;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
@@ -321,7 +320,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
//如果未邮寄,更新邮寄联系人信息
|
||||
if (postStatus.equals(PayIncomeContractCommon.POST_STATUS0)){
|
||||
// 联系人
|
||||
PayContactsManagementTemporary payContactsManagement = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId());
|
||||
PayContactsManagementTemporary payContactsManagement = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId(), null);
|
||||
if(!Objects.isNull(payContactsManagement)){
|
||||
payMailContract.setMobile(payContactsManagement.getPhone());
|
||||
payMailContract.setEmail(payContactsManagement.getEmail());
|
||||
@@ -929,7 +928,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
*/
|
||||
private void setPayIncomeContractAdd(PayIncomeContract payIncomeContract){
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payIncomeContract.getSignedCompanyId());
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payIncomeContract.getSignedCompanyId(), null);
|
||||
if(Objects.isNull(chargeCompanyName)){
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
@@ -937,7 +936,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
payIncomeContract.setSignedCompanyTemporaryName(chargeCompanyName.getCompanyName());
|
||||
|
||||
// 联系人
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId());
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId(), null);
|
||||
if(Objects.isNull(contactsName)){
|
||||
throw new JeroBootException("联系人名称为空!");
|
||||
}
|
||||
@@ -977,13 +976,13 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
|
||||
if(!Objects.equals(payIncomeContractStatus.getSignedContactsTemporaryId(),payIncomeContract.getSignedContactsId())){
|
||||
// 联系人
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId());
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payIncomeContract.getSignedContactsId(), null);
|
||||
if(Objects.isNull(contactsName)){
|
||||
throw new JeroBootException("联系人名称为空!");
|
||||
}
|
||||
payIncomeContract.setSignedContactsTemporaryId(contactsName.getId());
|
||||
payIncomeContract.setSignedContactsTemporaryName(contactsName.getName());
|
||||
payContactsManagementTemporaryService.removeById(payIncomeContractStatus.getSignedContactsTemporaryId());
|
||||
// payContactsManagementTemporaryService.removeById(payIncomeContractStatus.getSignedContactsTemporaryId());
|
||||
}else{
|
||||
payIncomeContract.setSignedContactsId(payIncomeContractStatus.getSignedContactsId());
|
||||
}
|
||||
|
||||
+15
-4
@@ -23,9 +23,8 @@ import com.jero.data.entity.*;
|
||||
import com.jero.data.service.IPayCaseCouncilService;
|
||||
import com.jero.data.service.IPayCaseCouncilSubitemService;
|
||||
import com.jero.mail.commont.constant;
|
||||
import com.jero.meeting.entity.PayMeetingRemindRecord;
|
||||
import com.jero.meeting.service.IPayMeetingRemindRecordService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.member.service.ITbMemberProjectService;
|
||||
import com.jero.util.AmountUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -38,7 +37,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.util.ArrayList;
|
||||
@@ -67,6 +65,8 @@ public class PayCaseCouncilSubitemController extends JeroController<PayCaseCounc
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
@Resource
|
||||
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
|
||||
@Resource
|
||||
private ITbMemberProjectService tbMemberProjectService;
|
||||
|
||||
/**
|
||||
* 理事会成员表
|
||||
@@ -320,5 +320,16 @@ public class PayCaseCouncilSubitemController extends JeroController<PayCaseCounc
|
||||
return AmountUtil.exportListXls(list, ChooseExcelCouncil.class,"理事会表导出");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导入到标协会员
|
||||
*/
|
||||
@Transactional
|
||||
@RequiresPermissions("council:exportToMember")
|
||||
@AutoLog(value = "理事会成员表-导入到标协会员")
|
||||
@ApiOperation(value="理事会成员表-导入到标协会员", notes="理事会成员表-导入到标协会员")
|
||||
@PostMapping(value = "/import")
|
||||
public Result<?> importToMemberProjectSubitem(@RequestBody JSONObject jsonObject) {
|
||||
payCaseCouncilSubitemService.importToMemberProjectSubitem(jsonObject);
|
||||
return Result.OK("导入成功!");
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -1,11 +1,11 @@
|
||||
package com.jero.data.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.data.entity.*;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -27,4 +27,5 @@ public interface IPayCaseCouncilSubitemService extends IService<PayCaseCouncilSu
|
||||
|
||||
List<subCouncil> listTwo(QueryWrapper<subCouncil> queryWrapper, String meetingId);
|
||||
|
||||
void importToMemberProjectSubitem(JSONObject jsonObject);
|
||||
}
|
||||
|
||||
+132
-2
@@ -1,18 +1,38 @@
|
||||
package com.jero.data.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
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.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.common.ProjectCommon;
|
||||
import com.jero.common.enums.PaymentStatusEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.company.entity.PayCompanyManagement;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.data.entity.*;
|
||||
import com.jero.data.mapper.PayCaseCouncilSubitemMapper;
|
||||
import com.jero.data.service.IPayCaseCouncilSubitemService;
|
||||
import com.jero.member.entity.TbMemberProject;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.enums.MemberStatusEnum;
|
||||
import com.jero.member.service.ITbMemberProjectService;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Description: pay_case_council_subitem
|
||||
@@ -25,6 +45,17 @@ public class PayCaseCouncilSubitemServiceImpl extends ServiceImpl<PayCaseCouncil
|
||||
|
||||
@Resource
|
||||
private PayCaseCouncilSubitemMapper payCaseCouncilSubitemMapper;
|
||||
@Resource
|
||||
private IPayCaseCouncilSubitemService payCaseCouncilSubitemService;
|
||||
@Resource
|
||||
private ITbMemberProjectService tbMemberProjectService;
|
||||
@Resource
|
||||
private IPayCompanyManagementService companyManagementService;
|
||||
@Resource
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService memberProjectSubitemService;
|
||||
|
||||
@Override
|
||||
public IPage<councilList> listThree(Page<councilList> page, String contactsNames, String companyNames, String councilNames, String userId) {
|
||||
return payCaseCouncilSubitemMapper.listThree(page,contactsNames,companyNames,councilNames,userId);
|
||||
@@ -50,5 +81,104 @@ public class PayCaseCouncilSubitemServiceImpl extends ServiceImpl<PayCaseCouncil
|
||||
return payCaseCouncilSubitemMapper.listTwo(queryWrapper,meetingId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void importToMemberProjectSubitem(JSONObject jsonObject) {
|
||||
String councilId = jsonObject.getString("id");
|
||||
String projectId = jsonObject.getString("projectId");
|
||||
if (StringUtils.isBlank(councilId) || StringUtils.isBlank(projectId)) {
|
||||
throw new JeroBootException("参数错误");
|
||||
}
|
||||
// 根据理事会id查询属于它的所有企业
|
||||
LambdaUpdateWrapper<PayCaseCouncilSubitem> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaUpdateWrapper.eq(PayCaseCouncilSubitem::getCouncilId,councilId);
|
||||
List<PayCaseCouncilSubitem> councilSubitemList = payCaseCouncilSubitemService.list(lambdaUpdateWrapper);
|
||||
if (councilSubitemList.isEmpty()) {
|
||||
throw new JeroBootException("该理事会下无成员");
|
||||
}
|
||||
// 根据标协会员项目id查询对应的标协会员项目
|
||||
TbMemberProject tbMemberProject = tbMemberProjectService.getById(projectId);
|
||||
if (Objects.isNull(tbMemberProject)) {
|
||||
throw new JeroBootException("该标协会员项目不存在");
|
||||
}
|
||||
List<TbMemberProjectSubitem> tbMemberProjectSubitems = new ArrayList<>();
|
||||
BigDecimal councilChargeStandard = tbMemberProject.getChargeStandard();
|
||||
String councilChargeNoticeNo = tbMemberProject.getChargeNoticeNo();
|
||||
String chargeNoticeFileId = tbMemberProject.getChargeNoticeFileId();
|
||||
// 将所有企业成员添加到标协会成员表中
|
||||
for (PayCaseCouncilSubitem payCaseCouncilSubitem : councilSubitemList) {
|
||||
String companyId = payCaseCouncilSubitem.getCompanyId();
|
||||
PayCompanyManagement companyManagement = companyManagementService.getById(companyId);
|
||||
if (companyManagement == null){
|
||||
throw new JeroBootException(payCaseCouncilSubitem.getCompanyName() + "单位不存在");
|
||||
}
|
||||
String liaisonManId = payCaseCouncilSubitem.getContactsId();
|
||||
PayContactsManagement liaisonMan = payContactsManagementService.checkByCompanyIdAndId(liaisonManId, companyId);
|
||||
if (liaisonMan == null){
|
||||
throw new JeroBootException(payCaseCouncilSubitem.getContactsName() + "企业联系人不存在");
|
||||
}
|
||||
LambdaQueryWrapper<TbMemberProjectSubitem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(TbMemberProjectSubitem::getProjectId, projectId);
|
||||
wrapper.eq(TbMemberProjectSubitem::getCompanyId, companyId);
|
||||
int count = memberProjectSubitemService.count(wrapper);
|
||||
if (count > 0) {
|
||||
throw new JeroBootException(payCaseCouncilSubitem.getCompanyName() + "会员单位已经存在");
|
||||
}
|
||||
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
|
||||
tbMemberProjectSubitem.setProjectId(projectId);
|
||||
tbMemberProjectSubitem.setCompanyId(companyId);
|
||||
tbMemberProjectSubitem.setCompanyName(payCaseCouncilSubitem.getCompanyName());
|
||||
tbMemberProjectSubitem.setLiaisonManId(liaisonManId);
|
||||
tbMemberProjectSubitem.setPostContactId(liaisonManId);
|
||||
tbMemberProjectSubitem.setEstimatedArrivalDate(DateUtil.date());
|
||||
tbMemberProjectSubitem.setMemberNature(ProjectCommon.MEMBER_NATURE2);
|
||||
tbMemberProjectSubitem.setPaymentMethod(PayProjectCommon.CHARGE_WAY3);
|
||||
tbMemberProjectSubitem.setInvoiceRequirements(ProjectCommon.NEED_INVOICE2);
|
||||
if (!Objects.isNull(councilChargeStandard)) {
|
||||
tbMemberProjectSubitem.setAmountReceivable(councilChargeStandard);
|
||||
}else {
|
||||
tbMemberProjectSubitem.setAmountReceivable(BigDecimal.ZERO);
|
||||
}
|
||||
if (StringUtils.isNotBlank(councilChargeNoticeNo)) {
|
||||
tbMemberProjectSubitem.setChargeNoticeNo(councilChargeNoticeNo);
|
||||
}
|
||||
if (StringUtils.isNotBlank(chargeNoticeFileId)) {
|
||||
tbMemberProjectSubitem.setChargeNoticeId(chargeNoticeFileId);
|
||||
}
|
||||
tbMemberProjectSubitem.setTaxRate(StaticConfig.TAX_RATE);
|
||||
BigDecimal noTaxAmount = tbMemberProjectSubitem.getAmountReceivable().divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
|
||||
BigDecimal tax = tbMemberProjectSubitem.getAmountReceivable().subtract(noTaxAmount);
|
||||
tbMemberProjectSubitem.setNoTaxAmount(noTaxAmount);
|
||||
tbMemberProjectSubitem.setTax(tax);
|
||||
setDefaultCreateValue(tbMemberProjectSubitem);
|
||||
//赋值会员编号
|
||||
TbMemberProjectSubitem takeEffectInfo = memberProjectSubitemService.getTakeEffectInfo(companyId);
|
||||
if (takeEffectInfo!=null){
|
||||
tbMemberProjectSubitem.setMemberNo(takeEffectInfo.getMemberNo());
|
||||
}
|
||||
tbMemberProjectSubitems.add(tbMemberProjectSubitem);
|
||||
}
|
||||
memberProjectSubitemService.saveBatch(tbMemberProjectSubitems);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建时默认值
|
||||
*/
|
||||
private void setDefaultCreateValue(TbMemberProjectSubitem tbMemberProjectSubitem) {
|
||||
//实收金额
|
||||
tbMemberProjectSubitem.setPaidAmount(BigDecimal.ZERO);
|
||||
//到账
|
||||
tbMemberProjectSubitem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||
//开票
|
||||
tbMemberProjectSubitem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||
//邮寄
|
||||
tbMemberProjectSubitem.setMail(PayProjectCommon.MAIL0);
|
||||
//打包
|
||||
tbMemberProjectSubitem.setPack(PayProjectCommon.PACKAGING0);
|
||||
//提票
|
||||
tbMemberProjectSubitem.setTicketCollection(PayProjectCommon.NO);
|
||||
//会员状态
|
||||
tbMemberProjectSubitem.setMemberStatus(MemberStatusEnum.UNPAID_FEES.getValue());
|
||||
//缴费状态
|
||||
tbMemberProjectSubitem.setPaymentStatus(PaymentStatusEnum.TO_BE_UPLOADED.getCode());
|
||||
}
|
||||
}
|
||||
|
||||
+1
-2
@@ -35,8 +35,7 @@
|
||||
pdgs.create_time AS createTime,
|
||||
pdgs.update_by AS updateBy
|
||||
FROM pay_drafting_group_subitem pdgs
|
||||
left join pay_company_management_temporary pcmt on pdgs.charge_company_temporary_id = pcmt.id
|
||||
left join pay_company_management pcm on pcmt.company_id = pcm.id
|
||||
left join pay_company_management pcm on pdgs.charge_company_id = pcm.id
|
||||
<where>
|
||||
pdgs.drafting_group_id = #{payDraftingGroupSubItem.draftingGroupId} AND (pdgs.check_result = 1 OR pdgs.check_result = 2)
|
||||
<if test="payDraftingGroupSubItem.chargeCompanyTemporaryName != null and payDraftingGroupSubItem.chargeCompanyTemporaryName != ''">
|
||||
|
||||
+2
-3
@@ -15,7 +15,6 @@ import com.jero.common.service.RolePermissionService;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.drafting.common.DraftingConstant;
|
||||
import com.jero.drafting.entity.PayDraftingGroup;
|
||||
import com.jero.drafting.entity.PayDraftingGroupResearchProject;
|
||||
import com.jero.drafting.entity.PayDraftingGroupSubItem;
|
||||
@@ -331,7 +330,7 @@ public class PayDraftingGroupServiceImpl extends ServiceImpl<PayDraftingGroupMap
|
||||
// 添加企业临时数据
|
||||
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(p.getChargeCompanyTemporaryId());
|
||||
if(Objects.isNull(payCompanyManagementTemporary)){
|
||||
payCompanyManagementTemporary = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(p.getChargeCompanyId());
|
||||
payCompanyManagementTemporary = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(p.getChargeCompanyId(), null);
|
||||
}else{
|
||||
payCompanyManagementTemporary.setCompanyId(payCompanyManagementTemporary.getCompanyId());
|
||||
payCompanyManagementTemporary.setId(null);
|
||||
@@ -356,7 +355,7 @@ public class PayDraftingGroupServiceImpl extends ServiceImpl<PayDraftingGroupMap
|
||||
for (PayDraftingGroupSubItemContacts subItemContacts : itemContactsList) {
|
||||
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(subItemContacts.getContactsTemporaryId());
|
||||
if(Objects.isNull(payContactsManagementTemporary)){
|
||||
payContactsManagementTemporary = payContactsManagementTemporaryService.insertContactsManagementTemporary(subItemContacts.getContactsId());
|
||||
payContactsManagementTemporary = payContactsManagementTemporaryService.insertContactsManagementTemporary(subItemContacts.getContactsId(), null);
|
||||
}else{
|
||||
payContactsManagementTemporary.setId(null);
|
||||
payContactsManagementTemporary.setCompanyId(p.getChargeCompanyTemporaryId());
|
||||
|
||||
+8
-8
@@ -215,7 +215,7 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
|
||||
*/
|
||||
private void setPayDraftingGroupSubItemAdd(PayDraftingGroupSubItem payDraftingGroupSubItem) {
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payDraftingGroupSubItem.getChargeCompanyId());
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payDraftingGroupSubItem.getChargeCompanyId(), null);
|
||||
if (Objects.isNull(chargeCompanyName)) {
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
@@ -225,7 +225,7 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
|
||||
if (!CollectionUtils.isEmpty(payDraftingGroupSubItemContactsList)) {
|
||||
for (int i = 0; i < payDraftingGroupSubItemContactsList.size(); i++) {
|
||||
// 企业联系人
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payDraftingGroupSubItemContactsList.get(i).getContactsId());
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payDraftingGroupSubItemContactsList.get(i).getContactsId(), null);
|
||||
if (Objects.isNull(contactsName)) {
|
||||
throw new JeroBootException("企业联系人" + (i + 1) + "名称为空!");
|
||||
}
|
||||
@@ -275,10 +275,10 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
|
||||
throw new JeroBootException("起草组成员不可操作!");
|
||||
}
|
||||
// 删除企业联系人临时数据
|
||||
payCompanyManagementTemporaryService.removeById(payDraftingGroupSubItem.getChargeCompanyTemporaryId());
|
||||
//payCompanyManagementTemporaryService.removeById(payDraftingGroupSubItem.getChargeCompanyTemporaryId());
|
||||
List<PayDraftingGroupSubItemContacts> subItemContacts = payDraftingGroupSubItemContactsMapper.getSubItemContacts(id);
|
||||
List<String> temporaryIds = subItemContacts.stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
|
||||
payContactsManagementTemporaryService.removeByIds(temporaryIds);
|
||||
// paycontactsManagementTemporaryService.removeByIds(temporaryIds);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -439,13 +439,13 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
|
||||
private void setPayDraftingGroupSubItemEdit(PayDraftingGroupSubItem payDraftingGroupSubItem, PayDraftingGroupSubItem payDraftingGroupSubItemOld) {
|
||||
if (!Objects.equals(payDraftingGroupSubItemOld.getChargeCompanyTemporaryId(), payDraftingGroupSubItem.getChargeCompanyId())) {
|
||||
// 企业信息
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payDraftingGroupSubItem.getChargeCompanyId());
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payDraftingGroupSubItem.getChargeCompanyId(), null);
|
||||
if (Objects.isNull(chargeCompanyName)) {
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
payDraftingGroupSubItem.setChargeCompanyTemporaryId(chargeCompanyName.getId());
|
||||
payDraftingGroupSubItem.setChargeCompanyTemporaryName(chargeCompanyName.getCompanyName());
|
||||
payCompanyManagementTemporaryService.removeById(payDraftingGroupSubItemOld.getChargeCompanyTemporaryId());
|
||||
//payCompanyManagementTemporaryService.removeById(payDraftingGroupSubItemOld.getChargeCompanyTemporaryId());
|
||||
} else {
|
||||
payDraftingGroupSubItem.setChargeCompanyId(payDraftingGroupSubItemOld.getChargeCompanyId());
|
||||
}
|
||||
@@ -455,7 +455,7 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
|
||||
// 删除临时表历史记录
|
||||
if (!CollectionUtils.isEmpty(payDraftingGroupSubItemOld.getPayDraftingGroupSubItemContactsList())) {
|
||||
List<String> list = payDraftingGroupSubItemOld.getPayDraftingGroupSubItemContactsList().stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
|
||||
payContactsManagementTemporaryService.removeByIds(list);
|
||||
// paycontactsManagementTemporaryService.removeByIds(list);
|
||||
}
|
||||
// 删除联系人记录
|
||||
LambdaUpdateWrapper<PayDraftingGroupSubItemContacts> updatePayDraftingGroupSubItemContacts = new LambdaUpdateWrapper<>();
|
||||
@@ -464,7 +464,7 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl<PayDraftingG
|
||||
// 新增
|
||||
for (int i = 0; i < payDraftingGroupSubItemContactsList.size(); i++) {
|
||||
// 企业联系人
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payDraftingGroupSubItemContactsList.get(i).getContactsId());
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payDraftingGroupSubItemContactsList.get(i).getContactsId(), null);
|
||||
if (Objects.isNull(contactsName)) {
|
||||
throw new JeroBootException("企业联系人" + (i + 1) + "名称为空!");
|
||||
}
|
||||
|
||||
@@ -226,9 +226,9 @@ public class IndexService {
|
||||
divide = BigDecimal.ZERO;
|
||||
}else {
|
||||
divide = money
|
||||
.divide(all,3,RoundingMode.HALF_DOWN)
|
||||
.divide(all,4,RoundingMode.HALF_DOWN)
|
||||
.multiply(new BigDecimal(100))
|
||||
.setScale(1, RoundingMode.UNNECESSARY);
|
||||
.setScale(2, RoundingMode.UNNECESSARY);
|
||||
}
|
||||
histogramVO.setValue(divide.toString());
|
||||
histogramVOlist.add(histogramVO);
|
||||
@@ -295,9 +295,9 @@ public class IndexService {
|
||||
divide = BigDecimal.ZERO;
|
||||
}else {
|
||||
divide = money
|
||||
.divide(all,3,RoundingMode.HALF_DOWN)
|
||||
.divide(all,4,RoundingMode.HALF_DOWN)
|
||||
.multiply(new BigDecimal(100))
|
||||
.setScale(1, RoundingMode.UNNECESSARY);
|
||||
.setScale(2, RoundingMode.UNNECESSARY);
|
||||
}
|
||||
|
||||
pieChartVO.setValue(String.valueOf(divide));
|
||||
@@ -348,9 +348,9 @@ public class IndexService {
|
||||
divide = BigDecimal.ZERO;
|
||||
}else {
|
||||
divide = one
|
||||
.divide(all,3,RoundingMode.HALF_DOWN)
|
||||
.divide(all,4,RoundingMode.HALF_DOWN)
|
||||
.multiply(new BigDecimal(100))
|
||||
.setScale(1, RoundingMode.UNNECESSARY);
|
||||
.setScale(2, RoundingMode.UNNECESSARY);
|
||||
}
|
||||
uncollectedPieChartVO.setValue(divide.toString());
|
||||
}
|
||||
|
||||
+3
@@ -10,6 +10,7 @@ import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.vo.PayMailBillVO;
|
||||
import com.jero.member.enums.StandardsTypeEnum;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -44,6 +45,8 @@ public interface IPayMailBillService extends IService<PayMailBill> {
|
||||
*/
|
||||
Result<?> addPayBill(PayMailBillVO payMailBill);
|
||||
|
||||
int getMakeInvoice(BigDecimal amountReceivable, Integer needInvoice, BigDecimal invoiceAmount);
|
||||
|
||||
/**
|
||||
* 编辑开票
|
||||
* @param payMailBillVo
|
||||
|
||||
+40
-68
@@ -16,7 +16,6 @@ import com.jero.common.enums.ManagementMessageEnums;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.SendMessageService;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.company.entity.PayCompanyManagement;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
@@ -25,7 +24,6 @@ import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.mail.entity.BillingInfo;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
import com.jero.mail.mapper.PayMailBillMapper;
|
||||
@@ -40,7 +38,6 @@ import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||
import com.jero.meeting.service.IPayMeetingService;
|
||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
import com.jero.member.entity.*;
|
||||
import com.jero.member.enums.StandardsTypeEnum;
|
||||
import com.jero.member.mapper.*;
|
||||
import com.jero.member.service.*;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
@@ -754,28 +751,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
break;
|
||||
}
|
||||
|
||||
if(amountReceivable==null){
|
||||
amountReceivable =new BigDecimal("0");
|
||||
}
|
||||
|
||||
BigDecimal zero =new BigDecimal("0");
|
||||
|
||||
//应收=0 || 不需要开票
|
||||
if(amountReceivable.compareTo(zero)==0 || needInvoice.equals(0)){
|
||||
makeInvoice= 3;
|
||||
}
|
||||
//应收>开票总额 && 开票总额!=0
|
||||
if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){
|
||||
makeInvoice= 2;
|
||||
}
|
||||
//开票总额>=应收
|
||||
if(invoiceAmount.compareTo(amountReceivable) > -1){
|
||||
makeInvoice= 1;
|
||||
}
|
||||
//开票总额为0
|
||||
if(invoiceAmount.compareTo(zero)==0){
|
||||
makeInvoice= 0;
|
||||
}
|
||||
makeInvoice = getMakeInvoice(amountReceivable, needInvoice, invoiceAmount);
|
||||
|
||||
//更新项目表开票状态
|
||||
switch (payMailBillProject.getProjectType().toString()) {
|
||||
@@ -844,6 +820,43 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据带确收金额和开票金额获得开票状态
|
||||
* @param amountReceivable
|
||||
* @param needInvoice
|
||||
* @param invoiceAmount
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int getMakeInvoice(BigDecimal amountReceivable, Integer needInvoice, BigDecimal invoiceAmount) {
|
||||
int makeInvoice = 4;
|
||||
if(amountReceivable==null){
|
||||
amountReceivable =new BigDecimal("0");
|
||||
}
|
||||
if(invoiceAmount==null){
|
||||
invoiceAmount =new BigDecimal("0");
|
||||
}
|
||||
BigDecimal zero = new BigDecimal("0");
|
||||
|
||||
//应收=0 || 不需要开票
|
||||
if (amountReceivable.compareTo(zero) == 0 || needInvoice.equals(0)) {
|
||||
makeInvoice = 3;
|
||||
}
|
||||
//应收>开票总额 && 开票总额!=0
|
||||
if (amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)) {
|
||||
makeInvoice = 2;
|
||||
}
|
||||
//开票总额>=应收
|
||||
if (invoiceAmount.compareTo(amountReceivable) > -1) {
|
||||
makeInvoice = 1;
|
||||
}
|
||||
//开票总额为0
|
||||
if (invoiceAmount.compareTo(zero) == 0) {
|
||||
makeInvoice = 0;
|
||||
}
|
||||
return makeInvoice;
|
||||
}
|
||||
|
||||
|
||||
//校验不同项目是否属于同一个公司,开票金额是否大于当前未开票金额,企业名称是否审核
|
||||
private String checkCompanyProject(List<PayMailBillProject> bmpList) {
|
||||
@@ -1311,28 +1324,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
break;
|
||||
}
|
||||
|
||||
if(amountReceivable==null){
|
||||
amountReceivable =new BigDecimal("0");
|
||||
}
|
||||
|
||||
BigDecimal zero =new BigDecimal("0");
|
||||
|
||||
//应收=0 || 不需要开票
|
||||
if(amountReceivable.compareTo(zero)==0 || needInvoice.equals(0)){
|
||||
makeInvoice= 3;
|
||||
}
|
||||
//应收>开票总额 && 开票总额!=0
|
||||
if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){
|
||||
makeInvoice= 2;
|
||||
}
|
||||
//开票总额>=应收
|
||||
if(invoiceAmount.compareTo(amountReceivable) > -1){
|
||||
makeInvoice= 1;
|
||||
}
|
||||
//开票总额为0
|
||||
if(invoiceAmount.compareTo(zero)==0){
|
||||
makeInvoice= 0;
|
||||
}
|
||||
makeInvoice = getMakeInvoice(amountReceivable, needInvoice, invoiceAmount);
|
||||
|
||||
//更新项目表开票状态
|
||||
switch (payMailBillProject.getProjectType().toString()) {
|
||||
@@ -1662,28 +1654,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if(amountReceivable==null){
|
||||
amountReceivable =new BigDecimal("0");
|
||||
}
|
||||
|
||||
BigDecimal zero =new BigDecimal("0");
|
||||
|
||||
//应收=0 || 不需要开票
|
||||
if(amountReceivable.compareTo(zero)==0 || needInvoice.equals(0)){
|
||||
makeInvoice= 3;
|
||||
}
|
||||
//应收>开票总额 && 开票总额!=0
|
||||
if(amountReceivable.compareTo(invoiceAmount) == 1 && !(invoiceAmount.compareTo(zero) == 0)){
|
||||
makeInvoice= 2;
|
||||
}
|
||||
//开票总额>=应收
|
||||
if(invoiceAmount.compareTo(amountReceivable) > -1){
|
||||
makeInvoice= 1;
|
||||
}
|
||||
//开票总额为0
|
||||
if(invoiceAmount.compareTo(zero)==0){
|
||||
makeInvoice= 0;
|
||||
}
|
||||
makeInvoice = getMakeInvoice(amountReceivable, needInvoice, invoiceAmount);
|
||||
|
||||
//更新项目表开票状态
|
||||
switch (oldBmp.getProjectType().toString()) {
|
||||
|
||||
+8
@@ -29,7 +29,9 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -81,6 +83,12 @@ public class CouncilMeetingSituationController extends JeroController<PayMeeting
|
||||
} else {
|
||||
meetingSituation.setIdentification(PayProjectCommon.NO);
|
||||
}
|
||||
Date estimatedArrivalDate = meetingSituation.getEstimatedArrivalDate();
|
||||
if (estimatedArrivalDate != null) {
|
||||
SimpleDateFormat targetFormat = new SimpleDateFormat("yyyy-MM");
|
||||
String newDate = targetFormat.format(estimatedArrivalDate);
|
||||
meetingSituation.setEstimatedArrivalDateStr(newDate);
|
||||
}
|
||||
}
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
+23
@@ -42,6 +42,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 起草组会议 参会人信息
|
||||
@@ -194,6 +195,28 @@ public class DraftGroupMeetingSituationController extends JeroController<PayMeet
|
||||
return Result.OK("审核成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量审核报名信息
|
||||
*/
|
||||
@AutoLog(value = "批量审核报名信息")
|
||||
@RequiresPermissions("draftGroupMeetingSituation:batchAuditSignUp")
|
||||
@ApiOperation(value = "批量审核报名信息")
|
||||
@PostMapping(value = "/checkRegisterBatch")
|
||||
public Result<?> checkRegisterBatch(@RequestBody CheckVO checkVO) {
|
||||
List<String> ids = Arrays.asList(checkVO.getIds().split(","));
|
||||
List<CheckVO> checkVOS = ids.stream()
|
||||
.map(id -> {
|
||||
CheckVO checkVO1 = new CheckVO();
|
||||
checkVO1.setCheckResult(checkVO.getCheckResult());
|
||||
checkVO1.setCheckRemark(checkVO.getCheckRemark());
|
||||
checkVO1.setId(id);
|
||||
return checkVO1;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
checkVOS.forEach(payMeetingSituationService::checkRegister);
|
||||
return Result.OK("审核成功!");
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 审核缴费凭证
|
||||
// */
|
||||
|
||||
+76
@@ -0,0 +1,76 @@
|
||||
package com.jero.meeting.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.meeting.entity.PayMeetingHotelRecommend;
|
||||
import com.jero.meeting.service.IPayMeetingHotelRecommendService;
|
||||
import com.jero.meeting.vo.excel.PayMeetingHotelRecommendExcel;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会议酒店推荐表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-10
|
||||
*/
|
||||
@Api(tags = "会议酒店推荐")
|
||||
@RestController
|
||||
@RequestMapping("/meeting/payMeetingHotelRecommend")
|
||||
@Slf4j
|
||||
public class PayMeetingHotelRecommendController extends JeroController<PayMeetingHotelRecommend, IPayMeetingHotelRecommendService> {
|
||||
|
||||
@Resource
|
||||
private IPayMeetingHotelRecommendService payMeetingHotelRecommendService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param meetingHotelRecommend 会议酒店推荐
|
||||
* @param pageNo 页数
|
||||
* @param pageSize 条数
|
||||
*/
|
||||
@RequiresPermissions("recommendHotelPage:list")
|
||||
@ApiOperation(value = "会议酒店推荐-分页列表查询", notes = "会议酒店推荐-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<?> queryPageList(PayMeetingHotelRecommend meetingHotelRecommend,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
IPage<PayMeetingHotelRecommend> pageList = payMeetingHotelRecommendService.queryHotelRecommendS(meetingHotelRecommend, pageNo, pageSize, req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel模板
|
||||
*/
|
||||
@RequiresPermissions("recommendHotelPage:downTemplate")
|
||||
@ApiOperation(value = "导出模板")
|
||||
@GetMapping(value = "/exportTemplate")
|
||||
public ModelAndView exportTemplate() {
|
||||
return super.exportTemplate(PayMeetingHotelRecommendExcel.class, "会议酒店推荐表");
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入excel
|
||||
*/
|
||||
@RequiresPermissions("recommendHotelPage:import")
|
||||
@ApiOperation(value = "导入")
|
||||
@PostMapping(value = "/importXls")
|
||||
public Result<Object> importXls(HttpServletRequest request) {
|
||||
List<Object> excelData = super.getExcelData(request, PayMeetingHotelRecommendExcel.class);
|
||||
payMeetingHotelRecommendService.addExcel(excelData);
|
||||
return Result.OK("文件导入成功!");
|
||||
}
|
||||
|
||||
}
|
||||
+31
@@ -29,9 +29,12 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@@ -86,6 +89,12 @@ public class WorkGroupMeetingSituationController extends JeroController<PayMeeti
|
||||
}else {
|
||||
meetingSituation.setIdentification(PayProjectCommon.NO);
|
||||
}
|
||||
Date estimatedArrivalDate = meetingSituation.getEstimatedArrivalDate();
|
||||
if (estimatedArrivalDate != null) {
|
||||
SimpleDateFormat targetFormat = new SimpleDateFormat("yyyy-MM");
|
||||
String newDate = targetFormat.format(estimatedArrivalDate);
|
||||
meetingSituation.setEstimatedArrivalDateStr(newDate);
|
||||
}
|
||||
}
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
@@ -203,6 +212,28 @@ public class WorkGroupMeetingSituationController extends JeroController<PayMeeti
|
||||
return Result.OK("审核成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量审核报名信息
|
||||
*/
|
||||
@AutoLog(value = "批量审核报名信息")
|
||||
@RequiresPermissions("workGroupMeetingSituation:batchAuditSignUp")
|
||||
@ApiOperation(value = "批量审核报名信息")
|
||||
@PostMapping(value = "/checkRegisterBatch")
|
||||
public Result<?> checkRegisterBatch(@RequestBody CheckVO checkVO) {
|
||||
List<String> ids = Arrays.asList(checkVO.getIds().split(","));
|
||||
List<CheckVO> checkVOS = ids.stream()
|
||||
.map(id -> {
|
||||
CheckVO checkVO1 = new CheckVO();
|
||||
checkVO1.setCheckResult(checkVO.getCheckResult());
|
||||
checkVO1.setCheckRemark(checkVO.getCheckRemark());
|
||||
checkVO1.setId(id);
|
||||
return checkVO1;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
checkVOS.forEach(payMeetingSituationService::checkRegister);
|
||||
return Result.OK("审核成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 合并开票
|
||||
*/
|
||||
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
package com.jero.meeting.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会议酒店推荐表
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-10
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Accessors(chain = true)
|
||||
@TableName("pay_meeting_hotel_recommend")
|
||||
@ApiModel(value="PayMeetingHotelRecommend对象", description="会议酒店推荐表")
|
||||
public class PayMeetingHotelRecommend implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "主键")
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "推荐人")
|
||||
private String recommendPeople;
|
||||
|
||||
@ApiModelProperty(value = "酒店名称")
|
||||
private String hotelName;
|
||||
|
||||
@ApiModelProperty(value = "所在省份")
|
||||
private String hotelProvince;
|
||||
|
||||
@ApiModelProperty(value = "所在城市")
|
||||
private String hotelCity;
|
||||
|
||||
@ApiModelProperty(value = "是否举办过标准院会议 1-是 0-否")
|
||||
@Dict(dicCode = "yn")
|
||||
private Integer isHold;
|
||||
|
||||
@ApiModelProperty(value = "曾举办的会议类型")
|
||||
// @Dict(dicCode = "meeting_type")
|
||||
private String meetingType;
|
||||
|
||||
@ApiModelProperty(value = "酒店联系方式")
|
||||
private String contact;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
|
||||
}
|
||||
+5
@@ -586,4 +586,9 @@ public class PayMeetingSituation implements Serializable {
|
||||
@ApiModelProperty(value = "预计到账日期")
|
||||
private Date estimatedArrivalDate;
|
||||
|
||||
/**预计到账日期*/
|
||||
@ApiModelProperty(value = "预计到账日期")
|
||||
@TableField(exist = false)
|
||||
private String estimatedArrivalDateStr;
|
||||
|
||||
}
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.jero.meeting.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.meeting.entity.PayMeetingHotelRecommend;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会议酒店推荐表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-10
|
||||
*/
|
||||
public interface PayMeetingHotelRecommendMapper extends BaseMapper<PayMeetingHotelRecommend> {
|
||||
|
||||
@Update("TRUNCATE TABLE pay_meeting_hotel_recommend")
|
||||
void truncateTable();
|
||||
|
||||
}
|
||||
+1
-1
@@ -35,7 +35,7 @@ public interface PayMeetingMapper extends BaseMapper<PayMeeting> {
|
||||
|
||||
IPage<PayMeeting> workGroupPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
|
||||
|
||||
IPage<PayMeeting> draftGroupPage(Page<PayMeeting> page,@Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
|
||||
IPage<PayMeeting> draftGroupPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
|
||||
|
||||
|
||||
IPage<PayMeeting> standardPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
|
||||
|
||||
+15
@@ -38,4 +38,19 @@ public interface PayMeetingSituationMapper extends BaseMapper<PayMeetingSituatio
|
||||
List<MeetingPackStatistics> getMeetingPackStatistics(@Param(Constants.WRAPPER) QueryWrapper<PayMeetingSituation> query);
|
||||
|
||||
MeetingPackStatistics getMeetingPackStatisticsCount(@Param(Constants.WRAPPER) QueryWrapper<PayMeetingSituation> query);
|
||||
|
||||
/**
|
||||
* 根据年份获取参会人
|
||||
* @param year 年份
|
||||
*/
|
||||
List<PayMeetingSituation> listByYear(@Param("year")String year);
|
||||
|
||||
/**
|
||||
* 根据年份获取参会人
|
||||
*
|
||||
* @param yearList 年份
|
||||
* @param companyManagementId
|
||||
*/
|
||||
List<PayMeetingSituation> listByYearNotIn(@Param("yearList") List<String> yearList, @Param("companyManagementId") String companyManagementId);
|
||||
|
||||
}
|
||||
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.meeting.mapper.PayMeetingHotelRecommendMapper">
|
||||
|
||||
</mapper>
|
||||
+72
@@ -1,6 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.meeting.mapper.PayMeetingSituationMapper">
|
||||
<sql id="Base_Column_List">
|
||||
id,
|
||||
create_by,
|
||||
create_time,
|
||||
update_by,
|
||||
update_time,
|
||||
meeting_id,
|
||||
company_id,
|
||||
company_name,
|
||||
company_contact_id,
|
||||
company_contact_name,
|
||||
post,
|
||||
phone,
|
||||
email,
|
||||
`identity`,
|
||||
guest_type,
|
||||
speech_topic,
|
||||
speech_ppt,
|
||||
photo,
|
||||
profile,
|
||||
have_meals,
|
||||
hui_people,
|
||||
check_in_hotel,
|
||||
in_hotel_time,
|
||||
out_hotel_time,
|
||||
room_layout,
|
||||
arrival_time,
|
||||
destination,
|
||||
arrival_shift,
|
||||
delivery_station,
|
||||
departure_time,
|
||||
departure_station,
|
||||
departure_shift,
|
||||
remark,
|
||||
check_in,
|
||||
pick_up,
|
||||
post_contact_id,
|
||||
post_contact_address,
|
||||
pay_mode,
|
||||
need_invoice,
|
||||
payment_record,
|
||||
`status`,
|
||||
pack,
|
||||
in_account,
|
||||
make_invoice,
|
||||
mail
|
||||
</sql>
|
||||
<resultMap id="PayMeetingSituationResultMap" type="com.jero.meeting.entity.PayMeetingSituation">
|
||||
<id column="id" property="id"/>
|
||||
<result column="create_by" property="createBy"/>
|
||||
@@ -202,4 +249,29 @@
|
||||
from v_meeting_pack_statistical
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<!--auto generated by MybatisCodeHelper on 2024-07-24-->
|
||||
<select id="listByYear" resultType="com.jero.meeting.entity.PayMeetingSituation">
|
||||
select
|
||||
*
|
||||
from pay_meeting_situation
|
||||
<where>
|
||||
meeting_id in (select id from pay_meeting where particular_year = #{year})
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="listByYearNotIn" resultType="com.jero.meeting.entity.PayMeetingSituation">
|
||||
select
|
||||
*
|
||||
from pay_meeting_situation
|
||||
<where>
|
||||
company_id = #{companyManagementId}
|
||||
and meeting_id in (
|
||||
select id from pay_meeting where particular_year not in
|
||||
<foreach item="item" index="index" collection="yearList" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
)
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.jero.meeting.service;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.meeting.entity.PayMeetingHotelRecommend;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会议酒店推荐表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-10
|
||||
*/
|
||||
public interface IPayMeetingHotelRecommendService extends IService<PayMeetingHotelRecommend> {
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
* @param meetingHotelRecommend
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
IPage<PayMeetingHotelRecommend> queryHotelRecommendS(PayMeetingHotelRecommend meetingHotelRecommend, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||
|
||||
void addExcel(List<Object> excelData);
|
||||
}
|
||||
+162
@@ -0,0 +1,162 @@
|
||||
package com.jero.meeting.service.impl;
|
||||
|
||||
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.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.meeting.entity.PayMeetingHotelRecommend;
|
||||
import com.jero.meeting.mapper.PayMeetingHotelRecommendMapper;
|
||||
import com.jero.meeting.service.IPayMeetingHotelRecommendService;
|
||||
import com.jero.meeting.vo.excel.PayMeetingHotelRecommendExcel;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会议酒店推荐表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-10
|
||||
*/
|
||||
@Service
|
||||
public class PayMeetingHotelRecommendServiceImpl extends ServiceImpl<PayMeetingHotelRecommendMapper, PayMeetingHotelRecommend> implements IPayMeetingHotelRecommendService {
|
||||
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private PayMeetingHotelRecommendMapper payMeetingHotelRecommendMapper;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param meetingHotelRecommend
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<PayMeetingHotelRecommend> queryHotelRecommendS(PayMeetingHotelRecommend meetingHotelRecommend, Integer pageNo, Integer pageSize, HttpServletRequest req) {
|
||||
QueryWrapper<PayMeetingHotelRecommend> queryWrapper = QueryGenerator.initQueryWrapper(meetingHotelRecommend, req.getParameterMap());
|
||||
String recommendPeople = req.getParameter("recommendPeople");
|
||||
String hotelName = req.getParameter("hotelName");
|
||||
String hotelProvince = req.getParameter("hotelProvince");
|
||||
String hotelCity = req.getParameter("hotelCity");
|
||||
String isHold = req.getParameter("isHold");
|
||||
String meetingType = req.getParameter("meetingType");
|
||||
String contact = req.getParameter("contact");
|
||||
String remark = req.getParameter("remark");
|
||||
if (StringUtils.isNotBlank(recommendPeople)) {
|
||||
queryWrapper.lambda().like(PayMeetingHotelRecommend::getRecommendPeople,recommendPeople);
|
||||
}
|
||||
if (StringUtils.isNotBlank(hotelName)) {
|
||||
queryWrapper.lambda().like(PayMeetingHotelRecommend::getHotelName,hotelName);
|
||||
}
|
||||
if (StringUtils.isNotBlank(hotelProvince)) {
|
||||
queryWrapper.lambda().like(PayMeetingHotelRecommend::getHotelProvince,hotelProvince);
|
||||
}
|
||||
if (StringUtils.isNotBlank(hotelCity)) {
|
||||
queryWrapper.lambda().like(PayMeetingHotelRecommend::getHotelCity,hotelCity);
|
||||
}
|
||||
if (StringUtils.isNotBlank(isHold)) {
|
||||
queryWrapper.lambda().eq(PayMeetingHotelRecommend::getIsHold,isHold);
|
||||
}
|
||||
if (StringUtils.isNotBlank(meetingType)) {
|
||||
queryWrapper.lambda().like(PayMeetingHotelRecommend::getMeetingType,meetingType);
|
||||
}
|
||||
if (StringUtils.isNotBlank(contact)) {
|
||||
queryWrapper.lambda().like(PayMeetingHotelRecommend::getContact,contact);
|
||||
}
|
||||
if (StringUtils.isNotBlank(remark)) {
|
||||
queryWrapper.lambda().like(PayMeetingHotelRecommend::getRemark,remark);
|
||||
}
|
||||
Page<PayMeetingHotelRecommend> page = new Page(pageNo, pageSize);
|
||||
return page(page,queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addExcel(List<Object> excelData) {
|
||||
if (excelData.isEmpty()) {
|
||||
throw new JeroBootException("导入数据为空,请填写数据之后重新导入!");
|
||||
}
|
||||
// 是或否
|
||||
Map<String, String> ynMap = sysBaseAPI.queryDictItemsMapByCode("yn");
|
||||
// // 会议类型
|
||||
// Map<String, String> meetingTypeMap = sysBaseAPI.queryDictItemsMapByCode("meeting_type");
|
||||
int errorRowNum = 2;
|
||||
List<String> errorMessage = new ArrayList<>();
|
||||
List<PayMeetingHotelRecommend> insertList = new ArrayList<>();
|
||||
for (Object obj : excelData) {
|
||||
errorRowNum += 1;
|
||||
PayMeetingHotelRecommendExcel submitExcel = (PayMeetingHotelRecommendExcel) obj;
|
||||
PayMeetingHotelRecommend payMeetingHotelRecommend = new PayMeetingHotelRecommend();
|
||||
List<String> errorList = ValidUtil.validateReturnListWithNum(submitExcel, errorRowNum);
|
||||
errorMessage.addAll(errorList);
|
||||
// 是否举办过标院会议
|
||||
String isHold = submitExcel.getIsHold();
|
||||
if (StringUtils.isBlank(isHold)){
|
||||
|
||||
}else if (!ynMap.containsKey(isHold)){
|
||||
errorMessage.add("第" + errorRowNum + "行:" + "是否举办过标准院会议请填写是或否");
|
||||
}else {
|
||||
int isHoldInt = Integer.parseInt(ynMap.get(isHold));
|
||||
payMeetingHotelRecommend.setIsHold(isHoldInt);
|
||||
}
|
||||
// 曾举办会议类型
|
||||
if (ValidUtil.checkErrorList(errorList,"曾举办的会议类型")) {
|
||||
String meetingType = submitExcel.getMeetingType();
|
||||
payMeetingHotelRecommend.setMeetingType(meetingType);
|
||||
}
|
||||
// 推荐人
|
||||
if (ValidUtil.checkErrorList(errorList,"推荐人")) {
|
||||
String amountReceivable = submitExcel.getRecommendPeople();
|
||||
payMeetingHotelRecommend.setRecommendPeople(amountReceivable);
|
||||
}
|
||||
// 酒店名称
|
||||
if (ValidUtil.checkErrorList(errorList,"酒店名称")) {
|
||||
String hotelName = submitExcel.getHotelName();
|
||||
payMeetingHotelRecommend.setHotelName(hotelName);
|
||||
}
|
||||
// 所在省份
|
||||
if (ValidUtil.checkErrorList(errorList,"所在省份")) {
|
||||
String hotelProvince = submitExcel.getHotelProvince();
|
||||
payMeetingHotelRecommend.setHotelProvince(hotelProvince);
|
||||
}
|
||||
// 所在省份
|
||||
if (ValidUtil.checkErrorList(errorList,"所在城市")) {
|
||||
String hotelCity = submitExcel.getHotelCity();
|
||||
payMeetingHotelRecommend.setHotelCity(hotelCity);
|
||||
}
|
||||
// 所在省份
|
||||
if (ValidUtil.checkErrorList(errorList,"酒店联系方式")) {
|
||||
String contact = submitExcel.getContact();
|
||||
payMeetingHotelRecommend.setContact(contact);
|
||||
}
|
||||
// 备注
|
||||
String remark = submitExcel.getRemark();
|
||||
payMeetingHotelRecommend.setRemark(remark);
|
||||
insertList.add(payMeetingHotelRecommend);
|
||||
}
|
||||
if (!errorMessage.isEmpty()) {
|
||||
StringBuilder msg = new StringBuilder();
|
||||
for (String s : errorMessage) {
|
||||
msg.append(s).append(",请修改!<br/>");
|
||||
}
|
||||
throw new JeroBootException(msg.toString());
|
||||
}
|
||||
// 先将酒店推荐表清空
|
||||
payMeetingHotelRecommendMapper.truncateTable();
|
||||
// 全量导入
|
||||
this.saveBatch(insertList);
|
||||
}
|
||||
}
|
||||
+21
@@ -11,6 +11,7 @@ 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.common.RoleCommon;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.dto.SendMessageDTO;
|
||||
import com.jero.common.enums.CompanyMessageEnums;
|
||||
@@ -62,8 +63,10 @@ import com.jero.member.service.ITbMemberProjectService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItemContacts;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
@@ -157,6 +160,8 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
private SafetyCenterService safetyCenterService;
|
||||
@Resource
|
||||
private SafetyCenterSubitemContactsService safetyCenterSubitemContactsService;
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
/**
|
||||
* 新增会议
|
||||
*/
|
||||
@@ -338,6 +343,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
PayMeeting payMeeting = getPayMeeting(payMeetingVO, hotelContactsList);
|
||||
saveOrUpdate(payMeeting);
|
||||
String meetingId = payMeeting.getId();
|
||||
//annualDataLockingService.judgeUserYear()
|
||||
// 同步预计到账日期
|
||||
LambdaUpdateWrapper<PayMeetingSituation> upPayMeetingSituation = new LambdaUpdateWrapper<>();
|
||||
upPayMeetingSituation.eq(PayMeetingSituation::getMeetingId, meetingId);
|
||||
@@ -454,9 +460,15 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
if (id != null) {
|
||||
wrapper.ne(PayMeeting::getId, id);
|
||||
oldMeeting = getById(id);
|
||||
String year = oldMeeting.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
}else {
|
||||
payMeetingVO.setIsRelease(MeetingCommon.REMIND_0);
|
||||
}
|
||||
String year = payMeetingVO.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
if (count(wrapper) > 0) {
|
||||
throw new JeroBootException("会议名称不能重复");
|
||||
}
|
||||
@@ -489,6 +501,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
throw new JeroBootException("会议费用为0时,不可上传收款二维码");
|
||||
}
|
||||
}
|
||||
|
||||
//根据会议类型进行校验
|
||||
switch (meetingType) {
|
||||
case MeetingCommon.WORKING_GROUP_MEETING:
|
||||
@@ -663,6 +676,10 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
if (integer > 0) {
|
||||
throw new JeroBootException("该会议有参会人无法删除");
|
||||
}
|
||||
PayMeeting payMeeting = getById(id);
|
||||
String year = payMeeting.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
removeById(id);
|
||||
LambdaQueryWrapper<PayMeetingHotelContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayMeetingHotelContacts::getMeetingId, id);
|
||||
@@ -685,6 +702,10 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
PayMeeting payMeeting = getById(id);
|
||||
meetingList.add(payMeeting.getMeetingName());
|
||||
}
|
||||
PayMeeting payMeeting = getById(id);
|
||||
String year = payMeeting.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
}
|
||||
if (meetingList.size() > 0) {
|
||||
throw new JeroBootException(meetingList + "会议下有参会人,无法删除");
|
||||
|
||||
+48
-21
@@ -76,12 +76,16 @@ import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.payment.entity.PayPaymentRecord;
|
||||
import com.jero.payment.service.IPayPaymentRecordService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItemContacts;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
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.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import com.jero.util.ObjRecordUtil;
|
||||
@@ -173,7 +177,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Resource
|
||||
private SafetyCenterSubitemContactsService safetyCenterSubitemContactsService;
|
||||
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
|
||||
private static final String[] CAN_MODIFY_LIST =
|
||||
new String[]{"arrivalTime", "departureTime", "checkInHotel"};
|
||||
@@ -199,12 +204,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
throw new JeroBootException("只有会议负责人,会议联系人可以新增参会人");
|
||||
}
|
||||
}
|
||||
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(payMeeting1.getParticularYear());
|
||||
payMeetingSituation.setStatus(MeetingSubitemCommon.STATUS_3);
|
||||
//payMeetingSituation.setNeedInvoice(PayProjectCommon.NO);
|
||||
payMeetingSituation.setAmountReceivable(new BigDecimal("0"));
|
||||
//处理校验参会人信息
|
||||
PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation);
|
||||
PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation,annualDataLocking);
|
||||
payMeetingSituation1.setEstimatedArrivalDate(payMeeting1.getStartTime());
|
||||
saveMeetingSituation(payMeetingSituation1);
|
||||
|
||||
@@ -354,9 +360,11 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
payMeetingSituation.setGuestType(guestType);
|
||||
payMeetingSituation.setIdentity(MeetingSubitemCommon.JIA_BIN);
|
||||
}
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(payMeeting.getParticularYear());
|
||||
//处理校验参会人信息
|
||||
payMeetingSituation.setAmountReceivable(new BigDecimal("0"));
|
||||
PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation);
|
||||
PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation, annualDataLocking);
|
||||
payMeetingSituation1.setEstimatedArrivalDate(payMeeting.getStartTime());
|
||||
saveMeetingSituation(payMeetingSituation1);
|
||||
//处理打包
|
||||
@@ -591,7 +599,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
payPaymentRecord.setProjectId(payMeetingSituation.getId());
|
||||
payPaymentRecord.setProof(payMeetingSituation.getPaymentRecord());
|
||||
payPaymentRecord.setProjectType(Integer.parseInt(PayIncomeContractCommon.PROJECT_TYPE3));
|
||||
payPaymentRecord.setAmountReceived(payMeetingSituation.getAmountReceivable());
|
||||
payPaymentRecord.setAmountReceived(payMeetingSituation.getAmountReceivable().subtract(payMeetingSituation.getPaidAmount()));
|
||||
payPaymentRecord.setPaymentDate(new Date());
|
||||
payPaymentRecords.add(payPaymentRecord);
|
||||
//添加来款
|
||||
@@ -1030,7 +1038,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
if (meetingType1 != null && !Objects.equals(payMeeting.getMeetingType(),meetingType1)) {
|
||||
throw new JeroBootException("数据权限不足");
|
||||
}
|
||||
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(payMeeting.getParticularYear());
|
||||
//把原始数据保存下来,后面用于判断修改了那些字段
|
||||
PayMeetingSituation oldObject = new PayMeetingSituation();
|
||||
BeanUtils.copyProperties(payMeetingSituation, oldObject);
|
||||
@@ -1084,7 +1093,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
}
|
||||
}
|
||||
}
|
||||
payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation);
|
||||
payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation, annualDataLocking);
|
||||
//如果是对接人修改的
|
||||
if (sysUserId.equals(dockId)) {
|
||||
PayMeetingSituation newObject = new PayMeetingSituation();
|
||||
@@ -1144,7 +1153,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
* 处理校验参会人信息
|
||||
*/
|
||||
@NotNull
|
||||
private PayMeetingSituation getPayMeetingSituation(PayMeetingSituation payMeetingSituation) {
|
||||
private PayMeetingSituation getPayMeetingSituation(PayMeetingSituation payMeetingSituation, AnnualDataLocking annualDataLocking) {
|
||||
String meetingId = payMeetingSituation.getMeetingId();
|
||||
PayMeeting payMeeting = meetingService.getById(meetingId);
|
||||
//会议类型
|
||||
@@ -1168,12 +1177,12 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
PayCompanyManagement companyManagement = companyManagementService.getById(companyId);
|
||||
payMeetingSituation.setCompanyName(companyManagement.getCompanyName());
|
||||
//处理企业
|
||||
canHuiRenCompany(payMeetingSituation1, companyManagement);
|
||||
canHuiRenCompany(payMeetingSituation1, companyManagement, annualDataLocking);
|
||||
//校验企业联系人
|
||||
String companyContactId = meetingEntity.getCompanyContactId();
|
||||
PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId);
|
||||
//处理联系人
|
||||
canHuiContact(payMeetingSituation1, companyId, contactsManagement);
|
||||
canHuiContact(payMeetingSituation1, companyId, contactsManagement, annualDataLocking);
|
||||
//处理缴费凭证
|
||||
payMeetingSituation1.setPaymentRecord(null);
|
||||
|
||||
@@ -1511,7 +1520,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
return takeEffectInfo != null;
|
||||
}
|
||||
|
||||
private void canHuiContact(PayMeetingSituation payMeetingSituation, String companyId, PayContactsManagement contactsManagement) {
|
||||
private void canHuiContact(PayMeetingSituation payMeetingSituation, String companyId, PayContactsManagement contactsManagement, AnnualDataLocking annualDataLocking) {
|
||||
if (contactsManagement == null) {
|
||||
throw new JeroBootException("联系人不存在");
|
||||
}
|
||||
@@ -1519,8 +1528,10 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
String contactsManagementId = contactsManagement.getId();
|
||||
//校验是否是选择的企业的联系人
|
||||
if (companyId1.equals(companyId)) {
|
||||
payMeetingSituation.setCompanyContactTemporaryId(contactsManagementId);
|
||||
payMeetingSituation.setCompanyContactName(contactsManagement.getName());
|
||||
PayContactsManagementTemporary contactsName = contactsManagementTemporaryService.insertContactsManagementTemporary(contactsManagementId, annualDataLocking);
|
||||
|
||||
payMeetingSituation.setCompanyContactTemporaryId(contactsName.getId());
|
||||
payMeetingSituation.setCompanyContactName(contactsName.getName());
|
||||
} else {
|
||||
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
|
||||
}
|
||||
@@ -1536,12 +1547,14 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
}
|
||||
}
|
||||
|
||||
private void canHuiRenCompany(PayMeetingSituation payMeetingSituation, PayCompanyManagement companyManagement) {
|
||||
private void canHuiRenCompany(PayMeetingSituation payMeetingSituation, PayCompanyManagement companyManagement, AnnualDataLocking annualDataLocking) {
|
||||
if (companyManagement == null) {
|
||||
throw new JeroBootException("企业不存在");
|
||||
}
|
||||
payMeetingSituation.setCompanyTemporaryId(companyManagement.getId());
|
||||
payMeetingSituation.setCompanyName(companyManagement.getCompanyName());
|
||||
PayCompanyManagementTemporary chargeCompanyName = companyManagementTemporaryService.insertCompanyManagementTemporary(companyManagement.getId(), annualDataLocking);
|
||||
|
||||
payMeetingSituation.setCompanyTemporaryId(chargeCompanyName.getId());
|
||||
payMeetingSituation.setCompanyName(chargeCompanyName.getCompanyName());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1549,6 +1562,11 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
PayMeetingSituation meetingSituation = this.getById(id);
|
||||
String meetingId = meetingSituation.getMeetingId();
|
||||
PayMeeting payMeeting = meetingService.getById(meetingId);
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(payMeeting.getParticularYear());
|
||||
removeSituationPack(id);
|
||||
removeById(id);
|
||||
}
|
||||
@@ -1558,6 +1576,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
List<PayMeetingSituation> payMeetingSituations = this.listByIds(ids);
|
||||
List<String> meetingIds = payMeetingSituations.stream().map(PayMeetingSituation::getMeetingId).distinct().collect(Collectors.toList());
|
||||
List<PayMeeting> payMeetings = meetingService.listByIds(meetingIds);
|
||||
for (PayMeeting payMeeting : payMeetings) {
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(payMeeting.getParticularYear());
|
||||
}
|
||||
for (String id : ids) {
|
||||
removeSituationPack(id);
|
||||
}
|
||||
@@ -1743,16 +1768,18 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
String meetingType1 = getMeetingType(payMeetingSituation);
|
||||
List<Object> exportList = new ArrayList<>();
|
||||
for (PayMeetingSituation meetingSituation : pageList) {
|
||||
|
||||
String companyId = meetingSituation.getCompanyId();
|
||||
String companyTemporaryId = meetingSituation.getCompanyTemporaryId();
|
||||
String companyContactId = meetingSituation.getCompanyContactId();
|
||||
PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId);
|
||||
String companyContactTemporaryId = meetingSituation.getCompanyContactTemporaryId();
|
||||
PayContactsManagementTemporary contactsManagement = contactsManagementTemporaryService.getByAllTable(companyContactId, companyContactTemporaryId);
|
||||
meetingSituation.setCompanyContactName(contactsManagement.getName());
|
||||
if (!MeetingCommon.INTERNATIONAL_MEETING.equals(meetingType1)){
|
||||
meetingSituation.setPost(contactsManagement.getPost());
|
||||
}
|
||||
meetingSituation.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone()));
|
||||
meetingSituation.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail()));
|
||||
PayCompanyManagement companyManagement = companyManagementService.getById(contactsManagement.getCompanyId());
|
||||
PayCompanyManagementTemporary companyManagement = companyManagementTemporaryService.getByAllTable(companyId, companyTemporaryId);
|
||||
meetingSituation.setCompanyName(companyManagement.getCompanyName());
|
||||
String checkFile = meetingSituation.getCheckFile();
|
||||
if (StringUtils.isNotBlank(checkFile)) {
|
||||
@@ -2137,8 +2164,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
if (!StringUtils.isBlank(metingPackStatisticsSearch.getPayMode())) {
|
||||
query.lambda().eq(PayMeetingSituation::getPayMode, metingPackStatisticsSearch.getPayMode());
|
||||
}
|
||||
if (!StringUtils.isBlank(metingPackStatisticsSearch.getPaymentYear())) {
|
||||
query.eq("payment_year", metingPackStatisticsSearch.getPaymentYear());
|
||||
if (!StringUtils.isBlank(metingPackStatisticsSearch.getYear())) {
|
||||
query.eq("year", metingPackStatisticsSearch.getYear());
|
||||
}
|
||||
return query;
|
||||
}
|
||||
|
||||
@@ -13,4 +13,5 @@ public class CheckVO {
|
||||
private Integer checkResult;
|
||||
private String checkRemark;
|
||||
private String id;
|
||||
private String ids;
|
||||
}
|
||||
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
package com.jero.meeting.vo.excel;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会议酒店推荐表
|
||||
* </p>
|
||||
*
|
||||
* @author sz
|
||||
* @since 2024-07-10
|
||||
*/
|
||||
@Data
|
||||
public class PayMeetingHotelRecommendExcel implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "推荐人")
|
||||
@Excel(name = "推荐人", width = 15)
|
||||
// @NotBlank(message = "推荐人不能为空")
|
||||
@Size(max = 50, message = "推荐人最大为50字符")
|
||||
private String recommendPeople;
|
||||
|
||||
@ApiModelProperty(value = "酒店名称")
|
||||
@Excel(name = "酒店名称", width = 20)
|
||||
// @NotBlank(message = "酒店名称不能为空")
|
||||
@Size(max = 50, message = "酒店名称最大为50字符")
|
||||
private String hotelName;
|
||||
|
||||
@ApiModelProperty(value = "所在省份")
|
||||
@Excel(name = "所在省份", width = 15)
|
||||
// @NotBlank(message = "所在省份不能为空")
|
||||
@Size(max = 50, message = "所在省份最大为50字符")
|
||||
private String hotelProvince;
|
||||
|
||||
@ApiModelProperty(value = "所在城市")
|
||||
@Excel(name = "所在城市", width = 15)
|
||||
// @NotBlank(message = "所在城市不能为空")
|
||||
@Size(max = 50, message = "所在城市最大为50字符")
|
||||
private String hotelCity;
|
||||
|
||||
@ApiModelProperty(value = "是否举办过标准院会议 1-是 0-否")
|
||||
@Excel(name = "是否举办过标准院会议", width = 25)
|
||||
// @NotBlank(message = "是否举办过标准院会议不能为空")
|
||||
private String isHold;
|
||||
|
||||
@ApiModelProperty(value = "曾举办的会议类型")
|
||||
@Excel(name = "曾举办的会议类型", width = 25)
|
||||
// @NotBlank(message = "曾举办的会议类型不能为空")
|
||||
@Size(max = 50, message = "曾举办的会议类型最大为50字符")
|
||||
private String meetingType;
|
||||
|
||||
@ApiModelProperty(value = "酒店联系方式")
|
||||
@Excel(name = "酒店联系方式", width = 15)
|
||||
// @NotBlank(message = "酒店联系方式不能为空")
|
||||
@Size(max = 50, message = "酒店联系方式最大为50字符")
|
||||
// @Pattern(regexp = "^(1[3-9]\\d{9})$|^(0\\d{2,3}-\\d{7,8})$", message = "酒店联系方式格式错误")
|
||||
private String contact;
|
||||
|
||||
@ApiModelProperty(value = "备注")
|
||||
@Excel(name = "备注", width = 15)
|
||||
@Size(max = 1000, message = "备注最大为1000字符")
|
||||
private String remark;
|
||||
}
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
package com.jero.member.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.service.IAnnualMemberProjectService;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.member.vo.AnnualMemberProjectExcelVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
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;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 年度会员维护
|
||||
*/
|
||||
@Api(tags="年度会员维护")
|
||||
@RestController
|
||||
@RequestMapping("/member/annulMemberProject")
|
||||
@Slf4j
|
||||
public class AnnualMemberProjectController extends JeroController<TbMemberProjectSubitem, ITbMemberProjectSubitemService> {
|
||||
|
||||
@Resource
|
||||
private IAnnualMemberProjectService annualMemberProjectService;
|
||||
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@RequiresPermissions("memberStatistic:search")
|
||||
@ApiOperation(value="年度会员维护-分页列表查询", notes="年度会员维护-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<TbMemberProjectSubitem>> queryPageList(TbMemberProjectSubitem tbMemberProjectSubitem,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
Page<TbMemberProjectSubitem> page = new Page<>(pageNo, pageSize);
|
||||
IPage<TbMemberProjectSubitem> pageList = annualMemberProjectService.pageList(page, req, tbMemberProjectSubitem);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*/
|
||||
@ApiOperation(value = "导出")
|
||||
@RequiresPermissions("memberStatistic:export")
|
||||
@GetMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest req, TbMemberProjectSubitem tbMemberProjectSubitem) {
|
||||
List<TbMemberProjectSubitem> pageList = annualMemberProjectService.pageList(req, tbMemberProjectSubitem);
|
||||
List<TbMemberProjectSubitem> recordList;
|
||||
// 过滤选中数据
|
||||
String selections = req.getParameter("selections");
|
||||
if (oConvertUtils.isNotEmpty(selections)) {
|
||||
List<String> selectionList = Arrays.asList(selections.split(","));
|
||||
recordList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
|
||||
} else {
|
||||
recordList = pageList;
|
||||
}
|
||||
List<AnnualMemberProjectExcelVO> exportList = new ArrayList<>();
|
||||
for (TbMemberProjectSubitem item : recordList) {
|
||||
AnnualMemberProjectExcelVO annualMemberProjectExcelVO = new AnnualMemberProjectExcelVO();
|
||||
annualMemberProjectExcelVO.setMemberNo(item.getMemberNo());
|
||||
annualMemberProjectExcelVO.setMemberStatus(item.getMemberStatus());
|
||||
annualMemberProjectExcelVO.setLiaisonManId(item.getLiaisonManId());
|
||||
annualMemberProjectExcelVO.setCompanyName(item.getCompanyName());
|
||||
annualMemberProjectExcelVO.setInvalidationDateStr(item.getInvalidationDateStr());
|
||||
annualMemberProjectExcelVO.setEffectiveDateStr(item.getEffectiveDateStr());
|
||||
exportList.add(annualMemberProjectExcelVO);
|
||||
}
|
||||
return super.exportListXls(exportList, AnnualMemberProjectExcelVO.class, "会员信息统计");
|
||||
}
|
||||
}
|
||||
+59
-1
@@ -2,6 +2,7 @@ package com.jero.member.controller;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.YearMonth;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -36,6 +37,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.member.vo.PayMemberProjectSubitemExcel;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
@@ -87,6 +89,17 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
|
||||
HttpServletRequest req) {
|
||||
Map<String, String[]> parameterMap = req.getParameterMap();
|
||||
QueryWrapper<PayMemberProjectSubitem> queryWrapper = QueryGenerator.initQueryWrapper(payMemberProjectSubitem, parameterMap);
|
||||
// 处理预计到账开始日期,拼接 -01
|
||||
if (StringUtils.isNotBlank(payMemberProjectSubitem.getEstimatedArrivalStartDate())) {
|
||||
String startDate = payMemberProjectSubitem.getEstimatedArrivalStartDate() + "-01";
|
||||
payMemberProjectSubitem.setEstimatedArrivalStartDate(startDate);
|
||||
}
|
||||
// 处理预计到账结束日期,计算该月最后一天
|
||||
if (StringUtils.isNotBlank(payMemberProjectSubitem.getEstimatedArrivalEndDate())) {
|
||||
YearMonth yearMonth = YearMonth.parse(payMemberProjectSubitem.getEstimatedArrivalEndDate(), DateTimeFormatter.ofPattern("yyyy-MM"));
|
||||
LocalDate endDate = yearMonth.atEndOfMonth();
|
||||
payMemberProjectSubitem.setEstimatedArrivalEndDate(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
}
|
||||
// 预计到账开始日期
|
||||
String estimatedArrivalStartDate = payMemberProjectSubitem.getEstimatedArrivalStartDate();
|
||||
// 预计到账结束日期
|
||||
@@ -112,6 +125,17 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
|
||||
}
|
||||
Page<PayMemberProjectSubitem> page = new Page<>(pageNo, pageSize);
|
||||
IPage<PayMemberProjectSubitem> pageList = memberProjectSubitemService.getPage(page, queryWrapper);
|
||||
if(!CollectionUtils.isEmpty(pageList.getRecords())){
|
||||
List<PayMemberProjectSubitem> list = pageList.getRecords();
|
||||
list.forEach(p->{
|
||||
// 处理 预估到账日期 字段 ,变为yyyy-MM格式
|
||||
if(StringUtils.isNotBlank(p.getEstimatedArrivalDate())){
|
||||
String estimatedArrivalDate = p.getEstimatedArrivalDate();
|
||||
String formattedDate = estimatedArrivalDate.substring(0, 7); // 截取字符串的前7个字符 "yyyy-MM"
|
||||
p.setEstimatedArrivalDate(formattedDate);
|
||||
}
|
||||
});
|
||||
}
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
@@ -170,6 +194,7 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
|
||||
if (Objects.isNull(payMemberProjectSubitem.getEstimatedArrivalDate())) {
|
||||
return Result.error("预估到账日期不能为空");
|
||||
}
|
||||
payMemberProjectSubitem.setEstimatedArrivalDate(payMemberProjectSubitem.getEstimatedArrivalDate() + "-01");
|
||||
memberProjectService.check(payMemberProjectSubitem.getProjectId(),"safeguardMember:add");
|
||||
ValidUtil.validate(payMemberProjectSubitem);
|
||||
memberProjectSubitemService.add(payMemberProjectSubitem);
|
||||
@@ -187,6 +212,7 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
|
||||
if (Objects.isNull(payMemberProjectSubitem.getEstimatedArrivalDate())) {
|
||||
return Result.error("预估到账日期不能为空");
|
||||
}
|
||||
payMemberProjectSubitem.setEstimatedArrivalDate(payMemberProjectSubitem.getEstimatedArrivalDate() + "-01");
|
||||
memberProjectSubitemService.check(payMemberProjectSubitem.getId(),"safeguardMember:edit");
|
||||
ValidUtil.validate(payMemberProjectSubitem);
|
||||
memberProjectSubitemService.editById(payMemberProjectSubitem);
|
||||
@@ -249,6 +275,32 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
|
||||
if (!rolePermissionService.getRolePermission("safeguardMember:export")) {
|
||||
queryWrapper.eq("pmp.director_id",sysUser.getId());
|
||||
}
|
||||
|
||||
// 处理预计到账开始日期,拼接 -01
|
||||
if (StringUtils.isNotBlank(payMemberProjectSubitem.getEstimatedArrivalStartDate())) {
|
||||
String startDate = payMemberProjectSubitem.getEstimatedArrivalStartDate() + "-01";
|
||||
payMemberProjectSubitem.setEstimatedArrivalStartDate(startDate);
|
||||
}
|
||||
// 处理预计到账结束日期,计算该月最后一天
|
||||
if (StringUtils.isNotBlank(payMemberProjectSubitem.getEstimatedArrivalEndDate())) {
|
||||
YearMonth yearMonth = YearMonth.parse(payMemberProjectSubitem.getEstimatedArrivalEndDate(), DateTimeFormatter.ofPattern("yyyy-MM"));
|
||||
LocalDate endDate = yearMonth.atEndOfMonth();
|
||||
payMemberProjectSubitem.setEstimatedArrivalEndDate(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
}
|
||||
// 预计到账开始日期
|
||||
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);
|
||||
}
|
||||
Page<PayMemberProjectSubitem> page = new Page<>(-1, -1);
|
||||
IPage<PayMemberProjectSubitem> getPage = memberProjectSubitemService.getPage(page, queryWrapper);
|
||||
List<PayMemberProjectSubitem> pageList = getPage.getRecords();
|
||||
@@ -265,6 +317,11 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
|
||||
memberProjectSubitem.setPostContactMail(PasswordUtil.decrypt(contactsManagement.getEmail()));
|
||||
memberProjectSubitem.setPostContactAddress(contactsManagement.getContactAddress());
|
||||
memberProjectSubitem.setContactPostCode(contactsManagement.getPostalCode());
|
||||
if(StringUtils.isNotBlank(memberProjectSubitem.getEstimatedArrivalDate())){
|
||||
String estimatedArrivalDate = memberProjectSubitem.getEstimatedArrivalDate();
|
||||
String formattedDate = estimatedArrivalDate.substring(0, 7);
|
||||
memberProjectSubitem.setEstimatedArrivalDate(formattedDate);
|
||||
}
|
||||
}
|
||||
return super.exportListXls(pageList, PayMemberProjectSubitem.class, "会员项目成员表");
|
||||
}
|
||||
@@ -319,7 +376,8 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
|
||||
errorMessage.add("第" + errorRowNum + "行:预估到账日期不能为空");
|
||||
}else {
|
||||
try {
|
||||
LocalDate.parse(estimatedArrivalDate, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
projectSubitemExcel.setEstimatedArrivalDate(estimatedArrivalDate + "-01");
|
||||
LocalDate.parse(estimatedArrivalDate + "-01", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
}catch (Exception e) {
|
||||
errorMessage.add("第" + errorRowNum + "行:预估到账日期格式不正确");
|
||||
}
|
||||
|
||||
+12
-12
@@ -182,18 +182,18 @@ public class TbCertificatePaymentController extends JeroController<TbCertificate
|
||||
|
||||
@PostMapping(value = "/incomingUpdateCertificate")
|
||||
public Result<Object> incomingUpdateCertificate(@RequestBody TbCertificatePayment tbCertificatePayment){
|
||||
CertificatePaymentInfo certificatePaymentInfo = new CertificatePaymentInfo();
|
||||
certificatePaymentInfo.setId(tbCertificatePayment.getTbPaymentId());
|
||||
certificatePaymentInfo.setMemberId(tbCertificatePayment.getMemberId());
|
||||
certificatePaymentInfo.setInvoiceRequirements(tbCertificatePayment.getInvoiceRequirements());
|
||||
certificatePaymentInfo.setHeaderName(tbCertificatePayment.getHeaderName());
|
||||
certificatePaymentInfo.setTaxNumber(tbCertificatePayment.getTaxNumber());
|
||||
certificatePaymentInfo.setInvoiceAddress(tbCertificatePayment.getInvoiceAddress());
|
||||
certificatePaymentInfo.setInvoicePhone(tbCertificatePayment.getInvoicePhone());
|
||||
certificatePaymentInfo.setDepositBank(tbCertificatePayment.getDepositBank());
|
||||
certificatePaymentInfo.setBankAccount(tbCertificatePayment.getBankAccount());
|
||||
|
||||
AuthenticationUtils.post("/certificatePaymentInfo/incomingUpdateCertificate",null,certificatePaymentInfo);
|
||||
//CertificatePaymentInfo certificatePaymentInfo = new CertificatePaymentInfo();
|
||||
//certificatePaymentInfo.setId(tbCertificatePayment.getTbPaymentId());
|
||||
//certificatePaymentInfo.setMemberId(tbCertificatePayment.getMemberId());
|
||||
//certificatePaymentInfo.setInvoiceRequirements(tbCertificatePayment.getInvoiceRequirements());
|
||||
//certificatePaymentInfo.setHeaderName(tbCertificatePayment.getHeaderName());
|
||||
//certificatePaymentInfo.setTaxNumber(tbCertificatePayment.getTaxNumber());
|
||||
//certificatePaymentInfo.setInvoiceAddress(tbCertificatePayment.getInvoiceAddress());
|
||||
//certificatePaymentInfo.setInvoicePhone(tbCertificatePayment.getInvoicePhone());
|
||||
//certificatePaymentInfo.setDepositBank(tbCertificatePayment.getDepositBank());
|
||||
//certificatePaymentInfo.setBankAccount(tbCertificatePayment.getBankAccount());
|
||||
//
|
||||
//AuthenticationUtils.post("/certificatePaymentInfo/incomingUpdateCertificate",null,certificatePaymentInfo);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
|
||||
+65
-14
@@ -1,29 +1,25 @@
|
||||
package com.jero.member.controller;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.time.LocalDate;
|
||||
import java.time.YearMonth;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.format.DateParser;
|
||||
import com.jero.aspect.annotation.CompanyNameTranslate;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.DictModel;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.jero.company.entity.PayCompanyManagement;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.member.entity.TbMemberProject;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
@@ -31,6 +27,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.member.vo.*;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -60,6 +60,15 @@ public class TbMemberProjectSubitemController extends JeroController<TbMemberPro
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private IPayCompanyManagementService payCompanyManagementService;
|
||||
@Resource
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
|
||||
@Resource
|
||||
private IPayCompanyManagementTemporaryService companyManagementTemporaryService;
|
||||
@Resource
|
||||
private IPayContactsManagementTemporaryService contactsManagementTemporaryService;
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@@ -72,6 +81,17 @@ public class TbMemberProjectSubitemController extends JeroController<TbMemberPro
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
Page<TbMemberProjectSubitem> page = new Page<>(pageNo, pageSize);
|
||||
// 处理预计到账开始日期,拼接 -01
|
||||
if (StringUtils.isNotBlank(tbMemberProjectSubitem.getEstimatedArrivalDate_begin())) {
|
||||
String startDate = tbMemberProjectSubitem.getEstimatedArrivalDate_begin() + "-01";
|
||||
tbMemberProjectSubitem.setEstimatedArrivalDate_begin(startDate);
|
||||
}
|
||||
// 处理预计到账结束日期,计算该月最后一天
|
||||
if (StringUtils.isNotBlank(tbMemberProjectSubitem.getEstimatedArrivalDate_end())) {
|
||||
YearMonth yearMonth = YearMonth.parse(tbMemberProjectSubitem.getEstimatedArrivalDate_end(), DateTimeFormatter.ofPattern("yyyy-MM"));
|
||||
LocalDate endDate = yearMonth.atEndOfMonth();
|
||||
tbMemberProjectSubitem.setEstimatedArrivalDate_end(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
}
|
||||
IPage<TbMemberProjectSubitem> pageList = tbMemberProjectSubitemService.pageList(page, req, tbMemberProjectSubitem);
|
||||
for (TbMemberProjectSubitem record : pageList.getRecords()) {
|
||||
record.setEmail(PasswordUtil.decrypt(record.getEmail()));
|
||||
@@ -264,6 +284,17 @@ public class TbMemberProjectSubitemController extends JeroController<TbMemberPro
|
||||
@RequiresPermissions("safeguardStardsMember:export")
|
||||
@GetMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, TbMemberProjectSubitem tbMemberProjectSubitem) {
|
||||
// 处理预计到账开始日期,拼接 -01
|
||||
if (StringUtils.isNotBlank(tbMemberProjectSubitem.getEstimatedArrivalDate_begin())) {
|
||||
String startDate = tbMemberProjectSubitem.getEstimatedArrivalDate_begin() + "-01";
|
||||
tbMemberProjectSubitem.setEstimatedArrivalDate_begin(startDate);
|
||||
}
|
||||
// 处理预计到账结束日期,计算该月最后一天
|
||||
if (StringUtils.isNotBlank(tbMemberProjectSubitem.getEstimatedArrivalDate_end())) {
|
||||
YearMonth yearMonth = YearMonth.parse(tbMemberProjectSubitem.getEstimatedArrivalDate_end(), DateTimeFormatter.ofPattern("yyyy-MM"));
|
||||
LocalDate endDate = yearMonth.atEndOfMonth();
|
||||
tbMemberProjectSubitem.setEstimatedArrivalDate_end(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
}
|
||||
List<TbMemberProjectSubitem> pageList = tbMemberProjectSubitemService.pageList(request,tbMemberProjectSubitem);
|
||||
List<TbMemberProjectSubitem> exportList;
|
||||
// 过滤选中数据
|
||||
@@ -274,7 +305,27 @@ public class TbMemberProjectSubitemController extends JeroController<TbMemberPro
|
||||
} else {
|
||||
exportList = pageList;
|
||||
}
|
||||
|
||||
for (TbMemberProjectSubitem memberProjectSubitem : exportList) {
|
||||
String companyId = memberProjectSubitem.getCompanyId();
|
||||
String companyTemporaryId = memberProjectSubitem.getCompanyTemporaryId();
|
||||
String liaisonManId = memberProjectSubitem.getLiaisonManId();
|
||||
String companyContactTemporaryId = memberProjectSubitem.getCompanyContactTemporaryId();
|
||||
if (StringUtils.isNotBlank(companyId)) {
|
||||
PayCompanyManagementTemporary payCompanyManagement = companyManagementTemporaryService.getByAllTable(companyId, companyTemporaryId);
|
||||
if (!Objects.isNull(payCompanyManagement)) {
|
||||
memberProjectSubitem.setDutyCode(payCompanyManagement.getDutyCode());
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(liaisonManId)) {
|
||||
PayContactsManagementTemporary payContactsManagement = contactsManagementTemporaryService.getByAllTable(liaisonManId, companyContactTemporaryId);
|
||||
if (!Objects.isNull(payContactsManagement)) {
|
||||
memberProjectSubitem.setEmail(payContactsManagement.getEmail());
|
||||
memberProjectSubitem.setMobile(PasswordUtil.decrypt(payContactsManagement.getPhone()));
|
||||
memberProjectSubitem.setContactAddress(payContactsManagement.getContactAddress());
|
||||
memberProjectSubitem.setPostalCode(payContactsManagement.getPostalCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.exportListXls(exportList, TbMemberProjectSubitem.class, "标协会员项目成员表");
|
||||
}
|
||||
|
||||
|
||||
+55
-12
@@ -78,6 +78,10 @@ public class TbMemberProjectSubitem implements Serializable {
|
||||
@Excel(name = "会员单位", width = 15, dictTable = "pay_company_management", dicText = "company_name", dicCode = "id")
|
||||
@Dict(dictTable = "pay_company_management", dicText = "company_name", dicCode = "id")
|
||||
private String companyId;
|
||||
/**
|
||||
* 企业临时id
|
||||
*/
|
||||
private String companyTemporaryId;
|
||||
|
||||
/**会员单位*/
|
||||
@ApiModelProperty(value = "会员单位")
|
||||
@@ -100,10 +104,36 @@ public class TbMemberProjectSubitem implements Serializable {
|
||||
@Dict(dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
|
||||
private String liaisonManId;
|
||||
|
||||
/**
|
||||
* 企业联系人临时id
|
||||
*/
|
||||
private String companyContactTemporaryId;
|
||||
|
||||
/**联系人*/
|
||||
@ApiModelProperty(value = "联系人")
|
||||
private String liaisonMan;
|
||||
|
||||
/**邮箱*/
|
||||
@Excel(name = "联系人邮箱", width = 20,exportConvert = true)
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
private String email;
|
||||
|
||||
/**手机*/
|
||||
@Excel(name = "联系人手机", width = 15,exportConvert = true)
|
||||
@ApiModelProperty(value = "手机")
|
||||
private String mobile;
|
||||
|
||||
/**通讯地址*/
|
||||
@Excel(name = "联系人通讯地址", width = 15)
|
||||
@ApiModelProperty(value = "通讯地址")
|
||||
@TableField(exist = false)
|
||||
private String contactAddress;
|
||||
/**邮政编码*/
|
||||
@Excel(name = "联系人邮政编码", width = 15)
|
||||
@ApiModelProperty(value = "邮政编码")
|
||||
@TableField(exist = false)
|
||||
private String postalCode;
|
||||
|
||||
@ApiModelProperty(value = "邮寄企业id")
|
||||
private String postCompanyId;
|
||||
|
||||
@@ -111,15 +141,10 @@ public class TbMemberProjectSubitem implements Serializable {
|
||||
@Excel(name = "邮寄联系人", width = 15, dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
|
||||
private String postContactId;
|
||||
|
||||
/**邮箱*/
|
||||
//@Excel(name = "邮箱", width = 20,exportConvert = true)
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
private String email;
|
||||
|
||||
/**手机*/
|
||||
//@Excel(name = "手机", width = 15,exportConvert = true)
|
||||
@ApiModelProperty(value = "手机")
|
||||
private String mobile;
|
||||
/**
|
||||
* 邮寄联系人临时id
|
||||
*/
|
||||
private String postContactTemporaryId;
|
||||
|
||||
/**会员状态*/
|
||||
//@Excel(name = "会员状态", width = 15, dicCode = "member_status")
|
||||
@@ -174,12 +199,22 @@ public class TbMemberProjectSubitem implements Serializable {
|
||||
private BigDecimal confirmAmount;
|
||||
|
||||
/**预估到账日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "预估到账日期")
|
||||
@Excel(name = "预估到账日期", width = 15, format = "yyyy-MM-dd")
|
||||
@Excel(name = "预估到账日期", width = 15, format = "yyyy-MM")
|
||||
private Date estimatedArrivalDate;
|
||||
|
||||
/**预计到账开始日期*/
|
||||
@ApiModelProperty(value = "预计到账开始的日期")
|
||||
@TableField(exist = false)
|
||||
private String estimatedArrivalDate_begin;
|
||||
|
||||
/**预计到账结束的日期*/
|
||||
@ApiModelProperty(value = "预计到账结束的日期")
|
||||
@TableField(exist = false)
|
||||
private String estimatedArrivalDate_end;
|
||||
|
||||
/**需要发票*/
|
||||
@Excel(name = "需要发票", width = 15,dicCode = "invoice_type")
|
||||
@ApiModelProperty(value = "需要发票")
|
||||
@@ -194,13 +229,16 @@ public class TbMemberProjectSubitem implements Serializable {
|
||||
|
||||
/**到账*/
|
||||
@ApiModelProperty(value = "到账")
|
||||
@Excel(name = "是否到账", width = 15, dicCode = "account_type")
|
||||
private Integer inAccount;
|
||||
|
||||
/**开票*/
|
||||
@ApiModelProperty(value = "开票")
|
||||
@Excel(name = "是否开票", width = 15, dicCode = "make_invoice_type")
|
||||
private Integer makeInvoice;
|
||||
|
||||
@ApiModelProperty(value = "确认收入((1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志)))")
|
||||
@Excel(name = "是否确收", width = 15, dicCode = "affirmi_ncome")
|
||||
private Integer affirmIncome;
|
||||
|
||||
/**邮寄*/
|
||||
@@ -209,7 +247,7 @@ public class TbMemberProjectSubitem implements Serializable {
|
||||
|
||||
/**提票"*/
|
||||
@ApiModelProperty(value = "提票")
|
||||
//@Excel(name = "提票", width = 15,dicCode = "yn")
|
||||
@Excel(name = "是否提票", width = 15,dicCode = "yn")
|
||||
@Dict(dicCode = "yn")
|
||||
private Integer ticketCollection;
|
||||
|
||||
@@ -400,4 +438,9 @@ public class TbMemberProjectSubitem implements Serializable {
|
||||
@ApiModelProperty(value = "权益状态")
|
||||
@TableField(exist = false)
|
||||
private String equityStatus;
|
||||
|
||||
@ApiModelProperty(value = "信用代码")
|
||||
@TableField(exist = false)
|
||||
@Excel(name = "信用代码", width = 15)
|
||||
private String dutyCode;
|
||||
}
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.jero.member.mapper;
|
||||
|
||||
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.member.entity.TbMemberProjectSubitem;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 年度会员维护
|
||||
*/
|
||||
public interface AnnualMemberProjectMapper {
|
||||
|
||||
IPage<TbMemberProjectSubitem> pageList(Page<TbMemberProjectSubitem> page, @Param(Constants.WRAPPER) QueryWrapper<TbMemberProjectSubitem> queryWrapper);
|
||||
|
||||
List<TbMemberProjectSubitem> pageList(@Param(Constants.WRAPPER) QueryWrapper<TbMemberProjectSubitem> queryWrapper);
|
||||
|
||||
}
|
||||
+3
@@ -23,4 +23,7 @@ public interface PayMemberProjectSubitemMapper extends BaseMapper<PayMemberProje
|
||||
List<PayMemberProjectSubitem> queryPageListCompany(@Param(Constants.WRAPPER) QueryWrapper<PayMemberProjectSubitem> queryWrapper);
|
||||
|
||||
IPage<PayMemberProjectSubitem> getPage(Page<PayMemberProjectSubitem> page, @Param(Constants.WRAPPER) QueryWrapper<PayMemberProjectSubitem> queryWrapper);
|
||||
|
||||
|
||||
List<PayMemberProjectSubitem> listByYear(@Param("year") String year);
|
||||
}
|
||||
|
||||
+4
@@ -61,4 +61,8 @@ public interface TbMemberProjectSubitemMapper extends BaseMapper<TbMemberProject
|
||||
IPage<TbMemberProjectSubitem> pageAllMemberName(Page<TbMemberProjectSubitem> page);
|
||||
|
||||
List<TbMemberProjectSubitem> getAllYearInfoByCompanyId(@Param("companyId") String companyId);
|
||||
|
||||
List<TbMemberProjectSubitem> listByYear(@Param("year") String year);
|
||||
|
||||
List<TbMemberProjectSubitem> queryListCompanyYear(@Param(Constants.WRAPPER) QueryWrapper<TbMemberProjectSubitem> queryTbMemberProjectSubitem);
|
||||
}
|
||||
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.member.mapper.AnnualMemberProjectMapper">
|
||||
|
||||
|
||||
<resultMap id="AnnualMemberProjectResultMap" type="com.jero.member.entity.TbMemberProjectSubitem">
|
||||
<id column="id" property="id" />
|
||||
<result column="id" property="id" />
|
||||
<result column="company_name" property="companyName" />
|
||||
<result column="member_no" property="memberNo" />
|
||||
<result column="member_status" property="memberStatus" />
|
||||
<result column="liaison_man_id" property="liaisonManId" />
|
||||
<result column="effective_date" property="effectiveDateStr" />
|
||||
<result column="invalidation_date" property="invalidationDateStr" />
|
||||
</resultMap>
|
||||
|
||||
<select id="pageList" resultMap="AnnualMemberProjectResultMap">
|
||||
select
|
||||
vmps.*
|
||||
from v_member_project_subitem vmps
|
||||
LEFT JOIN tb_member_project tmp on tmp.id = vmps.project_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
+8
-3
@@ -62,7 +62,6 @@
|
||||
|
||||
<select id="getPage" resultMap="MemberProjectSubitemResultMap">
|
||||
select pmps.id,pmps.create_by,pmps.create_time,pmps.update_by,pmps.update_time,pmps.project_id,pmps.company_id,pmps.company_temporary_id,
|
||||
# if(pmps.company_name = pcm.company_name, pmps.company_name, concat(pmps.company_name,'(更名为',pcm.company_name,')')) as company_name,
|
||||
IF(
|
||||
pmps.company_name =
|
||||
IF(
|
||||
@@ -82,12 +81,18 @@
|
||||
pmps.estimated_arrival_date
|
||||
from pay_member_project_subitem pmps
|
||||
left join pay_member_project pmp on pmps.project_id = pmp.id
|
||||
left join pay_company_management_temporary pcmt on pmps.company_temporary_id = pcmt.id
|
||||
left join pay_company_management pcm on pcmt.company_id = pcm.id
|
||||
left join pay_company_management pcm on pmps.company_id = pcm.id
|
||||
${ew.customSqlSegment}
|
||||
|
||||
<where>
|
||||
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="listByYear" resultType="com.jero.member.entity.PayMemberProjectSubitem">
|
||||
select pmps.*
|
||||
from pay_member_project_subitem pmps
|
||||
left join pay_member_project pmp on pmps.project_id = pmp.id
|
||||
where pmp.particular_year = #{year}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+44
-2
@@ -70,6 +70,7 @@
|
||||
<result column="invalidation_date" property="invalidationDate"/>
|
||||
<result column="year" property="year"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="queryListByCompany" resultType="com.jero.member.entity.TbMemberProjectSubitem">
|
||||
SELECT tmps.*,tmp.project_name,#{projectType} AS projectType FROM tb_member_project_subitem tmps
|
||||
LEFT JOIN tb_member_project tmp ON tmps.project_id = tmp.id
|
||||
@@ -87,10 +88,37 @@
|
||||
GROUP BY tmps.id ORDER BY tmps.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="pageList" resultMap="TbMemberProjectSubitemResultMap">
|
||||
select distinct tmps.*
|
||||
<select id="pageList" resultType="com.jero.member.entity.TbMemberProjectSubitem">
|
||||
select tmps.id,tmps.create_by,tmps.create_time,tmps.update_by,tmps.update_time,tmps.project_id,tmps.member_no,
|
||||
tmps.company_id,
|
||||
tmps.company_temporary_id,
|
||||
ifnull( IF(
|
||||
tmps.company_name =
|
||||
IF(
|
||||
tmps.company_name LIKE '%(未审核)',
|
||||
CONCAT(pcm.company_name, '(未审核)'),
|
||||
pcm.company_name
|
||||
),
|
||||
tmps.company_name,
|
||||
CONCAT(tmps.company_name, '(更名为', pcm.company_name, ')')
|
||||
), tmps.company_name) AS company_name,
|
||||
tmps.member_nature,
|
||||
tmps.member_type,tmps.liaison_man_id,tmps.company_contact_temporary_id,
|
||||
tmps.liaison_man,tmps.post_company_id,tmps.post_contact_id,tmps.post_contact_temporary_id,tmps.email,tmps.mobile,
|
||||
tmps.member_status,tmps.register_time,tmps.amount_receivable,tmps.tax_rate,
|
||||
tmps.tax,tmps.no_tax_amount,tmps.paid_amount,tmps.confirm_amount,tmps.estimated_arrival_date,
|
||||
tmps.invoice_requirements,tmps.pack,tmps.in_account,tmps.make_invoice,tmps.affirm_income,
|
||||
tmps.mail,tmps.ticket_collection,tmps.charge_use,tmps.payment_method,tmps.tb_payment_id,tmps.invoice_amount,
|
||||
tmps.payment_status,tmps.bill_number,tmps.member_id,tmps.payment_record,
|
||||
tmps.submission_time,tmps.header_name,tmps.tax_number,tmps.invoice_address,tmps.invoice_phone,tmps.deposit_bank,
|
||||
tmps.bank_account,tmps.link_bank_number,tmps.confirm_tax,tmps.confirm_no_tax_amount,tmps.paid_tax,tmps.paid_no_tax_amount,
|
||||
tmps.invoice_tax,tmps.invoice_no_tax_amount,tmps.member_payment_amount,tmps.certificate_payment_amount,tmps.other_payment_amount,
|
||||
tmps.admin_add_flag,tmps.charge_notice_no,tmps.charge_notice_id,tmps.contract_num,tmps.remark,tmps.effective_date,
|
||||
tmps.invalidation_date
|
||||
|
||||
from tb_member_project_subitem tmps
|
||||
LEFT JOIN tb_member_project tmp on tmp.id = tmps.project_id
|
||||
left join pay_company_management pcm on tmps.company_id = pcm.id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
@@ -169,4 +197,18 @@
|
||||
tmps.company_id = #{companyId}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="listByYear" resultType="com.jero.member.entity.TbMemberProjectSubitem">
|
||||
select tmps.*,tmp.year
|
||||
from tb_member_project_subitem tmps
|
||||
LEFT JOIN tb_member_project tmp on tmp.id = tmps.project_id
|
||||
where tmp.year = #{year}
|
||||
</select>
|
||||
|
||||
<select id="queryListCompanyYear" resultMap="TbMemberProjectSubitemResultMap">
|
||||
select tmps.*
|
||||
from tb_member_project_subitem tmps
|
||||
LEFT JOIN tb_member_project tmp on tmp.id = tmps.project_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
package com.jero.member.service;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.service.RolePermissionService;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.mapper.AnnualMemberProjectMapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 年度会员维护
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class IAnnualMemberProjectService {
|
||||
|
||||
@Resource
|
||||
private AnnualMemberProjectMapper annualMemberProjectMapper;
|
||||
@Resource
|
||||
private RolePermissionService rolePermissionService;
|
||||
|
||||
|
||||
public IPage<TbMemberProjectSubitem> pageList(Page<TbMemberProjectSubitem> page, HttpServletRequest request, TbMemberProjectSubitem tbMemberProjectSubitem) {
|
||||
QueryWrapper<TbMemberProjectSubitem> queryWrapper = generateQueryWrapper(request, tbMemberProjectSubitem);
|
||||
return annualMemberProjectMapper.pageList(page,queryWrapper);
|
||||
}
|
||||
|
||||
public List<TbMemberProjectSubitem> pageList(HttpServletRequest request, TbMemberProjectSubitem tbMemberProjectSubitem) {
|
||||
QueryWrapper<TbMemberProjectSubitem> queryWrapper = generateQueryWrapper(request, tbMemberProjectSubitem);
|
||||
return annualMemberProjectMapper.pageList(queryWrapper);
|
||||
}
|
||||
|
||||
private QueryWrapper<TbMemberProjectSubitem> generateQueryWrapper(HttpServletRequest request, TbMemberProjectSubitem tbMemberProjectSubitem){
|
||||
QueryWrapper<TbMemberProjectSubitem> queryWrapper = QueryGenerator.initQueryWrapper(tbMemberProjectSubitem, request.getParameterMap());
|
||||
String invalidationDateStr = tbMemberProjectSubitem.getInvalidationDateStr();
|
||||
String effectiveDateStr = tbMemberProjectSubitem.getEffectiveDateStr();
|
||||
if (StringUtils.isNotBlank(invalidationDateStr)){
|
||||
DateTime invalidationDate = DateUtil.parse(invalidationDateStr, DatePattern.NORM_MONTH_PATTERN);
|
||||
queryWrapper.eq("year(invalidation_date)",invalidationDate.year());
|
||||
queryWrapper.eq("month(invalidation_date)",invalidationDate.month()+1);
|
||||
}
|
||||
if (StringUtils.isNotBlank(effectiveDateStr)){
|
||||
DateTime effectiveDate = DateUtil.parse(effectiveDateStr, DatePattern.NORM_MONTH_PATTERN);
|
||||
queryWrapper.eq("year(effective_date)",effectiveDate.year());
|
||||
queryWrapper.eq("month(effective_date)",effectiveDate.month()+1);
|
||||
}
|
||||
// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
// if (!rolePermissionService.getRolePermission("memberStatistic:search")) {
|
||||
// queryWrapper.eq("tmp.director_id",sysUser.getId());
|
||||
// }
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
}
|
||||
+28
@@ -17,7 +17,9 @@ import com.jero.member.service.IPayMemberProjectSubitemService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.mapper.SysUserMapper;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -51,6 +53,8 @@ public class IPayMemberProjectService extends ServiceImpl<PayMemberProjectMapper
|
||||
private IPayIncomeContractService payIncomeContractService;
|
||||
@Resource
|
||||
private RolePermissionService rolePermissionService;
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -66,6 +70,9 @@ public class IPayMemberProjectService extends ServiceImpl<PayMemberProjectMapper
|
||||
if (integer>0){
|
||||
throw new JeroBootException("项目名称重复");
|
||||
}
|
||||
String year = payMemberProject.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
//判断联系人
|
||||
String directorId = payMemberProject.getDirectorId();
|
||||
SysUser sysUser = userMapper.selectById(directorId);
|
||||
@@ -83,6 +90,16 @@ public class IPayMemberProjectService extends ServiceImpl<PayMemberProjectMapper
|
||||
* @return
|
||||
*/
|
||||
public void editById(PayMemberProject payMemberProject) {
|
||||
String year = payMemberProject.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
|
||||
String id = payMemberProject.getId();
|
||||
PayMemberProject memberProjectOld = this.getById(id);
|
||||
String year1 = memberProjectOld.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking1 = annualDataLockingService.judgeUserYear(year1);
|
||||
|
||||
saveOrUpdate(payMemberProject);
|
||||
}
|
||||
|
||||
@@ -93,6 +110,11 @@ public class IPayMemberProjectService extends ServiceImpl<PayMemberProjectMapper
|
||||
* @return
|
||||
*/
|
||||
public void deleteById(String id) {
|
||||
PayMemberProject memberProjectOld = this.getById(id);
|
||||
String year1 = memberProjectOld.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year1);
|
||||
|
||||
LambdaQueryWrapper<PayMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayMemberProjectSubitem::getProjectId, id);
|
||||
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(query);
|
||||
@@ -109,6 +131,12 @@ public class IPayMemberProjectService extends ServiceImpl<PayMemberProjectMapper
|
||||
* @return
|
||||
*/
|
||||
public void deleteByIds(List<String> ids) {
|
||||
for (String id : ids) {
|
||||
PayMemberProject memberProjectOld = this.getById(id);
|
||||
String year1 = memberProjectOld.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year1);
|
||||
}
|
||||
LambdaQueryWrapper<PayMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||
query.in(PayMemberProjectSubitem::getProjectId, ids);
|
||||
List<PayMemberProjectSubitem> listPayMemberProjectSubitem = memberProjectSubitemService.list(query);
|
||||
|
||||
+44
-84
@@ -25,11 +25,11 @@ import com.jero.member.entity.PayMemberProject;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.jero.member.mapper.PayMemberProjectMapper;
|
||||
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
||||
import com.jero.member.service.IPayMemberProjectService;
|
||||
import com.jero.member.service.IPayMemberProjectSubitemService;
|
||||
import com.jero.pack.entity.PayPackCompanyProject;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
@@ -80,6 +80,8 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
private PayMemberProjectMapper payMemberProjectMapper;
|
||||
@Resource
|
||||
private IPayMailBillService payMailBillService;
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
@@ -89,6 +91,9 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
if (memberProject == null){
|
||||
throw new JeroBootException("会员项目不存在");
|
||||
}
|
||||
String year = memberProject.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
String companyId = payMemberProjectSubitem.getCompanyId();
|
||||
LambdaQueryWrapper<PayMemberProjectSubitem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayMemberProjectSubitem::getProjectId,projectId);
|
||||
@@ -97,8 +102,7 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
if (count>0){
|
||||
throw new JeroBootException("会员单位已经存在");
|
||||
}
|
||||
// validMemberProjectSubitem(payMemberProjectSubitem);
|
||||
validMemberProjectSubitemAdd(payMemberProjectSubitem);
|
||||
validMemberProjectSubitemAdd(payMemberProjectSubitem,annualDataLocking);
|
||||
//实收金额
|
||||
payMemberProjectSubitem.setPaidAmount(new BigDecimal("0.00"));
|
||||
//到账
|
||||
@@ -160,8 +164,16 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
String id = payMemberProjectSubitem.getId();
|
||||
PayMemberProjectSubitem payMemberProjectSubitem1 = getById(id);
|
||||
if (payMemberProjectSubitem1 == null){
|
||||
throw new JeroBootException("项目成员不存在");
|
||||
}
|
||||
PayMemberProject memberProject = memberProjectService.getById(payMemberProjectSubitem1.getProjectId());
|
||||
if (memberProject == null){
|
||||
throw new JeroBootException("会员项目不存在");
|
||||
}
|
||||
String year = memberProject.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
|
||||
// 项目为打包状态 || 到账!=0 || 开票!=0 || 邮寄!=0
|
||||
if(!Objects.equals(payMemberProjectSubitem.getCompanyId(),payMemberProjectSubitem1.getCompanyId())
|
||||
&& (Objects.equals(payMemberProjectSubitem.getPack(),PayProjectCommon.PACKAGING1)
|
||||
@@ -203,21 +215,6 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
payMemberProjectSubitem.setMakeInvoice(payMemberProjectSubitem1.getMakeInvoice());
|
||||
payMemberProjectSubitem.setMail(payMemberProjectSubitem1.getMail());
|
||||
|
||||
//如果原始企业id和现在企业id不同,就删除临时表数据
|
||||
// String companyId = payMemberProjectSubitem.getCompanyTemporaryId();
|
||||
// if (!payMemberProjectSubitem1.getCompanyTemporaryId().equals(companyId)) {
|
||||
// companyManagementTemporaryService.removeById(companyId);
|
||||
// }
|
||||
// //如果原始企业联系人id和现在企业联系人id不同,就删除临时表数据
|
||||
// String companyContactId = payMemberProjectSubitem.getCompanyContactTemporaryId();
|
||||
// if (!payMemberProjectSubitem1.getCompanyContactTemporaryId().equals(companyContactId)) {
|
||||
// contactsManagementTemporaryService.removeById(companyContactId);
|
||||
// }
|
||||
// //如果原始邮寄联系人id和现在邮寄联系人id不同,就删除临时表数据
|
||||
// String postContactId = payMemberProjectSubitem.getPostContactTemporaryId();
|
||||
// if (!payMemberProjectSubitem1.getPostContactTemporaryId().equals(postContactId)) {
|
||||
// contactsManagementTemporaryService.removeById(postContactId);
|
||||
// }
|
||||
// 变更待确收金额,重新校验状态
|
||||
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payMemberProjectSubitem.getId(),payMemberProjectSubitem.getAmountReceivable(),payMemberProjectSubitem.getNeedInvoice());
|
||||
if(!Objects.isNull(projectStatusVO)){
|
||||
@@ -246,7 +243,7 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
if(Objects.equals(payMemberProjectSubitem.getPaymentMethod(),PayProjectCommon.CHARGE_WAY3)){
|
||||
payMemberProjectSubitem.setContractNo(null);
|
||||
}
|
||||
validMemberProjectSubitemEdit(payMemberProjectSubitem,payMemberProjectSubitem1);
|
||||
validMemberProjectSubitemEdit(payMemberProjectSubitem,payMemberProjectSubitem1,annualDataLocking);
|
||||
saveOrUpdate(payMemberProjectSubitem);
|
||||
// 如果有邮寄信息更新邮寄联系人信息
|
||||
String mailContactsId = payMemberProjectSubitem.getPostContactId();
|
||||
@@ -255,13 +252,15 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
|
||||
/**
|
||||
* 校验会员项目成员
|
||||
*
|
||||
* @param payMemberProjectSubitem 会员项目成员
|
||||
* @param annualDataLocking
|
||||
*/
|
||||
public void validMemberProjectSubitemAdd(PayMemberProjectSubitem payMemberProjectSubitem) {
|
||||
public void validMemberProjectSubitemAdd(PayMemberProjectSubitem payMemberProjectSubitem, AnnualDataLocking annualDataLocking) {
|
||||
List<String> errors = new ArrayList<>();
|
||||
// 企业
|
||||
try {
|
||||
PayCompanyManagementTemporary chargeCompanyName = companyManagementTemporaryService.insertCompanyManagementTemporary(payMemberProjectSubitem.getCompanyId());
|
||||
PayCompanyManagementTemporary chargeCompanyName = companyManagementTemporaryService.insertCompanyManagementTemporary(payMemberProjectSubitem.getCompanyId(), annualDataLocking);
|
||||
if (Objects.isNull(chargeCompanyName)) {
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
@@ -272,7 +271,7 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
}
|
||||
// 联系人
|
||||
try {
|
||||
PayContactsManagementTemporary contactsName = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getCompanyContactId());
|
||||
PayContactsManagementTemporary contactsName = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getCompanyContactId(), annualDataLocking);
|
||||
if (Objects.isNull(contactsName)) {
|
||||
throw new JeroBootException("联系人名称为空!");
|
||||
}
|
||||
@@ -283,7 +282,7 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
}
|
||||
try {
|
||||
// 联系人
|
||||
PayContactsManagementTemporary postContactsName = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getPostContactId());
|
||||
PayContactsManagementTemporary postContactsName = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getPostContactId(), annualDataLocking);
|
||||
if (Objects.isNull(postContactsName)) {
|
||||
throw new JeroBootException("邮寄联系人为空!");
|
||||
}
|
||||
@@ -310,41 +309,43 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
|
||||
/**
|
||||
* 校验会员项目成员
|
||||
*
|
||||
* @param payMemberProjectSubitem 会员项目成员
|
||||
* @param annualDataLocking
|
||||
*/
|
||||
public void validMemberProjectSubitemEdit(PayMemberProjectSubitem payMemberProjectSubitem,PayMemberProjectSubitem payMemberProjectSubitemOld) {
|
||||
public void validMemberProjectSubitemEdit(PayMemberProjectSubitem payMemberProjectSubitem, PayMemberProjectSubitem payMemberProjectSubitemOld, AnnualDataLocking annualDataLocking) {
|
||||
// 企业id != 企业模板id 变更
|
||||
if(!Objects.equals(payMemberProjectSubitem.getCompanyId(),payMemberProjectSubitemOld.getCompanyId())){
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = companyManagementTemporaryService.insertCompanyManagementTemporary(payMemberProjectSubitem.getCompanyId());
|
||||
PayCompanyManagementTemporary chargeCompanyName = companyManagementTemporaryService.insertCompanyManagementTemporary(payMemberProjectSubitem.getCompanyId(), annualDataLocking);
|
||||
if(Objects.isNull(chargeCompanyName)){
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
payMemberProjectSubitem.setCompanyTemporaryId(chargeCompanyName.getId());
|
||||
payMemberProjectSubitem.setCompanyName(chargeCompanyName.getCompanyName());
|
||||
companyManagementTemporaryService.removeById(payMemberProjectSubitemOld.getCompanyTemporaryId());
|
||||
//companyManagementTemporaryService.removeById(payMemberProjectSubitemOld.getCompanyTemporaryId());
|
||||
}
|
||||
|
||||
// 联系人id != 联系人模板id 变更
|
||||
// 联系人
|
||||
PayContactsManagementTemporary companyContact = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getCompanyContactId());
|
||||
PayContactsManagementTemporary companyContact = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getCompanyContactId(), annualDataLocking);
|
||||
if(Objects.isNull(companyContact)){
|
||||
throw new JeroBootException("联系人名称为空!");
|
||||
}
|
||||
payMemberProjectSubitem.setCompanyContactTemporaryId(companyContact.getId());
|
||||
payMemberProjectSubitem.setCompanyContactName(companyContact.getName());
|
||||
contactsManagementTemporaryService.removeById(payMemberProjectSubitemOld.getCompanyContactTemporaryId());
|
||||
// contactsManagementTemporaryService.removeById(payMemberProjectSubitemOld.getCompanyContactTemporaryId());
|
||||
|
||||
// 邮寄联系人id != 邮寄联系人模板id 变更
|
||||
if(!Objects.equals(payMemberProjectSubitem.getPostContactId(),payMemberProjectSubitemOld.getPostContactId())){
|
||||
// 联系人
|
||||
PayContactsManagementTemporary postContact = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getPostContactId());
|
||||
PayContactsManagementTemporary postContact = contactsManagementTemporaryService.insertContactsManagementTemporary(payMemberProjectSubitem.getPostContactId(), annualDataLocking);
|
||||
if(Objects.isNull(postContact)){
|
||||
throw new JeroBootException("邮寄联系人为空!");
|
||||
}
|
||||
payMemberProjectSubitem.setPostContactTemporaryId(postContact.getId());
|
||||
payMemberProjectSubitem.setPostContactName(postContact.getName());
|
||||
contactsManagementTemporaryService.removeById(payMemberProjectSubitemOld.getPostContactTemporaryId());
|
||||
// contactsManagementTemporaryService.removeById(payMemberProjectSubitemOld.getPostContactTemporaryId());
|
||||
}
|
||||
|
||||
//校验来款方式
|
||||
@@ -359,53 +360,6 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验会员项目成员
|
||||
* @param payMemberProjectSubitem 会员项目成员
|
||||
*/
|
||||
public void validMemberProjectSubitem(PayMemberProjectSubitem payMemberProjectSubitem) {
|
||||
//校验企业
|
||||
String companyId = payMemberProjectSubitem.getCompanyId();
|
||||
PayCompanyManagementTemporary companyManagementTemporary = companyManagementTemporaryService.insertCompanyManagementTemporary(companyId);
|
||||
payMemberProjectSubitem.setCompanyTemporaryId(companyManagementTemporary.getId());
|
||||
payMemberProjectSubitem.setCompanyName(companyManagementTemporary.getCompanyName());
|
||||
|
||||
//校验企业联系人
|
||||
String companyContactId = payMemberProjectSubitem.getCompanyContactId();
|
||||
PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId);
|
||||
//校验是否是选择的企业的联系人
|
||||
String companyId1 = contactsManagement.getCompanyId();
|
||||
if (companyId1.equals(companyId)){
|
||||
PayContactsManagementTemporary contactsManagementTemporary = contactsManagementTemporaryService.insertContactsManagementTemporary(companyContactId);
|
||||
payMemberProjectSubitem.setCompanyContactTemporaryId(contactsManagementTemporary.getId());
|
||||
payMemberProjectSubitem.setCompanyContactName(contactsManagementTemporary.getName());
|
||||
}else {
|
||||
throw new JeroBootException("企业联系人不是所选企业的企业联系人");
|
||||
}
|
||||
//校验邮寄联系人
|
||||
String postContactId = payMemberProjectSubitem.getPostContactId();
|
||||
PayContactsManagement postContact = contactsManagementService.getById(postContactId);
|
||||
//校验是否是选择的企业的联系人
|
||||
String companyId2 = postContact.getCompanyId();
|
||||
if (companyId2.equals(companyId)){
|
||||
PayContactsManagementTemporary contactsManagementTemporary1 = contactsManagementTemporaryService.insertContactsManagementTemporary(postContactId);
|
||||
payMemberProjectSubitem.setPostContactTemporaryId(contactsManagementTemporary1.getId());
|
||||
payMemberProjectSubitem.setPostContactName(contactsManagementTemporary1.getName());
|
||||
}else {
|
||||
throw new JeroBootException("邮寄联系人不是所选企业的企业联系人");
|
||||
}
|
||||
//校验来款方式
|
||||
Integer paymentMethod = payMemberProjectSubitem.getPaymentMethod();
|
||||
//合同
|
||||
if (Objects.equals(paymentMethod,2)){
|
||||
ValidUtil.validate(payMemberProjectSubitem, Contract.class);
|
||||
}
|
||||
//收费通知
|
||||
if (Objects.equals(paymentMethod,3)){
|
||||
ValidUtil.validate(payMemberProjectSubitem, ChargeNotice.class);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
@@ -420,13 +374,13 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
PayMemberProjectSubitem payMemberProjectSubitem = getById(id);
|
||||
//删除临时表数据
|
||||
String companyId = payMemberProjectSubitem.getCompanyTemporaryId();
|
||||
companyManagementTemporaryService.removeById(companyId);
|
||||
//companyManagementTemporaryService.removeById(companyId);
|
||||
|
||||
String companyContactId = payMemberProjectSubitem.getCompanyContactTemporaryId();
|
||||
contactsManagementTemporaryService.removeById(companyContactId);
|
||||
// contactsManagementTemporaryService.removeById(companyContactId);
|
||||
|
||||
String postContactId = payMemberProjectSubitem.getPostContactTemporaryId();
|
||||
contactsManagementTemporaryService.removeById(postContactId);
|
||||
// contactsManagementTemporaryService.removeById(postContactId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -452,6 +406,12 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
* @Exception
|
||||
*/
|
||||
private void deleteProject(String id){
|
||||
PayMemberProjectSubitem projectSubitem = this.getById(id);
|
||||
PayMemberProject memberProject = memberProjectService.getById(projectSubitem.getProjectId());
|
||||
String year = memberProject.getParticularYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
|
||||
PayMemberProjectSubitem payMemberProjectSubitem = memberProjectSubitemService.getById(id);
|
||||
// 到账!=0 || 开票!=0 || 邮寄!=0
|
||||
if(!Objects.equals(payMemberProjectSubitem.getInAccount(), PayProjectCommon.IN_ACCOUNT0)
|
||||
@@ -464,10 +424,10 @@ public class IPayMemberProjectSubitemService extends ServiceImpl<PayMemberProjec
|
||||
// 如果已打报,同步删除打包关联
|
||||
LambdaUpdateWrapper<PayPackCompanyProject> update = new LambdaUpdateWrapper<>();
|
||||
update.eq(PayPackCompanyProject::getProjectId,payMemberProjectSubitem.getId());
|
||||
payPackCompanyProjectService.remove(update);
|
||||
//payPackCompanyProjectService.remove(update);
|
||||
// 删除企业联系人临时数据
|
||||
companyManagementTemporaryService.removeById(payMemberProjectSubitem.getCompanyTemporaryId());
|
||||
contactsManagementTemporaryService.removeByIds(Arrays.asList(payMemberProjectSubitem.getCompanyContactTemporaryId(),payMemberProjectSubitem.getPostContactTemporaryId()));
|
||||
//companyManagementTemporaryService.removeById(payMemberProjectSubitem.getCompanyTemporaryId());
|
||||
// contactsManagementTemporaryService.removeByIds(Arrays.asList(payMemberProjectSubitem.getCompanyContactTemporaryId(),payMemberProjectSubitem.getPostContactTemporaryId()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+27
-1
@@ -18,6 +18,8 @@ import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.mapper.TbMemberProjectMapper;
|
||||
import com.jero.member.service.ITbMemberProjectService;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -53,12 +55,16 @@ public class ITbMemberProjectService extends ServiceImpl<TbMemberProjectMapper,
|
||||
private RolePermissionService rolePermissionService;
|
||||
@Resource
|
||||
private IPayMeetingService meetingService;
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
public void add(TbMemberProject tbMemberProject) {
|
||||
//一年只能有一个项目
|
||||
String year = tbMemberProject.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
check(year, null);
|
||||
save(tbMemberProject);
|
||||
}
|
||||
@@ -80,10 +86,19 @@ public class ITbMemberProjectService extends ServiceImpl<TbMemberProjectMapper,
|
||||
* 更新
|
||||
*/
|
||||
public void editById(TbMemberProject tbMemberProject) {
|
||||
//一年只能有一个项目
|
||||
String year = tbMemberProject.getYear();
|
||||
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
String id = tbMemberProject.getId();
|
||||
//一年只能有一个项目
|
||||
check(year, id);
|
||||
|
||||
TbMemberProject memberProjectOld = this.getById(id);
|
||||
String oldYear = memberProjectOld.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
annualDataLockingService.judgeUserYear(oldYear);
|
||||
|
||||
saveOrUpdate(tbMemberProject);
|
||||
}
|
||||
|
||||
@@ -91,6 +106,11 @@ public class ITbMemberProjectService extends ServiceImpl<TbMemberProjectMapper,
|
||||
* 通过id删除
|
||||
*/
|
||||
public void deleteById(String id) {
|
||||
TbMemberProject memberProjectOld = this.getById(id);
|
||||
String oldYear = memberProjectOld.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(oldYear);
|
||||
|
||||
LambdaQueryWrapper<TbMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||
query.eq(TbMemberProjectSubitem::getProjectId, id);
|
||||
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(query);
|
||||
@@ -111,6 +131,12 @@ public class ITbMemberProjectService extends ServiceImpl<TbMemberProjectMapper,
|
||||
* 批量删除
|
||||
*/
|
||||
public void deleteByIds(List<String> ids) {
|
||||
List<TbMemberProject> tbMemberProjects = this.listByIds(ids);
|
||||
for (TbMemberProject memberProjectOld : tbMemberProjects) {
|
||||
String oldYear = memberProjectOld.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(oldYear);
|
||||
}
|
||||
LambdaQueryWrapper<TbMemberProjectSubitem> query = new LambdaQueryWrapper<>();
|
||||
query.in(TbMemberProjectSubitem::getProjectId, ids);
|
||||
List<TbMemberProjectSubitem> listTbMemberProjectSubitem = tbMemberProjectSubitemService.list(query);
|
||||
|
||||
+149
-39
@@ -1,6 +1,4 @@
|
||||
package com.jero.member.service;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
|
||||
import cn.hutool.core.date.DateField;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
@@ -11,6 +9,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.common.ProjectCommon;
|
||||
import com.jero.common.enums.PaymentStatusEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
@@ -38,7 +37,10 @@ import com.jero.member.entity.TbMemberProject;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.enums.MemberStatusEnum;
|
||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||
import com.jero.member.vo.*;
|
||||
import com.jero.member.vo.CopyMemberVO;
|
||||
import com.jero.member.vo.EditMemberBenefitsVO;
|
||||
import com.jero.member.vo.QueryAggVO;
|
||||
import com.jero.member.vo.TbMemberProjectSubitemExcelImport;
|
||||
import com.jero.pack.entity.PayPackCompanyProject;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.payment.entity.PayConfirmPaymentRecord;
|
||||
@@ -46,11 +48,15 @@ import com.jero.payment.entity.PayPaymentRecord;
|
||||
import com.jero.payment.service.IPayPaymentRecordService;
|
||||
import com.jero.payment.service.impl.PayConfirmPaymentRecordService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import com.jero.statistics.entity.MemberLineChartMap;
|
||||
import com.jero.statistics.entity.MemberLineChartVO;
|
||||
import com.jero.statistics.entity.MemberPieChartVO;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import com.jero.valid.group.ChargeNotice;
|
||||
import com.jero.valid.group.Contract;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
@@ -58,17 +64,17 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import static freemarker.template.utility.NullArgumentException.check;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.format.DateTimeParseException;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 标协会员项目成员表
|
||||
@@ -110,31 +116,26 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private PayMeetingSituationMapper payMeetingSituationMapper;
|
||||
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
@Resource
|
||||
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
|
||||
@Resource
|
||||
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
|
||||
/**
|
||||
* 保存
|
||||
*/
|
||||
public void add(TbMemberProjectSubitem tbMemberProjectSubitem) {
|
||||
setDefaultCreateValue(tbMemberProjectSubitem);
|
||||
|
||||
String companyId = tbMemberProjectSubitem.getCompanyId();
|
||||
PayCompanyManagement companyManagement = companyManagementService.getById(companyId);
|
||||
if (companyManagement == null){
|
||||
throw new JeroBootException("单位不存在");
|
||||
}
|
||||
String liaisonManId = tbMemberProjectSubitem.getLiaisonManId();
|
||||
PayContactsManagement liaisonMan = payContactsManagementService.checkByCompanyIdAndId(liaisonManId, companyId);
|
||||
if (liaisonMan == null){
|
||||
throw new JeroBootException("企业联系人不存在");
|
||||
}
|
||||
|
||||
String postContactId = tbMemberProjectSubitem.getPostContactId();
|
||||
PayContactsManagement postContact = payContactsManagementService.checkByCompanyIdAndId(postContactId, companyId);
|
||||
if (postContact == null){
|
||||
throw new JeroBootException("邮寄联系人不存在");
|
||||
}
|
||||
|
||||
String projectId = tbMemberProjectSubitem.getProjectId();
|
||||
TbMemberProject memberProject = tbMemberProjectService.getById(projectId);
|
||||
String oldYear = memberProject.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(oldYear);
|
||||
|
||||
setDefaultCreateValue(tbMemberProjectSubitem);
|
||||
setSubitemAdd(tbMemberProjectSubitem,annualDataLocking);
|
||||
String companyId = tbMemberProjectSubitem.getCompanyId();
|
||||
String liaisonManId = tbMemberProjectSubitem.getLiaisonManId();
|
||||
LambdaQueryWrapper<TbMemberProjectSubitem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(TbMemberProjectSubitem::getProjectId, projectId);
|
||||
wrapper.eq(TbMemberProjectSubitem::getCompanyId, companyId);
|
||||
@@ -181,13 +182,13 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
|
||||
// 来款方式为合同,校验合同编号
|
||||
if (Objects.equals(tbMemberProjectSubitem.getPaymentMethod(), PayProjectCommon.CHARGE_WAY2)) {
|
||||
PayIncomeContract payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(tbMemberProjectSubitem.getContractNum(), tbMemberProjectSubitem.getCompanyId(), tbMemberProjectSubitem.getId());
|
||||
PayIncomeContract payIncomeContract = payIncomeContractService.setPayIncomeContractAssociated(tbMemberProjectSubitem.getContractNum(), companyId, tbMemberProjectSubitem.getId());
|
||||
if (!Objects.isNull(payIncomeContract)) {
|
||||
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
|
||||
payIncomeContractService.insertPayIncomeContract(payIncomeContract, tbMemberProjectSubitem.getId(), Integer.parseInt(PayProjectCommon.PROJECT_TYPE5));
|
||||
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
|
||||
if (Objects.equals(payIncomeContract.getPack(), PayProjectCommon.PACKAGING1)) {
|
||||
payPackCompanyProjectService.setPack(tbMemberProjectSubitem.getCompanyId(), liaisonManId, payIncomeContract.getPackYear(), tbMemberProjectSubitem.getId(), PayProjectCommon.PROJECT_TYPE5, payIncomeContract.getPack());
|
||||
payPackCompanyProjectService.setPack(companyId, liaisonManId, payIncomeContract.getPackYear(), tbMemberProjectSubitem.getId(), PayProjectCommon.PROJECT_TYPE5, payIncomeContract.getPack());
|
||||
LambdaUpdateWrapper<TbMemberProjectSubitem> update = new LambdaUpdateWrapper<>();
|
||||
update.eq(TbMemberProjectSubitem::getId, tbMemberProjectSubitem.getId());
|
||||
update.set(TbMemberProjectSubitem::getPack, PayProjectCommon.PACKAGING1);
|
||||
@@ -196,7 +197,13 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void addExcel(String projectId, List<Object> excelData) {
|
||||
TbMemberProject memberProject = tbMemberProjectService.getById(projectId);
|
||||
String oldYear = memberProject.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(oldYear);
|
||||
int errorRowNum = 2;
|
||||
List<TbMemberProjectSubitem> insertList = new ArrayList<>();
|
||||
List<String> errorMessage = new ArrayList<>();
|
||||
@@ -252,6 +259,7 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
}else {
|
||||
subitem.setPostContactId(postContact.getId());
|
||||
}
|
||||
setSubitemAdd(subitem,annualDataLocking);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -272,10 +280,28 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
subitem.setAmountReceivable(new BigDecimal(amountReceivable));
|
||||
}
|
||||
|
||||
//预估到账日期
|
||||
if (ValidUtil.checkErrorList(errorList,"预估到账日期")) {
|
||||
String estimatedArrivalDate = subitemExcel.getEstimatedArrivalDate();
|
||||
subitem.setEstimatedArrivalDate(DateUtil.parseDate(estimatedArrivalDate));
|
||||
// 预估到账日期
|
||||
if (ValidUtil.checkErrorList(errorList, "预估到账日期")) {
|
||||
String estimatedArrivalDateStr = subitemExcel.getEstimatedArrivalDate();
|
||||
if (StringUtils.isNotBlank(estimatedArrivalDateStr)) {
|
||||
try {
|
||||
DateTimeFormatter formatter;
|
||||
LocalDate parsedDate;
|
||||
if (estimatedArrivalDateStr.matches("\\d{4}-\\d{1,2}")) {
|
||||
// 处理 yyyy-MM 格式
|
||||
estimatedArrivalDateStr = estimatedArrivalDateStr + "-01";
|
||||
formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
} else {
|
||||
throw new DateTimeParseException("日期格式错误", estimatedArrivalDateStr, 0);
|
||||
}
|
||||
parsedDate = LocalDate.parse(estimatedArrivalDateStr, formatter);
|
||||
subitem.setEstimatedArrivalDate(java.sql.Date.valueOf(parsedDate)); // 设置正确格式的日期到对象中
|
||||
} catch (Exception e) {
|
||||
errorMessage.add("第" + errorRowNum + "行:" + "预估到账日期格式错误");
|
||||
}
|
||||
} else {
|
||||
errorMessage.add("第" + errorRowNum + "行:" + "预估到账日期不能为空");
|
||||
}
|
||||
}
|
||||
|
||||
String paymentMethod = subitemExcel.getPaymentMethod();
|
||||
@@ -402,11 +428,17 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
public void editById(TbMemberProjectSubitem tbMemberProjectSubitem) {
|
||||
String subitemId = tbMemberProjectSubitem.getId();
|
||||
TbMemberProjectSubitem subitemOld = getById(subitemId);
|
||||
TbMemberProject memberProject = tbMemberProjectService.getById(subitemOld.getProjectId());
|
||||
String oldYear = memberProject.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(oldYear);
|
||||
|
||||
String companyId = tbMemberProjectSubitem.getCompanyId();
|
||||
String companyIdOld = subitemOld.getCompanyId();
|
||||
if (!Objects.equals(companyId,companyIdOld)){
|
||||
throw new JeroBootException("会员单位不可变更");
|
||||
}
|
||||
setSubitemEdit(tbMemberProjectSubitem,subitemOld,annualDataLocking);
|
||||
// 校验项目是否已关联合同
|
||||
PayIncomeContract payIncomeContract = payIncomeContractService.checkPayIncomeContractAssociated(subitemId);
|
||||
if (!Objects.isNull(payIncomeContract)) {
|
||||
@@ -441,6 +473,58 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
updateById(tbMemberProjectSubitem);
|
||||
}
|
||||
|
||||
private void setSubitemAdd(TbMemberProjectSubitem tbMemberProjectSubitem, AnnualDataLocking annualDataLocking) {
|
||||
String companyId = tbMemberProjectSubitem.getCompanyId();
|
||||
PayCompanyManagementTemporary companyManagement = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(companyId, annualDataLocking);
|
||||
if (companyManagement == null){
|
||||
throw new JeroBootException("单位不存在");
|
||||
}
|
||||
tbMemberProjectSubitem.setCompanyTemporaryId(companyManagement.getId());
|
||||
tbMemberProjectSubitem.setCompanyName(companyManagement.getCompanyName());
|
||||
String liaisonManId = tbMemberProjectSubitem.getLiaisonManId();
|
||||
PayContactsManagementTemporary liaisonMan = payContactsManagementTemporaryService.insertContactsManagementTemporary(liaisonManId, annualDataLocking);
|
||||
if (liaisonMan == null){
|
||||
throw new JeroBootException("企业联系人不存在");
|
||||
}
|
||||
tbMemberProjectSubitem.setCompanyContactTemporaryId(liaisonMan.getId());
|
||||
tbMemberProjectSubitem.setLiaisonMan(liaisonMan.getName());
|
||||
|
||||
String postContactId = tbMemberProjectSubitem.getPostContactId();
|
||||
PayContactsManagementTemporary postContact = payContactsManagementTemporaryService.insertContactsManagementTemporary(postContactId, annualDataLocking);
|
||||
if (postContact == null){
|
||||
throw new JeroBootException("邮寄联系人不存在");
|
||||
}
|
||||
tbMemberProjectSubitem.setPostContactTemporaryId(postContact.getId());
|
||||
}
|
||||
|
||||
private void setSubitemEdit(TbMemberProjectSubitem subitem, TbMemberProjectSubitem subitemOld, AnnualDataLocking annualDataLocking) {
|
||||
String companyId = subitem.getCompanyId();
|
||||
PayCompanyManagementTemporary companyManagement = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(companyId, annualDataLocking);
|
||||
if (companyManagement == null){
|
||||
throw new JeroBootException("单位不存在");
|
||||
}
|
||||
subitem.setCompanyTemporaryId(companyManagement.getId());
|
||||
subitem.setCompanyName(companyManagement.getCompanyName());
|
||||
// 联系人id != 联系人模板id 变更
|
||||
String liaisonManId = subitem.getLiaisonManId();
|
||||
// 联系人
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(liaisonManId, annualDataLocking);
|
||||
if (Objects.isNull(contactsName)) {
|
||||
throw new JeroBootException("联系人名称为空!");
|
||||
}
|
||||
subitem.setCompanyContactTemporaryId(contactsName.getId());
|
||||
subitem.setLiaisonMan(contactsName.getName());
|
||||
|
||||
// 邮寄联系人id != 邮寄联系人模板id 变更
|
||||
String postContactId = subitem.getPostContactId();
|
||||
// 邮寄联系人
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(postContactId, annualDataLocking);
|
||||
if (Objects.isNull(mailContactsName)) {
|
||||
throw new JeroBootException("邮寄联系人名称为空!");
|
||||
}
|
||||
subitem.setPostContactTemporaryId(mailContactsName.getId());
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
@@ -469,6 +553,11 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
* @Exception
|
||||
*/
|
||||
public void deleteProject(String id){
|
||||
TbMemberProjectSubitem subitemOld = getById(id);
|
||||
TbMemberProject memberProject = tbMemberProjectService.getById(subitemOld.getProjectId());
|
||||
String oldYear = memberProject.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(oldYear);
|
||||
//删除到账
|
||||
LambdaQueryWrapper<PayPaymentRecord> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(PayPaymentRecord::getProjectId,id);
|
||||
@@ -524,9 +613,18 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
}
|
||||
|
||||
private QueryWrapper<TbMemberProjectSubitem> generateQueryWrapper(HttpServletRequest request, TbMemberProjectSubitem tbMemberProjectSubitem){
|
||||
QueryWrapper<TbMemberProjectSubitem> queryWrapper = QueryGenerator.initQueryWrapper(tbMemberProjectSubitem, request.getParameterMap());
|
||||
Map<String, String[]> parameterMap = request.getParameterMap();
|
||||
String[] strings = parameterMap.get("companyName");
|
||||
parameterMap.remove("companyName");
|
||||
tbMemberProjectSubitem.setCompanyName(null);
|
||||
QueryWrapper<TbMemberProjectSubitem> queryWrapper = QueryGenerator.initQueryWrapper(tbMemberProjectSubitem, parameterMap);
|
||||
String invalidationDateStr = tbMemberProjectSubitem.getInvalidationDateStr();
|
||||
String effectiveDateStr = tbMemberProjectSubitem.getEffectiveDateStr();
|
||||
String estimatedArrivalDateBegin = tbMemberProjectSubitem.getEstimatedArrivalDate_begin();
|
||||
String estimatedArrivalDateEnd = tbMemberProjectSubitem.getEstimatedArrivalDate_end();
|
||||
if (strings != null){
|
||||
queryWrapper.like("pcm.company_name",strings[0]);
|
||||
}
|
||||
if (StringUtils.isNotBlank(invalidationDateStr)){
|
||||
DateTime invalidationDate = DateUtil.parse(invalidationDateStr, DatePattern.NORM_MONTH_PATTERN);
|
||||
queryWrapper.eq("year(invalidation_date)",invalidationDate.year());
|
||||
@@ -537,6 +635,12 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
queryWrapper.eq("year(effective_date)",effectiveDate.year());
|
||||
queryWrapper.eq("month(effective_date)",effectiveDate.month()+1);
|
||||
}
|
||||
if (StringUtils.isNotBlank(estimatedArrivalDateBegin)){
|
||||
queryWrapper.ge("estimated_arrival_date",estimatedArrivalDateBegin);
|
||||
}
|
||||
if (StringUtils.isNotBlank(estimatedArrivalDateEnd)){
|
||||
queryWrapper.le("estimated_arrival_date",estimatedArrivalDateEnd);
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (!rolePermissionService.getRolePermission("safeguardStardsMember:search")) {
|
||||
queryWrapper.eq("tmp.director_id",sysUser.getId());
|
||||
@@ -666,6 +770,9 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
String projectId = copyMemberVO.getProjectId();
|
||||
String id = copyMemberVO.getId();
|
||||
TbMemberProject memberProject = tbMemberProjectService.getById(projectId);
|
||||
String oldYear = memberProject.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(oldYear);
|
||||
copyOperation(memberProject, id);
|
||||
}
|
||||
|
||||
@@ -696,6 +803,9 @@ public class ITbMemberProjectSubitemService extends ServiceImpl<TbMemberProjectS
|
||||
String projectId = copyMemberVO.getProjectId();
|
||||
String ids = copyMemberVO.getIds();
|
||||
TbMemberProject memberProject = tbMemberProjectService.getById(projectId);
|
||||
String oldYear = memberProject.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(oldYear);
|
||||
for (String id : ids.split(",")) {
|
||||
copyOperation(memberProject, id);
|
||||
}
|
||||
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
package com.jero.member.vo;
|
||||
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
@Data
|
||||
public class AnnualMemberProjectExcelVO {
|
||||
|
||||
/**id*/
|
||||
@ApiModelProperty(value = "id")
|
||||
private String id;
|
||||
|
||||
/**会员单位*/
|
||||
@ApiModelProperty(value = "会员单位")
|
||||
@Excel(name = "会员单位", width = 20)
|
||||
private String companyName;
|
||||
|
||||
/**会员编号*/
|
||||
@Excel(name = "会员编号", width = 20)
|
||||
@ApiModelProperty(value = "会员编号")
|
||||
private String memberNo;
|
||||
|
||||
/**会员联系人*/
|
||||
@ApiModelProperty(value = "企业联系人")
|
||||
@Excel(name = "企业联系人", width = 15, dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
|
||||
@Dict(dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
|
||||
private String liaisonManId;
|
||||
|
||||
/**会员状态*/
|
||||
@Excel(name = "会员状态", width = 15, dicCode = "member_status")
|
||||
@ApiModelProperty(value = "会员状态")
|
||||
@Dict(dicCode = "member_status")
|
||||
private Integer memberStatus;
|
||||
|
||||
/** 生效日期 */
|
||||
@ApiModelProperty(value = "生效日期")
|
||||
@Excel(name = "生效日期", width = 20)
|
||||
private String effectiveDateStr;
|
||||
|
||||
/**
|
||||
* 失效日期
|
||||
*/
|
||||
@ApiModelProperty(value = "失效日期")
|
||||
@Excel(name = "失效日期", width = 20)
|
||||
private String invalidationDateStr;
|
||||
|
||||
|
||||
}
|
||||
+2
-2
@@ -92,8 +92,8 @@ public class TbMemberProjectSubitemEditVO implements Serializable {
|
||||
private BigDecimal noTaxAmount;
|
||||
|
||||
/**预估到账日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM")
|
||||
@DateTimeFormat(pattern="yyyy-MM")
|
||||
@ApiModelProperty(value = "预估到账日期")
|
||||
@Excel(name = "预估到账日期", width = 15)
|
||||
private Date estimatedArrivalDate;
|
||||
|
||||
+2
-2
@@ -61,9 +61,9 @@ public class TbMemberProjectSubitemExcelImport {
|
||||
private String amountReceivable;
|
||||
|
||||
/**预估到账日期*/
|
||||
// @NotBlank(message = "预估到账日期不能为空")
|
||||
// @Pattern(regexp = "^\\d{4}-\\d{1,2}-\\d{1,2}$",message = "预估到账日期格式错误")
|
||||
@ApiModelProperty(value = "预估到账日期")
|
||||
@NotBlank(message = "预估到账日期不能为空")
|
||||
@Pattern(regexp = "^\\d{4}-\\d{1,2}-\\d{1,2}$",message = "预估到账日期格式错误")
|
||||
@Excel(name = "预估到账日期", width = 15)
|
||||
private String estimatedArrivalDate;
|
||||
|
||||
|
||||
+29
-1
@@ -7,6 +7,7 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -16,6 +17,7 @@ import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.company.entity.PayCompanyManagement;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
import com.jero.mail.service.IPayMailBillProjectService;
|
||||
import com.jero.pack.entity.PayPackCompany;
|
||||
@@ -119,6 +121,12 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
|
||||
if(Objects.isNull(p.getPackChargeTotal())){
|
||||
p.setPackChargeTotal(new BigDecimal("0.00"));
|
||||
}
|
||||
// 处理 预估到账日期 字段 ,变为yyyy-MM格式
|
||||
if(StringUtils.isNotBlank(p.getEstimatedArrivalDate())){
|
||||
String estimatedArrivalDate = p.getEstimatedArrivalDate();
|
||||
String formattedDate = estimatedArrivalDate.substring(0, 7); // 截取字符串的前7个字符 "yyyy-MM"
|
||||
p.setEstimatedArrivalDate(formattedDate);
|
||||
}
|
||||
});
|
||||
pageList.setRecords(list);
|
||||
}
|
||||
@@ -144,6 +152,10 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
|
||||
@ApiOperation(value="打包企业管理-添加", notes="打包企业管理-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody PayPackCompany payPackCompany) {
|
||||
if (!StringUtils.isBlank(payPackCompany.getEstimatedArrivalDate())) {
|
||||
payPackCompany.setEstimatedArrivalDate(payPackCompany.getEstimatedArrivalDate() + "-01");
|
||||
}
|
||||
|
||||
StringBuilder msg = ValidUtil.validateAll(payPackCompany);
|
||||
if(!StringUtils.isBlank(msg)){
|
||||
return Result.error(msg.toString());
|
||||
@@ -163,6 +175,9 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
|
||||
@ApiOperation(value="打包企业管理-编辑", notes="打包企业管理-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<?> edit(@RequestBody PayPackCompany payPackCompany) {
|
||||
if (!StringUtils.isBlank(payPackCompany.getEstimatedArrivalDate())) {
|
||||
payPackCompany.setEstimatedArrivalDate(payPackCompany.getEstimatedArrivalDate() + "-01");
|
||||
}
|
||||
StringBuilder msg = ValidUtil.validateAll(payPackCompany);
|
||||
if(!StringUtils.isBlank(msg)){
|
||||
return Result.error(msg.toString());
|
||||
@@ -292,7 +307,15 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
|
||||
return Result.OK(payPackCompany);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value="判断当前企业是否是打包企业")
|
||||
@GetMapping(value = "/judgeCompanyIsPackaged")
|
||||
public Result<Boolean> judgeCompanyIsPackaged(@RequestParam(name="companyId") String companyId){
|
||||
LambdaQueryWrapper<PayPackCompany> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayPackCompany::getCompanyId,companyId);
|
||||
wrapper.eq(PayPackCompany::getPackYear, DateUtil.thisYear());
|
||||
List<PayPackCompany> list = payPackCompanyService.list(wrapper);
|
||||
return Result.OK(!list.isEmpty()) ;
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
@@ -351,6 +374,11 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
|
||||
if (Objects.isNull(p.getPackChargeTotal())) {
|
||||
p.setPackChargeTotal(new BigDecimal("0.00"));
|
||||
}
|
||||
if(StringUtils.isNotBlank(p.getEstimatedArrivalDate())){
|
||||
String estimatedArrivalDate = p.getEstimatedArrivalDate();
|
||||
String formattedDate = estimatedArrivalDate.substring(0, 7);
|
||||
p.setEstimatedArrivalDate(formattedDate);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
-89
@@ -63,28 +63,6 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private Environment env;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param payPackCompanyProject
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
// @ApiOperation(value="打包项目维护-分页列表查询", notes="打包项目维护-分页列表查询")
|
||||
// @GetMapping(value = "/list")
|
||||
public Result<?> queryPageList(PayPackCompanyProject payPackCompanyProject,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<PayPackCompanyProject> queryWrapper = QueryGenerator.initQueryWrapper(payPackCompanyProject, req.getParameterMap());
|
||||
Page<PayPackCompanyProject> page = new Page<PayPackCompanyProject>(pageNo, pageSize);
|
||||
IPage<PayPackCompanyProject> pageList = payPackCompanyProjectService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
@@ -223,61 +201,6 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
|
||||
return Result.OK("批量取消打包成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param payPackCompanyProject
|
||||
* @return
|
||||
*/
|
||||
// @ApiOperation(value="pay_pack_company_project-编辑", notes="pay_pack_company_project-编辑")
|
||||
// @PostMapping(value = "/edit")
|
||||
public Result<?> edit(@RequestBody PayPackCompanyProject payPackCompanyProject) {
|
||||
payPackCompanyProjectService.updateById(payPackCompanyProject);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
// @ApiOperation(value="pay_pack_company_project-通过id删除", notes="pay_pack_company_project-通过id删除")
|
||||
// @GetMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
|
||||
payPackCompanyProjectService.removeById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
// @ApiOperation(value="pay_pack_company_project-批量删除", notes="pay_pack_company_project-批量删除")
|
||||
// @GetMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
|
||||
this.payPackCompanyProjectService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
// @ApiOperation(value="pay_pack_company_project-通过id查询", notes="pay_pack_company_project-通过id查询")
|
||||
// @GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
|
||||
PayPackCompanyProject payPackCompanyProject = payPackCompanyProjectService.getById(id);
|
||||
if (payPackCompanyProject == null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(payPackCompanyProject);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
@@ -336,18 +259,6 @@ public class PayPackCompanyProjectController extends JeroController<PayPackCompa
|
||||
return mv;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
// @PostMapping(value = "/importExcel")
|
||||
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
return super.importExcel(request, response, PayPackCompanyProject.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理24年历史数据
|
||||
*/
|
||||
|
||||
+4
-1
@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.pack.entity.PayPackCompany;
|
||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@@ -56,4 +55,8 @@ public interface PayPackCompanyMapper extends BaseMapper<PayPackCompany> {
|
||||
String getConfirmAmountMoney(@Param("payPackCompany") PayPackCompany payPackCompany);
|
||||
|
||||
String getComeAllMoney(@Param("payPackCompany") PayPackCompany payPackCompany);
|
||||
|
||||
List<PayPackCompany> listByYear(@Param("year") String year);
|
||||
|
||||
List<PayPackCompany> listByYearNotIn(@Param("yearList") List<String> yearList, @Param("companyManagementId") String companyManagementId);
|
||||
}
|
||||
|
||||
+13
-1
@@ -29,7 +29,6 @@
|
||||
</select>
|
||||
<select id="queryPageList" resultType="com.jero.pack.entity.PayPackCompany">
|
||||
select ppc.*,pcmt.phone,pcmt.email from pay_pack_company ppc
|
||||
LEFT JOIN pay_payment_record ppr ON ppr.project_id = ppc.id
|
||||
LEFT JOIN pay_company_management pcm on ppc.company_id = pcm.id
|
||||
LEFT JOIN pay_contacts_management_temporary pcmt ON pcmt.id = ppc.company_contact_temporary_id
|
||||
<where>
|
||||
@@ -109,5 +108,18 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="listByYear" resultType="com.jero.pack.entity.PayPackCompany">
|
||||
select * from pay_pack_company
|
||||
where pack_year = #{year}
|
||||
</select>
|
||||
|
||||
<select id="listByYearNotIn" resultType="com.jero.pack.entity.PayPackCompany">
|
||||
select * from pay_pack_company
|
||||
where
|
||||
company_id = #{companyManagementId}
|
||||
and pack_year not in
|
||||
<foreach item="item" index="index" collection="yearList" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
||||
+21
-8
@@ -30,13 +30,14 @@
|
||||
( project.phone = '' or project.phone IS NULL, pcmt.phone, project.phone ) AS phone,
|
||||
IF
|
||||
( project.email = '' or project.email IS NULL, pcmt.email, project.email ) AS email,
|
||||
affirm_income
|
||||
affirm_income,
|
||||
project.sort_no
|
||||
from
|
||||
(
|
||||
<!-- 普通项目-->
|
||||
select c.id,c.charge_project,c.invoice_amount, c.charge_use, c.principal_id,su.realname as principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,
|
||||
c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,pcm.phone,pcm.email,affirm_income
|
||||
,c.mail_contacts_id,c.mail_contacts_temporary_id,c.mail_contacts_temporary_name
|
||||
,c.mail_contacts_id,c.mail_contacts_temporary_id,c.mail_contacts_temporary_name, NULL as sort_no
|
||||
from pay_common_project c
|
||||
left join sys_user su on c.principal_id = su.id
|
||||
LEFT JOIN pay_contacts_management pcm ON c.contacts_temporary_id = pcm.id
|
||||
@@ -56,7 +57,7 @@
|
||||
UNION ALL
|
||||
select gsub.id,g.working_group_project,gsub.invoice_amount, gsub.charge_use, g.principal_id_a,su.realname,gsubc.contacts_temporary_id as contacts_temporary_id,gsubc.contacts_temporary_name as contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,
|
||||
gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,pcm.phone,pcm.email,affirm_income
|
||||
,gsub.mail_contacts_id,gsub.mail_contacts_temporary_id,gsub.mail_contacts_temporary_name
|
||||
,gsub.mail_contacts_id,gsub.mail_contacts_temporary_id,gsub.mail_contacts_temporary_name,g.sort_no
|
||||
from pay_working_group g
|
||||
left join sys_user su on g.principal_id_a = su.id
|
||||
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
|
||||
@@ -77,7 +78,7 @@
|
||||
UNION ALL
|
||||
select sit.id,meeting.meeting_name,sit.invoice_amount,sit.charge_use, meeting.director_id, su.realname,sit.company_contact_temporary_id AS contacts_temporary_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,
|
||||
sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,pcm.phone,pcm.email,affirm_income
|
||||
,sit.post_contact_id as mail_contacts_id,sit.post_contact_temporary_id as mail_contacts_temporary_id,sit.post_contact_name as mail_contacts_temporary_name
|
||||
,sit.post_contact_id as mail_contacts_id,sit.post_contact_temporary_id as mail_contacts_temporary_id,sit.post_contact_name as mail_contacts_temporary_name, NULL as sort_no
|
||||
from pay_meeting meeting
|
||||
left join sys_user su on meeting.director_id = su.id
|
||||
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
|
||||
@@ -98,7 +99,7 @@
|
||||
UNION ALL
|
||||
select msub.id,pmp.project_name,msub.invoice_amount,msub.charge_use,pmp.director_id, su.realname,msub.company_contact_temporary_id AS contacts_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,
|
||||
msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,pcm.phone,pcm.email,affirm_income
|
||||
,msub.post_contact_id as mail_contacts_id,msub.post_contact_temporary_id as mail_contacts_temporary_id,msub.post_contact_name as mail_contacts_temporary_name
|
||||
,msub.post_contact_id as mail_contacts_id,msub.post_contact_temporary_id as mail_contacts_temporary_id,msub.post_contact_name as mail_contacts_temporary_name, NULL as sort_no
|
||||
from pay_member_project pmp
|
||||
left join sys_user su on pmp.director_id = su.id
|
||||
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
|
||||
@@ -118,7 +119,7 @@
|
||||
UNION ALL
|
||||
select tmsub.id,tmember.project_name,tmsub.invoice_amount,tmsub.charge_use,tmember.director_id, su.realname,'',pcm.name as contacts_temporary_name,tmsub.company_name,tmsub.amount_receivable,
|
||||
tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,pcm.phone,pcm.email,affirm_income
|
||||
,null as mail_contacts_id,null as mail_contacts_temporary_id,null as mail_contacts_temporary_name
|
||||
,null as mail_contacts_id,null as mail_contacts_temporary_id,null as mail_contacts_temporary_name, NULL as sort_no
|
||||
from tb_member_project tmember
|
||||
left join sys_user su on tmember.director_id = su.id
|
||||
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
|
||||
@@ -138,7 +139,7 @@
|
||||
UNION ALL
|
||||
select tcp.id,tmember.project_name,tcp.invoice_amount,tcp.charge_use,tmember.director_id, su.realname,'',pcm.name as contacts_temporary_name,tcp.company_name,tcp.amount_receivable,
|
||||
tcp.paid_amount,tcp.invoice_requirements,tcp.pack,tcp.in_account,tcp.make_invoice,tcp.mail,tcp.create_time,6,pcm.phone,pcm.email,affirm_income
|
||||
,null as mail_contacts_id,null as mail_contacts_temporary_id,null as mail_contacts_temporary_name
|
||||
,null as mail_contacts_id,null as mail_contacts_temporary_id,null as mail_contacts_temporary_name, NULL as sort_no
|
||||
from tb_member_project tmember
|
||||
left join sys_user su on tmember.director_id = su.id
|
||||
inner join tb_certificate_payment tcp on tmember.id = tcp.project_id
|
||||
@@ -166,7 +167,19 @@
|
||||
<if test="paymentDate != null and paymentDate != ''">
|
||||
AND DATE_FORMAT(ppr.payment_date,'%Y') = #{paymentDate}
|
||||
</if>
|
||||
GROUP BY ppcp.project_id ORDER BY project.paid_amount asc,project.create_time desc
|
||||
GROUP BY ppcp.project_id
|
||||
ORDER BY
|
||||
CASE
|
||||
WHEN project.projectType = 2 THEN 0
|
||||
ELSE 1
|
||||
END,
|
||||
CASE
|
||||
WHEN project.projectType = 2 AND project.sort_no IS NULL THEN 1
|
||||
WHEN project.projectType = 2 THEN 0
|
||||
END,
|
||||
project.sort_no ASC,
|
||||
project.paid_amount ASC,
|
||||
project.create_time DESC
|
||||
</select>
|
||||
<select id="queryPackListAll" resultType="com.jero.project.entity.PayCommonProject">
|
||||
SELECT * FROM (
|
||||
|
||||
+192
-141
@@ -3,6 +3,7 @@ package com.jero.pack.service.impl;
|
||||
import cn.hutool.core.thread.ThreadUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.dto.SendMessageDTO;
|
||||
import com.jero.common.enums.ManagementMessageEnums;
|
||||
@@ -16,16 +17,22 @@ import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.meeting.common.MeetingSubitemCommon;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||
import com.jero.meeting.service.IPayMeetingService;
|
||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
import com.jero.member.entity.PayMemberProject;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.jero.member.entity.TbCertificatePayment;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.enums.MemberStatusEnum;
|
||||
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
||||
import com.jero.member.mapper.TbCertificatePaymentMapper;
|
||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||
import com.jero.member.service.IPayMemberProjectService;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.pack.common.PackCommon;
|
||||
@@ -37,12 +44,14 @@ import com.jero.pack.service.IPayPackCompanyService;
|
||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||
import com.jero.pack.vo.PayProjectExcel;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.mapper.PayCommonProjectMapper;
|
||||
import com.jero.project.mapper.PayWorkingGroupMapper;
|
||||
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
@@ -101,7 +110,14 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private IPayMemberProjectService payMemberProjectService;
|
||||
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Resource
|
||||
private IPayMeetingService meetingService;
|
||||
@Resource
|
||||
private IPayMeetingSituationService meetingSituationService;
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
|
||||
@Override
|
||||
public List<PayCommonProject> queryListAll(PayPackCompanyProjectInput input) {
|
||||
@@ -120,7 +136,8 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
if(Objects.isNull(payPackCompany)){
|
||||
throw new JeroBootException("打包企业不存在");
|
||||
}
|
||||
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(payPackCompany.getPackYear());
|
||||
if(StringUtils.isBlank(payPackCompanyProject.getProjectIds())){
|
||||
throw new JeroBootException("请选择项目");
|
||||
}
|
||||
@@ -150,6 +167,11 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
payPackCompanyProjectNew.setPackId(payPackCompanyProject.getPackId());
|
||||
payPackCompanyProjectNew.setCome(PackCommon.COME2);
|
||||
listPayPackCompanyProject.add(payPackCompanyProjectNew);
|
||||
// 生成会员有效期
|
||||
TbMemberProjectSubitem tbMemberProjectSubitem = tbMemberProjectSubitemService.getById(s1);
|
||||
if (!Objects.isNull(tbMemberProjectSubitem)) {
|
||||
tbMemberProjectSubitemService.generateValidDate(s1);
|
||||
}
|
||||
}
|
||||
LambdaQueryWrapper<PayPackCompanyProject> query = new LambdaQueryWrapper<>();
|
||||
query.in(PayPackCompanyProject::getProjectId, Arrays.asList(payPackCompanyProject.getProjectIds()));
|
||||
@@ -297,6 +319,10 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
throw new JeroBootException("不存在打包项目!");
|
||||
}
|
||||
PayPackCompanyProject packCompanyProject = listPayPackCompanyProject.get(0);
|
||||
String packId = packCompanyProject.getPackId();
|
||||
PayPackCompany payPackCompany = payPackCompanyService.getById(packId);
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(payPackCompany.getPackYear());
|
||||
Integer projectType = packCompanyProject.getProjectType();
|
||||
if (Objects.equals(projectType, Integer.parseInt(PayProjectCommon.PROJECT_TYPE5))||
|
||||
Objects.equals(projectType, Integer.parseInt(PayProjectCommon.PROJECT_TYPE6))){
|
||||
@@ -316,6 +342,17 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
if(Objects.equals(packCompanyProject.getCome(),PackCommon.COME1)){
|
||||
throw new JeroBootException("此项目已在合同处创建关联,请先从合同处取消关联!");
|
||||
}
|
||||
// 删除会员有效期
|
||||
TbMemberProjectSubitem tbMemberProjectSubitem = tbMemberProjectSubitemService.getById(projectId);
|
||||
if (!Objects.isNull(tbMemberProjectSubitem)) {
|
||||
LambdaUpdateWrapper<TbMemberProjectSubitem> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
||||
lambdaUpdateWrapper.eq(TbMemberProjectSubitem::getId,projectId);
|
||||
lambdaUpdateWrapper.set(TbMemberProjectSubitem::getEffectiveDate, null);
|
||||
lambdaUpdateWrapper.set(TbMemberProjectSubitem::getInvalidationDate, null);
|
||||
lambdaUpdateWrapper.set(TbMemberProjectSubitem::getMemberNo, null);
|
||||
lambdaUpdateWrapper.set(TbMemberProjectSubitem::getMemberStatus, MemberStatusEnum.UNPAID_FEES.getValue());
|
||||
tbMemberProjectSubitemService.update(lambdaUpdateWrapper);
|
||||
}
|
||||
// 更新项目状态
|
||||
projectPackService.updateProjectStatus(packCompanyProject.getProjectId(),String.valueOf(projectType),String.valueOf(PackCommon.PACKAGING0),payPackCompanyProject.getPackId());
|
||||
payPackCompanyProjectService.removeById(packCompanyProject.getId());
|
||||
@@ -394,145 +431,145 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
|
||||
@Override
|
||||
public void updateHistory() {
|
||||
LambdaQueryWrapper<PayPackCompany> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayPackCompany::getPackYear,"2024");
|
||||
List<PayPackCompany> packCompanyList = payPackCompanyService.list(wrapper);
|
||||
List<String> packCompanyIdList = packCompanyList.stream().map(PayPackCompany::getId).collect(Collectors.toList());
|
||||
|
||||
LambdaQueryWrapper<PayPackCompanyProject> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.in(PayPackCompanyProject::getPackId,packCompanyIdList);
|
||||
List<PayPackCompanyProject> list = this.list(wrapper1);
|
||||
ExecutorService fixedThreadPool = ThreadUtil.newExecutor(10);
|
||||
for (PayPackCompanyProject project : list) {
|
||||
fixedThreadPool.submit(() -> {
|
||||
String projectId = project.getProjectId();
|
||||
String projectType = project.getProjectType().toString();
|
||||
// 普通项目
|
||||
if (PayIncomeContractCommon.PROJECT_TYPE1.equals(projectType)){
|
||||
PayCommonProject old = payCommonProjectMapper.selectById(projectId);
|
||||
if (old == null) {
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
if (!new BigDecimal("0.00").equals(old.getReceivableAmount())) {
|
||||
return;
|
||||
}
|
||||
PayCommonProject payCommonProject = null;
|
||||
//普通项目管理-添加
|
||||
List<JSONObject> jsonObjects = sysBaseAPI.getLogByRequestParam(projectId);
|
||||
if (jsonObjects.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
for (JSONObject jsonObject : jsonObjects) {
|
||||
String logContent = jsonObject.getString("logContent");
|
||||
if ("普通项目管理-添加".equals(logContent)) {
|
||||
String requestParam = jsonObject.getString("requestParam");
|
||||
requestParam = requestParam.substring(1, requestParam.length() - 1);
|
||||
payCommonProject = JSONObject.parseObject(requestParam, PayCommonProject.class);
|
||||
}
|
||||
}
|
||||
if (payCommonProject == null) {
|
||||
return;
|
||||
}
|
||||
PayCommonProject project1 = new PayCommonProject();
|
||||
project1.setId(projectId);
|
||||
project1.setReceivableAmount(payCommonProject.getReceivableAmount());
|
||||
project1.setNoTaxAmount(payCommonProject.getNoTaxAmount());
|
||||
project1.setTax(payCommonProject.getTax());
|
||||
payCommonProjectMapper.updateById(project1);
|
||||
}else if (PayIncomeContractCommon.PROJECT_TYPE2.equals(projectType)){
|
||||
// 工作组项目
|
||||
//工作组成员-修改 工作组成员-添加
|
||||
PayWorkingGroupSubItem old1 = payWorkingGroupSubItemMapper.selectById(projectId);
|
||||
if (old1 == null) {
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
if (!new BigDecimal("0.00").equals(old1.getReceivableAmount())) {
|
||||
return;
|
||||
}
|
||||
String workingGroupId = old1.getWorkingGroupId();
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupMapper.selectById(workingGroupId);
|
||||
BigDecimal yearChargeA = payWorkingGroup.getYearChargeA();
|
||||
if (yearChargeA == null || new BigDecimal("0.00").equals(yearChargeA)) {
|
||||
yearChargeA = new BigDecimal("0.00");
|
||||
}
|
||||
PayWorkingGroupSubItem payWorking = null;
|
||||
List<JSONObject> jsonObjects1 = sysBaseAPI.getLogByRequestParam(projectId);
|
||||
for (JSONObject jsonObject : jsonObjects1) {
|
||||
String logContent = jsonObject.getString("logContent");
|
||||
if ("工作组成员-添加".equals(logContent) || "工作组成员-修改".equals(logContent) || "企业端-工作组成员-修改".equals(logContent)) {
|
||||
String requestParam = jsonObject.getString("requestParam");
|
||||
requestParam = requestParam.substring(1, requestParam.length() - 1);
|
||||
PayWorkingGroupSubItem obj = JSONObject.parseObject(requestParam, PayWorkingGroupSubItem.class);
|
||||
BigDecimal receivableAmount = obj.getReceivableAmount();
|
||||
if (new BigDecimal("0.00").equals(receivableAmount) || receivableAmount == null) {
|
||||
return;
|
||||
} else {
|
||||
payWorking = obj;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (payWorking == null) {
|
||||
|
||||
PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem();
|
||||
project2.setId(projectId);
|
||||
|
||||
project2.setReceivableAmount(yearChargeA);
|
||||
BigDecimal noTaxAmount = yearChargeA.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
|
||||
project2.setNoTaxAmount(noTaxAmount);
|
||||
project2.setTax(yearChargeA.subtract(noTaxAmount));
|
||||
payWorkingGroupSubItemMapper.updateById(project2);
|
||||
} else {
|
||||
PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem();
|
||||
project2.setId(projectId);
|
||||
project2.setReceivableAmount(payWorking.getReceivableAmount());
|
||||
project2.setNoTaxAmount(payWorking.getNoTaxAmount());
|
||||
project2.setTax(payWorking.getTax());
|
||||
payWorkingGroupSubItemMapper.updateById(project2);
|
||||
}
|
||||
}else if (PayIncomeContractCommon.PROJECT_TYPE4.equals(projectType)){
|
||||
//会员项目
|
||||
PayMemberProjectSubitem old2 = payMemberProjectSubitemMapper.selectById(projectId);
|
||||
if (old2 == null) {
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
if (!new BigDecimal("0.00").equals(old2.getAmountReceivable())) {
|
||||
return;
|
||||
}
|
||||
String memberProjectId = old2.getProjectId();
|
||||
PayMemberProject memberProject = payMemberProjectService.getById(memberProjectId);
|
||||
PayMemberProjectSubitem member = new PayMemberProjectSubitem();
|
||||
member.setId(projectId);
|
||||
member.setAmountReceivable(memberProject.getChargeStandard());
|
||||
BigDecimal noTaxAmount = memberProject.getChargeStandard().divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
|
||||
member.setNoTaxAmount(noTaxAmount);
|
||||
member.setTax(memberProject.getChargeStandard().subtract(noTaxAmount));
|
||||
payMemberProjectSubitemMapper.updateById(member);
|
||||
}else if (PayIncomeContractCommon.PROJECT_TYPE5.equals(projectType)){
|
||||
//标协会员
|
||||
TbMemberProjectSubitem old3 = tbMemberProjectSubitemMapper.selectById(projectId);
|
||||
if (old3 == null) {
|
||||
throw new JeroBootException("项目不存在");
|
||||
}
|
||||
if (!new BigDecimal("0.00").equals(old3.getAmountReceivable())) {
|
||||
return;
|
||||
}
|
||||
TbMemberProjectSubitem tbMember = new TbMemberProjectSubitem();
|
||||
Integer memberNature = old3.getMemberNature();
|
||||
BigDecimal amountReceivable = null;
|
||||
if (memberNature.equals(1)) {
|
||||
amountReceivable = new BigDecimal("5000");
|
||||
} else {
|
||||
amountReceivable = new BigDecimal("2000");
|
||||
}
|
||||
tbMember.setId(projectId);
|
||||
tbMember.setAmountReceivable(amountReceivable);
|
||||
BigDecimal noTaxAmount1 = amountReceivable.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
|
||||
tbMember.setNoTaxAmount(noTaxAmount1);
|
||||
tbMember.setTax(amountReceivable.subtract(noTaxAmount1));
|
||||
tbMemberProjectSubitemMapper.updateById(tbMember);
|
||||
}
|
||||
});
|
||||
}
|
||||
//LambdaQueryWrapper<PayPackCompany> wrapper = new LambdaQueryWrapper<>();
|
||||
//wrapper.eq(PayPackCompany::getPackYear,"2024");
|
||||
//List<PayPackCompany> packCompanyList = payPackCompanyService.list(wrapper);
|
||||
//List<String> packCompanyIdList = packCompanyList.stream().map(PayPackCompany::getId).collect(Collectors.toList());
|
||||
//
|
||||
//LambdaQueryWrapper<PayPackCompanyProject> wrapper1 = new LambdaQueryWrapper<>();
|
||||
//wrapper1.in(PayPackCompanyProject::getPackId,packCompanyIdList);
|
||||
//List<PayPackCompanyProject> list = this.list(wrapper1);
|
||||
//ExecutorService fixedThreadPool = ThreadUtil.newExecutor(10);
|
||||
//for (PayPackCompanyProject project : list) {
|
||||
// fixedThreadPool.submit(() -> {
|
||||
// String projectId = project.getProjectId();
|
||||
// String projectType = project.getProjectType().toString();
|
||||
// // 普通项目
|
||||
// if (PayIncomeContractCommon.PROJECT_TYPE1.equals(projectType)){
|
||||
// PayCommonProject old = payCommonProjectMapper.selectById(projectId);
|
||||
// if (old == null) {
|
||||
// throw new JeroBootException("项目不存在");
|
||||
// }
|
||||
// if (!new BigDecimal("0.00").equals(old.getReceivableAmount())) {
|
||||
// return;
|
||||
// }
|
||||
// PayCommonProject payCommonProject = null;
|
||||
// //普通项目管理-添加
|
||||
// List<JSONObject> jsonObjects = sysBaseAPI.getLogByRequestParam(projectId);
|
||||
// if (jsonObjects.isEmpty()) {
|
||||
// return;
|
||||
// }
|
||||
// for (JSONObject jsonObject : jsonObjects) {
|
||||
// String logContent = jsonObject.getString("logContent");
|
||||
// if ("普通项目管理-添加".equals(logContent)) {
|
||||
// String requestParam = jsonObject.getString("requestParam");
|
||||
// requestParam = requestParam.substring(1, requestParam.length() - 1);
|
||||
// payCommonProject = JSONObject.parseObject(requestParam, PayCommonProject.class);
|
||||
// }
|
||||
// }
|
||||
// if (payCommonProject == null) {
|
||||
// return;
|
||||
// }
|
||||
// PayCommonProject project1 = new PayCommonProject();
|
||||
// project1.setId(projectId);
|
||||
// project1.setReceivableAmount(payCommonProject.getReceivableAmount());
|
||||
// project1.setNoTaxAmount(payCommonProject.getNoTaxAmount());
|
||||
// project1.setTax(payCommonProject.getTax());
|
||||
// payCommonProjectMapper.updateById(project1);
|
||||
// }else if (PayIncomeContractCommon.PROJECT_TYPE2.equals(projectType)){
|
||||
// // 工作组项目
|
||||
// //工作组成员-修改 工作组成员-添加
|
||||
// PayWorkingGroupSubItem old1 = payWorkingGroupSubItemMapper.selectById(projectId);
|
||||
// if (old1 == null) {
|
||||
// throw new JeroBootException("项目不存在");
|
||||
// }
|
||||
// if (!new BigDecimal("0.00").equals(old1.getReceivableAmount())) {
|
||||
// return;
|
||||
// }
|
||||
// String workingGroupId = old1.getWorkingGroupId();
|
||||
// PayWorkingGroup payWorkingGroup = payWorkingGroupMapper.selectById(workingGroupId);
|
||||
// BigDecimal yearChargeA = payWorkingGroup.getYearChargeA();
|
||||
// if (yearChargeA == null || new BigDecimal("0.00").equals(yearChargeA)) {
|
||||
// yearChargeA = new BigDecimal("0.00");
|
||||
// }
|
||||
// PayWorkingGroupSubItem payWorking = null;
|
||||
// List<JSONObject> jsonObjects1 = sysBaseAPI.getLogByRequestParam(projectId);
|
||||
// for (JSONObject jsonObject : jsonObjects1) {
|
||||
// String logContent = jsonObject.getString("logContent");
|
||||
// if ("工作组成员-添加".equals(logContent) || "工作组成员-修改".equals(logContent) || "企业端-工作组成员-修改".equals(logContent)) {
|
||||
// String requestParam = jsonObject.getString("requestParam");
|
||||
// requestParam = requestParam.substring(1, requestParam.length() - 1);
|
||||
// PayWorkingGroupSubItem obj = JSONObject.parseObject(requestParam, PayWorkingGroupSubItem.class);
|
||||
// BigDecimal receivableAmount = obj.getReceivableAmount();
|
||||
// if (new BigDecimal("0.00").equals(receivableAmount) || receivableAmount == null) {
|
||||
// return;
|
||||
// } else {
|
||||
// payWorking = obj;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if (payWorking == null) {
|
||||
//
|
||||
// PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem();
|
||||
// project2.setId(projectId);
|
||||
//
|
||||
// project2.setReceivableAmount(yearChargeA);
|
||||
// BigDecimal noTaxAmount = yearChargeA.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
|
||||
// project2.setNoTaxAmount(noTaxAmount);
|
||||
// project2.setTax(yearChargeA.subtract(noTaxAmount));
|
||||
// payWorkingGroupSubItemMapper.updateById(project2);
|
||||
// } else {
|
||||
// PayWorkingGroupSubItem project2 = new PayWorkingGroupSubItem();
|
||||
// project2.setId(projectId);
|
||||
// project2.setReceivableAmount(payWorking.getReceivableAmount());
|
||||
// project2.setNoTaxAmount(payWorking.getNoTaxAmount());
|
||||
// project2.setTax(payWorking.getTax());
|
||||
// payWorkingGroupSubItemMapper.updateById(project2);
|
||||
// }
|
||||
// }else if (PayIncomeContractCommon.PROJECT_TYPE4.equals(projectType)){
|
||||
// //会员项目
|
||||
// PayMemberProjectSubitem old2 = payMemberProjectSubitemMapper.selectById(projectId);
|
||||
// if (old2 == null) {
|
||||
// throw new JeroBootException("项目不存在");
|
||||
// }
|
||||
// if (!new BigDecimal("0.00").equals(old2.getAmountReceivable())) {
|
||||
// return;
|
||||
// }
|
||||
// String memberProjectId = old2.getProjectId();
|
||||
// PayMemberProject memberProject = payMemberProjectService.getById(memberProjectId);
|
||||
// PayMemberProjectSubitem member = new PayMemberProjectSubitem();
|
||||
// member.setId(projectId);
|
||||
// member.setAmountReceivable(memberProject.getChargeStandard());
|
||||
// BigDecimal noTaxAmount = memberProject.getChargeStandard().divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
|
||||
// member.setNoTaxAmount(noTaxAmount);
|
||||
// member.setTax(memberProject.getChargeStandard().subtract(noTaxAmount));
|
||||
// payMemberProjectSubitemMapper.updateById(member);
|
||||
// }else if (PayIncomeContractCommon.PROJECT_TYPE5.equals(projectType)){
|
||||
// //标协会员
|
||||
// TbMemberProjectSubitem old3 = tbMemberProjectSubitemMapper.selectById(projectId);
|
||||
// if (old3 == null) {
|
||||
// throw new JeroBootException("项目不存在");
|
||||
// }
|
||||
// if (!new BigDecimal("0.00").equals(old3.getAmountReceivable())) {
|
||||
// return;
|
||||
// }
|
||||
// TbMemberProjectSubitem tbMember = new TbMemberProjectSubitem();
|
||||
// Integer memberNature = old3.getMemberNature();
|
||||
// BigDecimal amountReceivable = null;
|
||||
// if (memberNature.equals(1)) {
|
||||
// amountReceivable = new BigDecimal("5000");
|
||||
// } else {
|
||||
// amountReceivable = new BigDecimal("2000");
|
||||
// }
|
||||
// tbMember.setId(projectId);
|
||||
// tbMember.setAmountReceivable(amountReceivable);
|
||||
// BigDecimal noTaxAmount1 = amountReceivable.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
|
||||
// tbMember.setNoTaxAmount(noTaxAmount1);
|
||||
// tbMember.setTax(amountReceivable.subtract(noTaxAmount1));
|
||||
// tbMemberProjectSubitemMapper.updateById(tbMember);
|
||||
// }
|
||||
// });
|
||||
//}
|
||||
//if (!fixedThreadPool.isShutdown()) {
|
||||
// fixedThreadPool.shutdown();
|
||||
//}
|
||||
@@ -540,5 +577,19 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
|
||||
// fixedThreadPool.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
|
||||
//} catch (InterruptedException e) {
|
||||
//}
|
||||
LambdaQueryWrapper<PayMeetingSituation> wrapper2 = new LambdaQueryWrapper<>();
|
||||
wrapper2.eq(PayMeetingSituation::getPayMode, MeetingSubitemCommon.PAY_MODE_3);
|
||||
List<PayMeetingSituation> situationList = meetingSituationService.list(wrapper2);
|
||||
for (PayMeetingSituation situation : situationList) {
|
||||
String meetingId = situation.getMeetingId();
|
||||
PayMeeting meeting = meetingService.getById(meetingId);
|
||||
BigDecimal meetingCosts = meeting.getMeetingCosts();
|
||||
PayMeetingSituation project2 = new PayMeetingSituation();
|
||||
project2.setId(situation.getId());
|
||||
project2.setAmountReceivable(meetingCosts);
|
||||
BigDecimal noTaxAmount = meetingCosts.divide(StaticConfig.TAX_RATE_CALCULATE, 2, RoundingMode.HALF_UP);
|
||||
project2.setNoTaxAmount(noTaxAmount);
|
||||
project2.setTax(meetingCosts.subtract(noTaxAmount));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+26
-23
@@ -4,12 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.common.ProjectCommon;
|
||||
import com.jero.common.enums.PaymentStatusEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.vo.ProjectStatusVO;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
import com.jero.mail.service.IPayMailBillProjectService;
|
||||
import com.jero.mail.service.IPayMailBillService;
|
||||
@@ -17,28 +13,25 @@ import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.pack.entity.PayPackCompany;
|
||||
import com.jero.pack.mapper.PayPackCompanyMapper;
|
||||
import com.jero.pack.service.IPayPackCompanyService;
|
||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import com.jero.statistics.entity.AllMoney;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: pay_pack_company
|
||||
@@ -63,6 +56,8 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
||||
private IPayMailBillProjectService payMailBillProjectService;
|
||||
@Resource
|
||||
private IPayMailBillService payMailBillService;
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
|
||||
@Override
|
||||
public IPage<PayPackCompany> queryPageList(Page<PayPackCompany> page, PayPackCompany payPackCompany) {
|
||||
@@ -72,10 +67,13 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
||||
@Override
|
||||
@Transactional
|
||||
public PayPackCompany addPayPackCompany(PayPackCompany payPackCompany) {
|
||||
String packYear = payPackCompany.getPackYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(packYear);
|
||||
try {
|
||||
LambdaQueryWrapper<PayPackCompany> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayPackCompany::getCompanyId,payPackCompany.getCompanyId());
|
||||
query.eq(PayPackCompany::getPackYear,payPackCompany.getPackYear());
|
||||
query.eq(PayPackCompany::getPackYear, packYear);
|
||||
PayPackCompany payPackCompanyNew = payPackCompanyService.getOne(query);
|
||||
if(!Objects.isNull(payPackCompanyNew)){
|
||||
throw new JeroBootException("该年份下已存在此打包企业!");
|
||||
@@ -84,7 +82,7 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
||||
log.error("",e);
|
||||
throw new JeroBootException("该年份下已存在此打包企业!");
|
||||
}
|
||||
setPayPackCompanyAdd(payPackCompany);
|
||||
setPayPackCompanyAdd(payPackCompany,annualDataLocking);
|
||||
payPackCompany.setPackPrincipalName(sysUserService.getById(payPackCompany.getPackPrincipalId()).getRealname());
|
||||
payPackCompanyService.save(payPackCompany);
|
||||
return payPackCompany;
|
||||
@@ -94,6 +92,11 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
||||
@Transactional
|
||||
public void editPayPackCompany(PayPackCompany payPackCompany) {
|
||||
PayPackCompany payPackCompanyOld = payPackCompanyService.getById(payPackCompany.getId());
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(payPackCompanyOld.getPackYear());
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking1 = annualDataLockingService.judgeUserYear(payPackCompany.getPackYear());
|
||||
|
||||
if(Objects.isNull(payPackCompanyOld)){
|
||||
throw new JeroBootException("打包企业不存在!");
|
||||
}
|
||||
@@ -114,7 +117,7 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
||||
}
|
||||
|
||||
payPackCompany.setPackPrincipalName(sysUserService.getById(payPackCompany.getPackPrincipalId()).getRealname());
|
||||
setPayPackCompanyEdit(payPackCompany,payPackCompanyOld);
|
||||
setPayPackCompanyEdit(payPackCompany,payPackCompanyOld,annualDataLocking);
|
||||
payPackCompanyService.updateById(payPackCompany);
|
||||
}
|
||||
|
||||
@@ -156,23 +159,23 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private PayPackCompany setPayPackCompanyAdd(PayPackCompany payPackCompany){
|
||||
private PayPackCompany setPayPackCompanyAdd(PayPackCompany payPackCompany, AnnualDataLocking annualDataLocking){
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payPackCompany.getCompanyId());
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payPackCompany.getCompanyId(), annualDataLocking);
|
||||
if(Objects.isNull(chargeCompanyName)){
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
payPackCompany.setCompanyTemporaryId(chargeCompanyName.getId());
|
||||
payPackCompany.setCompanyTemporaryName(chargeCompanyName.getCompanyName());
|
||||
// 企业联系人
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payPackCompany.getCompanyContactId());
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payPackCompany.getCompanyContactId(), annualDataLocking);
|
||||
if(Objects.isNull(contactsName)){
|
||||
throw new JeroBootException("企业联系人名称为空!");
|
||||
}
|
||||
payPackCompany.setCompanyContactTemporaryId(contactsName.getId());
|
||||
payPackCompany.setCompanyContactTemporaryName(contactsName.getName());
|
||||
// 邮寄联系人
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payPackCompany.getPackContactId());
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payPackCompany.getPackContactId(), annualDataLocking);
|
||||
if(Objects.isNull(mailContactsName)){
|
||||
throw new JeroBootException("邮寄联系人名称为空!");
|
||||
}
|
||||
@@ -193,41 +196,41 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private PayPackCompany setPayPackCompanyEdit(PayPackCompany payPackCompany,PayPackCompany payPackCompanyOld){
|
||||
private PayPackCompany setPayPackCompanyEdit(PayPackCompany payPackCompany, PayPackCompany payPackCompanyOld, AnnualDataLocking annualDataLocking){
|
||||
|
||||
if(!Objects.equals(payPackCompanyOld.getCompanyTemporaryId(),payPackCompany.getCompanyId())){
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payPackCompany.getCompanyId());
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payPackCompany.getCompanyId(), annualDataLocking);
|
||||
if(Objects.isNull(chargeCompanyName)){
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
payPackCompany.setCompanyTemporaryId(chargeCompanyName.getId());
|
||||
payPackCompany.setCompanyTemporaryName(chargeCompanyName.getCompanyName());
|
||||
payCompanyManagementTemporaryService.removeById(payPackCompanyOld.getCompanyTemporaryId());
|
||||
//payCompanyManagementTemporaryService.removeById(payPackCompanyOld.getCompanyTemporaryId());
|
||||
}else{
|
||||
payPackCompany.setCompanyId(payPackCompanyOld.getCompanyId());
|
||||
}
|
||||
// 企业联系人
|
||||
if(!Objects.equals(payPackCompanyOld.getCompanyContactTemporaryId(),payPackCompany.getCompanyContactId())){
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payPackCompany.getCompanyContactId());
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payPackCompany.getCompanyContactId(), annualDataLocking);
|
||||
if(Objects.isNull(contactsName)){
|
||||
throw new JeroBootException("企业联系人名称为空!");
|
||||
}
|
||||
payPackCompany.setCompanyContactTemporaryId(contactsName.getId());
|
||||
payPackCompany.setCompanyContactTemporaryName(contactsName.getName());
|
||||
payContactsManagementTemporaryService.removeById(payPackCompanyOld.getCompanyContactTemporaryId());
|
||||
// payContactsManagementTemporaryService.removeById(payPackCompanyOld.getCompanyContactTemporaryId());
|
||||
}else{
|
||||
payPackCompany.setCompanyContactId(payPackCompanyOld.getCompanyContactId());
|
||||
}
|
||||
// 打包联系人
|
||||
if(!Objects.equals(payPackCompanyOld.getPackContactTemporaryId(),payPackCompany.getPackContactId())){
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payPackCompany.getPackContactId());
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payPackCompany.getPackContactId(), annualDataLocking);
|
||||
if(Objects.isNull(mailContactsName)){
|
||||
throw new JeroBootException("打包联系人名称为空!");
|
||||
}
|
||||
payPackCompany.setPackContactTemporaryId(mailContactsName.getId());
|
||||
payPackCompany.setPackContactTemporaryName(mailContactsName.getName());
|
||||
payContactsManagementTemporaryService.removeById(payPackCompanyOld.getPackContactTemporaryId());
|
||||
// payContactsManagementTemporaryService.removeById(payPackCompanyOld.getPackContactTemporaryId());
|
||||
}else{
|
||||
payPackCompany.setPackContactId(payPackCompanyOld.getPackContactId());
|
||||
}
|
||||
|
||||
+18
-1
@@ -15,9 +15,11 @@ import com.jero.member.entity.TbCertificatePayment;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.service.ITbCertificatePaymentService;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.payment.entity.PayConfirmPaymentRecord;
|
||||
import com.jero.payment.entity.PayPaymentRecord;
|
||||
import com.jero.payment.service.IPayPaymentRecordService;
|
||||
import com.jero.payment.vo.EditBillTypeParam;
|
||||
import com.jero.payment.vo.EditReceivableAmountParam;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.vo.PayCommonProjectOutput;
|
||||
import com.jero.standards.memberinfo.entity.MemberInfo;
|
||||
@@ -25,6 +27,7 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
@@ -194,8 +197,22 @@ public class PayPaymentRecordController extends JeroController<PayPaymentRecord,
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 添加开票
|
||||
* 编辑待确收金额
|
||||
*/
|
||||
@RequiresPermissions("incomePaymentAndInvoiving:editReceivableAmount")
|
||||
@AutoLog(value = "编辑待确收金额")
|
||||
@ApiOperation(value="编辑待确收金额", notes="编辑待确收金额")
|
||||
@PostMapping(value = "/editReceivableAmount")
|
||||
public Result<?> editReceivableAmount(@Validated @RequestBody EditReceivableAmountParam editReceivableAmountParam) {
|
||||
ValidUtil.validate(editReceivableAmountParam);
|
||||
payPaymentRecordService.editReceivableAmount(editReceivableAmountParam);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑开票类型
|
||||
*/
|
||||
@ApiOperation(value = "编辑开票类型", notes = "编辑开票类型")
|
||||
@RequiresPermissions("packProject:changeInvoiceInfo")
|
||||
|
||||
+2
-1
@@ -51,7 +51,8 @@ public interface IPayPaymentCheckService extends IService<PayPaymentRecordSub> {
|
||||
* @param amountReceivable 应收
|
||||
* @param paidAmount 实收
|
||||
* @param paymentStatus 缴费状态
|
||||
* @param changeReceivableAmountFlag
|
||||
* @return
|
||||
*/
|
||||
String getPaymentStatus(BigDecimal amountReceivable,BigDecimal paidAmount,String paymentStatus);
|
||||
String getPaymentStatus(BigDecimal amountReceivable, BigDecimal paidAmount, String paymentStatus, boolean changeReceivableAmountFlag);
|
||||
}
|
||||
|
||||
+8
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.payment.entity.PayPaymentRecord;
|
||||
import com.jero.payment.vo.EditBillTypeParam;
|
||||
import com.jero.payment.vo.EditReceivableAmountParam;
|
||||
import com.jero.payment.vo.TbCheckVo;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.vo.PayCommonProjectOutput;
|
||||
@@ -109,6 +110,13 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
|
||||
* @param payPaymentRecord
|
||||
*/
|
||||
void editAmountReceived(PayPaymentRecord payPaymentRecord);
|
||||
|
||||
/**
|
||||
* 编辑待确收金额
|
||||
* @param editReceivableAmountParam
|
||||
*/
|
||||
void editReceivableAmount(EditReceivableAmountParam editReceivableAmountParam);
|
||||
|
||||
/**
|
||||
* 标协会员项目来款推送到标协项目
|
||||
* @param typr5List
|
||||
|
||||
+37
-19
@@ -16,7 +16,6 @@ import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.SendMessageService;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
@@ -531,7 +530,7 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
|
||||
payPaymentRecords.add(payPaymentRecord);
|
||||
payPaymentRecordService.addAmountReceived(payPaymentRecords,ProjectCommon.PAYMENT_FLAG2,"check");
|
||||
}else{
|
||||
paymentStatus = getPaymentStatus(payCommonProject.getReceivableAmount(), payCommonProject.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
|
||||
paymentStatus = getPaymentStatus(payCommonProject.getReceivableAmount(), payCommonProject.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode(), false);//缴费状态
|
||||
payCommonProject.setPaymentStatus(paymentStatus);
|
||||
//更新主列表
|
||||
payCommonProjectMapper.updateById(payCommonProject);
|
||||
@@ -555,7 +554,7 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
|
||||
payPaymentRecords.add(payPaymentRecord);
|
||||
payPaymentRecordService.addAmountReceived(payPaymentRecords,ProjectCommon.PAYMENT_FLAG2,"check");
|
||||
}else{
|
||||
paymentStatus = getPaymentStatus(payWorking.getReceivableAmount(), payWorking.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
|
||||
paymentStatus = getPaymentStatus(payWorking.getReceivableAmount(), payWorking.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode(), false);//缴费状态
|
||||
payWorking.setPaymentStatus(paymentStatus);
|
||||
//更新主列表
|
||||
payWorkingGroupSubItemMapper.updateById(payWorking);
|
||||
@@ -563,6 +562,9 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
|
||||
project = payWorkingGroup.getWorkingGroupProject();
|
||||
checkSendMessage(payPaymentRecord.getCreateBy(), payPaymentRecord.getProjectId(),project, String.valueOf(payPaymentRecord.getProjectType()));
|
||||
}
|
||||
// 更新审核状态为已审核
|
||||
payWorking.setCheckPaymentStatus(PayProjectCommon.IS_CHECK_PAY_MENT);
|
||||
payWorkingGroupSubItemMapper.updateById(payWorking);
|
||||
|
||||
break;
|
||||
//会员项目
|
||||
@@ -579,7 +581,7 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
|
||||
payPaymentRecords.add(payPaymentRecord);
|
||||
payPaymentRecordService.addAmountReceived(payPaymentRecords,ProjectCommon.PAYMENT_FLAG2,"check");
|
||||
}else{
|
||||
paymentStatus = getPaymentStatus(member.getAmountReceivable(), member.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
|
||||
paymentStatus = getPaymentStatus(member.getAmountReceivable(), member.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode(), false);//缴费状态
|
||||
member.setPaymentStatus(paymentStatus);
|
||||
//更新主列表
|
||||
payMemberProjectSubitemMapper.updateById(member);
|
||||
@@ -618,7 +620,7 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
|
||||
}
|
||||
payPaymentRecordService.sendMessage( principalId,project, payPaymentRecord,listId);
|
||||
}else{
|
||||
paymentStatus = getPaymentStatus(tbMember.getAmountReceivable(), tbMember.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
|
||||
paymentStatus = getPaymentStatus(tbMember.getAmountReceivable(), tbMember.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode(), false);//缴费状态
|
||||
tbMember.setPaymentStatus(paymentStatus);
|
||||
tbCheckVo.setCheckResult(PayProjectCommon.NO);
|
||||
|
||||
@@ -667,7 +669,7 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
|
||||
inAccount = payPaymentRecordService.getInAccount(tbMemberCertificate.getAmountReceivable(), newPaidAmount);//到账状态
|
||||
tbMemberCertificate.setPaidAmount(newPaidAmount);
|
||||
tbMemberCertificate.setInAccount(inAccount);
|
||||
paymentStatus = getPaymentStatus(tbMemberCertificate.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = getPaymentStatus(tbMemberCertificate.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode(), false);//缴费状态
|
||||
tbMemberCertificate.setPaymentStatus(paymentStatus);
|
||||
//插入来款记录表
|
||||
payPaymentRecord.setId(null);
|
||||
@@ -691,7 +693,7 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
|
||||
}
|
||||
payPaymentRecordService.sendMessage( principalId,project, payPaymentRecord,listId);
|
||||
}else{
|
||||
paymentStatus = getPaymentStatus(tbMemberCertificate.getAmountReceivable(), tbMemberCertificate.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
|
||||
paymentStatus = getPaymentStatus(tbMemberCertificate.getAmountReceivable(), tbMemberCertificate.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode(), false);//缴费状态
|
||||
tbMemberCertificate.setPaymentStatus(paymentStatus);
|
||||
tbCheckCerVo.setCheckResult(PayProjectCommon.NO);
|
||||
|
||||
@@ -740,28 +742,44 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
|
||||
* @param amountReceivable 应收
|
||||
* @param paidAmount 实收
|
||||
* @param paymentStatus 缴费状态
|
||||
* @param changeReceivableAmountFlag 更改待确收金额标识
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String getPaymentStatus(BigDecimal amountReceivable,BigDecimal paidAmount,String paymentStatus){
|
||||
public String getPaymentStatus(BigDecimal amountReceivable, BigDecimal paidAmount, String paymentStatus, boolean changeReceivableAmountFlag){
|
||||
if(amountReceivable == null){
|
||||
amountReceivable = new BigDecimal("0.00");
|
||||
}
|
||||
if(paidAmount == null){
|
||||
paidAmount = new BigDecimal("0.00");
|
||||
}
|
||||
if (changeReceivableAmountFlag){
|
||||
// 实收金额 < 待确收金额 && 不等于待审核/已拒绝
|
||||
if(paidAmount.compareTo(amountReceivable) < 0
|
||||
&& !PaymentStatusEnum.TO_BE_REVIEWED.getCode().equals(paymentStatus)
|
||||
&& !PaymentStatusEnum.REJECTED.getCode().equals(paymentStatus)){
|
||||
paymentStatus = PaymentStatusEnum.TO_BE_UPLOADED.getCode();//待上传
|
||||
}
|
||||
// 应收>0 && 实收金额 == 待确收金额 && 不等于待审核
|
||||
if(amountReceivable.compareTo(new BigDecimal("0.00")) > 0
|
||||
&& paidAmount.compareTo(amountReceivable) == 0
|
||||
&& !PaymentStatusEnum.TO_BE_REVIEWED.getCode().equals(paymentStatus)){
|
||||
paymentStatus = PaymentStatusEnum.COMPLETED.getCode();//已完结
|
||||
}
|
||||
}else {
|
||||
// 实收金额 < 待确收金额 && 不等于待审核/已拒绝
|
||||
if(paidAmount.compareTo(amountReceivable) < 0
|
||||
//&& !PaymentStatusEnum.TO_BE_REVIEWED.getCode().equals(paymentStatus)
|
||||
&& !PaymentStatusEnum.REJECTED.getCode().equals(paymentStatus)){
|
||||
paymentStatus = PaymentStatusEnum.TO_BE_UPLOADED.getCode();//待上传
|
||||
}
|
||||
// 应收>0 && 实收金额 == 待确收金额
|
||||
if(amountReceivable.compareTo(new BigDecimal("0.00")) > 0
|
||||
&& paidAmount.compareTo(amountReceivable) == 0){
|
||||
paymentStatus = PaymentStatusEnum.COMPLETED.getCode();//已完结
|
||||
}
|
||||
}
|
||||
|
||||
// 实收金额 < 待确收金额 && 不等于待审核/已拒绝
|
||||
if(paidAmount.compareTo(amountReceivable) < 0
|
||||
&& !PaymentStatusEnum.TO_BE_REVIEWED.getCode().equals(paymentStatus)
|
||||
&& !PaymentStatusEnum.REJECTED.getCode().equals(paymentStatus)){
|
||||
paymentStatus = PaymentStatusEnum.TO_BE_UPLOADED.getCode();//待上传
|
||||
}
|
||||
// 应收>0 && 实收金额 == 待确收金额
|
||||
if(amountReceivable.compareTo(new BigDecimal("0.00")) > 0
|
||||
&& paidAmount.compareTo(amountReceivable) == 0){
|
||||
paymentStatus = PaymentStatusEnum.COMPLETED.getCode();//已完结
|
||||
}
|
||||
return paymentStatus;
|
||||
}
|
||||
}
|
||||
|
||||
+275
-14
@@ -18,7 +18,6 @@ import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.SendMessageService;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.company.entity.PayCompanyManagement;
|
||||
@@ -27,6 +26,7 @@ import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.mail.service.IPayMailBillService;
|
||||
import com.jero.meeting.common.MeetingSubitemCommon;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
@@ -50,6 +50,7 @@ import com.jero.payment.mapper.PayPaymentRecordMapper;
|
||||
import com.jero.payment.service.IPayPaymentCheckService;
|
||||
import com.jero.payment.service.IPayPaymentRecordService;
|
||||
import com.jero.payment.vo.EditBillTypeParam;
|
||||
import com.jero.payment.vo.EditReceivableAmountParam;
|
||||
import com.jero.payment.vo.TbCheckVo;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
@@ -139,7 +140,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
private IPayWorkingGroupSubItemContactsService payWorkingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private IPayPackCompanyService payPackCompanyService;
|
||||
|
||||
@Resource
|
||||
private IPayMailBillService mailBillService;
|
||||
@Resource
|
||||
private PayConfirmPaymentRecordService confirmPaymentRecordService;
|
||||
@Value("${jero.path.upload}")
|
||||
private String upLoadPath;
|
||||
|
||||
@@ -407,7 +411,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
newPaidAmount =addPaidAmount(payCommonProject.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(payCommonProject.getReceivableAmount(), newPaidAmount);//到账状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(payCommonProject.getReceivableAmount(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = payCommonProject.getPaymentStatus();
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(payCommonProject.getReceivableAmount(), newPaidAmount, paymentStatus, false);//缴费状态
|
||||
tax = addPaidAmount(payCommonProject.getPaidTax(),payPaymentRecord.getTax());
|
||||
noTaxAmount = addPaidAmount(payCommonProject.getPaidNoTaxAmount(),payPaymentRecord.getNoTaxAmount());
|
||||
payCommonProject.setPaidTax(tax);
|
||||
@@ -438,7 +443,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
newPaidAmount =addPaidAmount(payWorking.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(payWorking.getReceivableAmount(), newPaidAmount);//到账状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(payWorking.getReceivableAmount(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = payWorking.getPaymentStatus();
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(payWorking.getReceivableAmount(), newPaidAmount, paymentStatus, false);//缴费状态
|
||||
tax = addPaidAmount(payWorking.getPaidTax(),payPaymentRecord.getTax());
|
||||
noTaxAmount = addPaidAmount(payWorking.getPaidNoTaxAmount(),payPaymentRecord.getNoTaxAmount());
|
||||
payWorking.setPaidTax(tax);
|
||||
@@ -467,7 +473,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
newPaidAmount =addPaidAmount(meeting.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(meeting.getAmountReceivable(), newPaidAmount);//到账状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(meeting.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = meeting.getPaymentStatus();
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(meeting.getAmountReceivable(), newPaidAmount, paymentStatus, false);//缴费状态
|
||||
tax = addPaidAmount(meeting.getPaidTax(),payPaymentRecord.getTax());
|
||||
noTaxAmount = addPaidAmount(meeting.getPaidNoTaxAmount(),payPaymentRecord.getNoTaxAmount());
|
||||
meeting.setPaidTax(tax);
|
||||
@@ -494,7 +501,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
newPaidAmount =addPaidAmount(member.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(member.getAmountReceivable(), newPaidAmount);//到账状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(member.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = member.getPaymentStatus();
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(member.getAmountReceivable(), newPaidAmount, paymentStatus, false);//缴费状态
|
||||
tax = addPaidAmount(member.getPaidTax(),payPaymentRecord.getTax());
|
||||
noTaxAmount = addPaidAmount(member.getPaidNoTaxAmount(),payPaymentRecord.getNoTaxAmount());
|
||||
member.setPaidTax(tax);
|
||||
@@ -524,7 +532,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
newPaidAmount =addPaidAmount(tbMember.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(tbMember.getAmountReceivable(), newPaidAmount);//到账状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(tbMember.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = tbMember.getPaymentStatus();
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(tbMember.getAmountReceivable(), newPaidAmount, paymentStatus, false);//缴费状态
|
||||
tax = addPaidAmount(tbMember.getPaidTax(),payPaymentRecord.getTax());
|
||||
noTaxAmount = addPaidAmount(tbMember.getPaidNoTaxAmount(),payPaymentRecord.getNoTaxAmount());
|
||||
tbMember.setPaidTax(tax);
|
||||
@@ -556,7 +565,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
newPaidAmount =addPaidAmount(tbMemberCertificate.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(tbMemberCertificate.getAmountReceivable(), newPaidAmount);//到账状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(tbMemberCertificate.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = tbMemberCertificate.getPaymentStatus();
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(tbMemberCertificate.getAmountReceivable(), newPaidAmount, paymentStatus, false);//缴费状态
|
||||
tax = addPaidAmount(tbMemberCertificate.getPaidTax(),payPaymentRecord.getTax());
|
||||
noTaxAmount = addPaidAmount(tbMemberCertificate.getPaidNoTaxAmount(),payPaymentRecord.getNoTaxAmount());
|
||||
tbMemberCertificate.setPaidTax(tax);
|
||||
@@ -884,6 +894,31 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断能否修改待确收金额
|
||||
* @param receivableAmount 待确收金额
|
||||
* @param paidAmount 到账金额
|
||||
* @param confirmAmount 确认收入金额
|
||||
* @param invoiceAmount 开票金额
|
||||
*/
|
||||
private void editReceivableAmountFlag(BigDecimal receivableAmount, BigDecimal paidAmount, BigDecimal confirmAmount, BigDecimal invoiceAmount) {
|
||||
if(receivableAmount == null){
|
||||
receivableAmount = new BigDecimal("0");
|
||||
}
|
||||
//待确收金额不能小于到账金额
|
||||
if (paidAmount != null && receivableAmount.compareTo(paidAmount) < 0){
|
||||
throw new JeroBootException("待确收金额不能小于到账金额");
|
||||
}
|
||||
//待确收金额不能小于确认收入金额
|
||||
if (confirmAmount != null && receivableAmount.compareTo(confirmAmount) < 0){
|
||||
throw new JeroBootException("待确收金额不能小于确认收入金额");
|
||||
}
|
||||
//待确收金额不能小于开票金额
|
||||
if (invoiceAmount != null && receivableAmount.compareTo(invoiceAmount) < 0){
|
||||
throw new JeroBootException("待确收金额不能小于开票金额");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 税额是否正确
|
||||
* @param tax 税额
|
||||
@@ -1224,6 +1259,232 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
payPaymentCheckMapper.update(payPaymentRecordSub,updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void editReceivableAmount(EditReceivableAmountParam param) {
|
||||
String projectId = param.getProjectId();
|
||||
Integer projectType = param.getProjectType();
|
||||
BigDecimal receivableAmount = param.getReceivableAmount();
|
||||
boolean changeReceivableAmountFlag = true;
|
||||
//到账金额
|
||||
BigDecimal paidAmount;
|
||||
//缴费凭证状态
|
||||
String paymentStatus;
|
||||
//确认收入金额
|
||||
BigDecimal confirmAmount;
|
||||
//开票金额
|
||||
BigDecimal invoiceAmount;
|
||||
//开票状态
|
||||
Integer needInvoice;
|
||||
int makeInvoice;
|
||||
//确认收入状态
|
||||
Integer affirmIncome;
|
||||
Integer inAccount;
|
||||
//税率
|
||||
BigDecimal taxRate;
|
||||
//税额
|
||||
BigDecimal tax;
|
||||
//未税金额
|
||||
BigDecimal noTaxAmount;
|
||||
//税额是否正确
|
||||
switch (String.valueOf(projectType)) {
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(projectId);
|
||||
//获取到账、确收、开票金额
|
||||
paidAmount = payCommonProject.getPaidAmount();
|
||||
confirmAmount = payCommonProject.getConfirmAmount();
|
||||
invoiceAmount = payCommonProject.getInvoiceAmount();
|
||||
//判断能否修改待确收金额
|
||||
editReceivableAmountFlag(receivableAmount, paidAmount, confirmAmount, invoiceAmount);
|
||||
//开票状态
|
||||
needInvoice = payCommonProject.getNeedInvoice();
|
||||
makeInvoice = mailBillService.getMakeInvoice(receivableAmount, needInvoice, invoiceAmount);
|
||||
payCommonProject.setMakeInvoice(makeInvoice);
|
||||
//保存新的税额、未税金额
|
||||
taxRate = payCommonProject.getTaxRate();
|
||||
noTaxAmount = receivableAmount.divide(taxRate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP);
|
||||
payCommonProject.setNoTaxAmount(noTaxAmount);
|
||||
payCommonProject.setTax(receivableAmount.subtract(noTaxAmount));
|
||||
//到账状态
|
||||
inAccount = getInAccount(receivableAmount, paidAmount);
|
||||
paymentStatus = payCommonProject.getPaymentStatus();
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(receivableAmount, paidAmount, paymentStatus, changeReceivableAmountFlag);//缴费状态
|
||||
payCommonProject.setPaymentStatus(paymentStatus);
|
||||
payCommonProject.setInAccount(inAccount);
|
||||
//确认收入状态
|
||||
affirmIncome = confirmPaymentRecordService.getAffirmIncome(receivableAmount, confirmAmount);
|
||||
payCommonProject.setAffirmIncome(affirmIncome);
|
||||
//更新
|
||||
payCommonProject.setReceivableAmount(receivableAmount);
|
||||
payCommonProjectMapper.updateById(payCommonProject);
|
||||
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(projectId);
|
||||
//获取到账、确收、开票金额
|
||||
paidAmount = payWorking.getPaidAmount();
|
||||
confirmAmount = payWorking.getConfirmAmount();
|
||||
invoiceAmount = payWorking.getInvoiceAmount();
|
||||
//判断能否修改待确收金额
|
||||
editReceivableAmountFlag(receivableAmount, paidAmount, confirmAmount, invoiceAmount);
|
||||
//开票状态
|
||||
needInvoice = payWorking.getNeedInvoice();
|
||||
makeInvoice = mailBillService.getMakeInvoice(receivableAmount, needInvoice, invoiceAmount);
|
||||
payWorking.setMakeInvoice(makeInvoice);
|
||||
//保存新的税额、未税金额
|
||||
taxRate = payWorking.getTaxRate();
|
||||
noTaxAmount = receivableAmount.divide(taxRate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP);
|
||||
payWorking.setNoTaxAmount(noTaxAmount);
|
||||
payWorking.setTax(receivableAmount.subtract(noTaxAmount));
|
||||
//到账状态
|
||||
inAccount = getInAccount(receivableAmount, paidAmount);
|
||||
paymentStatus = payWorking.getPaymentStatus();
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(receivableAmount, paidAmount, paymentStatus, changeReceivableAmountFlag);//缴费状态
|
||||
payWorking.setPaymentStatus(paymentStatus);
|
||||
payWorking.setInAccount(inAccount);
|
||||
//确认收入状态
|
||||
affirmIncome = confirmPaymentRecordService.getAffirmIncome(receivableAmount, confirmAmount);
|
||||
payWorking.setAffirmIncome(affirmIncome);
|
||||
//更新
|
||||
payWorking.setReceivableAmount(receivableAmount);
|
||||
payWorkingGroupSubItemMapper.updateById(payWorking);
|
||||
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation meetingSituation = payMeetingSituationMapper.selectById(projectId);
|
||||
//获取到账、确收、开票金额
|
||||
paidAmount = meetingSituation.getPaidAmount();
|
||||
confirmAmount = meetingSituation.getConfirmAmount();
|
||||
invoiceAmount = meetingSituation.getInvoiceAmount();
|
||||
//判断能否修改待确收金额
|
||||
editReceivableAmountFlag(receivableAmount, paidAmount, confirmAmount, invoiceAmount);
|
||||
//开票状态
|
||||
needInvoice = meetingSituation.getNeedInvoice();
|
||||
makeInvoice = mailBillService.getMakeInvoice(receivableAmount, needInvoice, invoiceAmount);
|
||||
meetingSituation.setMakeInvoice(makeInvoice);
|
||||
//保存新的税额、未税金额
|
||||
taxRate = meetingSituation.getTaxRate();
|
||||
noTaxAmount = receivableAmount.divide(taxRate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP);
|
||||
meetingSituation.setNoTaxAmount(noTaxAmount);
|
||||
meetingSituation.setTax(receivableAmount.subtract(noTaxAmount));
|
||||
//到账状态
|
||||
inAccount = getInAccount(receivableAmount, paidAmount);
|
||||
paymentStatus = meetingSituation.getPaymentStatus();
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(receivableAmount, paidAmount, paymentStatus, changeReceivableAmountFlag);//缴费状态
|
||||
meetingSituation.setPaymentStatus(paymentStatus);
|
||||
meetingSituation.setInAccount(inAccount);
|
||||
//确认收入状态
|
||||
affirmIncome = confirmPaymentRecordService.getAffirmIncome(receivableAmount, confirmAmount);
|
||||
meetingSituation.setAffirmIncome(affirmIncome);
|
||||
//更新
|
||||
meetingSituation.setAmountReceivable(receivableAmount);
|
||||
payMeetingSituationMapper.updateById(meetingSituation);
|
||||
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem member = payMemberProjectSubitemMapper.selectById(projectId);
|
||||
//获取到账、确收、开票金额
|
||||
paidAmount = member.getPaidAmount();
|
||||
confirmAmount = member.getConfirmAmount();
|
||||
invoiceAmount = member.getInvoiceAmount();
|
||||
//判断能否修改待确收金额
|
||||
editReceivableAmountFlag(receivableAmount, paidAmount, confirmAmount, invoiceAmount);
|
||||
//开票状态
|
||||
needInvoice = member.getNeedInvoice();
|
||||
makeInvoice = mailBillService.getMakeInvoice(receivableAmount, needInvoice, invoiceAmount);
|
||||
member.setMakeInvoice(makeInvoice);
|
||||
//保存新的税额、未税金额
|
||||
taxRate = member.getTaxRate();
|
||||
noTaxAmount = receivableAmount.divide(taxRate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP);
|
||||
member.setNoTaxAmount(noTaxAmount);
|
||||
member.setTax(receivableAmount.subtract(noTaxAmount));
|
||||
//到账状态
|
||||
inAccount = getInAccount(receivableAmount, paidAmount);
|
||||
paymentStatus = member.getPaymentStatus();
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(receivableAmount, paidAmount, paymentStatus, changeReceivableAmountFlag);//缴费状态
|
||||
member.setPaymentStatus(paymentStatus);
|
||||
member.setInAccount(inAccount);
|
||||
//确认收入状态
|
||||
affirmIncome = confirmPaymentRecordService.getAffirmIncome(receivableAmount, confirmAmount);
|
||||
member.setAffirmIncome(affirmIncome);
|
||||
//更新
|
||||
member.setAmountReceivable(receivableAmount);
|
||||
payMemberProjectSubitemMapper.updateById(member);
|
||||
|
||||
break;
|
||||
//标协会员
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
TbMemberProjectSubitem projectSubitem = tbMemberProjectSubitemMapper.selectById(projectId);
|
||||
//获取到账、确收、开票金额
|
||||
paidAmount = projectSubitem.getPaidAmount();
|
||||
confirmAmount = projectSubitem.getConfirmAmount();
|
||||
invoiceAmount = projectSubitem.getInvoiceAmount();
|
||||
//判断能否修改待确收金额
|
||||
editReceivableAmountFlag(receivableAmount, paidAmount, confirmAmount, invoiceAmount);
|
||||
//开票状态
|
||||
needInvoice = projectSubitem.getInvoiceRequirements();
|
||||
makeInvoice = mailBillService.getMakeInvoice(receivableAmount, needInvoice, invoiceAmount);
|
||||
projectSubitem.setMakeInvoice(makeInvoice);
|
||||
//保存新的税额、未税金额
|
||||
taxRate = projectSubitem.getTaxRate();
|
||||
noTaxAmount = receivableAmount.divide(taxRate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP);
|
||||
projectSubitem.setNoTaxAmount(noTaxAmount);
|
||||
projectSubitem.setTax(receivableAmount.subtract(noTaxAmount));
|
||||
//到账状态
|
||||
inAccount = getInAccount(receivableAmount, paidAmount);
|
||||
paymentStatus = projectSubitem.getPaymentStatus();
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(receivableAmount, paidAmount, paymentStatus, changeReceivableAmountFlag);//缴费状态
|
||||
projectSubitem.setPaymentStatus(paymentStatus);
|
||||
projectSubitem.setInAccount(inAccount);
|
||||
//确认收入状态
|
||||
affirmIncome = confirmPaymentRecordService.getAffirmIncome(receivableAmount, confirmAmount);
|
||||
projectSubitem.setAffirmIncome(affirmIncome);
|
||||
//更新
|
||||
projectSubitem.setAmountReceivable(receivableAmount);
|
||||
tbMemberProjectSubitemMapper.updateById(projectSubitem);
|
||||
break;
|
||||
//标协证书
|
||||
case PayIncomeContractCommon.PROJECT_TYPE6:
|
||||
throw new JeroBootException("标协证书类型不可编辑!");
|
||||
// 打包项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE8:
|
||||
PayPackCompany payPackCompany = payPackCompanyService.getById(projectId);
|
||||
//获取到账、确收、开票金额
|
||||
paidAmount = payPackCompany.getPaidAmount();
|
||||
confirmAmount = payPackCompany.getConfirmAmount();
|
||||
invoiceAmount = payPackCompany.getInvoiceAmount();
|
||||
//判断能否修改待确收金额
|
||||
editReceivableAmountFlag(receivableAmount, paidAmount, confirmAmount, invoiceAmount);
|
||||
//开票状态
|
||||
needInvoice = payPackCompany.getNeedInvoice();
|
||||
makeInvoice = mailBillService.getMakeInvoice(receivableAmount, needInvoice, invoiceAmount);
|
||||
payPackCompany.setMakeInvoice(makeInvoice);
|
||||
//保存新的税额、未税金额
|
||||
taxRate = payPackCompany.getTaxRate();
|
||||
noTaxAmount = receivableAmount.divide(taxRate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP);
|
||||
payPackCompany.setNoTaxAmount(noTaxAmount);
|
||||
payPackCompany.setTax(receivableAmount.subtract(noTaxAmount));
|
||||
//到账状态
|
||||
inAccount = getInAccount(receivableAmount, paidAmount);
|
||||
//paymentStatus = payPaymentCheckService.getPaymentStatus(receivableAmount, paidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
//payPackCompany.set(paymentStatus);
|
||||
payPackCompany.setInAccount(inAccount);
|
||||
//确认收入状态
|
||||
affirmIncome = confirmPaymentRecordService.getAffirmIncome(receivableAmount, confirmAmount);
|
||||
payPackCompany.setIncomeAffirm(affirmIncome);
|
||||
//更新
|
||||
payPackCompany.setReceivableAmount(receivableAmount);
|
||||
payPackCompanyService.updateById(payPackCompany);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 标协会员项目来款推送到标协项目
|
||||
* @param typr5List
|
||||
@@ -1332,7 +1593,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
newPaidAmount =subtract(payCommonProject.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(payCommonProject.getReceivableAmount(), newPaidAmount);//到账状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(payCommonProject.getReceivableAmount(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(payCommonProject.getReceivableAmount(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode(), false);//缴费状态
|
||||
tax = subtract(payCommonProject.getPaidTax(),payPaymentRecord.getTax());
|
||||
noTaxAmount = subtract(payCommonProject.getPaidNoTaxAmount(),payPaymentRecord.getNoTaxAmount());
|
||||
payCommonProject.setPaidTax(tax);
|
||||
@@ -1352,7 +1613,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
newPaidAmount =subtract(payWorking.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(payWorking.getReceivableAmount(), newPaidAmount);//到账状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(payWorking.getReceivableAmount(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(payWorking.getReceivableAmount(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode(), false);//缴费状态
|
||||
tax = subtract(payWorking.getPaidTax(),payPaymentRecord.getTax());
|
||||
noTaxAmount = subtract(payWorking.getPaidNoTaxAmount(),payPaymentRecord.getNoTaxAmount());
|
||||
payWorking.setPaidTax(tax);
|
||||
@@ -1371,7 +1632,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
newPaidAmount =subtract(meeting.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(meeting.getAmountReceivable(), newPaidAmount);//到账状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(meeting.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(meeting.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode(), false);//缴费状态
|
||||
tax = subtract(meeting.getPaidTax(),payPaymentRecord.getTax());
|
||||
noTaxAmount = subtract(meeting.getPaidNoTaxAmount(),payPaymentRecord.getNoTaxAmount());
|
||||
meeting.setPaidTax(tax);
|
||||
@@ -1391,7 +1652,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
newPaidAmount =subtract(member.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(member.getAmountReceivable(), newPaidAmount);//到账状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(member.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(member.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode(), false);//缴费状态
|
||||
tax = subtract(member.getPaidTax(),payPaymentRecord.getTax());
|
||||
noTaxAmount = subtract(member.getPaidNoTaxAmount(),payPaymentRecord.getNoTaxAmount());
|
||||
member.setPaidTax(tax);
|
||||
@@ -1410,7 +1671,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
newPaidAmount =subtract(projectSubitem.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||
inAccount = getInAccount(projectSubitem.getAmountReceivable(), newPaidAmount);//到账状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(projectSubitem.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
|
||||
paymentStatus = payPaymentCheckService.getPaymentStatus(projectSubitem.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode(), false);//缴费状态
|
||||
tax = subtract(projectSubitem.getPaidTax(),payPaymentRecord.getTax());
|
||||
noTaxAmount = subtract(projectSubitem.getPaidNoTaxAmount(),payPaymentRecord.getNoTaxAmount());
|
||||
projectSubitem.setPaidTax(tax);
|
||||
@@ -1462,7 +1723,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
||PayIncomeContractCommon.PROJECT_TYPE2.equals(projectType)
|
||||
||PayIncomeContractCommon.PROJECT_TYPE4.equals(projectType)){
|
||||
// 邮寄联系人
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(mailContactsId);
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(mailContactsId, null);
|
||||
if(Objects.isNull(mailContactsName)){
|
||||
throw new JeroBootException("邮寄联系人名称为空!");
|
||||
}
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.jero.payment.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2024-07-18 10:33
|
||||
*/
|
||||
@Data
|
||||
public class EditReceivableAmountParam {
|
||||
/**项目id*/
|
||||
@ApiModelProperty(value = "项目id")
|
||||
@NotBlank(message = "项目id不能为空")
|
||||
private String projectId;
|
||||
/**项目类型*/
|
||||
@ApiModelProperty(value = "项目类型")
|
||||
@NotNull(message = "项目类型不能为空")
|
||||
private Integer projectType;
|
||||
|
||||
/**邮寄联系人id*/
|
||||
@ApiModelProperty(value = "待确收金额")
|
||||
@NotNull(message = "待确收金额不能为空")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal receivableAmount;
|
||||
}
|
||||
+17
@@ -153,4 +153,21 @@ public class PayProjectCommon {
|
||||
* 确认收入((1:全额(对勾),0:0(X),2:>0 && <总金额(半满标志)))
|
||||
*/
|
||||
public static Integer AFFIRM_INCOME0 = 0;
|
||||
|
||||
/**
|
||||
* 1 已审核
|
||||
*/
|
||||
public static Integer IS_CHECK_PAY_MENT = 1;
|
||||
/**
|
||||
* 0 未审核
|
||||
*/
|
||||
public static Integer NOT_CHECK_PAY_MENT = 0;
|
||||
/**
|
||||
* 1 确认凭证
|
||||
*/
|
||||
public static Integer IS_CONFIRM_VOUCHER = 1;
|
||||
/**
|
||||
* 0 未确认凭证
|
||||
*/
|
||||
public static Integer NOT_CONFIRM_VOUCHER = 0;
|
||||
}
|
||||
|
||||
+120
@@ -0,0 +1,120 @@
|
||||
package com.jero.project.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.IdsMapBody;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 年度数据锁定表(pay_annual_data_locking)表控制层
|
||||
*
|
||||
* @author xxxxx
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "年度数据锁定表")
|
||||
@RestController
|
||||
@RequestMapping("sys/annualDataLocking")
|
||||
public class AnnualDataLockingController extends JeroController<AnnualDataLocking, AnnualDataLockingService> {
|
||||
/**
|
||||
* 服务对象
|
||||
*/
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@RequiresPermissions("annualDataLockingList:search")
|
||||
@ApiOperation(value = "年度数据锁定表-分页列表查询", notes = "年度数据锁定表-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<AnnualDataLocking>> queryPageList(AnnualDataLocking annualDataLocking,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<AnnualDataLocking> queryWrapper = QueryGenerator.initQueryWrapper(annualDataLocking, req.getParameterMap());
|
||||
Page<AnnualDataLocking> page = new Page<>(pageNo, pageSize);
|
||||
IPage<AnnualDataLocking> pageList = annualDataLockingService.page(page, queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*/
|
||||
@RequiresPermissions("annualDataLockingList:search")
|
||||
@ApiOperation(value = "年度数据锁定表-列表查询", notes = "年度数据锁定表-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<AnnualDataLocking>> queryList(AnnualDataLocking annualDataLocking,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<AnnualDataLocking> queryWrapper = QueryGenerator.initQueryWrapper(annualDataLocking, req.getParameterMap());
|
||||
List<AnnualDataLocking> list = annualDataLockingService.list(queryWrapper);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*/
|
||||
@RequiresPermissions("annualDataLockingList:add")
|
||||
@AutoLog(value = "年度数据锁定表-添加")
|
||||
@ApiOperation(value = "年度数据锁定表-添加", notes = "年度数据锁定表-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<String> add(@Validated @RequestBody AnnualDataLocking annualDataLocking) {
|
||||
annualDataLockingService.add(annualDataLocking);
|
||||
return Result.OK(Result.ADD_SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*/
|
||||
@RequiresPermissions("annualDataLockingList:delete")
|
||||
@AutoLog(value = "年度数据锁定表-通过id删除")
|
||||
@ApiOperation(value = "年度数据锁定表-通过id删除", notes = "年度数据锁定表-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<Object> delete(@RequestBody IdsMapBody map) {
|
||||
String id = map.getId();
|
||||
if (StringUtils.isBlank(id)) {
|
||||
return Result.error(Result.NULL_ID);
|
||||
}
|
||||
annualDataLockingService.deleteById(id);
|
||||
return Result.OK(Result.DELETE_SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
@RequiresPermissions("annualDataLockingList:batchDel")
|
||||
@AutoLog(value = "年度数据锁定表-批量删除")
|
||||
@ApiOperation(value = "年度数据锁定表-批量删除", notes = "年度数据锁定表-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<Object> deleteBatch(@RequestBody IdsMapBody map) {
|
||||
String ids = map.getIds();
|
||||
if (StringUtils.isBlank(ids)) {
|
||||
return Result.error(Result.NULL_ID);
|
||||
}
|
||||
List<String> idList = Arrays.asList(map.getIds().split(","));
|
||||
this.annualDataLockingService.deleteByIds(idList);
|
||||
return Result.OK(Result.DELETE_SUCCESS);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+25
-1
@@ -71,6 +71,9 @@ import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.YearMonth;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -154,6 +157,17 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
|
||||
if(!StringUtils.isBlank(payCommonProject.getContactsTemporaryName())){
|
||||
payCommonProject.setContactsTemporaryName(oConvertUtils.replaceAllPercent(payCommonProject.getContactsTemporaryName()));
|
||||
}
|
||||
// 处理预计到账开始日期,拼接 -01
|
||||
if (StringUtils.isNotBlank(payCommonProject.getEstimatedArrivalStartDate())) {
|
||||
String startDate = payCommonProject.getEstimatedArrivalStartDate() + "-01";
|
||||
payCommonProject.setEstimatedArrivalStartDate(startDate);
|
||||
}
|
||||
// 处理预计到账结束日期,计算该月最后一天
|
||||
if (StringUtils.isNotBlank(payCommonProject.getEstimatedArrivalEndDate())) {
|
||||
YearMonth yearMonth = YearMonth.parse(payCommonProject.getEstimatedArrivalEndDate(), DateTimeFormatter.ofPattern("yyyy-MM"));
|
||||
LocalDate endDate = yearMonth.atEndOfMonth();
|
||||
payCommonProject.setEstimatedArrivalEndDate(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
}
|
||||
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!rolePermissionService.getRolePermission("generalProject:search")){
|
||||
@@ -171,6 +185,12 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
|
||||
if(Objects.isNull(p.getPaidAmount())){
|
||||
p.setPaidAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
// 处理 预估到账日期 字段 ,变为yyyy-MM格式
|
||||
if(StringUtils.isNotBlank(p.getEstimatedArrivalDate())){
|
||||
String estimatedArrivalDate = p.getEstimatedArrivalDate();
|
||||
String formattedDate = estimatedArrivalDate.substring(0, 7); // 截取字符串的前7个字符 "yyyy-MM"
|
||||
p.setEstimatedArrivalDate(formattedDate);
|
||||
}
|
||||
});
|
||||
pageList.setRecords(list);
|
||||
}
|
||||
@@ -392,9 +412,11 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
|
||||
@ApiOperation(value="普通项目管理-添加", notes="普通项目管理-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody PayCommonProject payCommonProject) {
|
||||
if (Objects.isNull(payCommonProject.getEstimatedArrivalDate())) {
|
||||
if (StringUtils.isBlank(payCommonProject.getEstimatedArrivalDate())) {
|
||||
return Result.error("预估到账日期不能为空");
|
||||
}
|
||||
// 给预估到账日期字段 yyyy-MM 拼接 -01 以便正确入库
|
||||
payCommonProject.setEstimatedArrivalDate(payCommonProject.getEstimatedArrivalDate() + "-01");
|
||||
StringBuilder msg = ValidUtil.validateAll(payCommonProject);
|
||||
if(!StringUtils.isBlank(msg)){
|
||||
return Result.error(msg.toString());
|
||||
@@ -417,6 +439,8 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
|
||||
if (Objects.isNull(payCommonProject.getEstimatedArrivalDate())) {
|
||||
return Result.error("预估到账日期不能为空");
|
||||
}
|
||||
// 给预估到账日期字段 yyyy-MM 拼接 -01 以便正确入库
|
||||
payCommonProject.setEstimatedArrivalDate(payCommonProject.getEstimatedArrivalDate() + "-01");
|
||||
StringBuilder msg = ValidUtil.validateAll(payCommonProject);
|
||||
if(!StringUtils.isBlank(msg)){
|
||||
return Result.error(msg.toString());
|
||||
|
||||
+29
-8
@@ -17,10 +17,11 @@ import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.mail.commont.constant;
|
||||
import com.jero.meeting.entity.PayMeetingQuestion;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.project.vo.PayWorkingGroupPayment;
|
||||
@@ -34,18 +35,14 @@ import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
/**
|
||||
* @Description: 工作组项目
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2021-08-27
|
||||
@@ -64,7 +61,8 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
|
||||
private IPayIncomeContractService payIncomeContractService;
|
||||
@Resource
|
||||
private RolePermissionService rolePermissionService;
|
||||
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
@@ -300,6 +298,9 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
|
||||
log.info("工作组项目-添加异常",e);
|
||||
return Result.error("工作组项目已存在!");
|
||||
}
|
||||
String year = payWorkingGroup.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
payWorkingGroupService.setPayWorkingGroup(payWorkingGroup);
|
||||
payWorkingGroupService.save(payWorkingGroup);
|
||||
return Result.OK("添加成功!");
|
||||
@@ -323,10 +324,17 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
|
||||
if(StringUtils.isEmpty(payWorkingGroup.getId())){
|
||||
return Result.error("工作组id不能为空!");
|
||||
}
|
||||
String year = payWorkingGroup.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
|
||||
PayWorkingGroup payWorkingGroupOld = payWorkingGroupService.getById(payWorkingGroup.getId());
|
||||
if(Objects.isNull(payWorkingGroupOld)){
|
||||
return Result.error(payWorkingGroupOld.getWorkingGroupProject() + "工作组不存在!");
|
||||
}
|
||||
String oldYear = payWorkingGroupOld.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
annualDataLockingService.judgeUserYear(oldYear);
|
||||
// 工作组下有子项目的时候不能编辑是否收费字段
|
||||
// 根据id找到原始数据,判断是否收费字段是否变动,如果变动则提示不可修改
|
||||
if(!Objects.equals(payWorkingGroupOld.getPayFlag(),payWorkingGroup.getPayFlag())){
|
||||
@@ -379,6 +387,7 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
|
||||
updatePayWorkingGroup.set(PayWorkingGroup::getMissionAndObjectives,payWorkingGroup.getMissionAndObjectives());
|
||||
updatePayWorkingGroup.set(PayWorkingGroup::getRemarks,payWorkingGroup.getRemarks());
|
||||
updatePayWorkingGroup.set(PayWorkingGroup::getPayFlag,payWorkingGroup.getPayFlag());
|
||||
updatePayWorkingGroup.set(PayWorkingGroup::getSortNo,payWorkingGroup.getSortNo());
|
||||
payWorkingGroupService.update(updatePayWorkingGroup);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
@@ -465,4 +474,16 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
|
||||
return super.importExcel(request, response, PayWorkingGroup.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 全部文件导出
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
@RequiresPermissions("workingGroupProject:exportAllFile")
|
||||
@ApiOperation(value="全部文件导出", notes="全部文件导出")
|
||||
@GetMapping(value = "/exportAllFile")
|
||||
public void exportAllFile(HttpServletRequest request, HttpServletResponse response, PayWorkingGroup payWorkingGroup) {
|
||||
payWorkingGroupService.exportAllFile(request, response, payWorkingGroup);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+82
-1
@@ -33,9 +33,11 @@ import com.jero.pack.entity.PayPackCompanyProject;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.pack.service.IPayPackCompanyService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItemContacts;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
@@ -59,6 +61,10 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDate;
|
||||
import java.time.YearMonth;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
/**
|
||||
@@ -100,6 +106,8 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
|
||||
private ISysUserService sysUserService;
|
||||
@Resource
|
||||
private IPayWorkingGroupSubItemContactsService payWorkingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -130,6 +138,17 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
|
||||
if(Objects.isNull(payWorkingGroup)){
|
||||
return Result.error("工作组不存在!");
|
||||
}
|
||||
// 处理预计到账开始日期,拼接 -01
|
||||
if (StringUtils.isNotBlank(payWorkingGroupSubItem.getEstimatedArrivalStartDate())) {
|
||||
String startDate = payWorkingGroupSubItem.getEstimatedArrivalStartDate() + "-01";
|
||||
payWorkingGroupSubItem.setEstimatedArrivalStartDate(startDate);
|
||||
}
|
||||
// 处理预计到账结束日期,计算该月最后一天
|
||||
if (StringUtils.isNotBlank(payWorkingGroupSubItem.getEstimatedArrivalEndDate())) {
|
||||
YearMonth yearMonth = YearMonth.parse(payWorkingGroupSubItem.getEstimatedArrivalEndDate(), DateTimeFormatter.ofPattern("yyyy-MM"));
|
||||
LocalDate endDate = yearMonth.atEndOfMonth();
|
||||
payWorkingGroupSubItem.setEstimatedArrivalEndDate(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!rolePermissionService.getRolePermission("workingGroupMember:search")
|
||||
&& !Objects.equals(payWorkingGroup.getPrincipalIdA(),sysUser.getId())
|
||||
@@ -147,6 +166,12 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
|
||||
if(Objects.isNull(p.getPaidAmount())){
|
||||
p.setPaidAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
// 处理 预估到账日期 字段 ,变为yyyy-MM格式
|
||||
if(StringUtils.isNotBlank(p.getEstimatedArrivalDate())){
|
||||
String estimatedArrivalDate = p.getEstimatedArrivalDate();
|
||||
String formattedDate = estimatedArrivalDate.substring(0, 7); // 截取字符串的前7个字符 "yyyy-MM"
|
||||
p.setEstimatedArrivalDate(formattedDate);
|
||||
}
|
||||
});
|
||||
}
|
||||
return Result.OK(pageList);
|
||||
@@ -406,6 +431,9 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
|
||||
@ApiOperation(value = "工作组成员-添加", notes = "工作组成员-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody PayWorkingGroupSubItem payWorkingGroupSubItem) {
|
||||
if (!StringUtils.isBlank(payWorkingGroupSubItem.getEstimatedArrivalDate())) {
|
||||
payWorkingGroupSubItem.setEstimatedArrivalDate(payWorkingGroupSubItem.getEstimatedArrivalDate() + "-01");
|
||||
}
|
||||
// 找到工作组 看是否收费,如果不收费则填入默认字段
|
||||
payWorkingGroupService.validAndSetDefaultValue(payWorkingGroupSubItem);
|
||||
StringBuilder msg = ValidUtil.validateAll(payWorkingGroupSubItem);
|
||||
@@ -432,10 +460,30 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
|
||||
if (StringUtils.isBlank(workingGroupIds)) {
|
||||
return Result.error("工作组ids不能为空!");
|
||||
}
|
||||
if (!StringUtils.isBlank(payWorkingGroupSubItem.getEstimatedArrivalDate())) {
|
||||
payWorkingGroupSubItem.setEstimatedArrivalDate(payWorkingGroupSubItem.getEstimatedArrivalDate() + "-01");
|
||||
}
|
||||
String[] workingGroupIdsArr = workingGroupIds.split(",");
|
||||
List<String> errInfoList = new ArrayList<>();
|
||||
for (String workingGroupId : workingGroupIdsArr) {
|
||||
payWorkingGroupSubItem.setId(null);
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(workingGroupId);
|
||||
BigDecimal yearChargeA = payWorkingGroup.getYearChargeA();
|
||||
BigDecimal taxRate = new BigDecimal("0.06");
|
||||
payWorkingGroupSubItem.setTaxRate(taxRate);
|
||||
if (Objects.isNull(yearChargeA)) {
|
||||
payWorkingGroupSubItem.setReceivableAmount(BigDecimal.ZERO);
|
||||
payWorkingGroupSubItem.setTax(BigDecimal.ZERO);
|
||||
payWorkingGroupSubItem.setNoTaxAmount(BigDecimal.ZERO);
|
||||
} else {
|
||||
payWorkingGroupSubItem.setReceivableAmount(yearChargeA);
|
||||
// 计算未税金额
|
||||
BigDecimal noTaxAmount = yearChargeA.divide(taxRate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP);
|
||||
// 计算税额
|
||||
BigDecimal tax = yearChargeA.subtract(noTaxAmount).setScale(2, RoundingMode.HALF_UP);
|
||||
payWorkingGroupSubItem.setTax(tax);
|
||||
payWorkingGroupSubItem.setNoTaxAmount(noTaxAmount);
|
||||
}
|
||||
payWorkingGroupSubItem.setId(null);
|
||||
List<PayWorkingGroupSubItemContacts> payWorkingGroupSubItemContactsList =
|
||||
payWorkingGroupSubItem.getPayWorkingGroupSubItemContactsList();
|
||||
payWorkingGroupSubItemContactsList.forEach(p -> p.setId(null));
|
||||
@@ -472,6 +520,9 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
|
||||
@ApiOperation(value = "工作组成员-编辑", notes = "工作组成员-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<?> edit(@RequestBody PayWorkingGroupSubItem payWorkingGroupSubItem) {
|
||||
if (!StringUtils.isBlank(payWorkingGroupSubItem.getEstimatedArrivalDate())) {
|
||||
payWorkingGroupSubItem.setEstimatedArrivalDate(payWorkingGroupSubItem.getEstimatedArrivalDate() + "-01");
|
||||
}
|
||||
StringBuilder msg = ValidUtil.validateAll(payWorkingGroupSubItem);
|
||||
if (!StringUtils.isBlank(msg)) {
|
||||
return Result.error(msg.toString());
|
||||
@@ -716,6 +767,17 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
|
||||
&& !Objects.equals(payWorkingGroup.getPrincipalIdB(),sysUser.getId())){
|
||||
throw new JeroBootException("数据权限不足!");
|
||||
}
|
||||
// 处理预计到账开始日期,拼接 -01
|
||||
if (StringUtils.isNotBlank(payWorkingGroupSubItem.getEstimatedArrivalStartDate())) {
|
||||
String startDate = payWorkingGroupSubItem.getEstimatedArrivalStartDate() + "-01";
|
||||
payWorkingGroupSubItem.setEstimatedArrivalStartDate(startDate);
|
||||
}
|
||||
// 处理预计到账结束日期,计算该月最后一天
|
||||
if (StringUtils.isNotBlank(payWorkingGroupSubItem.getEstimatedArrivalEndDate())) {
|
||||
YearMonth yearMonth = YearMonth.parse(payWorkingGroupSubItem.getEstimatedArrivalEndDate(), DateTimeFormatter.ofPattern("yyyy-MM"));
|
||||
LocalDate endDate = yearMonth.atEndOfMonth();
|
||||
payWorkingGroupSubItem.setEstimatedArrivalEndDate(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
|
||||
}
|
||||
// Step.1 组装查询条件
|
||||
//QueryWrapper<PayWorkingGroupSubItem> queryWrapper = QueryGenerator.initQueryWrapper(payWorkingGroupSubItem, request.getParameterMap());
|
||||
|
||||
@@ -746,6 +808,11 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
|
||||
if(Objects.isNull(workingGroupSubItem.getPaidAmount())){
|
||||
workingGroupSubItem.setPaidAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
if(StringUtils.isNotBlank(workingGroupSubItem.getEstimatedArrivalDate())){
|
||||
String estimatedArrivalDate = workingGroupSubItem.getEstimatedArrivalDate();
|
||||
String formattedDate = estimatedArrivalDate.substring(0, 7);
|
||||
workingGroupSubItem.setEstimatedArrivalDate(formattedDate);
|
||||
}
|
||||
PayWorkingGroupSubItemExcel excel = new PayWorkingGroupSubItemExcel();
|
||||
BeanUtils.copyProperties(workingGroupSubItem,excel);
|
||||
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsList.stream().filter(o->Objects.equals(workingGroupSubItem.getId(),o.getWorkingGroupSubId())).collect(Collectors.toList());
|
||||
@@ -901,4 +968,18 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
|
||||
payWorkingGroupSubItemService.deleteLabel(setLabelVO);
|
||||
return Result.OK("设置标签成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 确认凭证
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "确认凭证",operateType = 2)
|
||||
@RequiresPermissions("workingGroupMember:confirmVoucher")
|
||||
@GetMapping(value = "/confirmVoucher")
|
||||
@ApiOperation(value = "工作组成员-确认凭证")
|
||||
public Result<?> confirmVoucher(@RequestParam(name = "id") String id) {
|
||||
payWorkingGroupSubItemService.confirmVoucher(id);
|
||||
return Result.OK("确认凭证成功!");
|
||||
}
|
||||
}
|
||||
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
package com.jero.project.entity;
|
||||
|
||||
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 io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*年度数据锁定表
|
||||
*@author liJiaRao
|
||||
*@date 2024-07-24 13:51
|
||||
*/
|
||||
@ApiModel(description="年度数据锁定表")
|
||||
@Data
|
||||
@TableName(value = "pay_annual_data_locking")
|
||||
public class AnnualDataLocking {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value="主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 年份
|
||||
*/
|
||||
@TableField(value = "`year`")
|
||||
@ApiModelProperty(value="年份")
|
||||
private String year;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField(value = "create_by")
|
||||
@ApiModelProperty(value="创建人")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time")
|
||||
@ApiModelProperty(value="创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField(value = "update_by")
|
||||
@ApiModelProperty(value="更新人")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time")
|
||||
@ApiModelProperty(value="更新时间")
|
||||
private Date updateTime;
|
||||
}
|
||||
@@ -378,4 +378,8 @@ public class PayCommonProject implements Serializable {
|
||||
@ApiModelProperty(value = "权益状态")
|
||||
@TableField(exist = false)
|
||||
private String equityStatus;
|
||||
|
||||
@ApiModelProperty(value = "自定义排序顺序")
|
||||
@TableField(exist = false)
|
||||
private BigDecimal sortNo;
|
||||
}
|
||||
|
||||
+5
-4
@@ -20,10 +20,14 @@ public class PayWorkGroupSubletStatistics {
|
||||
@ApiModelProperty(value = "来款单位")
|
||||
private String chargeCompanyTemporaryName;
|
||||
|
||||
@Excel(name = "项目负责人", width = 15)
|
||||
@ApiModelProperty(value = "项目负责人")
|
||||
private String principalName;
|
||||
|
||||
@ApiModelProperty(value = "打包")
|
||||
private Integer pack;
|
||||
|
||||
@Excel(name = "打包", width = 15)
|
||||
@Excel(name = "是否打包", width = 15)
|
||||
private String packText;
|
||||
|
||||
@Excel(name = "年度待确收金额", width = 15)
|
||||
@@ -54,8 +58,5 @@ public class PayWorkGroupSubletStatistics {
|
||||
|
||||
|
||||
|
||||
@Excel(name = "项目负责人", width = 15)
|
||||
@ApiModelProperty(value = "项目负责人")
|
||||
private String principalName;
|
||||
|
||||
}
|
||||
|
||||
@@ -160,4 +160,7 @@ public class PayWorkingGroup implements Serializable {
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "企业名称")
|
||||
private String companyName;
|
||||
|
||||
@ApiModelProperty(value = "自定义排序顺序")
|
||||
private BigDecimal sortNo;
|
||||
}
|
||||
|
||||
+7
-1
@@ -130,7 +130,7 @@ public class PayWorkingGroupSubItem implements Serializable {
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "预估到账日期")
|
||||
@Excel(name = "预估到账日期",width = 15,format = "yyyy-MM-dd")
|
||||
@Excel(name = "预估到账日期",width = 15,format = "yyyy-MM")
|
||||
private String estimatedArrivalDate;
|
||||
|
||||
/**实收金额(元)*/
|
||||
@@ -614,4 +614,10 @@ public class PayWorkingGroupSubItem implements Serializable {
|
||||
@ApiModelProperty(value = "工作组ids 多个以逗号分隔")
|
||||
@TableField(exist = false)
|
||||
private String workingGroupIds;
|
||||
|
||||
@ApiModelProperty(value = "是否审核(1:是,0:否")
|
||||
private Integer checkPaymentStatus;
|
||||
|
||||
@ApiModelProperty(value = "是否确认凭证(1:是,0:否")
|
||||
private Integer confirmVoucher;
|
||||
}
|
||||
|
||||
+6
@@ -52,4 +52,10 @@ public class PayWorkingGroupSubletSearch {
|
||||
|
||||
@ApiModelProperty(value = "是否打包")
|
||||
private String pack;
|
||||
|
||||
@ApiModelProperty(value = "字段")
|
||||
private String column;
|
||||
|
||||
@ApiModelProperty(value = "排序规则")
|
||||
private String order;
|
||||
}
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package com.jero.project.mapper;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
|
||||
import java.time.Year;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2024-07-24 13:51
|
||||
*/
|
||||
public interface AnnualDataLockingMapper extends BaseMapper<AnnualDataLocking> {
|
||||
AnnualDataLocking countByYear(@Param("year")String year);
|
||||
|
||||
List<String> getYear();
|
||||
|
||||
|
||||
}
|
||||
+16
-7
@@ -1,4 +1,7 @@
|
||||
package com.jero.project.mapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -13,14 +16,14 @@ import java.util.List;
|
||||
/**
|
||||
* @Description: pay_common_project
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2021-08-27
|
||||
* @Date: 2021-08-27
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface PayCommonProjectMapper extends BaseMapper<PayCommonProject> {
|
||||
/**
|
||||
* @Description 分页查询
|
||||
* @Author lqt
|
||||
* @Date 2021/8/27
|
||||
* @Author lqt
|
||||
* @Date 2021/8/27
|
||||
* @Param paymentDate 来款年份
|
||||
* @Return
|
||||
* @Exception
|
||||
@@ -31,16 +34,22 @@ public interface PayCommonProjectMapper extends BaseMapper<PayCommonProject> {
|
||||
|
||||
/**
|
||||
* @Description 收入合同-列表
|
||||
* @Author lqt
|
||||
* @Date 2021/10/18
|
||||
* @Param queryWrapper
|
||||
* @Author lqt
|
||||
* @Date 2021/10/18
|
||||
* @Param queryWrapper
|
||||
* @Param projectType 项目类型
|
||||
* @Param pack 打包状态
|
||||
* @Param packYear 打包年份
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
List<PayCommonProject> queryListByCompany(@Param(Constants.WRAPPER) QueryWrapper<PayCommonProject> queryWrapper,@Param("projectType") String projectType,@Param("pack") Integer pack,@Param("packYear") String packYear);
|
||||
List<PayCommonProject> queryListByCompany(@Param(Constants.WRAPPER) QueryWrapper<PayCommonProject> queryWrapper, @Param("projectType") String projectType, @Param("pack") Integer pack, @Param("packYear") String packYear);
|
||||
|
||||
default List<PayCommonProject> listByYear(String year) {
|
||||
LambdaQueryWrapper<PayCommonProject> myQuery = Wrappers.lambdaQuery(PayCommonProject.class);
|
||||
myQuery.eq(PayCommonProject::getYear, year);
|
||||
return selectList(myQuery);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+4
@@ -275,4 +275,8 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
|
||||
List<DepartStatistics> overallDepartmentStatistics(@Param("year") String year, @Param("type") String type);
|
||||
|
||||
List<DepartStatistics> allDepartmentStatistics(@Param("year") String year, @Param("type") String type);
|
||||
|
||||
List<CompanyComeMoneyClassificationList> queryPageListForCompanyClassification(@Param("companyComeMoneySearch") CompanyComeMoneySearch companyComeMoneySearch);
|
||||
|
||||
List<AllProjectStatistics> queryPageListExcelForProject(@Param("allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch, @Param("idList") List<String> idList);
|
||||
}
|
||||
|
||||
+21
-3
@@ -1,5 +1,14 @@
|
||||
package com.jero.project.mapper;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -9,16 +18,25 @@ import com.jero.project.entity.PayWorkingGroupSubItemContacts;
|
||||
/**
|
||||
* @Description: pay_working_group_subitem_contacts
|
||||
* @Author: jeecg-boot
|
||||
* @Date: 2022-04-19
|
||||
* @Date: 2022-04-19
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface PayWorkingGroupSubItemContactsMapper extends BaseMapper<PayWorkingGroupSubItemContacts> {
|
||||
/**
|
||||
* 根据成员id获得主联系人
|
||||
*/
|
||||
String getMasterContactsId(@Param("workingGroupSubId")String workingGroupSubId);
|
||||
String getMasterContactsId(@Param("workingGroupSubId") String workingGroupSubId);
|
||||
|
||||
List<PayWorkingGroupSubItemContacts> getSubItemContacts(@Param("workingGroupSubId")String workingGroupSubId);
|
||||
List<PayWorkingGroupSubItemContacts> getSubItemContacts(@Param("workingGroupSubId") String workingGroupSubId);
|
||||
|
||||
default List<PayWorkingGroupSubItemContacts> listByWorkingGroupSubIdIn(Collection<String> workingGroupSubIdCollection) {
|
||||
if (CollectionUtil.isEmpty(workingGroupSubIdCollection)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> myQuery = Wrappers.lambdaQuery(PayWorkingGroupSubItemContacts.class);
|
||||
myQuery.in(PayWorkingGroupSubItemContacts::getWorkingGroupSubId, workingGroupSubIdCollection);
|
||||
return selectList(myQuery);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -64,4 +64,6 @@ public interface PayWorkingGroupSubItemMapper extends BaseMapper<PayWorkingGroup
|
||||
IPage<PayWorkingGroupSubItem> publishReminderList(Page<PayWorkingGroupSubItem> page, @Param("payWorkingGroupSubItem") PayWorkingGroupSubItem payWorkingGroupSubItem);
|
||||
|
||||
List<PayWorkingGroupSubItem> queryList(@Param(Constants.WRAPPER) QueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem);
|
||||
|
||||
List<PayWorkingGroupSubItem> listByYear(@Param("year") String year);
|
||||
}
|
||||
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.project.mapper.AnnualDataLockingMapper">
|
||||
<resultMap id="BaseResultMap" type="com.jero.project.entity.AnnualDataLocking">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table pay_annual_data_locking-->
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="year" jdbcType="VARCHAR" property="year" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, `year`, create_by, create_time, update_by, update_time
|
||||
</sql>
|
||||
|
||||
<!--auto generated by MybatisCodeHelper on 2024-07-24-->
|
||||
<select id="countByYear" resultType="com.jero.project.entity.AnnualDataLocking">
|
||||
select *
|
||||
from pay_annual_data_locking
|
||||
<where>
|
||||
<if test="year != null and year != ''">
|
||||
and `year`=#{year,jdbcType=VARCHAR}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<!--auto generated by MybatisCodeHelper on 2024-07-31-->
|
||||
<select id="getYear" resultType="java.lang.String">
|
||||
select `year`
|
||||
from pay_annual_data_locking
|
||||
</select>
|
||||
</mapper>
|
||||
+9
-11
@@ -11,16 +11,15 @@
|
||||
su.realname as principal_name,
|
||||
pcp.charge_company_id,
|
||||
pcp.charge_company_temporary_id,
|
||||
# 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,
|
||||
IF(
|
||||
pcp.charge_company_temporary_name =
|
||||
IF(
|
||||
pcp.charge_company_temporary_name LIKE '%(未审核)',
|
||||
CONCAT(pcm.company_name, '(未审核)'),
|
||||
pcm.company_name
|
||||
),
|
||||
pcp.charge_company_temporary_name,
|
||||
CONCAT(pcp.charge_company_temporary_name, '(更名为', pcm.company_name, ')')
|
||||
pcp.charge_company_temporary_name =
|
||||
IF(
|
||||
pcp.charge_company_temporary_name LIKE '%(未审核)',
|
||||
CONCAT(pcm.company_name, '(未审核)'),
|
||||
pcm.company_name
|
||||
),
|
||||
pcp.charge_company_temporary_name,
|
||||
CONCAT(pcp.charge_company_temporary_name, '(更名为', pcm.company_name, ')')
|
||||
) AS chargeCompanyTemporaryName,
|
||||
pcp.charge_use,
|
||||
pcp.contacts_id,
|
||||
@@ -57,8 +56,7 @@
|
||||
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
|
||||
left join pay_company_management pcm on pcp.charge_company_id = pcm.id
|
||||
<where>
|
||||
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
|
||||
AND pcp.charge_project like concat('%',concat(#{payCommonProject.chargeProject},'%'))
|
||||
|
||||
+187
-49
@@ -24,7 +24,8 @@
|
||||
pwg.create_time AS createTime,
|
||||
pwg.update_by AS updateBy,
|
||||
pwg.update_time AS updateTime,
|
||||
pwg.pay_flag AS payFlag
|
||||
pwg.pay_flag AS payFlag,
|
||||
pwg.sort_no AS sortNo
|
||||
FROM pay_working_group pwg
|
||||
left join sys_user su on pwg.principal_id_a = su.id
|
||||
left join sys_user su1 on pwg.principal_id_b = su.id
|
||||
@@ -61,7 +62,10 @@
|
||||
and pwgs.charge_company_temporary_name like concat('%', #{payWorkingGroup.companyName}, '%')
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY pwg.create_time DESC
|
||||
ORDER BY
|
||||
CASE WHEN pwg.sort_no IS NULL THEN 1 ELSE 0 END ASC,
|
||||
pwg.sort_no ASC,
|
||||
pwg.create_time DESC
|
||||
</select>
|
||||
<select id="queryListByCompany" resultType="com.jero.project.vo.PayWorkingGroupVO">
|
||||
SELECT
|
||||
@@ -1438,6 +1442,9 @@
|
||||
<if test="principalPeopleDetailSearch.inAccountStatue != null and principalPeopleDetailSearch.inAccountStatue != ''">
|
||||
AND payStatue = #{principalPeopleDetailSearch.inAccountStatue}
|
||||
</if>
|
||||
<if test="principalPeopleDetailSearch.pack != null and principalPeopleDetailSearch.pack != ''">
|
||||
AND pack = #{principalPeopleDetailSearch.pack}
|
||||
</if>
|
||||
<choose>
|
||||
<when test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != '' and principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
|
||||
AND allMoney >= #{principalPeopleDetailSearch.allMoney}
|
||||
@@ -1453,14 +1460,6 @@
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<!--<choose>
|
||||
<when test="principalPeopleDetailSearch.paymentMonth != null and principalPeopleDetailSearch.paymentMonth != ''">
|
||||
and confirmDate like concat('%',#{principalPeopleDetailSearch.paymentYear},'-',#{principalPeopleDetailSearch.paymentMonth},'%')
|
||||
</when>
|
||||
<when test="principalPeopleDetailSearch.paymentYear != null and principalPeopleDetailSearch.paymentYear != ''">
|
||||
and confirmDate like concat('%',#{principalPeopleDetailSearch.paymentYear},'%')
|
||||
</when>
|
||||
</choose>-->
|
||||
</where>
|
||||
<if test="principalPeopleDetailSearch.column != null and principalPeopleDetailSearch.column != ''">
|
||||
<if test="principalPeopleDetailSearch.column == 'allMoney' and principalPeopleDetailSearch.order == 'desc'">
|
||||
@@ -1538,6 +1537,9 @@
|
||||
<if test="principalPeopleDetailSearch.inAccountStatue != null and principalPeopleDetailSearch.inAccountStatue != ''">
|
||||
AND payStatue = #{principalPeopleDetailSearch.inAccountStatue}
|
||||
</if>
|
||||
<if test="principalPeopleDetailSearch.pack != null and principalPeopleDetailSearch.pack != ''">
|
||||
AND pack = #{principalPeopleDetailSearch.pack}
|
||||
</if>
|
||||
<choose>
|
||||
<when test="principalPeopleDetailSearch.allMoney != null and principalPeopleDetailSearch.allMoney != '' and principalPeopleDetailSearch.allMoneyTwo != null and principalPeopleDetailSearch.allMoneyTwo != ''">
|
||||
AND allMoney >= #{principalPeopleDetailSearch.allMoney}
|
||||
@@ -2036,7 +2038,9 @@
|
||||
<if test="CompanyComeMoneyDetailSearch.chargeUse != null and CompanyComeMoneyDetailSearch.chargeUse != ''">
|
||||
AND chargeUse=#{CompanyComeMoneyDetailSearch.chargeUse}
|
||||
</if>
|
||||
|
||||
<if test="CompanyComeMoneyDetailSearch.pack != null and CompanyComeMoneyDetailSearch.pack != ''">
|
||||
AND pack =#{CompanyComeMoneyDetailSearch.pack}
|
||||
</if>
|
||||
<choose>
|
||||
<when test="CompanyComeMoneyDetailSearch.allMoney != null and CompanyComeMoneyDetailSearch.allMoney != '' and CompanyComeMoneyDetailSearch.allMoneyTwo != null and CompanyComeMoneyDetailSearch.allMoneyTwo != ''">
|
||||
AND allMoney >= #{CompanyComeMoneyDetailSearch.allMoney} and allMoney <![CDATA[<]]>=
|
||||
@@ -2051,14 +2055,6 @@
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<!--<choose>
|
||||
<when test="CompanyComeMoneyDetailSearch.paymentMonth != null and CompanyComeMoneyDetailSearch.paymentMonth != ''">
|
||||
and confirmDate like concat('%',#{CompanyComeMoneyDetailSearch.paymentYear},'-',#{CompanyComeMoneyDetailSearch.paymentMonth},'%')
|
||||
</when>
|
||||
<when test="CompanyComeMoneyDetailSearch.paymentYear != null and CompanyComeMoneyDetailSearch.paymentYear != ''">
|
||||
and confirmDate like concat('%',#{CompanyComeMoneyDetailSearch.paymentYear},'%')
|
||||
</when>
|
||||
</choose>-->
|
||||
</where>
|
||||
) p
|
||||
<if test="CompanyComeMoneyDetailSearch.column != null and CompanyComeMoneyDetailSearch.column != ''">
|
||||
@@ -2150,6 +2146,10 @@
|
||||
AND chargeUse = #{CompanyComeMoneyDetailSearch.chargeUse}
|
||||
</if>
|
||||
|
||||
<if test="CompanyComeMoneyDetailSearch.pack != null and CompanyComeMoneyDetailSearch.pack != ''">
|
||||
AND pack =#{CompanyComeMoneyDetailSearch.pack}
|
||||
</if>
|
||||
|
||||
<choose>
|
||||
<when test="CompanyComeMoneyDetailSearch.allMoney != null and CompanyComeMoneyDetailSearch.allMoney != '' and CompanyComeMoneyDetailSearch.allMoneyTwo != null and CompanyComeMoneyDetailSearch.allMoneyTwo != ''">
|
||||
AND allMoney >= #{CompanyComeMoneyDetailSearch.allMoney}
|
||||
@@ -2165,14 +2165,6 @@
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<!--<choose>
|
||||
<when test="CompanyComeMoneyDetailSearch.paymentMonth != null and CompanyComeMoneyDetailSearch.paymentMonth != ''">
|
||||
and confirmDate like concat('%',#{CompanyComeMoneyDetailSearch.paymentYear},'-',#{CompanyComeMoneyDetailSearch.paymentMonth},'%')
|
||||
</when>
|
||||
<when test="CompanyComeMoneyDetailSearch.paymentYear != null and CompanyComeMoneyDetailSearch.paymentYear != ''">
|
||||
and confirmDate like concat('%',#{CompanyComeMoneyDetailSearch.paymentYear},'%')
|
||||
</when>
|
||||
</choose>-->
|
||||
</where>
|
||||
) pp
|
||||
</select>
|
||||
@@ -2350,7 +2342,7 @@
|
||||
order by bill_date
|
||||
</select>
|
||||
|
||||
<!--全所收入统计 开票金额-->
|
||||
<!--全所收入统计 到账金额-->
|
||||
<select id="queryListComeAllMoney" resultType="com.jero.statistics.entity.AllProjectStatistics">
|
||||
select
|
||||
sum(no_tax_amount) as comeAllMoney,
|
||||
@@ -2670,26 +2662,172 @@
|
||||
<!-- 统计预计到账金额(应收金额) 预计到账日期 -->
|
||||
<select id="cumulativeListEstimatedArrivalMoney"
|
||||
resultType="com.jero.statistics.entity.AllProjectStatistics">
|
||||
select DATE_FORMAT(paymentDate, '%Y-%m') as paymentDate,sum(estimatedArrivalMoney) as estimatedArrivalMoney from (
|
||||
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate
|
||||
from pay_common_project
|
||||
where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
|
||||
and pack = 0
|
||||
union all
|
||||
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate
|
||||
from pay_working_group_subitem
|
||||
where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
|
||||
and pack = 0
|
||||
union all
|
||||
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate
|
||||
from pay_meeting_situation
|
||||
where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
|
||||
and pack = 0
|
||||
union all
|
||||
select no_tax_amount as estimatedArrivalMoney,estimated_arrival_date as paymentDate
|
||||
from pay_member_project_subitem
|
||||
where DATE_FORMAT(estimated_arrival_date, '%Y') = #{paymentYear}
|
||||
and pack = 0
|
||||
) dataAll group by DATE_FORMAT(paymentDate, '%Y-%m') order by paymentDate
|
||||
select DATE_FORMAT(estimatedArrivalDate, '%Y-%m') as paymentDate,
|
||||
sum(allMoney) as estimatedArrivalMoney
|
||||
from v_statistical_pack
|
||||
where DATE_FORMAT(estimatedArrivalDate, '%Y') = #{paymentYear}
|
||||
group by DATE_FORMAT(estimatedArrivalDate, '%Y-%m') order by paymentDate
|
||||
</select>
|
||||
|
||||
<select id="queryPageListForCompanyClassification"
|
||||
resultType="com.jero.statistics.entity.CompanyComeMoneyClassificationList">
|
||||
select chargeCompanyId as companyId,
|
||||
chargeCompanyTemporaryName as companyName,
|
||||
year,
|
||||
chargeUse,
|
||||
SUM(allMoney) as allMoney
|
||||
from
|
||||
v_statistical v
|
||||
<where>
|
||||
<if test="companyComeMoneySearch.years != null and companyComeMoneySearch.years != ''">
|
||||
<foreach item="item" index="index" collection="companyComeMoneySearch.years"
|
||||
open="AND year in (" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="companyComeMoneySearch.chargeCompanyIds != null and companyComeMoneySearch.chargeCompanyIds != ''">
|
||||
<foreach item="item" index="index" collection="companyComeMoneySearch.chargeCompanyIds"
|
||||
open="AND chargeCompanyId in (" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
group by chargeCompanyId,year,chargeUse
|
||||
</select>
|
||||
|
||||
<select id="queryPageListExcelForProject" resultType="com.jero.statistics.entity.AllProjectStatistics">
|
||||
select * from
|
||||
(select projectId,
|
||||
projectName,
|
||||
principalName,
|
||||
chargeCompanyTemporaryName,
|
||||
allMoney,
|
||||
paidNoTaxAmount as comeAllMoney,
|
||||
chargeUse,
|
||||
depart,
|
||||
createTime,
|
||||
packText,
|
||||
pack,
|
||||
invoiceNoTaxAmount as billMoney,
|
||||
confirmNoTaxAmount as confirmAmount,
|
||||
year
|
||||
from
|
||||
<if test="allProjectStatisticsSearch.paymentYear == null or allProjectStatisticsSearch.paymentYear == ''">
|
||||
v_statistical v
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.paymentYear != null and allProjectStatisticsSearch.paymentYear != ''">
|
||||
(select
|
||||
<include refid="v_statistical_confirm_sql"/>
|
||||
from v_statistical_confirm v
|
||||
<where>
|
||||
<choose>
|
||||
<when test="allProjectStatisticsSearch.paymentMonth != null and allProjectStatisticsSearch.paymentMonth != ''">
|
||||
and confirmDate like
|
||||
concat('%',#{allProjectStatisticsSearch.paymentYear},'-',#{allProjectStatisticsSearch.paymentMonth},'%')
|
||||
</when>
|
||||
<when test="allProjectStatisticsSearch.paymentYear != null and allProjectStatisticsSearch.paymentYear != ''">
|
||||
and confirmDate like concat('%',#{allProjectStatisticsSearch.paymentYear},'%')
|
||||
</when>
|
||||
</choose>
|
||||
</where>
|
||||
group by projectId
|
||||
) v
|
||||
</if>
|
||||
<where>
|
||||
<if test="idList != null and idList != ''">
|
||||
principalNameId in
|
||||
<foreach item="item" open="(" separator="," close=")" collection="idList">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.projectName != null and allProjectStatisticsSearch.projectName != ''">
|
||||
AND projectName LIKE
|
||||
concat('%', #{allProjectStatisticsSearch.projectName}, '%')
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.year != null and allProjectStatisticsSearch.year != ''">
|
||||
AND year LIKE
|
||||
concat(#{allProjectStatisticsSearch.year}, '%')
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.payStatue != null and allProjectStatisticsSearch.payStatue != ''">
|
||||
AND payStatue LIKE
|
||||
concat('%', #{allProjectStatisticsSearch.payStatue}, '%')
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.departCode != null and allProjectStatisticsSearch.departCode != ''">
|
||||
AND departCode = #{allProjectStatisticsSearch.departCode}
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.chargeUse != null and allProjectStatisticsSearch.chargeUse != ''">
|
||||
AND chargeUse = #{allProjectStatisticsSearch.chargeUse}
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.chargeCompanyTemporaryName != null and allProjectStatisticsSearch.chargeCompanyTemporaryName != ''">
|
||||
AND chargeCompanyTemporaryName LIKE
|
||||
concat('%', #{allProjectStatisticsSearch.chargeCompanyTemporaryName}, '%')
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.principalNameId != null and allProjectStatisticsSearch.principalNameId != ''">
|
||||
AND principalNameId = #{allProjectStatisticsSearch.principalNameId}
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.pack != null and allProjectStatisticsSearch.pack != ''">
|
||||
AND pack = #{allProjectStatisticsSearch.pack}
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.estimatedArrivalDateHasFlag != null and allProjectStatisticsSearch.estimatedArrivalDateHasFlag == '1'.toString()">
|
||||
AND estimatedArrivalDate is null
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.estimatedArrivalDateHasFlag != null and allProjectStatisticsSearch.estimatedArrivalDateHasFlag == '0'.toString()">
|
||||
AND estimatedArrivalDate is not null
|
||||
</if>
|
||||
<choose>
|
||||
<when test="allProjectStatisticsSearch.estimatedArrivalMonth != null and allProjectStatisticsSearch.estimatedArrivalMonth != ''">
|
||||
and estimatedArrivalDate like
|
||||
concat('%',#{allProjectStatisticsSearch.estimatedArrivalYear},'-',#{allProjectStatisticsSearch.estimatedArrivalMonth},'%')
|
||||
</when>
|
||||
<when test="allProjectStatisticsSearch.estimatedArrivalYear != null and allProjectStatisticsSearch.estimatedArrivalYear != ''">
|
||||
and estimatedArrivalDate like concat('%',#{allProjectStatisticsSearch.estimatedArrivalYear},'%')
|
||||
</when>
|
||||
</choose>
|
||||
<choose>
|
||||
<when test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != '' and allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
|
||||
AND allMoney >= #{allProjectStatisticsSearch.allMoney}
|
||||
and allMoney <![CDATA[<]]>=
|
||||
#{allProjectStatisticsSearch.allMoneyTwo}
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != ''">
|
||||
AND allMoney >= #{allProjectStatisticsSearch.allMoney}
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
|
||||
AND allMoney <![CDATA[<]]>= #{allProjectStatisticsSearch.allMoneyTwo}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="allProjectStatisticsSearch.companyContactName != null and allProjectStatisticsSearch.companyContactName != ''">
|
||||
and contactsName like concat('%', #{allProjectStatisticsSearch.companyContactName}, '%')
|
||||
</if>
|
||||
</where>
|
||||
group by v.projectId) p
|
||||
<if test="allProjectStatisticsSearch.column != null and allProjectStatisticsSearch.column != ''">
|
||||
<if test="allProjectStatisticsSearch.column == 'allMoney' and allProjectStatisticsSearch.order == 'desc'">
|
||||
order by allMoney desc
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.column == 'comeAllMoney' and allProjectStatisticsSearch.order == 'desc'">
|
||||
order by comeAllMoney desc
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.column == 'billMoney' and allProjectStatisticsSearch.order == 'desc'">
|
||||
order by billMoney desc
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.column == 'confirmAmount' and allProjectStatisticsSearch.order == 'desc'">
|
||||
order by confirmAmount desc
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.column == 'confirmAmount' and allProjectStatisticsSearch.order == 'asc'">
|
||||
order by confirmAmount
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.column == 'allMoney' and allProjectStatisticsSearch.order == 'asc'">
|
||||
order by allMoney
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.column == 'comeAllMoney' and allProjectStatisticsSearch.order == 'asc'">
|
||||
order by comeAllMoney
|
||||
</if>
|
||||
<if test="allProjectStatisticsSearch.column == 'billMoney' and allProjectStatisticsSearch.order == 'asc'">
|
||||
order by billMoney
|
||||
</if>
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+45
-19
@@ -8,8 +8,6 @@
|
||||
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,
|
||||
ifnull( IF(
|
||||
pwgs.charge_company_temporary_name =
|
||||
IF(
|
||||
@@ -57,11 +55,12 @@
|
||||
pwgs.tax_rate,
|
||||
pwgs.no_tax_amount,
|
||||
pwgs.label,
|
||||
pwgs.estimated_arrival_date
|
||||
pwgs.estimated_arrival_date,
|
||||
pwgs.check_payment_status,
|
||||
pwgs.confirm_voucher
|
||||
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
|
||||
left join pay_company_management pcm on pwgs.charge_company_id = pcm.id
|
||||
<where>
|
||||
pwgs.working_group_id = #{payWorkingGroupSubItem.workingGroupId}
|
||||
<if test="payWorkingGroupSubItem.chargeCompanyTemporaryName != null and payWorkingGroupSubItem.chargeCompanyTemporaryName != ''">
|
||||
@@ -92,6 +91,12 @@
|
||||
<if test="payWorkingGroupSubItem.id != null and payWorkingGroupSubItem.id != ''">
|
||||
and pwgs.id = #{payWorkingGroupSubItem.id}
|
||||
</if>
|
||||
<if test="payWorkingGroupSubItem.confirmVoucher != null">
|
||||
and pwgs.confirm_voucher = #{payWorkingGroupSubItem.confirmVoucher}
|
||||
</if>
|
||||
<if test="payWorkingGroupSubItem.checkPaymentStatus != null">
|
||||
and pwgs.check_payment_status = #{payWorkingGroupSubItem.checkPaymentStatus}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY pwgs.id
|
||||
ORDER BY pwgs.create_time desc
|
||||
@@ -127,7 +132,8 @@
|
||||
</sql>
|
||||
<!--工作组详情-->
|
||||
<select id="queryPageList2" resultType="com.jero.project.entity.PayWorkGroupSubletStatistics">
|
||||
SELECT
|
||||
select * from
|
||||
(SELECT
|
||||
principalNameId as principalId,
|
||||
principalName,
|
||||
chargeCompanyTemporaryName,
|
||||
@@ -197,17 +203,37 @@
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<!--<if test="payWorkingGroupSubletSearch.paymentYear != null and payWorkingGroupSubletSearch.paymentYear != ''">
|
||||
and DATE_FORMAT (pcpr.payment_date,'%Y') like concat(#{payWorkingGroupSubletSearch.paymentYear}, '%')
|
||||
<if test="payWorkingGroupSubletSearch.paymentMonth != null and payWorkingGroupSubletSearch.paymentMonth != ''">
|
||||
and DATE_FORMAT (pcpr.payment_date,'%m') like concat(#{payWorkingGroupSubletSearch.paymentMonth}, '%')
|
||||
</if>
|
||||
</if>-->
|
||||
<if test="payWorkingGroupSubletSearch.pack != null and payWorkingGroupSubletSearch.pack != ''">
|
||||
AND pack = #{payWorkingGroupSubletSearch.pack}
|
||||
</if>
|
||||
</where>
|
||||
group by id
|
||||
group by id) p
|
||||
<if test="payWorkingGroupSubletSearch.column != null and payWorkingGroupSubletSearch.column != ''">
|
||||
<if test="payWorkingGroupSubletSearch.column == 'allMoney' and payWorkingGroupSubletSearch.order == 'desc'">
|
||||
order by allMoney desc
|
||||
</if>
|
||||
<if test="payWorkingGroupSubletSearch.column == 'comeAllMoney' and payWorkingGroupSubletSearch.order == 'desc'">
|
||||
order by comeAllMoney desc
|
||||
</if>
|
||||
<if test="payWorkingGroupSubletSearch.column == 'billMoney' and payWorkingGroupSubletSearch.order == 'desc'">
|
||||
order by billMoney desc
|
||||
</if>
|
||||
<if test="payWorkingGroupSubletSearch.column == 'confirmAmount' and payWorkingGroupSubletSearch.order == 'desc'">
|
||||
order by confirmAmount desc
|
||||
</if>
|
||||
<if test="payWorkingGroupSubletSearch.column == 'confirmAmount' and payWorkingGroupSubletSearch.order == 'asc'">
|
||||
order by confirmAmount
|
||||
</if>
|
||||
<if test="payWorkingGroupSubletSearch.column == 'allMoney' and payWorkingGroupSubletSearch.order == 'asc'">
|
||||
order by allMoney
|
||||
</if>
|
||||
<if test="payWorkingGroupSubletSearch.column == 'comeAllMoney' and payWorkingGroupSubletSearch.order == 'asc'">
|
||||
order by comeAllMoney
|
||||
</if>
|
||||
<if test="payWorkingGroupSubletSearch.column == 'billMoney' and payWorkingGroupSubletSearch.order == 'asc'">
|
||||
order by billMoney
|
||||
</if>
|
||||
</if>
|
||||
</select>
|
||||
<!--工作组详情总金额-->
|
||||
<select id="queryPageList233" resultType="com.jero.statistics.entity.AllMoney">
|
||||
@@ -281,12 +307,6 @@
|
||||
<if test="payWorkingGroupSubletSearch.pack != null and payWorkingGroupSubletSearch.pack != ''">
|
||||
AND pack = #{payWorkingGroupSubletSearch.pack}
|
||||
</if>
|
||||
<!--<if test="payWorkingGroupSubletSearch.paymentYear != null and payWorkingGroupSubletSearch.paymentYear != ''">
|
||||
and DATE_FORMAT (pcpr.payment_date,'%Y') like concat(#{payWorkingGroupSubletSearch.paymentYear}, '%')
|
||||
<if test="payWorkingGroupSubletSearch.paymentMonth != null and payWorkingGroupSubletSearch.paymentMonth != ''">
|
||||
and DATE_FORMAT (pcpr.payment_date,'%m') like concat(#{payWorkingGroupSubletSearch.paymentMonth}, '%')
|
||||
</if>
|
||||
</if>-->
|
||||
</where>
|
||||
group by id) p
|
||||
</select>
|
||||
@@ -381,4 +401,10 @@
|
||||
left join pay_working_group pwg ON pwgs.working_group_id = pwg.id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="listByYear" resultType="com.jero.project.entity.PayWorkingGroupSubItem">
|
||||
select pwgs.* from pay_working_group_subitem pwgs
|
||||
left join pay_working_group pwg ON pwgs.working_group_id = pwg.id
|
||||
where pwg.year = #{year}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+574
@@ -0,0 +1,574 @@
|
||||
package com.jero.project.service;
|
||||
|
||||
import cn.hutool.core.collection.CollStreamUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.jero.common.common.RoleCommon;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.ProjectDetailService;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.mapper.PayMeetingMapper;
|
||||
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||
import com.jero.member.service.IPayMemberProjectService;
|
||||
import com.jero.member.service.IPayMemberProjectSubitemService;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.pack.entity.PayPackCompany;
|
||||
import com.jero.pack.mapper.PayPackCompanyMapper;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.pack.service.IPayPackCompanyService;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItemContacts;
|
||||
import com.jero.project.mapper.*;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
*
|
||||
*@author liJiaRao
|
||||
*@date 2024-07-24 13:51
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class AnnualDataLockingService extends ServiceImpl<AnnualDataLockingMapper, AnnualDataLocking> {
|
||||
@Resource
|
||||
private ISysUserService sysUserService;
|
||||
@Resource
|
||||
private ProjectDetailService projectDetailService;
|
||||
@Resource
|
||||
private PayCommonProjectMapper payCommonProjectMapper;
|
||||
@Resource
|
||||
private IPayWorkingGroupSubItemService workingGroupSubItemService;
|
||||
@Resource
|
||||
private IPayWorkingGroupSubItemContactsService workingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private PayWorkingGroupMapper payWorkingGroupMapper;
|
||||
@Resource
|
||||
private PayWorkingGroupSubItemMapper payWorkingGroupSubItemMapper;
|
||||
@Resource
|
||||
private PayWorkingGroupSubItemContactsMapper workingGroupSubItemContactsMapper;
|
||||
|
||||
@Resource
|
||||
private PayMeetingSituationMapper meetingSituationMapper;
|
||||
@Resource
|
||||
private PayMemberProjectSubitemMapper payMemberProjectSubitemMapper;
|
||||
@Resource
|
||||
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private IPayCommonProjectService commonProjectService;
|
||||
@Resource
|
||||
private IPayMemberProjectService payMemberProjectService;
|
||||
@Resource
|
||||
private IPayMemberProjectSubitemService memberProjectSubitemService;
|
||||
@Resource
|
||||
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
|
||||
@Resource
|
||||
private PayMeetingMapper meetingMapper;
|
||||
@Resource
|
||||
private IPayMeetingSituationService meetingSituationService;
|
||||
@Resource
|
||||
private IPayPackCompanyService packCompanyService;
|
||||
@Resource
|
||||
private PayPackCompanyMapper packCompanyMapper;
|
||||
@Resource
|
||||
private IPayCompanyManagementTemporaryService companyTemporaryService;
|
||||
@Resource
|
||||
private IPayContactsManagementTemporaryService contactsTemporaryService;
|
||||
|
||||
public void add(AnnualDataLocking annualDataLocking) {
|
||||
String year = annualDataLocking.getYear();
|
||||
if (String.valueOf(DateUtil.thisYear()).equals(year)){
|
||||
throw new JeroBootException("不能锁定当前年份");
|
||||
}
|
||||
AnnualDataLocking one = lambdaQuery().eq(AnnualDataLocking::getYear, year).one();
|
||||
if (one != null){
|
||||
throw new JeroBootException(year+"年年度数据已经锁定");
|
||||
}
|
||||
this.save(annualDataLocking);
|
||||
CompletableFuture.supplyAsync(() -> {
|
||||
//第一步先获取所有企业和联系人
|
||||
List<PayMeetingSituation> meetingSituations = meetingSituationMapper.listByYear(year);
|
||||
List<PayWorkingGroupSubItem> workingGroupSubItems = payWorkingGroupSubItemMapper.listByYear(year);
|
||||
List<String> workingGroupSubIdList = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getId).distinct().collect(Collectors.toList());
|
||||
List<PayWorkingGroupSubItemContacts> workingGroupSubItemContacts = workingGroupSubItemContactsMapper.listByWorkingGroupSubIdIn(workingGroupSubIdList);
|
||||
List<PayCommonProject> payCommonProjects = payCommonProjectMapper.listByYear(year);
|
||||
List<PayMemberProjectSubitem> memberProjectSubitems = payMemberProjectSubitemMapper.listByYear(year);
|
||||
List<TbMemberProjectSubitem> tbMemberProjectSubitems = tbMemberProjectSubitemMapper.listByYear(year);
|
||||
List<PayPackCompany> packCompanyList = packCompanyMapper.listByYear(year);
|
||||
//获得去重后的所有企业和联系人(联系人和邮寄联系人)
|
||||
ArrayList<String> distinctCompanyIdList = getDistinctCompanyIdList(meetingSituations, workingGroupSubItems, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems,packCompanyList);
|
||||
ArrayList<String> distinctContactIdList = getDistinctContactIdList(meetingSituations, workingGroupSubItems, workingGroupSubItemContacts, payCommonProjects, memberProjectSubitems, tbMemberProjectSubitems,packCompanyList);
|
||||
//如果企业或联系人为空那么直接返回
|
||||
if (CollectionUtil.isEmpty(distinctCompanyIdList)||CollectionUtil.isEmpty(distinctContactIdList)){
|
||||
return "";
|
||||
}
|
||||
//生成企业和联系人临时数据
|
||||
List<PayCompanyManagementTemporary> companyTemporaryList = companyTemporaryService.insertList(distinctCompanyIdList,year);
|
||||
Map<String, PayCompanyManagementTemporary> companyTemporaryMap = CollStreamUtil.toIdentityMap(companyTemporaryList, PayCompanyManagementTemporary::getCompanyId);
|
||||
List<PayContactsManagementTemporary> contactsTemporaryList = contactsTemporaryService.insertList(distinctContactIdList,year);
|
||||
Map<String, PayContactsManagementTemporary> contactsTemporaryMap = CollStreamUtil.toIdentityMap(contactsTemporaryList, PayContactsManagementTemporary::getContactId);
|
||||
|
||||
//会议项目
|
||||
List<PayMeetingSituation> updateMeetingSituationList = new ArrayList<>();
|
||||
for (PayMeetingSituation meetingSituation : meetingSituations) {
|
||||
String companyId = meetingSituation.getCompanyId();
|
||||
String companyContactId = meetingSituation.getCompanyContactId();
|
||||
String postContactId = meetingSituation.getPostContactId();
|
||||
//获得临时表id
|
||||
companyTemporaryMap.get(companyId);
|
||||
PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId);
|
||||
if (companyTemporary == null){
|
||||
continue;
|
||||
}
|
||||
PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(companyContactId);
|
||||
if (contactsTemporary == null){
|
||||
continue;
|
||||
}
|
||||
//更新临时表id
|
||||
PayMeetingSituation update = new PayMeetingSituation();
|
||||
update.setId(meetingSituation.getId());
|
||||
if (StringUtils.isNotBlank(postContactId)){
|
||||
PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId);
|
||||
if (contactsTemporary1 != null){
|
||||
update.setPostContactTemporaryId(contactsTemporary1.getId());
|
||||
}
|
||||
}
|
||||
update.setCompanyTemporaryId(companyTemporary.getId());
|
||||
update.setCompanyContactTemporaryId(contactsTemporary.getId());
|
||||
updateMeetingSituationList.add(update);
|
||||
}
|
||||
meetingSituationService.updateBatchById(updateMeetingSituationList);
|
||||
|
||||
//工作组项目
|
||||
List<PayWorkingGroupSubItem> updateWorkingGroupSubItemList = new ArrayList<>();
|
||||
for (PayWorkingGroupSubItem workingGroupSubItem : workingGroupSubItems) {
|
||||
String companyId = workingGroupSubItem.getChargeCompanyId();
|
||||
String postContactId = workingGroupSubItem.getMailContactsId();
|
||||
//获得临时表id
|
||||
companyTemporaryMap.get(companyId);
|
||||
PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId);
|
||||
if (companyTemporary == null){
|
||||
continue;
|
||||
}
|
||||
//更新临时表id
|
||||
PayWorkingGroupSubItem update = new PayWorkingGroupSubItem();
|
||||
update.setId(workingGroupSubItem.getId());
|
||||
update.setChargeCompanyTemporaryId(companyTemporary.getId());
|
||||
if (StringUtils.isNotBlank(postContactId)){
|
||||
PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId);
|
||||
if (contactsTemporary1 != null){
|
||||
update.setMailContactsTemporaryId(contactsTemporary1.getId());
|
||||
}
|
||||
}
|
||||
|
||||
updateWorkingGroupSubItemList.add(update);
|
||||
}
|
||||
workingGroupSubItemService.updateBatchById(updateWorkingGroupSubItemList);
|
||||
|
||||
//工作组成员联系人
|
||||
List<PayWorkingGroupSubItemContacts> updateWorkingGroupSubItemContacts = new ArrayList<>();
|
||||
for (PayWorkingGroupSubItemContacts contacts : workingGroupSubItemContacts) {
|
||||
String contactsId = contacts.getContactsId();
|
||||
|
||||
PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(contactsId);
|
||||
if (contactsTemporary == null){
|
||||
continue;
|
||||
}
|
||||
//更新临时表id
|
||||
PayWorkingGroupSubItemContacts update = new PayWorkingGroupSubItemContacts();
|
||||
update.setId(contacts.getId());
|
||||
update.setContactsTemporaryId(contactsTemporary.getId());
|
||||
updateWorkingGroupSubItemContacts.add(update);
|
||||
}
|
||||
workingGroupSubItemContactsService.updateBatchById(updateWorkingGroupSubItemContacts);
|
||||
|
||||
//普通项目
|
||||
List<PayCommonProject> updatePayCommonProjects = new ArrayList<>();
|
||||
for (PayCommonProject commonProject : payCommonProjects) {
|
||||
String companyId = commonProject.getChargeCompanyId();
|
||||
String companyContactId = commonProject.getContactsId();
|
||||
String postContactId = commonProject.getMailContactsId();
|
||||
//获得临时表id
|
||||
companyTemporaryMap.get(companyId);
|
||||
PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId);
|
||||
if (companyTemporary == null){
|
||||
continue;
|
||||
}
|
||||
PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(companyContactId);
|
||||
if (contactsTemporary == null){
|
||||
continue;
|
||||
}
|
||||
//更新临时表id
|
||||
PayCommonProject update = new PayCommonProject();
|
||||
update.setId(commonProject.getId());
|
||||
if (StringUtils.isNotBlank(postContactId)){
|
||||
PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId);
|
||||
if (contactsTemporary1 != null){
|
||||
update.setMailContactsId(contactsTemporary1.getId());
|
||||
}
|
||||
}
|
||||
update.setChargeCompanyTemporaryId(companyTemporary.getId());
|
||||
update.setContactsTemporaryId(contactsTemporary.getId());
|
||||
updatePayCommonProjects.add(update);
|
||||
}
|
||||
commonProjectService.updateBatchById(updatePayCommonProjects);
|
||||
|
||||
//会员项目
|
||||
List<PayMemberProjectSubitem> updateMemberProjectSubitems = new ArrayList<>();
|
||||
for (PayMemberProjectSubitem memberProjectSubitem : memberProjectSubitems) {
|
||||
String companyId = memberProjectSubitem.getCompanyId();
|
||||
String companyContactId = memberProjectSubitem.getCompanyContactId();
|
||||
String postContactId = memberProjectSubitem.getPostContactId();
|
||||
//获得临时表id
|
||||
companyTemporaryMap.get(companyId);
|
||||
PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId);
|
||||
if (companyTemporary == null){
|
||||
continue;
|
||||
}
|
||||
PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(companyContactId);
|
||||
if (contactsTemporary == null){
|
||||
continue;
|
||||
}
|
||||
//更新临时表id
|
||||
PayMemberProjectSubitem update = new PayMemberProjectSubitem();
|
||||
update.setId(memberProjectSubitem.getId());
|
||||
if (StringUtils.isNotBlank(postContactId)){
|
||||
PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId);
|
||||
if (contactsTemporary1 != null){
|
||||
update.setPostContactTemporaryId(contactsTemporary1.getId());
|
||||
}
|
||||
}
|
||||
update.setCompanyTemporaryId(companyTemporary.getId());
|
||||
update.setCompanyContactTemporaryId(contactsTemporary.getId());
|
||||
updateMemberProjectSubitems.add(update);
|
||||
}
|
||||
memberProjectSubitemService.updateBatchById(updateMemberProjectSubitems);
|
||||
|
||||
//标协会员项目
|
||||
List<TbMemberProjectSubitem> updateTbMemberProjectSubitems = new ArrayList<>();
|
||||
for (TbMemberProjectSubitem tbMemberProjectSubitem : tbMemberProjectSubitems) {
|
||||
String companyId = tbMemberProjectSubitem.getCompanyId();
|
||||
String companyContactId = tbMemberProjectSubitem.getLiaisonManId();
|
||||
String postContactId = tbMemberProjectSubitem.getPostContactId();
|
||||
//获得临时表id
|
||||
companyTemporaryMap.get(companyId);
|
||||
PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId);
|
||||
if (companyTemporary == null){
|
||||
continue;
|
||||
}
|
||||
PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(companyContactId);
|
||||
if (contactsTemporary == null){
|
||||
continue;
|
||||
}
|
||||
//更新临时表id
|
||||
TbMemberProjectSubitem update = new TbMemberProjectSubitem();
|
||||
update.setId(tbMemberProjectSubitem.getId());
|
||||
if (StringUtils.isNotBlank(postContactId)){
|
||||
PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId);
|
||||
if (contactsTemporary1 != null){
|
||||
update.setPostContactTemporaryId(contactsTemporary1.getId());
|
||||
}
|
||||
}
|
||||
update.setCompanyTemporaryId(companyTemporary.getId());
|
||||
update.setCompanyContactTemporaryId(contactsTemporary.getId());
|
||||
updateTbMemberProjectSubitems.add(update);
|
||||
}
|
||||
tbMemberProjectSubitemService.updateBatchById(updateTbMemberProjectSubitems);
|
||||
|
||||
//打包项目
|
||||
List<PayPackCompany> updatePackCompanyList = new ArrayList<>();
|
||||
for (PayPackCompany packCompany : packCompanyList) {
|
||||
String companyId = packCompany.getCompanyId();
|
||||
String companyContactId = packCompany.getCompanyContactId();
|
||||
String postContactId = packCompany.getMailContactsId();
|
||||
//获得临时表id
|
||||
companyTemporaryMap.get(companyId);
|
||||
PayCompanyManagementTemporary companyTemporary = companyTemporaryMap.get(companyId);
|
||||
if (companyTemporary == null){
|
||||
continue;
|
||||
}
|
||||
PayContactsManagementTemporary contactsTemporary = contactsTemporaryMap.get(companyContactId);
|
||||
if (contactsTemporary == null){
|
||||
continue;
|
||||
}
|
||||
//更新临时表id
|
||||
PayPackCompany update = new PayPackCompany();
|
||||
update.setId(packCompany.getId());
|
||||
if (StringUtils.isNotBlank(postContactId)){
|
||||
PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryMap.get(postContactId);
|
||||
if (contactsTemporary1 != null){
|
||||
update.setMailContactsId(contactsTemporary1.getId());
|
||||
}
|
||||
}
|
||||
update.setCompanyTemporaryId(companyTemporary.getId());
|
||||
update.setCompanyContactTemporaryId(contactsTemporary.getId());
|
||||
updatePackCompanyList.add(update);
|
||||
}
|
||||
packCompanyService.updateBatchById(updatePackCompanyList);
|
||||
return "";
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private ArrayList<String> getDistinctContactIdList(List<PayMeetingSituation> meetingSituations, List<PayWorkingGroupSubItem> workingGroupSubItems, List<PayWorkingGroupSubItemContacts> workingGroupSubItemContacts, List<PayCommonProject> payCommonProjects, List<PayMemberProjectSubitem> memberProjectSubitems, List<TbMemberProjectSubitem> tbMemberProjectSubitems, List<PayPackCompany> packCompanys) {
|
||||
//获得所有联系人id
|
||||
List<String> contactIdList1 = meetingSituations.stream().map(PayMeetingSituation::getCompanyContactId).distinct().collect(Collectors.toList());
|
||||
List<String> contactIdList2 = workingGroupSubItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsId).distinct().collect(Collectors.toList());
|
||||
List<String> contactIdList3 = payCommonProjects.stream().map(PayCommonProject::getContactsId).distinct().collect(Collectors.toList());
|
||||
List<String> contactIdList4 = memberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyContactId).distinct().collect(Collectors.toList());
|
||||
List<String> contactIdList5 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getLiaisonManId).distinct().collect(Collectors.toList());
|
||||
List<String> contactIdList6 = packCompanys.stream().map(PayPackCompany::getCompanyContactId).distinct().collect(Collectors.toList());
|
||||
contactIdList1.addAll(contactIdList2);
|
||||
contactIdList1.addAll(contactIdList3);
|
||||
contactIdList1.addAll(contactIdList4);
|
||||
contactIdList1.addAll(contactIdList5);
|
||||
contactIdList1.addAll(contactIdList6);
|
||||
//获得所有邮寄联系人id
|
||||
List<String> postContactIdList1 = meetingSituations.stream().map(PayMeetingSituation::getPostContactId).distinct().collect(Collectors.toList());
|
||||
List<String> postContactIdList2 = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getMailContactsId).distinct().collect(Collectors.toList());
|
||||
List<String> postContactIdList3 = payCommonProjects.stream().map(PayCommonProject::getMailContactsId).distinct().collect(Collectors.toList());
|
||||
List<String> postContactIdList4 = memberProjectSubitems.stream().map(PayMemberProjectSubitem::getPostContactId).distinct().collect(Collectors.toList());
|
||||
List<String> postContactIdList5 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getPostContactId).distinct().collect(Collectors.toList());
|
||||
List<String> postContactIdList6 = packCompanys.stream().map(PayPackCompany::getMailContactsId).distinct().collect(Collectors.toList());
|
||||
contactIdList1.addAll(postContactIdList1);
|
||||
contactIdList1.addAll(postContactIdList2);
|
||||
contactIdList1.addAll(postContactIdList3);
|
||||
contactIdList1.addAll(postContactIdList4);
|
||||
contactIdList1.addAll(postContactIdList5);
|
||||
contactIdList1.addAll(postContactIdList6);
|
||||
//联系人和邮寄联系人合并后去重
|
||||
return CollectionUtil.distinct(contactIdList1);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private ArrayList<String> getDistinctCompanyIdList(List<PayMeetingSituation> meetingSituations, List<PayWorkingGroupSubItem> workingGroupSubItems, List<PayCommonProject> payCommonProjects, List<PayMemberProjectSubitem> memberProjectSubitems, List<TbMemberProjectSubitem> tbMemberProjectSubitems, List<PayPackCompany> packCompanys) {
|
||||
//获取所有企业id
|
||||
List<String> companyIdList1 = meetingSituations.stream().map(PayMeetingSituation::getCompanyId).distinct().collect(Collectors.toList());
|
||||
List<String> companyIdList2 = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getChargeCompanyId).distinct().collect(Collectors.toList());
|
||||
List<String> companyIdList3 = payCommonProjects.stream().map(PayCommonProject::getChargeCompanyId).distinct().collect(Collectors.toList());
|
||||
List<String> companyIdList4 = memberProjectSubitems.stream().map(PayMemberProjectSubitem::getCompanyId).distinct().collect(Collectors.toList());
|
||||
List<String> companyIdList5 = tbMemberProjectSubitems.stream().map(TbMemberProjectSubitem::getCompanyId).distinct().collect(Collectors.toList());
|
||||
List<String> companyIdList6 = packCompanys.stream().map(PayPackCompany::getCompanyId).distinct().collect(Collectors.toList());
|
||||
|
||||
companyIdList1.addAll(companyIdList2);
|
||||
companyIdList1.addAll(companyIdList3);
|
||||
companyIdList1.addAll(companyIdList4);
|
||||
companyIdList1.addAll(companyIdList5);
|
||||
companyIdList1.addAll(companyIdList6);
|
||||
//去重
|
||||
return CollectionUtil.distinct(companyIdList1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询所有锁定年份
|
||||
* @return
|
||||
*/
|
||||
public List<String> getAllYear(){
|
||||
return baseMapper.getYear();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询年份是否存在
|
||||
*/
|
||||
@Cacheable(cacheNames= "annualDataLocking", key="#year")
|
||||
public AnnualDataLocking checkYear(String year){
|
||||
return baseMapper.countByYear(year);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断用户是否能操作所选年份数据,返回年份是否是锁定的
|
||||
* @param year
|
||||
*/
|
||||
public AnnualDataLocking judgeUserYear(String year){
|
||||
AnnualDataLocking b = checkYear(year);
|
||||
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (user == null){
|
||||
return b;
|
||||
}
|
||||
//如果是项目负责人,就抛出异常
|
||||
if (Objects.equals(user.getRoleCode(),RoleCommon.XMFZR) && b != null){
|
||||
throw new JeroBootException(year+"年数据已经锁定");
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
public void editById(AnnualDataLocking annualDataLocking) {
|
||||
|
||||
this.updateById(annualDataLocking);
|
||||
}
|
||||
|
||||
@CacheEvict(value="annualDataLocking", allEntries=true)
|
||||
public void deleteById(String id) {
|
||||
AnnualDataLocking annualDataLocking = this.getById(id);
|
||||
this.removeById(id);
|
||||
String year = annualDataLocking.getYear();
|
||||
CompletableFuture.supplyAsync(() -> {
|
||||
//会议项目
|
||||
List<PayMeetingSituation> updateMeetingSituationList = new ArrayList<>();
|
||||
List<PayMeetingSituation> meetingSituations = meetingSituationMapper.listByYear(year);
|
||||
for (PayMeetingSituation meetingSituation : meetingSituations) {
|
||||
String companyId = meetingSituation.getCompanyId();
|
||||
String companyContactId = meetingSituation.getCompanyContactId();
|
||||
String postContactId = meetingSituation.getPostContactId();
|
||||
//更新临时表id
|
||||
PayMeetingSituation update = new PayMeetingSituation();
|
||||
update.setId(meetingSituation.getId());
|
||||
update.setCompanyTemporaryId(companyId);
|
||||
update.setCompanyContactTemporaryId(companyContactId);
|
||||
update.setPostContactTemporaryId(postContactId);
|
||||
updateMeetingSituationList.add(update);
|
||||
}
|
||||
meetingSituationService.updateBatchById(updateMeetingSituationList);
|
||||
|
||||
//工作组项目
|
||||
List<PayWorkingGroupSubItem> updateWorkingGroupSubItemList = new ArrayList<>();
|
||||
List<PayWorkingGroupSubItem> workingGroupSubItems = payWorkingGroupSubItemMapper.listByYear(year);
|
||||
for (PayWorkingGroupSubItem workingGroupSubItem : workingGroupSubItems) {
|
||||
String companyId = workingGroupSubItem.getChargeCompanyId();
|
||||
String postContactId = workingGroupSubItem.getMailContactsId();
|
||||
//更新临时表id
|
||||
PayWorkingGroupSubItem update = new PayWorkingGroupSubItem();
|
||||
update.setId(workingGroupSubItem.getId());
|
||||
update.setChargeCompanyTemporaryId(companyId);
|
||||
update.setMailContactsTemporaryId(postContactId);
|
||||
|
||||
updateWorkingGroupSubItemList.add(update);
|
||||
}
|
||||
workingGroupSubItemService.updateBatchById(updateWorkingGroupSubItemList);
|
||||
|
||||
//工作组成员联系人
|
||||
List<PayWorkingGroupSubItemContacts> updateWorkingGroupSubItemContacts = new ArrayList<>();
|
||||
List<String> workingGroupSubIdList = workingGroupSubItems.stream().map(PayWorkingGroupSubItem::getId).distinct().collect(Collectors.toList());
|
||||
List<PayWorkingGroupSubItemContacts> workingGroupSubItemContacts = workingGroupSubItemContactsMapper.listByWorkingGroupSubIdIn(workingGroupSubIdList);
|
||||
for (PayWorkingGroupSubItemContacts contacts : workingGroupSubItemContacts) {
|
||||
String contactsId = contacts.getContactsId();
|
||||
|
||||
//更新临时表id
|
||||
PayWorkingGroupSubItemContacts update = new PayWorkingGroupSubItemContacts();
|
||||
update.setId(contacts.getId());
|
||||
update.setContactsTemporaryId(contactsId);
|
||||
updateWorkingGroupSubItemContacts.add(update);
|
||||
}
|
||||
workingGroupSubItemContactsService.updateBatchById(updateWorkingGroupSubItemContacts);
|
||||
|
||||
//普通项目
|
||||
List<PayCommonProject> updatePayCommonProjects = new ArrayList<>();
|
||||
List<PayCommonProject> payCommonProjects = payCommonProjectMapper.listByYear(year);
|
||||
for (PayCommonProject commonProject : payCommonProjects) {
|
||||
String companyId = commonProject.getChargeCompanyId();
|
||||
String companyContactId = commonProject.getContactsId();
|
||||
String postContactId = commonProject.getMailContactsId();
|
||||
|
||||
//更新临时表id
|
||||
PayCommonProject update = new PayCommonProject();
|
||||
update.setId(commonProject.getId());
|
||||
update.setChargeCompanyTemporaryId(companyId);
|
||||
update.setContactsTemporaryId(companyContactId);
|
||||
update.setMailContactsTemporaryId(postContactId);
|
||||
|
||||
updatePayCommonProjects.add(update);
|
||||
}
|
||||
commonProjectService.updateBatchById(updatePayCommonProjects);
|
||||
|
||||
//会员项目
|
||||
List<PayMemberProjectSubitem> updateMemberProjectSubitems = new ArrayList<>();
|
||||
List<PayMemberProjectSubitem> memberProjectSubitems = payMemberProjectSubitemMapper.listByYear(year);
|
||||
for (PayMemberProjectSubitem memberProjectSubitem : memberProjectSubitems) {
|
||||
String companyId = memberProjectSubitem.getCompanyId();
|
||||
String companyContactId = memberProjectSubitem.getCompanyContactId();
|
||||
String postContactId = memberProjectSubitem.getPostContactId();
|
||||
|
||||
//更新临时表id
|
||||
PayMemberProjectSubitem update = new PayMemberProjectSubitem();
|
||||
update.setId(memberProjectSubitem.getId());
|
||||
update.setCompanyTemporaryId(companyId);
|
||||
update.setCompanyContactTemporaryId(companyContactId);
|
||||
update.setPostContactTemporaryId(postContactId);
|
||||
|
||||
updateMemberProjectSubitems.add(update);
|
||||
}
|
||||
memberProjectSubitemService.updateBatchById(updateMemberProjectSubitems);
|
||||
|
||||
//标协会员项目
|
||||
List<TbMemberProjectSubitem> updateTbMemberProjectSubitems = new ArrayList<>();
|
||||
List<TbMemberProjectSubitem> tbMemberProjectSubitems = tbMemberProjectSubitemMapper.listByYear(year);
|
||||
for (TbMemberProjectSubitem tbMemberProjectSubitem : tbMemberProjectSubitems) {
|
||||
String companyId = tbMemberProjectSubitem.getCompanyId();
|
||||
String companyContactId = tbMemberProjectSubitem.getLiaisonManId();
|
||||
String postContactId = tbMemberProjectSubitem.getPostContactId();
|
||||
//更新临时表id
|
||||
TbMemberProjectSubitem update = new TbMemberProjectSubitem();
|
||||
update.setId(tbMemberProjectSubitem.getId());
|
||||
update.setCompanyTemporaryId(companyId);
|
||||
update.setCompanyContactTemporaryId(companyContactId);
|
||||
update.setPostContactTemporaryId(postContactId);
|
||||
|
||||
updateTbMemberProjectSubitems.add(update);
|
||||
}
|
||||
tbMemberProjectSubitemService.updateBatchById(updateTbMemberProjectSubitems);
|
||||
|
||||
//打包项目
|
||||
List<PayPackCompany> updatePackCompanyList = new ArrayList<>();
|
||||
List<PayPackCompany> packCompanyList = packCompanyMapper.listByYear(year);
|
||||
for (PayPackCompany packCompany : packCompanyList) {
|
||||
String companyId = packCompany.getCompanyId();
|
||||
String companyContactId = packCompany.getCompanyContactId();
|
||||
String postContactId = packCompany.getMailContactsId();
|
||||
|
||||
//更新临时表id
|
||||
PayPackCompany update = new PayPackCompany();
|
||||
update.setId(packCompany.getId());
|
||||
update.setMailContactsId(postContactId);
|
||||
update.setCompanyTemporaryId(companyId);
|
||||
update.setCompanyContactTemporaryId(companyContactId);
|
||||
updatePackCompanyList.add(update);
|
||||
}
|
||||
packCompanyService.updateBatchById(updatePackCompanyList);
|
||||
return "";
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void deleteByIds(List<String> idList) {
|
||||
for (String id : idList) {
|
||||
deleteById(id);
|
||||
}
|
||||
}
|
||||
|
||||
public AnnualDataLocking queryById(String id) {
|
||||
AnnualDataLocking annualDataLocking = this.getById(id);
|
||||
return annualDataLocking;
|
||||
}
|
||||
}
|
||||
+13
-1
@@ -9,7 +9,8 @@ import com.jero.project.vo.PayWorkingGroupVO;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.statistics.entity.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -259,4 +260,15 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
|
||||
* @param payWorkingGroupSubItem 工作组成员
|
||||
*/
|
||||
void validAndSetDefaultValue(PayWorkingGroupSubItem payWorkingGroupSubItem);
|
||||
|
||||
/**
|
||||
* 全部文件导出
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
void exportAllFile(HttpServletRequest request, HttpServletResponse response, PayWorkingGroup payWorkingGroup);
|
||||
|
||||
List<CompanyComeMoneyClassificationList> queryPageListForCompanyClassification(CompanyComeMoneySearch companyComeMoneySearch);
|
||||
|
||||
List<AllProjectStatistics> queryPageListExcelForProject(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList);
|
||||
}
|
||||
|
||||
+6
@@ -145,4 +145,10 @@ public interface IPayWorkingGroupSubItemService extends IService<PayWorkingGroup
|
||||
* @param id
|
||||
*/
|
||||
void editAccount(String workGroupId, String companyId, String id);
|
||||
|
||||
/**
|
||||
* 确认凭证
|
||||
* @param id
|
||||
*/
|
||||
void confirmVoucher(String id);
|
||||
}
|
||||
|
||||
+35
-17
@@ -22,13 +22,14 @@ import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.mail.service.IPayMailBillService;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.pack.entity.PayPackCompanyProject;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.payment.service.IPayPaymentCheckService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.AnnualDataLocking;
|
||||
import com.jero.project.service.AnnualDataLockingService;
|
||||
import com.jero.project.service.IPayCommonProjectService;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.mapper.PayCommonProjectMapper;
|
||||
@@ -85,6 +86,8 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
private IPayPaymentCheckService payPaymentCheckService;
|
||||
@Resource
|
||||
private IPayMailBillService payMailBillService;
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
|
||||
|
||||
|
||||
@@ -109,7 +112,11 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
log.info("普通项目管理-添加异常",e);
|
||||
throw new JeroBootException("来款项目已存在!");
|
||||
}
|
||||
setPayCommonProjectAdd(payCommonProject);
|
||||
String year = payCommonProject.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
setPayCommonProjectAdd(payCommonProject,annualDataLocking);
|
||||
|
||||
payCommonProject.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||
payCommonProject.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||
payCommonProject.setMail(PayProjectCommon.MAIL0);
|
||||
@@ -178,6 +185,13 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
if(Objects.equals(payCommonProjectOld.getPack(),PayProjectCommon.PACKAGING1)){
|
||||
throw new JeroBootException("项目已打包,不可编辑!");
|
||||
}
|
||||
|
||||
String year = payCommonProjectOld.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking1 = annualDataLockingService.judgeUserYear(year);
|
||||
String year1 = payCommonProject.getYear();
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year1);
|
||||
|
||||
// 项目为打包状态 || 到账!=0 || 开票!=0 || 邮寄!=0
|
||||
if(!Objects.equals(payCommonProject.getChargeCompanyId(),payCommonProjectOld.getChargeCompanyId())
|
||||
&& (Objects.equals(payCommonProject.getPack(),PayProjectCommon.PACKAGING1)
|
||||
@@ -228,7 +242,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
}
|
||||
}
|
||||
|
||||
setPayCommonProjectEdit(payCommonProject,payCommonProjectOld);
|
||||
setPayCommonProjectEdit(payCommonProject,payCommonProjectOld,annualDataLocking);
|
||||
// 变更待确收金额,重新校验状态
|
||||
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payCommonProject.getId(),payCommonProject.getReceivableAmount(),payCommonProject.getNeedInvoice());
|
||||
if(!Objects.isNull(projectStatusVO)){
|
||||
@@ -242,7 +256,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
payCommonProject.setMail(projectStatusVO.getMail());
|
||||
}
|
||||
}
|
||||
String paymentStatus = payPaymentCheckService.getPaymentStatus(payCommonProject.getReceivableAmount(),payCommonProject.getPaidAmount(),payCommonProject.getPaymentStatus());
|
||||
String paymentStatus = payPaymentCheckService.getPaymentStatus(payCommonProject.getReceivableAmount(),payCommonProject.getPaidAmount(),payCommonProject.getPaymentStatus(), false);
|
||||
payCommonProject.setPaymentStatus(paymentStatus);
|
||||
payCommonProjectService.updateById(payCommonProject);
|
||||
|
||||
@@ -330,6 +344,10 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
if(!rolePermissionService.getRolePermission(perms) && !Objects.equals(payCommonProject.getPrincipalId(), sysUser.getId())){
|
||||
sb.append(payCommonProject.getChargeProject() + "项目不可操作!<br/>");
|
||||
}
|
||||
|
||||
String year = payCommonProject.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
if(!StringUtils.isEmpty(sb)){
|
||||
return sb;
|
||||
}
|
||||
@@ -353,8 +371,8 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
update.eq(PayPackCompanyProject::getProjectId,payCommonProject.getId());
|
||||
payPackCompanyProjectService.remove(update);
|
||||
// 删除企业联系人临时数据
|
||||
payCompanyManagementTemporaryService.removeById(payCommonProject.getChargeCompanyTemporaryId());
|
||||
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payCommonProject.getContactsTemporaryId(),payCommonProject.getMailContactsTemporaryId()));
|
||||
//payCompanyManagementTemporaryService.removeById(payCommonProject.getChargeCompanyTemporaryId());
|
||||
// paycontactsManagementTemporaryService.removeByIds(Arrays.asList(payCommonProject.getContactsTemporaryId(),payCommonProject.getMailContactsTemporaryId()));
|
||||
return sb;
|
||||
}
|
||||
|
||||
@@ -366,21 +384,21 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private void setPayCommonProjectAdd(PayCommonProject payCommonProject){
|
||||
private void setPayCommonProjectAdd(PayCommonProject payCommonProject, AnnualDataLocking annualDataLocking){
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payCommonProject.getChargeCompanyId());
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payCommonProject.getChargeCompanyId(), annualDataLocking);
|
||||
if(Objects.isNull(chargeCompanyName)){
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
|
||||
// 联系人
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getContactsId());
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getContactsId(), annualDataLocking);
|
||||
if(Objects.isNull(contactsName)){
|
||||
throw new JeroBootException("联系人名称为空!");
|
||||
}
|
||||
|
||||
// 邮寄联系人
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getMailContactsId());
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getMailContactsId(), annualDataLocking);
|
||||
if(Objects.isNull(mailContactsName)){
|
||||
throw new JeroBootException("邮寄联系人名称为空!");
|
||||
}
|
||||
@@ -408,17 +426,17 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private void setPayCommonProjectEdit(PayCommonProject payCommonProject,PayCommonProject payCommonProjectOld){
|
||||
private void setPayCommonProjectEdit(PayCommonProject payCommonProject, PayCommonProject payCommonProjectOld, AnnualDataLocking annualDataLocking){
|
||||
// 企业id != 企业模板id 变更
|
||||
if(!Objects.equals(payCommonProject.getChargeCompanyId(),payCommonProjectOld.getChargeCompanyTemporaryId())){
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payCommonProject.getChargeCompanyId());
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payCommonProject.getChargeCompanyId(), annualDataLocking);
|
||||
if(Objects.isNull(chargeCompanyName)){
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
payCommonProject.setChargeCompanyTemporaryId(chargeCompanyName.getId());
|
||||
payCommonProject.setChargeCompanyTemporaryName(chargeCompanyName.getCompanyName());
|
||||
payCompanyManagementTemporaryService.removeById(payCommonProjectOld.getChargeCompanyTemporaryId());
|
||||
//payCompanyManagementTemporaryService.removeById(payCommonProjectOld.getChargeCompanyTemporaryId());
|
||||
}else{
|
||||
payCommonProject.setChargeCompanyId(payCommonProjectOld.getChargeCompanyId());
|
||||
}
|
||||
@@ -427,13 +445,13 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
// 联系人id != 联系人模板id 变更
|
||||
if(!Objects.equals(payCommonProject.getContactsId(),payCommonProjectOld.getContactsTemporaryId())){
|
||||
// 联系人
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getContactsId());
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getContactsId(), annualDataLocking);
|
||||
if(Objects.isNull(contactsName)){
|
||||
throw new JeroBootException("联系人名称为空!");
|
||||
}
|
||||
payCommonProject.setContactsTemporaryId(contactsName.getId());
|
||||
payCommonProject.setContactsTemporaryName(contactsName.getName());
|
||||
payContactsManagementTemporaryService.removeById(payCommonProjectOld.getContactsTemporaryId());
|
||||
// payContactsManagementTemporaryService.removeById(payCommonProjectOld.getContactsTemporaryId());
|
||||
}else{
|
||||
payCommonProject.setContactsId(payCommonProjectOld.getContactsId());
|
||||
}
|
||||
@@ -441,13 +459,13 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
||||
// 邮寄联系人id != 邮寄联系人模板id 变更
|
||||
if(!Objects.equals(payCommonProject.getMailContactsId(),payCommonProjectOld.getMailContactsTemporaryId())){
|
||||
// 邮寄联系人
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getMailContactsId());
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payCommonProject.getMailContactsId(), annualDataLocking);
|
||||
if(Objects.isNull(mailContactsName)){
|
||||
throw new JeroBootException("邮寄联系人名称为空!");
|
||||
}
|
||||
payCommonProject.setMailContactsTemporaryId(mailContactsName.getId());
|
||||
payCommonProject.setMailContactsTemporaryName(mailContactsName.getName());
|
||||
payContactsManagementTemporaryService.removeById(payCommonProjectOld.getMailContactsTemporaryId());
|
||||
// payContactsManagementTemporaryService.removeById(payCommonProjectOld.getMailContactsTemporaryId());
|
||||
}else{
|
||||
payCommonProject.setMailContactsId(payCommonProjectOld.getMailContactsId());
|
||||
}
|
||||
|
||||
+275
-14
@@ -15,23 +15,25 @@ import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.ContractCreateProjectSendMessageService;
|
||||
import com.jero.common.service.RolePermissionService;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.config.StaticConfig;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.mail.commont.constant;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.service.IPayMeetingService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.*;
|
||||
import com.jero.project.mapper.PayWorkingGroupMapper;
|
||||
import com.jero.project.mapper.PayWorkingGroupSubItemContactsMapper;
|
||||
import com.jero.project.service.IPayResearchProjectService;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.project.service.*;
|
||||
import com.jero.project.vo.PayWorkingGroupVO;
|
||||
import com.jero.statistics.entity.*;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
@@ -43,16 +45,21 @@ import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
|
||||
/**
|
||||
@@ -89,6 +96,14 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
private PayWorkingGroupSubItemContactsMapper payWorkingGroupSubItemContactsMapper;
|
||||
@Resource
|
||||
private IPayMeetingService payMeetingService;
|
||||
@Resource
|
||||
private IPayWorkingGroupDataFileService payWorkingGroupDataFileService;
|
||||
@Resource
|
||||
private IOSSFileService iossFileService;
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
@Value("${jero.path.upload}")
|
||||
private String upLoadPath;
|
||||
|
||||
@Override
|
||||
public IPage<PayWorkingGroupVO> queryPageList(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup) {
|
||||
@@ -116,7 +131,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
!Objects.equals(payWorkingGroupOld.getPrincipalIdB(),sysUser.getId())){
|
||||
throw new JeroBootException(payWorkingGroupOld.getWorkingGroupProject() + "工作组项目不可操作!");
|
||||
}
|
||||
|
||||
String year = payWorkingGroupOld.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayWorkingGroupSubItem::getWorkingGroupId,id);
|
||||
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query);
|
||||
@@ -154,6 +171,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
!Objects.equals(payWorkingGroupOld.getPrincipalIdB(),sysUser.getId())){
|
||||
sb.append(payWorkingGroupOld.getWorkingGroupProject() + "工作组项目不可操作!<br/>");
|
||||
}
|
||||
String year = payWorkingGroupOld.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayWorkingGroupSubItem::getWorkingGroupId, p);
|
||||
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query);
|
||||
@@ -232,6 +252,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
|
||||
payWorkingGroupOld.setId(null);
|
||||
payWorkingGroupOld.setWorkingGroupProject(str);
|
||||
payWorkingGroupOld.setYear(String.valueOf(DateUtil.thisYear()));
|
||||
payWorkingGroupOld.setChargeA(null);
|
||||
payWorkingGroupOld.setChargeNoticeNoA(null);
|
||||
payWorkingGroupOld.setChargeNoticeAId(null);
|
||||
@@ -274,7 +295,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
// 添加企业临时数据
|
||||
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(p.getChargeCompanyTemporaryId());
|
||||
if(Objects.isNull(payCompanyManagementTemporary)){
|
||||
payCompanyManagementTemporary = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(p.getChargeCompanyId());
|
||||
payCompanyManagementTemporary = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(p.getChargeCompanyId(), null);
|
||||
}else{
|
||||
payCompanyManagementTemporary.setCompanyId(payCompanyManagementTemporary.getCompanyId());
|
||||
payCompanyManagementTemporary.setId(null);
|
||||
@@ -287,7 +308,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
// 添加邮寄联系人临时数据
|
||||
PayContactsManagementTemporary payContactsManagementTemporaryMail = payContactsManagementTemporaryService.getById(p.getMailContactsId());
|
||||
if(Objects.isNull(payContactsManagementTemporaryMail)){
|
||||
payContactsManagementTemporaryMail = payContactsManagementTemporaryService.insertContactsManagementTemporary(p.getMailContactsId());
|
||||
payContactsManagementTemporaryMail = payContactsManagementTemporaryService.insertContactsManagementTemporary(p.getMailContactsId(), null);
|
||||
} else {
|
||||
payContactsManagementTemporaryMail.setCompanyId(payContactsManagementTemporaryMail.getId());
|
||||
payContactsManagementTemporaryMail.setId(null);
|
||||
@@ -349,7 +370,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
for (PayWorkingGroupSubItemContacts subItemContacts : itemContactsList) {
|
||||
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(subItemContacts.getContactsTemporaryId());
|
||||
if(Objects.isNull(payContactsManagementTemporary)){
|
||||
payContactsManagementTemporary = payContactsManagementTemporaryService.insertContactsManagementTemporary(subItemContacts.getContactsId());
|
||||
payContactsManagementTemporary = payContactsManagementTemporaryService.insertContactsManagementTemporary(subItemContacts.getContactsId(), null);
|
||||
}else{
|
||||
payContactsManagementTemporary.setId(null);
|
||||
payContactsManagementTemporary.setCompanyId(p.getChargeCompanyTemporaryId());
|
||||
@@ -588,6 +609,13 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
public AllMoney queryPageListProjectTotal(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList) {
|
||||
return payWorkingGroupMapper.queryPageListProjectTotal(allProjectStatisticsSearch, idList);
|
||||
}
|
||||
/**
|
||||
* 科室统计excel
|
||||
*/
|
||||
@Override
|
||||
public List<AllProjectStatistics> queryPageListExcelForProject(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList) {
|
||||
return payWorkingGroupMapper.queryPageListExcelForProject(allProjectStatisticsSearch, idList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AllMoney queryPageListForCompany33(CompanyComeMoneySearch companyComeMoneySearch,List<String> idList) {
|
||||
@@ -692,23 +720,37 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
// 预计到账金额
|
||||
List<AllProjectStatistics> listEstimatedArrivalMoney = payWorkingGroupMapper.cumulativeListEstimatedArrivalMoney(allProjectStatisticsSearch.getPaymentYear());
|
||||
List<AllProjectStatistics> list2=getAllProjectMoneyStatistics(allProjectStatisticsSearch,allMoneyList,listConfirmAmount, listBillMoney,listComeAllMoney,listEstimatedArrivalMoney);
|
||||
AllMoney allMoney=payWorkingGroupMapper.queryPageList33(allProjectStatisticsSearch, idList);
|
||||
//AllMoney allMoney=payWorkingGroupMapper.queryPageList33(allProjectStatisticsSearch, idList);
|
||||
|
||||
List<String> comeAllMoneyList=list2.stream().map(AllProjectStatistics::getComeAllMoney).collect(Collectors.toList());
|
||||
List<String> billMoneyList=list2.stream().map(AllProjectStatistics::getBillMoney).collect(Collectors.toList());
|
||||
List<String> confirmMoneyList=list2.stream().map(AllProjectStatistics::getConfirmAmount).collect(Collectors.toList());
|
||||
List<String> allMoneyList1=list2.stream().map(AllProjectStatistics::getComeAllMoney).collect(Collectors.toList());
|
||||
List<String> allMoneyList1=list2.stream().map(AllProjectStatistics::getEstimatedArrivalMoney).collect(Collectors.toList());
|
||||
List<List<String>> list3 = new ArrayList<>();
|
||||
list3.add(0,allMoneyList1);
|
||||
list3.add(1,confirmMoneyList);
|
||||
list3.add(2,billMoneyList);
|
||||
list3.add(3,comeAllMoneyList);
|
||||
|
||||
BigDecimal allMoney = BigDecimal.ZERO;
|
||||
BigDecimal comeAllMoney = BigDecimal.ZERO;
|
||||
BigDecimal billMoney = BigDecimal.ZERO;
|
||||
BigDecimal confirmAmount = BigDecimal.ZERO;
|
||||
for (AllProjectStatistics item : list2) {
|
||||
BigDecimal allMoney1 = new BigDecimal(item.getEstimatedArrivalMoney());
|
||||
allMoney = allMoney.add(allMoney1);
|
||||
BigDecimal comeAllMoney1 = new BigDecimal(item.getComeAllMoney());
|
||||
comeAllMoney = comeAllMoney.add(comeAllMoney1);
|
||||
BigDecimal billMoney1 = new BigDecimal(item.getBillMoney());
|
||||
billMoney = billMoney.add(billMoney1);
|
||||
BigDecimal confirmAmount1 = new BigDecimal(item.getConfirmAmount());
|
||||
confirmAmount = confirmAmount.add(confirmAmount1);
|
||||
};
|
||||
|
||||
AllProjectMoneyExcel comeAllProjectMoney=new AllProjectMoneyExcel("到账金额",allMoney.getComeAllMoney());
|
||||
AllProjectMoneyExcel billAllProjectMoney=new AllProjectMoneyExcel("开票金额",allMoney.getBillMoney());
|
||||
AllProjectMoneyExcel confirmAllProjectMoney=new AllProjectMoneyExcel("确认收入金额",allMoney.getConfirmAmount());
|
||||
AllProjectMoneyExcel allProjectMoney=new AllProjectMoneyExcel("年度待确收金额",allMoney.getAllMoney());
|
||||
AllProjectMoneyExcel comeAllProjectMoney=new AllProjectMoneyExcel("到账金额",comeAllMoney.toString());
|
||||
AllProjectMoneyExcel billAllProjectMoney=new AllProjectMoneyExcel("开票金额",billMoney.toString());
|
||||
AllProjectMoneyExcel confirmAllProjectMoney=new AllProjectMoneyExcel("确认收入金额",confirmAmount.toString());
|
||||
AllProjectMoneyExcel allProjectMoney=new AllProjectMoneyExcel("预估收入金额",allMoney.toString());
|
||||
List<AllProjectMoneyExcel> excelList = new ArrayList<>();
|
||||
excelList.add(0,allProjectMoney);
|
||||
excelList.add(1,confirmAllProjectMoney);
|
||||
@@ -748,6 +790,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
if (Objects.isNull(payWorkingGroup)) {
|
||||
throw new JeroBootException("工作组不存在");
|
||||
}
|
||||
String year = payWorkingGroup.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
// 找到是否付费标识
|
||||
Integer payFlag = payWorkingGroup.getPayFlag();
|
||||
if (Objects.isNull(payFlag)) {
|
||||
@@ -831,5 +876,221 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
||||
return yearMonthList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 全部文件导出
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
*/
|
||||
@Override
|
||||
public void exportAllFile(HttpServletRequest request, HttpServletResponse response, PayWorkingGroup payWorkingGroup) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (StringUtils.isNotBlank(sysUser.getRoleCode())) {
|
||||
List<String> roleCodes = new ArrayList<>(Arrays.asList(sysUser.getRoleCode().split(",")));
|
||||
if (!roleCodes.contains(constant.ADMIN) && !roleCodes.contains(constant.CWRY)) {
|
||||
payWorkingGroup.setPrincipalA(sysUser.getId());
|
||||
payWorkingGroup.setPrincipalB(sysUser.getId());
|
||||
}
|
||||
} else {
|
||||
throw new JeroBootException("登录用户角色为空!");
|
||||
}
|
||||
|
||||
Page<PayWorkingGroupVO> page = new Page<>(-1, -1);
|
||||
String workingGroupProject = payWorkingGroup.getWorkingGroupProject();
|
||||
if (StringUtils.isNotBlank(workingGroupProject)) {
|
||||
payWorkingGroup.setWorkingGroupProject(oConvertUtils.replaceAllPercent(workingGroupProject));
|
||||
}
|
||||
|
||||
List<PayWorkingGroupVO> pageList = payWorkingGroupService.queryPageList(page, payWorkingGroup).getRecords();
|
||||
String selections = request.getParameter("selections");
|
||||
List<String> ids = pageList.stream().map(PayWorkingGroupVO::getId).collect(Collectors.toList());
|
||||
|
||||
if (oConvertUtils.isNotEmpty(selections)) {
|
||||
List<String> selectionList = Arrays.asList(selections.split(","));
|
||||
ids.retainAll(selectionList);
|
||||
}
|
||||
|
||||
if (oConvertUtils.isEmpty(ids)) {
|
||||
throw new JeroBootException("没有工作组文件可以导出!");
|
||||
}
|
||||
|
||||
Set<String> addedEntries = new HashSet<>();
|
||||
|
||||
try (ZipOutputStream zipos = new ZipOutputStream(new BufferedOutputStream(response.getOutputStream()))) {
|
||||
response.reset();
|
||||
response.setCharacterEncoding("utf-8");
|
||||
response.setContentType("application/zip");
|
||||
|
||||
String downloadName = UUID.randomUUID().toString() + ".zip";
|
||||
String agent = request.getHeader("USER-AGENT");
|
||||
if (agent != null) {
|
||||
if (agent.contains("MSIE") || agent.contains("Trident")) {
|
||||
downloadName = java.net.URLEncoder.encode(downloadName, "UTF-8");
|
||||
} else {
|
||||
downloadName = new String(downloadName.getBytes("UTF-8"), "ISO-8859-1");
|
||||
}
|
||||
}
|
||||
response.setHeader("Content-Disposition", "attachment;fileName=\"" + downloadName + "\"");
|
||||
|
||||
for (String projectId : ids) {
|
||||
PayWorkingGroupDataFile payWorkingGroupDataFile = new PayWorkingGroupDataFile();
|
||||
payWorkingGroupDataFile.setProjectId(projectId);
|
||||
payWorkingGroupDataFile.setProjectType(PayProjectCommon.PROJECT_TYPE_FILE1);
|
||||
List<PayWorkingGroupDataFile> fileList = payWorkingGroupDataFileService.queryListExport(payWorkingGroupDataFile);
|
||||
PayWorkingGroup payWorkingGroupDB = payWorkingGroupService.getById(projectId);
|
||||
if (payWorkingGroupDB == null) {
|
||||
throw new JeroBootException("工作组不存在!");
|
||||
}
|
||||
|
||||
String groupName = payWorkingGroupDB.getWorkingGroupProject();
|
||||
String groupFolderPath = "工作组资料/" + groupName + "/";
|
||||
String researchProjectFolderPath = groupFolderPath + "在研项目/";
|
||||
String otherFilesFolderPath = groupFolderPath + "其他分发资料/";
|
||||
String chargeNoticeFolderPath = groupFolderPath + "收费通知/";
|
||||
|
||||
createEntry(zipos, groupFolderPath, addedEntries);
|
||||
createEntry(zipos, researchProjectFolderPath, addedEntries);
|
||||
createEntry(zipos, otherFilesFolderPath, addedEntries);
|
||||
createEntry(zipos, chargeNoticeFolderPath, addedEntries);
|
||||
|
||||
addFileToZip(payWorkingGroupDB.getChargeNoticeAId(), zipos, chargeNoticeFolderPath, addedEntries);
|
||||
addFileToZip(payWorkingGroupDB.getChargeNoticeBId(), zipos, chargeNoticeFolderPath, addedEntries);
|
||||
|
||||
LambdaQueryWrapper<PayResearchProject> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PayResearchProject::getWorkingGroupId, projectId);
|
||||
List<PayResearchProject> payResearchProjectList = payResearchProjectService.list(queryWrapper);
|
||||
for (PayResearchProject payResearchProject : payResearchProjectList) {
|
||||
String projectName = payResearchProject.getProjectName();
|
||||
String projectFolderPath = researchProjectFolderPath + projectName + "/";
|
||||
|
||||
createEntry(zipos, projectFolderPath, addedEntries);
|
||||
|
||||
List<String> researchProjectFileIds = new ArrayList<>();
|
||||
if (!StringUtils.isEmpty(payResearchProject.getFiles())) {
|
||||
researchProjectFileIds.addAll(Arrays.asList(payResearchProject.getFiles().split(",")));
|
||||
}
|
||||
|
||||
for (String fileId : researchProjectFileIds) {
|
||||
addFileToZip(fileId.trim(), zipos, projectFolderPath, addedEntries);
|
||||
}
|
||||
}
|
||||
|
||||
for (PayWorkingGroupDataFile dataFile : fileList) {
|
||||
addFileToZip(dataFile.getFileId(), zipos, otherFilesFolderPath, addedEntries);
|
||||
}
|
||||
}
|
||||
|
||||
for (String projectId : ids) {
|
||||
LambdaQueryWrapper<PayMeeting> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(PayMeeting::getWorkingGroupId, projectId);
|
||||
lambdaQueryWrapper.eq(PayMeeting::getMeetingType, MeetingCommon.WORKING_GROUP_MEETING_INT);
|
||||
List<PayMeeting> list = payMeetingService.list(lambdaQueryWrapper);
|
||||
for (PayMeeting payMeeting : list) {
|
||||
String meetingName = payMeeting.getMeetingName();
|
||||
String meetingFolderPath = "会议资料/" + meetingName + "/";
|
||||
String meetingMinutesFolderPath = meetingFolderPath + "会议纪要/";
|
||||
String meetingDataFolderPath = meetingFolderPath + "上传文件/";
|
||||
String meetingNoticeFilesPath = meetingFolderPath + "会议通知/";
|
||||
|
||||
createEntry(zipos, meetingFolderPath, addedEntries);
|
||||
createEntry(zipos, meetingMinutesFolderPath, addedEntries);
|
||||
createEntry(zipos, meetingDataFolderPath, addedEntries);
|
||||
createEntry(zipos, meetingNoticeFilesPath, addedEntries);
|
||||
|
||||
List<String> fileIds = new ArrayList<>();
|
||||
if (!StringUtils.isEmpty(payMeeting.getMeetingMinute())) {
|
||||
fileIds.addAll(Arrays.asList(payMeeting.getMeetingMinute().split(",")));
|
||||
}
|
||||
if (!StringUtils.isEmpty(payMeeting.getMeetingData())) {
|
||||
fileIds.addAll(Arrays.asList(payMeeting.getMeetingData().split(",")));
|
||||
}
|
||||
if (!StringUtils.isEmpty(payMeeting.getMeetingFiles())) {
|
||||
fileIds.addAll(Arrays.asList(payMeeting.getMeetingFiles().split(",")));
|
||||
}
|
||||
|
||||
for (String fileId : fileIds) {
|
||||
OSSFile ossFile = iossFileService.getById(fileId.trim());
|
||||
if (ossFile == null) {
|
||||
continue;
|
||||
}
|
||||
File file = new File(upLoadPath + File.separator + ossFile.getUrl());
|
||||
if (!file.exists()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
String entryPath;
|
||||
if (payMeeting.getMeetingMinute() != null && Arrays.asList(payMeeting.getMeetingMinute().split(",")).contains(fileId)) {
|
||||
entryPath = meetingMinutesFolderPath + ossFile.getFileName();
|
||||
} else if (payMeeting.getMeetingData() != null && Arrays.asList(payMeeting.getMeetingData().split(",")).contains(fileId)){
|
||||
entryPath = meetingDataFolderPath + ossFile.getFileName();
|
||||
} else {
|
||||
entryPath = meetingNoticeFilesPath + ossFile.getFileName();
|
||||
}
|
||||
|
||||
if (addedEntries.contains(entryPath)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
zipos.putNextEntry(new ZipEntry(entryPath));
|
||||
try (InputStream is = new FileInputStream(file)) {
|
||||
byte[] b = new byte[1024];
|
||||
int length;
|
||||
while ((length = is.read(b)) != -1) {
|
||||
zipos.write(b, 0, length);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
zipos.closeEntry();
|
||||
addedEntries.add(entryPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
zipos.flush();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CompanyComeMoneyClassificationList> queryPageListForCompanyClassification(CompanyComeMoneySearch companyComeMoneySearch) {
|
||||
return payWorkingGroupMapper.queryPageListForCompanyClassification(companyComeMoneySearch);
|
||||
}
|
||||
|
||||
private void createEntry(ZipOutputStream zipos, String folderPath, Set<String> addedEntries) throws IOException {
|
||||
if (!addedEntries.contains(folderPath)) {
|
||||
zipos.putNextEntry(new ZipEntry(folderPath));
|
||||
zipos.closeEntry();
|
||||
addedEntries.add(folderPath);
|
||||
}
|
||||
}
|
||||
|
||||
private void addFileToZip(String fileId, ZipOutputStream zipos, String folderPath, Set<String> addedEntries) throws IOException {
|
||||
OSSFile ossFile = iossFileService.getById(fileId);
|
||||
if (ossFile == null) {
|
||||
return;
|
||||
}
|
||||
File file = new File(upLoadPath + File.separator + ossFile.getUrl());
|
||||
if (!file.exists()) {
|
||||
return;
|
||||
}
|
||||
String entryPath = folderPath + ossFile.getFileName();
|
||||
if (addedEntries.contains(entryPath)) {
|
||||
return;
|
||||
}
|
||||
|
||||
zipos.putNextEntry(new ZipEntry(entryPath));
|
||||
try (InputStream is = new FileInputStream(file)) {
|
||||
byte[] b = new byte[1024];
|
||||
int length;
|
||||
while ((length = is.read(b)) != -1) {
|
||||
zipos.write(b, 0, length);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
zipos.closeEntry();
|
||||
addedEntries.add(entryPath);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+72
-36
@@ -33,7 +33,6 @@ import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.mail.service.IPayMailBillService;
|
||||
import com.jero.meeting.entity.PayMeetingRemindRecord;
|
||||
import com.jero.meeting.service.IPayMeetingRemindRecordService;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
@@ -45,10 +44,7 @@ import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.*;
|
||||
import com.jero.project.mapper.PayWorkingGroupSubItemContactsMapper;
|
||||
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
|
||||
import com.jero.project.service.IPayCommonProjectService;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.project.service.*;
|
||||
import com.jero.project.vo.SetChargeInput;
|
||||
import com.jero.project.vo.SetLabelVO;
|
||||
import com.jero.statistics.entity.AllMoney;
|
||||
@@ -137,6 +133,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
IPayCommonProjectService payCommonProjectService;
|
||||
@Resource
|
||||
private PayContactsManagementMapper payContactsManagementMapper;
|
||||
@Resource
|
||||
private AnnualDataLockingService annualDataLockingService;
|
||||
|
||||
private static final String DATE_FORMAT = "yyyy-MM-dd";
|
||||
|
||||
@@ -168,6 +166,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
List<PayWorkingGroupSubItemContacts> pwg = payWorkingGroupSubItemContactsList.stream().filter(p -> Objects.equals(p.getWorkingGroupSubId(), workingGroupSubItem.getId())).collect(Collectors.toList());
|
||||
if (!CollectionUtils.isEmpty(pwg)) {
|
||||
pwg.sort(Comparator.comparing(PayWorkingGroupSubItemContacts::getOrderNum));
|
||||
workingGroupSubItem.setContactsIdOne(pwg.get(0).getContactsId());
|
||||
workingGroupSubItem.setContactsTemporaryIdOne(pwg.get(0).getContactsTemporaryId());
|
||||
workingGroupSubItem.setContactsTemporaryNameOne(pwg.get(0).getContactsTemporaryName());
|
||||
workingGroupSubItem.setPayWorkingGroupSubItemContactsList(pwg);
|
||||
} else {
|
||||
@@ -216,7 +216,9 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
if (Objects.isNull(payWorkingGroup)) {
|
||||
throw new JeroBootException("工作组不存在!");
|
||||
}
|
||||
|
||||
String year = payWorkingGroup.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
try {
|
||||
// 编辑保存前再次校验来款项目是否存在
|
||||
LambdaQueryWrapper<PayWorkingGroupSubItem> queryWrapper = new LambdaQueryWrapper<>();
|
||||
@@ -234,13 +236,15 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
if (!Objects.isNull(payWorkingGroupSubItem.getReceivableAmount()) && payWorkingGroupSubItem.getReceivableAmount().compareTo(new BigDecimal("0")) > 0) {
|
||||
payWorkingGroupSubItem.setPaymentStatus(PayProjectCommon.PAYMENT_STATUS);
|
||||
}
|
||||
setPayWorkingGroupSubItemAdd(payWorkingGroupSubItem);
|
||||
setPayWorkingGroupSubItemAdd(payWorkingGroupSubItem, annualDataLocking);
|
||||
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING0);
|
||||
payWorkingGroupSubItem.setInAccount(PayProjectCommon.IN_ACCOUNT0);
|
||||
payWorkingGroupSubItem.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0);
|
||||
payWorkingGroupSubItem.setMail(PayProjectCommon.MAIL0);
|
||||
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
|
||||
payWorkingGroupSubItem.setAffirmIncome(PayProjectCommon.AFFIRM_INCOME0);
|
||||
payWorkingGroupSubItem.setCheckPaymentStatus(PayProjectCommon.NOT_CHECK_PAY_MENT);
|
||||
payWorkingGroupSubItem.setConfirmVoucher(PayProjectCommon.NOT_CONFIRM_VOUCHER);
|
||||
payWorkingGroupSubItemService.save(payWorkingGroupSubItem);
|
||||
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContactsNew = payWorkingGroupSubItem.getPayWorkingGroupSubItemContactsList();
|
||||
// 添加联系人表
|
||||
@@ -336,6 +340,9 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
&& !Objects.equals(payWorkingGroup.getPrincipalIdB(), sysUser.getId())) {
|
||||
throw new JeroBootException("工作组成员不可操作!");
|
||||
}
|
||||
String year = payWorkingGroup.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
// 项目为打包状态 || 到账!=0 || 开票!=0 || 邮寄!=0
|
||||
if (!Objects.equals(payWorkingGroupSubItem.getChargeCompanyId(), payWorkingGroupSubItemOld.getChargeCompanyId())
|
||||
&& (Objects.equals(payWorkingGroupSubItem.getPack(), PayProjectCommon.PACKAGING1)
|
||||
@@ -414,7 +421,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
if (!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)) {
|
||||
payWorkingGroupSubItemOld.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
|
||||
}
|
||||
setPayWorkingGroupSubItemEdit(payWorkingGroupSubItem, payWorkingGroupSubItemOld);
|
||||
setPayWorkingGroupSubItemEdit(payWorkingGroupSubItem, payWorkingGroupSubItemOld, annualDataLocking);
|
||||
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContactsNew = payWorkingGroupSubItem.getPayWorkingGroupSubItemContactsList();
|
||||
// 添加联系人表
|
||||
if (!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContactsNew)) {
|
||||
@@ -439,17 +446,19 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
payWorkingGroupSubItem.setMail(projectStatusVO.getMail());
|
||||
}
|
||||
}
|
||||
String paymentStatus = payPaymentCheckService.getPaymentStatus(payWorkingGroupSubItem.getReceivableAmount(), payWorkingGroupSubItemOld.getPaidAmount(), payWorkingGroupSubItemOld.getPaymentStatus());
|
||||
String paymentStatus = payPaymentCheckService.getPaymentStatus(payWorkingGroupSubItem.getReceivableAmount(), payWorkingGroupSubItemOld.getPaidAmount(), payWorkingGroupSubItemOld.getPaymentStatus(), false);
|
||||
payWorkingGroupSubItem.setPaymentStatus(paymentStatus);
|
||||
payWorkingGroupSubItem.setInAccount(null);
|
||||
payWorkingGroupSubItem.setPaidAmount(null);
|
||||
|
||||
BigDecimal taxRate = payWorkingGroupSubItem.getTaxRate();
|
||||
BigDecimal receivableAmount = payWorkingGroupSubItem.getReceivableAmount();
|
||||
BigDecimal noTaxAmount = receivableAmount.divide(taxRate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP);
|
||||
BigDecimal tax = receivableAmount.subtract(noTaxAmount);
|
||||
payWorkingGroupSubItem.setNoTaxAmount(noTaxAmount);
|
||||
payWorkingGroupSubItem.setTax(tax);
|
||||
if (!Objects.isNull(taxRate)) {
|
||||
BigDecimal noTaxAmount = receivableAmount.divide(taxRate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP);
|
||||
BigDecimal tax = receivableAmount.subtract(noTaxAmount);
|
||||
payWorkingGroupSubItem.setNoTaxAmount(noTaxAmount);
|
||||
payWorkingGroupSubItem.setTax(tax);
|
||||
}
|
||||
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId, workingGroupSubItemId);
|
||||
@@ -587,7 +596,9 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
if (!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)) {
|
||||
payWorkingGroupSubItemOld.setPayWorkingGroupSubItemContactsList(listPayWorkingGroupSubItemContacts);
|
||||
}
|
||||
setPayWorkingGroupSubItemEdit(payWorkingGroupSubItem, payWorkingGroupSubItemOld);
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(payWorkingGroup.getYear());
|
||||
setPayWorkingGroupSubItemEdit(payWorkingGroupSubItem, payWorkingGroupSubItemOld, annualDataLocking);
|
||||
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContactsNew = payWorkingGroupSubItem.getPayWorkingGroupSubItemContactsList();
|
||||
// 添加联系人表
|
||||
if (!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContactsNew)) {
|
||||
@@ -612,7 +623,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
payWorkingGroupSubItem.setMail(projectStatusVO.getMail());
|
||||
}
|
||||
}
|
||||
String paymentStatus = payPaymentCheckService.getPaymentStatus(payWorkingGroupSubItem.getReceivableAmount(), payWorkingGroupSubItemOld.getPaidAmount(), payWorkingGroupSubItemOld.getPaymentStatus());
|
||||
String paymentStatus = payPaymentCheckService.getPaymentStatus(payWorkingGroupSubItem.getReceivableAmount(), payWorkingGroupSubItemOld.getPaidAmount(), payWorkingGroupSubItemOld.getPaymentStatus(), false);
|
||||
payWorkingGroupSubItem.setPaymentStatus(paymentStatus);
|
||||
payWorkingGroupSubItem.setInAccount(null);
|
||||
payWorkingGroupSubItem.setPaidAmount(null);
|
||||
@@ -664,6 +675,15 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
if (StringUtils.isBlank(workGroupId)) {
|
||||
throw new JeroBootException("工作组id不能为空 !");
|
||||
}
|
||||
// 获取工作组信息
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(workGroupId);
|
||||
if (Objects.isNull(payWorkingGroup)) {
|
||||
throw new JeroBootException("工作组不存在 !");
|
||||
}
|
||||
String year = payWorkingGroup.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
|
||||
StringBuilder msg = new StringBuilder();
|
||||
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
||||
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
||||
@@ -763,11 +783,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
// if(CollectionUtils.isEmpty(listContactsInfo)){
|
||||
// msg.append("excel中联系人不存在 !");
|
||||
// }
|
||||
// 获取工作组信息
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(workGroupId);
|
||||
if (Objects.isNull(payWorkingGroup)) {
|
||||
msg.append("工作组不存在 !");
|
||||
}
|
||||
|
||||
if (StringUtils.isBlank(msg)) {
|
||||
|
||||
// 校验预估到账日期
|
||||
@@ -782,7 +798,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
msg.append("第").append(list.indexOf(p) + 3).append("行预估到账日期不能为空,请修改。<br/>");
|
||||
} else {
|
||||
try {
|
||||
LocalDate.parse(estimatedArrivalDate, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
p.setEstimatedArrivalDate(estimatedArrivalDate + "-01");
|
||||
LocalDate.parse(estimatedArrivalDate + "-01", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||
} catch (Exception e) {
|
||||
msg.append("第").append(list.indexOf(p) + 3).append("行预估到账日期格式不正确,请修改。<br/>");
|
||||
}
|
||||
@@ -893,8 +910,11 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
}
|
||||
});
|
||||
if (StringUtils.isBlank(msg)) {
|
||||
|
||||
// 拷贝企业,联系人
|
||||
list.forEach(this::setPayWorkingGroupSubItemAdd);
|
||||
for (PayWorkingGroupSubItem payWorkingGroupSubItem : list) {
|
||||
setPayWorkingGroupSubItemAdd(payWorkingGroupSubItem, annualDataLocking);
|
||||
}
|
||||
// 更新数据
|
||||
payWorkingGroupSubItemService.saveBatch(list);
|
||||
list.forEach(p -> {
|
||||
@@ -1157,7 +1177,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getMail, projectStatusVO.getMail());
|
||||
}
|
||||
}
|
||||
String paymentStatus = payPaymentCheckService.getPaymentStatus(input.getReceivableAmount(), p.getPaidAmount(), p.getPaymentStatus());
|
||||
String paymentStatus = payPaymentCheckService.getPaymentStatus(input.getReceivableAmount(), p.getPaidAmount(), p.getPaymentStatus(), false);
|
||||
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getPaymentStatus, paymentStatus);
|
||||
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId, p.getId());
|
||||
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeWay, PayProjectCommon.CHARGE_WAY3);
|
||||
@@ -1376,6 +1396,9 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
&& !Objects.equals(payWorkingGroup.getPrincipalIdB(), sysUser.getId())) {
|
||||
throw new JeroBootException("工作组成员不可操作!");
|
||||
}
|
||||
String year = payWorkingGroup.getYear();
|
||||
//判断用户是否能操作所选年份数据
|
||||
AnnualDataLocking annualDataLocking = annualDataLockingService.judgeUserYear(year);
|
||||
// 校验项目是否已关联合同 抛异常
|
||||
payIncomeContractService.getPayIncomeContractAssociated(Collections.singletonList(payWorkingGroupSubItem.getId()));
|
||||
// 如果已打报,同步删除打包关联
|
||||
@@ -1383,10 +1406,10 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
update.eq(PayPackCompanyProject::getProjectId, payWorkingGroupSubItem.getId());
|
||||
payPackCompanyProjectService.remove(update);
|
||||
// 删除企业联系人临时数据
|
||||
payCompanyManagementTemporaryService.removeById(payWorkingGroupSubItem.getChargeCompanyTemporaryId());
|
||||
//payCompanyManagementTemporaryService.removeById(payWorkingGroupSubItem.getChargeCompanyTemporaryId());
|
||||
List<PayWorkingGroupSubItemContacts> subItemContacts = payWorkingGroupSubItemContactsMapper.getSubItemContacts(id);
|
||||
List<String> temporaryIds = subItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
|
||||
payContactsManagementTemporaryService.removeByIds(temporaryIds);
|
||||
// paycontactsManagementTemporaryService.removeByIds(temporaryIds);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1397,9 +1420,9 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private void setPayWorkingGroupSubItemAdd(PayWorkingGroupSubItem payWorkingGroupSubItem) {
|
||||
private void setPayWorkingGroupSubItemAdd(PayWorkingGroupSubItem payWorkingGroupSubItem, AnnualDataLocking annualDataLocking) {
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payWorkingGroupSubItem.getChargeCompanyId());
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payWorkingGroupSubItem.getChargeCompanyId(), annualDataLocking);
|
||||
if (Objects.isNull(chargeCompanyName)) {
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
@@ -1409,7 +1432,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
if (!CollectionUtils.isEmpty(payWorkingGroupSubItemContactsList)) {
|
||||
for (int i = 0; i < payWorkingGroupSubItemContactsList.size(); i++) {
|
||||
// 企业联系人
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItemContactsList.get(i).getContactsId());
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItemContactsList.get(i).getContactsId(), annualDataLocking);
|
||||
if (Objects.isNull(contactsName)) {
|
||||
throw new JeroBootException("企业联系人" + (i + 1) + "名称为空!");
|
||||
}
|
||||
@@ -1418,7 +1441,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
}
|
||||
}
|
||||
// 邮寄联系人
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getMailContactsId());
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getMailContactsId(), annualDataLocking);
|
||||
if (Objects.isNull(mailContactsName)) {
|
||||
throw new JeroBootException("邮寄联系人名称为空!");
|
||||
}
|
||||
@@ -1434,16 +1457,16 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
private void setPayWorkingGroupSubItemEdit(PayWorkingGroupSubItem payWorkingGroupSubItem, PayWorkingGroupSubItem payWorkingGroupSubItemOld) {
|
||||
private void setPayWorkingGroupSubItemEdit(PayWorkingGroupSubItem payWorkingGroupSubItem, PayWorkingGroupSubItem payWorkingGroupSubItemOld, AnnualDataLocking annualDataLocking) {
|
||||
if (!Objects.equals(payWorkingGroupSubItemOld.getChargeCompanyTemporaryId(), payWorkingGroupSubItem.getChargeCompanyId())) {
|
||||
// 企业
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payWorkingGroupSubItem.getChargeCompanyId());
|
||||
PayCompanyManagementTemporary chargeCompanyName = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(payWorkingGroupSubItem.getChargeCompanyId(), annualDataLocking);
|
||||
if (Objects.isNull(chargeCompanyName)) {
|
||||
throw new JeroBootException("企业名称为空!");
|
||||
}
|
||||
payWorkingGroupSubItem.setChargeCompanyTemporaryId(chargeCompanyName.getId());
|
||||
payWorkingGroupSubItem.setChargeCompanyTemporaryName(chargeCompanyName.getCompanyName());
|
||||
payCompanyManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getChargeCompanyTemporaryId());
|
||||
//payCompanyManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getChargeCompanyTemporaryId());
|
||||
} else {
|
||||
payWorkingGroupSubItem.setChargeCompanyId(payWorkingGroupSubItemOld.getChargeCompanyId());
|
||||
}
|
||||
@@ -1453,7 +1476,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
// 删除临时表历史记录
|
||||
if (!CollectionUtils.isEmpty(payWorkingGroupSubItemOld.getPayWorkingGroupSubItemContactsList())) {
|
||||
List<String> list = payWorkingGroupSubItemOld.getPayWorkingGroupSubItemContactsList().stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
|
||||
payContactsManagementTemporaryService.removeByIds(list);
|
||||
// paycontactsManagementTemporaryService.removeByIds(list);
|
||||
}
|
||||
// 删除联系人记录
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItemContacts> updatePayWorkingGroupSubItemContacts = new LambdaUpdateWrapper<>();
|
||||
@@ -1462,7 +1485,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
// 新增
|
||||
for (int i = 0; i < payWorkingGroupSubItemContactsList.size(); i++) {
|
||||
// 企业联系人
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItemContactsList.get(i).getContactsId());
|
||||
PayContactsManagementTemporary contactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItemContactsList.get(i).getContactsId(), annualDataLocking);
|
||||
if (Objects.isNull(contactsName)) {
|
||||
throw new JeroBootException("企业联系人" + (i + 1) + "名称为空!");
|
||||
}
|
||||
@@ -1472,15 +1495,28 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
||||
}
|
||||
if (!Objects.equals(payWorkingGroupSubItemOld.getMailContactsTemporaryId(), payWorkingGroupSubItem.getMailContactsId())) {
|
||||
// 邮寄联系人
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getMailContactsId());
|
||||
PayContactsManagementTemporary mailContactsName = payContactsManagementTemporaryService.insertContactsManagementTemporary(payWorkingGroupSubItem.getMailContactsId(), annualDataLocking);
|
||||
if (Objects.isNull(mailContactsName)) {
|
||||
throw new JeroBootException("邮寄联系人名称为空!");
|
||||
}
|
||||
payWorkingGroupSubItem.setMailContactsTemporaryId(mailContactsName.getId());
|
||||
payWorkingGroupSubItem.setMailContactsTemporaryName(mailContactsName.getName());
|
||||
payContactsManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getMailContactsTemporaryId());
|
||||
// payContactsManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getMailContactsTemporaryId());
|
||||
} else {
|
||||
payWorkingGroupSubItem.setMailContactsId(payWorkingGroupSubItemOld.getMailContactsId());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 确认凭证
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
@Override
|
||||
public void confirmVoucher(String id) {
|
||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(PayWorkingGroupSubItem::getId, id);
|
||||
updateWrapper.set(PayWorkingGroupSubItem::getConfirmVoucher, PayProjectCommon.IS_CONFIRM_VOUCHER);
|
||||
payWorkingGroupSubItemMapper.update(null, updateWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -74,7 +74,7 @@ public class AllProjectMoneyStatisticsController {
|
||||
BigDecimal billMoney = BigDecimal.ZERO;
|
||||
BigDecimal confirmAmount = BigDecimal.ZERO;
|
||||
for (AllProjectStatistics item : list) {
|
||||
BigDecimal allMoney1 = new BigDecimal(item.getAllMoney());
|
||||
BigDecimal allMoney1 = new BigDecimal(item.getEstimatedArrivalMoney());
|
||||
allMoney = allMoney.add(allMoney1);
|
||||
BigDecimal comeAllMoney1 = new BigDecimal(item.getComeAllMoney());
|
||||
comeAllMoney = comeAllMoney.add(comeAllMoney1);
|
||||
@@ -105,6 +105,6 @@ public class AllProjectMoneyStatisticsController {
|
||||
public ModelAndView excel(AllProjectStatisticsSearch allProjectStatisticsSearch,
|
||||
@RequestParam(name = "selections", required = false) String selections) {
|
||||
List<AllProjectMoneyExcel> list = payWorkingGroupService.queryListAllProjectMoneyExcel(allProjectStatisticsSearch, null);
|
||||
return AmountUtil.exportListXls(list, AllProjectMoneyExcel.class, "收入统计");
|
||||
return AmountUtil.exportListXls(list, AllProjectMoneyExcel.class, "全所收入统计");
|
||||
}
|
||||
}
|
||||
|
||||
+72
-27
@@ -6,12 +6,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.mail.commont.constant;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.mapper.SysUserMapper;
|
||||
import com.jero.modules.system.model.SysUserSysDepartModel;
|
||||
import com.jero.modules.system.service.ISysDepartService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
@@ -21,6 +23,7 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -82,10 +85,10 @@ public class AllProjectStatisticsController {
|
||||
//处理为空数据为0
|
||||
for (AllProjectStatistics s : pageList.getRecords()) {
|
||||
if (s.getAllMoney() == null || s.getAllMoney().equals("")) {
|
||||
s.setAllMoney("0.00");
|
||||
s.setAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
if (s.getComeAllMoney() == null || s.getComeAllMoney().equals("")) {
|
||||
s.setComeAllMoney("0.00");
|
||||
s.setComeAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -151,10 +154,10 @@ public class AllProjectStatisticsController {
|
||||
//处理为空数据为0
|
||||
for (AllProjectStatistics s : pageList.getRecords()) {
|
||||
if (s.getAllMoney() == null || s.getAllMoney().equals("")) {
|
||||
s.setAllMoney("0.00");
|
||||
s.setAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
if (s.getComeAllMoney() == null || s.getComeAllMoney().equals("")) {
|
||||
s.setComeAllMoney("0.00");
|
||||
s.setComeAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -170,12 +173,12 @@ public class AllProjectStatisticsController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 所领导统计导出
|
||||
* 全所统计导出
|
||||
*/
|
||||
@RequiresPermissions("wholeInstituteStatistics:export")
|
||||
@AutoLog(value = "全所统计导出-导出统计")
|
||||
@AutoLog(value = "全所统计-导出统计")
|
||||
@GetMapping(value = "/statistics/excel")
|
||||
@ApiOperation(value = "全所统计导出-导出统计", notes = "全所统计导出-导出统计")
|
||||
@ApiOperation(value = "全所统计-导出统计", notes = "全所统计导出-导出统计")
|
||||
public ModelAndView excel(AllProjectStatisticsSearch allProjectStatisticsSearch,
|
||||
@RequestParam(name = "selections", required = false) String selections) {
|
||||
allProjectStatisticsSearch.setProjectName(oConvertUtils.replaceAllPercent(allProjectStatisticsSearch.getProjectName()));
|
||||
@@ -193,16 +196,26 @@ public class AllProjectStatisticsController {
|
||||
String payment_charge_use = sysBaseAPI.translateDict("payment_charge_use", key);
|
||||
s.setChargeUse_text(payment_charge_use);
|
||||
//处理为空数据为0
|
||||
if (s.getAllMoney() == null || s.getAllMoney().equals("")) {
|
||||
s.setAllMoney("0.00");
|
||||
String allMoney = s.getAllMoney();
|
||||
if (StringUtils.isBlank(allMoney)) {
|
||||
s.setAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
if (s.getComeAllMoney() == null || s.getComeAllMoney().equals("")) {
|
||||
s.setComeAllMoney("0.00");
|
||||
String comeAllMoney = s.getComeAllMoney();
|
||||
if (StringUtils.isBlank(comeAllMoney)) {
|
||||
s.setComeAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
String confirmAmount = s.getConfirmAmount();
|
||||
if (StringUtils.isBlank(confirmAmount)) {
|
||||
s.setConfirmAmount(CommonConstant.ZERO);
|
||||
}
|
||||
String billMoney = s.getBillMoney();
|
||||
if (StringUtils.isBlank(billMoney)) {
|
||||
s.setBillMoney(CommonConstant.ZERO);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return AmountUtil.exportListXls(pageList, AllProjectStatistics.class, "所领导统计");
|
||||
return AmountUtil.exportListXls(pageList, AllProjectStatistics.class, "全所统计");
|
||||
|
||||
}
|
||||
|
||||
@@ -239,18 +252,28 @@ public class AllProjectStatisticsController {
|
||||
return AmountUtil.exportListXls(objects, AllProjectStatistics.class, "科室统计");
|
||||
}
|
||||
|
||||
List<AllProjectStatistics> pageList = payWorkingGroupService.queryPageListExcel(allProjectStatisticsSearch, idList);
|
||||
List<AllProjectStatistics> pageList = payWorkingGroupService.queryPageListExcelForProject(allProjectStatisticsSearch, idList);
|
||||
if (pageList != null) {
|
||||
for (AllProjectStatistics s : pageList) {
|
||||
String key = String.valueOf(s.getChargeUse());
|
||||
String payment_charge_use = sysBaseAPI.translateDict("payment_charge_use", key);
|
||||
s.setChargeUse_text(payment_charge_use);
|
||||
//处理为空数据为0
|
||||
if (s.getAllMoney() == null || s.getAllMoney().equals("")) {
|
||||
s.setAllMoney("0.00");
|
||||
String allMoney = s.getAllMoney();
|
||||
if (StringUtils.isBlank(allMoney)) {
|
||||
s.setAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
if (s.getComeAllMoney() == null || s.getComeAllMoney().equals("")) {
|
||||
s.setComeAllMoney("0.00");
|
||||
String comeAllMoney = s.getComeAllMoney();
|
||||
if (StringUtils.isBlank(comeAllMoney)) {
|
||||
s.setComeAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
String confirmAmount = s.getConfirmAmount();
|
||||
if (StringUtils.isBlank(confirmAmount)) {
|
||||
s.setConfirmAmount(CommonConstant.ZERO);
|
||||
}
|
||||
String billMoney = s.getBillMoney();
|
||||
if (StringUtils.isBlank(billMoney)) {
|
||||
s.setBillMoney(CommonConstant.ZERO);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -264,8 +287,8 @@ public class AllProjectStatisticsController {
|
||||
queryWrapper.eq("org_code", departCode);
|
||||
queryWrapper.eq("del_flag", 0);
|
||||
queryWrapper.eq("status", 1);
|
||||
List<SysUser> pageList = sysUserService.list(queryWrapper);
|
||||
return Result.OK(pageList);
|
||||
List<SysUser> sysUserSysDepartModels = sysUserService.listUserByOrgCode(departCode);
|
||||
return Result.OK(sysUserSysDepartModels);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -304,11 +327,22 @@ public class AllProjectStatisticsController {
|
||||
HashMap<String, Object> hashMap = new HashMap<>();
|
||||
//处理为空数据为0
|
||||
for (DepartStatistics s : pageList.getRecords()) {
|
||||
if (s.getAllMoney() == null || s.getAllMoney().equals("")) {
|
||||
s.setAllMoney("0.00");
|
||||
//处理为空数据为0
|
||||
String allMoney = s.getAllMoney();
|
||||
if (StringUtils.isBlank(allMoney)) {
|
||||
s.setAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
if (s.getComeAllMoney() == null || s.getComeAllMoney().equals("")) {
|
||||
s.setComeAllMoney("0.00");
|
||||
String comeAllMoney = s.getComeAllMoney();
|
||||
if (StringUtils.isBlank(comeAllMoney)) {
|
||||
s.setComeAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
String confirmAmount = s.getConfirmAmount();
|
||||
if (StringUtils.isBlank(confirmAmount)) {
|
||||
s.setConfirmAmount(CommonConstant.ZERO);
|
||||
}
|
||||
String billMoney = s.getBillMoney();
|
||||
if (StringUtils.isBlank(billMoney)) {
|
||||
s.setBillMoney(CommonConstant.ZERO);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -353,11 +387,22 @@ public class AllProjectStatisticsController {
|
||||
List<DepartStatistics> list = payWorkingGroupService.queryPageListDepartmentExcel(departStatisticsSearch, idList);
|
||||
//处理为空数据为0
|
||||
for (DepartStatistics s : list) {
|
||||
if (s.getAllMoney() == null || s.getAllMoney().equals("")) {
|
||||
s.setAllMoney("0.00");
|
||||
//处理为空数据为0
|
||||
String allMoney = s.getAllMoney();
|
||||
if (StringUtils.isBlank(allMoney)) {
|
||||
s.setAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
if (s.getComeAllMoney() == null || s.getComeAllMoney().equals("")) {
|
||||
s.setComeAllMoney("0.00");
|
||||
String comeAllMoney = s.getComeAllMoney();
|
||||
if (StringUtils.isBlank(comeAllMoney)) {
|
||||
s.setComeAllMoney(CommonConstant.ZERO);
|
||||
}
|
||||
String confirmAmount = s.getConfirmAmount();
|
||||
if (StringUtils.isBlank(confirmAmount)) {
|
||||
s.setConfirmAmount(CommonConstant.ZERO);
|
||||
}
|
||||
String billMoney = s.getBillMoney();
|
||||
if (StringUtils.isBlank(billMoney)) {
|
||||
s.setBillMoney(CommonConstant.ZERO);
|
||||
}
|
||||
}
|
||||
return AmountUtil.exportListXls(list, DepartStatistics.class, "科室总体统计");
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user