From d938d3f30c4e0df9d1c88d18e8722e3defb5785b Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Thu, 26 Sep 2024 17:43:45 +0800 Subject: [PATCH] =?UTF-8?q?Excel=E5=B7=A5=E5=AD=97=E6=9D=A1=20=E6=9C=89?= =?UTF-8?q?=E6=9C=AA=E5=8C=B9=E9=85=8D=E6=83=85=E5=86=B5=E4=B8=8B=20?= =?UTF-8?q?=E5=85=B6=E5=AE=83=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payroll/cmd/payroll/DispatchCmd.java | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 src/com/engine/payroll/cmd/payroll/DispatchCmd.java diff --git a/src/com/engine/payroll/cmd/payroll/DispatchCmd.java b/src/com/engine/payroll/cmd/payroll/DispatchCmd.java new file mode 100644 index 0000000..524e563 --- /dev/null +++ b/src/com/engine/payroll/cmd/payroll/DispatchCmd.java @@ -0,0 +1,81 @@ +package com.engine.payroll.cmd.payroll; + +import com.engine.common.biz.AbstractCommonCommand; +import com.engine.common.entity.BizLogContext; +import com.engine.core.interceptor.CommandContext; +import com.engine.payroll.biz.SendMsg; +import com.engine.payroll.process.ImportProcess; +import com.engine.payroll.util.PayrollUtil; +import weaver.file.FileUploadToPath; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; +import weaver.systeminfo.SystemEnv; + +import javax.servlet.http.HttpServletRequest; +import java.util.*; + +public class DispatchCmd extends AbstractCommonCommand> { + private HttpServletRequest request; + + public DispatchCmd(Map params, User user, HttpServletRequest request) { + this.user = user; + this.params = params; + this.request = request; + } + + @Override + public BizLogContext getLogContext() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Map execute(CommandContext commandContext) { + Map retmap = new HashMap(); + try { + //必要的权限判断 + if(!HrmUserVarify.checkUserRightSystemadmin("Payroll:Manager", user)){ + retmap.put("status", "-1"); + retmap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage())); + return retmap; + } + + //generate targetId + String targetId = PayrollUtil.getInstance().getUnquieID(); + + //read excel + ImportProcess importProcess = new ImportProcess(user, targetId); + + FileUploadToPath fu = new FileUploadToPath(request); + List errorInfo = importProcess.creatImportMap(fu); + + //如果读取数据和验证模板没有发生错误 + Set userList = new HashSet<>();//构建消息接受人员列表 + Map keys = new HashMap<>(); + + //人保二开 Excel存在未找到情况下其它人员依旧推送工资单消息 + importProcess.init(request); + userList = importProcess.processMap(); + keys = importProcess.getKeys(); + importProcess.over(request); + + if (errorInfo.isEmpty()) { + retmap.put("errorInfo", new ArrayList<>()); + }else{ + importProcess.deleteFile(); + retmap.put("errorInfo", errorInfo); + } + + //doDispatchMsg + SendMsg.getInstance().dispatch(request, user, targetId, userList, keys, fu); + retmap.put("targetId", targetId); + retmap.put("userCount", userList.size()); + retmap.put("status", "1"); + } catch (Exception e) { + writeLog(e); + retmap.put("status", "-1"); + retmap.put("message", SystemEnv.getHtmlLabelName(382661, user.getLanguage())); + } + return retmap; + } +}