社保台账

This commit is contained in:
Chengliang 2022-04-12 19:29:19 +08:00
parent 9b907a7a36
commit 985456ed14
14 changed files with 1097 additions and 124 deletions

View File

@ -1229,3 +1229,289 @@ java.lang.NumberFormatException: For input string: ""
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
2022-04-12 18:43:07,282 [main] [com.engine.core.cfg.DynamicProxyConfiguration] [INFO] - Loading business class(SERVICE-METHOD) dynamic proxy...
2022-04-12 18:43:07,294 [main] [com.engine.core.cfg.DynamicProxyConfiguration] [INFO] -
>> targetcom.engine.workflow.service.impl.WorkflowTypeServiceImpl.doSaveOperation(java.util.Map,weaver.hrm.User)
>> proxy->com.engine.plugin.workflow.service.CustomWorkflowTypeService->com.engine.plugin.workflow.service.CustomWorkflowTypeService4->com.engine.plugin.workflow.service.CustomWorkflowTypeService2->com.engine.plugin.workflow.service.CustomWorkflowTypeService3
2022-04-12 18:43:07,294 [main] [com.engine.core.cfg.DynamicProxyConfiguration] [INFO] - Loading business class(COMMAND) dynamic proxy...
2022-04-12 18:43:07,295 [main] [com.engine.core.cfg.DynamicProxyConfiguration] [INFO] -
>> targetcom.engine.workplan.cmd.workplanBase.BeforeWorkplanDelCmd
>> proxy->com.customization.esb.workplan.workplanbase.ProxyDeleteWorkPlanCmd
>> targetcom.engine.workflow.cmd.signInput.GetNodeSignSetCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestForm.GetOdocSignInputSetCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.GetNodeRightInfo
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetNodeRightInfo
>> targetcom.engine.workflow.cmd.requestForm.RequestSubmitCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestForm.OdocRequestSubmitCmd->com.engine.plugin.odoc.command.signSetting.OdocWorkflowSubmitProxyCmd->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeRequestCmd
>> targetcom.engine.workflow.cmd.workflowPath.list.GetWorkflowListConditionCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.list.GetAddOdocWFFormCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.DoSaveNodeCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowRightMenuDoSaveNodeCmd->com.engine.plugin.odoc.command.workflowPath.node.DeleteOdocNodeCfgCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.addInOperate.GetAddInOperateConditionCmd
>> proxy->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetAddInOperateConditionCmd
>> targetcom.engine.crm.cmd.chance.FormUpdateCmd
>> proxy->com.customization.esb.crm.chance.ProxyEditChanceCmd
>> targetcom.engine.crm.cmd.customer.CustomerSaveCmd
>> proxy->com.customization.esb.crm.customer.ProxyNewCustomerCmd
>> targetcom.engine.workplan.cmd.workplanBase.AfterWorkplanNormalCmd
>> proxy->com.customization.esb.workplan.workplanbase.ProxyAfterWorkplanNormalCmd
>> targetcom.engine.workflow.cmd.requestForm.BatchSubmitCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeBatchCmd
>> targetcom.api.prj.cmd.prjBoard.DoDelBoardStageCmd
>> proxy->com.customization.esb.proj.prjboard.ProxyDoDelBoardStageCmd
>> targetcom.engine.workflow.cmd.workflowPath.nodeLink.SaveNodeLinkCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.nodeLink.DeleteOdocNodelinkExtCmd
>> targetcom.engine.cube.cmd.app.WaterMarkImg
>> proxy->com.customization.cube.list.CustomChangeListHrefLinkCmd
>> targetcom.engine.crm.cmd.customer.CustomerEditCmd
>> proxy->com.customization.esb.crm.customer.ProxyEditCustomerCmd
>> targetcom.engine.meeting.cmd.meetingbase.NewMeetingCmd
>> proxy->com.customization.esb.meeting.meetingbase.ProxyNewMeetingCmd
>> targetcom.engine.workflow.cmd.signInput.GetSignInputInfoCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestSignInput.OdocSignInputCmd
>> targetcom.engine.cube.cmd.app.GetAppListCmd
>> proxy->com.engine.plugin.mode.license.Proxy_GetAppListCmd
>> targetcom.api.prj.cmd.project.DoProjectOperationCmd
>> proxy->com.customization.esb.proj.project.ProxyDoProjectOperationCmd
>> targetcom.engine.workflowDesign.cmd.WorkflowXmlParserCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestPic.OdocRequestPicCmd
>> targetcom.api.prj.cmd.project.DoPrjTempletStageSaveCmd
>> proxy->com.customization.esb.proj.project.ProxySavePrjTempletStageCmd
>> targetcom.engine.workflow.cmd.requestForm.DoTakEndCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSIgnReceiveTimeDoTakEndCmd
>> targetcom.engine.crm.cmd.contacter.CreateCmd
>> proxy->com.customization.esb.crm.contacter.ProxyNewContacterCmd
>> targetcom.engine.workflow.cmd.requestForm.GetRightMenuCmd
>> proxy->com.engine.plugin.odoc.command.odoRightMenuSetForm.OdocRightMenuBtnCmd->com.engine.plugin.odoc.command.odocRequestForm.GetOdocRightMenuCmd
>> targetcom.engine.odoc.cmd.officialSettings.createDocByWf.OdocSaveMenuSettingsCmd
>> proxy->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocSaveMenuSettingsCmd
>> targetcom.engine.workflowDesign.cmd.GetOperateDataCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestPic.OdocRequestPicOperatorCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.signSet.DoSignSetSaveCmd
>> proxy->com.engine.plugin.workflow.command.CustomDoSignSetSaveCmd
>> targetcom.engine.odoc.cmd.odocMenuOperate.doEndPersonTreatCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeEndTreatCmd
>> targetcom.engine.workflow.cmd.workflowPath.baseInfo.GetBaseInfoConditionCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.GetBaseInfoSettingCmd
>> targetcom.engine.crm.cmd.chance.DeleteCmd
>> proxy->com.customization.esb.crm.chance.ProxyDeleteChanceCmd
>> targetcom.engine.odoc.cmd.officialSettings.createDocByWf.OdocGetMenuSettingsCmd
>> proxy->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocGetMenuSettingsCmd
>> targetcom.engine.odoc.cmd.officialSettings.createDocByWf.OdocGetActionSettingsCmd
>> proxy->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocGetActionSettingsCmd
>> targetcom.engine.workflow.cmd.workflowType.DoSaveCmd
>> proxy->com.engine.plugin.workflow.command.CustomDoSave2Cmd->com.engine.plugin.workflow.command.CustomDoSave3Cmd->com.engine.plugin.workflow.command.CustomDoSaveCmd
>> targetcom.engine.odoc.cmd.odocrequest.FlowNextCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeFlowCmd
>> targetcom.engine.workflowDesign.cmd.GetWfInfoCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetWfInfoCmd->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetWfInfoCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.GetNodeSessionkeyCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowRightMenuCmd
>> targetcom.engine.crm.cmd.contacter.DeleteCmd
>> proxy->com.customization.esb.crm.contacter.ProxyDeleteContacterCmd
>> targetcom.engine.odoc.cmd.odocrequest.ForceArchiveCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeForceArchiveCmd
>> targetcom.engine.meeting.cmd.meetingField.GetViewMeetingFieldCmd
>> proxy->com.customization.meeting.qc854537.CustomGetViewMeetingFieldCmd
>> targetcom.api.common.cmd.login.DoUserSessionCmd
>> proxy->com.engine.plugin.hrm.command.MyDoUserSessionCmd
>> targetcom.engine.hrm.cmd.test.GetSearchConditionCmd
>> proxy->com.engine.plugin.hrm.command.GetMySearchConditionCmd
>> targetcom.engine.crm.cmd.chance.FormSaveCmd
>> proxy->com.customization.esb.crm.chance.ProxyNewChanceCmd
>> targetcom.engine.crm.cmd.customer.CrmDeleteCmd
>> proxy->com.customization.esb.crm.customer.ProxyDeleteCustomerCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.addInOperate.GetPreAddInOperateConditionCmd
>> proxy->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetPreAddInOperateConditionCmd
>> targetcom.api.prj.cmd.prjBoard.DoEditBoardStageCmd
>> proxy->com.customization.esb.proj.prjboard.ProxyDoEditBoardStageCmd
>> targetcom.engine.odoc.cmd.updateSign.setting.SelectFreeFlowDatasCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowIsFree4OdocProxyCmd
>> targetcom.engine.odoc.cmd.updateOperator.PlusSignatureCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeAddDelCmd
>> targetcom.api.prj.cmd.prjBoard.DoAddBoardStageCmd
>> proxy->com.customization.esb.proj.prjboard.ProxyDoAddBoardStageCmd
>> targetcom.engine.workflow.cmd.requestForm.RequestManager_FlowNextNodeCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestForm.OdocRequestNextNodeCmd
>> targetcom.engine.odoc.cmd.odocWorkflow.OdocAddWorkflowCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignAddWorkflowCmd
>> targetcom.engine.workflow.cmd.requestForm.RemarkSubmitCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeRemarkCmd
>> targetcom.engine.workflow.cmd.workflowPath.baseInfo.DoAddWFCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.SaveAddWFCmd
>> targetcom.engine.workflow.cmd.workflowPath.baseInfo.DoSaveNewVersionCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocWorkflowSaveNewVersionTabCmd->com.engine.plugin.odoc.command.workflowPath.SaveNewVersionCmd
>> targetcom.engine.workflow.cmd.workflowPath.nodeLink.GetNodeLinkCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetNodeLinkCmd
>> targetcom.engine.workplan.cmd.workplanBase.AddAndEditWorkPlanCmd
>> proxy->com.customization.esb.workplan.workplanbase.ProxyAddAndEditWorkPlanCmd
>> targetcom.engine.workflow.cmd.requestForm.WFManager_SaveNewNodeCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowWFManager_SaveNewNodeCmd
>> targetcom.engine.workflow.cmd.workflowPath.baseInfo.DoEditWFCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.SaveEditWFCmd
>> targetcom.engine.workflow.cmd.requestLog.LoadRequestLogBaseInfoCmd
>> proxy->com.engine.plugin.workflow.command.CustomLoadRequestLogBaseInfoCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.DoRestoreDeleteNodeCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.node.RestoreOdocNodeCfgCmd
>> targetcom.engine.workflow.cmd.monitor.DoDeleteCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocWorkflowDeleteProxyCmd
>> targetcom.engine.meeting.cmd.meetingbase.MeetingCancelCmd
>> proxy->com.customization.esb.meeting.meetingbase.ProxyCancelMeetingCmd
>> targetcom.engine.odoc.cmd.updateSign.append.AppendSaveLogCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeAppendSignCmd
>> targetcom.api.prj.cmd.task.DoTaskOperationCmd
>> proxy->com.customization.esb.proj.task.ProxyDoTaskOperationCmd
>> targetcom.engine.workflow.cmd.requestForm.LoadParamCmd
>> proxy->com.engine.plugin.workflow.command.HaoQianPromptInfoCmd->com.engine.plugin.odoc.command.odocRequestForm.LoadOdocFormParam
>> targetcom.engine.crm.cmd.contacter.EditCmd
>> proxy->com.customization.esb.crm.contacter.ProxyEditContacterCmd
>> targetcom.engine.workflow.cmd.requestForm.ForwardSubmitCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeForwardCmd
>> targetcom.engine.workflow.cmd.requestForm.GetFormTabCmd
>> proxy->com.engine.plugin.fna.command.FnaElectronicDepositFormTopTabCmd->com.engine.plugin.odoc.command.signSetting.OdocWorkflowTabManagerCmd
>> targetcom.engine.workflowDesign.cmd.DoSaveLayout
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocDoSaveLayoutCmd
2022-04-12 18:43:07,296 [main] [com.engine.core.cfg.DynamicProxyConfiguration] [INFO] - The business class dynamic proxy is loaded.
2022-04-12 18:43:47,830 [main] [com.engine.core.cfg.DynamicProxyConfiguration] [INFO] - Loading business class(SERVICE-METHOD) dynamic proxy...
2022-04-12 18:43:47,839 [main] [com.engine.core.cfg.DynamicProxyConfiguration] [INFO] -
>> targetcom.engine.workflow.service.impl.WorkflowTypeServiceImpl.doSaveOperation(java.util.Map,weaver.hrm.User)
>> proxy->com.engine.plugin.workflow.service.CustomWorkflowTypeService->com.engine.plugin.workflow.service.CustomWorkflowTypeService4->com.engine.plugin.workflow.service.CustomWorkflowTypeService2->com.engine.plugin.workflow.service.CustomWorkflowTypeService3
2022-04-12 18:43:47,839 [main] [com.engine.core.cfg.DynamicProxyConfiguration] [INFO] - Loading business class(COMMAND) dynamic proxy...
2022-04-12 18:43:47,840 [main] [com.engine.core.cfg.DynamicProxyConfiguration] [INFO] -
>> targetcom.engine.workplan.cmd.workplanBase.BeforeWorkplanDelCmd
>> proxy->com.customization.esb.workplan.workplanbase.ProxyDeleteWorkPlanCmd
>> targetcom.engine.workflow.cmd.signInput.GetNodeSignSetCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestForm.GetOdocSignInputSetCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.GetNodeRightInfo
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetNodeRightInfo
>> targetcom.engine.workflow.cmd.requestForm.RequestSubmitCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestForm.OdocRequestSubmitCmd->com.engine.plugin.odoc.command.signSetting.OdocWorkflowSubmitProxyCmd->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeRequestCmd
>> targetcom.engine.workflow.cmd.workflowPath.list.GetWorkflowListConditionCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.list.GetAddOdocWFFormCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.DoSaveNodeCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowRightMenuDoSaveNodeCmd->com.engine.plugin.odoc.command.workflowPath.node.DeleteOdocNodeCfgCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.addInOperate.GetAddInOperateConditionCmd
>> proxy->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetAddInOperateConditionCmd
>> targetcom.engine.crm.cmd.chance.FormUpdateCmd
>> proxy->com.customization.esb.crm.chance.ProxyEditChanceCmd
>> targetcom.engine.crm.cmd.customer.CustomerSaveCmd
>> proxy->com.customization.esb.crm.customer.ProxyNewCustomerCmd
>> targetcom.engine.workplan.cmd.workplanBase.AfterWorkplanNormalCmd
>> proxy->com.customization.esb.workplan.workplanbase.ProxyAfterWorkplanNormalCmd
>> targetcom.engine.workflow.cmd.requestForm.BatchSubmitCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeBatchCmd
>> targetcom.api.prj.cmd.prjBoard.DoDelBoardStageCmd
>> proxy->com.customization.esb.proj.prjboard.ProxyDoDelBoardStageCmd
>> targetcom.engine.workflow.cmd.workflowPath.nodeLink.SaveNodeLinkCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.nodeLink.DeleteOdocNodelinkExtCmd
>> targetcom.engine.cube.cmd.app.WaterMarkImg
>> proxy->com.customization.cube.list.CustomChangeListHrefLinkCmd
>> targetcom.engine.crm.cmd.customer.CustomerEditCmd
>> proxy->com.customization.esb.crm.customer.ProxyEditCustomerCmd
>> targetcom.engine.meeting.cmd.meetingbase.NewMeetingCmd
>> proxy->com.customization.esb.meeting.meetingbase.ProxyNewMeetingCmd
>> targetcom.engine.workflow.cmd.signInput.GetSignInputInfoCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestSignInput.OdocSignInputCmd
>> targetcom.engine.cube.cmd.app.GetAppListCmd
>> proxy->com.engine.plugin.mode.license.Proxy_GetAppListCmd
>> targetcom.api.prj.cmd.project.DoProjectOperationCmd
>> proxy->com.customization.esb.proj.project.ProxyDoProjectOperationCmd
>> targetcom.engine.workflowDesign.cmd.WorkflowXmlParserCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestPic.OdocRequestPicCmd
>> targetcom.api.prj.cmd.project.DoPrjTempletStageSaveCmd
>> proxy->com.customization.esb.proj.project.ProxySavePrjTempletStageCmd
>> targetcom.engine.workflow.cmd.requestForm.DoTakEndCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSIgnReceiveTimeDoTakEndCmd
>> targetcom.engine.crm.cmd.contacter.CreateCmd
>> proxy->com.customization.esb.crm.contacter.ProxyNewContacterCmd
>> targetcom.engine.workflow.cmd.requestForm.GetRightMenuCmd
>> proxy->com.engine.plugin.odoc.command.odoRightMenuSetForm.OdocRightMenuBtnCmd->com.engine.plugin.odoc.command.odocRequestForm.GetOdocRightMenuCmd
>> targetcom.engine.odoc.cmd.officialSettings.createDocByWf.OdocSaveMenuSettingsCmd
>> proxy->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocSaveMenuSettingsCmd
>> targetcom.engine.workflowDesign.cmd.GetOperateDataCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestPic.OdocRequestPicOperatorCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.signSet.DoSignSetSaveCmd
>> proxy->com.engine.plugin.workflow.command.CustomDoSignSetSaveCmd
>> targetcom.engine.odoc.cmd.odocMenuOperate.doEndPersonTreatCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeEndTreatCmd
>> targetcom.engine.workflow.cmd.workflowPath.baseInfo.GetBaseInfoConditionCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.GetBaseInfoSettingCmd
>> targetcom.engine.crm.cmd.chance.DeleteCmd
>> proxy->com.customization.esb.crm.chance.ProxyDeleteChanceCmd
>> targetcom.engine.odoc.cmd.officialSettings.createDocByWf.OdocGetMenuSettingsCmd
>> proxy->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocGetMenuSettingsCmd
>> targetcom.engine.odoc.cmd.officialSettings.createDocByWf.OdocGetActionSettingsCmd
>> proxy->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocGetActionSettingsCmd
>> targetcom.engine.workflow.cmd.workflowType.DoSaveCmd
>> proxy->com.engine.plugin.workflow.command.CustomDoSave2Cmd->com.engine.plugin.workflow.command.CustomDoSave3Cmd->com.engine.plugin.workflow.command.CustomDoSaveCmd
>> targetcom.engine.odoc.cmd.odocrequest.FlowNextCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeFlowCmd
>> targetcom.engine.workflowDesign.cmd.GetWfInfoCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetWfInfoCmd->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetWfInfoCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.GetNodeSessionkeyCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowRightMenuCmd
>> targetcom.engine.crm.cmd.contacter.DeleteCmd
>> proxy->com.customization.esb.crm.contacter.ProxyDeleteContacterCmd
>> targetcom.engine.odoc.cmd.odocrequest.ForceArchiveCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeForceArchiveCmd
>> targetcom.engine.meeting.cmd.meetingField.GetViewMeetingFieldCmd
>> proxy->com.customization.meeting.qc854537.CustomGetViewMeetingFieldCmd
>> targetcom.api.common.cmd.login.DoUserSessionCmd
>> proxy->com.engine.plugin.hrm.command.MyDoUserSessionCmd
>> targetcom.engine.hrm.cmd.test.GetSearchConditionCmd
>> proxy->com.engine.plugin.hrm.command.GetMySearchConditionCmd
>> targetcom.engine.crm.cmd.chance.FormSaveCmd
>> proxy->com.customization.esb.crm.chance.ProxyNewChanceCmd
>> targetcom.engine.crm.cmd.customer.CrmDeleteCmd
>> proxy->com.customization.esb.crm.customer.ProxyDeleteCustomerCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.addInOperate.GetPreAddInOperateConditionCmd
>> proxy->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetPreAddInOperateConditionCmd
>> targetcom.api.prj.cmd.prjBoard.DoEditBoardStageCmd
>> proxy->com.customization.esb.proj.prjboard.ProxyDoEditBoardStageCmd
>> targetcom.engine.odoc.cmd.updateSign.setting.SelectFreeFlowDatasCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowIsFree4OdocProxyCmd
>> targetcom.engine.odoc.cmd.updateOperator.PlusSignatureCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeAddDelCmd
>> targetcom.api.prj.cmd.prjBoard.DoAddBoardStageCmd
>> proxy->com.customization.esb.proj.prjboard.ProxyDoAddBoardStageCmd
>> targetcom.engine.workflow.cmd.requestForm.RequestManager_FlowNextNodeCmd
>> proxy->com.engine.plugin.odoc.command.odocRequestForm.OdocRequestNextNodeCmd
>> targetcom.engine.odoc.cmd.odocWorkflow.OdocAddWorkflowCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignAddWorkflowCmd
>> targetcom.engine.workflow.cmd.requestForm.RemarkSubmitCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeRemarkCmd
>> targetcom.engine.workflow.cmd.workflowPath.baseInfo.DoAddWFCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.SaveAddWFCmd
>> targetcom.engine.workflow.cmd.workflowPath.baseInfo.DoSaveNewVersionCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocWorkflowSaveNewVersionTabCmd->com.engine.plugin.odoc.command.workflowPath.SaveNewVersionCmd
>> targetcom.engine.workflow.cmd.workflowPath.nodeLink.GetNodeLinkCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetNodeLinkCmd
>> targetcom.engine.workplan.cmd.workplanBase.AddAndEditWorkPlanCmd
>> proxy->com.customization.esb.workplan.workplanbase.ProxyAddAndEditWorkPlanCmd
>> targetcom.engine.workflow.cmd.requestForm.WFManager_SaveNewNodeCmd
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowWFManager_SaveNewNodeCmd
>> targetcom.engine.workflow.cmd.workflowPath.baseInfo.DoEditWFCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.SaveEditWFCmd
>> targetcom.engine.workflow.cmd.requestLog.LoadRequestLogBaseInfoCmd
>> proxy->com.engine.plugin.workflow.command.CustomLoadRequestLogBaseInfoCmd
>> targetcom.engine.workflow.cmd.workflowPath.node.DoRestoreDeleteNodeCmd
>> proxy->com.engine.plugin.odoc.command.workflowPath.node.RestoreOdocNodeCfgCmd
>> targetcom.engine.workflow.cmd.monitor.DoDeleteCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocWorkflowDeleteProxyCmd
>> targetcom.engine.meeting.cmd.meetingbase.MeetingCancelCmd
>> proxy->com.customization.esb.meeting.meetingbase.ProxyCancelMeetingCmd
>> targetcom.engine.odoc.cmd.updateSign.append.AppendSaveLogCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeAppendSignCmd
>> targetcom.api.prj.cmd.task.DoTaskOperationCmd
>> proxy->com.customization.esb.proj.task.ProxyDoTaskOperationCmd
>> targetcom.engine.workflow.cmd.requestForm.LoadParamCmd
>> proxy->com.engine.plugin.workflow.command.HaoQianPromptInfoCmd->com.engine.plugin.odoc.command.odocRequestForm.LoadOdocFormParam
>> targetcom.engine.crm.cmd.contacter.EditCmd
>> proxy->com.customization.esb.crm.contacter.ProxyEditContacterCmd
>> targetcom.engine.workflow.cmd.requestForm.ForwardSubmitCmd
>> proxy->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeForwardCmd
>> targetcom.engine.workflow.cmd.requestForm.GetFormTabCmd
>> proxy->com.engine.plugin.fna.command.FnaElectronicDepositFormTopTabCmd->com.engine.plugin.odoc.command.signSetting.OdocWorkflowTabManagerCmd
>> targetcom.engine.workflowDesign.cmd.DoSaveLayout
>> proxy->com.engine.plugin.odoc.command.rightMenuSetting.OdocDoSaveLayoutCmd
2022-04-12 18:43:47,842 [main] [com.engine.core.cfg.DynamicProxyConfiguration] [INFO] - The business class dynamic proxy is loaded.

