diff --git a/src/main/java/com/yem/wm/sys/opplugin/op/NewVersionOp.java b/src/main/java/com/yem/wm/sys/opplugin/op/NewVersionOp.java index b22d8f10..74ffc2ff 100644 --- a/src/main/java/com/yem/wm/sys/opplugin/op/NewVersionOp.java +++ b/src/main/java/com/yem/wm/sys/opplugin/op/NewVersionOp.java @@ -443,15 +443,26 @@ public class NewVersionOp extends AbstractOperationServicePlugIn { * @param operationKey */ private void effectNewVersion(DynamicObject dataEntity, String operationKey) { + Map getsignbackerid = new HashMap<>(); DynamicObject tplObj = (DynamicObject) validateMsg.get("tplObj"); String entityNumber = dataEntity.getDynamicObjectType().getName(); boolean yem_changebill = entityNumber.equals(tplObj.getString("yem_changebill.number")); //检测是否是方案配置的生效操作 String effectOption = tplObj.getString("yem_effectoption"); if (operationKey.equals(effectOption) && yem_changebill) { + if (entityNumber.equals("yem_es_xsalesorder")) { + getsignbackerid = getsignbackerid(tplObj, dataEntity); + } NewVersionHelper.effectChange(tplObj, dataEntity); if (entityNumber.equals("yem_es_xsalesorder")) { + //同步变更单附件至源单 effectVersion(dataEntity, ""); + //更新回签人至源单 + if (getsignbackerid.size() > 0) { + DynamicObject oldDataEntity = BusinessDataServiceHelper.loadSingle(getsignbackerid.get("masterid"), "yem_es_salesorder"); + oldDataEntity.set("yem_signbackerid", getsignbackerid.get("yem_signbackerid")); + SaveServiceHelper.update(oldDataEntity); + } } } } @@ -499,4 +510,19 @@ public class NewVersionOp extends AbstractOperationServicePlugIn { } } } + + private Map getsignbackerid(DynamicObject tplObj, DynamicObject dataEntity) { + Map map = new HashMap<>(); + String entityNumber = dataEntity.getDynamicObjectType().getName(); + String yem_requirebill = tplObj.getString("yem_requirebill.number"); + String yem_changebill = tplObj.getString("yem_changebill.number"); + dataEntity = BusinessDataServiceHelper.loadSingle(dataEntity.getPkValue(), yem_changebill); + long masterid = dataEntity.getLong("yem_masterid"); + if (masterid > 0 && entityNumber.equals(yem_changebill)) { + DynamicObject oldDataEntity = BusinessDataServiceHelper.loadSingle(masterid, yem_requirebill); + map.put("yem_signbackerid", oldDataEntity.getDynamicObject("yem_signbackerid")); + map.put("masterid", masterid); + } + return map; + } }