Commit 336d927c by 焦凯

提交代码-合同执行分析

parent 13f5ffc1
......@@ -4,6 +4,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.xyst.dinas.biz.internal.scene.XystDinasCommonAllScene;
import com.xyst.dinas.biz.internal.scene.XystDinasCommonSubAllScene;
@Configuration
public class SceneConfiguration {
......@@ -12,4 +13,9 @@ public class SceneConfiguration {
public XystDinasCommonAllScene createXystDinasCommonAllScene(){
return new XystDinasCommonAllScene();
}
@Bean("com.xyst.dinas.biz.scene.XystDinasCommonSubAllScene")
public XystDinasCommonSubAllScene createXystDinasCommonSubAllScene(){
return new XystDinasCommonSubAllScene();
}
}
package com.xyst.dinas.biz.internal.scene;
import java.util.Map;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Predicate;
import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.amino.core.Amino;
import com.beecode.bap.staff.BapContext;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.common.internal.scene.FollowerQueryScene;
import com.beecode.inz.query.exception.SceneExecuteException;
import com.beecode.inz.query.scene.SceneExecuteContext;
import com.xyst.dinas.biz.enumeration.OrganizationTypeEnum;
public class XystDinasCommonSubAllScene extends FollowerQueryScene {
@Autowired
public BapContext bapContext;
@Override
public void execute(SceneExecuteContext context) throws SceneExecuteException {
KObject currentRegionalCompany = this.getCurrentLoginRegionalCompany();
if(null == currentRegionalCompany || currentRegionalCompany.isNull()){
throw new SceneExecuteException("无法获取当前登录组织机构");
}
CriteriaBuilder builder = context.getCriteriaBuilder();
Predicate p0 = builder.equal(context.getRoot().get("master").get("regionalCompany").get("id"), currentRegionalCompany.getUuid("id"));
if(OrganizationTypeEnum.REGIONAL_COMPANY.name().equals(currentRegionalCompany.getString("type"))) {
context.getCriteriaQuery().and(p0);
}
}
/**
* 获取当前登录的区域公司
* @return
*/
public KObject getCurrentLoginRegionalCompany() {
Map<String, String> map = bapContext.getCurrentUserDatas();
String currentRegionalCompany = map.get("currentRegionalCompany");
KClass kClass = Amino.getApplicationMetadataContext().getBean("com.xyst.dinas.biz.datamodel.xystOrganization",
KClass.class);
KObject regionalCompany = JSONObjectUtils.toObject(currentRegionalCompany, kClass);
return regionalCompany;
}
}
<model>
<header>
<type>inz.query.Query</type>
<package>com.xyst.dinas.contract.query</package>
<name>ContractDetail</name>
<title>合同详情子表</title>
<tags></tags>
<description></description>
</header>
<content>
<customQuery id='58b626c6-c457-4bb3-81e4-d09f11ecd553'>
<kclass>com.xyst.dinas.contract.datamodel.Contract$contractDetail</kclass>
<innerScene title='全部'>
<id>cfd478b1-7e2e-41c5-bb5e-f6500c101341</id>
<javaImplement>com.beecode.inz.common.scene.CommonSubAllScene</javaImplement>
<defaultExecute></defaultExecute>
<hide></hide>
</innerScene>
<innerScene title='权限过滤'>
<id>18b7edbd-a6a1-4fa6-99c1-8f7e72adb9b6</id>
<javaImplement>com.xyst.dinas.biz.scene.XystDinasCommonSubAllScene</javaImplement>
<defaultExecute>true</defaultExecute>
<hide>true</hide>
</innerScene>
<field title='id'>
<name>id</name>
<type>uuid</type>
<ref>
<type></type>
<name></name>
</ref>
<description></description>
</field>
<field title='项目ID'>
<name>master.project.id</name>
<type>uuid</type>
<ref>
<type></type>
<name>com.xyst.dinas.project.datamodel.ProjectFiled</name>
</ref>
<description></description>
</field>
<field title='项目编号'>
<name>master.project.projectNum</name>
<type>string</type>
<ref>
<type></type>
<name></name>
</ref>
<description></description>
</field>
<field title='项目名称'>
<name>master.project.projectName</name>
<type>string</type>
<ref>
<type></type>
<name></name>
</ref>
<description></description>
</field>
<field title='区域公司ID'>
<name>master.regionalCompany.id</name>
<type>uuid</type>
<ref>
<type></type>
<name>com.xyst.dinas.biz.datamodel.xystOrganization</name>
</ref>
<description></description>
</field>
<field title='区域公司名称'>
<name>master.regionalCompany.name</name>
<type>string</type>
<ref>
<type></type>
<name></name>
</ref>
<description></description>
</field>
<field title='购砂单位'>
<name>master.purchaseSandUnit.id</name>
<type>uuid</type>
<ref>
<type></type>
<name>com.xyst.dinas.project.datamodel.PurchaseSandCompany</name>
</ref>
<description></description>
</field>
<field title='购砂单位名称'>
<name>master.purchaseSandUnit.name</name>
<type>string</type>
<description></description>
</field>
<field title='场站id'>
<name>master.station.id</name>
<type>uuid</type>
<ref>
<type></type>
<name>com.xyst.dinas.biz.datamodel.Station</name>
</ref>
<description></description>
</field>
<field title='场站名称'>
<name>master.station.stationName</name>
<type>string</type>
<ref>
<type></type>
<name>com.xyst.dinas.biz.datamodel.Station</name>
</ref>
<description></description>
</field>
<field title='合同id'>
<name>master.id</name>
<type>uuid</type>
<description></description>
</field>
<field title='合同名称'>
<name>master.contractName</name>
<type>string</type>
<description></description>
</field>
<field title='合同编号'>
<name>master.contractCode</name>
<type>string</type>
<description></description>
</field>
<field title='合同状态'>
<name>master.contractState</name>
<type>string</type>
<description></description>
</field>
<field title='审批状态'>
<name>master.approveState</name>
<type>string</type>
<description></description>
</field>
<field title='合同签订联系人'>
<name>master.contacts</name>
<type>string</type>
<description></description>
</field>
<field title='联系方式'>
<name>master.phoneNumber</name>
<type>string</type>
<description></description>
</field>
<field title='合同签订时间'>
<name>master.signDate</name>
<type>datetime</type>
<description></description>
</field>
<field title='合同开始时间'>
<name>master.startDate</name>
<type>datetime</type>
<description></description>
</field>
<field title='合同结束时间'>
<name>master.endDate</name>
<type>datetime</type>
<description></description>
</field>
<field title='砂石种类id'>
<name>dinasType.id</name>
<type>uuid</type>
<ref>
<type></type>
<name>com.xyst.dinas.biz.datamodel.DinasType</name>
</ref>
<description></description>
</field>
<field title='砂石种类名称'>
<name>dinasType.dinasTypeName</name>
<type>string</type>
<ref>
<type></type>
<name>com.xyst.dinas.biz.datamodel.DinasType</name>
</ref>
<description></description>
</field>
<field title='采购量'>
<name>purchaseAmount</name>
<type>fixnum</type>
<description></description>
</field>
<field title='砂石余量'>
<name>dinasAmount</name>
<type>fixnum</type>
<description></description>
</field>
<field title='单价'>
<name>price</name>
<type>fixnum</type>
<description></description>
</field>
<field title='总价'>
<name>amount</name>
<type>fixnum</type>
<description></description>
</field>
<field title='创建时间'>
<name>master.createTime</name>
<type>datetime</type>
<ref>
<type></type>
<name></name>
</ref>
<description></description>
</field>
<field title='创建人'>
<name>master.creator.name</name>
<type>string</type>
<ref>
<type></type>
<name></name>
</ref>
<description></description>
</field>
<field title='修改时间'>
<name>master.modifyTime</name>
<type>datetime</type>
<ref>
<type></type>
<name></name>
</ref>
<description></description>
</field>
<field title='修改人'>
<name>master.modifier.name</name>
<type>string</type>
<ref>
<type></type>
<name></name>
</ref>
<description></description>
</field>
<field title='废弃'>
<name>master.discard</name>
<type>boolean</type>
<ref>
<type></type>
<name></name>
</ref>
<description></description>
</field>
</customQuery>
</content>
</model>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/inz-query">
<specification>1.0</specification>
<id>58b626c6-c457-4bb3-81e4-d09f11ecd553</id>
<name>com.xyst.dinas.contract.query.ContractDetail</name>
<title>合同详情子表</title>
<define>inz.query.Query</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.contract.datamodel.Contract$contractDetail</dependency>
<content>
<m:query>
<m:type>com.xyst.dinas.contract.datamodel.Contract$contractDetail</m:type>
<m:dataProcessor></m:dataProcessor>
<m:authorityItem></m:authorityItem>
<m:innerScenes>
<m:innerScene>
<m:id>cfd478b1-7e2e-41c5-bb5e-f6500c101341</m:id>
<m:title>全部</m:title>
<m:javaImplement>com.beecode.inz.common.scene.CommonSubAllScene</m:javaImplement>
<m:defaultExecute></m:defaultExecute>
<m:hide></m:hide>
</m:innerScene>
<m:innerScene>
<m:id>18b7edbd-a6a1-4fa6-99c1-8f7e72adb9b6</m:id>
<m:title>权限过滤</m:title>
<m:javaImplement>com.xyst.dinas.biz.scene.XystDinasCommonSubAllScene</m:javaImplement>
<m:defaultExecute>true</m:defaultExecute>
<m:hide>true</m:hide>
</m:innerScene>
</m:innerScenes>
<m:fields>
<m:field>
<m:name>id</m:name>
<m:title>id</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.project.id</m:name>
<m:title>项目ID</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name>com.xyst.dinas.project.datamodel.ProjectFiled</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.project.projectNum</m:name>
<m:title>项目编号</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.project.projectName</m:name>
<m:title>项目名称</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.regionalCompany.id</m:name>
<m:title>区域公司ID</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.xystOrganization</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.regionalCompany.name</m:name>
<m:title>区域公司名称</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.purchaseSandUnit.id</m:name>
<m:title>购砂单位</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name>com.xyst.dinas.project.datamodel.PurchaseSandCompany</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.purchaseSandUnit.name</m:name>
<m:title>购砂单位名称</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.station.id</m:name>
<m:title>场站id</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.Station</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.station.stationName</m:name>
<m:title>场站名称</m:title>
<m:type>string</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.Station</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.id</m:name>
<m:title>合同id</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.contractName</m:name>
<m:title>合同名称</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.contractCode</m:name>
<m:title>合同编号</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.contractState</m:name>
<m:title>合同状态</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.approveState</m:name>
<m:title>审批状态</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.contacts</m:name>
<m:title>合同签订联系人</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.phoneNumber</m:name>
<m:title>联系方式</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.signDate</m:name>
<m:title>合同签订时间</m:title>
<m:type>datetime</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.startDate</m:name>
<m:title>合同开始时间</m:title>
<m:type>datetime</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.endDate</m:name>
<m:title>合同结束时间</m:title>
<m:type>datetime</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>dinasType.id</m:name>
<m:title>砂石种类id</m:title>
<m:type>uuid</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.DinasType</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>dinasType.dinasTypeName</m:name>
<m:title>砂石种类名称</m:title>
<m:type>string</m:type>
<m:ref>
<m:name>com.xyst.dinas.biz.datamodel.DinasType</m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>purchaseAmount</m:name>
<m:title>采购量</m:title>
<m:type>fixnum</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>dinasAmount</m:name>
<m:title>砂石余量</m:title>
<m:type>fixnum</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>price</m:name>
<m:title>单价</m:title>
<m:type>fixnum</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>amount</m:name>
<m:title>总价</m:title>
<m:type>fixnum</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.createTime</m:name>
<m:title>创建时间</m:title>
<m:type>datetime</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.creator.name</m:name>
<m:title>创建人</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.modifyTime</m:name>
<m:title>修改时间</m:title>
<m:type>datetime</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.modifier.name</m:name>
<m:title>修改人</m:title>
<m:type>string</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>master.discard</m:name>
<m:title>废弃</m:title>
<m:type>boolean</m:type>
<m:ref>
<m:name></m:name>
<m:type></m:type>
</m:ref>
<m:desc></m:desc>
</m:field>
</m:fields>
</m:query>
</content>
</metadata>
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