Excel工字条 有未匹配情况下 其它人员信息正常推送
parent
3cfddf5cfc
commit
d938d3f30c
@ -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<Map<String, Object>> {
|
||||||
|
private HttpServletRequest request;
|
||||||
|
|
||||||
|
public DispatchCmd(Map<String, Object> 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<String, Object> execute(CommandContext commandContext) {
|
||||||
|
Map<String,Object> retmap = new HashMap<String,Object>();
|
||||||
|
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<String> userList = new HashSet<>();//构建消息接受人员列表
|
||||||
|
Map<String, String> 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;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue