|
|
@@ -5,12 +5,15 @@ import kd.bos.dataentity.entity.DynamicObject;
|
|
|
import kd.bos.dataentity.serialization.SerializationUtils;
|
|
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
|
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
|
|
+import kd.bos.logging.Log;
|
|
|
+import kd.bos.logging.LogFactory;
|
|
|
import kd.bos.orm.query.QCP;
|
|
|
import kd.bos.orm.query.QFilter;
|
|
|
import kd.bos.servicehelper.QueryServiceHelper;
|
|
|
import kd.hr.hbp.business.servicehelper.HRMServiceHelper;
|
|
|
import nckd.jxccl.hr.htm.common.quitapply.QuitApplyConstant;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.Collections;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
@@ -24,6 +27,7 @@ import java.util.Map;
|
|
|
* @date: 2025/11/18 22:53
|
|
|
*/
|
|
|
public class QuitApplyFormPlugin extends AbstractFormPlugin {
|
|
|
+ private static final Log log = LogFactory.getLog(QuitApplyFormPlugin.class);
|
|
|
|
|
|
/** 培养协议合同类型编码 */
|
|
|
private static final String CONTRACTTYPE_NUMBER = "JT01";
|
|
|
@@ -78,9 +82,11 @@ public class QuitApplyFormPlugin extends AbstractFormPlugin {
|
|
|
* @param contractEndDate 离职日期
|
|
|
*/
|
|
|
private void setUnUsedAnnualLeave(Long employeeId, Date contractEndDate) {
|
|
|
+ log.info("设置应休未休剩余年假>>>nckd.jxccl.hr.htm.plugin.form.quitapply.QuitApplyFormPlugin.setUnUsedAnnualLeave");
|
|
|
// 获取人员考勤档案
|
|
|
//String attFileSerializedString = DispatchServiceHelper.invokeService("nckd.jxccl.wtc.wtp.servicehelper", QuitApplyConstant.WTP_APP, "IWTPCustomerService", "getAttFile", new Object[]{contractEndDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), employeeId});
|
|
|
Object attFileObj = HRMServiceHelper.invokeBizService(QuitApplyConstant.WTC_CLOUD, QuitApplyConstant.WTBS_APP, "IAttFileQueryService", "attFileQuery", new Object[]{contractEndDate, employeeId});
|
|
|
+ log.info("设置应休未休剩余年假>>>attFileObj:::"+attFileObj);
|
|
|
if (attFileObj == null) {
|
|
|
getView().showTipNotification("未获取到应休未休剩余年假,请检查离职人员是否存在离职时间内有效的考勤档案");
|
|
|
return;
|
|
|
@@ -89,9 +95,13 @@ public class QuitApplyFormPlugin extends AbstractFormPlugin {
|
|
|
|
|
|
List<DynamicObject> quotaList = HRMServiceHelper.invokeBizService(QuitApplyConstant.WTC_CLOUD, QuitApplyConstant.WTP_APP, "IQTService", "queryQuota", new Object[]{attFile.get("boId"), Collections.singletonList(1666695290893207552L), 0, contractEndDate, contractEndDate});
|
|
|
//List<DynamicObject> quotaList = DispatchServiceHelper.invokeService("nckd.jxccl.wtc.wtp.servicehelper", QuitApplyConstant.WTP_APP, "IWTPCustomerService", "queryQuota", new Object[]{attFile.get("boId"), Collections.singletonList(1666695290893207552L), 0, contractEndDate, contractEndDate});
|
|
|
+ log.info("设置应休未休剩余年假>>>quotaList.size:::"+(quotaList.isEmpty() ? 0 : quotaList.size()));
|
|
|
if (quotaList != null && !quotaList.isEmpty()) {
|
|
|
- DynamicObject quotaDy = quotaList.get(0);
|
|
|
- getModel().setValue(QuitApplyConstant.NCKD_UNUSEDANNUALLEAVE_KEY, quotaDy.getBigDecimal(QuitApplyConstant.USABLEVALUE_KEY));
|
|
|
+ BigDecimal quota = BigDecimal.ZERO;
|
|
|
+ for (DynamicObject quotaDy : quotaList) {
|
|
|
+ quota = quota.add(quotaDy.getBigDecimal(QuitApplyConstant.USABLEVALUE_KEY) == null ? BigDecimal.ZERO : quotaDy.getBigDecimal(QuitApplyConstant.USABLEVALUE_KEY));
|
|
|
+ }
|
|
|
+ getModel().setValue(QuitApplyConstant.NCKD_UNUSEDANNUALLEAVE_KEY, quota);
|
|
|
} else {
|
|
|
getModel().setValue(QuitApplyConstant.NCKD_UNUSEDANNUALLEAVE_KEY, 0);
|
|
|
}
|