考勤,请假流程校验action增加请假时长不足最小时长要求的判断

zm_dev
sy 11 months ago
parent 715701613b
commit 127bb546a4

@ -45,12 +45,13 @@ public class KqxmBrowserService extends BrowserService {
sqlwhere = SqlUtils.replaceFirstAnd(sqlwhere); sqlwhere = SqlUtils.replaceFirstAnd(sqlwhere);
// 设置好搜索条件 // 设置好搜索条件
String backFields = " id ,mc "; String backFields = " id ,mc as kqxmName";
String fromSql = " uf_jcl_kq_kqxm "; String fromSql = " uf_jcl_kq_kqxm ";
List<SplitTableColBean> cols = new ArrayList<SplitTableColBean>(); List<SplitTableColBean> cols = new ArrayList<SplitTableColBean>();
cols.add(new SplitTableColBean("true","id")); cols.add(new SplitTableColBean("true","id"));
cols.add(new SplitTableColBean("100%", SystemEnv.getHtmlLabelName(546742, user.getLanguage()),"mc","mc").setIsInputCol(BoolAttr.TRUE).setShowType(1)); // cols.add(new SplitTableColBean("100%", SystemEnv.getHtmlLabelName(546742, user.getLanguage()),"mc","mc").setIsInputCol(BoolAttr.TRUE).setShowType(1));
cols.add(new SplitTableColBean("100%", SystemEnv.getHtmlLabelName(546742, user.getLanguage()),"kqxmName","kqxmName").setIsInputCol(BoolAttr.TRUE).setShowType(1));
SplitTableBean tableBean = new SplitTableBean(backFields,fromSql,sqlwhere,"id","id","asc",cols); SplitTableBean tableBean = new SplitTableBean(backFields,fromSql,sqlwhere,"id","id","asc",cols);
bs.writeLog("KqxmBrowserService params : " + params + ", tableBean : " + tableBean); bs.writeLog("KqxmBrowserService params : " + params + ", tableBean : " + tableBean);

@ -153,6 +153,45 @@ public class AskForLeaveWorkFlowSubmitAction implements Action {
} }
log.info("detailTable2 : [{}]", detailTable2); log.info("detailTable2 : [{}]", detailTable2);
/**
*
*/
String jqedSql = "select eddw, dczskxsc from uf_jcl_kq_jqed where jb = ?";
Map<String, Object> jqedInfo = DbTools.getSqlToMap(jqedSql, jqlx);
//假期额度的额度单位0-天、1-小时
String eddw = Util.null2String(jqedInfo.get("eddw"));
String eddwValue = "";
//单次最小休时长
String minDuration = Util.null2String(jqedInfo.get("dczskxsc"));
//请假时长qjsc
String qjsc = Util.null2String(mainTableData.get("qjsc"));
//请假时长单位scdw0-天、1-小时
String scdw = Util.null2String(mainTableData.get("scdw"));
String scdwValue = "";
if (!"".equals(eddw) && !"".equals(minDuration)) {
double minDurationValue = Double.parseDouble(minDuration);
if (eddw.equals(AccountingUnitEnum.DAY.getKey())) {
minDurationValue = minDurationValue * 8;
eddwValue = AccountingUnitEnum.DAY.getValue();
} else {
eddwValue = AccountingUnitEnum.HOUR.getValue();
}
double qjscValue = "".equals(qjsc) ? 0 : Double.parseDouble(qjsc);
if (scdw.equals(AccountingUnitEnum.DAY.getKey())) {
qjscValue = qjscValue * 8;
scdwValue = AccountingUnitEnum.DAY.getValue();
} else {
scdwValue = AccountingUnitEnum.HOUR.getValue();
}
if (Double.compare(minDurationValue, qjscValue) > 0) {
String message = "请假时长" + qjsc + eddwValue + ",不能小于单次最小休时长" + minDuration + scdwValue;
log.error(message);
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent(message);
return Action.FAILURE_AND_CONTINUE;
}
}
//更新流程明细表2 //更新流程明细表2
String delteSql = "delete from " + detail2TableName + " where mainid=?"; String delteSql = "delete from " + detail2TableName + " where mainid=?";
DbTools.update(delteSql, requestid); DbTools.update(delteSql, requestid);

Loading…
Cancel
Save