|
|
@@ -29,6 +29,7 @@ import kd.hr.hbp.business.servicehelper.HRBaseServiceHelper;
|
|
|
import kd.hr.hbp.common.util.HRObjectUtils;
|
|
|
import kd.hr.hbp.common.util.HRStringUtils;
|
|
|
import kd.hr.homs.business.utils.PatternUtil;
|
|
|
+import nckd.jxccl.hrmp.hbpm.business.hr.PosBillEntryFastChgHelper;
|
|
|
import nckd.jxccl.hrmp.hbpm.business.hr.PositionBillServiceHelper;
|
|
|
import nckd.jxccl.hrmp.hbpm.common.hr.PositionBillConstant;
|
|
|
|
|
|
@@ -42,36 +43,27 @@ import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* 岗位申请-新增岗位表单插件
|
|
|
+ * @from: kd.hr.homs.formplugin.web.orgbatch.AdminOrgBatchDetailAddPlugin
|
|
|
* @author: jtd
|
|
|
* @date: 2025-11-05 15:32
|
|
|
*/
|
|
|
public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
|
|
|
- /**
|
|
|
- * 编码规则的编码
|
|
|
- */
|
|
|
- private static final String CODERULE_NUMBER = "codeRuleNumber";
|
|
|
-
|
|
|
- /**
|
|
|
- * 保存结果标识
|
|
|
- */
|
|
|
- private static final String SAVE_RESULT = "saveResult";
|
|
|
-
|
|
|
@Override
|
|
|
public void beforeBindData(EventObject e) {
|
|
|
super.beforeBindData(e);
|
|
|
|
|
|
- getPageCache().put("paramsChangeSetNumber", "false");
|
|
|
+ getPageCache().put(PositionBillConstant.PC_PARAMSCHANGESETNUMBER, Boolean.FALSE.toString());
|
|
|
DynamicObject positionDy = getModel().getDataEntity();
|
|
|
long entityId = positionDy.getLong(PositionBillConstant.ID_KEY);
|
|
|
if (entityId == 0L) {
|
|
|
- Long billId = getView().getFormShowParameter().getCustomParam("billid");
|
|
|
+ Long billId = getView().getFormShowParameter().getCustomParam(PositionBillConstant.CP_BILLID);
|
|
|
getModel().setValue(PositionBillConstant.NCKD_BILLID, billId);
|
|
|
- getPageCache().put("initFlag", Boolean.TRUE.toString());
|
|
|
+ getPageCache().put(PositionBillConstant.PC_INITFLAG, Boolean.TRUE.toString());
|
|
|
}
|
|
|
|
|
|
// 设置生效时间
|
|
|
- Object positionBsedStr = getView().getFormShowParameter().getCustomParam("position_bsed");
|
|
|
+ Object positionBsedStr = getView().getFormShowParameter().getCustomParam(PositionBillConstant.CP_POSITION_BSED);
|
|
|
if (positionBsedStr != null) {
|
|
|
long positionBsedTime = Long.parseLong(positionBsedStr.toString());
|
|
|
getModel().setValue(PositionBillConstant.NCKD_BSED, new Date(positionBsedTime));
|
|
|
@@ -87,7 +79,7 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
setPositionNumberEnable();
|
|
|
}
|
|
|
|
|
|
- getPageCache().put("paramsChangeSetNumber", "true");
|
|
|
+ getPageCache().put(PositionBillConstant.PC_PARAMSCHANGESETNUMBER, Boolean.TRUE.toString());
|
|
|
// 新增的时候生成岗位ID
|
|
|
String positionIdKey = String.join("_", PositionBillConstant.NCKD_POSITION, PositionBillConstant.ID_KEY);
|
|
|
long positionId = getModel().getDataEntity().getLong(positionIdKey);
|
|
|
@@ -96,11 +88,11 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
getModel().setValue(positionIdKey, positionId);
|
|
|
}
|
|
|
|
|
|
- getPageCache().put("masterOrg", String.valueOf(positionDy.getLong(String.join(".", PositionBillConstant.NCKD_ORG, PositionBillConstant.ID_KEY))));
|
|
|
+ getPageCache().put(PositionBillConstant.PC_MASTERORG, String.valueOf(positionDy.getLong(String.join(".", PositionBillConstant.NCKD_ORG_KEY, PositionBillConstant.ID_KEY))));
|
|
|
}
|
|
|
|
|
|
private void setPositionNumberEnable() {
|
|
|
- DynamicObject org = getModel().getDataEntity().getDynamicObject(PositionBillConstant.NCKD_ORG);
|
|
|
+ DynamicObject org = getModel().getDataEntity().getDynamicObject(PositionBillConstant.NCKD_ORG_KEY);
|
|
|
if (org == null) {
|
|
|
getView().setEnable(Boolean.valueOf(false), PositionBillConstant.NUMBER_KEY);
|
|
|
return;
|
|
|
@@ -112,23 +104,23 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
getView().setEnable(false, PositionBillConstant.NUMBER_KEY);
|
|
|
String orgNumber = getModel().getDataEntity().getString(PositionBillConstant.NUMBER_KEY);
|
|
|
if (HRStringUtils.isNotEmpty(orgNumber)) {
|
|
|
- getView().getPageCache().put("codeRuleNumber", orgNumber);
|
|
|
- getView().getPageCache().put("notModifiable", Boolean.TRUE.toString());
|
|
|
+ getView().getPageCache().put(PositionBillConstant.PC_CODERULENUMBER, orgNumber);
|
|
|
+ getView().getPageCache().put(PositionBillConstant.PC_NOTMODIFIABLE, Boolean.TRUE.toString());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void setPositionNumber(DynamicObject positionHrDy, Boolean init) {
|
|
|
- DynamicObject dataEntity = getModel().getDataEntity();// 157
|
|
|
+ DynamicObject dataEntity = getModel().getDataEntity();
|
|
|
// 组织体系管理组织
|
|
|
- DynamicObject org = dataEntity.getDynamicObject(PositionBillConstant.NCKD_ORG);
|
|
|
+ DynamicObject org = dataEntity.getDynamicObject(PositionBillConstant.NCKD_ORG_KEY);
|
|
|
if (org == null) {
|
|
|
getView().setEnable(Boolean.FALSE, PositionBillConstant.NUMBER_KEY);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
String number = dataEntity.getString(PositionBillConstant.NUMBER_KEY);
|
|
|
- if (HRStringUtils.isNotEmpty(number) && !HRStringUtils.equals(number, getView().getPageCache().get("codeRuleNumber"))) {
|
|
|
+ if (HRStringUtils.isNotEmpty(number) && !HRStringUtils.equals(number, getView().getPageCache().get(PositionBillConstant.PC_CODERULENUMBER))) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
@@ -143,7 +135,7 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
QFilter qFilter = new QFilter(PositionBillConstant.NUMBER_KEY, QCP.equals, positionNumber);
|
|
|
if (!hrBaseServiceHelper.isExists(qFilter)) {
|
|
|
getModel().setValue(PositionBillConstant.NUMBER_KEY, positionNumber);
|
|
|
- getView().getPageCache().put("codeRuleNumber", positionNumber);
|
|
|
+ getView().getPageCache().put(PositionBillConstant.PC_CODERULENUMBER, positionNumber);
|
|
|
} else {
|
|
|
setPositionNumber(positionHrDy, init);
|
|
|
}
|
|
|
@@ -152,7 +144,7 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
}
|
|
|
} else {
|
|
|
getModel().setValue(PositionBillConstant.NUMBER_KEY, null);
|
|
|
- getView().getPageCache().put("codeRuleNumber", "");
|
|
|
+ getView().getPageCache().put(PositionBillConstant.PC_CODERULENUMBER, "");
|
|
|
getView().setEnable(Boolean.TRUE, PositionBillConstant.NUMBER_KEY);
|
|
|
}
|
|
|
}
|
|
|
@@ -161,10 +153,10 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
public void beforeClosed(BeforeClosedEvent event) {
|
|
|
super.beforeClosed(event);
|
|
|
|
|
|
- String isCancelOverFlag = getView().getPageCache().get("isclose");
|
|
|
+ String isCancelOverFlag = getView().getPageCache().get(PositionBillConstant.PC_ISCLOSE);
|
|
|
if (HRStringUtils.isNotEmpty(isCancelOverFlag) && Boolean.TRUE.toString().equals(isCancelOverFlag)) {
|
|
|
getModel().setDataChanged(false);
|
|
|
- getView().getPageCache().put("isclose", Boolean.FALSE.toString());
|
|
|
+ getView().getPageCache().put(PositionBillConstant.PC_ISCLOSE, Boolean.FALSE.toString());
|
|
|
} else {
|
|
|
boolean dataChanged = getModel().getDataChanged();
|
|
|
if (dataChanged) {
|
|
|
@@ -177,15 +169,15 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
String msg = "检测到您有更改内容,是否不保存直接退出?若不保存,将丢失这些更改。";
|
|
|
getView().showConfirm(msg, getModel().getChangeDesc(), options, ConfirmTypes.Save, confirmCallBacks, btnNameMaps);
|
|
|
} else {
|
|
|
- String codeRuleNumber = getView().getPageCache().get("codeRuleNumber");
|
|
|
- String notModifiable = getView().getPageCache().get("notModifiable");
|
|
|
+ String codeRuleNumber = getView().getPageCache().get(PositionBillConstant.PC_CODERULENUMBER);
|
|
|
+ String notModifiable = getView().getPageCache().get(PositionBillConstant.PC_NOTMODIFIABLE);
|
|
|
if (!StringUtils.isEmpty(codeRuleNumber) && !Boolean.TRUE.toString().equals(notModifiable)) {
|
|
|
- DynamicObject org = getModel().getDataEntity().getDynamicObject(PositionBillConstant.NCKD_ORG);
|
|
|
+ DynamicObject org = getModel().getDataEntity().getDynamicObject(PositionBillConstant.NCKD_ORG_KEY);
|
|
|
if (org == null) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- String saveResult = getView().getPageCache().get("saveResult");
|
|
|
+ String saveResult = getView().getPageCache().get(PositionBillConstant.PC_SAVERESULT);
|
|
|
if (!Boolean.TRUE.toString().equals(saveResult)) {
|
|
|
long orgId = org.getLong(PositionBillConstant.ID_KEY);
|
|
|
DynamicObject positionHrDy = PositionBillServiceHelper.getPositionHrDy(getModel().getDataEntity());
|
|
|
@@ -210,13 +202,14 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
// 设置上级岗位变更前的数据到页面缓存中
|
|
|
DynamicObject parentPosition = getModel().getDataEntity().getDynamicObject(PositionBillConstant.NCKD_PARENT);
|
|
|
if (parentPosition != null) {
|
|
|
- getView().getPageCache().put("beforeParentPositionId", parentPosition.getString(PositionBillConstant.ID_KEY));
|
|
|
+ getView().getPageCache().put(PositionBillConstant.PC_BEFOREPARENTPOSITIONID, parentPosition.getString(PositionBillConstant.ID_KEY));
|
|
|
}
|
|
|
|
|
|
- Object selectObject = getView().getFormShowParameter().getCustomParam("selectObject");
|
|
|
+ Object selectObject = getView().getFormShowParameter().getCustomParam(PositionBillConstant.CP_SELECTOBJECT);
|
|
|
if (selectObject != null) {
|
|
|
+ String lineSuffix = "_"+PositionBillConstant.ADD_TAG;
|
|
|
Map<String, Object> map = SerializationUtils.fromJsonString(selectObject.toString(), Map.class);
|
|
|
- Map<String, Object> noPrefixMap = map.entrySet().stream().collect(HashMap::new, (m, v) -> m.put((v.getKey()).replace("_"+PositionBillConstant.ADD_TAG, ""), v.getValue()), HashMap::putAll);
|
|
|
+ Map<String, Object> noPrefixMap = map.entrySet().stream().collect(HashMap::new, (m, v) -> m.put(PositionBillServiceHelper.getNoLineSuffixProp(v.getKey(), lineSuffix), v.getValue()), HashMap::putAll);
|
|
|
List<String> props = new ArrayList();
|
|
|
|
|
|
for(String prop : noPrefixMap.keySet()) {
|
|
|
@@ -248,7 +241,7 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
if (value != null) {
|
|
|
if (propertyType.equals(DynamicObject.class) && dynamicProperty instanceof BasedataProp) {
|
|
|
// 岗位特殊处理
|
|
|
- Object id = PositionBillConstant.NCKD_POSITION.equals(key) ? value : ((Map)value).get(PositionBillConstant.ID_KEY);
|
|
|
+ Object id = PositionBillConstant.NCKD_POSITION.equals(key) ? value : ((Map) value).get(PositionBillConstant.ID_KEY);
|
|
|
if (id != null && !HRStringUtils.equals(value.toString(), "0")) {
|
|
|
getModel().setValue(key, id);
|
|
|
}
|
|
|
@@ -256,11 +249,11 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
MulBasedataProp property = (MulBasedataProp) getModel().getDataEntityType().getProperty(key);
|
|
|
DynamicObjectCollection dynamicObjectCollection = new DynamicObjectCollection();
|
|
|
HRBaseServiceHelper serviceHelper = new HRBaseServiceHelper(property.getBaseEntityId());
|
|
|
- ((List)value).forEach((map) -> {
|
|
|
+ ((List) value).forEach((map) -> {
|
|
|
DynamicObject dy = new DynamicObject(property.getDynamicCollectionItemPropertyType());
|
|
|
- dy.set("fbasedataid_id", ((Map)map).get("fbasedataid_id"));
|
|
|
+ dy.set("fbasedataid_id", ((Map) map).get("fbasedataid_id"));
|
|
|
DynamicObject emptyDynamicObject = serviceHelper.generateEmptyDynamicObject();
|
|
|
- emptyDynamicObject.set(PositionBillConstant.ID_KEY, ((Map)map).get("fbasedataid_id"));
|
|
|
+ emptyDynamicObject.set(PositionBillConstant.ID_KEY, ((Map) map).get("fbasedataid_id"));
|
|
|
dy.set("fbasedataid", emptyDynamicObject);
|
|
|
dynamicObjectCollection.add(dy);
|
|
|
});
|
|
|
@@ -276,9 +269,21 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
@Override
|
|
|
public void propertyChanged(PropertyChangedArgs changedArgs) {
|
|
|
String fieldKey = changedArgs.getProperty().getName();
|
|
|
- if (PositionBillConstant.NCKD_ESTDATE.equals(fieldKey)) {
|
|
|
- setEstablishmentDateToBsed((Date)changedArgs.getChangeSet()[0].getNewValue());
|
|
|
+ boolean isGetNumber = true;
|
|
|
+ switch (fieldKey) {
|
|
|
+ case PositionBillConstant.NCKD_ESTDATE:
|
|
|
+ setEstablishmentDateToBsed((Date)changedArgs.getChangeSet()[0].getNewValue());
|
|
|
+ break;
|
|
|
+ case PositionBillConstant.NCKD_POSITION:
|
|
|
+ break;
|
|
|
+ case PositionBillConstant.NCKD_ORG_KEY:
|
|
|
+ PosBillEntryFastChgHelper.orgPropertyChanged(changedArgs, getView(), this);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (HRStringUtils.equals(Boolean.TRUE.toString(), getPageCache().get(PositionBillConstant.PC_PARAMSCHANGESETNUMBER)) && isGetNumber) {
|
|
|
+ propertyChangedGetNumber(fieldKey, changedArgs.getChangeSet()[0].getOldValue());
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -299,9 +304,35 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
super.confirmCallBack(event);
|
|
|
|
|
|
if (String.join("_", PositionBillConstant.CLOSE_OP, PositionBillConstant.ADD_TAG).equals(event.getCallBackId()) && event.getResult() != MessageBoxResult.Cancel) {
|
|
|
- recycleNumber();
|
|
|
- getView().getPageCache().put("isclose", Boolean.TRUE.toString());
|
|
|
+ String codeRuleNumber = getView().getPageCache().get(PositionBillConstant.PC_CODERULENUMBER);
|
|
|
+ if (!StringUtils.isEmpty(codeRuleNumber)) {
|
|
|
+ DynamicObject org = getModel().getDataEntity().getDynamicObject(PositionBillConstant.NCKD_ORG_KEY);
|
|
|
+ if (HRObjectUtils.isEmpty(org)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String saveResult = getView().getPageCache().get(PositionBillConstant.PC_SAVERESULT);
|
|
|
+ if (!Boolean.TRUE.toString().equals(saveResult)) {
|
|
|
+ long orgId = org.getLong(PositionBillConstant.ID_KEY);
|
|
|
+ DynamicObject positionHrDy = PositionBillServiceHelper.getPositionHrDy(getModel().getDataEntity());
|
|
|
+ CodeRuleServiceHelper.recycleNumber(PositionBillConstant.HBPM_POSITIONHR, positionHrDy, String.valueOf(orgId), codeRuleNumber);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ getView().getPageCache().put(PositionBillConstant.PC_ISCLOSE, Boolean.TRUE.toString());
|
|
|
getView().invokeOperation(PositionBillConstant.CLOSE_OP);
|
|
|
+ } else if (PositionBillConstant.CB_CHG_ORG.equals(event.getCallBackId())) {
|
|
|
+ if (event.getResult().getValue() == MessageBoxResult.Yes.getValue()) {
|
|
|
+ getView().getPageCache().put(PositionBillConstant.PC_MASTERORG, String.valueOf(getModel().getDataEntity().getLong(String.join(".", PositionBillConstant.NCKD_ORG_KEY, PositionBillConstant.ID_KEY))));
|
|
|
+ getModel().beginInit();
|
|
|
+ PosBillEntryFastChgHelper.cleanOrgBaseInfo(getModel().getDataEntity().getLong(String.join(".", PositionBillConstant.NCKD_ORG_KEY, PositionBillConstant.ID_KEY)), getView());
|
|
|
+ getModel().endInit();
|
|
|
+ } else {
|
|
|
+ Long masterOrgId = Long.valueOf(getPageCache().get(PositionBillConstant.PC_MASTERORG));
|
|
|
+ getModel().beginInit();
|
|
|
+ getModel().setValue(PositionBillConstant.NCKD_ORG_KEY, masterOrgId.equals(0L) ? null : masterOrgId);
|
|
|
+ getView().updateView(PositionBillConstant.NCKD_ORG_KEY);
|
|
|
+ getModel().endInit();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -315,7 +346,7 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
IPageCache parentPageCache = getView().getParentView().getPageCache();
|
|
|
String operateKey = eventArgs.getOperateKey();
|
|
|
if (HRStringUtils.equals(operateKey, PositionBillConstant.SAVE_AND_NEW_OP) || HRStringUtils.equals(operateKey, PositionBillConstant.SAVE_OP)) {
|
|
|
- String beforeParentPositionId = getView().getPageCache().get("beforeParentPositionId");
|
|
|
+ String beforeParentPositionId = getView().getPageCache().get(PositionBillConstant.PC_BEFOREPARENTPOSITIONID);
|
|
|
String addPositionParentChange = Boolean.FALSE.toString();
|
|
|
DynamicObject parentPosition = getModel().getDataEntity().getDynamicObject(PositionBillConstant.NCKD_PARENT);
|
|
|
if (parentPosition != null) {
|
|
|
@@ -323,35 +354,57 @@ public class PosBillEntryAddFormPlugin extends AbstractFormPlugin {
|
|
|
if (!HRStringUtils.equals(beforeParentPositionId, afterParentPositionId)) {
|
|
|
addPositionParentChange = Boolean.TRUE.toString();
|
|
|
}
|
|
|
- parentPageCache.put("addPositionParentChange", addPositionParentChange);
|
|
|
- parentPageCache.put("parentId", afterParentPositionId);
|
|
|
+ parentPageCache.put(PositionBillConstant.PC_ADDPOSITIONPARENTCHANGE, addPositionParentChange);
|
|
|
+ parentPageCache.put(PositionBillConstant.PC_PARENTID, afterParentPositionId);
|
|
|
}
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
DynamicObject dataEntity = getModel().getDataEntity();
|
|
|
- map.put("positionId", dataEntity.getString(String.join("_", PositionBillConstant.NCKD_POSITION, PositionBillConstant.ID_KEY)));
|
|
|
- map.put("name", dataEntity.getString(PositionBillConstant.NAME_KEY));
|
|
|
- map.put("id", dataEntity.getString(PositionBillConstant.ID_KEY));
|
|
|
- getView().getPageCache().put("saveResult", Boolean.TRUE.toString());
|
|
|
+ map.put(PositionBillConstant.CP_POSITIONID, dataEntity.getString(String.join("_", PositionBillConstant.NCKD_POSITION, PositionBillConstant.ID_KEY)));
|
|
|
+ map.put(PositionBillConstant.NAME_KEY, dataEntity.getString(PositionBillConstant.NAME_KEY));
|
|
|
+ map.put(PositionBillConstant.ID_KEY, dataEntity.getString(PositionBillConstant.ID_KEY));
|
|
|
+ getView().getPageCache().put(PositionBillConstant.PC_SAVERESULT, Boolean.TRUE.toString());
|
|
|
getView().returnDataToParent(map);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void recycleNumber() {
|
|
|
- String codeRuleNumber = getView().getPageCache().get(CODERULE_NUMBER);
|
|
|
- if (!StringUtils.isEmpty(codeRuleNumber)) {
|
|
|
- DynamicObject org = getModel().getDataEntity().getDynamicObject(PositionBillConstant.NCKD_ORG);
|
|
|
- if (HRObjectUtils.isEmpty(org)) {
|
|
|
- return;
|
|
|
- }
|
|
|
- String saveResult = getView().getPageCache().get(SAVE_RESULT);
|
|
|
- if (!Boolean.TRUE.toString().equals(saveResult)) {
|
|
|
- long orgId = org.getLong(PositionBillConstant.ID_KEY);
|
|
|
- DynamicObject positionHrDy = PositionBillServiceHelper.getPositionHrDy(getModel().getDataEntity());
|
|
|
- CodeRuleServiceHelper.recycleNumber(PositionBillConstant.HBPM_POSITIONHR, positionHrDy, String.valueOf(orgId), codeRuleNumber);
|
|
|
+ private void propertyChangedGetNumber(String fieldKey, Object oldValue) {
|
|
|
+ switch (fieldKey) {// 549
|
|
|
+ case PositionBillConstant.NCKD_POSITION:
|
|
|
+ String codeRuleNumber = getView().getPageCache().get(PositionBillConstant.PC_CODERULENUMBER);
|
|
|
+ if (!StringUtils.isEmpty(codeRuleNumber)) {
|
|
|
+ DynamicObject org = getModel().getDataEntity().getDynamicObject(PositionBillConstant.NCKD_ORG_KEY);
|
|
|
+ if (org == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ long orgId = org.getLong(PositionBillConstant.ID_KEY);
|
|
|
+ recycleNumber(orgId, codeRuleNumber, Boolean.TRUE, fieldKey, oldValue);
|
|
|
+ }
|
|
|
+
|
|
|
+ setPositionNumber(PositionBillServiceHelper.getPositionHrDy(getModel().getDataEntity()), false);
|
|
|
+ default:
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void recycleNumber(Long orgId, String codeRuleNumber, Boolean paramsChg, String numberParams, Object numberParamsOb) {
|
|
|
+ DynamicObject positionHrDy = PositionBillServiceHelper.getPositionHrDy(getModel().getDataEntity());
|
|
|
+ if (paramsChg) {
|
|
|
+ if (positionHrDy.get(numberParams) instanceof DynamicObject && numberParamsOb instanceof Long) {
|
|
|
+ String baseName = positionHrDy.getDynamicObject(numberParams).getDataEntityType().getName();
|
|
|
+ HRBaseServiceHelper hrBaseServiceHelper = new HRBaseServiceHelper(baseName);
|
|
|
+ DynamicObject paramDy = hrBaseServiceHelper.loadSingle(numberParamsOb);
|
|
|
+ positionHrDy.set(numberParams, paramDy);
|
|
|
+ } else {
|
|
|
+ positionHrDy.set(numberParams, numberParamsOb);
|
|
|
}
|
|
|
}
|
|
|
- getView().getPageCache().put("isclose", Boolean.TRUE.toString());
|
|
|
- getView().invokeOperation(PositionBillConstant.CLOSE_OP);
|
|
|
+
|
|
|
+ String number = getModel().getDataEntity().getString(PositionBillConstant.NUMBER_KEY);
|
|
|
+ if (HRStringUtils.equals(number, codeRuleNumber)) {
|
|
|
+ CodeRuleServiceHelper.recycleNumber(PositionBillConstant.HBPM_POSITIONHR, positionHrDy, String.valueOf(orgId), codeRuleNumber);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|