dev-ld
李栋 1 year ago
parent 52e0d2f699
commit 43ddb23ff1

@ -943,7 +943,8 @@ public class KQFormatData extends BaseBean {
boolean isondutyfreecheck =false; boolean isondutyfreecheck =false;
boolean isoffdutyfreecheck =false; boolean isoffdutyfreecheck =false;
Map<String, String> model_ShiftRule = kqFormatShiftRule.getModel_ShiftRule(i, workTime.getSerialId()); // Map<String, String> model_ShiftRule = kqFormatShiftRule.getModel_ShiftRule(i, workTime.getSerialId());
Map<String, String> model_ShiftRule = new HashMap<>();
Iterator iter = model_ShiftRule.entrySet().iterator(); Iterator iter = model_ShiftRule.entrySet().iterator();
while (iter.hasNext()) { while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next(); Map.Entry entry = (Map.Entry) iter.next();

@ -50,7 +50,7 @@ public class PunchOutButtonCmd extends AbstractCommonCommand<Map<String, Object>
public Map<String, Object> execute(CommandContext commandContext) { public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> retmap = new HashMap<String, Object>(); Map<String, Object> retmap = new HashMap<String, Object>();
try{ try{
bb.writeLog("PunchOutButtonCmd-start");
insertSign(retmap); insertSign(retmap);
}catch (Exception e) { }catch (Exception e) {

@ -185,19 +185,19 @@ public class ExportDailyExcelCmd extends AbstractCommonCommand<Map<String, Objec
}else { }else {
forgotBeginWorkCheck_field = " isnull(b.forgotBeginWorkCheck,0) "; forgotBeginWorkCheck_field = " isnull(b.forgotBeginWorkCheck,0) ";
} }
String backFields = " zm.cccb as mealAllowance," +
String backFields = " (select zm.cccb from uf_cbxxjlb zm where zm.xm = a.id and zm.rq = b.kqdate) as mealAllowance," + " zm.zdcb as statAllowance," +
" (select zm.zdcb from uf_cbxxjlb zm where zm.xm = a.id and zm.rq = b.kqdate) as statAllowance," + " zm.jmybcb as nightAllowance," +
" (select zm.jmybcb from uf_cbxxjlb zm where zm.xm = a.id and zm.rq = b.kqdate) as nightAllowance," + " zm.hrzdcb as otherStatAllowance," +
" (select zm.hrzdcb from uf_cbxxjlb zm where zm.xm = a.id and zm.rq = b.kqdate) as otherStatAllowance," + " zm.ybbz as nightShiftSubsidy, "+
" (select zm.ybbz from uf_cbxxjlb zm where zm.xm = a.id and zm.rq = b.kqdate) as nightShiftSubsidy," +
" a.id,a.lastname,a.subcompanyid1 as subcompanyid,a.departmentid, a.workcode,b.jobtitle,a.dsporder," + " a.id,a.lastname,a.subcompanyid1 as subcompanyid,a.departmentid, a.workcode,b.jobtitle,a.dsporder," +
" b.kqdate, b.workdays,b.workMins,b.serialid, b.attendancedays,FLOOR( b.attendanceMins / 30 ) * 30 AS attendanceMins ,b.beLate," + " b.kqdate, b.workdays,b.workMins,b.serialid, b.attendancedays,FLOOR( b.attendanceMins / 30 ) * 30 AS attendanceMins ,b.beLate," +
" b.beLateMins,b.graveBeLate,b.graveBeLateMins,b.leaveEearly,b.leaveEarlyMins,b.graveLeaveEarly," + " b.beLateMins,b.graveBeLate,b.graveBeLateMins,b.leaveEearly,b.leaveEarlyMins,b.graveLeaveEarly," +
" b.graveLeaveEarlyMins,b.absenteeism,b.signdays,b.signmins, "+ " b.graveLeaveEarlyMins,b.absenteeism,b.signdays,b.signmins, "+
" b.absenteeismMins ,(b.forgotCheck+"+forgotBeginWorkCheck_field+") forgotCheck,zeropoint "; " b.absenteeismMins ,(b.forgotCheck+"+forgotBeginWorkCheck_field+") forgotCheck,zeropoint ";
String sqlFrom = " from hrmresource a, kq_format_total b where a.id= b.resourceid and b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"'"; String sqlFrom = " from hrmresource a, kq_format_total b,uf_cbxxjlb zm " +
String sqlWhere = rightSql; "where a.id= b.resourceid and b.kqdate >='"+fromDate+"' and b.kqdate <='"+toDate+"' and zm.xm=a.id and zm.rq = b.kqdate ";
String sqlWhere = rightSql;
if(subCompanyId.length()>0){ if(subCompanyId.length()>0){
sqlWhere +=" and a.subcompanyid1 in("+subCompanyId+") "; sqlWhere +=" and a.subcompanyid1 in("+subCompanyId+") ";
} }
@ -541,7 +541,7 @@ public class ExportDailyExcelCmd extends AbstractCommonCommand<Map<String, Objec
fieldValue = Util.null2String(rs.getString(fieldName)); fieldValue = Util.null2String(rs.getString(fieldName));
fieldValue = getFieldValueByUnitType(fieldValue,kqReportFieldComInfo.getUnittype(fieldid)); fieldValue = getFieldValueByUnitType(fieldValue,kqReportFieldComInfo.getUnittype(fieldid));
} }
if(!fieldName.equals("leave")) { if(!fieldName.equals("leave")) {
fieldValue = Util.formatMultiLang(fieldValue, "" + user.getLanguage()); fieldValue = Util.formatMultiLang(fieldValue, "" + user.getLanguage());
data.add(fieldValue); data.add(fieldValue);

@ -583,7 +583,8 @@ public class ExportExcelCmd extends AbstractCommonCommand<Map<String, Object>> {
String fileName = SystemEnv.getHtmlLabelName(390351, user.getLanguage())+" "+fromDate+" "+toDate; String fileName = SystemEnv.getHtmlLabelName(390351, user.getLanguage())+" "+fromDate+" "+toDate;
workbook.put("fileName", fileName); workbook.put("fileName", fileName);
ExcelUtil ExcelUtil = new ExcelUtil(); ExcelUtil ExcelUtil = new ExcelUtil();
Map<String, Object> exportMap = ExcelUtil.export(workbook, request, response,true); // Map<String, Object> exportMap = ExcelUtil.export(workbook, request, response,true);
Map<String, Object> exportMap = new HashMap<>();
retmap.putAll(exportMap); retmap.putAll(exportMap);
retmap.put("status", "1"); retmap.put("status", "1");
} catch (Exception e) { } catch (Exception e) {

@ -16,9 +16,10 @@ import java.util.*;
public class OutSignSyncAction implements Action { public class OutSignSyncAction implements Action {
BaseBean bb = new BaseBean(); BaseBean bb = new BaseBean();
@Override @Override
public String execute(RequestInfo requestInfo) { public String execute(RequestInfo requestInfo) {
bb.writeLog("OutSignSyncAction-start");
String startDate = ""; String startDate = "";
String endDate = ""; String endDate = "";
String resourceid = ""; String resourceid = "";
@ -55,6 +56,7 @@ public class OutSignSyncAction implements Action {
if (StringUtils.isNotBlank(nbtxr)) { if (StringUtils.isNotBlank(nbtxr)) {
resourceid = resourceid + "," + nbtxr; resourceid = resourceid + "," + nbtxr;
} }
bb.writeLog("OutSignSyncAction-" + resourceid);
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
List<String> infos = new ArrayList<>(); List<String> infos = new ArrayList<>();
String acqOutSignSql = "select a.id, c.signinfo " + String acqOutSignSql = "select a.id, c.signinfo " +
@ -67,9 +69,10 @@ public class OutSignSyncAction implements Action {
String signinfo = Util.null2String(rs.getString("signinfo")); String signinfo = Util.null2String(rs.getString("signinfo"));
infos.add(signinfo); infos.add(signinfo);
} }
bb.writeLog("OutSignSyncAction-infos-" + infos);
for (String inf : infos) { for (String inf : infos) {
if (inf != null ) { if (inf != null) {
Map<String, Object> in = mapStringToMap(inf); Map<String, Object> in = mapStringToMap(inf);
String userId = Util.null2String(in.get("userId")); String userId = Util.null2String(in.get("userId"));
String userType = Util.null2String(in.get("userType")); String userType = Util.null2String(in.get("userType"));
@ -87,25 +90,25 @@ public class OutSignSyncAction implements Action {
String deviceInfo = Util.null2String(in.get("deviceInfo")); String deviceInfo = Util.null2String(in.get("deviceInfo"));
String belongdateIsNull = Util.null2String(in.get("belongdateIsNull")); String belongdateIsNull = Util.null2String(in.get("belongdateIsNull"));
String punchSql = "insert into HrmScheduleSign(userId,userType,signType,signDate,signTime,clientAddress,isInCom,timeZone,belongdate,signfrom,longitude,latitude,addr,deviceInfo,isdev) "+ String punchSql = "insert into HrmScheduleSign(userId,userType,signType,signDate,signTime,clientAddress,isInCom,timeZone,belongdate,signfrom,longitude,latitude,addr,deviceInfo,isdev) " +
" values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
boolean isok = rs.executeUpdate(punchSql,resourceid,userType,signType,signDate,signTime,clientAddress,isInCom, boolean isok = rs.executeUpdate(punchSql, resourceid, userType, signType, signDate, signTime, clientAddress, isInCom,
timeZone,belongdate,signfrom,longitude,latitude,address,deviceInfo,"1"); timeZone, belongdate, signfrom, longitude, latitude, address, deviceInfo, "1");
bb.writeLog("isok: " + isok); bb.writeLog("isok: " + isok);
//同步更新考勤数据到考勤报表 //同步更新考勤数据到考勤报表
if("true".equals(belongdateIsNull)){ if ("true".equals(belongdateIsNull)) {
//外勤签到没有归属日期,遇到跨天班次打卡可能归属前一天,需要格式化前一天考勤 //外勤签到没有归属日期,遇到跨天班次打卡可能归属前一天,需要格式化前一天考勤
bb.writeLog("PunchOutButtonCmd:userId:"+userId+":belongdate:"+ DateUtil.getYesterday()); bb.writeLog("PunchOutButtonCmd:userId:" + userId + ":belongdate:" + DateUtil.getYesterday());
new KQFormatBiz().formatDate(""+userId,DateUtil.getYesterday()); new KQFormatBiz().formatDate("" + userId, DateUtil.getYesterday());
} }
bb.writeLog("PunchOutButtonCmd:userId:"+userId+":belongdate:"+(belongdate.length() == 0 ? DateUtil.getCurrentDate() : belongdate)); bb.writeLog("PunchOutButtonCmd:userId:" + userId + ":belongdate:" + (belongdate.length() == 0 ? DateUtil.getCurrentDate() : belongdate));
if(belongdate.length()==0){ if (belongdate.length() == 0) {
//外勤签到没有归属日期,遇到跨天班次打卡可能归属前一天,需要格式化前一天考勤 //外勤签到没有归属日期,遇到跨天班次打卡可能归属前一天,需要格式化前一天考勤
new KQFormatBiz().formatDate(""+userId,DateUtil.getYesterday()); new KQFormatBiz().formatDate("" + userId, DateUtil.getYesterday());
} }
new KQFormatBiz().formatDate(""+userId,(belongdate.length() == 0 ? DateUtil.getCurrentDate() : belongdate)); new KQFormatBiz().formatDate("" + userId, (belongdate.length() == 0 ? DateUtil.getCurrentDate() : belongdate));
//外勤签到转的考勤 处理加班规则 //外勤签到转的考勤 处理加班规则
SplitActionUtil.pushOverTimeTasksAll(belongdate,belongdate,""+userId); SplitActionUtil.pushOverTimeTasksAll(belongdate, belongdate, "" + userId);
} }
} }
@ -118,10 +121,10 @@ public class OutSignSyncAction implements Action {
return Action.SUCCESS; return Action.SUCCESS;
} }
public static Map<String,Object> mapStringToMap(String str){ public static Map<String, Object> mapStringToMap(String str) {
str = str.substring(1, str.length()-1); str = str.substring(1, str.length() - 1);
String[] strs = str.split(","); String[] strs = str.split(",");
Map<String,Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
for (String string : strs) { for (String string : strs) {
String key = string.split("=")[0]; String key = string.split("=")[0];
String value = string.split("=")[1]; String value = string.split("=")[1];

Loading…
Cancel
Save