From 3f8843b08ea2abfb1ae7cc0c823671409c544353 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Mon, 6 Sep 2021 10:02:13 +0800 Subject: [PATCH 01/14] =?UTF-8?q?fix=20=E6=97=A0=E6=B3=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=BC=9A=E5=91=98=E9=A1=B9=E7=9B=AE=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E5=8F=91=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PayPayMemberProjectSubitemServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java index 3c7a83d9..0bc58f1c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java @@ -80,7 +80,7 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl Date: Mon, 6 Sep 2021 10:21:41 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E5=90=88=E5=90=8C=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/pay.pdm | 548 ++++++++++-------- .../PayIncomeContractController.java | 8 +- 2 files changed, 324 insertions(+), 232 deletions(-) diff --git a/db/pay.pdm b/db/pay.pdm index c842b366..5f5d8d53 100644 --- a/db/pay.pdm +++ b/db/pay.pdm @@ -1,5 +1,5 @@ - + @@ -7854,7 +7854,7 @@ Shadow=0 1630635062 1630635062 -1 -((-49479,9025), (-7045,32723)) +((-50252,7375), (-6272,34373)) 12615680 16570034 12632256 @@ -7954,7 +7954,7 @@ LABL 0 新宋体,8,N 1630635062 1630635062 -1 -((25158,9834), (63344,33532)) +((24386,8184), (64116,35182)) 12615680 16570034 12632256 @@ -13664,8 +13664,8 @@ LABL 0 新宋体,8,N pay_spending_contract 1629706931 lilili -1630635062 -lilili +1630890267 +LQT @@ -13703,28 +13703,72 @@ LABL 0 新宋体,8,N 50 -EE823669-13F2-43E5-AAD7-48640A5F0766 -签订单位 -signed_company +4ED01CFA-2190-4D68-9307-19AE67A3E9B9 +签订单位id +signed_company_id 1629768287 -lilili -1630635062 -lilili +LQT +1630890240 +LQT varchar(50) 50 -77BDD765-DB99-4FB5-B659-354A67952BDB -签订单位联系人id -signed_contacts_id -1629768287 -lilili -1630635062 -lilili +51EE4934-7708-4EF9-9963-CBC32AF1BB05 +临时签订单位id +signed_company_temporary_id +1630889990 +LQT +1630890240 +LQT varchar(32) 32 +D0FE98C1-88A1-4ADD-AB85-BA1394DBAFC6 +临时签订单位名称 +signed_company_temporary_name +1630889990 +LQT +1630890240 +LQT +varchar(50) +50 + + +9ACA3F07-10E0-4456-BC65-29BEEF758DCC +签订单位联系人id2 +signed_contacts_id2 +1629768287 +LQT +1630890240 +LQT +varchar(32) +32 + + +712FE759-8C89-4595-86AB-5FB1733C79C9 +临时签订单位联系人id +signed_contacts_temporary_id +1630889990 +LQT +1630890240 +LQT +varchar(32) +32 + + +BE0B6B28-7368-43B6-AABD-B854CBA3E830 +临时签订单位联系人名称 +signed_contacts_temporary_name +1630889990 +LQT +1630890240 +LQT +varchar(50) +50 + + E984017A-DB59-46B7-8AB7-84567294FD32 是否开口(1:是,0:否) opening @@ -13735,7 +13779,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 274E3F95-68FB-473D-9F94-7B9185ED6FFE 负责人id principal_id @@ -13746,7 +13790,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 4FA1E6FC-9E44-429A-86BE-19A525CA6ED8 负责人名称 principal_name @@ -13757,7 +13801,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 8F4B92ED-BBE5-4A01-9369-2CB3E73EEDD2 部门名称 department_name @@ -13768,7 +13812,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 17204D6A-F657-4AFF-A164-7A045CC10CBD 签订合同金额 contract_amount @@ -13779,7 +13823,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + E9CE7A3B-7056-413B-B763-29B3A0368522 税率 rate @@ -13790,7 +13834,7 @@ LABL 0 新宋体,8,N varchar(3) 3 - + 148568DF-B910-4E14-9262-BB023348D526 未税金额 no_tax_amount @@ -13801,7 +13845,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + 58507171-421D-4255-A687-53C7A3D243F8 合同签订日期 contract_date @@ -13811,7 +13855,7 @@ LABL 0 新宋体,8,N lilili date - + 0CAFE4B1-B7C8-4CF5-8B62-773DC80B6016 合同终止日期 termination_date @@ -13821,7 +13865,7 @@ LABL 0 新宋体,8,N lilili date - + D088120E-E3A0-4482-8802-517730B032E7 合同约定主要时点 contract_time_points @@ -13832,7 +13876,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + 91859953-516D-4EDA-B6C2-42D2384C901E 应收金额 accounts_receivable_amount @@ -13843,7 +13887,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + 798B7BBB-DFE4-43C8-BAB6-3218B23B537A 已收金额 amount_received @@ -13854,7 +13898,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + B06E3B40-4E95-45F4-9494-E51F1BA04B88 未收金额 outstanding_amount @@ -13865,7 +13909,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + 2D891728-D38F-4477-8863-4669FA7EE40C 账款状态(1:未支付,2:部分支付,3:已付全款) account_status @@ -13876,7 +13920,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + CF6DEB30-64AA-4D24-8930-88BAB3BB5341 合同约定付款次数 contract_payment_times @@ -13887,7 +13931,7 @@ LABL 0 新宋体,8,N varchar(5) 5 - + CAD6F3FE-D047-4406-A485-479C63F1E86D 是否打包(1:是,0:否) pack @@ -13898,7 +13942,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + AFAFD35A-9A74-42EE-BCF7-B32488CE82DF 打包年份 pack_year @@ -13909,7 +13953,7 @@ LABL 0 新宋体,8,N varchar(4) 4 - + C264F307-67F0-45AE-B609-98952F803A5A 合同状态(1:草稿,2:已通过,3:未通过,4:已归档) contract_status @@ -13920,7 +13964,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 3CDDE02A-F95A-41D7-861B-389EB4563E1B 创建人 create_by @@ -13931,7 +13975,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 4BA9D173-9934-4B4A-AB4B-552E8C56F3F5 创建时间 create_time @@ -13941,7 +13985,7 @@ LABL 0 新宋体,8,N lilili datetime - + 871858E4-E32A-4F49-80C6-A2E208D7387A 更新人 update_by @@ -13952,7 +13996,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 42AF3DD7-1A55-472E-A2FE-A593757C5DDC 更新时间 update_time @@ -13964,7 +14008,7 @@ LABL 0 新宋体,8,N - + CA926BCA-F893-4F56-A509-956E547B1807 Key_1 Key_1 @@ -13978,7 +14022,7 @@ LABL 0 新宋体,8,N - + 5EB00612-1162-4B71-8A6D-EF1AA20C37B9 合同编号 spending_contract_no_index @@ -13988,7 +14032,7 @@ LABL 0 新宋体,8,N lilili 合同编号 - + 3994C44A-D841-4027-82D6-07B0734250F5 1629859931 lilili @@ -14000,7 +14044,7 @@ LABL 0 新宋体,8,N - + EDA9AC6C-27B8-491A-ABD1-CB843D939345 合同名称 spending_contract_name_index @@ -14010,7 +14054,7 @@ LABL 0 新宋体,8,N lilili 合同名称 - + 0CFB5CBC-AC18-496E-A82B-1E158EB9035A 1629859946 lilili @@ -14024,7 +14068,7 @@ LABL 0 新宋体,8,N - + @@ -14037,7 +14081,7 @@ LABL 0 新宋体,8,N lilili - + 6A7F3773-E808-4C43-9FA6-3216856E64F4 主键 id @@ -14049,7 +14093,7 @@ LABL 0 新宋体,8,N 32 1 - + 817762D8-8CD0-4054-B7A7-5E5D9706F057 合同id contract_id @@ -14060,7 +14104,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + FA4A2E02-D624-481D-BEFB-951B6B545288 合同状态(2:已通过,3:未通过,4:已归档) contract_status @@ -14071,7 +14115,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 39015FA4-8C78-46D7-B5ED-DA2361FC8642 拒绝说明 explain_remarks @@ -14082,7 +14126,7 @@ LABL 0 新宋体,8,N varchar(200) 200 - + EFD29DD5-BA8D-430A-826C-FFF641944AFA 创建人 create_by @@ -14093,7 +14137,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 79F94B71-B088-4022-BC3E-EA4E96AFF108 创建时间 create_time @@ -14103,7 +14147,7 @@ LABL 0 新宋体,8,N lilili datetime - + F21BBE08-9110-45C8-A52B-2C1241C30424 更新人 update_by @@ -14114,7 +14158,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 9DFA188F-28F7-4E7D-8471-8629CA6EE6F5 更新时间 update_time @@ -14126,7 +14170,7 @@ LABL 0 新宋体,8,N - + 292F9D2F-83AF-4385-AB08-809AC5B8E569 Key_1 Key_1 @@ -14135,12 +14179,12 @@ LABL 0 新宋体,8,N 1630635062 lilili - + - + @@ -14153,7 +14197,7 @@ LABL 0 新宋体,8,N lilili - + 926D3EFA-92AC-4569-957A-AD0DE2AA25A9 主键 id @@ -14165,7 +14209,7 @@ LABL 0 新宋体,8,N 32 1 - + 5603721A-0C71-45E7-B4FF-BDDA99A2F09A 合同id contract_id @@ -14176,7 +14220,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 86F36C49-1272-420E-946F-AAC0E66A43F2 项目id project_id @@ -14187,7 +14231,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 29654BA7-486E-42C3-AE64-D5A51CCDF93D 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目) project_type @@ -14198,7 +14242,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + FF2B7CF8-B7C5-47DD-969E-30E694E4EB19 创建人 create_by @@ -14209,7 +14253,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + F62B763E-A24A-4352-9BC3-F4A7D09F8DF6 创建时间 create_time @@ -14219,7 +14263,7 @@ LABL 0 新宋体,8,N lilili datetime - + BECC702C-B361-4F1D-8654-4130F7E91DB1 更新人 update_by @@ -14230,7 +14274,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + F6D4D336-06AE-42A8-9848-B286A2A0F2CB 更新时间 update_time @@ -14242,7 +14286,7 @@ LABL 0 新宋体,8,N - + B65E082F-0E27-4187-9A8F-D026DC9710E1 Key_1 Key_1 @@ -14251,12 +14295,12 @@ LABL 0 新宋体,8,N 1630635062 lilili - + - + @@ -14269,7 +14313,7 @@ LABL 0 新宋体,8,N lilili - + 3E191DD2-E4A1-4DC9-9B16-06BBAEA00FA9 主键 id @@ -14281,7 +14325,7 @@ LABL 0 新宋体,8,N 32 1 - + 08EB6B8B-34B4-444D-AF88-F3F995935C3E 合同id contract_id @@ -14292,7 +14336,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + A78536D5-34EB-42AC-BE20-DFB6E20FAC1D 阶段名称 phase_name @@ -14303,7 +14347,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 01902CB7-0320-4ECE-88D9-A12580923E35 应收金额 accounts_receivable_amount @@ -14314,7 +14358,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + 33C4941B-9D64-4B40-AB13-8815FCC4D3DE 应收时间 accounts_receivable_time @@ -14324,7 +14368,7 @@ LABL 0 新宋体,8,N lilili datetime - + 94BCB4AD-8947-45ED-B9D9-21A528B1C323 实收金额 paid_amount @@ -14335,7 +14379,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + BEA9FB1A-3326-4271-904C-0BAC630F55C7 实收时间 paid_time @@ -14345,7 +14389,7 @@ LABL 0 新宋体,8,N lilili datetime - + 592EADCA-DD09-4735-96D4-F5230E54AF6F 创建人 create_by @@ -14356,7 +14400,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 61FA60A0-E3EE-44E4-AE1E-47656D1E8007 创建时间 create_time @@ -14366,7 +14410,7 @@ LABL 0 新宋体,8,N lilili datetime - + A1733E29-5B90-40E8-9133-F2EF83B098BE 更新人 update_by @@ -14377,7 +14421,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 157CDFEA-B1EB-4770-8C7C-4C6A960E4E5D 更新时间 update_time @@ -14389,7 +14433,7 @@ LABL 0 新宋体,8,N - + 4DE750D1-E371-42A4-8D8D-F2D4CD1FE8CF Key_1 Key_1 @@ -14398,12 +14442,12 @@ LABL 0 新宋体,8,N 1630635062 lilili - + - + @@ -14412,11 +14456,11 @@ LABL 0 新宋体,8,N pay_income_contract 1629706929 lilili -1630635062 -lilili +1630890188 +LQT - + A02B8DCB-041B-4276-B775-443BCEE30A70 主键 id @@ -14428,7 +14472,7 @@ LABL 0 新宋体,8,N 32 1 - + DD718668-44B8-4AE4-86F7-3D7DA57420C9 合同编号 contract_num @@ -14439,7 +14483,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 30471CE0-84C2-4D55-85E4-9C6561D0DE7D 合同名称 contract_name @@ -14450,18 +14494,40 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 1C1304EA-318E-4C02-8418-DEF8863DAB21 -签订单位 -signed_company +签订单位id +signed_company_id 1629768287 lilili -1630635062 -lilili +1630890188 +LQT varchar(50) 50 - + +7F60F449-32B7-487C-BCC0-1F97DF6754B0 +临时签订单位id +signed_company_temporary_id +1630889990 +LQT +1630890188 +LQT +varchar(32) +32 + + +0D50B5A5-E0F7-4C4F-BF8E-E688BA775F56 +临时签订单位名称 +signed_company_temporary_name +1630889990 +LQT +1630890188 +LQT +varchar(50) +50 + + A04A53E1-E74F-47B0-BA53-4D4174547551 签订单位联系人id signed_contacts_id @@ -14472,7 +14538,29 @@ LABL 0 新宋体,8,N varchar(32) 32 - + +EC27B57C-FC48-4AF1-ADDC-E046F1D31D8B +临时签订单位联系人id +signed_contacts_temporary_id +1630889990 +LQT +1630890188 +LQT +varchar(32) +32 + + +7BB2FBEC-3536-486F-BD77-AD0E59528846 +临时签订单位联系人名称 +signed_contacts_temporary_name +1630889990 +LQT +1630890188 +LQT +varchar(50) +50 + + B16004D9-4D8F-4E31-B26C-2DB8DBF366CF 是否开口(1:是,0:否) opening @@ -14483,7 +14571,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 0713E854-A125-464F-8D88-497BCFBF5D1A 负责人id principal_id @@ -14494,7 +14582,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 0694D206-FD93-4B5F-B391-19CC55E669A2 负责人名称 principal_name @@ -14505,7 +14593,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + BD06D730-2989-4CF0-8CD9-2E550648B10E 部门名称 department_name @@ -14516,7 +14604,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + F254FF04-0F5C-48AB-AB32-F62A7ABBF40E 签订合同金额 contract_amount @@ -14527,7 +14615,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + 9DB8D53D-263A-4200-9D09-D23C0633EA4F 税率 rate @@ -14538,7 +14626,7 @@ LABL 0 新宋体,8,N varchar(3) 3 - + 26F1E531-7084-4914-BFFD-BCDDF76A9C50 未税金额 no_tax_amount @@ -14549,7 +14637,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + A402EF96-CD07-4926-9C1B-AECF18E22851 合同签订日期 contract_date @@ -14559,7 +14647,7 @@ LABL 0 新宋体,8,N lilili date - + 76546AAA-A161-4460-94A6-F08761A889FB 合同终止日期 termination_date @@ -14569,7 +14657,7 @@ LABL 0 新宋体,8,N lilili date - + 0DD4043F-DAAB-4271-8C44-D491F934D88C 合同约定主要时点 contract_time_points @@ -14580,7 +14668,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + EBBE42FE-E8DE-469F-8566-2ED303010743 应收金额 accounts_receivable_amount @@ -14591,7 +14679,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + 8603913A-2435-464B-A5B1-0F6D22289EDA 已收金额 amount_received @@ -14602,7 +14690,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + C2DF3D8C-6B21-4248-B84B-59EE1E519FCA 未收金额 outstanding_amount @@ -14613,7 +14701,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + 04E5FCDF-5BB2-464A-912B-0B096F356DD7 账款状态(1:未支付,2:部分支付,3:已付全款) account_status @@ -14624,7 +14712,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 08F5F32E-3588-4CD3-90E6-94B6234CC52E 合同约定付款次数 contract_payment_times @@ -14635,7 +14723,7 @@ LABL 0 新宋体,8,N varchar(5) 5 - + 352492AA-01E8-4784-AE9E-8A80F2C07348 是否打包(1:是,0:否) pack @@ -14646,7 +14734,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + CD4F9F58-573E-450D-8248-21B36FDA2DA5 打包年份 pack_year @@ -14657,7 +14745,7 @@ LABL 0 新宋体,8,N varchar(4) 4 - + 094120DB-001D-4623-8B77-9F88F80E3102 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档) status @@ -14668,7 +14756,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 7FD275A4-B536-42A2-91F6-51257BCFE186 创建人 create_by @@ -14679,7 +14767,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 98F94E35-73C7-4D68-B696-8A8DAF66E73F 创建时间 create_time @@ -14689,7 +14777,7 @@ LABL 0 新宋体,8,N lilili datetime - + C2B63E5F-AEAB-45B5-9409-7D30EA722F8C 更新人 update_by @@ -14700,7 +14788,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 73A398F7-12E3-41AD-9E72-A23AC0BDA3C2 更新时间 update_time @@ -14712,7 +14800,7 @@ LABL 0 新宋体,8,N - + 669F8D3C-DF0C-46BB-99B3-05411D4FF0F2 Key_1 Key_1 @@ -14721,12 +14809,12 @@ LABL 0 新宋体,8,N 1630635062 lilili - + - + 3614C008-C528-4460-B7C6-7A739F04E408 合同编号 income_contract_no_index @@ -14736,19 +14824,19 @@ LABL 0 新宋体,8,N lilili 合同编号 - + 2EE658E4-384B-41B6-9DB0-169887D8FFB6 1629854544 lilili 1630635062 lilili - + - + F30F270B-5761-493F-9650-13F9CED0FC72 合同名称 income_contract_name_index @@ -14758,21 +14846,21 @@ LABL 0 新宋体,8,N lilili 合同名称 - + 94CAD0BF-08A3-4F81-8CC8-112690281FE2 1629854598 lilili 1630635062 lilili - + - + @@ -14786,7 +14874,7 @@ LABL 0 新宋体,8,N 联系人管理临时表 - + 34445793-4870-4ABF-AE5D-0C191587E081 主键 id @@ -14798,7 +14886,7 @@ LABL 0 新宋体,8,N 32 1 - + F3678230-BD3D-476D-93B1-6F369E88618A 企业id company_id @@ -14809,7 +14897,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 95F46437-7EC5-4EDE-94BE-72A35CC9D512 企业名称 company_name @@ -14820,7 +14908,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + B4B234A8-7BE2-43E5-B5DB-C4D1E276D56E 姓名 name @@ -14831,7 +14919,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + A192942F-5F37-4421-B1E3-844E1AAEEFC5 性别(1:男,2:女) gender @@ -14842,7 +14930,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + EF7E7C6C-DDF5-4214-B23A-175F5006EDCB 职务 post @@ -14853,7 +14941,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + 75CE318E-04B5-4A2B-9BD0-2936FA7D229E 手机号 phone @@ -14864,7 +14952,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 3593EB75-66DE-4B7F-830A-F2B27B0CB1DC 邮箱 email @@ -14875,7 +14963,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 141502C7-1FE0-4EC9-93B2-94BE39DD0999 通讯地址 contact_address @@ -14886,7 +14974,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 0A733192-4274-40CD-BD10-0B6AAD5C4F3B 邮政编码 postal_code @@ -14897,7 +14985,7 @@ LABL 0 新宋体,8,N varchar(6) 6 - + 818805FF-80D4-44CB-AF92-B286B46C1913 数据来源(1:管理端,2:报名) data_source @@ -14908,7 +14996,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + FEE1143F-EDB4-4010-943C-72FC577B90B3 报名新增(1:是,0:否) signing_up @@ -14919,7 +15007,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 24862780-EF34-4607-8190-6094D056B381 备注 remarks @@ -14930,7 +15018,7 @@ LABL 0 新宋体,8,N varchar(200) 200 - + 6FA0793D-EAC0-4F1A-9AC1-05849215D4B5 创建人 create_by @@ -14941,7 +15029,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 51445942-D04D-4857-B5EC-9C20BB7CA9D5 创建时间 create_time @@ -14951,7 +15039,7 @@ LABL 0 新宋体,8,N lilili datetime - + CD262609-3EC5-4DB8-ABF9-235CEB11E0D4 更新人 update_by @@ -14962,7 +15050,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 8FAD0195-14F9-493A-BB33-7D60A44709B3 更新时间 update_time @@ -14974,7 +15062,7 @@ LABL 0 新宋体,8,N - + 289DCD0F-5060-4197-B2C5-D635D1BA72BE Key_1 Key_1 @@ -14983,12 +15071,12 @@ LABL 0 新宋体,8,N 1630635062 lilili - + - + 5D2EA952-48A1-4003-9C5C-A9C14DAA5983 企业名称 contacts_company_name_index @@ -14998,19 +15086,19 @@ LABL 0 新宋体,8,N lilili 企业名称 - + 9660727D-BC83-4721-837D-17B4ABDF4464 1629853614 lilili 1630635062 lilili - + - + 617248A5-D5E4-4B04-9F2B-240152791DEE 姓名 contacts_name_index @@ -15020,19 +15108,19 @@ LABL 0 新宋体,8,N lilili 姓名 - + 5DA4F19C-08D5-4AFE-A4DA-0A2AF0AF7708 1629853656 lilili 1630635062 lilili - + - + 22635D0B-1F75-4C65-9E9A-DC0CE1F681E2 手机号 contacts_phone_index @@ -15042,21 +15130,21 @@ LABL 0 新宋体,8,N lilili 手机号 - + 7C242518-6C3E-4A3A-B50B-719B8E9B415D 1629854483 lilili 1630635062 lilili - + - + @@ -15070,7 +15158,7 @@ LABL 0 新宋体,8,N 企业管理临时表 - + B2FE3135-A7C4-4531-B912-AAE9A850464F 主键 id @@ -15082,7 +15170,7 @@ LABL 0 新宋体,8,N 32 1 - + D8433323-BA3A-48A1-A312-98994789BA6E 企业名称 company_name @@ -15093,7 +15181,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + E81D3858-0B38-4868-A933-3B721FCC6BB8 公司地址 company_address @@ -15104,7 +15192,7 @@ LABL 0 新宋体,8,N varchar(200) 200 - + 1FC5AE02-DA3D-4E37-A5CB-9E20FD4D3A46 公司电话 company_phone @@ -15115,7 +15203,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 29A2564C-CFD6-47D3-845B-6B624E31040D 邮编 postal_code @@ -15126,7 +15214,7 @@ LABL 0 新宋体,8,N varchar(6) 6 - + 2615950E-236A-4006-8715-545C9FBC6521 银行户名 bank_account_name @@ -15137,7 +15225,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + E8D0C1F0-B754-4BF3-BFDD-022795B25BEA 开户行 opening_bank @@ -15148,7 +15236,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + ADE43F63-CA98-48B5-ABF7-2D16747D09EA 银行账号 bank_account @@ -15159,7 +15247,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + DAF30B41-EADF-4BA8-A3AE-C6A18374D0C5 税号 duty_code @@ -15170,7 +15258,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + D4174A18-41AF-4335-B0B3-AD225079D17B 数据来源(1:管理端,2:报名) data_source @@ -15181,7 +15269,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 58BAF47A-42F1-4516-AF35-9CBF7E8DE3D3 报名新增(1:是,0:否) signing_up @@ -15192,7 +15280,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 68653960-84F7-46C5-B911-FF5F5B1F7E4F 备注 remarks @@ -15203,7 +15291,7 @@ LABL 0 新宋体,8,N varchar(200) 200 - + 9405D526-14CA-4EDA-BEB5-96EF1466EA86 创建人 create_by @@ -15214,7 +15302,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + D4FB9A98-9A72-4A5A-B8A2-7439A4E0827B 创建时间 create_time @@ -15224,7 +15312,7 @@ LABL 0 新宋体,8,N lilili datetime - + FAEA725E-102E-4C04-8B35-CE4F2F8C7EBB 更新人 update_by @@ -15235,7 +15323,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 1CFD7D8F-2D96-4B2F-9114-A1C602F8AA60 更新时间 update_time @@ -15247,7 +15335,7 @@ LABL 0 新宋体,8,N - + 3D5694FA-CDC5-4FDF-BC98-2C9591E8CD27 Key_1 Key_1 @@ -15256,12 +15344,12 @@ LABL 0 新宋体,8,N 1630635062 lilili - + - + 67102A18-F9A5-414F-89FC-7AEDA6251688 企业名称 company_name_index @@ -15271,21 +15359,21 @@ LABL 0 新宋体,8,N lilili 企业名称 - + 0DBE570E-5726-42B2-8F2F-1CE18AA9616E 1629852781 lilili 1630635062 lilili - + - + @@ -15298,7 +15386,7 @@ LABL 0 新宋体,8,N lilili - + 1501DAA3-D8B6-4178-AF91-FB33CB666BCE 主键 id @@ -15310,7 +15398,7 @@ LABL 0 新宋体,8,N 32 1 - + AADFD507-2374-4006-A893-DAB26CBF0792 企业id company_id @@ -15321,7 +15409,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 79EFEA2B-032A-4758-A4D6-54577B97E983 企业名称 company_name @@ -15332,7 +15420,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + D314E871-4E31-4725-808A-86E609BD39F2 姓名 name @@ -15343,7 +15431,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + 099FCABD-A4A6-4B22-877B-5BF3905EE706 性别(1:男,2:女) gender @@ -15354,7 +15442,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + CB6A13B6-2377-4EF3-908D-52C97CE04672 职务 post @@ -15365,7 +15453,7 @@ LABL 0 新宋体,8,N varchar(20) 20 - + 44311CEB-FADF-4024-827B-8D61825361BD 手机号 phone @@ -15376,7 +15464,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + A6120E79-82E7-4354-A934-4BB168026D4E 邮箱 email @@ -15387,7 +15475,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + A3098728-9995-4C52-83ED-EA097A6B88D9 通讯地址 contact_address @@ -15398,7 +15486,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + BD682759-BB92-4F0D-9C1E-6D4E5FD5DA5D 邮政编码 postal_code @@ -15409,7 +15497,7 @@ LABL 0 新宋体,8,N varchar(6) 6 - + F35C58C4-6B72-4842-90E5-8D4B6ABC9376 数据来源(1:管理端,2:报名) data_source @@ -15420,7 +15508,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 5AB11854-9385-4DA0-A032-92487922DDD1 报名新增(1:是,0:否) signing_up @@ -15431,7 +15519,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 61F4A6FE-B7E8-4363-ACC1-EAA64C7DD56B 备注 remarks @@ -15442,7 +15530,7 @@ LABL 0 新宋体,8,N varchar(200) 200 - + 95BC51F1-C344-49B8-95FE-9B60AE8E56D2 创建人 create_by @@ -15453,7 +15541,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 6DCF7930-B5DF-4BDF-8AE1-88FBBA4A71A3 创建时间 create_time @@ -15463,7 +15551,7 @@ LABL 0 新宋体,8,N lilili datetime - + 459D2158-B942-415D-98EE-E8125DE29D42 更新人 update_by @@ -15474,7 +15562,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + CF38F24E-95E4-40D2-B920-7EFC00A18291 更新时间 update_time @@ -15486,7 +15574,7 @@ LABL 0 新宋体,8,N - + DAB99C9E-BF59-4552-A138-749242509771 Key_1 Key_1 @@ -15495,12 +15583,12 @@ LABL 0 新宋体,8,N 1630635062 lilili - + - + ED73FB1B-5674-4AC7-A20D-5B84EED9179D 企业名称 contacts_company_name_index @@ -15510,19 +15598,19 @@ LABL 0 新宋体,8,N lilili 企业名称 - + 1403EEEC-DC59-4205-9F74-47F70F4F3B16 1629853614 lilili 1630635062 lilili - + - + C875FC05-F7D8-4EEE-A40F-5A07684B522E 姓名 contacts_name_index @@ -15532,19 +15620,19 @@ LABL 0 新宋体,8,N lilili 姓名 - + 1787A682-0632-4D74-BDAC-FA58187BBBEC 1629853656 lilili 1630635062 lilili - + - + 096C9303-97B8-4142-9A19-CC90B0FECBBC 手机号 contacts_phone_index @@ -15554,21 +15642,21 @@ LABL 0 新宋体,8,N lilili 手机号 - + D77F0998-7E47-4CCF-A5D2-F61175BA1A55 1629854483 lilili 1630635062 lilili - + - + @@ -15582,7 +15670,7 @@ LABL 0 新宋体,8,N 企业管理 - + E4F45814-2EA1-49EE-9333-44343C0F49E5 主键 id @@ -15594,7 +15682,7 @@ LABL 0 新宋体,8,N 32 1 - + C69BE155-C773-41F1-B028-B69798A49006 企业名称 company_name @@ -15605,7 +15693,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 0D4BEEDC-DA5C-43B4-B663-452F127F3799 公司地址 company_address @@ -15616,7 +15704,7 @@ LABL 0 新宋体,8,N varchar(200) 200 - + D0E99A77-4168-415C-B8C5-3CA6690BDDBE 公司电话 company_phone @@ -15627,7 +15715,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + FC79E7B6-DC18-466C-9119-31A877D69ACD 邮编 postal_code @@ -15638,7 +15726,7 @@ LABL 0 新宋体,8,N varchar(6) 6 - + 1E6E1A91-508E-4579-97D6-4F833237D260 银行户名 bank_account_name @@ -15649,7 +15737,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 04C75FEE-F54E-4262-ACCA-C3EC4A020CFB 开户行 opening_bank @@ -15660,7 +15748,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + A4DE19EB-5ABE-429C-991F-6152912C74BA 银行账号 bank_account @@ -15671,7 +15759,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 6A76FC34-6E63-4A36-AA08-796B4D2DEFD9 税号 duty_code @@ -15682,7 +15770,7 @@ LABL 0 新宋体,8,N varchar(50) 50 - + 57FF0A5D-0DB9-4C62-A09C-358E762CFB7D 数据来源(1:管理端,2:报名) data_source @@ -15693,7 +15781,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + 6C27C1A6-D1E1-4C2A-B2DC-43A70A1ACBF1 报名新增(1:是,0:否) signing_up @@ -15704,7 +15792,7 @@ LABL 0 新宋体,8,N tinyint(1) 1 - + B904B345-FCF6-48A2-8122-49EFC727CA42 备注 remarks @@ -15715,7 +15803,7 @@ LABL 0 新宋体,8,N varchar(200) 200 - + 8BC8B736-EEB4-4C47-BB70-97B5DB649AEB 创建人 create_by @@ -15726,7 +15814,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 13F6067A-9E37-4D0D-9AA0-050BE1971026 创建时间 create_time @@ -15736,7 +15824,7 @@ LABL 0 新宋体,8,N lilili datetime - + 03DF5D33-EAB4-4040-BE2D-2FC40100D77E 更新人 update_by @@ -15747,7 +15835,7 @@ LABL 0 新宋体,8,N varchar(32) 32 - + 337CDE3E-B9B4-4C63-AF0C-28EA99202D61 更新时间 update_time @@ -15759,7 +15847,7 @@ LABL 0 新宋体,8,N - + 1C236921-A5A8-454E-828A-852A3E6A961D Key_1 Key_1 @@ -15768,12 +15856,12 @@ LABL 0 新宋体,8,N 1630635062 lilili - + - + 5A5226CB-E23C-4E4B-8FF9-4DAF8A1F618F 企业名称 company_name_index @@ -15783,26 +15871,26 @@ LABL 0 新宋体,8,N lilili 企业名称 - + 047E4CCD-9D6C-48E0-96ED-32A104EB4788 1629852781 lilili 1630635062 lilili - + - + - + DF30943D-F7AB-4FE7-8EDF-47FAAD7F38A3 PUBLIC PUBLIC @@ -15893,18 +15981,18 @@ LABL 0 新宋体,8,N - + 83F81B76-D862-44FC-AD9D-F174C91D40F8 MySQL 5.0 MYSQL50 1629683729 LQT -1629860815 -lilili +1630841542 +LQT file:///%_DBMS%/mysql50.xdb F4F16ECD-F2F1-4006-AF6F-638D5C65F35E 4BA9F647-DAB1-11D1-9944-006097355D9B -1276524678 +1629858954 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java index f3779322..eeb0bd4e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java @@ -8,6 +8,7 @@ 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.exception.JeroBootException; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.common.util.DateUtils; @@ -37,6 +38,7 @@ import org.jeecgframework.poi.excel.def.MapExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecgframework.poi.excel.view.JeecgMapExcelView; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.web.bind.annotation.*; @@ -385,7 +387,7 @@ public class PayIncomeContractController extends JeroController{ - int n = listSub.indexOf(p1); + int n = listSub.indexOf(p1) + 1; map.put("phaseName" + n,p1.getPhaseName()); map.put("accountsReceivableAmount" + n,p1.getAccountsReceivableAmount()); map.put("accountsReceivableTime" + n, DateUtils.date2Str(p1.getAccountsReceivableTime(),new SimpleDateFormat("yyyy-MM-dd"))); @@ -396,6 +398,8 @@ public class PayIncomeContractController extends JeroController filedsList = new ArrayList<>(); @@ -423,7 +427,7 @@ public class PayIncomeContractController extends JeroController Date: Mon, 6 Sep 2021 10:54:32 +0800 Subject: [PATCH 03/14] =?UTF-8?q?fix=20=E4=BC=9A=E5=91=98=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=88=90=E5=91=98=E5=AF=BC=E5=85=A5=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/system/base/controller/JeroController.java | 3 +++ .../impl/PayPayMemberProjectSubitemServiceImpl.java | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java index d72d8475..48f0f969 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java @@ -228,6 +228,9 @@ public class JeroController> { try { //导入Excel格式校验,看匹配的字段文本概率 Boolean t = ExcelImportCheckUtil.check(file.getInputStream(), clazz, params); + if (t == null) { + throw new JeroBootException("导入数据为空!"); + } if(!t){ throw new JeroBootException("导入Excel校验失败 !"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java index 0bc58f1c..a99925d5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/member/service/impl/PayPayMemberProjectSubitemServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.member.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jero.common.exception.JeroBootException; import com.jero.common.util.ValidUtil; import com.jero.company.entity.PayContactsManagement; @@ -54,6 +55,14 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMemberProjectSubitem::getProjectId,projectId); + wrapper.eq(PayMemberProjectSubitem::getCompanyId,companyId); + int count = count(wrapper); + if (count>0){ + throw new JeroBootException("会员单位已经存在"); + } validMemberProjectSubitem(payMemberProjectSubitem); //实收金额 payMemberProjectSubitem.setPaidAmount(0); From ffef58d00ed2aa270b2de0766899dcc937545d0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Mon, 6 Sep 2021 10:59:58 +0800 Subject: [PATCH 04/14] =?UTF-8?q?=E5=90=88=E5=90=8C=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/company/entity/PayCompanyManagement.java | 10 +++++----- .../controller/PayIncomeContractController.java | 9 +++++++++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayCompanyManagement.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayCompanyManagement.java index 730eebec..5e9f6032 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayCompanyManagement.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayCompanyManagement.java @@ -54,11 +54,11 @@ public class PayCompanyManagement implements Serializable { @Pattern(regexp = "^(([0-9]{3,4}-)?[0-9]{7,8})|(((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(17[0135678])|(18[0-9])|(19[8|9])|(16[6]))\\d{8})$",message = "公司电话格式错误") private String companyPhone; /**邮编*/ - @Excel(name = "邮编", width = 15) - @ApiModelProperty(value = "邮编") - @NotEmpty(message = "邮编不能为空!") - @Size(min=6,max = 6,message = "邮编长度必须为6个字符") - @Pattern(regexp = "^[0-9]\\d{5}$",message = "邮编格式错误") + @Excel(name = "邮政编码", width = 15) + @ApiModelProperty(value = "邮政编码") + @NotEmpty(message = "邮政编码不能为空!") + @Size(min=6,max = 6,message = "邮政编码长度必须为6个字符") + @Pattern(regexp = "^[0-9]\\d{5}$",message = "邮政编码格式错误") private String postalCode; /**银行户名*/ @Excel(name = "银行户名", width = 15) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java index eeb0bd4e..633d4b68 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java @@ -9,6 +9,7 @@ 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.exception.JeroBootException; +import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.common.util.DateUtils; @@ -77,6 +78,9 @@ public class PayIncomeContractController extends JeroController{ String str = JSON.toJSONString(p); Map map = JSONObject.parseObject(str,Map.class); + map.put("opening",sysBaseAPI.translateDict("revenue_contract_open",String.valueOf(p.getOpening()))); + map.put("accountStatus",sysBaseAPI.translateDict("revenue_contract_account_status",String.valueOf(p.getAccountStatus()))); + map.put("pack",sysBaseAPI.translateDict("pack_status",String.valueOf(p.getPack()))); List listSub = listPayIncomeContractInstallment.stream().filter(item-> Objects.equals(p.getId(),item.getContractId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(listSub)){ @@ -416,6 +423,8 @@ public class PayIncomeContractController extends JeroController 0){ for (int i = 1; i <= count; i++){ From edad18a8bcc46a90157b3108eb9d70914020aa0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Mon, 6 Sep 2021 11:22:59 +0800 Subject: [PATCH 05/14] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=84=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E6=8F=90=E7=A4=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PayWorkingGroupSubItemServiceImpl.java | 316 +++++++++--------- 1 file changed, 162 insertions(+), 154 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java index 7cc587f0..142f611d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java @@ -37,6 +37,7 @@ import org.springframework.web.multipart.MultipartHttpServletRequest; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -83,24 +84,24 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 ImportParams params = new ImportParams(); params.setTitleRows(1); params.setHeadRows(1); + //导入Excel格式校验,看匹配的字段文本概率 try { - //导入Excel格式校验,看匹配的字段文本概率 Boolean t = ExcelImportCheckUtil.check(file.getInputStream(), PayWorkingGroupSubItem.class, params); if(!t){ - throw new RuntimeException("导入Excel校验失败 !"); + throw new JeroBootException("导入Excel校验失败 !"); } + } catch (IOException e) { + e.printStackTrace(); + throw new JeroBootException("导入Excel校验失败 !"); + } + try { List list = ExcelImportUtil.importExcel(file.getInputStream(), PayWorkingGroupSubItem.class, params); if(!CollectionUtils.isEmpty(list)){ // 校验重复成员的集合 List listCompanyAndContacts = new ArrayList<>(); - StringBuilder msg = new StringBuilder(); // 获取excel中的企业名称 List listCompanyName = list.stream().map(PayWorkingGroupSubItem::getChargeCompanyTemporaryName).collect(Collectors.toList()); // 获取excel企业信息 @@ -210,7 +215,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl listCompanyInfo = payCompanyManagementService.list(companyWrapper); if(CollectionUtils.isEmpty(listCompanyInfo)){ - throw new RuntimeException("excel中企业不存在 !"); + msg.append("excel中企业不存在 !"); } List listContactsName = new ArrayList<>(); // 获取excel中联系人一名称 @@ -238,160 +243,160 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl listContactsInfo = payContactsManagementService.list(contactsWrapper); if(CollectionUtils.isEmpty(listContactsInfo)){ - throw new RuntimeException("excel中联系人不存在 !"); + msg.append("excel中联系人不存在 !"); } // 获取工作组信息 PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(workGroupId); if(Objects.isNull(payWorkingGroup)){ - throw new RuntimeException("工作组不存在 !"); + msg.append("工作组不存在 !"); } - - // 获取工作组成员 - LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq(PayWorkingGroupSubItem::getWorkingGroupId,workGroupId); - List listData = payWorkingGroupSubItemService.list(query); - list.forEach(p->{ - p.setWorkingGroupId(workGroupId); - int count = list.indexOf(p); - // 校验企业名称 - List listCompany = new ArrayList<>(); - if(StringUtils.isBlank(p.getChargeCompanyTemporaryName())){ - msg.append("第 ").append(count + 3).append(" 行:企业名称不能为空,请修改。
"); - }else{ - // 通过企业名称获取企业id - listCompany = listCompanyInfo.stream().filter(item-> - Objects.equals(item.getCompanyName(),p.getChargeCompanyTemporaryName())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listCompany)){ - msg.append("第 ").append(count + 3).append(" 行:企业名称不存在,请修改。
"); - }else{ - p.setChargeCompanyId(listCompany.get(0).getId()); - } - } - // 校验联系人一 - if(StringUtils.isBlank(p.getContactsTemporaryNameOne())){ - msg.append("第 ").append(count + 3).append(" 行:联系人不能为空,请修改。
"); - }else{ - if(!CollectionUtils.isEmpty(listCompany)){ - // 通过联系人获取联系人id - List finalListCompany = listCompany; - List listContacts = listContactsInfo.stream().filter(item-> - Objects.equals(item.getName(),p.getContactsTemporaryNameOne()) - && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listContacts)){ - msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人一,请修改。
"); - }else{ - p.setContactsIdOne(listContacts.get(0).getId()); + if(StringUtils.isBlank(msg)) { + // 获取工作组成员 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(PayWorkingGroupSubItem::getWorkingGroupId, workGroupId); + List listData = payWorkingGroupSubItemService.list(query); + list.forEach(p -> { + p.setWorkingGroupId(workGroupId); + int count = list.indexOf(p); + // 校验企业名称 + List listCompany = new ArrayList<>(); + if (StringUtils.isBlank(p.getChargeCompanyTemporaryName())) { + msg.append("第 ").append(count + 3).append(" 行:企业名称不能为空,请修改。
"); + } else { + // 通过企业名称获取企业id + listCompany = listCompanyInfo.stream().filter(item -> + Objects.equals(item.getCompanyName(), p.getChargeCompanyTemporaryName())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(listCompany)) { + msg.append("第 ").append(count + 3).append(" 行:企业名称不存在,请修改。
"); + } else { + p.setChargeCompanyId(listCompany.get(0).getId()); } } - } - // 校验工作组成员单位是否已存在 - if(!StringUtils.isBlank(p.getChargeCompanyId())){ - List listDateNew = listData.stream().filter(item->Objects.equals(p.getChargeCompanyId(),item.getChargeCompanyId())).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listDateNew)){ - msg.append("第 ").append(count + 3).append(" 行:工作组成员单位已存在,请修改。
"); - } - } - // 校验联系人二 - if(!StringUtils.isBlank(p.getContactsTemporaryNameTwo()) && !CollectionUtils.isEmpty(listCompany)){ - if(!CollectionUtils.isEmpty(listCompany)){ - // 通过联系人获取联系人id - List finalListCompany = listCompany; - List listContacts = listContactsInfo.stream().filter(item-> - Objects.equals(item.getName(),p.getContactsTemporaryNameTwo()) - && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listContacts)){ - msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人二,请修改。
"); - }else{ - p.setContactsIdTwo(listContacts.get(0).getId()); + // 校验联系人一 + if (StringUtils.isBlank(p.getContactsTemporaryNameOne())) { + msg.append("第 ").append(count + 3).append(" 行:联系人不能为空,请修改。
"); + } else { + if (!CollectionUtils.isEmpty(listCompany)) { + // 通过联系人获取联系人id + List finalListCompany = listCompany; + List listContacts = listContactsInfo.stream().filter(item -> + Objects.equals(item.getName(), p.getContactsTemporaryNameOne()) + && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(listContacts)) { + msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人一,请修改。
"); + } else { + p.setContactsIdOne(listContacts.get(0).getId()); + } } } - } - // 校验联系人三 - if(!StringUtils.isBlank(p.getContactsTemporaryNameThree()) && !CollectionUtils.isEmpty(listCompany)){ - if(!CollectionUtils.isEmpty(listCompany)){ - // 通过联系人获取联系人id - List finalListCompany = listCompany; - List listContacts = listContactsInfo.stream().filter(item-> - Objects.equals(item.getName(),p.getContactsTemporaryNameThree()) - && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listContacts)){ - msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人三,请修改。
"); - }else{ - p.setContactsIdThree(listContacts.get(0).getId()); + // 校验工作组成员单位是否已存在 + if (!StringUtils.isBlank(p.getChargeCompanyId())) { + List listDateNew = listData.stream().filter(item -> Objects.equals(p.getChargeCompanyId(), item.getChargeCompanyId())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(listDateNew)) { + msg.append("第 ").append(count + 3).append(" 行:工作组成员单位已存在,请修改。
"); } } - } - // 校验邮寄联系人 - if(StringUtils.isBlank(p.getMailContactsTemporaryName())){ - msg.append("第 ").append(count + 3).append(" 行:邮寄联系人不能为空,请修改。
"); - }else{ - if(!CollectionUtils.isEmpty(listCompany)){ - // 通过联系人获取联系人id - List finalListCompany = listCompany; - List listContacts = listContactsInfo.stream().filter(item-> - Objects.equals(item.getName(),p.getMailContactsTemporaryName()) - && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(listContacts)){ - msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该邮寄联系人,请修改。
"); - }else{ - p.setMailContactsId(listContacts.get(0).getId()); + // 校验联系人二 + if (!StringUtils.isBlank(p.getContactsTemporaryNameTwo()) && !CollectionUtils.isEmpty(listCompany)) { + if (!CollectionUtils.isEmpty(listCompany)) { + // 通过联系人获取联系人id + List finalListCompany = listCompany; + List listContacts = listContactsInfo.stream().filter(item -> + Objects.equals(item.getName(), p.getContactsTemporaryNameTwo()) + && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(listContacts)) { + msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人二,请修改。
"); + } else { + p.setContactsIdTwo(listContacts.get(0).getId()); + } } } - } - // 校验成员唯一性 - List listCompanyAndContactsNew = listCompanyAndContacts.stream().filter(item->Objects.equals(p.getChargeCompanyTemporaryName(),item.getChargeCompanyTemporaryName())).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listCompanyAndContactsNew)){ - msg.append("第 ").append(count + 3).append(" 行:工作组成员单位重复出现,请修改。
"); - } - listCompanyAndContacts.add(p); - // 校验 - if(Objects.equals(p.getChargeWay(), PayProjectCommon.CHARGE_WAY2)){ - if(Objects.isNull(p.getReceivableAmount())){ - msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。
"); - } - if(StringUtils.isBlank(p.getContractNum())){ - msg.append("第 ").append(count + 3).append(" 行:合同号不能为空,请修改。
"); - } - } - if(Objects.equals(p.getChargeWay(),PayProjectCommon.CHARGE_WAY3)){ - if(Objects.isNull(p.getChargeNoticeNo())){ - msg.append("第 ").append(count + 3).append(" 行:收费通知号不能为空,请修改。
"); - }else{ - if(Objects.equals(payWorkingGroup.getChargeNoticeNoA(),p.getChargeNoticeNo())) { - p.setChargeNoticeId(payWorkingGroup.getChargeNoticeAId()); - }else if(Objects.equals(payWorkingGroup.getChargeNoticeNoB(),p.getChargeNoticeNo()) ){ - p.setChargeNoticeId(payWorkingGroup.getChargeNoticeBId()); - }else{ - msg.append("第 ").append(count + 3).append(" 行:收费通知号不存在,请修改。
"); + // 校验联系人三 + if (!StringUtils.isBlank(p.getContactsTemporaryNameThree()) && !CollectionUtils.isEmpty(listCompany)) { + if (!CollectionUtils.isEmpty(listCompany)) { + // 通过联系人获取联系人id + List finalListCompany = listCompany; + List listContacts = listContactsInfo.stream().filter(item -> + Objects.equals(item.getName(), p.getContactsTemporaryNameThree()) + && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(listContacts)) { + msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人三,请修改。
"); + } else { + p.setContactsIdThree(listContacts.get(0).getId()); + } } } - if(Objects.isNull(p.getReceivableAmount())){ - msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。
"); + // 校验邮寄联系人 + if (StringUtils.isBlank(p.getMailContactsTemporaryName())) { + msg.append("第 ").append(count + 3).append(" 行:邮寄联系人不能为空,请修改。
"); + } else { + if (!CollectionUtils.isEmpty(listCompany)) { + // 通过联系人获取联系人id + List finalListCompany = listCompany; + List listContacts = listContactsInfo.stream().filter(item -> + Objects.equals(item.getName(), p.getMailContactsTemporaryName()) + && Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(listContacts)) { + msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该邮寄联系人,请修改。
"); + } else { + p.setMailContactsId(listContacts.get(0).getId()); + } + } } + // 校验成员唯一性 + List listCompanyAndContactsNew = listCompanyAndContacts.stream().filter(item -> Objects.equals(p.getChargeCompanyTemporaryName(), item.getChargeCompanyTemporaryName())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(listCompanyAndContactsNew)) { + msg.append("第 ").append(count + 3).append(" 行:工作组成员单位重复出现,请修改。
"); + } + listCompanyAndContacts.add(p); + // 校验 + if (Objects.equals(p.getChargeWay(), PayProjectCommon.CHARGE_WAY2)) { + if (Objects.isNull(p.getReceivableAmount())) { + msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。
"); + } + if (StringUtils.isBlank(p.getContractNum())) { + msg.append("第 ").append(count + 3).append(" 行:合同号不能为空,请修改。
"); + } + } + if (Objects.equals(p.getChargeWay(), PayProjectCommon.CHARGE_WAY3)) { + if (Objects.isNull(p.getChargeNoticeNo())) { + msg.append("第 ").append(count + 3).append(" 行:收费通知号不能为空,请修改。
"); + } else { + if (Objects.equals(payWorkingGroup.getChargeNoticeNoA(), p.getChargeNoticeNo())) { + p.setChargeNoticeId(payWorkingGroup.getChargeNoticeAId()); + } else if (Objects.equals(payWorkingGroup.getChargeNoticeNoB(), p.getChargeNoticeNo())) { + p.setChargeNoticeId(payWorkingGroup.getChargeNoticeBId()); + } else { + msg.append("第 ").append(count + 3).append(" 行:收费通知号不存在,请修改。
"); + } + } + if (Objects.isNull(p.getReceivableAmount())) { + msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。
"); + } + } + p.setPack(PayProjectCommon.PACKAGING0); + p.setInAccount(PayProjectCommon.IN_ACCOUNT0); + p.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0); + p.setMail(PayProjectCommon.MAIL0); + // 校验字段值 + StringBuilder s = ValidUtil.validateExcel(p, (count + 3)); + if (!StringUtils.isBlank(s)) { + msg.append(s); + } + }); + if (StringUtils.isBlank(msg)) { + // 拷贝企业,联系人 + list.forEach(p -> { + setPayWorkingGroupSubItem(p); + }); + // 更新数据 + payWorkingGroupSubItemService.saveBatch(list); } - p.setPack(PayProjectCommon.PACKAGING0); - p.setInAccount(PayProjectCommon.IN_ACCOUNT0); - p.setMakeInvoice(PayProjectCommon.MAKE_INVOICE0); - p.setMail(PayProjectCommon.MAIL0); - // 校验字段值 - StringBuilder s = ValidUtil.validateExcel(p,(count+3)); - if(!StringUtils.isBlank(s)){ - msg.append(s); - } - }); - if(!StringUtils.isBlank(msg)){ - throw new RuntimeException(msg.toString()); } - // 拷贝企业,联系人 - list.forEach(p->{ - setPayWorkingGroupSubItem(p); - }); - // 更新数据 - payWorkingGroupSubItemService.saveBatch(list); } } catch (Exception e) { log.error(e.getMessage(),e); - throw new RuntimeException("文件导入失败!"); + throw new JeroBootException("文件导入失败!"); } finally { try { file.getInputStream().close(); @@ -399,6 +404,9 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl Date: Mon, 6 Sep 2021 11:45:29 +0800 Subject: [PATCH 06/14] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=84=E6=88=90?= =?UTF-8?q?=E5=91=98=E8=AE=BE=E7=BD=AE=E6=94=B6=E8=B4=B9=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/controller/PayWorkingGroupSubItemController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java index 43780358..0c9ebf08 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupSubItemController.java @@ -145,11 +145,12 @@ public class PayWorkingGroupSubItemController extends JeroController getCharge(@RequestParam(name = "ids") String ids) { + public Result getCharge(@RequestParam(name = "ids") String ids,@RequestParam(name = "workingGroupId") String workingGroupId) { if(StringUtils.isBlank(ids)){ return Result.error("id不能为空!"); } @@ -161,6 +162,7 @@ public class PayWorkingGroupSubItemController extends JeroController query = new LambdaQueryWrapper<>(); query.in(PayWorkingGroupSubItem::getId,Arrays.asList(ids.split(","))); + query.eq(PayWorkingGroupSubItem::getWorkingGroupId,workingGroupId); List list = payWorkingGroupSubItemService.list(); if(!CollectionUtils.isEmpty(list)){ List listNew = list.stream().filter(p->!Objects.equals(p.getChargeWay(),PayProjectCommon.CHARGE_WAY3)).collect(Collectors.toList()); From bc8bb77a227908461dfc26a5b1f130b64fafc2d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Mon, 6 Sep 2021 14:43:31 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E6=94=B6=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PayContactsManagementController.java | 3 - .../PayIncomeContractController.java | 17 +++-- .../entity/PayIncomeContractInstallment.java | 8 +-- .../service/IPayIncomeContractService.java | 4 +- .../impl/PayIncomeContractServiceImpl.java | 67 ++++++++++--------- .../contract/vo/PayIncomeContractInput.java | 7 +- 6 files changed, 60 insertions(+), 46 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java index bdf2ef7f..52222e72 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java @@ -16,11 +16,9 @@ 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.system.query.QueryGenerator; -import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.common.util.oConvertUtils; -import com.jero.company.common.PayCompanyManagementCommon; import com.jero.company.common.PayContactsManagementCommon; import com.jero.company.entity.PayCompanyManagement; import com.jero.company.entity.PayContactsManagement; @@ -29,7 +27,6 @@ import com.jero.company.service.IPayContactsManagementService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.SecurityUtils; import org.jeecgframework.poi.excel.ExcelImportCheckUtil; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java index 633d4b68..5bde7a79 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java @@ -102,7 +102,16 @@ public class PayIncomeContractController extends JeroController 50){ + return Result.error("合同编号长度不能大于50个字符!"); + } + if(!StringUtils.isBlank(payIncomeContract.getContractName()) && payIncomeContract.getContractName().length() > 50){ + return Result.error("合同名称长度不能大于50个字符!"); + } + if(!StringUtils.isBlank(projectName) && projectName.length() > 50){ + return Result.error("关联项目长度不能大于50个字符!"); + } + // todo 缺少会议,会员项目 Page page = new Page<>(pageNo, pageSize); IPage pageList = payIncomeContractService.queryPageList(page, payIncomeContract,chargeStatus,projectName,startTime,endTime); pageList.getRecords().forEach(p->{ @@ -140,14 +149,14 @@ public class PayIncomeContractController extends JeroController associated(@RequestBody PayIncomeContractAssociatedInput input) { - List list = payIncomeContractService.associated(input); + public Result associated(@RequestBody List listPayIncomeContractAssociated) { + List list = payIncomeContractService.associated(listPayIncomeContractAssociated); return Result.OK("关联成功!",list); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractInstallment.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractInstallment.java index 7b7747b0..a17c009d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractInstallment.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractInstallment.java @@ -44,8 +44,8 @@ public class PayIncomeContractInstallment implements Serializable { @ApiModelProperty(value = "应收金额") private java.lang.String accountsReceivableAmount; /**应收时间*/ - @Excel(name = "应收时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "应收时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "应收时间") private java.util.Date accountsReceivableTime; @@ -54,8 +54,8 @@ public class PayIncomeContractInstallment implements Serializable { @ApiModelProperty(value = "实收金额") private java.lang.String paidAmount; /**实收时间*/ - @Excel(name = "实收时间", width = 15, format = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "实收时间", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "实收时间") private java.util.Date paidTime; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java index c4a1cc3e..35bd1da6 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java @@ -54,11 +54,11 @@ public interface IPayIncomeContractService extends IService { * @Description 收入合同-关联 * @Author lqt * @Date 2021/9/5 - * @Param input 关联项目 + * @Param list 关联项目 * @Return * @Exception */ - List associated(PayIncomeContractAssociatedInput input); + List associated(List listPayIncomeContractAssociated); /** * @Description 取消关联 * @Author lqt diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java index f61934b7..102062a1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java @@ -93,10 +93,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl listPayIncomeContractInstallment = new ArrayList<>(); - if(!StringUtils.isBlank(input.getInstallment())){ - listPayIncomeContractInstallment = JSONArray.parseArray(input.getInstallment(),PayIncomeContractInstallment.class); + if(!CollectionUtils.isEmpty(input.getInstallment())){ + listPayIncomeContractInstallment = input.getInstallment(); } try { LambdaQueryWrapper query = new LambdaQueryWrapper<>(); @@ -142,7 +139,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl listPayIncomeContractInstallment = new ArrayList<>(); - if(!StringUtils.isBlank(input.getInstallment())){ - listPayIncomeContractInstallment = JSONArray.parseArray(input.getInstallment(),PayIncomeContractInstallment.class); + if(!CollectionUtils.isEmpty(input.getInstallment())){ + listPayIncomeContractInstallment = input.getInstallment(); } try { LambdaQueryWrapper query = new LambdaQueryWrapper<>(); @@ -236,11 +229,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl associated(PayIncomeContractAssociatedInput input) { - if(StringUtils.isBlank(input.getAssociated())){ - throw new JeroBootException("关联项目不能为空!"); - } - List listPayIncomeContractAssociated = JSONArray.parseArray(input.getAssociated(),PayIncomeContractAssociated.class); + public List associated(List listPayIncomeContractAssociated) { if(CollectionUtils.isEmpty(listPayIncomeContractAssociated)){ throw new JeroBootException("关联项目不能为空!"); } @@ -255,13 +244,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl queryPayIncomeContractAssociated = new LambdaQueryWrapper<>(); - queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,p.getContractId()); - queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectId,p.getProjectId()); - List listPayIncomeContractAssociatedNew = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated); - if(!CollectionUtils.isEmpty(listPayIncomeContractAssociatedNew)){ - throw new JeroBootException("项目已被其他合同关联!"); - } + // 查看项目类型 switch (String.valueOf(p.getProjectType())){ case PayIncomeContractCommon.PROJECT_TYPE1: @@ -271,6 +254,12 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayCommonProject = new LambdaUpdateWrapper<>(); @@ -301,13 +290,19 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); + updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1); + updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId()); + payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem); + // todo 添加打包企业 + } // 更新项目id p.setProjectId(listPayWorkingGroupSubItem.get(0).getId()); - // 打包,将关联项目设置成打包 - LambdaUpdateWrapper updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); - updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1); - updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId()); - payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem); projectOutput.setProjectId(listPayWorkingGroupSubItem.get(0).getId()); projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE2); projectOutput.setChargeProject(payWorkingGroup.getWorkingGroupProject()); @@ -331,6 +326,16 @@ public class PayIncomeContractServiceImpl extends ServiceImpl query = new LambdaQueryWrapper<>(); + query.eq(PayIncomeContractAssociated::getContractId,contractId); + query.eq(PayIncomeContractAssociated::getProjectId,projectId); + List list = payIncomeContractAssociatedService.list(query); + if(!CollectionUtils.isEmpty(list)){ + throw new JeroBootException("项目已被其他合同关联!"); + } + } + @Override @Transactional public void cancelAssociated(PayIncomeContractAssociated payIncomeContractAssociated) { diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractInput.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractInput.java index 862186a4..913a7390 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractInput.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractInput.java @@ -1,9 +1,12 @@ package com.jero.contract.vo; +import com.jero.contract.entity.PayIncomeContract; +import com.jero.contract.entity.PayIncomeContractInstallment; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; @Data public class PayIncomeContractInput implements Serializable { @@ -11,10 +14,10 @@ public class PayIncomeContractInput implements Serializable { * 合同数据 */ @ApiModelProperty(value = "合同数据") - private String contract; + private PayIncomeContract contract; /** * 分期信息 */ @ApiModelProperty(value = "分期信息") - private String installment; + private List installment; } From 7980abbe80788a10cacd60f864f2f75d491b2d9a Mon Sep 17 00:00:00 2001 From: lijiarao Date: Mon, 6 Sep 2021 14:58:21 +0800 Subject: [PATCH 08/14] =?UTF-8?q?add=20=E4=BC=9A=E8=AE=AE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/controller/JeroController.java | 15 +- .../controller/PayMeetingController.java | 334 +++++++++++------- .../entity/PayMeetingHotelContacts.java | 1 - .../service/impl/PayMeetingServiceImpl.java | 88 +++-- .../com/jero/meeting/vo/PayMeetingVO.java | 13 +- 5 files changed, 275 insertions(+), 176 deletions(-) diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java index 48f0f969..cbbd68eb 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java @@ -85,17 +85,14 @@ public class JeroController> { * * @param */ - protected ModelAndView exportListXls(List object, Class clazz, String title) { + protected ModelAndView exportListXls(List object, Class clazz, String title) { // Step.3 AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - mv.addObject(NormalExcelConstants.FILE_NAME, title); //此处设置的filename无效 ,前端会重更新设置一下 + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); mv.addObject(NormalExcelConstants.CLASS, clazz); - //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- - ExportParams exportParams=new ExportParams(title, title); - exportParams.setImageBasePath(upLoadPath); - //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- - mv.addObject(NormalExcelConstants.PARAMS,exportParams); - mv.addObject(NormalExcelConstants.DATA_LIST, null); + mv.addObject(NormalExcelConstants.PARAMS,new ExportParams(title, title)); + mv.addObject(NormalExcelConstants.DATA_LIST, object); return mv; } @@ -167,7 +164,7 @@ public class JeroController> { /** * 导出Excel模板 */ - public ModelAndView exportTemplate(Class exportClass, String title) { + public ModelAndView exportTemplate(Class exportClass, String title) { // AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); //此处设置的filename无效 ,前端会重更新设置一下 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java index 58db42e7..5516ceee 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java @@ -1,7 +1,10 @@ package com.jero.meeting.controller; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -14,6 +17,7 @@ import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; +import com.jero.common.util.oConvertUtils; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingHotelContacts; @@ -24,8 +28,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.meeting.vo.PayMeetingVO; import com.jero.modules.system.volid.group.UpdateGroup; +import com.jero.project.entity.PayWorkingGroup; +import com.jero.project.service.IPayWorkingGroupService; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; +import org.apache.commons.beanutils.PropertyUtils; +import org.apache.poi.ss.formula.functions.T; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -34,160 +45,229 @@ import io.swagger.annotations.ApiOperation; import com.jero.common.aspect.annotation.AutoLog; - /** +/** * @description: 会议管理 * @author: jero-boot - * @date: 2021-09-02 + * @date: 2021-09-02 * @version: V1.0 */ -@Api(tags="会议管理") +@Api(tags = "会议管理") @RestController @RequestMapping("/meeting/payMeeting") @Slf4j public class PayMeetingController extends JeroController { - @Resource - private IPayMeetingService payMeetingService; - @Resource - private ISysBaseAPI sysBaseApi; - @Resource - private IPayMeetingHotelContactsService meetingHotelContactsService; - - /** - * 分页列表查询 - */ - @AutoLog(value = "会议管理-分页列表查询") - @ApiOperation(value="会议管理-分页列表查询", notes="会议管理-分页列表查询") - @GetMapping(value = "/page") - public Result queryPageList(PayMeeting payMeeting, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, req.getParameterMap()); - Page page = new Page<>(pageNo, pageSize); - IPage pageList = payMeetingService.page(page, queryWrapper); - for (PayMeeting meeting : pageList.getRecords()) { - //查询会议负责人 - LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId()); - meeting.setDirectorName(user.getUsername()); - meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); - PayMeetingVO payMeetingVO = new PayMeetingVO(); - BeanUtils.copyProperties(payMeetingVO,payMeeting); - //查询酒店联系人列表 - if (meeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayMeetingHotelContacts::getMeetingId,meeting.getId()); - List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); - meeting.setHotelContactsList(payMeetingHotelContactsList); - } - } - - return Result.OK(pageList); - } + @Resource + private IPayMeetingService payMeetingService; + @Resource + private ISysBaseAPI sysBaseApi; + @Resource + private IPayMeetingHotelContactsService meetingHotelContactsService; + @Resource + private IPayWorkingGroupService payWorkingGroupService; /** - * 列表查询 - */ - @AutoLog(value = "会议管理-列表查询") - @ApiOperation(value="会议管理-列表查询", notes="会议管理-列表查询") - @GetMapping(value = "/list") - public Result> queryList() { + * 分页列表查询 + */ + @AutoLog(value = "会议管理-分页列表查询") + @ApiOperation(value = "会议管理-分页列表查询", notes = "会议管理-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(PayMeeting payMeeting, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, req.getParameterMap()); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payMeetingService.page(page, queryWrapper); + for (PayMeeting meeting : pageList.getRecords()) { + //查询会议负责人 + LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId()); + meeting.setDirectorName(user.getUsername()); + meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); + PayMeetingVO payMeetingVO = new PayMeetingVO(); + BeanUtils.copyProperties(payMeetingVO, payMeeting); + //查询酒店联系人列表 + if (meeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + meeting.setHotelContactsList(payMeetingHotelContactsList); + } + } + + return Result.OK(pageList); + } + + /** + * 列表查询 + */ + @AutoLog(value = "会议管理-列表查询") + @ApiOperation(value = "会议管理-列表查询", notes = "会议管理-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { List list = payMeetingService.queryList(); return Result.OK(list); - } - - /** - * 添加 - */ - @AutoLog(value = "会议管理-添加") - @ApiOperation(value="会议管理-添加", notes="会议管理-添加") - @PostMapping(value = "/add") - public Result add(@RequestBody PayMeetingVO payMeetingVO) { - ValidUtil.validate(payMeetingVO); - payMeetingService.add(payMeetingVO); - return Result.OK("添加成功!"); - } - - /** - * 编辑 - */ - @AutoLog(value = "会议管理-编辑") - @ApiOperation(value="会议管理-编辑", notes="会议管理-编辑") - @PostMapping(value = "/edit") - public Result edit(@RequestBody PayMeetingVO payMeetingVO) { - ValidUtil.validate(payMeetingVO, UpdateGroup.class); - payMeetingService.editById(payMeetingVO); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - */ - @AutoLog(value = "会议管理-通过id删除") - @ApiOperation(value="会议管理-通过id删除", notes="会议管理-通过id删除") - @GetMapping(value = "/delete") - public Result delete(@RequestParam(name="id") String id) { - payMeetingService.deleteById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - */ - @AutoLog(value = "会议管理-批量删除") - @ApiOperation(value="会议管理-批量删除", notes="会议管理-批量删除") - @GetMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids") String ids) { - this.payMeetingService.deleteByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - */ - @AutoLog(value = "会议管理-通过id查询") - @ApiOperation(value="会议管理-通过id查询", notes="会议管理-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id") String id) { - PayMeeting payMeeting = payMeetingService.queryById(id); - if(payMeeting==null) { - return Result.error("未找到对应数据"); - } - //查询会议负责人 - LoginUser user = sysBaseApi.getUserById(payMeeting.getDirectorId()); - payMeeting.setDirectorName(user.getUsername()); - payMeeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); - PayMeetingVO payMeetingVO = new PayMeetingVO(); - BeanUtils.copyProperties(payMeetingVO,payMeeting); - //查询酒店联系人列表 - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayMeetingHotelContacts::getMeetingId,payMeeting.getId()); - List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); - payMeeting.setHotelContactsList(payMeetingHotelContactsList); - return Result.OK(payMeeting); - } + } /** - * 导出excel - */ + * 添加 + */ + @AutoLog(value = "会议管理-添加") + @ApiOperation(value = "会议管理-添加", notes = "会议管理-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody PayMeetingVO payMeetingVO) { + ValidUtil.validate(payMeetingVO); + payMeetingService.add(payMeetingVO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + */ + @AutoLog(value = "会议管理-编辑") + @ApiOperation(value = "会议管理-编辑", notes = "会议管理-编辑") + @PostMapping(value = "/edit") + public Result edit(@RequestBody PayMeetingVO payMeetingVO) { + ValidUtil.validate(payMeetingVO, UpdateGroup.class); + payMeetingService.editById(payMeetingVO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + */ + @AutoLog(value = "会议管理-通过id删除") + @ApiOperation(value = "会议管理-通过id删除", notes = "会议管理-通过id删除") + @GetMapping(value = "/delete") + public Result delete(@RequestParam(name = "id") String id) { + payMeetingService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + */ + @AutoLog(value = "会议管理-批量删除") + @ApiOperation(value = "会议管理-批量删除", notes = "会议管理-批量删除") + @GetMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids") String ids) { + this.payMeetingService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + */ + @AutoLog(value = "会议管理-通过id查询") + @ApiOperation(value = "会议管理-通过id查询", notes = "会议管理-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id") String id) { + PayMeeting meeting = payMeetingService.queryById(id); + if (meeting == null) { + return Result.error("未找到对应数据"); + } + //查询会议负责人 + LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId()); + meeting.setDirectorName(user.getUsername()); + meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); + PayMeetingVO payMeetingVO = new PayMeetingVO(); + BeanUtils.copyProperties(meeting, payMeetingVO); + String meetingType = meeting.getMeetingType().toString(); + //String meetingType1 = sysBaseApi.translateDict("meeting_type", meetingType); + payMeetingVO.setMeetingType(meetingType); + payMeetingVO.setTbMeetingType(meeting.getMeetingType().toString()); + //payMeetingVO.setHotelContactsList(new ArrayList<>()); + //标协会议查询酒店联系人列表 + if (meetingType.equals(MeetingCommon.STANDARD_MEETING)) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + payMeetingVO.setHotelContactsList(payMeetingHotelContactsList); + //标协会议类型 + //String tbMeetingType = meeting.getTbMeetingType().toString(); + //String type = sysBaseApi.translateDict("standard_meeting_type", tbMeetingType); + //payMeetingVO.setTbMeetingType(type); + // 工作组项目查询工作组项目名 + } else if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING)) { + String workingGroupId = meeting.getWorkingGroupId(); + PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); + payMeetingVO.setWorkingGroupName(workingGroup.getWorkingGroupProject()); + } + return Result.OK(payMeetingVO); + } + + /** + * 导出excel + */ @GetMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, PayMeeting payMeeting) { - return super.exportXls(request, payMeeting, PayMeeting.class, "会议管理"); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); + List pageList = payMeetingService.list(queryWrapper); + List exportList = new ArrayList<>(); + // 过滤选中数据 + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + pageList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); + } + for (PayMeeting meeting : pageList) { + //查询会议负责人 + LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId()); + meeting.setDirectorName(user.getUsername()); + meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); + PayMeetingVO payMeetingVO = new PayMeetingVO(); + BeanUtils.copyProperties(meeting, payMeetingVO); + String meetingType = meeting.getMeetingType().toString(); + String meetingType1 = sysBaseApi.translateDict("meeting_type", meetingType); + payMeetingVO.setMeetingType(meetingType1); + payMeetingVO.setHotelContactsList(new ArrayList<>()); + //标协会议查询酒店联系人列表 + if (meetingType.equals(MeetingCommon.STANDARD_MEETING)) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + payMeetingVO.setHotelContactsList(payMeetingHotelContactsList); + //标协会议类型 + String tbMeetingType = meeting.getTbMeetingType().toString(); + String type = sysBaseApi.translateDict("standard_meeting_type", tbMeetingType); + payMeetingVO.setTbMeetingType(type); + // 工作组项目查询工作组项目名 + } else if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING)) { + String workingGroupId = meeting.getWorkingGroupId(); + PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); + payMeetingVO.setWorkingGroupName(workingGroup.getWorkingGroupProject()); + } + exportList.add(payMeetingVO); + } + return super.exportListXls(exportList, PayMeetingVO.class, "会议管理"); } /** - * 导出excel模板 - */ + * 导出excel模板 + */ @GetMapping(value = "/exportTemplate") public ModelAndView exportTemplate() { - return super.exportTemplate(PayMeeting.class, "会议管理"); + return super.exportTemplate(PayMeetingVO.class, "会议管理"); } /** - * 通过excel导入数据 - */ + * 通过excel导入数据 + */ @PostMapping(value = "/importExcel") public Result importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, PayMeeting.class); } + /** + * 获取对象ID + * + * @return + */ + private String getId(PayMeeting item) { + try { + return PropertyUtils.getProperty(item, "id").toString(); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingHotelContacts.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingHotelContacts.java index 7699992a..4978160f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingHotelContacts.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingHotelContacts.java @@ -35,7 +35,6 @@ public class PayMeetingHotelContacts implements Serializable { private String id; /**会议id*/ - @Excel(name = "会议id", width = 15) @ApiModelProperty(value = "会议id") private String meetingId; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index f09a509a..066a48a1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -16,6 +16,8 @@ import com.jero.meeting.valid.group.InternationalMeeting; import com.jero.meeting.valid.group.StandardMeeting; import com.jero.meeting.valid.group.WorkingGroupMeeting; import com.jero.meeting.vo.PayMeetingVO; +import com.jero.project.entity.PayWorkingGroup; +import com.jero.project.service.IPayWorkingGroupService; import org.apache.shiro.util.CollectionUtils; import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; @@ -23,6 +25,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +import java.util.Map; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -42,7 +45,8 @@ public class PayMeetingServiceImpl extends ServiceImpl codeList = new ArrayList<>(); - //VIP邀请码 - String vipInvitationCode = payMeetingVO.getVipInvitationCode(); - codeList.add(vipInvitationCode); - //演讲嘉宾邀请码 - String speakerInvitationCode = payMeetingVO.getSpeakerInvitationCode(); - if (codeList.contains(speakerInvitationCode)) { - throw new JeroBootException("邀请码不能重复"); - } - codeList.add(speakerInvitationCode); - //特邀嘉宾邀请码 - String guestInvitationCode = payMeetingVO.getGuestInvitationCode(); - if (codeList.contains(guestInvitationCode)) { - throw new JeroBootException("邀请码不能重复"); - } - codeList.add(guestInvitationCode); - //合作伙伴邀请码 - String cooperativeInvitationCode = payMeetingVO.getCooperativeInvitationCode(); - if (codeList.contains(cooperativeInvitationCode)) { - throw new JeroBootException("邀请码不能重复"); - } - codeList.add(cooperativeInvitationCode); + switch (meetingType) { + case MeetingCommon.WORKING_GROUP_MEETING: + ValidUtil.validate(payMeetingVO, WorkingGroupMeeting.class); + String workingGroupId = payMeetingVO.getWorkingGroupId(); + PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); + if (workingGroup == null){ + throw new JeroBootException("工作组项目不存在"); + } + break; + case MeetingCommon.STANDARD_MEETING: + ValidUtil.validate(payMeetingVO, StandardMeeting.class); + //标协会议类型 + Map standardMeetingType = sysBaseApi.queryDictItemsMapByCode("standard_meeting_type"); + String tbMeetingType = payMeetingVO.getTbMeetingType(); + if (!standardMeetingType.containsKey(tbMeetingType)){ + throw new JeroBootException("标协会议类型不存在"); + } + hotelContactsList = payMeetingVO.getHotelContactsList(); + for (PayMeetingHotelContacts hotelContacts : hotelContactsList) { + ValidUtil.validate(hotelContacts, StandardMeeting.class); + } + break; + case MeetingCommon.INTERNATIONAL_MEETING: + ValidUtil.validate(payMeetingVO, InternationalMeeting.class); + //邀请码不能有重复的 + List codeList = new ArrayList<>(); + //VIP邀请码 + String vipInvitationCode = payMeetingVO.getVipInvitationCode(); + codeList.add(vipInvitationCode); + //演讲嘉宾邀请码 + String speakerInvitationCode = payMeetingVO.getSpeakerInvitationCode(); + if (codeList.contains(speakerInvitationCode)) { + throw new JeroBootException("邀请码不能重复"); + } + codeList.add(speakerInvitationCode); + //特邀嘉宾邀请码 + String guestInvitationCode = payMeetingVO.getGuestInvitationCode(); + if (codeList.contains(guestInvitationCode)) { + throw new JeroBootException("邀请码不能重复"); + } + codeList.add(guestInvitationCode); + //合作伙伴邀请码 + String cooperativeInvitationCode = payMeetingVO.getCooperativeInvitationCode(); + if (codeList.contains(cooperativeInvitationCode)) { + throw new JeroBootException("邀请码不能重复"); + } + codeList.add(cooperativeInvitationCode); + break; + default: } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java index 82609541..4c5a9522 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java @@ -1,6 +1,7 @@ package com.jero.meeting.vo; import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.common.util.PasswordUtil; import com.jero.meeting.entity.PayMeetingHotelContacts; import com.jero.meeting.valid.group.InternationalMeeting; import com.jero.meeting.valid.group.StandardMeeting; @@ -10,6 +11,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.Max; @@ -43,24 +45,24 @@ public class PayMeetingVO implements Serializable { private String meetingName; /**会议类型*/ - @Excel(name = "会议类型", width = 15,dicCode = "meeting_type") + @Excel(name = "会议类型", width = 15) @ApiModelProperty(value = "会议类型") @NotBlank(message = "会议类型不能为空") private String meetingType; /**标协会议类型*/ - @Excel(name = "标协会议类型", width = 15,dicCode = "standard_meeting_type") + @Excel(name = "标协会议类型", width = 15) @ApiModelProperty(value = "标协会议类型") @NotBlank(message = "标协会议类型不能为空", groups = StandardMeeting.class) private String tbMeetingType; /**工作组项目id*/ - @Excel(name = "工作组项目名称", width = 15, dictTable = "pay_working_group",dicText = "working_group_project",dicCode = "id") @ApiModelProperty(value = "工作组项目id") @NotBlank(message = "工作组项目名称不能为空", groups = WorkingGroupMeeting.class) private String workingGroupId; /**工作组项目名称*/ + @Excel(name = "工作组项目名称", width = 15) @ApiModelProperty(value = "工作组项目名称") private String workingGroupName; @@ -185,17 +187,17 @@ public class PayMeetingVO implements Serializable { private Integer meetingCostsVip; /**会议负责人id*/ - @Excel(name = "会议负责人", width = 15,dictTable = "sys_user",dicText = "username",dicCode = "id") @ApiModelProperty(value = "会议负责人id") @NotBlank(message = "会议负责人不能为空") private String directorId; /**会议负责人*/ + @Excel(name = "会议负责人", width = 15) @ApiModelProperty(value = "会议负责人") private String directorName; /**会议负责人手机号*/ - @Excel(name = "会议负责人手机号", width = 15,exportConvert = true) + @Excel(name = "会议负责人手机号", width = 15) @ApiModelProperty(value = "会议负责人手机号") private String directorPhone; @@ -216,6 +218,7 @@ public class PayMeetingVO implements Serializable { /** * 会议关联酒店联系人列表 */ + @ExcelCollection(name = "酒店联系人列表") @NotNull(message = "酒店联系人不能为空",groups = StandardMeeting.class) @Size(max = 5, message = "酒店联系人最多为5个",groups = StandardMeeting.class) private List hotelContactsList; From d3727c1f58cdaacab937b17d885ec20fb46b4cd2 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Mon, 6 Sep 2021 16:38:14 +0800 Subject: [PATCH 09/14] =?UTF-8?q?add=20=E5=A2=9E=E5=8A=A0=E5=8A=A0?= =?UTF-8?q?=E5=AF=86=E5=AD=97=E6=AE=B5=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/DuplicateCheckController.java | 7 +++++++ .../com/jero/modules/system/model/DuplicateCheckVo.java | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/DuplicateCheckController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/DuplicateCheckController.java index d218bb5d..c3d16406 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/DuplicateCheckController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/DuplicateCheckController.java @@ -1,6 +1,8 @@ package com.jero.modules.system.controller; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.util.PasswordUtil; import com.jero.modules.system.entity.SysConfusion; import com.jero.modules.system.entity.SysDepartRolePermission; import com.jero.modules.system.mapper.SysConfusionMapper; @@ -52,6 +54,11 @@ public class DuplicateCheckController { duplicateCheckVo.setTableName(sysConfusion.getTableName()); duplicateCheckVo.setFieldName(sysConfusion.getFieldName()); + //如果加密字段有值,则把校验数据进行加密后在判断 + String encrypt = duplicateCheckVo.getEncrypt(); + if (StrUtil.isNotBlank(encrypt)){ + duplicateCheckVo.setFieldVal(PasswordUtil.encrypt(duplicateCheckVo.getFieldVal())); + } log.info("----duplicate check------:" + duplicateCheckVo.toString()); //关联表字典(举例:sys_user,realname,id) //SQL注入校验(只限制非法串改数据库) diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/DuplicateCheckVo.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/DuplicateCheckVo.java index affcc0c4..ac3c465c 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/DuplicateCheckVo.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/DuplicateCheckVo.java @@ -50,4 +50,10 @@ public class DuplicateCheckVo implements Serializable { @ApiModelProperty(value="数据ID",name="dataId",example="2000") private String dataId; + /** + * 是否加密 + */ + @ApiModelProperty(value="是否加密",name="encrypt") + private String encrypt; + } \ No newline at end of file From 251934fdac13610f0fd3e78af999297973eec1c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Mon, 6 Sep 2021 17:08:56 +0800 Subject: [PATCH 10/14] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=AD=97=E5=85=B8=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PayIncomeContractController.java | 117 ++++++++---------- .../contract/entity/PayIncomeContract.java | 11 +- .../entity/PayIncomeContractAudit.java | 8 +- .../mapper/PayIncomeContractMapper.java | 14 +++ .../mapper/xml/PayIncomeContractMapper.xml | 35 ++++++ .../service/IPayIncomeContractService.java | 9 ++ .../impl/PayIncomeContractServiceImpl.java | 73 ++++++++--- .../vo/PayIncomeContractAuditOutput.java | 14 +++ .../vo/PayIncomeContractDetailOutput.java | 21 +++- .../com/jero/contract/vo/ProjectOutput.java | 8 +- 10 files changed, 222 insertions(+), 88 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractAuditOutput.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java index 5bde7a79..1380e56e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java @@ -1,6 +1,7 @@ package com.jero.contract.controller; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -38,7 +39,6 @@ import org.apache.commons.lang3.StringUtils; import org.jeecgframework.poi.excel.def.MapExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecgframework.poi.excel.view.JeecgMapExcelView; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; @@ -146,10 +146,31 @@ public class PayIncomeContractController extends JeroController getAssociated(@RequestParam("contractId") String contractId) { + List list = payIncomeContractService.getAssociated(contractId); + if(!CollectionUtils.isEmpty(list)){ + list.forEach(p->{ + if(!StringUtils.isBlank(p.getChargeUse())){ + p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",p.getChargeUse())); + } + }); + } + return Result.OK(list); + } + /** * 关联 * - * @param listPayIncomeContractAssociated + * @param listPayIncomeContractAssociated 关联项目集合 * @return */ @AutoLog(value = "收入合同-关联") @@ -163,7 +184,7 @@ public class PayIncomeContractController extends JeroController cancelAssociated(@RequestBody PayIncomeContractAssociated payIncomeContractAssociated) { payIncomeContractService.cancelAssociated(payIncomeContractAssociated); - return Result.OK("关联成功!"); + return Result.OK("取消关联成功!"); } /** @@ -273,77 +294,50 @@ public class PayIncomeContractController extends JeroController queryPayIncomeContractInstallment = new LambdaQueryWrapper<>(); queryPayIncomeContractInstallment.eq(PayIncomeContractInstallment::getContractId,payIncomeContract.getId()); List listPayIncomeContractInstallment = payIncomeContractInstallmentService.list(queryPayIncomeContractInstallment); // 获取关联项目id - List listProject = new ArrayList<>(); - LambdaQueryWrapper queryPayIncomeContractAssociated = new LambdaQueryWrapper<>(); - queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,id); - List listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated); - if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){ - List listId = listPayIncomeContractAssociated.stream().map(PayIncomeContractAssociated::getProjectId).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listId)){ - // 普通项目 - LambdaQueryWrapper queryPayCommonProject = new LambdaQueryWrapper<>(); - queryPayCommonProject.in(PayCommonProject::getId,listId); - List listPayCommonProject = payCommonProjectService.list(queryPayCommonProject); - if(!CollectionUtils.isEmpty(listPayCommonProject)){ - listPayCommonProject.forEach(p->{ - ProjectOutput projectOutput = new ProjectOutput(); - projectOutput.setProjectId(p.getId()); - projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE1); - projectOutput.setChargeProject(p.getChargeProject()); - projectOutput.setChargeUse(p.getChargeUse()); - projectOutput.setChargeCompanyName(p.getChargeCompanyTemporaryName()); - projectOutput.setContactsName(p.getChargeCompanyTemporaryName()); - projectOutput.setPaidAmount(p.getPaidAmount()); - projectOutput.setReceivableAmount(p.getReceivableAmount()); - listProject.add(projectOutput); - }); - } - // 工作组项目 - LambdaQueryWrapper queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>(); - queryPayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getId,listId); - List listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem); - if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){ - listPayWorkingGroupSubItem.forEach(p->{ - PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(p.getWorkingGroupId()); - ProjectOutput projectOutput = new ProjectOutput(); - projectOutput.setProjectId(p.getId()); - projectOutput.setProjectType(PayIncomeContractCommon.PROJECT_TYPE2); - if(Objects.isNull(payWorkingGroup)){ - projectOutput.setChargeProject(payWorkingGroup.getWorkingGroupProject()); - } - projectOutput.setChargeProject(p.getChargeProject()); - projectOutput.setChargeCompanyName(p.getChargeCompanyTemporaryName()); - projectOutput.setContactsName(p.getChargeCompanyTemporaryName()); - projectOutput.setPaidAmount(p.getPaidAmount()); - projectOutput.setReceivableAmount(p.getReceivableAmount()); - listProject.add(projectOutput); - }); - } - // todo 会议项目 - // todo 会员项目 - } - } - // 获取存档记录 + List listProject = payIncomeContractService.getAssociated(id); + LambdaQueryWrapper queryPayIncomeContractAudit = new LambdaQueryWrapper<>(); queryPayIncomeContractAudit.in(PayIncomeContractAudit::getContractId,id); List listPayIncomeContractAudit = payIncomeContractAuditService.list(queryPayIncomeContractAudit); - List listArchive = listPayIncomeContractAudit.stream().filter(p->Objects.equals(p.getContractStatus(), PayIncomeContractCommon.STATUS5)).collect(Collectors.toList()); - // 获取审核记录 - List listAudit = listPayIncomeContractAudit.stream().filter(p->!Objects.equals(p.getContractStatus(), PayIncomeContractCommon.STATUS5)).collect(Collectors.toList()); + List listArchive = new ArrayList<>(); + List listAudit = new ArrayList<>(); + if(!CollectionUtils.isEmpty(listPayIncomeContractAudit)){ + String str = JSON.toJSONString(listPayIncomeContractAudit); + List listAll = JSONArray.parseArray(str,PayIncomeContractAuditOutput.class); + listAll.forEach(p->{ + if(!Objects.isNull(p.getContractStatus())){ + p.setContractStatus_dictText(sysBaseAPI.translateDict("revenue_contract_status",String.valueOf(p.getContractStatus()))); + } + }); + // 获取存档记录 + listArchive = listAll.stream().filter(p->Objects.equals(p.getContractStatus(), PayIncomeContractCommon.STATUS5)).collect(Collectors.toList()); + // 获取审核记录 + listAudit = listAll.stream().filter(p->!Objects.equals(p.getContractStatus(), PayIncomeContractCommon.STATUS5)).collect(Collectors.toList()); + } String str = JSON.toJSONString(payIncomeContract); PayIncomeContractDetailOutput payIncomeContractDetailOutput = JSONObject.parseObject(str,PayIncomeContractDetailOutput.class); + // 字典翻译 + payIncomeContractDetailOutput.setOpening_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payIncomeContract.getOpening()))); + payIncomeContractDetailOutput.setAccountStatus_dictText(sysBaseAPI.translateDict("revenue_contract_account_status",String.valueOf(payIncomeContract.getAccountStatus()))); + payIncomeContractDetailOutput.setPack_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payIncomeContract.getPack()))); + payIncomeContractDetailOutput.setContractStatus_dictText(sysBaseAPI.translateDict("revenue_contract_status",String.valueOf(payIncomeContract.getStatus()))); if(!CollectionUtils.isEmpty(listPayIncomeContractInstallment)){ payIncomeContractDetailOutput.setListInstallment(listPayIncomeContractInstallment); } if(!CollectionUtils.isEmpty(listProject)){ - listProject.sort((m1,m2)->m2.getCreateTime().compareToIgnoreCase(m1.getCreateTime())); + listProject.forEach(p->{ + if(!StringUtils.isBlank(p.getChargeUse())){ + p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",p.getChargeUse())); + } + }); payIncomeContractDetailOutput.setListProject(listProject); } if(!CollectionUtils.isEmpty(listArchive)){ @@ -380,7 +374,6 @@ public class PayIncomeContractController extends JeroController> list = new ArrayList<>(); // excel字段长度 - // todo 缺少字典转换 Map mapCount = new HashMap<>(); mapCount.put("count",0); if(!CollectionUtils.isEmpty(exportList)){ @@ -392,9 +385,9 @@ public class PayIncomeContractController extends JeroController{ String str = JSON.toJSONString(p); Map map = JSONObject.parseObject(str,Map.class); - map.put("opening",sysBaseAPI.translateDict("revenue_contract_open",String.valueOf(p.getOpening()))); + map.put("opening",sysBaseAPI.translateDict("yn",String.valueOf(p.getOpening()))); map.put("accountStatus",sysBaseAPI.translateDict("revenue_contract_account_status",String.valueOf(p.getAccountStatus()))); - map.put("pack",sysBaseAPI.translateDict("pack_status",String.valueOf(p.getPack()))); + map.put("pack",sysBaseAPI.translateDict("yn",String.valueOf(p.getPack()))); List listSub = listPayIncomeContractInstallment.stream().filter(item-> Objects.equals(p.getId(),item.getContractId())).collect(Collectors.toList()); if(!CollectionUtils.isEmpty(listSub)){ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java index 538672b7..f38f9b19 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContract.java @@ -4,6 +4,7 @@ import java.io.Serializable; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.jero.common.aspect.annotation.Dict; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; @@ -79,10 +80,11 @@ public class PayIncomeContract implements Serializable { @ApiModelProperty(value = "临时签订单位联系人名称") @Size(max = 50, message = "临时签订单位联系人名称长度不能大于50个字符") private java.lang.String signedContactsTemporaryName; - /**是否开口(1为是,2为否)*/ - @Excel(name = "是否开口(1为是,2为否)", width = 15) - @ApiModelProperty(value = "是否开口(1为是,2为否)") + /**是否开口(1为是,0为否)*/ + @Excel(name = "是否开口(1为是,0为否)", width = 15) + @ApiModelProperty(value = "是否开口(1为是,0为否)") @Max(2) + @Dict(dicCode = "yn") private java.lang.Integer opening; /**负责人id*/ @Excel(name = "负责人id", width = 15) @@ -156,6 +158,7 @@ public class PayIncomeContract implements Serializable { @Excel(name = "账款状态(1:未支付,2:部分支付,3:已付全款)", width = 15) @ApiModelProperty(value = "账款状态(1:未支付,2:部分支付,3:已付全款)") @Max(value = 3,message = "账款状态格式错误") + @Dict(dicCode = "revenue_contract_account_status") private java.lang.Integer accountStatus; /**合同约定付款次数*/ @Excel(name = "合同约定付款次数", width = 15) @@ -164,6 +167,7 @@ public class PayIncomeContract implements Serializable { /**是否打包(1:是,2:否)*/ @Excel(name = "是否打包(1:是,2:否)", width = 15) @ApiModelProperty(value = "是否打包(1:是,2:否)") + @Dict(dicCode = "yn") private java.lang.Integer pack; /**打包年份*/ @Excel(name = "打包年份", width = 15) @@ -172,6 +176,7 @@ public class PayIncomeContract implements Serializable { /**合同状态(1:草稿,2:已通过,3:未通过,4:已归档)*/ @Excel(name = "合同状态(1:草稿,2:已通过,3:未通过,4:已归档)", width = 15) @ApiModelProperty(value = "合同状态(1:草稿,2:已通过,3:未通过,4:已归档)") + @Dict(dicCode = "revenue_contract_status") private java.lang.Integer status; /**创建人*/ @ApiModelProperty(value = "创建人") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractAudit.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractAudit.java index e0a6a2f9..7137846b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractAudit.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/entity/PayIncomeContractAudit.java @@ -4,6 +4,7 @@ import java.io.Serializable; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.jero.common.aspect.annotation.Dict; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; @@ -35,9 +36,10 @@ public class PayIncomeContractAudit implements Serializable { @Excel(name = "合同id", width = 15) @ApiModelProperty(value = "合同id") private java.lang.String contractId; - /**合同状态(2:已通过,3:未通过,4:已归档)*/ - @Excel(name = "合同状态(2:已通过,3:未通过,4:已归档)", width = 15) - @ApiModelProperty(value = "合同状态(2:已通过,3:未通过,4:已归档)") + /**合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)*/ + @Excel(name = "合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)", width = 15) + @ApiModelProperty(value = "合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档)") + @Dict(dicCode = "revenue_contract_status") private java.lang.Integer contractStatus; /**拒绝说明*/ @Excel(name = "拒绝说明", width = 15) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractMapper.java index d69f6fc6..ce7f8b08 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/PayIncomeContractMapper.java @@ -6,8 +6,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.vo.PayIncomeContractOutput; +import com.jero.contract.vo.ProjectOutput; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @Description: pay_income_contract * @Author: jeecg-boot @@ -27,4 +30,15 @@ public interface PayIncomeContractMapper extends BaseMapper { IPage queryPageList(Page page, @Param("payIncomeContract") PayIncomeContract payIncomeContract, @Param("chargeStatus") String chargeStatus,@Param("projectName") String projectName, @Param("startTime") String startTime, @Param("endTime") String endTime); + + /** + * @Description 关联项目列表 + * @Author lqt + * @Date 2021/9/6 + * @Param contractId 合同id + * @Return + * @Exception + */ + // todo 缺少会议,会员项目数据 + List getAssociated(@Param("contractId") String contractId); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml index f51b0498..68247fa2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/mapper/xml/PayIncomeContractMapper.xml @@ -75,4 +75,39 @@ GROUP BY pic.id ORDER BY pic.create_time desc + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java index 35bd1da6..e1f5d965 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java @@ -42,6 +42,15 @@ public interface IPayIncomeContractService extends IService { */ void addPayIncomeContractInput(PayIncomeContractInput input); /** + * @Description 关联项目列表 + * @Author lqt + * @Date 2021/9/6 + * @Param contractId 合同id + * @Return + * @Exception + */ + List getAssociated(String contractId); + /** * @Description 编辑 * @Author lqt * @Date 2021/9/3 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java index 102062a1..90902abe 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java @@ -1,14 +1,12 @@ package com.jero.contract.service.impl; -import com.alibaba.fastjson.JSONArray; -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.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.exception.JeroBootException; +import com.jero.common.system.vo.LoginUser; import com.jero.common.util.ValidUtil; import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.entity.PayIncomeContract; @@ -20,7 +18,6 @@ import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractAuditService; import com.jero.contract.service.IPayIncomeContractInstallmentService; import com.jero.contract.service.IPayIncomeContractService; -import com.jero.contract.vo.PayIncomeContractAssociatedInput; import com.jero.contract.vo.PayIncomeContractInput; import com.jero.contract.vo.PayIncomeContractOutput; import com.jero.contract.vo.ProjectOutput; @@ -39,12 +36,14 @@ import com.jero.temporary.service.IPayContactsManagementTemporaryService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -148,6 +147,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl getAssociated(String contractId) { + return payIncomeContractMapper.getAssociated(contractId); + } + @Override @Transactional public void editPayIncomeContractInput(PayIncomeContractInput input) { @@ -233,6 +237,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl listProjectOutput = new ArrayList<>(); listPayIncomeContractAssociated.forEach(p->{ ProjectOutput projectOutput = new ProjectOutput(); @@ -263,8 +268,10 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayCommonProject = new LambdaUpdateWrapper<>(); - updatePayCommonProject.eq(PayCommonProject::getPack,PayIncomeContractCommon.PACK1); updatePayCommonProject.eq(PayCommonProject::getId,p.getProjectId()); + updatePayCommonProject.set(PayCommonProject::getPack,PayIncomeContractCommon.PACK1); + updatePayCommonProject.set(PayCommonProject::getUpdateBy,sysUser.getUsername()); + updatePayCommonProject.set(PayCommonProject::getUpdateTime,new Date()); payCommonProjectService.update(updatePayCommonProject); // todo 添加打包企业 } @@ -290,13 +297,19 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); - updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1); + updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateBy,sysUser.getUsername()); + updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateTime,new Date()); + updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1); updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId()); payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem); // todo 添加打包企业 @@ -325,15 +338,27 @@ public class PayIncomeContractServiceImpl extends ServiceImpl query = new LambdaQueryWrapper<>(); - query.eq(PayIncomeContractAssociated::getContractId,contractId); query.eq(PayIncomeContractAssociated::getProjectId,projectId); List list = payIncomeContractAssociatedService.list(query); if(!CollectionUtils.isEmpty(list)){ + List listNew = list.stream().filter(p->Objects.equals(p.getContractId(),contractId)).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listNew)){ + throw new JeroBootException("项目已关联!"); + } throw new JeroBootException("项目已被其他合同关联!"); } + } @Override @@ -343,6 +368,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayCommonProject = new LambdaUpdateWrapper<>(); - updatePayCommonProject.eq(PayCommonProject::getPack,PayIncomeContractCommon.PACK0); + updatePayCommonProject.set(PayCommonProject::getUpdateBy,sysUser.getUsername()); + updatePayCommonProject.set(PayCommonProject::getUpdateTime,new Date()); + updatePayCommonProject.set(PayCommonProject::getPack,PayIncomeContractCommon.PACK0); updatePayCommonProject.eq(PayCommonProject::getId,payIncomeContractAssociated.getProjectId()); payCommonProjectService.update(updatePayCommonProject); } @@ -375,9 +403,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>(); - updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK0); + updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateBy,sysUser.getUsername()); + updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateTime,new Date()); + updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK0); updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId()); payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem); break; @@ -389,11 +419,12 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayIncomeContract = new LambdaUpdateWrapper<>(); + updatePayIncomeContract.set(PayIncomeContract::getUpdateBy,sysUser.getUsername()); + updatePayIncomeContract.set(PayIncomeContract::getUpdateTime,new Date()); updatePayIncomeContract.eq(PayIncomeContract::getId,payIncomeContract.getId()); - updatePayIncomeContract.eq(PayIncomeContract::getStatus,PayIncomeContractCommon.STATUS3); + updatePayIncomeContract.set(PayIncomeContract::getStatus,PayIncomeContractCommon.STATUS3); payIncomeContractService.update(updatePayIncomeContract); } @@ -463,8 +496,11 @@ public class PayIncomeContractServiceImpl extends ServiceImpl update = new LambdaUpdateWrapper(); - update.eq(PayIncomeContract::getId,payIncomeContractAudit.getContractId()); + update.set(PayIncomeContract::getUpdateBy,sysUser.getUsername()); + update.set(PayIncomeContract::getUpdateTime,new Date()); + update.set(PayIncomeContract::getId,payIncomeContractAudit.getContractId()); update.eq(PayIncomeContract::getStatus, payIncomeContractAudit.getContractStatus()); payIncomeContractService.update(update); // 添加审核记录 @@ -482,9 +518,12 @@ public class PayIncomeContractServiceImpl extends ServiceImpl update = new LambdaUpdateWrapper(); + update.set(PayIncomeContract::getUpdateBy,sysUser.getUsername()); + update.set(PayIncomeContract::getUpdateTime,new Date()); update.eq(PayIncomeContract::getId,id); - update.eq(PayIncomeContract::getStatus, PayIncomeContractCommon.STATUS5); + update.set(PayIncomeContract::getStatus, PayIncomeContractCommon.STATUS5); payIncomeContractService.update(update); // 添加归档记录 PayIncomeContractAudit payIncomeContractAudit = new PayIncomeContractAudit(); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractAuditOutput.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractAuditOutput.java new file mode 100644 index 00000000..40a04380 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractAuditOutput.java @@ -0,0 +1,14 @@ +package com.jero.contract.vo; + +import com.jero.contract.entity.PayIncomeContractAudit; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class PayIncomeContractAuditOutput extends PayIncomeContractAudit implements Serializable { + /** + * 合同状态(1:草稿,2:待审核,3:已通过,4:未通过,5:已归档) + */ + private String contractStatus_dictText; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractDetailOutput.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractDetailOutput.java index ab52524e..ffa08c41 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractDetailOutput.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/PayIncomeContractDetailOutput.java @@ -11,6 +11,23 @@ import java.util.List; @Data public class PayIncomeContractDetailOutput extends PayIncomeContract implements Serializable { + + /** + * 是否开口(1为是,0为否) + */ + private String opening_dictText; + /** + * 账款状态(1:未支付,2:部分支付,3:已付全款) + */ + private String accountStatus_dictText; + /** + * 是否打包(1:是,2:否) + */ + private String pack_dictText; + /** + * 合同状态(1:草稿,2:已通过,3:未通过,4:已归档) + */ + private String contractStatus_dictText; /** * 分期记录 */ @@ -25,10 +42,10 @@ public class PayIncomeContractDetailOutput extends PayIncomeContract implements * 归档记录 */ @ApiModelProperty(value = "归档记录") - private List listArchive; + private List listArchive; /** * 审核记录 */ @ApiModelProperty(value = "审核记录") - private List listAudit; + private List listAudit; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/ProjectOutput.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/ProjectOutput.java index 36faf743..5837f4f2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/ProjectOutput.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/vo/ProjectOutput.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.Date; @Data @ApiModel(value="关联项目", description="关联项目") @@ -30,6 +31,11 @@ public class ProjectOutput implements Serializable { */ @ApiModelProperty(value = "来款用途") private String chargeUse; + /** + * 来款用途 + */ + @ApiModelProperty(value = "来款用途") + private String chargeUse_dictText; /** * 来款单位 */ @@ -59,5 +65,5 @@ public class ProjectOutput implements Serializable { * 创建时间 */ @ApiModelProperty(value = "创建时间") - private String createTime; + private Date createTime; } From f6a63d4009196a0af7739ff692b5545b60d6ace8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Mon, 6 Sep 2021 17:49:21 +0800 Subject: [PATCH 11/14] =?UTF-8?q?=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C?= =?UTF-8?q?=E5=85=B3=E8=81=94=E9=A1=B9=E7=9B=AE=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PayIncomeContractController.java | 8 ++-- .../service/IPayIncomeContractService.java | 4 +- .../impl/PayIncomeContractServiceImpl.java | 42 ++++++++++--------- 3 files changed, 29 insertions(+), 25 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java index 1380e56e..bc70b8a5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/controller/PayIncomeContractController.java @@ -227,16 +227,16 @@ public class PayIncomeContractController extends JeroController archive(@RequestBody PayIncomeContract payIncomeContract) { - if(StringUtils.isBlank(payIncomeContract.getId())){ + public Result archive(@RequestBody PayIncomeContractAudit payIncomeContractAudit) { + if(StringUtils.isBlank(payIncomeContractAudit.getContractId())){ return Result.error("id不能为空!"); } - payIncomeContractService.updateArchive(payIncomeContract.getId()); + payIncomeContractService.updateArchive(payIncomeContractAudit); return Result.OK("归档成功!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java index e1f5d965..5be6f598 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/IPayIncomeContractService.java @@ -99,11 +99,11 @@ public interface IPayIncomeContractService extends IService { * @Description 归档 * @Author lqt * @Date 2021/9/5 - * @Param id 合同id + * @Param payIncomeContractAudit 审核记录 * @Return * @Exception */ - void updateArchive(String id); + void updateArchive(PayIncomeContractAudit payIncomeContractAudit); /** * @Description 删除 * @Author lqt diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java index 90902abe..352c0f8c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java @@ -425,10 +425,6 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayIncomeContract = new LambdaUpdateWrapper<>(); updatePayIncomeContract.set(PayIncomeContract::getUpdateBy,sysUser.getUsername()); updatePayIncomeContract.set(PayIncomeContract::getUpdateTime,new Date()); updatePayIncomeContract.eq(PayIncomeContract::getId,payIncomeContract.getId()); - updatePayIncomeContract.set(PayIncomeContract::getStatus,PayIncomeContractCommon.STATUS3); + updatePayIncomeContract.set(PayIncomeContract::getStatus,PayIncomeContractCommon.STATUS2); payIncomeContractService.update(updatePayIncomeContract); } @@ -484,24 +486,25 @@ public class PayIncomeContractServiceImpl extends ServiceImpl update = new LambdaUpdateWrapper(); update.set(PayIncomeContract::getUpdateBy,sysUser.getUsername()); update.set(PayIncomeContract::getUpdateTime,new Date()); - update.set(PayIncomeContract::getId,payIncomeContractAudit.getContractId()); - update.eq(PayIncomeContract::getStatus, payIncomeContractAudit.getContractStatus()); + update.eq(PayIncomeContract::getId,payIncomeContractAudit.getContractId()); + update.set(PayIncomeContract::getStatus, payIncomeContractAudit.getContractStatus()); payIncomeContractService.update(update); // 添加审核记录 payIncomeContractAuditService.save(payIncomeContractAudit); @@ -509,8 +512,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl update = new LambdaUpdateWrapper(); update.set(PayIncomeContract::getUpdateBy,sysUser.getUsername()); update.set(PayIncomeContract::getUpdateTime,new Date()); - update.eq(PayIncomeContract::getId,id); + update.eq(PayIncomeContract::getId,payIncomeContractAudit.getContractId()); update.set(PayIncomeContract::getStatus, PayIncomeContractCommon.STATUS5); payIncomeContractService.update(update); // 添加归档记录 - PayIncomeContractAudit payIncomeContractAudit = new PayIncomeContractAudit(); - payIncomeContractAudit.setContractId(id); payIncomeContractAudit.setContractStatus(PayIncomeContractCommon.STATUS5); payIncomeContractAuditService.save(payIncomeContractAudit); } From 92f04a3a69fb625fad8ba0d85eb7b719c9132f99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Mon, 6 Sep 2021 18:05:57 +0800 Subject: [PATCH 12/14] =?UTF-8?q?=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C-?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=84=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PayWorkingGroupController.java | 107 ++++++++++-------- .../project/mapper/PayWorkingGroupMapper.java | 2 +- .../mapper/xml/PayWorkingGroupMapper.xml | 5 +- .../service/IPayWorkingGroupService.java | 2 +- .../impl/PayWorkingGroupServiceImpl.java | 4 +- .../src/main/resources/application-dev.yml | 16 +-- 6 files changed, 78 insertions(+), 58 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java index eb3ba543..8984a375 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java @@ -73,37 +73,7 @@ public class PayWorkingGroupController extends JeroController listPayWorkingGroupVO = pageList.getRecords(); if(!CollectionUtils.isEmpty(listPayWorkingGroupVO)){ - listPayWorkingGroupVO.forEach(p->{ - LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq(PayWorkingGroupSubItem::getWorkingGroupId,p.getId()); - List listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query); - if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){ - PayWorkingGroupPayment payWorkingGroupPayment = new PayWorkingGroupPayment(); - // 已付全款 - List listAllPayment = listPayWorkingGroupSubItem.stream() - .filter(p1->(Objects.isNull(p1.getPaidAmount()) ? 0 : p1.getPaidAmount()) - == (Objects.isNull(p1.getReceivableAmount()) ? 0 : p1.getReceivableAmount())).collect(Collectors.toList()); - payWorkingGroupPayment.setAllPayment(listAllPayment.size()); - // 部分付款 - List listPartPayment = listPayWorkingGroupSubItem.stream() - .filter(p1->(Objects.isNull(p1.getPaidAmount()) ? 0 : p1.getPaidAmount()) - < (Objects.isNull(p1.getReceivableAmount()) ? 0 : p1.getReceivableAmount())).collect(Collectors.toList()); - payWorkingGroupPayment.setPartPayment(listPartPayment.size()); - // 未付款 - List listNotPayment = listPayWorkingGroupSubItem.stream() - .filter(p1->(Objects.isNull(p1.getPaidAmount()) ? 0 : p1.getPaidAmount()) == 0 - && (Objects.isNull(p1.getReceivableAmount()) ? 0 : p1.getReceivableAmount()) != 0 ) - .collect(Collectors.toList()); - payWorkingGroupPayment.setNotPayment(listNotPayment.size()); - p.setObj(payWorkingGroupPayment); - }else{ - PayWorkingGroupPayment payWorkingGroupPayment = new PayWorkingGroupPayment(); - payWorkingGroupPayment.setAllPayment(0); - payWorkingGroupPayment.setPartPayment(0); - payWorkingGroupPayment.setNotPayment(0); - p.setObj(payWorkingGroupPayment); - } - }); + setPayWorkingGroupSubItem(listPayWorkingGroupVO); pageList.setRecords(listPayWorkingGroupVO); } } @@ -126,23 +96,70 @@ public class PayWorkingGroupController extends JeroController queryListByCompany(@RequestParam(name = "companyId") String companyId, - @RequestParam(name = "year",required = false) String year) { - if(StringUtils.isBlank(companyId)){ + /** + * 根据成员单位列表查询 + * + * @param companyId 企业id + * @param workingGroupProject 工作组项目 + * @param year 运行年份 + * @return + */ + @AutoLog(value = "工作组项目-根据成员单位列表查询") + @ApiOperation(value="工作组项目-根据成员单位列表查询", notes="工作组项目-根据单位列表查询") + @GetMapping(value = "/queryListByCompany") + public Result queryListByCompany(@RequestParam(name = "companyId") String companyId, + @RequestParam(name = "workingGroupProject") String workingGroupProject, + @RequestParam(name = "year",required = false) String year) { + if(StringUtils.isBlank(companyId)){ return Result.error("企业id不能为空!"); } - List list = payWorkingGroupService.queryListByCompany(companyId,year); + List list = payWorkingGroupService.queryListByCompany(companyId,workingGroupProject,year); + if(CollectionUtils.isEmpty(list)){ + setPayWorkingGroupSubItem(list); + } return Result.OK(list); - } + } + /** + * @Description 获取进度 + * @Author lqt + * @Date 2021/9/6 + * @Param list 集合 + * @Return + * @Exception + */ + private void setPayWorkingGroupSubItem(List list){ + list.forEach(p->{ + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(PayWorkingGroupSubItem::getWorkingGroupId,p.getId()); + List listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query); + if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){ + PayWorkingGroupPayment payWorkingGroupPayment = new PayWorkingGroupPayment(); + // 已付全款 + List listAllPayment = listPayWorkingGroupSubItem.stream() + .filter(p1->(Objects.isNull(p1.getPaidAmount()) ? 0 : p1.getPaidAmount()) + == (Objects.isNull(p1.getReceivableAmount()) ? 0 : p1.getReceivableAmount())).collect(Collectors.toList()); + payWorkingGroupPayment.setAllPayment(listAllPayment.size()); + // 部分付款 + List listPartPayment = listPayWorkingGroupSubItem.stream() + .filter(p1->(Objects.isNull(p1.getPaidAmount()) ? 0 : p1.getPaidAmount()) + < (Objects.isNull(p1.getReceivableAmount()) ? 0 : p1.getReceivableAmount())).collect(Collectors.toList()); + payWorkingGroupPayment.setPartPayment(listPartPayment.size()); + // 未付款 + List listNotPayment = listPayWorkingGroupSubItem.stream() + .filter(p1->(Objects.isNull(p1.getPaidAmount()) ? 0 : p1.getPaidAmount()) == 0 + && (Objects.isNull(p1.getReceivableAmount()) ? 0 : p1.getReceivableAmount()) != 0 ) + .collect(Collectors.toList()); + payWorkingGroupPayment.setNotPayment(listNotPayment.size()); + p.setObj(payWorkingGroupPayment); + }else{ + PayWorkingGroupPayment payWorkingGroupPayment = new PayWorkingGroupPayment(); + payWorkingGroupPayment.setAllPayment(0); + payWorkingGroupPayment.setPartPayment(0); + payWorkingGroupPayment.setNotPayment(0); + p.setObj(payWorkingGroupPayment); + } + }); + } /** * 添加 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java index d3086caf..f32c447f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/PayWorkingGroupMapper.java @@ -34,6 +34,6 @@ public interface PayWorkingGroupMapper extends BaseMapper { * @Return * @Exception */ - List queryListByCompany(@Param("companyId") String companyId,@Param("year") String year); + List queryListByCompany(@Param("companyId") String companyId,@Param("workingGroupProject") String workingGroupProject, @Param("year") String year); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml index ca17e2fb..6c124113 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml @@ -38,7 +38,7 @@ ORDER BY create_time DESC - SELECT pwg.id, pwg.working_group_project AS workingGroupProject, @@ -64,6 +64,9 @@ FROM pay_working_group pwg LEFT JOIN pay_working_group_subitem pwgs ON pwg.id = pwgs.working_group_id + + AND pwg.working_group_project = #{workingGroupProject} + AND pwgs.charge_company_id = #{companyId} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java index 8a6b9acc..f3e9c11a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java @@ -32,5 +32,5 @@ public interface IPayWorkingGroupService extends IService { * @Return * @Exception */ - List queryListByCompany(String companyId,String year); + List queryListByCompany(String companyId,String workingGroupProject,String year); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java index 9a510650..48b74e28 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java @@ -31,7 +31,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl queryListByCompany(String companyId, String year) { - return payWorkingGroupMapper.queryListByCompany(companyId,year); + public List queryListByCompany(String companyId,String workingGroupProject, String year) { + return payWorkingGroupMapper.queryListByCompany(companyId,workingGroupProject,year); } } diff --git a/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot-single-startup/src/main/resources/application-dev.yml index 2d96129f..80da42da 100644 --- a/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -40,9 +40,9 @@ spring: job-store-type: jdbc initialize-schema: embedded #设置自动启动,默认为 true - auto-startup: true + auto-startup: false #启动时更新己存在的Job - overwrite-existing-jobs: true + overwrite-existing-jobs: false properties: org: quartz: @@ -137,14 +137,14 @@ spring: driver-class-name: com.p6spy.engine.spy.P6SpyDriver # 多数据源配置 #multi-datasource1: - #url: jdbc:mysql://localhost:3306/jero-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai - #username: root - #password: root - #driver-class-name: com.mysql.cj.jdbc.Driver +# url: jdbc:mysql://localhost:3306/income_payments?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +# username: root +# password: root +# driver-class-name: com.mysql.cj.jdbc.Driver #redis 配置 redis: database: 14 - host: 192.168.18.254 + host: localhost lettuce: pool: max-active: 8 #最大连接数据库连接数,设 0 为没有限制 @@ -152,7 +152,7 @@ spring: max-wait: -1ms #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。 min-idle: 0 #最小等待连接中的数量,设 0 为没有限制 shutdown-timeout: 100ms - password: hzwlsoft.com + password: port: 6379 #mybatis plus 设置 From 30581d630e88253fe9f78b351d2ed4b9b589cc9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Mon, 6 Sep 2021 18:09:19 +0800 Subject: [PATCH 13/14] =?UTF-8?q?=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C-?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=84=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot-single-startup/src/main/resources/application-dev.yml index 80da42da..c05a77f3 100644 --- a/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -40,9 +40,9 @@ spring: job-store-type: jdbc initialize-schema: embedded #设置自动启动,默认为 true - auto-startup: false + auto-startup: true #启动时更新己存在的Job - overwrite-existing-jobs: false + overwrite-existing-jobs: true properties: org: quartz: @@ -137,14 +137,14 @@ spring: driver-class-name: com.p6spy.engine.spy.P6SpyDriver # 多数据源配置 #multi-datasource1: -# url: jdbc:mysql://localhost:3306/income_payments?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai +# url: jdbc:mysql://localhost:3306/jero-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai # username: root # password: root # driver-class-name: com.mysql.cj.jdbc.Driver #redis 配置 redis: database: 14 - host: localhost + host: 192.168.18.254 lettuce: pool: max-active: 8 #最大连接数据库连接数,设 0 为没有限制 @@ -152,7 +152,7 @@ spring: max-wait: -1ms #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。 min-idle: 0 #最小等待连接中的数量,设 0 为没有限制 shutdown-timeout: 100ms - password: + password: hzwlsoft.com port: 6379 #mybatis plus 设置 From 5e153c7f9d0607a454360e047569b7226a2078d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Mon, 6 Sep 2021 18:11:48 +0800 Subject: [PATCH 14/14] =?UTF-8?q?=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C-?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=84=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jero-boot-single-startup/src/main/resources/application-dev.yml b/jero-boot-single-startup/src/main/resources/application-dev.yml index c05a77f3..5462cf6b 100644 --- a/jero-boot-single-startup/src/main/resources/application-dev.yml +++ b/jero-boot-single-startup/src/main/resources/application-dev.yml @@ -144,7 +144,7 @@ spring: #redis 配置 redis: database: 14 - host: 192.168.18.254 + host: 121.36.69.172 lettuce: pool: max-active: 8 #最大连接数据库连接数,设 0 为没有限制 @@ -153,7 +153,7 @@ spring: min-idle: 0 #最小等待连接中的数量,设 0 为没有限制 shutdown-timeout: 100ms password: hzwlsoft.com - port: 6379 + port: 4780 #mybatis plus 设置 mybatis-plus: