Commit 16a92500 by 乔延琦

Merge branch 'develop-fengjiansheng' into 'develop'

feat(@gms/gms-plugin-billexpend): 增加主子表数据比较公式

See merge request GFP/RBC/rbc-frontend!45
parents 9dab5efb 90eee2bc
...@@ -3917,6 +3917,22 @@ export default { ...@@ -3917,6 +3917,22 @@ export default {
"extends": { "extends": {
"info": { "info": {
"param": [], "param": [],
"name": "EqualsMasterAndSubField",
"description": "主子表字段比较公式 e.g. EqualsMasterAndSubField(BXD_H.BXJEXX,BXD_I1.BXJEX1)",
"title": "主子表字段比较公式",
"return": 1
}
},
"description": "",
"title": "主子表字段比较公式",
"value": "EqualsMasterAndSubField"
},
{
"discard": false,
"path": "通用",
"extends": {
"info": {
"param": [],
"name": "CheckReferenceRelation", "name": "CheckReferenceRelation",
"description": "校验单据是否被引用 e.g. CheckReferenceRelation('REF_FLAG','1','当前单据已被引用,暂时无法删除。')", "description": "校验单据是否被引用 e.g. CheckReferenceRelation('REF_FLAG','1','当前单据已被引用,暂时无法删除。')",
"title": "校验单据是否被引用", "title": "校验单据是否被引用",
......
import _ from 'lodash'
import util from './FormulaConstants'
/**
* 主子表字段比较公式
* 暂时仅实现 主表基础数据子表基础数据的比较
* @author fengjiansheng
* @date 2022-02-16
*/
export default {
formulaName: "EqualsMasterAndSubField",
execute: function () {
if (arguments && arguments[0] && arguments[0].length === 3) {
let context = arguments[1]
let compType = util.getFormulaParamValue(arguments[0][0])
let masterField = arguments[0][1]
if (compType !== 1) {
return true
}
masterField = util.getFormulaParamValue(masterField).id
let tempSubTableObject = context.getTableType(arguments[0][2].FieldTableCode);
if (!_.isEqual(tempSubTableObject.type, "sub")) {
return false
}
let allSubData = context.getAllSubData();
if (!allSubData || _.isEmpty(allSubData)) {
return true
}
let tempAllSubData = context.getAllSubData()[tempSubTableObject.title];
if (!tempAllSubData || _.isEmpty(tempAllSubData)) {
return true
}
if (tempAllSubData instanceof Array) {
for (const tempSubData of tempAllSubData) {
let tempData = tempSubData.getValue(arguments[0][2].FieldCode).id
if (masterField !== tempData) {
return false
}
}
}
return true
} else {
console.error(this.formulaName + _.ERROR_MSG.PARAM_NUM)
return false
}
},
getResultType: function () {
return util.resultType.boolean
}
}
...@@ -174,6 +174,7 @@ import LoginUserIsContianRole from "@/formula/SubTableJointString" ...@@ -174,6 +174,7 @@ import LoginUserIsContianRole from "@/formula/SubTableJointString"
import SubTableSetBaseData from "@/formula/SubTableSetBaseData" import SubTableSetBaseData from "@/formula/SubTableSetBaseData"
import UpdateBillReferenceRelationshipFunction from "./formula/UpdateBillReferenceRelationshipFunction"; import UpdateBillReferenceRelationshipFunction from "./formula/UpdateBillReferenceRelationshipFunction";
import AmountComp from "./formula/AmountComp"; import AmountComp from "./formula/AmountComp";
import EqualsMasterAndSubField from "./formula/EqualsMasterAndSubField";
export default { export default {
actions: { actions: {
updateFieldAction, updateFieldAction,
...@@ -352,6 +353,7 @@ export default { ...@@ -352,6 +353,7 @@ export default {
ClearImageInfoRefState, ClearImageInfoRefState,
CheckReferenceRelation, CheckReferenceRelation,
AmountComp, AmountComp,
EqualsMasterAndSubField,
}, },
routes : { routes : {
showPrint: { showPrint: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment