Merge remote-tracking branch 'origin/dev' into dev

dev
Administrator 1 year ago
commit fb8689160d

@ -15,6 +15,7 @@ import com.engine.kq.util.KQDurationCalculatorUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import weaver.conn.RecordSet;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.BaseBean;
@ -92,11 +93,8 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
mealAllowance = "0";
}
// 考勤二开--零点补助
String zeropoint = "0";
rs.executeQuery("select zeropoint from kq_format_total where resourceid = ? and kqdate = ?", userId, kqDate);
if (rs.next()) {
zeropoint = rs.getString("zeropoint");
}
String zeropoint = getZeroBt(userId, kqDate);
baseBean.writeLog("zeropoint:" + zeropoint);
if (StringUtils.isEmpty(zeropoint)) {
zeropoint = "0";
}
@ -144,6 +142,42 @@ public class HandleCBDataThread extends BaseBean implements Runnable{
}
}
public String getZeroBt(String userId, String kqDate) {
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
String value = "0";
try {
//获取夜班班次
List<String> nightShiftList = new ArrayList<>();
String acqNightShiftSql = "select shift from uf_nightshiftmanage where isdelete is null or isdelete = 0";
rs.executeQuery(acqNightShiftSql);
while (rs.next()) {
String shift = Util.null2String(rs.getString("shift"));
if (StringUtils.isNotBlank(shift)) {
nightShiftList.add(shift);
}
}
rs.executeQuery("select zeropoint from kq_format_total where resourceid = ? and kqdate = ?", userId, kqDate);
if (rs.next()) {
value = rs.getString("zeropoint");
}
//获取当天班次
KQWorkTime kqWorkTime = new KQWorkTime();
Map<String, Object> serialInfo = kqWorkTime.getSerialInfo(userId, kqDate, false);
if (serialInfo != null && serialInfo.size() > 0) {
int serialid = Util.getIntValue(Util.null2String(serialInfo.get(kqDate)), 0);
if (serialid > 0) {
if ((!CollectionUtils.isEmpty(nightShiftList)) && nightShiftList.contains(String.valueOf(serialid))) {
value = "0";
}
}
}
} catch (Exception e) {
bb.writeLog("get ZeroBt error:" + e.getMessage());
}
return value;
}
public String getNightShiftSubsidy(String userId, String kqDate) {
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();

@ -26,6 +26,7 @@ import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import weaver.common.DateUtil;
import weaver.conn.BatchRecordSet;
import weaver.conn.RecordSet;
@ -225,11 +226,8 @@ public class KQFormatData extends BaseBean {
mealAllowance = "0";
}
// 考勤二开--零点补助
String zeropoint = "0";
rs.executeQuery("select zeropoint from kq_format_total where resourceid = ? and kqdate = ?", userId, kqDate);
if (rs.next()) {
zeropoint = rs.getString("zeropoint");
}
String zeropoint = getZeroBt(userId, kqDate);
bb.writeLog("zeropoint:" + zeropoint);
if (StringUtils.isEmpty(zeropoint)) {
zeropoint = "0";
}
@ -2100,4 +2098,40 @@ public class KQFormatData extends BaseBean {
}
return value;
}
public String getZeroBt(String userId, String kqDate) {
BaseBean bb = new BaseBean();
RecordSet rs = new RecordSet();
String value = "0";
try {
//获取夜班班次
List<String> nightShiftList = new ArrayList<>();
String acqNightShiftSql = "select shift from uf_nightshiftmanage where isdelete is null or isdelete = 0";
rs.executeQuery(acqNightShiftSql);
while (rs.next()) {
String shift = Util.null2String(rs.getString("shift"));
if (StringUtils.isNotBlank(shift)) {
nightShiftList.add(shift);
}
}
rs.executeQuery("select zeropoint from kq_format_total where resourceid = ? and kqdate = ?", userId, kqDate);
if (rs.next()) {
value = rs.getString("zeropoint");
}
//获取当天班次
KQWorkTime kqWorkTime = new KQWorkTime();
Map<String, Object> serialInfo = kqWorkTime.getSerialInfo(userId, kqDate, false);
if (serialInfo != null && serialInfo.size() > 0) {
int serialid = Util.getIntValue(Util.null2String(serialInfo.get(kqDate)), 0);
if (serialid > 0) {
if ((!CollectionUtils.isEmpty(nightShiftList)) && nightShiftList.contains(String.valueOf(serialid))) {
value = "0";
}
}
}
} catch (Exception e) {
bb.writeLog("get ZeroBt error:" + e.getMessage());
}
return value;
}
}

@ -65,7 +65,7 @@ public class OutSignSyncAction implements Action {
"from mobile_sign a " +
"left join uf_outsigntype c " +
"on c.outsignid = a.id " +
"where operate_date > '" + startDate + "' and operate_date < '" + endDate + "' and operater in (?) ";
"where operate_date >= '" + startDate + "' and operate_date <= '" + endDate + "' and operater in (?) ";
rs.executeQuery(acqOutSignSql, resourceid);
while (rs.next()) {
String signinfo = Util.null2String(rs.getString("signinfo"));
@ -124,11 +124,15 @@ public class OutSignSyncAction implements Action {
public static Map<String, Object> mapStringToMap(String str) {
str = str.substring(1, str.length() - 1);
String[] strs = str.split(",");
List<String> strs = splitString(str);
Map<String, Object> map = new HashMap<>();
for (String string : strs) {
String key = string.split("=")[0];
String value = string.split("=")[1];
String[] splits = string.split("=");
String key = splits[0];
String value = "";
if (splits.length > 1) {
value = splits[1];
}
// 去掉头部空格
String key1 = key.trim();
String value1 = value.trim();
@ -136,4 +140,28 @@ public class OutSignSyncAction implements Action {
}
return map;
}
public static List<String> splitString(String input) {
List<String> result = new ArrayList<>();
int braceLevel = 0;
int startIndex = 0;
for (int i = 0; i < input.length(); i++) {
char ch = input.charAt(i);
if (ch == '{') {
braceLevel++;
} else if (ch == '}') {
braceLevel--;
} else if (ch == ',' && braceLevel == 0) {
result.add(input.substring(startIndex, i));
startIndex = i + 1;
}
}
if (startIndex < input.length()) {
result.add(input.substring(startIndex));
}
return result;
}
}

Loading…
Cancel
Save