View File

@ -5,6 +5,8 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @Author weaver_cl
* @Description: TODO
@ -19,4 +21,8 @@ public class InsuranceAccountDetailParam extends BaseQueryParam {
private String billMonth; //账单月份
private Integer paymentStatus;
private List<Long> employeeIds;
private String userName;
}

View File

@ -0,0 +1,39 @@
package com.engine.salary.entity.siaccount.param;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author weaver_cl
* @Description: TODO
* @Date 2022/4/12
* @Version V1.0
**/
@Data
@Builder
public class Permission {
private boolean visible;
private boolean disabled;
public Permission() {
this.visible = Boolean.TRUE;
this.disabled = Boolean.FALSE;
}
public Permission(boolean visible) {
this.visible = Boolean.TRUE;
this.disabled = Boolean.FALSE;
this.visible = visible;
}
public Permission(boolean visible, boolean disabled) {
this.visible = Boolean.TRUE;
this.disabled = Boolean.FALSE;
this.visible = visible;
this.disabled = disabled;
}
}

View File

@ -1,6 +1,12 @@
package com.engine.salary.entity.siaccount.po;
import com.cloudstore.eccom.pc.table.WeaTableType;
import com.engine.salary.annotation.SalaryTable;
import com.engine.salary.annotation.SalaryTableOperate;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.Date;
@ -13,6 +19,11 @@ import java.util.Date;
* @Version V1.0
**/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@SalaryTable(pageId = "021c4a65-c401-4bcc-a720-6233996e17f1", tableType = WeaTableType.CHECKBOX,operates = {
})
@Accessors(chain = true)
public class InsuranceAccountDetailPO {

View File

@ -25,6 +25,8 @@ public interface EmployMapper {
List<DataCollectionEmployee> getAdminEmployeeByIds(@Param("collection") List<Long> list);
List<DataCollectionEmployee> getEmployeeIdsByUserName(@Param("userName") String userName);
/**
* 根据薪资账套的人员范围转换而成的查询参数查询人员
*

View File

@ -145,4 +145,40 @@
AND e.id = #{id}
</select>
<sql id="paramSql">
<!-- 关键字(姓名、 -->
<if test="userName != null and userName != ''">
AND
(
a.lastname like CONCAT('%',#{userName},'%')
)
</if>
</sql>
<sql id="paramSql" databaseId="oracle">
<if test="userName != null and userName != ''">
AND
(
a.lastname like '%'||#{userName}||'%'
)
</if>
</sql>
<sql id="paramSql" databaseId="sqlserver">
<if test="userName != null and userName != ''">
AND
(
a.lastname like '%'+#{userName}+'%'
)
</if>
</sql>
<select id="getEmployeeIdsByUserName" resultType="com.engine.salary.entity.datacollection.DataCollectionEmployee">
select
a.LASTNAME as username,
from hrmresource a
where
1 = 1
<include refid="paramSql"/>
</select>
</mapper>

View File

@ -103,6 +103,12 @@
AND
t.payment_status = param.paymentStatus
</if>
<if test="param.employeeIds != null and param.employeeIds.size()>0">
AND t.employee_id IN
<foreach collection="param.employeeIds" open="(" item="employeeId" separator="," close=")">
#{employeeId}
</foreach>
</if>
</sql>
@ -112,6 +118,7 @@
FROM
hrsa_bill_detail t
WHERE t.delete_type = 0
1 = 1
<include refid="paramSql"/>
ORDER BY t.update_time DESC
</select>

View File

@ -0,0 +1,30 @@
package com.engine.salary.service;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
import com.engine.salary.entity.siaccount.po.InsuranceAccountInspectPO;
import java.util.List;
/**
* @Author weaver_cl
* @Description: TODO
* @Date 2022/4/12
* @Version V1.0
**/
public interface ColumnBuildService {
/**
* 核算详情表头元素
*
* @param pos pos
* @param tenantKey 租户key
* @param flag
* @return
*/
List<WeaTableColumn> buildCommonColumnsWithStyle(List<InsuranceAccountDetailPO> pos, Long employeeId, String tenantKey, boolean flag);
List<WeaTableColumn> buildCommonColumns(List<InsuranceAccountDetailPO> pos, Long employeeId, String tenantKey);
List<WeaTableColumn> buildInspectColumns(List<InsuranceAccountInspectPO> pos, Long employeeId, String tenantKey);
}

View File

@ -15,4 +15,14 @@ public interface SIAccountService {
Map<String,Object> listPage(InsuranceAccountBatchParam insuranceAccountBatchParam);
Map<String,Object> listCommonPage(InsuranceAccountDetailParam insuranceAccountDetailParam);
Map<String,Object> listCommonPageByName(InsuranceAccountDetailParam insuranceAccountDetailParam);
Map<String,Object> listSupplementaryPage(InsuranceAccountDetailParam insuranceAccountDetailParam);
Map<String,Object> supplementaryByNameList(InsuranceAccountDetailParam insuranceAccountDetailParam);
Map<String, Object> getForm(Map<String, Object> params);
}

View File

@ -0,0 +1,263 @@
package com.engine.salary.service.impl;
import com.alibaba.fastjson.JSON;
import com.cloudstore.eccom.constant.WeaBoolAttr;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
import com.engine.salary.entity.siaccount.po.InsuranceAccountInspectPO;
import com.engine.salary.entity.sicategory.po.ICategoryPO;
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
import com.engine.salary.mapper.sicategory.ICategoryMapper;
import com.engine.salary.service.ColumnBuildService;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import org.apache.commons.lang3.StringUtils;
import com.engine.core.impl.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Author weaver_cl
* @Description: TODO
* @Date 2022/4/12
* @Version V1.0
**/
public class ColumnBuildServiceImpl extends Service implements ColumnBuildService {
@Override
public List<WeaTableColumn> buildCommonColumnsWithStyle(List<InsuranceAccountDetailPO> pos, Long employeeId, String tenantKey, boolean flag) {
List<WeaTableColumn> list = new ArrayList<>();
Map<String, String> categoryIdNameMap = MapperProxyFactory.getProxy(ICategoryMapper.class).listAll().stream().collect(Collectors.toMap(ICategoryPO -> String.valueOf(ICategoryPO.getId()), ICategoryPO::getInsuranceName));
Map<Integer, Map<String, String>> columns = buildPaymentTitle(pos, categoryIdNameMap, employeeId, tenantKey);
Map<Integer, Map<String, String>> personColumns = buildPersonalTitle(pos, categoryIdNameMap, employeeId, tenantKey);
Map<Integer, Map<String, String>> comColumns = buildComTitle(pos, categoryIdNameMap, employeeId, tenantKey);
WeaTableColumn weaTableNameColumn = new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 85429, "姓名"), "userName");
weaTableNameColumn.setFixed("left");
WeaTableColumn idColumn = new WeaTableColumn("150px", "id", "id");
idColumn.setIsPrimarykey(WeaBoolAttr.TRUE);
idColumn.setDisplay(WeaBoolAttr.FALSE);
list.add(idColumn);
WeaTableColumn employeeIdColumn = new WeaTableColumn("150px", "人员信息表的主键id", "employeeId");
employeeIdColumn.setDisplay(WeaBoolAttr.FALSE);
list.add(employeeIdColumn);
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 86185, "部门"), "department"));
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 86186, "手机号"), "mobile"));
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 86187, "员工状态"), "employeeStatus"));
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 100377, "数据来源"), "sourceFrom"));
if (flag) {
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 100379, "补缴月份"), "supplementaryMonth"));
}
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91325, "社保缴纳组织"), "socialPayOrg"));
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91324, "社保账号"), "socialAccount"));
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91323, "社保方案名称"), "socialSchemeName"));
//组装社保基数
columns.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> {
list.add(new WeaTableColumn("150px",k, v));
});
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91488, "公积金缴纳组织"), "fundPayOrg"));
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91486, "公积金账号"), "fundAccount"));
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91485, "公积金方案名称"), "fundSchemeName"));
//组装公积金基数
columns.get(WelfareTypeEnum.ACCUMULATION_FUND.getValue()).forEach((k, v) -> {
list.add(new WeaTableColumn("150px",k, v));
});
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91487, "补充公积金账号"), "supplementFundAccount"));
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 91497, "其他福利缴纳组织"), "otherPayOrg"));
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel(91496, "其他福利方案名称"), "otherSchemeName"));
columns.get(WelfareTypeEnum.OTHER.getValue()).forEach((k, v) -> {
list.add(new WeaTableColumn("150px",k, v));
});
personColumns.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> {
list.add(new WeaTableColumn("150px",k, v));
});
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 100388, "社保个人合计") + "</span>", "socialPerSum"));
personColumns.get(WelfareTypeEnum.ACCUMULATION_FUND.getValue()).forEach((k, v) -> {
list.add(new WeaTableColumn("150px",k, v));
});
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 100390, "公积金个人合计") + "</span>", "fundPerSum"));
personColumns.get(WelfareTypeEnum.OTHER.getValue()).forEach((k, v) -> {
list.add(new WeaTableColumn("150px",k, v));
});
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 100392, "其他福利个人合计") + "</span>", "otherPerSum"));
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 100393, "个人合计") + "</span>", "perSum"));
comColumns.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> {
list.add(new WeaTableColumn("150px",k, v));
});
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 100394, "社保单位合计") + "</span>", "socialComSum"));
comColumns.get(WelfareTypeEnum.ACCUMULATION_FUND.getValue()).forEach((k, v) -> {
list.add(new WeaTableColumn("150px",k, v));
});
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 100395, "公积金单位合计") + "</span>", "fundComSum"));
comColumns.get(WelfareTypeEnum.OTHER.getValue()).forEach((k, v) -> {
list.add(new WeaTableColumn("150px",k, v));
});
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 100396, "其他福利单位合计") + "</span>", "otherComSum"));
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 100397, "单位合计") + "</span>", "comSum"));
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 100398, "社保合计") + "</span>", "socialSum"));
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 100399, "公积金合计") + "</span>", "fundSum"));
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 100400, "其他福利合计") + "</span>", "otherSum"));
list.add(new WeaTableColumn("150px","<span style=\"color:blue\">" + SalaryI18nUtil.getI18nLabel( 93278, "合计") + "</span>", "total"));
return list;
}
private Map<Integer, Map<String, String>> buildPaymentTitle(List<InsuranceAccountDetailPO> pos, Map<String, String> categoryIdNameMap, Long employeeId, String tenantKey) {
Set<String> socailIds = new HashSet<>();
Set<String> fundIds = new HashSet<>();
Set<String> otherIds = new HashSet<>();
Map<Integer, Map<String, String>> result = new HashMap<>();
pos.stream().forEach(item -> {
if (StringUtils.isNotBlank(item.getSocialPaymentBaseString())) {
Map<String, String> socialJson = JSON.parseObject(item.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
socialJson.forEach((k, v) -> {
socailIds.add(k);
});
}
if (StringUtils.isNotBlank(item.getFundPaymentBaseString())) {
Map<String, String> fundJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
fundJson.forEach((k, v) -> {
fundIds.add(k);
});
}
if (StringUtils.isNotBlank(item.getOtherPaymentBaseString())) {
Map<String, String> otherJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
otherJson.forEach((k, v) -> {
otherIds.add(k);
});
}
});
Map<String, String> socialColumns = new HashMap<>();
Map<String, String> fundColumns = new HashMap<>();
Map<String, String> otherColumns = new HashMap<>();
socailIds.stream().forEach(social -> {
if (categoryIdNameMap.containsKey(social)) {
socialColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel(100293, "申报基数"), social + "socialBase");
}
});
fundIds.stream().forEach(social -> {
if (categoryIdNameMap.containsKey(social)) {
fundColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 100293, "申报基数"), social + "fundBase");
}
});
otherIds.stream().forEach(social -> {
if (categoryIdNameMap.containsKey(social)) {
otherColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 100293, "申报基数"), social + "otherBase");
}
});
result.put(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), socialColumns);
result.put(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), fundColumns);
result.put(WelfareTypeEnum.OTHER.getValue(), otherColumns);
return result;
}
private Map<Integer, Map<String, String>> buildPersonalTitle(List<InsuranceAccountDetailPO> pos, Map<String, String> categoryIdNameMap, Long employeeId, String tenantKey) {
Set<String> socailIds = new HashSet<>();
Set<String> fundIds = new HashSet<>();
Set<String> otherIds = new HashSet<>();
Map<Integer, Map<String, String>> result = new HashMap<>();
pos.stream().forEach(item -> {
if (StringUtils.isNotBlank(item.getSocialPerJson())) {
Map<String, String> socialJson = JSON.parseObject(item.getSocialPerJson(), new HashMap<String, String>().getClass());
socialJson.forEach((k, v) -> {
socailIds.add(k);
});
}
if (StringUtils.isNotBlank(item.getFundPerJson())) {
Map<String, String> fundJson = JSON.parseObject(item.getFundPerJson(), new HashMap<String, String>().getClass());
fundJson.forEach((k, v) -> {
fundIds.add(k);
});
}
if (StringUtils.isNotBlank(item.getOtherPerJson())) {
Map<String, String> otherJson = JSON.parseObject(item.getOtherPerJson(), new HashMap<String, String>().getClass());
otherJson.forEach((k, v) -> {
otherIds.add(k);
});
}
});
Map<String, String> socialColumns = new HashMap<>();
Map<String, String> fundColumns = new HashMap<>();
Map<String, String> otherColumns = new HashMap<>();
socailIds.stream().forEach(social -> {
if (categoryIdNameMap.containsKey(social)) {
socialColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 87159, "个人"), social + "socialPer");
}
});
fundIds.stream().forEach(social -> {
if (categoryIdNameMap.containsKey(social)) {
fundColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 87159, "个人"), social + "fundPer");
}
});
otherIds.stream().forEach(social -> {
if (categoryIdNameMap.containsKey(social)) {
otherColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 87159, "个人"), social + "otherPer");
}
});
result.put(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), socialColumns);
result.put(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), fundColumns);
result.put(WelfareTypeEnum.OTHER.getValue(), otherColumns);
return result;
}
private Map<Integer, Map<String, String>> buildComTitle(List<InsuranceAccountDetailPO> pos, Map<String, String> categoryIdNameMap, Long employeeId, String tenantKey) {
Set<String> socailIds = new HashSet<>();
Set<String> fundIds = new HashSet<>();
Set<String> otherIds = new HashSet<>();
Map<Integer, Map<String, String>> result = new HashMap<>();
pos.stream().forEach(item -> {
if (StringUtils.isNotBlank(item.getSocialComJson())) {
Map<String, String> socialJson = JSON.parseObject(item.getSocialComJson(), new HashMap<String, String>().getClass());
socialJson.forEach((k, v) -> {
socailIds.add(k);
});
}
if (StringUtils.isNotBlank(item.getFundComJson())) {
Map<String, String> fundJson = JSON.parseObject(item.getFundComJson(), new HashMap<String, String>().getClass());
fundJson.forEach((k, v) -> {
fundIds.add(k);
});
}
if (StringUtils.isNotBlank(item.getOtherComJson())) {
Map<String, String> otherJson = JSON.parseObject(item.getOtherComJson(), new HashMap<String, String>().getClass());
otherJson.forEach((k, v) -> {
otherIds.add(k);
});
}
});
Map<String, String> socialColumns = new HashMap<>();
Map<String, String> fundColumns = new HashMap<>();
Map<String, String> otherColumns = new HashMap<>();
socailIds.stream().forEach(social -> {
if (categoryIdNameMap.containsKey(social)) {
socialColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 100289, "单位"), social + "socialCom");
}
});
fundIds.stream().forEach(social -> {
if (categoryIdNameMap.containsKey(social)) {
fundColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 100289, "单位"), social + "fundCom");
}
});
otherIds.stream().forEach(social -> {
if (categoryIdNameMap.containsKey(social)) {
otherColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 100289, "单位"), social + "otherCom");
}
});
result.put(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), socialColumns);
result.put(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), fundColumns);
result.put(WelfareTypeEnum.OTHER.getValue(), otherColumns);
return result;
}
@Override
public List<WeaTableColumn> buildCommonColumns(List<InsuranceAccountDetailPO> pos, Long employeeId, String tenantKey) {
return null;
}
@Override
public List<WeaTableColumn> buildInspectColumns(List<InsuranceAccountInspectPO> pos, Long employeeId, String tenantKey) {
return null;
}
}

