From aae717c314f3e7eba40744440cfa35b007192bc1 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Thu, 15 May 2025 17:40:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=BB=93=E6=9D=9F=E5=90=8E?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=91=98=E5=B7=A5=E5=81=87=E6=9C=9F=E9=A2=9D?= =?UTF-8?q?=E5=BA=A6=E4=B8=AD=E2=80=9C=E9=A2=9D=E5=A4=96=E9=A2=9D=E5=BA=A6?= =?UTF-8?q?=E2=80=9C=E5=AD=97=E6=AE=B5=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=20=E6=97=A0=E6=BA=90=E7=A0=81=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../balanceofleave/SaveBalanceOfLeaveCmd.java | 293 ++++++++++++++++++ .../xmgsecond/BalanceOfLeaveAction.java | 139 +++++++++ 2 files changed, 432 insertions(+) create mode 100644 src/com/engine/kq/cmd/balanceofleave/SaveBalanceOfLeaveCmd.java create mode 100644 src/weaver/interfaces/xmgsecond/BalanceOfLeaveAction.java diff --git a/src/com/engine/kq/cmd/balanceofleave/SaveBalanceOfLeaveCmd.java b/src/com/engine/kq/cmd/balanceofleave/SaveBalanceOfLeaveCmd.java new file mode 100644 index 0000000..5da6b4c --- /dev/null +++ b/src/com/engine/kq/cmd/balanceofleave/SaveBalanceOfLeaveCmd.java @@ -0,0 +1,293 @@ +package com.engine.kq.cmd.balanceofleave; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.engine.common.biz.AbstractCommonCommand; +import com.engine.common.biz.SimpleBizLogger; +import com.engine.common.constant.BizLogSmallType4Hrm; +import com.engine.common.constant.BizLogType; +import com.engine.common.entity.BizLogContext; +import com.engine.core.interceptor.CommandContext; +import com.engine.kq.biz.KQLeaveRulesComInfo; +import com.engine.kq.biz.KQLeaveRulesDetailComInfo; +import com.engine.kq.biz.KQUsageHistoryBiz; +import com.engine.kq.entity.KQUsageHistoryEntity; +import com.engine.kq.jucailin.util.KQDateUtil; +import weaver.conn.RecordSet; +import weaver.general.TimeUtil; +import weaver.general.Util; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; +import weaver.hrm.resource.ResourceComInfo; +import weaver.systeminfo.SystemEnv; + +import java.util.*; + +/** + * 假期余额--保存 + */ +public class SaveBalanceOfLeaveCmd extends AbstractCommonCommand> { + + private SimpleBizLogger logger; + + public SaveBalanceOfLeaveCmd(Map params, User user) { + this.user = user; + this.params = params; + this.logger = new SimpleBizLogger(); + } + + @Override + public BizLogContext getLogContext() { + return null; + } + + @Override + public Map execute(CommandContext commandContext) { + Map resultMap = new HashMap(); + try { + boolean canEdit = HrmUserVarify.checkUserRight("KQLeaveRulesEdit:Edit", user);//是否具有新建权限 + if (!canEdit) { + resultMap.put("status", "-1"); + resultMap.put("message", SystemEnv.getHtmlLabelName(2012, user.getLanguage())); + return resultMap; + } + //假期类型的ID + String leaveRulesId = Util.null2String(params.get("ruleId")); + //搜索条件中的年份 + String searchYearSelect = Util.null2String(params.get("searchYearSelect"));//日期控件的选择值 + String searchYear = Util.null2String(params.get("searchYear"));//年份 + if (searchYearSelect.equals("5") || searchYearSelect.equals("8")) { + searchYear = TimeUtil.getDateByOption(searchYearSelect, "0").substring(0, 4); + } + //人员和余额数据(JSON字符串) + String datas = Util.null2String(params.get("datas")); + //获取当前日期,当前时间 + Calendar today = Calendar.getInstance(); + //当前日期 + String currentDate = Util.add0(today.get(Calendar.YEAR), 4) + "-" + + Util.add0(today.get(Calendar.MONTH) + 1, 2) + "-" + + Util.add0(today.get(Calendar.DAY_OF_MONTH), 2); + //当前时间 + String currentTime = Util.add0(today.get(Calendar.HOUR_OF_DAY), 2) + ":" + + Util.add0(today.get(Calendar.MINUTE), 2) + ":" + + Util.add0(today.get(Calendar.SECOND), 2); + //人力资源缓存类 + ResourceComInfo resourceComInfo = new ResourceComInfo(); + //获取假期类型的缓存类 + KQLeaveRulesComInfo kqLeaveRulesComInfo = new KQLeaveRulesComInfo(); + //请假最小单位:1-按天请假、2-按半天请假、3-按小时请假、4-按整天请假 + String minimumUnit = kqLeaveRulesComInfo.getMinimumUnit(leaveRulesId); + //获取假期规则的缓存类 + KQLeaveRulesDetailComInfo detailComInfo = new KQLeaveRulesDetailComInfo(); + + /**********************************************************************************************************/ + + String insertOrUpdate = ""; + KQUsageHistoryEntity usageHistoryEntity = new KQUsageHistoryEntity();//员工假期余额变更记录实体类 + List usageHistoryEntityList = new ArrayList();//员工假期余额变更记录集合 + + String oldBaseAmount = "0"; + String oldUsedAmount = "0"; + String oldExtraAmount = "0"; + String oldBaseAmount2 = "0"; + String oldUsedAmount2 = "0"; + String oldExtraAmount2 = "0"; + + String newBaseAmount = "0"; + String newUsedAmount = "0"; + String newExtraAmount = "0"; + String newBaseAmount2 = "0"; + String newUsedAmount2 = "0"; + String newExtraAmount2 = "0"; + + //哪些人已经在数据库中有记录了 + RecordSet recordSet = new RecordSet(); + RecordSet tmpSet = new RecordSet(); + String searchSql = "select * from kq_BalanceOfLeave where leaveRulesId=? and resourceId=? and belongYear=? order by id"; + + //修改了哪些人的假期余额 + List resourceIdList = new ArrayList(); + JSONArray dataArr = JSONArray.parseArray(datas); + for (int i = 0; i < dataArr.size(); i++) { + JSONObject jsonObject = dataArr.getJSONObject(i); + String resourceId = jsonObject.getString("randomFieldId"); + if (resourceId.equals("")) { + continue; + } + if (!resourceIdList.contains(resourceId)) { + resourceIdList.add(resourceId); + } + } + //记录右键操作日志 + if (resourceIdList.size() > 0) { + String resourceIdStr = String.join(",", resourceIdList); + BizLogContext bizLogContext = new BizLogContext(); + bizLogContext.setLogType(BizLogType.HRM_ENGINE);//模块类型 + bizLogContext.setBelongType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_BALANCEOFLEAVE);//所属大类型 + bizLogContext.setLogSmallType(BizLogSmallType4Hrm.HRM_ENGINE_KQ_BALANCEOFLEAVE);//当前小类型 + bizLogContext.setParams(params);//当前request请求参数 + logger.setUser(user);//当前操作人 + String mainSql = "select * from kq_balanceOfleave where resourceId in (" + resourceIdStr + ") and leaveRulesId=" + leaveRulesId; + logger.setMainSql(mainSql, "id");//主表sql + logger.setMainPrimarykey("id");//主日志表唯一key + logger.setMainTargetNameMethod("com.engine.kq.util.KQTransMethod.getTargetName4Balance"); + logger.setMethodOtherParams("column:resourceId+column:leaveRulesId"); + logger.before(bizLogContext); + } + + java.sql.Timestamp date = KQDateUtil.getUpdateTimeStamp(); + boolean flag = true;//记录SQL操作是否成功 + String updateSql = "update kq_BalanceOfLeave set baseAmount=?,extraAmount=?,usedAmount=?,baseAmount2=?,extraAmount2=?,usedAmount2=?,update_time=? where leaveRulesId=? and resourceId=? and belongYear=?"; + String insertSql = "insert into kq_BalanceOfLeave(baseAmount,extraAmount,usedAmount,baseAmount2,extraAmount2,usedAmount2,leaveRulesId,resourceId,belongYear,create_time,update_time,creator) values(?,?,?,?,?,?,?,?,?,?,?,?) "; + String delSql = "delete from kq_BalanceOfLeave where leaveRulesId=? and resourceId=? and belongYear=? and id !=? "; +// List existdata = new ArrayList(); + if (recordSet.getDBType().equals("postgresql")) { + updateSql = "update kq_BalanceOfLeave set baseAmount=?,extraAmount=?,usedAmount=?,baseAmount2=?,extraAmount2=?,usedAmount2=?,update_time=?::timestamp where leaveRulesId=? and resourceId=? and belongYear=?"; + insertSql = "insert into kq_BalanceOfLeave(baseAmount,extraAmount,usedAmount,baseAmount2,extraAmount2,usedAmount2,leaveRulesId,resourceId,belongYear,create_time,update_time,creator) values(?,?,?,?,?,?,?,?,?,?::timestamp,?::timestamp,?) "; + } + Map existmap = new HashMap(); + JSONArray jsonArray = JSONArray.parseArray(datas); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + String resourceId = jsonObject.getString("randomFieldId"); + String baseAmount = "" + Util.getDoubleValue(jsonObject.getString("baseAmountspan"), 0); + String extraAmount = "" + Util.getDoubleValue(jsonObject.getString("extraAmountspan"), 0); + String usedAmount = "" + Util.getDoubleValue(jsonObject.getString("usedAmountspan"), 0); + String baseAmount2 = "" + Util.getDoubleValue(jsonObject.getString("baseAmount2span"), 0); + String extraAmount2 = "" + Util.getDoubleValue(jsonObject.getString("extraAmount2span"), 0); + String usedAmount2 = "" + Util.getDoubleValue(jsonObject.getString("usedAmount2span"), 0); + //获取人员相关信息 + if (resourceId.equals("")) { + continue; + } + String lastName = resourceComInfo.getLastname(resourceId); + String subcompanyId = resourceComInfo.getSubCompanyID(resourceId); + String departmentId = resourceComInfo.getDepartmentID(resourceId); + /*目前没有为该人员所在分部或者总部设置任何假期规则,不允许保存*/ + if (Util.getIntValue(detailComInfo.getId(leaveRulesId, subcompanyId,departmentId, resourceId), 0) <= 0) { + resultMap.put("sign", "-1"); + resultMap.put("message", ""+ SystemEnv.getHtmlLabelName(10004211,weaver.general.ThreadVarLanguage.getLang())+"" + lastName + ""+ SystemEnv.getHtmlLabelName(10005331,weaver.general.ThreadVarLanguage.getLang())+"");//保存失败 + return resultMap; + } + + //最近有遇到一些假期余额人员重复的问题,单独优化下,重复垃圾数据,保留id小的 + //加下面的逻辑是因为当有重复的垃圾数据时,前端传过来的数据也是重复,即使遍历的第一次有删除多余的垃圾,后面的重复数据会覆盖掉前面的id小的数据 + String key = resourceId+"#"+leaveRulesId+"#"+searchYear; + if(existmap!=null && existmap.containsKey(key)){ + continue; + }else{ + existmap.put(key,key); + } + + //在数据库里是否已经存在记录了 + recordSet.executeQuery(searchSql, leaveRulesId, resourceId, searchYear); + int datacount = recordSet.getCounts(); + if (recordSet.next()) { + String tmpid = Util.null2String(recordSet.getString("id")); + if(datacount>1){//最近有遇到一些假期余额人员重复的问题,单独优化下 + tmpSet.executeUpdate(delSql, leaveRulesId, resourceId, searchYear,tmpid); + } + oldBaseAmount = "" + Util.getDoubleValue(recordSet.getString("baseAmount"), 0); + oldExtraAmount = "" + Util.getDoubleValue(recordSet.getString("extraAmount"), 0); + oldUsedAmount = "" + Util.getDoubleValue(recordSet.getString("usedAmount"), 0); + oldBaseAmount2 = "" + Util.getDoubleValue(recordSet.getString("baseAmount2"), 0); + oldExtraAmount2 = "" + Util.getDoubleValue(recordSet.getString("extraAmount2"), 0); + oldUsedAmount2 = "" + Util.getDoubleValue(recordSet.getString("usedAmount2"), 0); + + newBaseAmount = baseAmount == null ? oldBaseAmount : baseAmount; + newExtraAmount = extraAmount == null ? oldExtraAmount : extraAmount; + newUsedAmount = usedAmount == null ? oldUsedAmount : usedAmount; + newBaseAmount2 = baseAmount2 == null ? oldBaseAmount2 : baseAmount2; + newExtraAmount2 = extraAmount2 == null ? oldExtraAmount2 : extraAmount2; + newUsedAmount2 = usedAmount2 == null ? oldUsedAmount2 : usedAmount2; + + if (oldBaseAmount.equals(newBaseAmount) && oldExtraAmount.equals(newExtraAmount) && oldUsedAmount.equals(newUsedAmount) + && oldBaseAmount2.equals(newBaseAmount2) && oldExtraAmount2.equals(newExtraAmount2) && oldUsedAmount2.equals(newUsedAmount2)) { + continue; + } + + /*更新员工假期余额 start*/ + flag = recordSet.executeUpdate(updateSql, newBaseAmount, newExtraAmount, newUsedAmount, newBaseAmount2, newExtraAmount2, newUsedAmount2,date, leaveRulesId, resourceId, searchYear); + if (!flag) { + resultMap.put("sign", "-1"); + resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败 + return resultMap; + } + /*更新员工假期余额 end*/ + } else { + oldBaseAmount = "0"; + oldExtraAmount = "0"; + oldUsedAmount = "0"; + oldBaseAmount2 = "0"; + oldExtraAmount2 = "0"; + oldUsedAmount2 = "0"; + + newBaseAmount = baseAmount == null ? "0" : baseAmount; + newExtraAmount = extraAmount == null ? "0" : extraAmount; + newUsedAmount = usedAmount == null ? "0" : usedAmount; + newBaseAmount2 = baseAmount2 == null ? "0" : baseAmount2; + newExtraAmount2 = extraAmount2 == null ? "0" : extraAmount2; + newUsedAmount2 = usedAmount2 == null ? "0" : usedAmount2; + + /*新增员工假期余额 start*/ + flag = recordSet.executeUpdate(insertSql, newBaseAmount, newExtraAmount, newUsedAmount, newBaseAmount2, newExtraAmount2, newUsedAmount2, leaveRulesId, resourceId, searchYear,date,date,Util.getIntValue(resourceId)); + if (!flag) { + resultMap.put("sign", "-1"); + resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败 + return resultMap; + } + /*新增员工假期余额 end*/ + } + + /*员工假期余额变更记录 start*/ + usageHistoryEntity = new KQUsageHistoryEntity(); + usageHistoryEntity.setLeaveRulesId(leaveRulesId); + usageHistoryEntity.setRelatedId(resourceId); + usageHistoryEntity.setOperator("" + user.getUID()); + usageHistoryEntity.setOperateDate(currentDate); + usageHistoryEntity.setOperateTime(currentTime); + usageHistoryEntity.setOperateType("5"); + usageHistoryEntity.setBelongYear(searchYear); + usageHistoryEntity.setOldBaseAmount(oldBaseAmount); + usageHistoryEntity.setNewBaseAmount(newBaseAmount); + usageHistoryEntity.setOldExtraAmount(oldExtraAmount); + usageHistoryEntity.setNewExtraAmount(newExtraAmount); + usageHistoryEntity.setOldUsedAmount(oldUsedAmount); + usageHistoryEntity.setNewUsedAmount(newUsedAmount); + usageHistoryEntity.setOldBaseAmount2(oldBaseAmount2); + usageHistoryEntity.setNewBaseAmount2(newBaseAmount2); + usageHistoryEntity.setOldExtraAmount2(oldExtraAmount2); + usageHistoryEntity.setNewExtraAmount2(newExtraAmount2); + usageHistoryEntity.setOldUsedAmount2(oldUsedAmount2); + usageHistoryEntity.setNewUsedAmount2(newUsedAmount2); + usageHistoryEntity.setOldMinimumUnit(minimumUnit); + usageHistoryEntity.setNewMinimumUnit(minimumUnit); + usageHistoryEntity.setInsertOrUpdate(insertOrUpdate); + + usageHistoryEntityList.add(usageHistoryEntity); + } + + //记录使用记录 + if (usageHistoryEntityList.size() > 0) { + KQUsageHistoryBiz usageHistoryBiz = new KQUsageHistoryBiz(); + flag = usageHistoryBiz.save(usageHistoryEntityList); + if (!flag) { + resultMap.put("sign", "-1"); + resultMap.put("message", SystemEnv.getHtmlLabelName(84544, user.getLanguage()));//保存失败 + return resultMap; + } + } + + resultMap.put("sign", "1"); + resultMap.put("message", SystemEnv.getHtmlLabelName(83551, user.getLanguage()));//保存成功 + } catch (Exception e) { + writeLog(e); + } + return resultMap; + } + + @Override + public List getLogContexts() { + return logger.getBizLogContexts(); + } +} diff --git a/src/weaver/interfaces/xmgsecond/BalanceOfLeaveAction.java b/src/weaver/interfaces/xmgsecond/BalanceOfLeaveAction.java new file mode 100644 index 0000000..b333f93 --- /dev/null +++ b/src/weaver/interfaces/xmgsecond/BalanceOfLeaveAction.java @@ -0,0 +1,139 @@ +package weaver.interfaces.xmgsecond; + +import com.engine.kq.biz.KQLeaveRulesComInfo; +import com.engine.kq.biz.KQUsageHistoryBiz; +import com.engine.kq.entity.KQUsageHistoryEntity; +import com.engine.kq.jucailin.util.KQDateUtil; +import com.weaver.general.TimeUtil; +import weaver.conn.RecordSet; +import weaver.general.Util; +import weaver.interfaces.workflow.action.Action; +import weaver.soa.workflow.request.RequestInfo; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author liang.cheng + * @Date 2025/5/15 14:10 + * @Description: 新美光假期额度申请流程 + * @Version 1.0 + */ +public class BalanceOfLeaveAction implements Action{ + + + @Override + public String execute(RequestInfo requestInfo) { + String requestid = requestInfo.getRequestid(); + int formid = Math.abs(requestInfo.getRequestManager().getFormid()); + RecordSet rs = new RecordSet(); + String mainTable = String.format("%s%s", "formtable_main_", formid); + + + String currentDate = TimeUtil.getCurrentDateString(); + String currentTime = TimeUtil.getOnlyCurrentTimeString(); + java.sql.Timestamp date = KQDateUtil.getUpdateTimeStamp(); +// String creator = requestInfo.getRequestManager().getCurrentOperator().; + String creator = "1"; + + rs.executeQuery("select xm,edssny,qjlx,ewsfed from "+mainTable+" where requestid = ?",requestid); + rs.next(); + //假期类型的ID + String leaveRulesId = Util.null2String(rs.getString("qjlx")); + String searchYear = Util.null2String(rs.getString("edssny")); + String resourceId = Util.null2String(rs.getString("xm")); + double extraAmount = Util.getDoubleValue(rs.getString("ewsfed"), 0); + //获取假期类型的缓存类 + KQLeaveRulesComInfo kqLeaveRulesComInfo = new KQLeaveRulesComInfo(); + //请假最小单位:1-按天请假、2-按半天请假、3-按小时请假、4-按整天请假 + String minimumUnit = kqLeaveRulesComInfo.getMinimumUnit(leaveRulesId); + String insertOrUpdate = ""; + String oldBaseAmount = "0"; + String oldUsedAmount = "0"; + String oldExtraAmount = "0"; + String oldBaseAmount2 = "0"; + String oldUsedAmount2 = "0"; + String oldExtraAmount2 = "0"; + + String newExtraAmount = "0"; + + boolean flag = true; + //在数据库里是否已经存在记录了 + rs.executeQuery("select baseAmount,extraAmount,usedAmount,baseAmount2,extraAmount2,usedAmount2 from kq_BalanceOfLeave where leaveRulesId=? and resourceId=? and belongYear=? order by id", leaveRulesId, resourceId, searchYear); + if (rs.next()) { + + oldBaseAmount = "" + Util.getDoubleValue(rs.getString("baseAmount"), 0); + oldExtraAmount = "" + Util.getDoubleValue(rs.getString("extraAmount"), 0); + oldUsedAmount = "" + Util.getDoubleValue(rs.getString("usedAmount"), 0); + + oldBaseAmount2 = "" + Util.getDoubleValue(rs.getString("baseAmount2"), 0); + oldExtraAmount2 = "" + Util.getDoubleValue(rs.getString("extraAmount2"), 0); + oldUsedAmount2 = "" + Util.getDoubleValue(rs.getString("usedAmount2"), 0); + + newExtraAmount = String.valueOf(extraAmount + Util.getDoubleValue(rs.getString("extraAmount"), 0)); + insertOrUpdate = "update"; + + + String updateSql = "update kq_BalanceOfLeave set baseAmount=?,extraAmount=?,usedAmount=?,baseAmount2=?,extraAmount2=?,usedAmount2=?,update_time=? where leaveRulesId=? and resourceId=? and belongYear=?"; + flag = rs.executeUpdate(updateSql, oldBaseAmount, newExtraAmount, oldUsedAmount, oldBaseAmount2, oldExtraAmount2, oldUsedAmount2,date, leaveRulesId, resourceId, searchYear); + + if (!flag) { + requestInfo.getRequestManager().setMessagecontent("更新员工假期余额失败"); + return Action.FAILURE_AND_CONTINUE; + } + + }else { + newExtraAmount = "" + extraAmount; + insertOrUpdate = "insert"; + + String insertSql = "insert into kq_BalanceOfLeave(baseAmount,extraAmount,usedAmount,baseAmount2,extraAmount2,usedAmount2,leaveRulesId,resourceId,belongYear,create_time,update_time,creator) values(?,?,?,?,?,?,?,?,?,?,?,?)"; + flag = rs.executeUpdate(insertSql, oldBaseAmount, newExtraAmount, oldUsedAmount, oldBaseAmount2, oldExtraAmount2, oldUsedAmount2, leaveRulesId, resourceId, searchYear,date,date,creator); + + + + if (!flag) { + requestInfo.getRequestManager().setMessagecontent("新增员工假期余额失败"); + return Action.FAILURE_AND_CONTINUE; + } + } + + List usageHistoryEntityList = new ArrayList<>(); + KQUsageHistoryEntity usageHistoryEntity = new KQUsageHistoryEntity(); + usageHistoryEntity.setLeaveRulesId(leaveRulesId); + usageHistoryEntity.setRelatedId(resourceId); + usageHistoryEntity.setOperator(creator); + usageHistoryEntity.setOperateDate(currentDate); + usageHistoryEntity.setOperateTime(currentTime); + usageHistoryEntity.setOperateType("5"); + usageHistoryEntity.setBelongYear(searchYear); + usageHistoryEntity.setOldBaseAmount(oldBaseAmount); + usageHistoryEntity.setNewBaseAmount(oldBaseAmount); + usageHistoryEntity.setOldExtraAmount(oldExtraAmount); + usageHistoryEntity.setNewExtraAmount(newExtraAmount); + usageHistoryEntity.setOldUsedAmount(oldUsedAmount); + usageHistoryEntity.setNewUsedAmount(oldUsedAmount); + usageHistoryEntity.setOldBaseAmount2(oldBaseAmount2); + usageHistoryEntity.setNewBaseAmount2(oldBaseAmount2); + usageHistoryEntity.setOldExtraAmount2(oldExtraAmount2); + usageHistoryEntity.setNewExtraAmount2(oldExtraAmount2); + usageHistoryEntity.setOldUsedAmount2(oldUsedAmount2); + usageHistoryEntity.setNewUsedAmount2(oldUsedAmount2); + usageHistoryEntity.setOldMinimumUnit(minimumUnit); + usageHistoryEntity.setNewMinimumUnit(minimumUnit); + usageHistoryEntity.setInsertOrUpdate(insertOrUpdate); + + usageHistoryEntityList.add(usageHistoryEntity); + + + if (usageHistoryEntityList.size() > 0) { + KQUsageHistoryBiz usageHistoryBiz = new KQUsageHistoryBiz(); + flag = usageHistoryBiz.save(usageHistoryEntityList); + if (!flag) { + requestInfo.getRequestManager().setMessagecontent("员工假期余额变更记录日志失败"); + return Action.FAILURE_AND_CONTINUE; + } + } + + return Action.SUCCESS; + } +}