From d6713473ed11d17e08c4b2f2ac471c7b8ba98ccd Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Wed, 22 Jan 2025 15:54:24 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=86=E6=82=A6=E4=B8=9A=E5=8A=A1=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hs_err_pid32352.log | 227 ++++++++++++++++++ .../salary/entity/ly/dto/LyFzhsInfo.java | 7 + .../salary/entity/ly/dto/LyPzPreview.java | 2 + .../ly/param/LyVoucherDetailPushParam.java | 3 + .../engine/salary/entity/ly/po/UfKjkmPO.java | 3 + .../salary/enums/ly/LyFzhsTypeEnum.java | 3 +- .../salary/enums/ly/LyPushStatusEnum.java | 66 +++++ .../mapper/datacollection/EmployMapper.java | 2 + .../mapper/datacollection/EmployMapper.xml | 17 +- .../salary/service/SalaryEmployeeService.java | 6 + .../service/impl/LyFundReportServiceImpl.java | 5 +- .../salary/service/impl/LyPZServiceImpl.java | 205 +++++++++++----- .../impl/LySalaryReportServiceImpl.java | 5 +- .../impl/LySocialReportServiceImpl.java | 5 +- .../impl/SalaryEmployeeServiceImpl.java | 5 + 15 files changed, 493 insertions(+), 68 deletions(-) create mode 100644 hs_err_pid32352.log create mode 100644 src/com/engine/salary/enums/ly/LyPushStatusEnum.java diff --git a/hs_err_pid32352.log b/hs_err_pid32352.log new file mode 100644 index 000000000..3cd934623 --- /dev/null +++ b/hs_err_pid32352.log @@ -0,0 +1,227 @@ +# +# There is insufficient memory for the Java Runtime Environment to continue. +# Native memory allocation (mmap) failed to map 266338304 bytes for G1 virtual space +# Possible reasons: +# The system is out of physical RAM or swap space +# The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap +# Possible solutions: +# Reduce memory load on the system +# Increase physical memory or swap space +# Check if swap backing store is full +# Decrease Java heap size (-Xmx/-Xms) +# Decrease number of Java threads +# Decrease Java thread stack sizes (-Xss) +# Set larger code cache with -XX:ReservedCodeCacheSize= +# JVM is running with Zero Based Compressed Oops mode in which the Java heap is +# placed in the first 32GB address space. The Java Heap base address is the +# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress +# to set the Java Heap base and to place the Java Heap above 32GB virtual address. +# This output file may be truncated or incomplete. +# +# Out of Memory Error (os_windows.cpp:3760), pid=32352, tid=28708 +# +# JRE version: (17.0.5+1) (build ) +# Java VM: OpenJDK 64-Bit Server VM (17.0.5+1-b653.25, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64) +# No core dump will be written. Minidumps are not enabled by default on client versions of Windows +# + +--------------- S U M M A R Y ------------ + +Command Line: git4idea.http.GitAskPassApp Username for 'http://221.226.25.34:3000': + +Host: 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz, 8 cores, 15G, Windows 11 , 64 bit Build 22621 (10.0.22621.4391) +Time: Wed Jan 22 13:52:53 2025 Windows 11 , 64 bit Build 22621 (10.0.22621.4391) elapsed time: 0.011274 seconds (0d 0h 0m 0s) + +--------------- T H R E A D --------------- + +Current thread (0x0000023943d344f0): JavaThread "Unknown thread" [_thread_in_vm, id=28708, stack(0x000000f481f00000,0x000000f482000000)] + +Stack: [0x000000f481f00000,0x000000f482000000] +Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) +V [jvm.dll+0x6830ca] +V [jvm.dll+0x83f4c4] +V [jvm.dll+0x840c6e] +V [jvm.dll+0x8412d3] +V [jvm.dll+0x2490b5] +V [jvm.dll+0x67ff99] +V [jvm.dll+0x6744aa] +V [jvm.dll+0x308f2b] +V [jvm.dll+0x3103e6] +V [jvm.dll+0x36013e] +V [jvm.dll+0x36036f] +V [jvm.dll+0x2df018] +V [jvm.dll+0x2dff84] +V [jvm.dll+0x810d91] +V [jvm.dll+0x36df31] +V [jvm.dll+0x7f028c] +V [jvm.dll+0x3f0cbf] +V [jvm.dll+0x3f2801] +C [jli.dll+0x526b] +C [ucrtbase.dll+0x29333] +C [KERNEL32.DLL+0x1259d] +C [ntdll.dll+0x5af38] + + +--------------- P R O C E S S --------------- + +Threads class SMR info: +_java_thread_list=0x00007ff998738f98, length=0, elements={ +} + +Java Threads: ( => current thread ) + +Other Threads: + 0x0000023943d9f210 GCTaskThread "GC Thread#0" [stack: 0x000000f482000000,0x000000f482100000] [id=38224] + 0x0000023943dafee0 ConcurrentGCThread "G1 Main Marker" [stack: 0x000000f482100000,0x000000f482200000] [id=19540] + 0x0000023943db1090 ConcurrentGCThread "G1 Conc#0" [stack: 0x000000f482200000,0x000000f482300000] [id=17292] + +[error occurred during error reporting (printing all threads), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff997eefbd7] + +VM state: not at safepoint (not fully initialized) + +VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event]) +[0x0000023943d2ed00] Heap_lock - owner thread: 0x0000023943d344f0 + +Heap address: 0x0000000702600000, size: 4058 MB, Compressed Oops mode: Zero based, Oop shift amount: 3 + +CDS archive(s) mapped at: [0x0000000000000000-0x0000000000000000-0x0000000000000000), size 0, SharedBaseAddress: 0x0000000800000000, ArchiveRelocationMode: 0. +Narrow klass base: 0x0000000000000000, Narrow klass shift: 0, Narrow klass range: 0x0 + +GC Precious Log: + + +Heap: + garbage-first heap total 0K, used 0K [0x0000000702600000, 0x0000000800000000) + region size 2048K, 0 young (0K), 0 survivors (0K) + +[error occurred during error reporting (printing heap information), id 0xc0000005, EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff9982dcd59] + +GC Heap History (0 events): +No events + +Dll operation events (1 events): +Event: 0.006 Loaded shared library C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\jbr\bin\java.dll + +Deoptimization events (0 events): +No events + +Classes unloaded (0 events): +No events + +Classes redefined (0 events): +No events + +Internal exceptions (0 events): +No events + +VM Operations (0 events): +No events + +Events (0 events): +No events + + +Dynamic libraries: +0x00007ff67d8d0000 - 0x00007ff67d8da000 C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\jbr\bin\java.exe +0x00007ffa7cc70000 - 0x00007ffa7ce87000 C:\WINDOWS\SYSTEM32\ntdll.dll +0x00007ffa7be60000 - 0x00007ffa7bf24000 C:\WINDOWS\System32\KERNEL32.DLL +0x00007ffa79f40000 - 0x00007ffa7a2fa000 C:\WINDOWS\System32\KERNELBASE.dll +0x00007ffa7a360000 - 0x00007ffa7a471000 C:\WINDOWS\System32\ucrtbase.dll +0x00007ffa753b0000 - 0x00007ffa753cb000 C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\jbr\bin\VCRUNTIME140.dll +0x00007ffa441b0000 - 0x00007ffa441c7000 C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\jbr\bin\jli.dll +0x00007ffa7c520000 - 0x00007ffa7c6ce000 C:\WINDOWS\System32\USER32.dll +0x00007ffa7a300000 - 0x00007ffa7a326000 C:\WINDOWS\System32\win32u.dll +0x00007ffa658f0000 - 0x00007ffa65b82000 C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.4541_none_2710d1c57384c085\COMCTL32.dll +0x00007ffa7b3b0000 - 0x00007ffa7b3d9000 C:\WINDOWS\System32\GDI32.dll +0x00007ffa7c940000 - 0x00007ffa7c9e7000 C:\WINDOWS\System32\msvcrt.dll +0x00007ffa7a850000 - 0x00007ffa7a96b000 C:\WINDOWS\System32\gdi32full.dll +0x00007ffa7a7b0000 - 0x00007ffa7a84a000 C:\WINDOWS\System32\msvcp_win.dll +0x00007ffa7c6d0000 - 0x00007ffa7c701000 C:\WINDOWS\System32\IMM32.DLL +0x00007ffa74800000 - 0x00007ffa7480c000 C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\jbr\bin\vcruntime140_1.dll +0x00007ffa4d790000 - 0x00007ffa4d81d000 C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\jbr\bin\msvcp140.dll +0x00007ff997c00000 - 0x00007ff99886b000 C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\jbr\bin\server\jvm.dll +0x00007ffa7b770000 - 0x00007ffa7b822000 C:\WINDOWS\System32\ADVAPI32.dll +0x00007ffa7b3e0000 - 0x00007ffa7b487000 C:\WINDOWS\System32\sechost.dll +0x00007ffa7a330000 - 0x00007ffa7a358000 C:\WINDOWS\System32\bcrypt.dll +0x00007ffa7c820000 - 0x00007ffa7c934000 C:\WINDOWS\System32\RPCRT4.dll +0x00007ffa5a510000 - 0x00007ffa5a519000 C:\WINDOWS\SYSTEM32\WSOCK32.dll +0x00007ffa6ee50000 - 0x00007ffa6ee84000 C:\WINDOWS\SYSTEM32\WINMM.dll +0x00007ffa74c50000 - 0x00007ffa74c5a000 C:\WINDOWS\SYSTEM32\VERSION.dll +0x00007ffa7a970000 - 0x00007ffa7a9e1000 C:\WINDOWS\System32\WS2_32.dll +0x00007ffa79030000 - 0x00007ffa79048000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll +0x00007ffa66150000 - 0x00007ffa6615a000 C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\jbr\bin\jimage.dll +0x00007ffa77400000 - 0x00007ffa77632000 C:\WINDOWS\SYSTEM32\DBGHELP.DLL +0x00007ffa7b900000 - 0x00007ffa7bc8f000 C:\WINDOWS\System32\combase.dll +0x00007ffa7a9f0000 - 0x00007ffa7aac7000 C:\WINDOWS\System32\OLEAUT32.dll +0x00007ffa753d0000 - 0x00007ffa75402000 C:\WINDOWS\SYSTEM32\dbgcore.DLL +0x00007ffa7a730000 - 0x00007ffa7a7ab000 C:\WINDOWS\System32\bcryptPrimitives.dll +0x00007ffa2c350000 - 0x00007ffa2c375000 C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\jbr\bin\java.dll + +dbghelp: loaded successfully - version: 4.0.5 - missing functions: none +symbol engine: initialized successfully - sym options: 0x614 - pdb path: .;C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\jbr\bin;C:\WINDOWS\SYSTEM32;C:\WINDOWS\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.22621.4541_none_2710d1c57384c085;C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\jbr\bin\server + +VM Arguments: +java_command: git4idea.http.GitAskPassApp Username for 'http://221.226.25.34:3000': +java_class_path (initial): C:/Program Files/JetBrains/IntelliJ IDEA 2022.1.4/plugins/vcs-git/lib/git4idea-rt.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2022.1.4/lib/externalProcess-rt.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2022.1.4/lib/app.jar;C:/Program Files/JetBrains/IntelliJ IDEA 2022.1.4/lib/3rd-party-rt.jar +Launcher Type: SUN_STANDARD + +[Global flags] + intx CICompilerCount = 4 {product} {ergonomic} + uint ConcGCThreads = 2 {product} {ergonomic} + uint G1ConcRefinementThreads = 8 {product} {ergonomic} + size_t G1HeapRegionSize = 2097152 {product} {ergonomic} + uintx GCDrainStackTargetSize = 64 {product} {ergonomic} + size_t InitialHeapSize = 266338304 {product} {ergonomic} + size_t MarkStackSize = 4194304 {product} {ergonomic} + size_t MaxHeapSize = 4255121408 {product} {ergonomic} + size_t MinHeapDeltaBytes = 2097152 {product} {ergonomic} + size_t MinHeapSize = 8388608 {product} {ergonomic} + uintx NonNMethodCodeHeapSize = 5839372 {pd product} {ergonomic} + uintx NonProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} + uintx ProfiledCodeHeapSize = 122909434 {pd product} {ergonomic} + uintx ReservedCodeCacheSize = 251658240 {pd product} {ergonomic} + bool SegmentedCodeCache = true {product} {ergonomic} + size_t SoftMaxHeapSize = 4255121408 {manageable} {ergonomic} + bool UseCompressedClassPointers = true {product lp64_product} {ergonomic} + bool UseCompressedOops = true {product lp64_product} {ergonomic} + bool UseG1GC = true {product} {ergonomic} + bool UseLargePagesIndividualAllocation = false {pd product} {ergonomic} + +Logging: +Log output configuration: + #0: stdout all=warning uptime,level,tags + #1: stderr all=off uptime,level,tags + +Environment Variables: +JAVA_HOME=C:\Program Files\Java\jdk1.8.0_341 +CLASSPATH=D:\WEAVER\Resin\lib\resin.jar +PATH=D:\Develop\Git\mingw64\libexec\git-core;D:\Develop\Git\mingw64\libexec\git-core;D:\Develop\Git\mingw64\bin;D:\Develop\Git\usr\bin;C:\Users\Harryxzy\bin;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn;C:\Program Files\Java\jre1.8.0_341\bin;C:\Program Files\Java\jdk1.8.0_341\bin;D:\Develop\apache-maven-3.8.1\bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\VMware\VMware Workstation\bin;D:\oracle\product\11.2.0\dbhome_1\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\DTS\Binn;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies;D:\Develop\Git\cmd;C:\Program Files (x86)\NetSarang\Xshell 7;C:\Program Files (x86)\NetSarang\Xftp 7;C:\Program Files\nodejs;C:\Program Files\Docker\Docker\resources\bin;C:\Users\Public\Desktop;D:\MySQL8.0.21\bin;E:\Python\Python313\Scripts;E:\Python\Python313;C:\Program Files\MySQL\MySQL Shell 8.0\bin;C:\Users\Harryxzy\AppData\Local\Microsoft\WindowsApps;D:\Develop\Microsoft VS Code\bin;C:\Users\Harryxzy\AppData\Roaming\npm;C:\Users\Harryxzy\AppData\Local\Programs\Fiddler +USERNAME=Harryxzy +DISPLAY=:0.0 +LC_ALL=en_US.UTF-8 +TERM=xterm-256color +TMPDIR=C:\Users\Harryxzy\AppData\Local\Temp +OS=Windows_NT +PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 140 Stepping 1, GenuineIntel +TMP=C:\Users\Harryxzy\AppData\Local\Temp +TEMP=C:\Users\Harryxzy\AppData\Local\Temp + + + +--------------- S Y S T E M --------------- + +OS: + Windows 11 , 64 bit Build 22621 (10.0.22621.4391) +OS uptime: 6 days 22:50 hours +Hyper-V role detected + +CPU: total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 140 stepping 1 microcode 0xba, cx8, cmov, fxsr, ht, mmx, 3dnowpref, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, lzcnt, tsc, tscinvbit, avx, avx2, aes, erms, clmul, bmi1, bmi2, adx, avx512f, avx512dq, avx512cd, avx512bw, avx512vl, sha, fma, vzeroupper, avx512_vpopcntdq, avx512_vpclmulqdq, avx512_vaes, avx512_vnni, clflush, clflushopt, clwb, avx512_vbmi2, avx512_vbmi, hv + +Memory: 4k page, system-wide physical 16226M (872M free) +TotalPageFile size 51523M (AvailPageFile size 222M) +current process WorkingSet (physical memory assigned to process): 11M, peak: 11M +current process commit charge ("private bytes"): 60M, peak: 314M + +vm_info: OpenJDK 64-Bit Server VM (17.0.5+1-b653.25) for windows-amd64 JRE (17.0.5+1-b653.25), built on 2023-01-04 by "builduser" with MS VC++ 16.10 / 16.11 (VS2019) + +END. diff --git a/src/com/engine/salary/entity/ly/dto/LyFzhsInfo.java b/src/com/engine/salary/entity/ly/dto/LyFzhsInfo.java index c3a103bd0..01e8a29a7 100644 --- a/src/com/engine/salary/entity/ly/dto/LyFzhsInfo.java +++ b/src/com/engine/salary/entity/ly/dto/LyFzhsInfo.java @@ -28,6 +28,8 @@ public class LyFzhsInfo { */ private Long departmentId; + private String frzt; + /** * 辅助核算-项目期数 */ @@ -50,4 +52,9 @@ public class LyFzhsInfo { */ private String fzhsks; + /** + * 辅助核算-银行账户 + */ + private String fzhsyxzh; + } diff --git a/src/com/engine/salary/entity/ly/dto/LyPzPreview.java b/src/com/engine/salary/entity/ly/dto/LyPzPreview.java index b0cfbaf79..453795612 100644 --- a/src/com/engine/salary/entity/ly/dto/LyPzPreview.java +++ b/src/com/engine/salary/entity/ly/dto/LyPzPreview.java @@ -39,6 +39,8 @@ public class LyPzPreview { private LyFzhsBrowser fzhsKs; + private LyFzhsBrowser fzhsYxzh; + private List dataSource; private List fzhsOther; diff --git a/src/com/engine/salary/entity/ly/param/LyVoucherDetailPushParam.java b/src/com/engine/salary/entity/ly/param/LyVoucherDetailPushParam.java index 23f5f3ae8..8e6054c4a 100644 --- a/src/com/engine/salary/entity/ly/param/LyVoucherDetailPushParam.java +++ b/src/com/engine/salary/entity/ly/param/LyVoucherDetailPushParam.java @@ -39,6 +39,9 @@ public class LyVoucherDetailPushParam { // 辅助核算客商 private LyFzhsBrowser fzhsKs; + // 辅助核算银行账户 + private LyFzhsBrowser fzhsYxzh; + // 辅助核算其余辅助核算信息 private List fzhsOtherBmList; private String fzhsOtherBmStr; diff --git a/src/com/engine/salary/entity/ly/po/UfKjkmPO.java b/src/com/engine/salary/entity/ly/po/UfKjkmPO.java index 8062e777d..6a96b2689 100644 --- a/src/com/engine/salary/entity/ly/po/UfKjkmPO.java +++ b/src/com/engine/salary/entity/ly/po/UfKjkmPO.java @@ -55,4 +55,7 @@ public class UfKjkmPO { // 该科目是否存在 辅助核算-客商 private boolean fzhsKsFlag; + // 该科目是否存在 辅助核算-银行账户 + private boolean fzhsYhzhFlag; + } diff --git a/src/com/engine/salary/enums/ly/LyFzhsTypeEnum.java b/src/com/engine/salary/enums/ly/LyFzhsTypeEnum.java index 7597ee2ee..f30221628 100644 --- a/src/com/engine/salary/enums/ly/LyFzhsTypeEnum.java +++ b/src/com/engine/salary/enums/ly/LyFzhsTypeEnum.java @@ -14,7 +14,8 @@ public enum LyFzhsTypeEnum { FWLB(1, "房屋类别", 0), KS(2, "客商", 0), RYDA(3, "人员档案", 0), - SLLB(4, "税率类别", 0); + SLLB(4, "税率类别", 0), + YHZH(5, "银行账户", 0); private int value; diff --git a/src/com/engine/salary/enums/ly/LyPushStatusEnum.java b/src/com/engine/salary/enums/ly/LyPushStatusEnum.java new file mode 100644 index 000000000..4db3b0177 --- /dev/null +++ b/src/com/engine/salary/enums/ly/LyPushStatusEnum.java @@ -0,0 +1,66 @@ +package com.engine.salary.enums.ly; + +import java.util.Arrays; + +/** + * @author Harryxzy + * @ClassName LyJDDirectionTypeEnum + * @date 2024/08/27 17:54 + * @description 领悦 - 推送状态类型 + */ +public enum LyPushStatusEnum { + + WAIT(0, "未推送", 0), + SUCCESS(1, "推送成功", 0), + FAIL(2, "推送失败", 0); + + private int value; + + private String defaultLabel; + + private int labelId; + + LyPushStatusEnum(int value, String defaultLabel, int labelId) { + this.value = value; + this.defaultLabel = defaultLabel; + this.labelId = labelId; + } + + public int getValue() { + return value; + } + + public String getDefaultLabel() { + return defaultLabel; + } + + public int getLabelId() { + return labelId; + } + + public static String getDefaultLabelByValue(Integer value) { + if (value == null) { + return WAIT.getDefaultLabel(); + } + LyPushStatusEnum[] enumAry = LyPushStatusEnum.values(); + for(int i = 0; i < Arrays.asList(enumAry).size(); i++){ + if (Integer.valueOf(enumAry[i].getValue()).equals(value)) { + return enumAry[i].getDefaultLabel(); + } + } + return ""; + } + + public static String getNameByValue(Integer value) { + if (value == null) { + return ""; + } + LyPushStatusEnum[] enumAry = LyPushStatusEnum.values(); + for(int i = 0; i < Arrays.asList(enumAry).size(); i++){ + if (Integer.valueOf(enumAry[i].getValue()).equals(value)) { + return enumAry[i].name(); + } + } + return ""; + } +} diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.java b/src/com/engine/salary/mapper/datacollection/EmployMapper.java index 3faaf2086..dfcce4018 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.java +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.java @@ -186,4 +186,6 @@ public interface EmployMapper { List listAllDeptInfoList(); List listAllFzhsInfo(); + + List listFzhsInfoByDeptIds(@Param("departmentIds")List departmentIds); } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml index dab7b35eb..ee30fc544 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml @@ -673,10 +673,21 @@ + + \ No newline at end of file diff --git a/src/com/engine/salary/service/SalaryEmployeeService.java b/src/com/engine/salary/service/SalaryEmployeeService.java index e20ee892a..6ecc12410 100644 --- a/src/com/engine/salary/service/SalaryEmployeeService.java +++ b/src/com/engine/salary/service/SalaryEmployeeService.java @@ -203,4 +203,10 @@ public interface SalaryEmployeeService { * @return */ List listAllFzhsInfo(); + + /** + * 领悦 - 获取挂在部门上的辅助核算信息 + * @return + */ + List listFzhsInfoByDeptIds(List departmentIds); } diff --git a/src/com/engine/salary/service/impl/LyFundReportServiceImpl.java b/src/com/engine/salary/service/impl/LyFundReportServiceImpl.java index 3158d52b6..54f72c393 100644 --- a/src/com/engine/salary/service/impl/LyFundReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/LyFundReportServiceImpl.java @@ -16,6 +16,7 @@ import com.engine.salary.entity.salarysob.po.SalarySobEmpFieldPO; import com.engine.salary.entity.salarysob.po.SalarySobItemPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.UserStatusEnum; +import com.engine.salary.enums.ly.LyPushStatusEnum; import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum; import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; @@ -396,8 +397,8 @@ public class LyFundReportServiceImpl extends Service implements LyFundReportServ pageInfo.setList(SalaryPageUtil.subList(param.getCurrent(), param.getPageSize(), lyFundReportPOS)); } pageInfo.getList().stream().forEach(po -> { - po.setGjjffpzFlagStr((po.getGjjffpzFlag() != null && po.getGjjffpzFlag().equals(NumberUtils.INTEGER_ONE)) ? "已推送" : "未推送"); - po.setGjjjtpzFlagStr((po.getGjjjtpzFlag() != null && po.getGjjjtpzFlag().equals(NumberUtils.INTEGER_ONE)) ? "已推送" : "未推送"); + po.setGjjffpzFlagStr(LyPushStatusEnum.getDefaultLabelByValue(po.getGjjffpzFlag())); + po.setGjjjtpzFlagStr(LyPushStatusEnum.getDefaultLabelByValue(po.getGjjjtpzFlag())); }); List columns = new ArrayList<>(); columns.add(new WeaTableColumnGroup("150px", "购买公司全称", "gmgsqc")); diff --git a/src/com/engine/salary/service/impl/LyPZServiceImpl.java b/src/com/engine/salary/service/impl/LyPZServiceImpl.java index f4d7cb86e..64f414ef1 100644 --- a/src/com/engine/salary/service/impl/LyPZServiceImpl.java +++ b/src/com/engine/salary/service/impl/LyPZServiceImpl.java @@ -14,6 +14,7 @@ import com.engine.salary.entity.salaryformula.po.FormulaVar; import com.engine.salary.enums.ly.LyFzhsTypeEnum; import com.engine.salary.enums.ly.LyJDDirectionTypeEnum; import com.engine.salary.enums.ly.LyPZTypeEnum; +import com.engine.salary.enums.ly.LyPushStatusEnum; import com.engine.salary.enums.salaryformula.ReferenceTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.formlua.entity.parameter.DataType; @@ -115,6 +116,8 @@ public class LyPZServiceImpl extends Service implements LyPZService { // key:分部id-部门名称, value:部门id Map depInfoMap = SalaryEntityUtil.convert2Map(deptInfos, dep -> dep.getSubcompanyid1() + "-" + dep.getName()); Set subCompanyIds = new HashSet<>(); + Set departmentIds = new HashSet<>(); + Set frztNameList = new HashSet<>(); for(List varList : formulaVarsList) { String subcompanyId = ""; // 获取他们的职能项目类型,如果是项目则单独统计,如果是职能获取他部门上“是否单独凭证分录”的属性 @@ -122,6 +125,9 @@ public class LyPZServiceImpl extends Service implements LyPZService { Map varMap = SalaryEntityUtil.convert2Map(varList, FormulaVar::getFieldId, FormulaVar::getContent); subcompanyId = varMap.get("subcompanyId"); String znxmlxContent = varMap.get("职能项目类型"); + String fycdgsqcContent = varMap.get("费用承担公司全称"); + frztNameList.add(fycdgsqcContent); + DeptInfo deptInfo = null; if (StringUtils.isBlank(znxmlxContent)) { singleCount = true; } else { @@ -138,6 +144,8 @@ public class LyPZServiceImpl extends Service implements LyPZService { if (rs.next()) { if (rs.getInt("sfddpzfl") == new Integer(yFlag)) { singleCount = true; + departmentIds.add(dept.getId()); + deptInfo = dept; } } } @@ -153,7 +161,7 @@ public class LyPZServiceImpl extends Service implements LyPZService { } else { key = varMap.get("职能项目名称"); } - Map kjkmValueMap = pzDetailValueMap.computeIfAbsent(key + "_split" + znxmlxContent + "_split" + subcompanyId, k -> new HashMap()); + Map kjkmValueMap = pzDetailValueMap.computeIfAbsent(key + "_split" + znxmlxContent + "_split" + subcompanyId + "_split" + fycdgsqcContent, k -> new HashMap()); // 每一条记录都需要执行一遍公式并把结果相加 for (UfKjkmPO kjkm : ufKjkmList) { // 给公式中的变量填入值 @@ -176,15 +184,19 @@ public class LyPZServiceImpl extends Service implements LyPZService { // 需要合并计算的会计科目 totalKjkmValueMap.put(kjkm.getKmbm(), ((BigDecimal)totalKjkmValueMap.getOrDefault(kjkm.getKmbm(), new BigDecimal(0))).add(resultBigDecimal)); totalKjkmValueMap.put("subCompanyId", subcompanyId); + totalKjkmValueMap.put("frzt", fycdgsqcContent); subCompanyIds.add(NumberUtils.isCreatable(subcompanyId) ? Long.valueOf(subcompanyId) : 0); } else { + kjkmValueMap.put("deptInfo", deptInfo); if (kjkm.getKmbm().equals(dkgrsdsBm) && queryParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue())) { kjkmValueMap.put(kjkm.getKmbm() + kjkm.getXzxm(), ((BigDecimal)kjkmValueMap.getOrDefault(kjkm.getKmbm() + kjkm.getXzxm(), new BigDecimal(0))).add(resultBigDecimal)); kjkmValueMap.put("subCompanyId", subcompanyId); + kjkmValueMap.put("frzt", fycdgsqcContent); subCompanyIds.add(NumberUtils.isCreatable(subcompanyId) ? Long.valueOf(subcompanyId) : 0); } else { kjkmValueMap.put(kjkm.getKmbm(), ((BigDecimal)kjkmValueMap.getOrDefault(kjkm.getKmbm(), new BigDecimal(0))).add(resultBigDecimal)); kjkmValueMap.put("subCompanyId", subcompanyId); + kjkmValueMap.put("frzt", fycdgsqcContent); subCompanyIds.add(NumberUtils.isCreatable(subcompanyId) ? Long.valueOf(subcompanyId) : 0); } } @@ -203,18 +215,31 @@ public class LyPZServiceImpl extends Service implements LyPZService { // 获取所有分部的辅助核算信息 List fzhsList = getSalaryEmployeeService(user).listAllFzhsInfo(); Map lyFzhsInfoMap = SalaryEntityUtil.convert2Map(fzhsList, LyFzhsInfo::getSubCompanyId); - // TODO 获取所有部门的辅助核算信息 + // 获取所有部门下的辅助核算信息 + List deptFzhsList = getSalaryEmployeeService(user).listFzhsInfoByDeptIds(departmentIds.stream().collect(Collectors.toList())); + Map lyDeptFzhsInfoMap = SalaryEntityUtil.convert2Map(deptFzhsList, fzhs -> fzhs.getSubCompanyId() + "_split" + fzhs.getDepartmentId()); List subCompanyInfoList = getSalaryEmployeeService(user).getSubCompanyInfoList(subCompanyIds.stream().collect(Collectors.toList())); Map subCompanyMap = SalaryEntityUtil.convert2Map(subCompanyInfoList, SubCompanyInfo::getId, SubCompanyInfo::getName); - // 获取辅助核算列表信息 + // 获取辅助核算列表信息(只有项目期数和房屋期数是挂在组织上) List fzhsBmList = new ArrayList<>(); fzhsList.stream().forEach( info -> { fzhsBmList.add(info.getFzhs()); - fzhsBmList.add(info.getFzhsks()); - fzhsBmList.add(info.getFzhssllb()); fzhsBmList.add(info.getFzhsfwlb()); }); - // 根据辅助核算编码获取辅助核算浏览框 + deptFzhsList.stream().forEach( info -> { + fzhsBmList.add(info.getFzhs()); + fzhsBmList.add(info.getFzhsfwlb()); + }); + // 根据费用承担公司从法人主体获取税率类别、银行账户、客商 + List frztFzhsList = listFzhsByFrzt(frztNameList.stream().collect(Collectors.toList())); + Map frztFzhsInfoMap = SalaryEntityUtil.convert2Map(frztFzhsList, LyFzhsInfo::getFrzt); + frztFzhsList.stream().forEach(info -> { + fzhsBmList.add(info.getFzhssllb()); + fzhsBmList.add(info.getFzhsyxzh()); + fzhsBmList.add(info.getFzhsks()); + }); + + // 根据辅助核算编码获取辅助核算浏览框yx Map fzhsBrowserMap = getFzhsBrowserByBm(fzhsBmList); // 获取对应的薪资所属月和季度(季度为上一季度) queryParam.setSalaryMonthDate(SalaryDateUtil.dateStrToLocalYearMonth(queryParam.getSalaryMonth())); @@ -231,7 +256,13 @@ public class LyPZServiceImpl extends Service implements LyPZService { LyFzhsInfo lyFzhsInfo = null; // 如果是项目根据分部获取辅助核算信息 lyFzhsInfo = lyFzhsInfoMap.get(subCompanyId); - // 如果是职能根据部门获取辅助核算信息 + // 如果是职能需要单独出凭证的根据部门获取辅助核算信息 + Object deptInfo = kjkmValueMap.get("deptInfo"); + if (deptInfo != null) { + lyFzhsInfo = lyDeptFzhsInfoMap.get(subCompanyId + "_split" + ((DeptInfo)deptInfo).getId()); + } + // 根据费用承担公司从法人主体获取税率类别、银行账户、客商辅助核算信息 + LyFzhsInfo frztFzhs = frztFzhsInfoMap.get(kjkmValueMap.getOrDefault("frzt", "")); for (UfKjkmPO kjkm : ufKjkmList) { // 获取该会计科目对应的辅助核算 BigDecimal value = new BigDecimal(0); @@ -253,8 +284,9 @@ public class LyPZServiceImpl extends Service implements LyPZService { .dfValue(kjkm.getFx().equals(LyJDDirectionTypeEnum.CREDIT.getValue()) ? value.toString() : "0.00") .fzhsXmqs(lyFzhsInfo != null && kjkm.isFzhsFlag() ? fzhsBrowserMap.get(lyFzhsInfo.getFzhs()) : null) .fzhsFwlb(lyFzhsInfo != null && kjkm.isFzhsFwlbFlag() ? fzhsBrowserMap.get(lyFzhsInfo.getFzhsfwlb()) : null) - .fzhsSllb(lyFzhsInfo != null && kjkm.isFzhsSllbFlag() ? fzhsBrowserMap.get(lyFzhsInfo.getFzhssllb()) : null) - .fzhsKs(lyFzhsInfo != null && kjkm.isFzhsKsFlag() ? fzhsBrowserMap.get(lyFzhsInfo.getFzhsks()) : null) + .fzhsSllb(frztFzhs != null && kjkm.isFzhsSllbFlag() ? fzhsBrowserMap.get(frztFzhs.getFzhssllb()) : null) + .fzhsKs(frztFzhs != null && kjkm.isFzhsKsFlag() ? fzhsBrowserMap.get(frztFzhs.getFzhsks()) : null) + .fzhsYxzh(frztFzhs != null && kjkm.isFzhsYhzhFlag() ? fzhsBrowserMap.get(frztFzhs.getFzhsyxzh()) : null) .dataSource(reportDataIds) .build(); lyPzPreviewList.add(build); @@ -269,6 +301,7 @@ public class LyPZServiceImpl extends Service implements LyPZService { columns.add(new WeaTableColumn("100px", "辅助核算-房屋类别" , "fzhsFwlb")); columns.add(new WeaTableColumn("100px", "辅助核算-税率类别" , "fzhsSllb")); columns.add(new WeaTableColumn("100px", "辅助核算-客商" , "fzhsKs")); + columns.add(new WeaTableColumn("100px", "辅助核算-银行账户" , "fzhsYxzh")); columns.add(new WeaTableColumn("100px", "辅助核算" , "fzhsOther")); columns.add(new WeaTableColumn("100px", "借方金额" , "jfValue")); columns.add(new WeaTableColumn("100px", "贷方金额" , "dfValue")); @@ -294,6 +327,37 @@ public class LyPZServiceImpl extends Service implements LyPZService { } + /** + * 根据费用承担公司从法人主体获取税率类别、银行账户、客商 + * @param frztNameList + * @return + */ + private List listFzhsByFrzt(List frztNameList) { + if (CollectionUtils.isEmpty(frztNameList)) { + return Collections.emptyList(); + } + RecordSet rs = new RecordSet(); + List> partition = Lists.partition(frztNameList, 500); + List resultList = new ArrayList<>(); + partition.forEach(part -> { + rs.execute("select frzt,sllb,ks,yxzh from uf_frzt where frzt in ('" +StringUtils.join(part, "','")+ "')"); + while (rs.next()) { + String frzt = rs.getString("frzt"); + String sllb = rs.getString("sllb"); + String ks = rs.getString("ks"); + String yxzh = rs.getString("yxzh"); + LyFzhsInfo build = LyFzhsInfo.builder() + .frzt(frzt) + .fzhssllb(sllb) + .fzhsks(ks) + .fzhsyxzh(yxzh) + .build(); + resultList.add(build); + } + }); + return resultList; + } + /** * 根据凭证编码获取浏览框 * @param fzhsBmList @@ -303,6 +367,7 @@ public class LyPZServiceImpl extends Service implements LyPZService { if (CollectionUtils.isEmpty(fzhsBmList)) { return Collections.emptyMap(); } + fzhsBmList = fzhsBmList.stream().distinct().collect(Collectors.toList()); List lyFzhsBrowserList = new ArrayList<>(); RecordSet rs = new RecordSet(); BaseBean baseBean = new BaseBean(); @@ -333,6 +398,7 @@ public class LyPZServiceImpl extends Service implements LyPZService { Date salaryMonth = SalaryDateUtil.dateStrToLocalYearMonth(queryParam.getSalaryMonth()); // 根据薪资所属月和凭证类型查询凭证 List lyVoucherPOS = getLyVoucherMapper().listSome(LyVoucherPO.builder().salaryMonth(salaryMonth).pzlx(queryParam.getPzlx()).ffgsqc(queryParam.getFfgsqc()).build()); + lyVoucherPOS = lyVoucherPOS.stream().filter(po -> po.getStatus().equals(LyPushStatusEnum.SUCCESS.getValue())).collect(Collectors.toList()); List dataIds = lyVoucherPOS.stream() .map(po -> po.getDataSource().split(",")) .flatMap(Arrays::stream) @@ -484,6 +550,9 @@ public class LyPZServiceImpl extends Service implements LyPZService { if (fzhsIdList.contains(LyFzhsTypeEnum.SLLB.getValue())) { kjkm.setFzhsSllbFlag(true); } + if (fzhsIdList.contains(LyFzhsTypeEnum.YHZH.getValue())) { + kjkm.setFzhsYhzhFlag(true); + } } } return ufKjkmList; @@ -658,14 +727,15 @@ public class LyPZServiceImpl extends Service implements LyPZService { * @param pushParam */ private void updateReportStatus(LyVoucherPushParam pushParam) { + int pushStatus = pushParam.getStatus() == null ? LyPushStatusEnum.WAIT.getValue() : pushParam.getStatus(); List dataSource = pushParam.getDataSource(); if (pushParam.getPzlx().equals(LyPZTypeEnum.XZJTPZ.getValue()) || pushParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue())) { List salaryReportList = getLySalaryReportService(user).getByIds(dataSource); salaryReportList.stream().forEach(po -> { if (pushParam.getPzlx().equals(LyPZTypeEnum.XZJTPZ.getValue())) { - po.setXzjtpzFlag(NumberUtils.INTEGER_ONE); + po.setXzjtpzFlag(pushStatus); } else if (pushParam.getPzlx().equals(LyPZTypeEnum.XZFFPZ.getValue())) { - po.setXzffpzFlag(NumberUtils.INTEGER_ONE); + po.setXzffpzFlag(pushStatus); } getLySalaryReportService(user).update(po); }); @@ -673,9 +743,9 @@ public class LyPZServiceImpl extends Service implements LyPZService { List socialReportList = getLySocialReportService(user).getByIds(dataSource); socialReportList.stream().forEach(po -> { if (pushParam.getPzlx().equals(LyPZTypeEnum.SBJTPZ.getValue())) { - po.setSbjtpzFlag(NumberUtils.INTEGER_ONE); + po.setSbjtpzFlag(pushStatus); } else if (pushParam.getPzlx().equals(LyPZTypeEnum.SBFFPZ.getValue())) { - po.setSbffpzFlag(NumberUtils.INTEGER_ONE); + po.setSbffpzFlag(pushStatus); } getLySocialReportService(user).update(po); }); @@ -683,9 +753,9 @@ public class LyPZServiceImpl extends Service implements LyPZService { List fundReportList = getLyFundReportService(user).getByIds(dataSource); fundReportList.stream().forEach(po -> { if (pushParam.getPzlx().equals(LyPZTypeEnum.GJJJTPZ.getValue())) { - po.setGjjjtpzFlag(NumberUtils.INTEGER_ONE); + po.setGjjjtpzFlag(pushStatus); } else if (pushParam.getPzlx().equals(LyPZTypeEnum.GJJFFPZ.getValue())) { - po.setGjjffpzFlag(NumberUtils.INTEGER_ONE); + po.setGjjffpzFlag(pushStatus); } getLyFundReportService(user).update(po); }); @@ -846,6 +916,13 @@ public class LyPZServiceImpl extends Service implements LyPZService { ass.setPkCheckvalue(detailParam.getFzhsKs().getBh()); lyNCVoucherAssList.add(ass); } + if (detailParam.getFzhsYxzh() != null) { + LyNCVoucherAss ass = new LyNCVoucherAss(); + // 银行账户 + ass.setPkChecktype(detailParam.getFzhsYxzh().getFzhslxbh()); + ass.setPkCheckvalue(detailParam.getFzhsYxzh().getBh()); + lyNCVoucherAssList.add(ass); + } // 其他 if (CollectionUtils.isNotEmpty(detailParam.getFzhsOtherBmList())) { detailParam.getFzhsOtherBmList().stream().forEach(fzhs -> { @@ -910,6 +987,13 @@ public class LyPZServiceImpl extends Service implements LyPZService { ass.setPkCheckvalue(detailParam.getFzhsKs().getBh()); lyNCVoucherAssList.add(ass); } + if (detailParam.getFzhsYxzh() != null) { + LyNCVoucherAss ass = new LyNCVoucherAss(); + // 银行账户 + ass.setPkChecktype(detailParam.getFzhsYxzh().getFzhslxbh()); + ass.setPkCheckvalue(detailParam.getFzhsYxzh().getBh()); + lyNCVoucherAssList.add(ass); + } // 其他 if (CollectionUtils.isNotEmpty(detailParam.getFzhsOtherBmList())) { detailParam.getFzhsOtherBmList().stream().forEach(fzhs -> { @@ -966,18 +1050,20 @@ public class LyPZServiceImpl extends Service implements LyPZService { if (!success) { // 失败 String errorMsg = lyNCVoucherReturn.getSendresult().getResultdescription(); - pushParam.setStatus(NumberUtils.INTEGER_ZERO); + pushParam.setStatus(LyPushStatusEnum.FAIL.getValue()); pushParam.setPushMsg(errorMsg); baseBean.writeLog("push detail1" + errorMsg); baseBean.writeLog("push detail2" + xml); } else { - pushParam.setStatus(NumberUtils.INTEGER_ONE); + pushParam.setStatus(LyPushStatusEnum.SUCCESS.getValue()); pushParam.setPushMsg("推送成功"); } } catch (Exception e) { baseBean.writeLog("推送错误" + e.getMessage()); baseBean.writeLog("push detail" + xml); - throw new SalaryRunTimeException("推送错误,请联系管理员"); + pushParam.setStatus(LyPushStatusEnum.FAIL.getValue()); + pushParam.setPushMsg(e.getMessage().toString()); + // throw new SalaryRunTimeException("推送错误,请联系管理员"); } } @@ -1113,47 +1199,50 @@ public class LyPZServiceImpl extends Service implements LyPZService { LyVoucherPO voucherPO = getLyVoucherMapper().getById(voucherId); getLyVoucherMapper().delete(LyVoucherPO.builder().id(voucherId).build()); getLyVoucherDetailMapper().deleteByVoucherId(voucherId); - // 修改报表中数据推送状态 - Integer pzlx = voucherPO.getPzlx(); - String dataSourceStr = voucherPO.getDataSource(); - List dataSourceIdList = new ArrayList<>(); - if (StringUtils.isNotBlank(dataSourceStr)) { - dataSourceIdList = Arrays.stream(dataSourceStr.split(",")).filter(NumberUtils::isCreatable).map(Long::valueOf).collect(Collectors.toList()); - } + Integer status = voucherPO.getStatus(); + if (status != null && status.equals(LyPushStatusEnum.SUCCESS.getValue())) { + // 修改报表中数据推送状态 + Integer pzlx = voucherPO.getPzlx(); + String dataSourceStr = voucherPO.getDataSource(); + List dataSourceIdList = new ArrayList<>(); + if (StringUtils.isNotBlank(dataSourceStr)) { + dataSourceIdList = Arrays.stream(dataSourceStr.split(",")).filter(NumberUtils::isCreatable).map(Long::valueOf).collect(Collectors.toList()); + } - if (pzlx.equals(LyPZTypeEnum.XZJTPZ.getValue()) || pzlx.equals(LyPZTypeEnum.XZFFPZ.getValue())) { - // 薪资 - List lySalaryReportList = getLySalaryReportService(user).listByIds(dataSourceIdList); - lySalaryReportList.stream().forEach(po -> { - if (pzlx.equals(LyPZTypeEnum.XZJTPZ.getValue())) { - po.setXzjtpzFlag(NumberUtils.INTEGER_ZERO); - } else { - po.setXzffpzFlag(NumberUtils.INTEGER_ZERO); - } - getLySalaryReportService(user).updateIgnoreNull(po); - }); - } else if (pzlx.equals(LyPZTypeEnum.SBJTPZ.getValue()) || pzlx.equals(LyPZTypeEnum.SBFFPZ.getValue())) { - // 社保 - List lySocialReportList = getLySocialReportService(user).getByIds(dataSourceIdList); - lySocialReportList.stream().forEach(po -> { - if (pzlx.equals(LyPZTypeEnum.SBJTPZ.getValue())) { - po.setSbjtpzFlag(NumberUtils.INTEGER_ZERO); - } else { - po.setSbffpzFlag(NumberUtils.INTEGER_ZERO); - } - getLySocialReportService(user).updateIgnoreNull(po); - }); - } else if (pzlx.equals(LyPZTypeEnum.GJJJTPZ.getValue()) || pzlx.equals(LyPZTypeEnum.GJJFFPZ.getValue())) { - // 公积金 - List lyFundReportList = getLyFundReportService(user).getByIds(dataSourceIdList); - lyFundReportList.stream().forEach(po -> { - if (pzlx.equals(LyPZTypeEnum.GJJJTPZ.getValue())) { - po.setGjjjtpzFlag(NumberUtils.INTEGER_ZERO); - } else { - po.setGjjffpzFlag(NumberUtils.INTEGER_ZERO); - } - getLyFundReportService(user).updateIgnoreNull(po); - }); + if (pzlx.equals(LyPZTypeEnum.XZJTPZ.getValue()) || pzlx.equals(LyPZTypeEnum.XZFFPZ.getValue())) { + // 薪资 + List lySalaryReportList = getLySalaryReportService(user).listByIds(dataSourceIdList); + lySalaryReportList.stream().forEach(po -> { + if (pzlx.equals(LyPZTypeEnum.XZJTPZ.getValue())) { + po.setXzjtpzFlag(NumberUtils.INTEGER_ZERO); + } else { + po.setXzffpzFlag(NumberUtils.INTEGER_ZERO); + } + getLySalaryReportService(user).updateIgnoreNull(po); + }); + } else if (pzlx.equals(LyPZTypeEnum.SBJTPZ.getValue()) || pzlx.equals(LyPZTypeEnum.SBFFPZ.getValue())) { + // 社保 + List lySocialReportList = getLySocialReportService(user).getByIds(dataSourceIdList); + lySocialReportList.stream().forEach(po -> { + if (pzlx.equals(LyPZTypeEnum.SBJTPZ.getValue())) { + po.setSbjtpzFlag(NumberUtils.INTEGER_ZERO); + } else { + po.setSbffpzFlag(NumberUtils.INTEGER_ZERO); + } + getLySocialReportService(user).updateIgnoreNull(po); + }); + } else if (pzlx.equals(LyPZTypeEnum.GJJJTPZ.getValue()) || pzlx.equals(LyPZTypeEnum.GJJFFPZ.getValue())) { + // 公积金 + List lyFundReportList = getLyFundReportService(user).getByIds(dataSourceIdList); + lyFundReportList.stream().forEach(po -> { + if (pzlx.equals(LyPZTypeEnum.GJJJTPZ.getValue())) { + po.setGjjjtpzFlag(NumberUtils.INTEGER_ZERO); + } else { + po.setGjjffpzFlag(NumberUtils.INTEGER_ZERO); + } + getLyFundReportService(user).updateIgnoreNull(po); + }); + } } } } diff --git a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java index 4323dc6aa..b83718a77 100644 --- a/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/LySalaryReportServiceImpl.java @@ -16,6 +16,7 @@ import com.engine.salary.entity.salarysob.po.SalarySobEmpFieldPO; import com.engine.salary.entity.salarysob.po.SalarySobItemPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.UserStatusEnum; +import com.engine.salary.enums.ly.LyPushStatusEnum; import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum; import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; @@ -492,8 +493,8 @@ public class LySalaryReportServiceImpl extends Service implements LySalaryReport } pageInfo.getList().stream().forEach(po -> { - po.setXzjtpzFlagStr((po.getXzjtpzFlag() != null && po.getXzjtpzFlag().equals(NumberUtils.INTEGER_ONE)) ? "已推送" : "未推送"); - po.setXzffpzFlagStr((po.getXzffpzFlag() != null && po.getXzffpzFlag().equals(NumberUtils.INTEGER_ONE)) ? "已推送" : "未推送"); + po.setXzjtpzFlagStr(LyPushStatusEnum.getDefaultLabelByValue(po.getXzjtpzFlag())); + po.setXzffpzFlagStr(LyPushStatusEnum.getDefaultLabelByValue(po.getXzffpzFlag())); }); List columns = new ArrayList<>(); columns.add(new WeaTableColumnGroup("150px", "发放公司全称", "ffgsqc")); diff --git a/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java b/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java index dc9470312..29af6a340 100644 --- a/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java +++ b/src/com/engine/salary/service/impl/LySocialReportServiceImpl.java @@ -16,6 +16,7 @@ import com.engine.salary.entity.salarysob.po.SalarySobEmpFieldPO; import com.engine.salary.entity.salarysob.po.SalarySobItemPO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.UserStatusEnum; +import com.engine.salary.enums.ly.LyPushStatusEnum; import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum; import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; @@ -465,8 +466,8 @@ public class LySocialReportServiceImpl extends Service implements LySocialReport pageInfo.setList(SalaryPageUtil.subList(param.getCurrent(), param.getPageSize(), lySocialReportPOS)); } pageInfo.getList().stream().forEach(po -> { - po.setSbjtpzFlagStr((po.getSbjtpzFlag() != null && po.getSbjtpzFlag().equals(NumberUtils.INTEGER_ONE)) ? "已推送" : "未推送"); - po.setSbffpzFlagStr((po.getSbffpzFlag() != null && po.getSbffpzFlag().equals(NumberUtils.INTEGER_ONE)) ? "已推送" : "未推送"); + po.setSbjtpzFlagStr(LyPushStatusEnum.getDefaultLabelByValue(po.getSbjtpzFlag())); + po.setSbffpzFlagStr(LyPushStatusEnum.getDefaultLabelByValue(po.getSbffpzFlag())); }); List columns = new ArrayList<>(); columns.add(new WeaTableColumnGroup("150px", "购买公司全称", "gmgsqc")); diff --git a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java index 305d42e19..df7e00e8a 100644 --- a/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryEmployeeServiceImpl.java @@ -690,4 +690,9 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee public List listAllFzhsInfo() { return getEmployMapper().listAllFzhsInfo(); } + + @Override + public List listFzhsInfoByDeptIds(List departmentIds) { + return getEmployMapper().listFzhsInfoByDeptIds(departmentIds); + } }