View File

@ -2,15 +2,23 @@ package com.engine.salary.service.impl;
import com.alibaba.fastjson.JSON;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.salaryarchive.po.TaxAgentPO;
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
import com.engine.salary.entity.siaccount.po.InsuranceAccountInspectPO;
import com.engine.salary.entity.taxrate.TaxAgent;
import com.engine.salary.enums.siaccount.BillStatusEnum;
import com.engine.salary.enums.siaccount.ResourceFromEnum;
import com.engine.salary.mapper.TaxAgentMapper;
import com.engine.salary.mapper.datacollection.EmployMapper;
import com.engine.salary.mapper.sischeme.InsuranceSchemeMapper;
import com.engine.salary.service.RecordsBuildService;
import com.engine.core.impl.Service;
import com.engine.salary.util.SalaryAssert;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryEnumUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.binding.MapperProxy;
import org.apache.ibatis.binding.MapperProxyFactory;
import java.util.ArrayList;
import java.util.HashMap;
@ -34,107 +42,107 @@ public class RecordsBuildServiceImpl extends Service implements RecordsBuildServ
return result;
}
List<Long> employeeIds = list.stream().map(item -> item.getEmployeeId()).collect(Collectors.toList());
// List<DataCollectionEmployee> employeeByIds = hrmCommonEmployeeService.getEmployeeByIds(employeeIds);
// if (CollectionUtils.isEmpty(employeeByIds)) {
// return result;
// }
// List<TaxAgentPO> paymentList = new LambdaQueryChainWrapper<>(individualTaxWithholdingAgentMapper)
// .eq(TaxAgentPO::getTenantKey, tenantKey)
// .list();
// SalaryAssert.notEmpty(paymentList, SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100341, "该租户无扣缴义务人"));
// Map<Long, TaxAgentPO> paymentMap = paymentList.stream().collect(Collectors.toMap(TaxAgentPO::getId, Function.identity()));
// Map<Long, SimpleEmployee> collect = employeeByIds.stream().collect(Collectors.toMap(SimpleEmployee::getEmployeeId, Function.identity()));
// list.forEach(item -> {
// Map<String, Object> record = new HashMap<>();
// SimpleEmployee simpleEmployee = collect.get(item.getEmployeeId());
// record.put("id", item.getId());
// record.put("employeeId", item.getEmployeeId());
// record.put("billMonth", item.getBillMonth());
// record.put("billStatus", SalaryEnumUtil.enumMatchByValue(item.getBillStatus(), BillStatusEnum.values(), BillStatusEnum.class));
// record.put("userName", simpleEmployee.getUsername());
// record.put("department", simpleEmployee.getDepartment().getName());
// record.put("supplementaryMonth", item.getSupplementaryMonth());
// record.put("mobile", simpleEmployee.getMobile());
// record.put("employeeStatus", simpleEmployee.getStatus().getDescription());
// ResourceFromEnum from = SalaryEnumUtil.enumMatchByValue(item.getResourceFrom(), ResourceFromEnum.values(), ResourceFromEnum.class);
// record.put("sourceFrom", SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, from.getLabelId(), from.getDefaultLabel()));
// record.put("socialPayOrg", paymentMap.get(item.getSocialPayOrg()) == null ? "" : paymentMap.get(item.getSocialPayOrg()).getName());
// record.put("socialAccount", item.getSocialAccount());
// record.put("socialSchemeName", siSchemeService.querySchemeName(item.getSocialSchemeId()));
// if (StringUtils.isNotEmpty(item.getSocialPaymentBaseString())) {
// Map<String, Object> socialJson = JSON.parseObject(item.getSocialPaymentBaseString(), new HashMap<String, Object>().getClass());
// socialJson.forEach((k, v) -> {
// record.put(k + "socialBase", SalaryEntityUtil.thousandthConvert((String) v));
// });
// }
// record.put("fundPayOrg", item.getFundPayOrg() == null ? "" : paymentMap.get(item.getFundPayOrg()).getName());
// record.put("fundAccount", item.getFundAccount());
// record.put("fundSchemeName", siSchemeService.querySchemeName(item.getFundSchemeId()));
// record.put("supplementFundAccount", item.getSupplementFundAccount());
// if (StringUtils.isNotEmpty(item.getFundPaymentBaseString())) {
// Map<String, Object> socialJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap<String, Object>().getClass());
// socialJson.forEach((k, v) -> {
// record.put(k + "fundBase", SalaryEntityUtil.thousandthConvert((String) v));
// });
// }
// record.put("otherPayOrg", item.getOtherPayOrg() == null ? "" : paymentMap.get(item.getOtherPayOrg()).getName());
// record.put("otherSchemeName", siSchemeService.querySchemeName(item.getOtherSchemeId()));
// if (StringUtils.isNotEmpty(item.getOtherPaymentBaseString())) {
// Map<String, Object> socialJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap<String, Object>().getClass());
// socialJson.forEach((k, v) -> {
// record.put(k + "otherBase", SalaryEntityUtil.thousandthConvert((String) v));
// });
// }
// if (StringUtils.isNotEmpty(item.getSocialPerJson())) {
// Map<String, Object> socialJson = JSON.parseObject(item.getSocialPerJson(), new HashMap<String, Object>().getClass());
// socialJson.forEach((k, v) -> {
// record.put(k + "socialPer", SalaryEntityUtil.thousandthConvert((String) v));
// });
// }
// record.put("socialPerSum", SalaryEntityUtil.thousandthConvert(item.getSocialPerSum()));
// if (StringUtils.isNotEmpty(item.getFundPerJson())) {
// Map<String, Object> fundPerJson = JSON.parseObject(item.getFundPerJson(), new HashMap<String, Object>().getClass());
// fundPerJson.forEach((k, v) -> {
// record.put(k + "fundPer", SalaryEntityUtil.thousandthConvert((String) v));
// });
// }
// record.put("fundPerSum", SalaryEntityUtil.thousandthConvert(item.getFundPerSum()));
// if (StringUtils.isNotEmpty(item.getOtherPerJson())) {
// Map<String, Object> fundPerJson = JSON.parseObject(item.getOtherPerJson(), new HashMap<String, Object>().getClass());
// fundPerJson.forEach((k, v) -> {
// record.put(k + "otherPer", SalaryEntityUtil.thousandthConvert((String) v));
// });
// }
// record.put("otherPerSum", SalaryEntityUtil.thousandthConvert(item.getOtherPerSum()));
// record.put("perSum", SalaryEntityUtil.thousandthConvert(item.getPerSum()));
// if (StringUtils.isNotEmpty(item.getSocialComJson())) {
// Map<String, Object> fundPerJson = JSON.parseObject(item.getSocialComJson(), new HashMap<String, Object>().getClass());
// fundPerJson.forEach((k, v) -> {
// record.put(k + "socialCom", SalaryEntityUtil.thousandthConvert((String) v));
// });
// }
// record.put("socialComSum", SalaryEntityUtil.thousandthConvert(item.getSocialComSum()));
// if (StringUtils.isNotEmpty(item.getFundComJson())) {
// Map<String, Object> fundPerJson = JSON.parseObject(item.getFundComJson(), new HashMap<String, Object>().getClass());
// fundPerJson.forEach((k, v) -> {
// record.put(k + "fundCom", SalaryEntityUtil.thousandthConvert((String) v));
// });
// }
// record.put("fundComSum", SalaryEntityUtil.thousandthConvert(item.getFundComSum()));
// if (StringUtils.isNotEmpty(item.getOtherComJson())) {
// Map<String, Object> fundPerJson = JSON.parseObject(item.getOtherComJson(), new HashMap<String, Object>().getClass());
// fundPerJson.forEach((k, v) -> {
// record.put(k + "otherCom", SalaryEntityUtil.thousandthConvert((String) v));
// });
// }
// record.put("otherComSum", SalaryEntityUtil.thousandthConvert(item.getOtherComSum()));
// record.put("comSum", SalaryEntityUtil.thousandthConvert(item.getComSum()));
// record.put("socialSum", SalaryEntityUtil.thousandthConvert(item.getSocialSum()));
// record.put("fundSum", SalaryEntityUtil.thousandthConvert(item.getFundSum()));
// record.put("otherSum", SalaryEntityUtil.thousandthConvert(item.getOtherSum()));
// record.put("total", SalaryEntityUtil.thousandthConvert(item.getTotal()));
//result.add(record);
//});
List<DataCollectionEmployee> employeeByIds = MapperProxyFactory.getProxy(EmployMapper.class).getEmployeeByIds(employeeIds);
if (CollectionUtils.isEmpty(employeeByIds)) {
return result;
}
List<TaxAgent> paymentList = MapperProxyFactory.getProxy(TaxAgentMapper.class).listAll();
SalaryAssert.notEmpty(paymentList, SalaryI18nUtil.getI18nLabel( 100341, "暂无扣缴义务人"));
Map<Long, TaxAgent> paymentMap = paymentList.stream().collect(Collectors.toMap(TaxAgent::getId, Function.identity()));
Map<Long, DataCollectionEmployee> collect = employeeByIds.stream().collect(Collectors.toMap(DataCollectionEmployee::getEmployeeId, Function.identity()));
list.forEach(item -> {
Map<String, Object> record = new HashMap<>();
DataCollectionEmployee simpleEmployee = collect.get(item.getEmployeeId());
record.put("id", item.getId());
record.put("employeeId", item.getEmployeeId());
record.put("billMonth", item.getBillMonth());
record.put("billStatus", SalaryEnumUtil.enumMatchByValue(item.getBillStatus(), BillStatusEnum.values(), BillStatusEnum.class));
record.put("userName", simpleEmployee.getUsername());
record.put("department", simpleEmployee.getDepartmentName());
record.put("supplementaryMonth", item.getSupplementaryMonth());
record.put("mobile", simpleEmployee.getMobile());
record.put("employeeStatus", simpleEmployee.getStatus());
ResourceFromEnum from = SalaryEnumUtil.enumMatchByValue(item.getResourceFrom(), ResourceFromEnum.values(), ResourceFromEnum.class);
record.put("sourceFrom", SalaryI18nUtil.getI18nLabel(from.getLabelId(), from.getDefaultLabel()));
record.put("socialPayOrg", paymentMap.get(item.getSocialPayOrg()) == null ? "" : paymentMap.get(item.getSocialPayOrg()).getName());
record.put("socialAccount", item.getSocialAccount());
record.put("socialSchemeName", MapperProxyFactory.getProxy(InsuranceSchemeMapper.class).querySchemeName(item.getSocialSchemeId()));
if (StringUtils.isNotEmpty(item.getSocialPaymentBaseString())) {
Map<String, Object> socialJson = JSON.parseObject(item.getSocialPaymentBaseString(), new HashMap<String, Object>().getClass());
socialJson.forEach((k, v) -> {
record.put(k + "socialBase", SalaryEntityUtil.thousandthConvert((String) v));
});
}
record.put("fundPayOrg", item.getFundPayOrg() == null ? "" : paymentMap.get(item.getFundPayOrg()).getName());
record.put("fundAccount", item.getFundAccount());
record.put("fundSchemeName", MapperProxyFactory.getProxy(InsuranceSchemeMapper.class).querySchemeName(item.getFundSchemeId()));
record.put("supplementFundAccount", item.getSupplementFundAccount());
if (StringUtils.isNotEmpty(item.getFundPaymentBaseString())) {
Map<String, Object> socialJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap<String, Object>().getClass());
socialJson.forEach((k, v) -> {
record.put(k + "fundBase", SalaryEntityUtil.thousandthConvert((String) v));
});
}
record.put("otherPayOrg", item.getOtherPayOrg() == null ? "" : paymentMap.get(item.getOtherPayOrg()).getName());
record.put("otherSchemeName", MapperProxyFactory.getProxy(InsuranceSchemeMapper.class).querySchemeName(item.getOtherSchemeId()));
if (StringUtils.isNotEmpty(item.getOtherPaymentBaseString())) {
Map<String, Object> socialJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap<String, Object>().getClass());
socialJson.forEach((k, v) -> {
record.put(k + "otherBase", SalaryEntityUtil.thousandthConvert((String) v));
});
}
if (StringUtils.isNotEmpty(item.getSocialPerJson())) {
Map<String, Object> socialJson = JSON.parseObject(item.getSocialPerJson(), new HashMap<String, Object>().getClass());
socialJson.forEach((k, v) -> {
record.put(k + "socialPer", SalaryEntityUtil.thousandthConvert((String) v));
});
}
record.put("socialPerSum", SalaryEntityUtil.thousandthConvert(item.getSocialPerSum()));
if (StringUtils.isNotEmpty(item.getFundPerJson())) {
Map<String, Object> fundPerJson = JSON.parseObject(item.getFundPerJson(), new HashMap<String, Object>().getClass());
fundPerJson.forEach((k, v) -> {
record.put(k + "fundPer", SalaryEntityUtil.thousandthConvert((String) v));
});
}
record.put("fundPerSum", SalaryEntityUtil.thousandthConvert(item.getFundPerSum()));
if (StringUtils.isNotEmpty(item.getOtherPerJson())) {
Map<String, Object> fundPerJson = JSON.parseObject(item.getOtherPerJson(), new HashMap<String, Object>().getClass());
fundPerJson.forEach((k, v) -> {
record.put(k + "otherPer", SalaryEntityUtil.thousandthConvert((String) v));
});
}
record.put("otherPerSum", SalaryEntityUtil.thousandthConvert(item.getOtherPerSum()));
record.put("perSum", SalaryEntityUtil.thousandthConvert(item.getPerSum()));
if (StringUtils.isNotEmpty(item.getSocialComJson())) {
Map<String, Object> fundPerJson = JSON.parseObject(item.getSocialComJson(), new HashMap<String, Object>().getClass());
fundPerJson.forEach((k, v) -> {
record.put(k + "socialCom", SalaryEntityUtil.thousandthConvert((String) v));
});
}
record.put("socialComSum", SalaryEntityUtil.thousandthConvert(item.getSocialComSum()));
if (StringUtils.isNotEmpty(item.getFundComJson())) {
Map<String, Object> fundPerJson = JSON.parseObject(item.getFundComJson(), new HashMap<String, Object>().getClass());
fundPerJson.forEach((k, v) -> {
record.put(k + "fundCom", SalaryEntityUtil.thousandthConvert((String) v));
});
}
record.put("fundComSum", SalaryEntityUtil.thousandthConvert(item.getFundComSum()));
if (StringUtils.isNotEmpty(item.getOtherComJson())) {
Map<String, Object> fundPerJson = JSON.parseObject(item.getOtherComJson(), new HashMap<String, Object>().getClass());
fundPerJson.forEach((k, v) -> {
record.put(k + "otherCom", SalaryEntityUtil.thousandthConvert((String) v));
});
}
record.put("otherComSum", SalaryEntityUtil.thousandthConvert(item.getOtherComSum()));
record.put("comSum", SalaryEntityUtil.thousandthConvert(item.getComSum()));
record.put("socialSum", SalaryEntityUtil.thousandthConvert(item.getSocialSum()));
record.put("fundSum", SalaryEntityUtil.thousandthConvert(item.getFundSum()));
record.put("otherSum", SalaryEntityUtil.thousandthConvert(item.getOtherSum()));
record.put("total", SalaryEntityUtil.thousandthConvert(item.getTotal()));
result.add(record);
});
return result;
}

