diff --git a/log/sdk.log b/log/sdk.log index 39c1a29f4..82b8f433f 100644 --- a/log/sdk.log +++ b/log/sdk.log @@ -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] - +>> target:com.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] - +>> target:com.engine.workplan.cmd.workplanBase.BeforeWorkplanDelCmd +>> proxy:->com.customization.esb.workplan.workplanbase.ProxyDeleteWorkPlanCmd +>> target:com.engine.workflow.cmd.signInput.GetNodeSignSetCmd +>> proxy:->com.engine.plugin.odoc.command.odocRequestForm.GetOdocSignInputSetCmd +>> target:com.engine.workflow.cmd.workflowPath.node.GetNodeRightInfo +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetNodeRightInfo +>> target:com.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 +>> target:com.engine.workflow.cmd.workflowPath.list.GetWorkflowListConditionCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.list.GetAddOdocWFFormCmd +>> target:com.engine.workflow.cmd.workflowPath.node.DoSaveNodeCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowRightMenuDoSaveNodeCmd->com.engine.plugin.odoc.command.workflowPath.node.DeleteOdocNodeCfgCmd +>> target:com.engine.workflow.cmd.workflowPath.node.addInOperate.GetAddInOperateConditionCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetAddInOperateConditionCmd +>> target:com.engine.crm.cmd.chance.FormUpdateCmd +>> proxy:->com.customization.esb.crm.chance.ProxyEditChanceCmd +>> target:com.engine.crm.cmd.customer.CustomerSaveCmd +>> proxy:->com.customization.esb.crm.customer.ProxyNewCustomerCmd +>> target:com.engine.workplan.cmd.workplanBase.AfterWorkplanNormalCmd +>> proxy:->com.customization.esb.workplan.workplanbase.ProxyAfterWorkplanNormalCmd +>> target:com.engine.workflow.cmd.requestForm.BatchSubmitCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeBatchCmd +>> target:com.api.prj.cmd.prjBoard.DoDelBoardStageCmd +>> proxy:->com.customization.esb.proj.prjboard.ProxyDoDelBoardStageCmd +>> target:com.engine.workflow.cmd.workflowPath.nodeLink.SaveNodeLinkCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.nodeLink.DeleteOdocNodelinkExtCmd +>> target:com.engine.cube.cmd.app.WaterMarkImg +>> proxy:->com.customization.cube.list.CustomChangeListHrefLinkCmd +>> target:com.engine.crm.cmd.customer.CustomerEditCmd +>> proxy:->com.customization.esb.crm.customer.ProxyEditCustomerCmd +>> target:com.engine.meeting.cmd.meetingbase.NewMeetingCmd +>> proxy:->com.customization.esb.meeting.meetingbase.ProxyNewMeetingCmd +>> target:com.engine.workflow.cmd.signInput.GetSignInputInfoCmd +>> proxy:->com.engine.plugin.odoc.command.odocRequestSignInput.OdocSignInputCmd +>> target:com.engine.cube.cmd.app.GetAppListCmd +>> proxy:->com.engine.plugin.mode.license.Proxy_GetAppListCmd +>> target:com.api.prj.cmd.project.DoProjectOperationCmd +>> proxy:->com.customization.esb.proj.project.ProxyDoProjectOperationCmd +>> target:com.engine.workflowDesign.cmd.WorkflowXmlParserCmd +>> proxy:->com.engine.plugin.odoc.command.odocRequestPic.OdocRequestPicCmd +>> target:com.api.prj.cmd.project.DoPrjTempletStageSaveCmd +>> proxy:->com.customization.esb.proj.project.ProxySavePrjTempletStageCmd +>> target:com.engine.workflow.cmd.requestForm.DoTakEndCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSIgnReceiveTimeDoTakEndCmd +>> target:com.engine.crm.cmd.contacter.CreateCmd +>> proxy:->com.customization.esb.crm.contacter.ProxyNewContacterCmd +>> target:com.engine.workflow.cmd.requestForm.GetRightMenuCmd +>> proxy:->com.engine.plugin.odoc.command.odoRightMenuSetForm.OdocRightMenuBtnCmd->com.engine.plugin.odoc.command.odocRequestForm.GetOdocRightMenuCmd +>> target:com.engine.odoc.cmd.officialSettings.createDocByWf.OdocSaveMenuSettingsCmd +>> proxy:->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocSaveMenuSettingsCmd +>> target:com.engine.workflowDesign.cmd.GetOperateDataCmd +>> proxy:->com.engine.plugin.odoc.command.odocRequestPic.OdocRequestPicOperatorCmd +>> target:com.engine.workflow.cmd.workflowPath.node.signSet.DoSignSetSaveCmd +>> proxy:->com.engine.plugin.workflow.command.CustomDoSignSetSaveCmd +>> target:com.engine.odoc.cmd.odocMenuOperate.doEndPersonTreatCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeEndTreatCmd +>> target:com.engine.workflow.cmd.workflowPath.baseInfo.GetBaseInfoConditionCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.GetBaseInfoSettingCmd +>> target:com.engine.crm.cmd.chance.DeleteCmd +>> proxy:->com.customization.esb.crm.chance.ProxyDeleteChanceCmd +>> target:com.engine.odoc.cmd.officialSettings.createDocByWf.OdocGetMenuSettingsCmd +>> proxy:->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocGetMenuSettingsCmd +>> target:com.engine.odoc.cmd.officialSettings.createDocByWf.OdocGetActionSettingsCmd +>> proxy:->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocGetActionSettingsCmd +>> target:com.engine.workflow.cmd.workflowType.DoSaveCmd +>> proxy:->com.engine.plugin.workflow.command.CustomDoSave2Cmd->com.engine.plugin.workflow.command.CustomDoSave3Cmd->com.engine.plugin.workflow.command.CustomDoSaveCmd +>> target:com.engine.odoc.cmd.odocrequest.FlowNextCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeFlowCmd +>> target:com.engine.workflowDesign.cmd.GetWfInfoCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetWfInfoCmd->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetWfInfoCmd +>> target:com.engine.workflow.cmd.workflowPath.node.GetNodeSessionkeyCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowRightMenuCmd +>> target:com.engine.crm.cmd.contacter.DeleteCmd +>> proxy:->com.customization.esb.crm.contacter.ProxyDeleteContacterCmd +>> target:com.engine.odoc.cmd.odocrequest.ForceArchiveCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeForceArchiveCmd +>> target:com.engine.meeting.cmd.meetingField.GetViewMeetingFieldCmd +>> proxy:->com.customization.meeting.qc854537.CustomGetViewMeetingFieldCmd +>> target:com.api.common.cmd.login.DoUserSessionCmd +>> proxy:->com.engine.plugin.hrm.command.MyDoUserSessionCmd +>> target:com.engine.hrm.cmd.test.GetSearchConditionCmd +>> proxy:->com.engine.plugin.hrm.command.GetMySearchConditionCmd +>> target:com.engine.crm.cmd.chance.FormSaveCmd +>> proxy:->com.customization.esb.crm.chance.ProxyNewChanceCmd +>> target:com.engine.crm.cmd.customer.CrmDeleteCmd +>> proxy:->com.customization.esb.crm.customer.ProxyDeleteCustomerCmd +>> target:com.engine.workflow.cmd.workflowPath.node.addInOperate.GetPreAddInOperateConditionCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetPreAddInOperateConditionCmd +>> target:com.api.prj.cmd.prjBoard.DoEditBoardStageCmd +>> proxy:->com.customization.esb.proj.prjboard.ProxyDoEditBoardStageCmd +>> target:com.engine.odoc.cmd.updateSign.setting.SelectFreeFlowDatasCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowIsFree4OdocProxyCmd +>> target:com.engine.odoc.cmd.updateOperator.PlusSignatureCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeAddDelCmd +>> target:com.api.prj.cmd.prjBoard.DoAddBoardStageCmd +>> proxy:->com.customization.esb.proj.prjboard.ProxyDoAddBoardStageCmd +>> target:com.engine.workflow.cmd.requestForm.RequestManager_FlowNextNodeCmd +>> proxy:->com.engine.plugin.odoc.command.odocRequestForm.OdocRequestNextNodeCmd +>> target:com.engine.odoc.cmd.odocWorkflow.OdocAddWorkflowCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignAddWorkflowCmd +>> target:com.engine.workflow.cmd.requestForm.RemarkSubmitCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeRemarkCmd +>> target:com.engine.workflow.cmd.workflowPath.baseInfo.DoAddWFCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.SaveAddWFCmd +>> target:com.engine.workflow.cmd.workflowPath.baseInfo.DoSaveNewVersionCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocWorkflowSaveNewVersionTabCmd->com.engine.plugin.odoc.command.workflowPath.SaveNewVersionCmd +>> target:com.engine.workflow.cmd.workflowPath.nodeLink.GetNodeLinkCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetNodeLinkCmd +>> target:com.engine.workplan.cmd.workplanBase.AddAndEditWorkPlanCmd +>> proxy:->com.customization.esb.workplan.workplanbase.ProxyAddAndEditWorkPlanCmd +>> target:com.engine.workflow.cmd.requestForm.WFManager_SaveNewNodeCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowWFManager_SaveNewNodeCmd +>> target:com.engine.workflow.cmd.workflowPath.baseInfo.DoEditWFCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.SaveEditWFCmd +>> target:com.engine.workflow.cmd.requestLog.LoadRequestLogBaseInfoCmd +>> proxy:->com.engine.plugin.workflow.command.CustomLoadRequestLogBaseInfoCmd +>> target:com.engine.workflow.cmd.workflowPath.node.DoRestoreDeleteNodeCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.node.RestoreOdocNodeCfgCmd +>> target:com.engine.workflow.cmd.monitor.DoDeleteCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocWorkflowDeleteProxyCmd +>> target:com.engine.meeting.cmd.meetingbase.MeetingCancelCmd +>> proxy:->com.customization.esb.meeting.meetingbase.ProxyCancelMeetingCmd +>> target:com.engine.odoc.cmd.updateSign.append.AppendSaveLogCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeAppendSignCmd +>> target:com.api.prj.cmd.task.DoTaskOperationCmd +>> proxy:->com.customization.esb.proj.task.ProxyDoTaskOperationCmd +>> target:com.engine.workflow.cmd.requestForm.LoadParamCmd +>> proxy:->com.engine.plugin.workflow.command.HaoQianPromptInfoCmd->com.engine.plugin.odoc.command.odocRequestForm.LoadOdocFormParam +>> target:com.engine.crm.cmd.contacter.EditCmd +>> proxy:->com.customization.esb.crm.contacter.ProxyEditContacterCmd +>> target:com.engine.workflow.cmd.requestForm.ForwardSubmitCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeForwardCmd +>> target:com.engine.workflow.cmd.requestForm.GetFormTabCmd +>> proxy:->com.engine.plugin.fna.command.FnaElectronicDepositFormTopTabCmd->com.engine.plugin.odoc.command.signSetting.OdocWorkflowTabManagerCmd +>> target:com.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] - +>> target:com.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] - +>> target:com.engine.workplan.cmd.workplanBase.BeforeWorkplanDelCmd +>> proxy:->com.customization.esb.workplan.workplanbase.ProxyDeleteWorkPlanCmd +>> target:com.engine.workflow.cmd.signInput.GetNodeSignSetCmd +>> proxy:->com.engine.plugin.odoc.command.odocRequestForm.GetOdocSignInputSetCmd +>> target:com.engine.workflow.cmd.workflowPath.node.GetNodeRightInfo +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetNodeRightInfo +>> target:com.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 +>> target:com.engine.workflow.cmd.workflowPath.list.GetWorkflowListConditionCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.list.GetAddOdocWFFormCmd +>> target:com.engine.workflow.cmd.workflowPath.node.DoSaveNodeCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowRightMenuDoSaveNodeCmd->com.engine.plugin.odoc.command.workflowPath.node.DeleteOdocNodeCfgCmd +>> target:com.engine.workflow.cmd.workflowPath.node.addInOperate.GetAddInOperateConditionCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetAddInOperateConditionCmd +>> target:com.engine.crm.cmd.chance.FormUpdateCmd +>> proxy:->com.customization.esb.crm.chance.ProxyEditChanceCmd +>> target:com.engine.crm.cmd.customer.CustomerSaveCmd +>> proxy:->com.customization.esb.crm.customer.ProxyNewCustomerCmd +>> target:com.engine.workplan.cmd.workplanBase.AfterWorkplanNormalCmd +>> proxy:->com.customization.esb.workplan.workplanbase.ProxyAfterWorkplanNormalCmd +>> target:com.engine.workflow.cmd.requestForm.BatchSubmitCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeBatchCmd +>> target:com.api.prj.cmd.prjBoard.DoDelBoardStageCmd +>> proxy:->com.customization.esb.proj.prjboard.ProxyDoDelBoardStageCmd +>> target:com.engine.workflow.cmd.workflowPath.nodeLink.SaveNodeLinkCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.nodeLink.DeleteOdocNodelinkExtCmd +>> target:com.engine.cube.cmd.app.WaterMarkImg +>> proxy:->com.customization.cube.list.CustomChangeListHrefLinkCmd +>> target:com.engine.crm.cmd.customer.CustomerEditCmd +>> proxy:->com.customization.esb.crm.customer.ProxyEditCustomerCmd +>> target:com.engine.meeting.cmd.meetingbase.NewMeetingCmd +>> proxy:->com.customization.esb.meeting.meetingbase.ProxyNewMeetingCmd +>> target:com.engine.workflow.cmd.signInput.GetSignInputInfoCmd +>> proxy:->com.engine.plugin.odoc.command.odocRequestSignInput.OdocSignInputCmd +>> target:com.engine.cube.cmd.app.GetAppListCmd +>> proxy:->com.engine.plugin.mode.license.Proxy_GetAppListCmd +>> target:com.api.prj.cmd.project.DoProjectOperationCmd +>> proxy:->com.customization.esb.proj.project.ProxyDoProjectOperationCmd +>> target:com.engine.workflowDesign.cmd.WorkflowXmlParserCmd +>> proxy:->com.engine.plugin.odoc.command.odocRequestPic.OdocRequestPicCmd +>> target:com.api.prj.cmd.project.DoPrjTempletStageSaveCmd +>> proxy:->com.customization.esb.proj.project.ProxySavePrjTempletStageCmd +>> target:com.engine.workflow.cmd.requestForm.DoTakEndCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSIgnReceiveTimeDoTakEndCmd +>> target:com.engine.crm.cmd.contacter.CreateCmd +>> proxy:->com.customization.esb.crm.contacter.ProxyNewContacterCmd +>> target:com.engine.workflow.cmd.requestForm.GetRightMenuCmd +>> proxy:->com.engine.plugin.odoc.command.odoRightMenuSetForm.OdocRightMenuBtnCmd->com.engine.plugin.odoc.command.odocRequestForm.GetOdocRightMenuCmd +>> target:com.engine.odoc.cmd.officialSettings.createDocByWf.OdocSaveMenuSettingsCmd +>> proxy:->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocSaveMenuSettingsCmd +>> target:com.engine.workflowDesign.cmd.GetOperateDataCmd +>> proxy:->com.engine.plugin.odoc.command.odocRequestPic.OdocRequestPicOperatorCmd +>> target:com.engine.workflow.cmd.workflowPath.node.signSet.DoSignSetSaveCmd +>> proxy:->com.engine.plugin.workflow.command.CustomDoSignSetSaveCmd +>> target:com.engine.odoc.cmd.odocMenuOperate.doEndPersonTreatCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeEndTreatCmd +>> target:com.engine.workflow.cmd.workflowPath.baseInfo.GetBaseInfoConditionCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.GetBaseInfoSettingCmd +>> target:com.engine.crm.cmd.chance.DeleteCmd +>> proxy:->com.customization.esb.crm.chance.ProxyDeleteChanceCmd +>> target:com.engine.odoc.cmd.officialSettings.createDocByWf.OdocGetMenuSettingsCmd +>> proxy:->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocGetMenuSettingsCmd +>> target:com.engine.odoc.cmd.officialSettings.createDocByWf.OdocGetActionSettingsCmd +>> proxy:->com.engine.plugin.odoc.command.odocSetting.Proxy_OdocGetActionSettingsCmd +>> target:com.engine.workflow.cmd.workflowType.DoSaveCmd +>> proxy:->com.engine.plugin.workflow.command.CustomDoSave2Cmd->com.engine.plugin.workflow.command.CustomDoSave3Cmd->com.engine.plugin.workflow.command.CustomDoSaveCmd +>> target:com.engine.odoc.cmd.odocrequest.FlowNextCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeFlowCmd +>> target:com.engine.workflowDesign.cmd.GetWfInfoCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetWfInfoCmd->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetWfInfoCmd +>> target:com.engine.workflow.cmd.workflowPath.node.GetNodeSessionkeyCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowRightMenuCmd +>> target:com.engine.crm.cmd.contacter.DeleteCmd +>> proxy:->com.customization.esb.crm.contacter.ProxyDeleteContacterCmd +>> target:com.engine.odoc.cmd.odocrequest.ForceArchiveCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeForceArchiveCmd +>> target:com.engine.meeting.cmd.meetingField.GetViewMeetingFieldCmd +>> proxy:->com.customization.meeting.qc854537.CustomGetViewMeetingFieldCmd +>> target:com.api.common.cmd.login.DoUserSessionCmd +>> proxy:->com.engine.plugin.hrm.command.MyDoUserSessionCmd +>> target:com.engine.hrm.cmd.test.GetSearchConditionCmd +>> proxy:->com.engine.plugin.hrm.command.GetMySearchConditionCmd +>> target:com.engine.crm.cmd.chance.FormSaveCmd +>> proxy:->com.customization.esb.crm.chance.ProxyNewChanceCmd +>> target:com.engine.crm.cmd.customer.CrmDeleteCmd +>> proxy:->com.customization.esb.crm.customer.ProxyDeleteCustomerCmd +>> target:com.engine.workflow.cmd.workflowPath.node.addInOperate.GetPreAddInOperateConditionCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPathNodeInfo.OdocGetPreAddInOperateConditionCmd +>> target:com.api.prj.cmd.prjBoard.DoEditBoardStageCmd +>> proxy:->com.customization.esb.proj.prjboard.ProxyDoEditBoardStageCmd +>> target:com.engine.odoc.cmd.updateSign.setting.SelectFreeFlowDatasCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowIsFree4OdocProxyCmd +>> target:com.engine.odoc.cmd.updateOperator.PlusSignatureCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeAddDelCmd +>> target:com.api.prj.cmd.prjBoard.DoAddBoardStageCmd +>> proxy:->com.customization.esb.proj.prjboard.ProxyDoAddBoardStageCmd +>> target:com.engine.workflow.cmd.requestForm.RequestManager_FlowNextNodeCmd +>> proxy:->com.engine.plugin.odoc.command.odocRequestForm.OdocRequestNextNodeCmd +>> target:com.engine.odoc.cmd.odocWorkflow.OdocAddWorkflowCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignAddWorkflowCmd +>> target:com.engine.workflow.cmd.requestForm.RemarkSubmitCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeRemarkCmd +>> target:com.engine.workflow.cmd.workflowPath.baseInfo.DoAddWFCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.SaveAddWFCmd +>> target:com.engine.workflow.cmd.workflowPath.baseInfo.DoSaveNewVersionCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocWorkflowSaveNewVersionTabCmd->com.engine.plugin.odoc.command.workflowPath.SaveNewVersionCmd +>> target:com.engine.workflow.cmd.workflowPath.nodeLink.GetNodeLinkCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowGetNodeLinkCmd +>> target:com.engine.workplan.cmd.workplanBase.AddAndEditWorkPlanCmd +>> proxy:->com.customization.esb.workplan.workplanbase.ProxyAddAndEditWorkPlanCmd +>> target:com.engine.workflow.cmd.requestForm.WFManager_SaveNewNodeCmd +>> proxy:->com.engine.plugin.odoc.command.rightMenuSetting.OdocWorkflowWFManager_SaveNewNodeCmd +>> target:com.engine.workflow.cmd.workflowPath.baseInfo.DoEditWFCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.SaveEditWFCmd +>> target:com.engine.workflow.cmd.requestLog.LoadRequestLogBaseInfoCmd +>> proxy:->com.engine.plugin.workflow.command.CustomLoadRequestLogBaseInfoCmd +>> target:com.engine.workflow.cmd.workflowPath.node.DoRestoreDeleteNodeCmd +>> proxy:->com.engine.plugin.odoc.command.workflowPath.node.RestoreOdocNodeCfgCmd +>> target:com.engine.workflow.cmd.monitor.DoDeleteCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocWorkflowDeleteProxyCmd +>> target:com.engine.meeting.cmd.meetingbase.MeetingCancelCmd +>> proxy:->com.customization.esb.meeting.meetingbase.ProxyCancelMeetingCmd +>> target:com.engine.odoc.cmd.updateSign.append.AppendSaveLogCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeAppendSignCmd +>> target:com.api.prj.cmd.task.DoTaskOperationCmd +>> proxy:->com.customization.esb.proj.task.ProxyDoTaskOperationCmd +>> target:com.engine.workflow.cmd.requestForm.LoadParamCmd +>> proxy:->com.engine.plugin.workflow.command.HaoQianPromptInfoCmd->com.engine.plugin.odoc.command.odocRequestForm.LoadOdocFormParam +>> target:com.engine.crm.cmd.contacter.EditCmd +>> proxy:->com.customization.esb.crm.contacter.ProxyEditContacterCmd +>> target:com.engine.workflow.cmd.requestForm.ForwardSubmitCmd +>> proxy:->com.engine.plugin.odoc.command.signSetting.OdocSignReceiveTimeForwardCmd +>> target:com.engine.workflow.cmd.requestForm.GetFormTabCmd +>> proxy:->com.engine.plugin.fna.command.FnaElectronicDepositFormTopTabCmd->com.engine.plugin.odoc.command.signSetting.OdocWorkflowTabManagerCmd +>> target:com.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. diff --git a/src/com/engine/salary/entity/siaccount/param/InsuranceAccountDetailParam.java b/src/com/engine/salary/entity/siaccount/param/InsuranceAccountDetailParam.java index cce05d899..293a4c172 100644 --- a/src/com/engine/salary/entity/siaccount/param/InsuranceAccountDetailParam.java +++ b/src/com/engine/salary/entity/siaccount/param/InsuranceAccountDetailParam.java @@ -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 employeeIds; + + private String userName; } diff --git a/src/com/engine/salary/entity/siaccount/param/Permission.java b/src/com/engine/salary/entity/siaccount/param/Permission.java new file mode 100644 index 000000000..1ae3dbda8 --- /dev/null +++ b/src/com/engine/salary/entity/siaccount/param/Permission.java @@ -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; + } +} diff --git a/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java b/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java index 75e2afa05..4ec79144d 100644 --- a/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java +++ b/src/com/engine/salary/entity/siaccount/po/InsuranceAccountDetailPO.java @@ -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 { diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.java b/src/com/engine/salary/mapper/datacollection/EmployMapper.java index b674f2c0c..658a32c26 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.java +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.java @@ -25,6 +25,8 @@ public interface EmployMapper { List getAdminEmployeeByIds(@Param("collection") List list); + List getEmployeeIdsByUserName(@Param("userName") String userName); + /** * 根据薪资账套的人员范围转换而成的查询参数查询人员 * diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml index 63033599e..932b5827a 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml @@ -145,4 +145,40 @@ AND e.id = #{id} + + + + + AND + ( + a.lastname like CONCAT('%',#{userName},'%') + ) + + + + + AND + ( + a.lastname like '%'||#{userName}||'%' + ) + + + + + AND + ( + a.lastname like '%'+#{userName}+'%' + ) + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml index 668b12ce0..e32be656a 100644 --- a/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml +++ b/src/com/engine/salary/mapper/siaccount/InsuranceAccountDetailMapper.xml @@ -103,6 +103,12 @@ AND t.payment_status = param.paymentStatus + + AND t.employee_id IN + + #{employeeId} + + @@ -112,6 +118,7 @@ FROM hrsa_bill_detail t WHERE t.delete_type = 0 + 1 = 1 ORDER BY t.update_time DESC diff --git a/src/com/engine/salary/service/ColumnBuildService.java b/src/com/engine/salary/service/ColumnBuildService.java new file mode 100644 index 000000000..d633481b4 --- /dev/null +++ b/src/com/engine/salary/service/ColumnBuildService.java @@ -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 buildCommonColumnsWithStyle(List pos, Long employeeId, String tenantKey, boolean flag); + + List buildCommonColumns(List pos, Long employeeId, String tenantKey); + + List buildInspectColumns(List pos, Long employeeId, String tenantKey); +} + diff --git a/src/com/engine/salary/service/SIAccountService.java b/src/com/engine/salary/service/SIAccountService.java index 67499b2d9..a968773fb 100644 --- a/src/com/engine/salary/service/SIAccountService.java +++ b/src/com/engine/salary/service/SIAccountService.java @@ -15,4 +15,14 @@ public interface SIAccountService { Map listPage(InsuranceAccountBatchParam insuranceAccountBatchParam); Map listCommonPage(InsuranceAccountDetailParam insuranceAccountDetailParam); + + Map listCommonPageByName(InsuranceAccountDetailParam insuranceAccountDetailParam); + + Map listSupplementaryPage(InsuranceAccountDetailParam insuranceAccountDetailParam); + + Map supplementaryByNameList(InsuranceAccountDetailParam insuranceAccountDetailParam); + + Map getForm(Map params); + } + diff --git a/src/com/engine/salary/service/impl/ColumnBuildServiceImpl.java b/src/com/engine/salary/service/impl/ColumnBuildServiceImpl.java new file mode 100644 index 000000000..5a99b82c6 --- /dev/null +++ b/src/com/engine/salary/service/impl/ColumnBuildServiceImpl.java @@ -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 buildCommonColumnsWithStyle(List pos, Long employeeId, String tenantKey, boolean flag) { + List list = new ArrayList<>(); + Map categoryIdNameMap = MapperProxyFactory.getProxy(ICategoryMapper.class).listAll().stream().collect(Collectors.toMap(ICategoryPO -> String.valueOf(ICategoryPO.getId()), ICategoryPO::getInsuranceName)); + Map> columns = buildPaymentTitle(pos, categoryIdNameMap, employeeId, tenantKey); + Map> personColumns = buildPersonalTitle(pos, categoryIdNameMap, employeeId, tenantKey); + Map> 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","" + SalaryI18nUtil.getI18nLabel( 100388, "社保个人合计") + "", "socialPerSum")); + personColumns.get(WelfareTypeEnum.ACCUMULATION_FUND.getValue()).forEach((k, v) -> { + list.add(new WeaTableColumn("150px",k, v)); + }); + list.add(new WeaTableColumn("150px","" + SalaryI18nUtil.getI18nLabel( 100390, "公积金个人合计") + "", "fundPerSum")); + personColumns.get(WelfareTypeEnum.OTHER.getValue()).forEach((k, v) -> { + list.add(new WeaTableColumn("150px",k, v)); + }); + list.add(new WeaTableColumn("150px","" + SalaryI18nUtil.getI18nLabel( 100392, "其他福利个人合计") + "", "otherPerSum")); + list.add(new WeaTableColumn("150px","" + SalaryI18nUtil.getI18nLabel( 100393, "个人合计") + "", "perSum")); + comColumns.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> { + list.add(new WeaTableColumn("150px",k, v)); + }); + list.add(new WeaTableColumn("150px","" + SalaryI18nUtil.getI18nLabel( 100394, "社保单位合计") + "", "socialComSum")); + comColumns.get(WelfareTypeEnum.ACCUMULATION_FUND.getValue()).forEach((k, v) -> { + list.add(new WeaTableColumn("150px",k, v)); + }); + list.add(new WeaTableColumn("150px","" + SalaryI18nUtil.getI18nLabel( 100395, "公积金单位合计") + "", "fundComSum")); + comColumns.get(WelfareTypeEnum.OTHER.getValue()).forEach((k, v) -> { + list.add(new WeaTableColumn("150px",k, v)); + }); + list.add(new WeaTableColumn("150px","" + SalaryI18nUtil.getI18nLabel( 100396, "其他福利单位合计") + "", "otherComSum")); + list.add(new WeaTableColumn("150px","" + SalaryI18nUtil.getI18nLabel( 100397, "单位合计") + "", "comSum")); + list.add(new WeaTableColumn("150px","" + SalaryI18nUtil.getI18nLabel( 100398, "社保合计") + "", "socialSum")); + list.add(new WeaTableColumn("150px","" + SalaryI18nUtil.getI18nLabel( 100399, "公积金合计") + "", "fundSum")); + list.add(new WeaTableColumn("150px","" + SalaryI18nUtil.getI18nLabel( 100400, "其他福利合计") + "", "otherSum")); + list.add(new WeaTableColumn("150px","" + SalaryI18nUtil.getI18nLabel( 93278, "合计") + "", "total")); + return list; + } + + private Map> buildPaymentTitle(List pos, Map categoryIdNameMap, Long employeeId, String tenantKey) { + Set socailIds = new HashSet<>(); + Set fundIds = new HashSet<>(); + Set otherIds = new HashSet<>(); + Map> result = new HashMap<>(); + + pos.stream().forEach(item -> { + if (StringUtils.isNotBlank(item.getSocialPaymentBaseString())) { + Map socialJson = JSON.parseObject(item.getSocialPaymentBaseString(), new HashMap().getClass()); + socialJson.forEach((k, v) -> { + socailIds.add(k); + }); + } + if (StringUtils.isNotBlank(item.getFundPaymentBaseString())) { + Map fundJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap().getClass()); + fundJson.forEach((k, v) -> { + fundIds.add(k); + }); + } + if (StringUtils.isNotBlank(item.getOtherPaymentBaseString())) { + Map otherJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap().getClass()); + otherJson.forEach((k, v) -> { + otherIds.add(k); + }); + } + }); + Map socialColumns = new HashMap<>(); + Map fundColumns = new HashMap<>(); + Map 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> buildPersonalTitle(List pos, Map categoryIdNameMap, Long employeeId, String tenantKey) { + Set socailIds = new HashSet<>(); + Set fundIds = new HashSet<>(); + Set otherIds = new HashSet<>(); + Map> result = new HashMap<>(); + + pos.stream().forEach(item -> { + if (StringUtils.isNotBlank(item.getSocialPerJson())) { + Map socialJson = JSON.parseObject(item.getSocialPerJson(), new HashMap().getClass()); + socialJson.forEach((k, v) -> { + socailIds.add(k); + }); + } + if (StringUtils.isNotBlank(item.getFundPerJson())) { + Map fundJson = JSON.parseObject(item.getFundPerJson(), new HashMap().getClass()); + fundJson.forEach((k, v) -> { + fundIds.add(k); + }); + } + if (StringUtils.isNotBlank(item.getOtherPerJson())) { + Map otherJson = JSON.parseObject(item.getOtherPerJson(), new HashMap().getClass()); + otherJson.forEach((k, v) -> { + otherIds.add(k); + }); + } + }); + Map socialColumns = new HashMap<>(); + Map fundColumns = new HashMap<>(); + Map 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> buildComTitle(List pos, Map categoryIdNameMap, Long employeeId, String tenantKey) { + Set socailIds = new HashSet<>(); + Set fundIds = new HashSet<>(); + Set otherIds = new HashSet<>(); + Map> result = new HashMap<>(); + + pos.stream().forEach(item -> { + if (StringUtils.isNotBlank(item.getSocialComJson())) { + Map socialJson = JSON.parseObject(item.getSocialComJson(), new HashMap().getClass()); + socialJson.forEach((k, v) -> { + socailIds.add(k); + }); + } + if (StringUtils.isNotBlank(item.getFundComJson())) { + Map fundJson = JSON.parseObject(item.getFundComJson(), new HashMap().getClass()); + fundJson.forEach((k, v) -> { + fundIds.add(k); + }); + } + if (StringUtils.isNotBlank(item.getOtherComJson())) { + Map otherJson = JSON.parseObject(item.getOtherComJson(), new HashMap().getClass()); + otherJson.forEach((k, v) -> { + otherIds.add(k); + }); + } + }); + Map socialColumns = new HashMap<>(); + Map fundColumns = new HashMap<>(); + Map 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 buildCommonColumns(List pos, Long employeeId, String tenantKey) { + return null; + } + + @Override + public List buildInspectColumns(List pos, Long employeeId, String tenantKey) { + return null; + } +} diff --git a/src/com/engine/salary/service/impl/RecordsBuildServiceImpl.java b/src/com/engine/salary/service/impl/RecordsBuildServiceImpl.java index bffca82c3..8d0f4ac71 100644 --- a/src/com/engine/salary/service/impl/RecordsBuildServiceImpl.java +++ b/src/com/engine/salary/service/impl/RecordsBuildServiceImpl.java @@ -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 employeeIds = list.stream().map(item -> item.getEmployeeId()).collect(Collectors.toList()); -// List employeeByIds = hrmCommonEmployeeService.getEmployeeByIds(employeeIds); -// if (CollectionUtils.isEmpty(employeeByIds)) { -// return result; -// } -// List paymentList = new LambdaQueryChainWrapper<>(individualTaxWithholdingAgentMapper) -// .eq(TaxAgentPO::getTenantKey, tenantKey) -// .list(); -// SalaryAssert.notEmpty(paymentList, SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 100341, "该租户无扣缴义务人")); -// Map paymentMap = paymentList.stream().collect(Collectors.toMap(TaxAgentPO::getId, Function.identity())); -// Map collect = employeeByIds.stream().collect(Collectors.toMap(SimpleEmployee::getEmployeeId, Function.identity())); -// list.forEach(item -> { -// Map 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 socialJson = JSON.parseObject(item.getSocialPaymentBaseString(), new HashMap().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 socialJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap().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 socialJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap().getClass()); -// socialJson.forEach((k, v) -> { -// record.put(k + "otherBase", SalaryEntityUtil.thousandthConvert((String) v)); -// }); -// } -// if (StringUtils.isNotEmpty(item.getSocialPerJson())) { -// Map socialJson = JSON.parseObject(item.getSocialPerJson(), new HashMap().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 fundPerJson = JSON.parseObject(item.getFundPerJson(), new HashMap().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 fundPerJson = JSON.parseObject(item.getOtherPerJson(), new HashMap().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 fundPerJson = JSON.parseObject(item.getSocialComJson(), new HashMap().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 fundPerJson = JSON.parseObject(item.getFundComJson(), new HashMap().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 fundPerJson = JSON.parseObject(item.getOtherComJson(), new HashMap().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 employeeByIds = MapperProxyFactory.getProxy(EmployMapper.class).getEmployeeByIds(employeeIds); + if (CollectionUtils.isEmpty(employeeByIds)) { + return result; + } + List paymentList = MapperProxyFactory.getProxy(TaxAgentMapper.class).listAll(); + + SalaryAssert.notEmpty(paymentList, SalaryI18nUtil.getI18nLabel( 100341, "暂无扣缴义务人")); + Map paymentMap = paymentList.stream().collect(Collectors.toMap(TaxAgent::getId, Function.identity())); + Map collect = employeeByIds.stream().collect(Collectors.toMap(DataCollectionEmployee::getEmployeeId, Function.identity())); + list.forEach(item -> { + Map 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 socialJson = JSON.parseObject(item.getSocialPaymentBaseString(), new HashMap().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 socialJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap().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 socialJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap().getClass()); + socialJson.forEach((k, v) -> { + record.put(k + "otherBase", SalaryEntityUtil.thousandthConvert((String) v)); + }); + } + if (StringUtils.isNotEmpty(item.getSocialPerJson())) { + Map socialJson = JSON.parseObject(item.getSocialPerJson(), new HashMap().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 fundPerJson = JSON.parseObject(item.getFundPerJson(), new HashMap().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 fundPerJson = JSON.parseObject(item.getOtherPerJson(), new HashMap().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 fundPerJson = JSON.parseObject(item.getSocialComJson(), new HashMap().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 fundPerJson = JSON.parseObject(item.getFundComJson(), new HashMap().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 fundPerJson = JSON.parseObject(item.getOtherComJson(), new HashMap().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; } diff --git a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java index c2c7e6a11..b4f3e9a18 100644 --- a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java @@ -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 listPage(InsuranceAccountBatchParam queryParam) { Long employeeId = (long)user.getUID(); @@ -50,29 +75,16 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { pageInfos.setPageSize(queryParam.getPageSize()); + List>> operatesPermission = new ArrayList<>(); + SalaryWeaTable 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 resultTable = FormatManager.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 resultTable = FormatManager.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> records = getService(user).buildCommonRecords(insuranceAccountDetailPOS, employeeId); + PageInfo> pageInfos = new PageInfo>(records); + pageInfos.setTotal(records.size()); + pageInfos.setPageNum(queryParam.getCurrent()); + pageInfos.setPageSize(queryParam.getPageSize()); + //动态列组装 + List weaTableColumn = getColumnBuildService(user).buildCommonColumnsWithStyle(insuranceAccountDetailPOS, employeeId, SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY, false); + SalaryWeaTable 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 listCommonPageByName(InsuranceAccountDetailParam queryParam) { + //增加查询参数userName + if (StringUtils.isNotBlank(queryParam.getUserName())) { + List employeeIdsByUserName = MapperProxyFactory.getProxy(EmployMapper.class).getEmployeeIdsByUserName(queryParam.getUserName()); + List employeeIds = employeeIdsByUserName.stream().map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList()); + queryParam.setEmployeeIds(employeeIds); + } + return listCommonPage(queryParam); + } + + @Override + public Map listSupplementaryPage(InsuranceAccountDetailParam queryParam) { + Long employeeId = (long)user.getUID(); + Map datas = new HashMap<>(); + + //正常缴纳列表 + queryParam.setPaymentStatus(PaymentStatusEnum.REPAIR.getValue()); + List list = MapperProxyFactory.getProxy(InsuranceAccountDetailMapper.class).list(queryParam); + PageInfo pageInfo = new PageInfo<>(list,InsuranceAccountDetailPO.class); + List insuranceAccountDetailPOS = pageInfo.getList(); + + //数据组装 + List> records = getService(user).buildCommonRecords(insuranceAccountDetailPOS, employeeId); + PageInfo> pageInfos = new PageInfo>(records); + pageInfos.setTotal(records.size()); + pageInfos.setPageNum(queryParam.getCurrent()); + pageInfos.setPageSize(queryParam.getPageSize()); + + + //动态列组装 + List weaTableColumn = getColumnBuildService(user).buildCommonColumnsWithStyle(insuranceAccountDetailPOS, employeeId, SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY, false); + + SalaryWeaTable 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 supplementaryByNameList(InsuranceAccountDetailParam queryParam) { + //增加查询参数userName + if (StringUtils.isNotBlank(queryParam.getUserName())) { + List employeeIdsByUserName = MapperProxyFactory.getProxy(EmployMapper.class).getEmployeeIdsByUserName(queryParam.getUserName()); + List employeeIds = employeeIdsByUserName.stream().map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList()); + queryParam.setEmployeeIds(employeeIds); + } + return listSupplementaryPage(queryParam); + } + + @Override + public Map getForm(Map params) { + ConditionFactory conditionFactory = new ConditionFactory(user); + + //条件组 + List addGroups = new ArrayList<>(); + List 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 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 one = new ArrayList<>(); +// one.add(new WeaFormLayout("billMonth", SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 92146, "账单月份"), new String[]{"billMonth"})); +// List 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 data = new HashMap<>(); +// data.put("billMonth", SalaryDateUtil.getYearMonth(0, 0)); +// weaForm.setData(data); + return null; + } + } diff --git a/src/com/engine/salary/util/SalaryFormItemUtil.java b/src/com/engine/salary/util/SalaryFormItemUtil.java index 4300b91e7..6a124c7f9 100644 --- a/src/com/engine/salary/util/SalaryFormItemUtil.java +++ b/src/com/engine/salary/util/SalaryFormItemUtil.java @@ -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; + } + + + + } diff --git a/src/com/engine/salary/web/SIAccountController.java b/src/com/engine/salary/web/SIAccountController.java index 6c06c24a2..4e3f8a026 100644 --- a/src/com/engine/salary/web/SIAccountController.java +++ b/src/com/engine/salary/web/SIAccountController.java @@ -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>().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>().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>().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>().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>().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)); + } + + + +