По мере того как потребность в цифровой трансформации на предприятиях растет, платформы low-code привлекают все больше внимания как метод быстрой разработки и развертывания бизнес-приложений. Доменно-ориентированное проектирование (DDD) — это архитектурный стиль программного обеспечения, предназначенный для лучшего удовлетворения сложных потребностей бизнеса. Объединение этих двух технологий позволяет создать гибкие и удобные в обслуживании приложения.
В этом приложении мы воспользуемся гибкостью платформ low-code и архитектурными преимуществами DDD для создания устойчивого решения.
В этой статье анализ начнем с одного из наиболее распространенных примеров.
Построение модели в основном включает в себя выполнение или сопоставление отношений структурированных данных (1:1, 1:N, N:N) на основе таблиц базы данных. В примере для демонстрации используется одна настольная модель. В то же время информация об интерфейсе, абстрагированная на уровне библиотеки ресурсов, регистрируется в модели предметной области DDD посредством аннотаций, что делает операции уровня персистентности видимыми и доступными. Конкретные методы работы следующие:
Библиотека ресурсов — это особая форма репозитория модели предметной области, которая в основном управляет ресурсами базы данных и сопоставленными библиотеками классов DAO и соответствующими библиотеками операций интерфейса.
После завершения импорта подключения к данным библиотечные таблицы и бизнес-представления могут быть получены динамически. После завершения импорта библиотечных таблиц библиотека ресурсов завершает соответствующую работу по созданию кода.
Построение кода в основном основано на установленной модели персистентности, а соответствующая структура кода строится в соответствии с библиотекой управления шаблонами.
Добавьте комментарий к изображению, не более 140 слов (по желанию)
После завершения сборки сгенерированный код можно просмотреть в Интернете.
После завершения построения кода соответствующая работа по компиляции кода может быть завершена автоматически или вручную. После завершения компиляции соответствующая информация библиотеки классов будет синхронизирована с библиотекой модели предметной области, что позволяет модели предметной области построить соответствующую совокупную прикладную систему. на основе шаблона.
Соответствующие примеры кода приведены ниже:
Интерфейс модели анемии (I**Класс)
package com.ds.test.repository.leaveapplication.module;
import com.ds.enums.db.*;
import com.ds.enums.*;
import com.ds.esd.tool.ui.enums.*;
import java.util.*;
import com.ds.esd.custom.form.enums.*;
import com.ds.esd.custom.nav.enums.*;
import com.ds.esd.custom.grid.enums.*;
import com.ds.esd.custom.gallery.enums.*;
import com.ds.test.repository.leaveapplication.module.*;
import com.ds.test.repository.leaveapplication.service.*;
@Dbtable (configkeke = "fdt", cname = "одиночная таблица относится к утверждению", PrimaryKey = "uuid", TableName = "LeaveApplication")
@RepositoryAnnotation
@Entity
public interface ILeaveapplication {
@Uid
@DBField(cnName="первичный ключ",length=36,dbFieldName="uuid")
public String getUuid();
public void setUuid(String uuid);
@CustomAnnotation(caption="Идентификатор студента")
@DBField(cnName="Номер студента",length=10,dbFieldName="studentid") public String getStudentid();
public void setStudentid(String studentid);
@CustomAnnotation(caption="Имя")
@DBField(cnName="Имя",length=50,dbFieldName="studentname") public String getStudentname();
public void setStudentname(String studentname);
@CustomAnnotation(caption="Профессионал/Направление")
@DBField(cnName="Основное/Направление",length=50,dbFieldName="Основное")
public String getMajor();
public void setMajor(String major);
@CustomAnnotation(caption="Репетитор")
@DBField(cnName="Tutor",length=50,dbFieldName="советник")
public String getAdvisor();
public void setAdvisor(String advisor);
@CustomAnnotation(caption="дата выхода")
@ComboInputAnnotation(inputType=ComboInputType.date)
@FieldAnnotation(componentType=ComponentType.ComboInput)
@Dbfield (cnname = «Дата отпуска», length = 0, dbtype = coltype.date, dbfieldname = "Leavedate") public Date getLeavedate();
public void setLeavedate(Date leavedate);
@CustomAnnotation(caption="время выхода")
@ComboInputAnnotation(inputType=ComboInputType.time)
@FieldAnnotation(componentType=ComponentType.ComboInput)
@DBField(cnName="время отпуска",length=0,dbType=ColType.TIME,dbFieldName="время отпуска")
public Date getLeavetime();
public void setLeavetime(Date leavetime);
@CustomAnnotation(caption="Покинуть курс")
@DBField(cnName="Покинуть курс",length=50,dbFieldName="имякурса")
public String getCoursename();
public void setCoursename(String coursename);
@CustomAnnotation(caption="Учитель")
@DBField(cnName="учитель",length=50,dbFieldName="инструктор")
public String getInstructor();
public void setInstructor(String instructor);
@CustomAnnotation(caption="Причина отпуска")
@FieldAnnotation(componentType=ComponentType.MultiLines,colSpan=-1,manualHeight=200)
@DBField(cnName="причина запроса отпуска",length=0,dbType=ColType.TEXT,dbFieldName="причина")
public String getReason();
public void setReason(String reason);
@CustomAnnotation(caption="Статус утверждения")
@DBField(cnName="Состояние утверждения",length=10,dbFieldName="статус утверждения")
public String getApprovalstatus();
public void setApprovalstatus(String approvalstatus);
@CustomAnnotation(caption="Утверждающий")
@DBField(cnName="Approvalperson",length=50,dbFieldName="approvalperson")
public String getApprovalperson();
public void setApprovalperson(String approvalperson);
@CustomAnnotation(caption="Единица утверждения")
@DBField(cnName="Единица утверждения",length=50,dbFieldName="approvalunit")
public String getApprovalunit();
public void setApprovalunit(String approvalunit);
@CustomAnnotation(caption="userId")
@DBField(cnName="userId",dbFieldName="userid")
public String getUserid();
public void setUserid(String userid);
}
Отображение данных (Entity Beans)
package com.ds.test.repository.leaveapplication.module;
import com.ds.enums.db.*;
import com.ds.enums.*;
import com.ds.esd.tool.ui.enums.*;
import java.util.*;
import com.ds.esd.custom.api.annotation.*;
import com.ds.esd.annotation.*;
import com.ds.esd.custom.enums.*;
import com.ds.esd.custom.api.enums.*;
import com.ds.esd.custom.titleblock.enums.*;
import com.ds.esd.custom.tree.enums.*;
import com.ds.esd.custom.form.enums.*;
import com.ds.esd.custom.nav.enums.*;
import com.ds.esd.custom.grid.enums.*;
import com.ds.esd.custom.gallery.enums.*;
import com.ds.test.repository.leaveapplication.module.*;
import com.ds.test.repository.leaveapplication.service.*;
@Dbtable (configkeke = "fdt", cname = "одиночная таблица относится к утверждению", PrimaryKey = "uuid", TableName = "LeaveApplication")
@RepositoryAnnotation
@Entity
public class Leaveapplication {
@Uid
@DBField(cnName="первичный ключ",length=36,dbFieldName="uuid")
public String uuid;
@CustomAnnotation(caption="Идентификатор студента")
@DBField(cnName="Номер студента",length=10,dbFieldName="studentid") public String studentid;
@CustomAnnotation(caption="Имя")
@DBField(cnName="Имя",length=50,dbFieldName="studentname") public String studentname;
@CustomAnnotation(caption="Профессионал/Направление")
@DBField(cnName="Основное/Направление",length=50,dbFieldName="Основное")
public String major;
@CustomAnnotation(caption="Репетитор")
@DBField(cnName="Tutor",length=50,dbFieldName="советник")
public String advisor;
@CustomAnnotation(caption="дата выхода")
@ComboInputAnnotation(inputType=ComboInputType.date)
@FieldAnnotation(componentType=ComponentType.ComboInput)
@Dbfield (cnname = «Дата отпуска», length = 0, dbtype = coltype.date, dbfieldname = "Leavedate") public Date leavedate;
@CustomAnnotation(caption="время выхода")
@ComboInputAnnotation(inputType=ComboInputType.time)
@FieldAnnotation(componentType=ComponentType.ComboInput)
@DBField(cnName="время отпуска",length=0,dbType=ColType.TIME,dbFieldName="время отпуска")
public Date leavetime;
@CustomAnnotation(caption="Покинуть курс")
@DBField(cnName="Покинуть курс",length=50,dbFieldName="имякурса")
public String coursename;
@CustomAnnotation(caption="Учитель")
@DBField(cnName="учитель",length=50,dbFieldName="инструктор")
public String instructor;
@CustomAnnotation(caption="Причина отпуска")
@FieldAnnotation(componentType=ComponentType.MultiLines,colSpan=-1,manualHeight=200)
@DBField(cnName="причина запроса отпуска",length=0,dbType=ColType.TEXT,dbFieldName="причина")
public String reason;
@CustomAnnotation(caption="Статус утверждения")
@DBField(cnName="Состояние утверждения",length=10,dbFieldName="статус утверждения")
public String approvalstatus;
@CustomAnnotation(caption="Утверждающий")
@DBField(cnName="Approvalperson",length=50,dbFieldName="approvalperson")
public String approvalperson;
@CustomAnnotation(caption="Единица утверждения")
@DBField(cnName="Единица утверждения",length=50,dbFieldName="approvalunit")
public String approvalunit;
@CustomAnnotation(caption="activityHist")
@DBField(cnName="activityHist",dbFieldName="activityhistoryid")
public String activityhistoryid;
@CustomAnnotation(caption="activityInst")
@DBField(cnName="activityInst",dbFieldName="activityinstid")
public String activityinstid;
@CustomAnnotation(caption="userId")
@DBField(cnName="userId",dbFieldName="userid")
public String userid;
@CustomAnnotation(caption="processInstI")
@DBField(cnName="processInstI",dbFieldName="processinstid")
public String processinstid
}
Интерфейс данных (определение)
package com.ds.test.repository.leaveapplication.service;
import com.ds.enums.db.*;
import com.ds.enums.*;
import com.ds.esd.tool.ui.enums.*;
import java.util.*;
import com.ds.esd.custom.tree.enums.*;
import com.ds.esd.custom.form.enums.*;
import com.ds.esd.custom.nav.enums.*;
import com.ds.esd.custom.grid.enums.*;
import com.ds.esd.custom.gallery.enums.*;
import com.ds.test.repository.leaveapplication.module.*;
import com.ds.test.repository.leaveapplication.service.*;
@Aggregation(type = AggregationType.aggregationEntity,
entityClass=Leaveapplication.class,rootClass= LeaveapplicationService.class)
public interface LeaveapplicationService{
@ModuleAnnotation(moduleViewType = ModuleViewType.GridConfig)
@APIEventAnnotation(bindMenu = {CustomMenuItem.reload}, autoRun = true, customRequestData = RequestPathEnum.ctx)
public List<Leaveapplication> findAll()throws JDSException;
public List<Leaveapplication> findByWhere(String where)throws JDSException;
@APIEventAnnotation(bindMenu = {CustomMenuItem.search})
public List<Leaveapplication> find(Leaveapplication leaveapplication)throws JDSException;
@ModuleAnnotation(moduleViewType = ModuleViewType.FormConfig)
@APIEventAnnotation(bindFormEvent = CustomFormEvent.formLoad,
bindGridEvent = {CustomGridEvent.editor}, autoRun = true,
customRequestData = RequestPathEnum.ctx, customResponseData = ResponsePathEnum.form)
public Leaveapplication getLeaveapplicationInfo(String uuid) throws JDSException;
@APIEventAnnotation(bindMenu = {CustomMenuItem.save}, callback = {CustomCallBack.ReloadParent, CustomCallBack.Close})
public Leaveapplication update( Leaveapplication leaveapplication) throws JDSException ;
@APIEventAnnotation(bindMenu = {CustomMenuItem.delete}, callback = CustomCallBack.Reload)
public Boolean delete(String uuid) throws JDSException ;
}
Интерфейс данных (реализация)
package com.ds.test.repository.leaveapplication.service;
import com.ds.enums.db.*;
import com.ds.enums.*;
import com.ds.esd.tool.ui.enums.*;
import com.ds.test.repository.leaveapplication.module.*;
import com.ds.test.repository.leaveapplication.service.*;
@EsbBeanAnnotation
public class LeaveapplicationServiceImpl implements LeaveapplicationService{
public List<Leaveapplication> findAll()throws JDSException{
List<Leaveapplication> leaveapplicationList = new ArrayList<>();
DAO dao = null;
try {
DAOFactory factory = new DAOFactory(Leaveapplication.class);
dao = factory.getDAO();
leaveapplicationList = dao.findAll();
} catch (Exception e) {
e.printStackTrace();
throw new JDSException(e);
} finally {
if (dao != null) {
dao.close();
}
}
return leaveapplicationList;
}
public List<Leaveapplication> findByWhere(String where)throws JDSException{
List<Leaveapplication> leaveapplicationList = new ArrayList<>();
DAO dao =null;
try {
DAOFactory factory = new DAOFactory(Leaveapplication.class);
dao = factory.getDAO();
leaveapplicationList = dao.find(where);
} catch (Exception e) {
e.printStackTrace();
throw new JDSException(e);
} finally {
if (dao != null) {
dao.close();
}
}
return leaveapplicationList;
}
public List<Leaveapplication> find(Leaveapplication leaveapplication)throws JDSException{
List<Leaveapplication> leaveapplicationList = new ArrayList<>();
DAO dao = null;
try {
DAOFactory factory = new DAOFactory(Leaveapplication.class);
dao = factory.getDAO();
leaveapplicationList = dao.find(leaveapplication);
} catch (Exception e) {
e.printStackTrace();
throw new JDSException(e);
} finally {
if (dao != null) {
dao.close();
}
}
return leaveapplicationList;
}
public Leaveapplication getLeaveapplicationInfo(String uuid) throws JDSException {
Leaveapplication leaveapplication = null;
DAO<Leaveapplication> dao =null;
try {
DAOFactory factory = new DAOFactory(Leaveapplication.class);
dao = factory.getDAO();
if (uuid==null||uuid.equals("")){
leaveapplication= dao.createBean();
}else{
leaveapplication= dao.findByPrimaryKey(uuid);
}
} catch (Exception e) {
e.printStackTrace();
throw new JDSException(e);
} finally {
if (dao != null) {
dao.close();
}
}
return leaveapplication;
}
public Leaveapplication update( Leaveapplication leaveapplication) throws JDSException {
DAO<Leaveapplication> dao = null;
try {
DAOFactory factory = new DAOFactory(Leaveapplication.class);
dao = factory.getDAO();
dao.update(leaveapplication);
} catch (Exception e) {
e.printStackTrace();
throw new JDSException(e);
} finally {
if (dao != null) {
dao.close();
}
}
return leaveapplication;
}
public Boolean delete(String uuid) throws JDSException {
DAO<Leaveapplication> dao =null;
try {
DAOFactory factory = new DAOFactory(Leaveapplication.class);
dao = factory.getDAO();
if (uuid.indexOf(";") > -1) {
for (String uid : uuid.split(";")) {
dao.delete(uid);
}
} else {
dao.delete(uuid);
}
} catch (Exception e) {
e.printStackTrace();
throw new JDSException(e);
} finally {
if (dao != null) {
dao.close();
}
}
return true;
}
}
Приложение агрегации является наиболее важным звеном в моделировании модели предметной области. Целью этой ссылки является преобразование соответствующего рабочего интерфейса библиотеки ресурсов в приложение модели предметной области, вывод его через веб-агрегатор и публикация в виде веб-ссылки, а также по адресу. В то же время операции с объектами преобразуются в домен. События используются для планирования и обработки в DDD. Приложения агрегации органично объединяют представления и модели для реализации агрегатных сущностей и агрегатных корневых приложений. В то же время соответствующий словарь данных и домен приложения извлекаются в качестве поддержки верхнего уровня.
package com.ds.test.domain.leaveapplication.api;
import org.springframework.stereotype.*;
import org.springframework.core.annotation.*;
import com.ds.esd.custom.action.module.*;
import com.ds.esd.custom.titleblock.enums.*;
import com.ds.esd.custom.tree.enums.*;
import com.ds.esd.custom.form.enums.*;
import com.ds.esd.custom.nav.enums.*;
import com.ds.esd.custom.grid.enums.*;
import com.ds.esd.custom.gallery.enums.*;
import com.ds.esd.custom.annotation.toolbar.*;
import com.ds.test.domain.leaveapplication.*;
import com.ds.test.domain.leaveapplication.api.*;
import test.leaveapplication.*;
@Aggregation(rootClass=LeaveapplicationService.class,
entityClass=Leaveapplication.class,type=AggregationType.aggregationEntity)
@RequestMapping(value="/test/leaveapplication")
@Controller
public interface LeaveapplicationServiceAPI {
@APIEventAnnotation(bindMenu=CustomMenuItem.reload,customRequestData=RequestPathEnum.ctx,autoRun=true)
@ModuleAnnotation(moduleViewType=ModuleViewType.GridConfig)
@GridViewAnnotation
@CustomAnnotation
@RequestMapping(value="FindAll")
@ResponseBody
public ListResultModel<List<FindAll>> findAll ();
@APIEventAnnotation(bindFormEvent=CustomFormEvent.formLoad,
customRequestData=RequestPathEnum.ctx,autoRun=true,
bindGridEvent=CustomGridEvent.editor,customResponseData=ResponsePathEnum.form)
@ModuleAnnotation(moduleViewType=ModuleViewType.FormConfig)
@FormViewAnnotation
@RequestMapping(value="LeaveapplicationInfo")
@ResponseBody
public ResultModel<LeaveapplicationInfo> getLeaveapplicationInfo (String uuid);
@APIEventAnnotation(bindMenu=CustomMenuItem.save,callback={CustomCallBack.ReloadParent,CustomCallBack.Close})
public ResultModel<Leaveapplication> update (@RequestBody Leaveapplication leaveapplication);
@APIEventAnnotation(bindMenu=CustomMenuItem.search)
public ListResultModel<List<Leaveapplication>> find (Leaveapplication leaveapplication);
@APIEventAnnotation(bindMenu=CustomMenuItem.delete,callback=CustomCallBack.Reload)
@RequestMapping(value="delete")
@ResponseBody
public ResultModel<Boolean> delete (String uuid);
@RequestMapping(value="findByWhere")
@ResponseBody
public ListResultModel<List<Leaveapplication>> findByWhere (String where);
}
Домен представления предназначен для построения системы представления на основе конкретной модели после завершения предварительного агрегированного моделирования сущности. В этих системах структура представления строится на основе структуры сущности, и, наконец, обработка отображается в виде кода. .
Просмотр типов шаблонов:
Структура проекта после конкретизации шаблона представления:
(2) Просмотр конфигурации
Добавить меню в список
Добавить столбец нумерации страниц в список
Настройка поддоменов полей формы
Вывод компиляции модуля конфигурации
Добавьте комментарий к изображению, не более 140 слов (по желанию)
package test.leaveapplication;
import com.ds.config.*;
import java.util.*;
import com.ds.esd.custom.action.module.*;
import com.ds.esd.custom.annotation.*;
import com.ds.esd.custom.bean.enums.*;
import com.ds.esd.custom.annotation.toolbar.*;
import org.springframework.web.bind.annotation.*;
@PageBar
@GridRowCmd
@MenuBarMenu(domainId="test")
@RowHead
@GridAnnotation(uidColumn="uuid",customMenu={GridMenu.Delete,GridMenu.Reload,GridMenu.Add})
public interface FindAll {
@CustomAnnotation(caption="Причина отпуска")
@GridColItemAnnotation(width="8.0em")
public String getReason();
public void setReason(String reason);
@CustomAnnotation(caption="Профессионал/Направление")
@GridColItemAnnotation(width="8.0em")
public String getMajor();
public void setMajor(String major);
@CustomAnnotation(caption="userId")
@GridColItemAnnotation(width="8.0em")
public String getUserid();
public void setUserid(String userid);
@CustomAnnotation(caption="Идентификатор студента")
@GridColItemAnnotation(width="8.0em")
public String getStudentid();
public void setStudentid(String studentid);
@CustomAnnotation(caption="Имя")
@GridColItemAnnotation(width="8.0em")
public String getStudentname();
public void setStudentname(String studentname);
@CustomAnnotation(caption="дата выхода")
@GridColItemAnnotation(width="8.0em",inputType=ComboInputType.date)
public Date getLeavedate();
public void setLeavedate(Date leavedate);
@CustomAnnotation(caption="Учитель")
@GridColItemAnnotation(width="8.0em")
public String getInstructor();
public void setInstructor(String instructor);
@CustomAnnotation(caption="время выхода")
@GridColItemAnnotation(width="8.0em",inputType=ComboInputType.time)
public Date getLeavetime();
public void setLeavetime(Date leavetime);
@CustomAnnotation(caption="Покинуть курс")
@GridColItemAnnotation(width="8.0em")
public String getCoursename();
public void setCoursename(String coursename);
@CustomAnnotation(caption="processInstI")
@GridColItemAnnotation(width="8.0em")
public String getProcessinstid();
public void setProcessinstid(String processinstid);
@CustomAnnotation(caption="Репетитор")
@GridColItemAnnotation(width="8.0em")
public String getAdvisor();
public void setAdvisor(String advisor);
@CustomAnnotation(caption="Единица утверждения")
@GridColItemAnnotation(width="8.0em")
public String getApprovalunit();
public void setApprovalunit(String approvalunit);
@CustomAnnotation(caption="Статус утверждения")
@GridColItemAnnotation(width="8.0em")
public String getApprovalstatus();
public void setApprovalstatus(String approvalstatus);
@CustomAnnotation(caption="Утверждающий")
@GridColItemAnnotation(width="8.0em")
public String getApprovalperson();
public void setApprovalperson(String approvalperson);
@CustomAnnotation(uid=true,hidden=true,index=1)
@GridColItemAnnotation(width="8.0em")
public String getUuid();
public void setUuid(String uuid);
@CustomAnnotation(index=17)
@GridColItemAnnotation(width="8.0em",flexSize=true)
public String getFormTitle();
public void setFormTitle(String formTitle);
}
package test.leaveapplication;
import com.ds.config.*;
import java.util.*;
import com.ds.esd.tool.ui.component.navigation.*;
import com.ds.esd.tool.ui.component.form.*;
import com.ds.web.*;
import com.ds.esd.custom.enums.*;
import com.ds.esd.dsm.aggregation.*;
import com.ds.esd.custom.field.*;
import com.ds.esd.custom.field.combo.*;
@FormAnnotation
public interface LeaveapplicationInfo {
@FieldAnnotation(componentType=ComponentType.Label,colSpan=-1,manualHeight=60)
@CustomAnnotation(index=30,caption="LeaveapplicationInfo")
@LabelAnnotation(hAlign=HAlignType.center,fontSize="3em")
public String getFormTitle();
public void setFormTitle(String formTitle);
@FieldAnnotation(componentType=ComponentType.ComboInput,colSpan=-1)
@CustomAnnotation(index=1,caption="Причина отпуска")
public String getReason();
public void setReason(String reason);
@CustomAnnotation(index=2,caption="Профессионал/Направление")
@InputAnnotation
public String getMajor();
public void setMajor(String major);
@FieldAnnotation(componentType=ComponentType.ComboInput)
@CustomAnnotation(index=3,caption="время выхода")
@ComboDateAnnotation
public Date getLeavetime();
public void setLeavetime(Date leavetime);
@CustomAnnotation(index=4,caption="Репетитор")
@InputAnnotation
public String getAdvisor();
public void setAdvisor(String advisor);
@FieldAnnotation(componentType=ComponentType.ComboInput)
@CustomAnnotation(index=5,caption="дата выхода")
@ComboDateAnnotation
public Date getLeavedate();
public void setLeavedate(Date leavedate);
@FieldAnnotation(componentType=ComponentType.HiddenInput)
@CustomAnnotation(index=6,caption="processInstI")
@InputAnnotation
public String getProcessinstid();
public void setProcessinstid(String processinstid);
@CustomAnnotation(index=7,caption="Идентификатор студента")
@InputAnnotation
public String getStudentid();
public void setStudentid(String studentid);
@CustomAnnotation(index=8,caption="Имя")
@InputAnnotation
public String getStudentname();
public void setStudentname(String studentname);
@CustomAnnotation(index=9,caption="Единица утверждения")
@InputAnnotation
public String getApprovalunit();
public void setApprovalunit(String approvalunit);
@CustomAnnotation(index=10,caption="Покинуть курс")
@InputAnnotation
public String getCoursename();
public void setCoursename(String coursename);
@CustomAnnotation(index=11,caption="Учитель")
@InputAnnotation
public String getInstructor();
public void setInstructor(String instructor);
@FieldAnnotation(componentType=ComponentType.HiddenInput)
@CustomAnnotation(index=12,caption="userId")
@InputAnnotation
public String getUserid();
public void setUserid(String userid);
@FieldAnnotation(componentType=ComponentType.HiddenInput)
@CustomAnnotation(index=13,caption="activityHist")
@InputAnnotation
public String getActivityhistoryid();
public void setActivityhistoryid(String activityhistoryid);
@CustomAnnotation(index=14,caption="Статус утверждения")
@InputAnnotation
public String getApprovalstatus();
public void setApprovalstatus(String approvalstatus);
@CustomAnnotation(index=15,caption="Утверждающий")
@InputAnnotation
public String getApprovalperson();
public void setApprovalperson(String approvalperson);
@FieldAnnotation(componentType=ComponentType.HiddenInput)
@CustomAnnotation(index=16,caption="activityInst")
@InputAnnotation
public String getActivityinstid();
public void setActivityinstid(String activityinstid);
@FieldAnnotation(componentType=ComponentType.HiddenInput)
@CustomAnnotation(uid=true,hidden=true,index=17)
public String getUuid();
public void setUuid(String uuid);
}