View File

@ -1,22 +1,42 @@
package com.engine.salary.service.impl;
import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem;
import com.api.browser.util.ConditionFactory;
import com.cloudstore.eccom.pc.table.WeaTableColumn;
import com.cloudstore.eccom.pc.table.WeaTableOperate;
import com.cloudstore.eccom.pc.table.WeaTableOperates;
import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.biz.SIAccountBiz;
import com.engine.salary.component.SalaryWeaTable;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
import com.engine.salary.entity.siaccount.bo.InsuranceAccountBO;
import com.engine.salary.entity.siaccount.dto.InsuranceAccountBatchListDTO;
import com.engine.salary.entity.siaccount.param.InsuranceAccountBatchParam;
import com.engine.salary.entity.siaccount.param.InsuranceAccountDetailParam;
import com.engine.salary.entity.siaccount.param.Permission;
import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO;
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
import com.engine.salary.enums.siaccount.BillStatusEnum;
import com.engine.salary.enums.siaccount.PaymentStatusEnum;
import com.engine.salary.mapper.datacollection.EmployMapper;
import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
import com.engine.salary.service.ColumnBuildService;
import com.engine.salary.service.RecordsBuildService;
import com.engine.salary.service.SIAccountService;
import java.util.*;
import java.util.stream.Collectors;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.page.PageInfo;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.hrm.User;
@ -34,6 +54,11 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
return ServiceUtil.getService(RecordsBuildServiceImpl.class,user);
}
public ColumnBuildService getColumnBuildService(User user) {
return ServiceUtil.getService(ColumnBuildServiceImpl.class,user);
}
@Override
public Map<String, Object> listPage(InsuranceAccountBatchParam queryParam) {
Long employeeId = (long)user.getUID();
@ -50,29 +75,16 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
pageInfos.setPageSize(queryParam.getPageSize());
List<Map<Integer,List<Permission>>> operatesPermission = new ArrayList<>();
SalaryWeaTable<InsuranceAccountBatchListDTO> table = new SalaryWeaTable<>(user, InsuranceAccountBatchListDTO.class);
//table.getColumns().get(0).setFixed("left");
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
datas.put("pageInfo", pageInfos);
//datas.put("dataKey",result.getResultMap());
return datas;
// WeaTable<InsuranceAccountBatchListDTO> resultTable = FormatManager.<InsuranceAccountBatchListDTO>getInstance()
// .genTable(InsuranceAccountBatchListDTO.class, insuranceAccountBatchListDTOPage);
//
// resultTable.getOperates().forEach(e -> {
// if (e.getIndex() == 0) {
// e.setOuter(true);
// }
// });
// for (int i = 0; i < insuranceAccountBatchListDTOPage.getRecords().size(); i++) {
// InsuranceAccountBatchListDTO insuranceAccountBatchListDTO = insuranceAccountBatchListDTOPage.getRecords().get(i);
// for (int i = 0; i < insuranceAccountBatchListDTOS.size(); i++) {
// InsuranceAccountBatchListDTO insuranceAccountBatchListDTO = insuranceAccountBatchListDTOS.get(i);
// if (Objects.equals(insuranceAccountBatchListDTO.getBillStatus(), BillStatusEnum.ARCHIVED.getDefaultLabel())) {
// table.getOperates().getOperate().get(i).getIndex();
//
// resultTable.getOperatesPermission().get(i).get(0).setVisible(false);
// resultTable.getOperatesPermission().get(i).get(1).setVisible(false);
// resultTable.getOperatesPermission().get(i).get(2).setVisible(false);
@ -87,6 +99,25 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
// }
// }
// }
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
datas.put("pageInfo", pageInfos);
datas.put("operatesPermission",operatesPermission);
//datas.put("dataKey",result.getResultMap());
return datas;
// WeaTable<InsuranceAccountBatchListDTO> resultTable = FormatManager.<InsuranceAccountBatchListDTO>getInstance()
// .genTable(InsuranceAccountBatchListDTO.class, insuranceAccountBatchListDTOPage);
//
// resultTable.getOperates().forEach(e -> {
// if (e.getIndex() == 0) {
// e.setOuter(true);
// }
// });
// resultTable.setModule("hrmsalary");
// resultTable.getColumns().get(0).setFixed("left");
// return WeaResult.success(resultTable);
@ -104,11 +135,129 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
//数据组装
List<Map<String, Object>> records = getService(user).buildCommonRecords(insuranceAccountDetailPOS, employeeId);
PageInfo<Map<String, Object>> pageInfos = new PageInfo<Map<String, Object>>(records);
pageInfos.setTotal(records.size());
pageInfos.setPageNum(queryParam.getCurrent());
pageInfos.setPageSize(queryParam.getPageSize());
//动态列组装
List<WeaTableColumn> weaTableColumn = getColumnBuildService(user).buildCommonColumnsWithStyle(insuranceAccountDetailPOS, employeeId, SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY, false);
SalaryWeaTable<InsuranceAccountDetailPO> table = new SalaryWeaTable<>(user, SalaryArchiveListDTO.class);
table.setColumns(weaTableColumn);
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
datas.put("pageInfo", pageInfos);
datas.put("dataKey",result.getResultMap());
return datas;
}
@Override
public Map<String, Object> listCommonPageByName(InsuranceAccountDetailParam queryParam) {
//增加查询参数userName
if (StringUtils.isNotBlank(queryParam.getUserName())) {
List<DataCollectionEmployee> employeeIdsByUserName = MapperProxyFactory.getProxy(EmployMapper.class).getEmployeeIdsByUserName(queryParam.getUserName());
List<Long> employeeIds = employeeIdsByUserName.stream().map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList());
queryParam.setEmployeeIds(employeeIds);
}
return listCommonPage(queryParam);
}
@Override
public Map<String, Object> listSupplementaryPage(InsuranceAccountDetailParam queryParam) {
Long employeeId = (long)user.getUID();
Map<String,Object> datas = new HashMap<>();
//正常缴纳列表
queryParam.setPaymentStatus(PaymentStatusEnum.REPAIR.getValue());
List<InsuranceAccountDetailPO> list = MapperProxyFactory.getProxy(InsuranceAccountDetailMapper.class).list(queryParam);
PageInfo<InsuranceAccountDetailPO> pageInfo = new PageInfo<>(list,InsuranceAccountDetailPO.class);
List<InsuranceAccountDetailPO> insuranceAccountDetailPOS = pageInfo.getList();
//数据组装
List<Map<String, Object>> records = getService(user).buildCommonRecords(insuranceAccountDetailPOS, employeeId);
PageInfo<Map<String, Object>> pageInfos = new PageInfo<Map<String, Object>>(records);
pageInfos.setTotal(records.size());
pageInfos.setPageNum(queryParam.getCurrent());
pageInfos.setPageSize(queryParam.getPageSize());
//动态列组装
List<WeaTableColumn> weaTableColumn = getColumnBuildService(user).buildCommonColumnsWithStyle(insuranceAccountDetailPOS, employeeId, SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY, false);
SalaryWeaTable<InsuranceAccountDetailPO> table = new SalaryWeaTable<>(user, SalaryArchiveListDTO.class);
table.setColumns(weaTableColumn);
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
datas.put("pageInfo", pageInfos);
datas.put("dataKey",result.getResultMap());
return datas;
}
@Override
public Map<String, Object> supplementaryByNameList(InsuranceAccountDetailParam queryParam) {
//增加查询参数userName
if (StringUtils.isNotBlank(queryParam.getUserName())) {
List<DataCollectionEmployee> employeeIdsByUserName = MapperProxyFactory.getProxy(EmployMapper.class).getEmployeeIdsByUserName(queryParam.getUserName());
List<Long> employeeIds = employeeIdsByUserName.stream().map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList());
queryParam.setEmployeeIds(employeeIds);
}
return listSupplementaryPage(queryParam);
}
@Override
public Map<String, Object> getForm(Map<String, Object> params) {
ConditionFactory conditionFactory = new ConditionFactory(user);
//条件组
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> conditionItems = new ArrayList<>();
//
// WeaForm weaForm = new WeaForm();
// WeaFormItem weaFormItem = new WeaFormItem(WeaFormItemType.DATEPICKER);
// weaFormItem.setRequired(true);
// String minDate = SalaryDateUtil.getYearMonth(-1, 0);
// String maxDate = SalaryDateUtil.getYearMonth(0, 6);
// weaFormItem.getOtherParams().put("minDate", minDate);
// weaFormItem.getOtherParams().put("maxDate", maxDate);
// List<InsuranceAccountBatchPO> billMonthList = siAccountService.listByTimeRange(minDate, maxDate, tenantKey);
// if (CollectionUtils.isEmpty(billMonthList)) {
// weaFormItem.getOtherParams().put("disabledData", Collections.emptyList());
// } else {
// weaFormItem.getOtherParams().put("disabledData", billMonthList.stream().map(InsuranceAccountBatchPO::getBillMonth).collect(Collectors.toList()));
// }
// weaFormItem.getOtherParams().put("type", "month");
// weaFormItem.getOtherParams().put("format", "YYYY-MM");
// weaFormItem.getOtherParams().put("showFormat", "YYYY-MM");
// weaForm.getItems().put("billMonth", weaFormItem);
//
//
//
//
// WeaFormItem remarksItem = new WeaFormItem(WeaFormItemType.TEXTAREA);
// remarksItem.setMaxLength("60");
// weaForm.getItems().put("remarks", remarksItem);
// List<WeaFormLayout> one = new ArrayList<>();
// one.add(new WeaFormLayout("billMonth", SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 92146, "账单月份"), new String[]{"billMonth"}));
// List<WeaFormLayout> two = new ArrayList<>();
// two.add(new WeaFormLayout("remarks", SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 84961, "备注"), new String[]{"remarks"}));
// weaForm.getLayout().add(one);
// weaForm.getLayout().add(two);
// Map<String, Object> data = new HashMap<>();
// data.put("billMonth", SalaryDateUtil.getYearMonth(0, 0));
// weaForm.setData(data);
return null;
}
}

View File

@ -81,7 +81,7 @@ public class SalaryFormItemUtil {
public static SearchConditionItem inputItem(User user,String rules,int colSpan, int fieldcol,
int viewAttr,int length, String label,String name) {
ConditionFactory conditionFactory = new ConditionFactory(user);
SearchConditionItem input = conditionFactory.createCondition(ConditionType.INPUTNUMBER,502327, name);
SearchConditionItem input = conditionFactory.createCondition(ConditionType.INPUT,25034, name);
input.setColSpan(colSpan);
input.setFieldcol(fieldcol);
input.setViewAttr(viewAttr);
@ -140,4 +140,56 @@ public class SalaryFormItemUtil {
}
/**
* 多行文本框
* @param user
* @param colSpan
* @param fieldcol
* @param isQuickSearch
* @param viewAttr
* @param length
* @param label
* @param name
* @return
*/
public static SearchConditionItem textareaItem(User user,int colSpan, int fieldcol,boolean isQuickSearch,
int viewAttr,int length, String label,String name) {
ConditionFactory conditionFactory = new ConditionFactory(user);
SearchConditionItem textarea = conditionFactory.createCondition(ConditionType.TEXTAREA,502227, name);
textarea.setColSpan(colSpan);
textarea.setFieldcol(fieldcol);
textarea.setIsQuickSearch(isQuickSearch);
textarea.setViewAttr(viewAttr);
textarea.setLength(length);
textarea.setLabel(label);
return textarea;
}
/**
* 日期
* @param user
* @param colSpan
* @param fieldcol
* @param isQuickSearch
* @param viewAttr
* @param label
* @param name
* @return
*/
public static SearchConditionItem datePickerItem(User user,int colSpan, int fieldcol,boolean isQuickSearch,
int viewAttr,String label,String name) {
ConditionFactory conditionFactory = new ConditionFactory(user);
SearchConditionItem datePicker = conditionFactory.createCondition(ConditionType.DATEPICKER,502227, name);
datePicker.setColSpan(colSpan);
datePicker.setFieldcol(fieldcol);
datePicker.setIsQuickSearch(isQuickSearch);
datePicker.setViewAttr(viewAttr);
datePicker.setLabel(label);
return datePicker;
}
}

View File

@ -1,5 +1,6 @@
package com.engine.salary.web;
import com.engine.common.util.ParamUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.entity.siaccount.param.InsuranceAccountBatchParam;
import com.engine.salary.entity.siaccount.param.InsuranceAccountDetailParam;
@ -43,6 +44,13 @@ public class SIAccountController {
return new ResponseResult<InsuranceAccountBatchParam, Map<String, Object>>().run(getService(user)::listPage, insuranceAccountBatchParam);
}
/**
* 获取正常缴纳列表
* @param request
* @param response
* @param insuranceAccountDetailParam
* @return
*/
@GET
@Path("/detail/common/list")
@Produces(MediaType.APPLICATION_JSON)
@ -52,6 +60,72 @@ public class SIAccountController {
return new ResponseResult<InsuranceAccountDetailParam, Map<String, Object>>().run(getService(user)::listCommonPage, insuranceAccountDetailParam);
}
/**
* 根据姓名获取正常缴纳列表
* @param request
* @param response
* @param insuranceAccountDetailParam
* @return
*/
@GET
@Path("/detail/common/search")
@Produces(MediaType.APPLICATION_JSON)
public String commonByNameList(@Context HttpServletRequest request, @Context HttpServletResponse response,
@RequestBody InsuranceAccountDetailParam insuranceAccountDetailParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<InsuranceAccountDetailParam, Map<String, Object>>().run(getService(user)::listCommonPageByName, insuranceAccountDetailParam);
}
/**
* 获取补缴缴纳列表
* @param request
* @param response
* @param insuranceAccountDetailParam
* @return
*/
@GET
@Path("/detail/supplementary/list")
@Produces(MediaType.APPLICATION_JSON)
public String listSupplementaryPage(@Context HttpServletRequest request, @Context HttpServletResponse response,
@RequestBody InsuranceAccountDetailParam insuranceAccountDetailParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<InsuranceAccountDetailParam, Map<String, Object>>().run(getService(user)::listSupplementaryPage, insuranceAccountDetailParam);
}
/**
* 根据姓名获取补缴缴纳列表
* @param request
* @param response
* @param insuranceAccountDetailParam
* @return
*/
@GET
@Path("/detail/supplementary/search")
@Produces(MediaType.APPLICATION_JSON)
public String supplementaryByNameList(@Context HttpServletRequest request, @Context HttpServletResponse response,
@RequestBody InsuranceAccountDetailParam insuranceAccountDetailParam) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<InsuranceAccountDetailParam, Map<String, Object>>().run(getService(user)::supplementaryByNameList, insuranceAccountDetailParam);
}
/**
* 获取核算月份备注填写表单
* @param request
* @param response
* @return
*/
@GET
@Path("/accountForm")
@Produces(MediaType.APPLICATION_JSON)
public String getBaseForm(@Context HttpServletRequest request, @Context HttpServletResponse response) {
User user = HrmUserVarify.getUser(request, response);
return ResponseResult.run(getService(user)::getForm, ParamUtil.request2Map(request));
}