Commit be64b124 by 高晓磊

Merge remote-tracking branch 'origin/feature/dinas_type' into develop

parents c8de78c9 59366644
package com.xyst.dinas.biz.config;
import com.beecode.amino.metadata.runtime.MetadataMech;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.TypeConstants;
import com.xyst.dinas.biz.constant.DinasTypeConstant;
import com.xyst.dinas.biz.constant.StationConstant;
import com.xyst.dinas.biz.internal.dao.DinasTypeDaoImpl;
import com.xyst.dinas.biz.internal.service.DinasTypeServiceImpl;
import com.xyst.dinas.biz.web.DinasTypeController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.ClassPathResource;
public class DinasTypeConfiguration {
@Autowired
@Qualifier(TypeConstants.CLASS_MECH)
private MetadataMech<KClass> typeMech;
//DinasTypeDaoImpl相关bean配置
@Bean
public DinasTypeDaoImpl dinasTypeDaoImpl() {
return new DinasTypeDaoImpl();
}
@Bean
public DinasTypeServiceImpl dinasTypeServiceImpl(){
return new DinasTypeServiceImpl();
}
@Bean
public DinasTypeController dinasTypeController(){
return new DinasTypeController();
}
@Bean(DinasTypeConstant.ENTITY)
public KClass stationInfoEntity() {
return typeMech.createStaticBeanByResource(
new ClassPathResource("/com/xyst/dinas/biz/datamodel/DinasType.jmx", KClass.class));
}
}
package com.xyst.dinas.biz.constant;
public interface DinasTypeConstant {
/**
* 业务类型名称
*/
String BIZ_TYPE = "DinasType";
/**
* 业务类型标题
*/
String BIZ_TITLE = "砂石种类";
/**
* 实体名
*/
String ENTITY = "com.xyst.dinas.biz.datamodel.DinasType";
}
package com.xyst.dinas.biz.dao;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.dao.BaseDao;
import java.util.List;
import java.util.UUID;
public interface DinasTypeDao extends BaseDao {
KObject load(UUID id);
Page<KObject> listDinasTypeInfoPaging(Page<KObject> page);
UUID create(KObject kObject);
void deleteById(UUID id);
List<KObject> getByName(String name, UUID id);
void modify(KObject kobject);
boolean checkedStation(UUID dinasTypeId, UUID stationId);
boolean unCheckedStation(UUID dinasTypeId, UUID stationId);
}
...@@ -11,6 +11,7 @@ public class Station implements Serializable { ...@@ -11,6 +11,7 @@ public class Station implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* id * id
*/ */
......
package com.xyst.dinas.biz.internal.dao;
import com.beecode.amino.core.Amino;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.core.context.AminoContextHolder;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.internal.dao.AbstractBaseDao;
import com.xyst.dinas.biz.constant.DinasTypeConstant;
import com.xyst.dinas.biz.dao.DinasTypeDao;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.hibernate.query.NativeQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate;
import java.util.Date;
import java.util.List;
import java.util.UUID;
public class DinasTypeDaoImpl extends AbstractBaseDao implements DinasTypeDao, DinasTypeConstant {
@Autowired
private HibernateTemplate template;
private String insertOrUpdateDinasTypeStationHql=" inz_kunlun01.xyst_dinas_biz_station_dinas_type " +
"set station_id = :stationId , dinas_type_id =:dinasTypeId ";
private String deleteOrSelectDinasTypeStationHql=" from inz_kunlun01.xyst_dinas_biz_station_dinas_type " +
"where station_id= :stationId and dinas_type_id=:dinasTypeId";
/**
* 抽象方法,需要实现类提供HibernateTemplate
*
* @return
*/
@Override
protected HibernateTemplate getHibernateTemplate() {
return template;
}
/**
* 抽象方法,需要实现类提供当前ModelName
*
* @return
*/
@Override
protected String getModelName() {
return null;
}
@Override
public KObject load(UUID id) {
return (KObject) template.load(ENTITY, id);
}
@Override
public Page<KObject> listDinasTypeInfoPaging(Page<KObject> page) {
UUID departmentId = AminoContextHolder.getContext().getStaff().get("department").getUuid("id");
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq("department.id", departmentId));
detachedCriteria.add(Restrictions.eq("del", false));
int offset = page.getPageSize() * (page.getPageNo() - 1);
List<KObject> list = (List<KObject>) template.findByCriteria(detachedCriteria, offset, page.getPageSize());
page.setDatas(list);
page.setTotal(template.findByCriteria(detachedCriteria).size());
return page;
}
@Override
public List<KObject> getByName(String name, UUID id) {
UUID departmentId = AminoContextHolder.getContext().getStaff().get("department").getUuid("id");
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq("department.id", departmentId));
detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("dinasTypeName", name));
if (id != null) {
detachedCriteria.add(Restrictions.ne("id", id));
}
return (List<KObject>) template.findByCriteria(detachedCriteria);
}
@Override
public void modify(KObject kobject) {
KObject id = load(kobject.getUuid("id"));
kobject.set("creator", id.get("creator"));
kobject.set("createTime", id.getDate("createTime"));
KObject staff = AminoContextHolder.getContext().getStaff();
kobject.set("modifyTime", new Date());
kobject.set("modifier", staff.getUuid("id"));
kobject.set("del", true);
template.merge(kobject);
}
@Override
public boolean checkedStation(UUID dinasTypeId, UUID stationId) {
Boolean hasCount = getHasCount(dinasTypeId, stationId);
if(hasCount){
return template.executeWithNativeSession(session -> {
NativeQuery<Integer> nativeQuery = session.createNativeQuery(
"insert into " + insertOrUpdateDinasTypeStationHql, Integer.class);
nativeQuery.setParameter("stationId", stationId);
nativeQuery.setParameter("dinasTypeId", dinasTypeId);
int count = nativeQuery.executeUpdate();
return count == 1;
});
}
else{ return false;
}
}
@Override
public boolean unCheckedStation(UUID dinasTypeId, UUID stationId) {
Boolean hasCount = getHasCount(dinasTypeId, stationId);
if(hasCount){
return template.executeWithNativeSession(session -> {
NativeQuery<Integer> nativeQuery = session.createNativeQuery(
"delete " + deleteOrSelectDinasTypeStationHql, Integer.class);
nativeQuery.setParameter("stationId", stationId);
nativeQuery.setParameter("dinasTypeId", dinasTypeId);
int count = nativeQuery.executeUpdate();
return count == 1;
});
}
return false;
}
private Boolean getHasCount(UUID dinasTypeId, UUID stationId) {
return template.executeWithNativeSession(session -> {
NativeQuery<Integer> nativeQuery = session.createNativeQuery(
"select count(1) "+deleteOrSelectDinasTypeStationHql, Integer.class);
nativeQuery.setParameter("stationId", stationId);
nativeQuery.setParameter("dinasTypeId", dinasTypeId);
Integer singleResult = nativeQuery.getSingleResult();
return singleResult != null && singleResult == 0;
});
}
@Override
public UUID create(KObject kObject) {
KObject staff = AminoContextHolder.getContext().getStaff();
kObject.set("department", staff.get("department"));
kObject.set("id", UUID.randomUUID());
kObject.set("creator", staff);
kObject.set("createTime", new Date());
kObject.set("del", false);
return ((UUID) template.save(kObject));
}
@Override
public void deleteById(UUID id) {
KObject staff = AminoContextHolder.getContext().getStaff();
KObject kobject = (KObject) template.load(ENTITY, id);
kobject.set("modifyTime", new Date());
kobject.set("modifier", staff);
kobject.set("del", true);
template.update(kobject);
}
}
...@@ -68,7 +68,7 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat ...@@ -68,7 +68,7 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
kobject.set("modifyTime",new Date()); kobject.set("modifyTime",new Date());
kobject.set("modifier",staff.getUuid("id")); kobject.set("modifier",staff.getUuid("id"));
kobject.set("del",true); kobject.set("del",false);
template.merge(kobject); template.merge(kobject);
} }
...@@ -77,7 +77,7 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat ...@@ -77,7 +77,7 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat
public UUID create(KObject kObject) { public UUID create(KObject kObject) {
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
kObject.set("department", staff.get("department")); kObject.set("department", staff.get("department"));
kObject.set("id",UUID.randomUUID()); // kObject.set("id",UUID.randomUUID());
kObject.set("creator",staff); kObject.set("creator",staff);
kObject.set("createTime", new Date()); kObject.set("createTime", new Date());
kObject.set("del",false); kObject.set("del",false);
...@@ -95,7 +95,7 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat ...@@ -95,7 +95,7 @@ public class StationDaoImpl extends AbstractBaseDao implements StationDao, Stat
KObject staff = AminoContextHolder.getContext().getStaff(); KObject staff = AminoContextHolder.getContext().getStaff();
KObject kobject = (KObject) template.load(STATION, id); KObject kobject = (KObject) template.load(STATION, id);
kobject.set("modifyTime",new Date()); kobject.set("modifyTime",new Date());
kobject.set("modifier.id",staff.getUuid("id")); kobject.set("modifier",staff);
kobject.set("del",true); kobject.set("del",true);
template.update(kobject); template.update(kobject);
} }
......
package com.xyst.dinas.biz.internal.service;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.biz.dao.DinasTypeDao;
import com.xyst.dinas.biz.service.DinasTypeService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import java.util.UUID;
public class DinasTypeServiceImpl implements DinasTypeService {
@Autowired
private DinasTypeDao dinasTypeDao;
@Override
public Page<KObject> queryByPaging(Page<KObject> page) throws Exception {
if(page.getPageNo()==0||page.getPageSize()==0) {
throw new Exception("pageSize or offset is null");
}
return dinasTypeDao.listDinasTypeInfoPaging(page);
}
@Override
public UUID addDinasType(KObject kObject) {
return dinasTypeDao.create(kObject);
}
@Override
public KObject getById(UUID id) {
return dinasTypeDao.load(id);
}
@Override
public KObject getByName(String name, UUID id) {
List<KObject> kObjects = dinasTypeDao.getByName(name,id);
if(CollectionUtils.isEmpty(kObjects)){
return null;
}
return kObjects.get(0);
}
@Override
public void update(KObject kobject) {
dinasTypeDao.modify(kobject);
}
@Override
public void deleteById(UUID id) {
dinasTypeDao.deleteById(id);
}
@Override
public boolean checkedStation(UUID dinasTypeId, UUID stationId) {
return dinasTypeDao.checkedStation(dinasTypeId,stationId);
}
@Override
public boolean unCheckedStation(UUID dinasTypeId, UUID stationId) {
return dinasTypeDao.unCheckedStation(dinasTypeId,stationId);
}
}
package com.xyst.dinas.biz.service;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
import java.util.UUID;
public interface DinasTypeService {
Page<KObject> queryByPaging(Page<KObject> page) throws Exception;
UUID addDinasType(KObject kObject);
KObject getById(UUID id);
KObject getByName(String name, UUID id);
void update(KObject kobject);
void deleteById(UUID id);
boolean checkedStation(UUID dinasTypeId, UUID stationId);
boolean unCheckedStation(UUID dinasTypeId, UUID stationId);
}
package com.xyst.dinas.biz.web;
import com.beecode.amino.core.Amino;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.bcp.type.json.JSONObjectUtils;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.beecode.nlib.utils.StringUtils;
import com.xyst.dinas.biz.constant.DinasTypeConstant;
import com.xyst.dinas.biz.service.DinasTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.UUID;
@RestController()
@RequestMapping(value="/biz/dinasType")
public class DinasTypeController {
@Autowired
private DinasTypeService dinasTypeService;
@RequestMapping(value = "list/page", method = RequestMethod.GET)
public Page<KObject> getStaffByRole(
@RequestParam(name = "pageNo", required = false) Integer pageNo,
@RequestParam(name = "pageSize", required = false) Integer pageSize) throws Exception {
Page<KObject> objectPage = new Page<>();
objectPage.setPageNo(pageNo);
objectPage.setPageSize(pageSize);
return dinasTypeService.queryByPaging(objectPage);
}
/**
* 新建砂石种类
* @param body
* @return ResponseObj
*/
@PostMapping
public ResponseObj create(@RequestBody String body){
KObject kobject = JSONObjectUtils.toObject(body, Amino.getApplicationMetadataContext().getBean(DinasTypeConstant.ENTITY, KClass.class));
if(StringUtils.isEmpty(kobject.getString("dinasTypeName"))){
return ResponseObj.error(400,"砂石种类名称不能为空");
}
UUID id = dinasTypeService.addDinasType(kobject);
return ResponseObj.success("保存成功", id);
}
/**
* 修改砂石种类
* @param body 砂石种类json
* @return
*/
@PutMapping
public ResponseObj update(@RequestBody String body){
KObject kobject = JSONObjectUtils.toObject(body,Amino.getApplicationMetadataContext().getBean(DinasTypeConstant.ENTITY, KClass.class));
if(StringUtils.isEmpty(kobject.getString("stationName"))){
return ResponseObj.error(400,"砂石种类名称不能为空");
}
if(kobject.getUuid("id") == null){
return ResponseObj.error(400,"'id' must be not null!");
}
dinasTypeService.update(kobject);
return ResponseObj.success("修改成功");
}
/**
* 根据id获取砂石种类
* @param id
* @return
*/
@GetMapping("/{id}")
public ResponseObj<Object> getById(@PathVariable("id") UUID id){
if(id == null){
return ResponseObj.error(400,"'id' must be not null!");
}
KObject station = dinasTypeService.getById(id);
return ResponseObj.success("修改成功",station);
}
/**
* 根据Id删除砂石种类
* @param id
* @return
*/
@DeleteMapping("/{id}")
public ResponseObj<Object> deleteMemberByStaffId(@PathVariable("id") UUID id){
if(id == null){
return ResponseObj.error(400,"'id' must be not null!");
}
dinasTypeService.deleteById(id);
return ResponseObj.success("删除成功");
}
/**
* 查询是否有重名
* @param name
* @return
*/
@GetMapping("/validateName")
public ResponseObj<Object> validateName(@RequestParam("name") String name,@RequestParam("id") UUID id){
if(StringUtils.isEmpty(name)){
return ResponseObj.error(400,"砂石种类名称不能为空");
}
KObject kObject = dinasTypeService.getByName(name,id);
if(kObject != null){
return ResponseObj.error("砂石种类名称已存在!");
}
return ResponseObj.success();
}
/**
* 勾选场站
* @return
*/
@PostMapping("/checkedStation")
public ResponseObj checkedStation(@RequestParam("dinasTypeId") UUID dinasTypeId, @RequestParam("stationId") UUID stationId){
if(null==dinasTypeId){
return ResponseObj.error("未查询到砂石类型信息!");
}
if(null==stationId){
return ResponseObj.error("未查询到场站信息!");
}
boolean aBoolean = dinasTypeService.checkedStation(dinasTypeId,stationId);
return aBoolean?ResponseObj.success("勾选成功"):ResponseObj.error("勾选失败");
}
/**
* 取消勾选场站
*/
@PostMapping("/unCheckedStation")
public ResponseObj unCheckedStation(@RequestParam("dinasTypeId") UUID dinasTypeId, @RequestParam("stationId") UUID stationId){
if(null==dinasTypeId){
return ResponseObj.error("未查询到砂石类型信息!");
}
if(null==stationId){
return ResponseObj.error("未查询到场站信息!");
}
boolean aBoolean = dinasTypeService.unCheckedStation(dinasTypeId,stationId);
return aBoolean?ResponseObj.success("取消勾选成功"):ResponseObj.error("取消勾选失败");
}
}
...@@ -76,6 +76,9 @@ public class StationController { ...@@ -76,6 +76,9 @@ public class StationController {
if(StringUtils.isEmpty(kobject.getString("telephone"))){ if(StringUtils.isEmpty(kobject.getString("telephone"))){
return ResponseObj.error(400,"联系人电话不能为空"); return ResponseObj.error(400,"联系人电话不能为空");
} }
if(kobject.getUuid("id") == null){
return ResponseObj.error(400,"'id' must be not null!");
}
UUID id = stationService.addStation(kobject); UUID id = stationService.addStation(kobject);
return ResponseObj.success("保存成功", id); return ResponseObj.success("保存成功", id);
} }
...@@ -118,12 +121,12 @@ public class StationController { ...@@ -118,12 +121,12 @@ public class StationController {
* @return * @return
*/ */
@GetMapping("/{id}") @GetMapping("/{id}")
public ResponseObj<Object> getById(@PathVariable("id") UUID id){ public ResponseObj getById(@PathVariable("id") UUID id){
if(id == null){ if(id == null){
return ResponseObj.error(400,"'id' must be not null!"); return ResponseObj.error(400,"'id' must be not null!");
} }
KObject station = stationService.getById(id); KObject station = stationService.getById(id);
return ResponseObj.success("修改成功",station); return ResponseObj.success("获取成功",station);
} }
/** /**
...@@ -132,7 +135,7 @@ public class StationController { ...@@ -132,7 +135,7 @@ public class StationController {
* @return * @return
*/ */
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
public ResponseObj<Object> deleteMemberByStaffId(@PathVariable("id") UUID id){ public ResponseObj deleteMemberByStaffId(@PathVariable("id") UUID id){
if(id == null){ if(id == null){
return ResponseObj.error(400,"'id' must be not null!"); return ResponseObj.error(400,"'id' must be not null!");
} }
...@@ -147,7 +150,7 @@ public class StationController { ...@@ -147,7 +150,7 @@ public class StationController {
* @return * @return
*/ */
@GetMapping("/validateName") @GetMapping("/validateName")
public ResponseObj<Object> validateName(@RequestParam("name") String name,@RequestParam("id") UUID id){ public ResponseObj validateName(@RequestParam("name") String name,@RequestParam("id") UUID id){
if(StringUtils.isEmpty(name)){ if(StringUtils.isEmpty(name)){
return ResponseObj.error(400,"场站名称不能为空"); return ResponseObj.error(400,"场站名称不能为空");
} }
......
# Auto Configure # Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.xyst.dinas.biz.config.StationConfiguration com.xyst.dinas.biz.config.StationConfiguration,\
\ No newline at end of file com.xyst.dinas.biz.config.DinasTypeConfiguration
\ 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/bcp-type">
<specification>1.0</specification>
<id>6bcb52ba-2a3a-4b51-8e4c-2754a4d2b251</id>
<name>com.xyst.dinas.biz.datamodel.DinasType</name>
<title>砂石种类</title>
<description>砂石种类</description>
<define>bcp.type.Class</define>
<define-version>1.0</define-version>
<dependency>bcp.type.constraint.StringLength</dependency>
<dependency>com.xyst.dinas.biz.datamodel.Station</dependency>
<dependency>com.beecode.bap.staff.datamodel.Staff</dependency>
<dependency>com.beecode.inz.common.datamodel.BaseInfo</dependency>
<dependency>com.beecode.bap.department.datamodel.Department</dependency>
<dependency>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</dependency>
<content>
<m:class>
<m:parents>
<m:parent>com.beecode.inz.common.datamodel.BaseInfo</m:parent>
<m:parent>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</m:parent>
</m:parents>
<m:attributes>
<m:attribute>
<m:annotations/>
<m:id>38095d83-03e6-4fd3-82ed-11da0f330367</m:id>
<m:name>dinasTypeName</m:name>
<m:title>砂石种类名称</m:title>
<m:type>string</m:type>
<m:description>砂石种类名称</m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>38095d83-03e6-4fd3-82ed-11da0f330367</m:id>
<m:name>dinasIsSell</m:name>
<m:title>是否售卖</m:title>
<m:type>boolean</m:type>
<m:description>是否售卖</m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>19f58e91-61b8-4a8d-a5e0-d530fdf38cf8</m:id>
<m:name>department</m:name>
<m:title>所属部门</m:title>
<m:type>com.beecode.bap.department.datamodel.Department</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>bcp.type.constraint.StringLength</m:type>
<m:value>300</m:value>
</m:annotation>
</m:annotations>
<m:id>07df337f-d640-4873-8bd7-e0878d56c187</m:id>
<m:name>reason</m:name>
<m:title>备注</m:title>
<m:type>string</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>com.beecode.bap.biztrait.datamodel.SubTableAnnotation</m:type>
</m:annotation>
</m:annotations>
<m:id>726e8dac-46c8-429f-94db-9922840c5998</m:id>
<m:name>stations</m:name>
<m:title>售卖该砂石的场站</m:title>
<m:type>com.xyst.dinas.biz.datamodel.Station[]</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations></m:annotations>
<m:id>bd60d3ff-9308-4f15-aa1e-67d2923192f2</m:id>
<m:name>sortOrder</m:name>
<m:title>排序</m:title>
<m:type>int</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
</m:attributes>
</m:class>
</content>
</metadata>
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
<dependency>com.beecode.inz.common.datamodel.BaseInfo</dependency> <dependency>com.beecode.inz.common.datamodel.BaseInfo</dependency>
<dependency>com.beecode.bap.department.datamodel.Department</dependency> <dependency>com.beecode.bap.department.datamodel.Department</dependency>
<dependency>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</dependency> <dependency>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</dependency>
<dependency>com.xyst.dinas.biz.datamodel.DinasType</dependency>
<content> <content>
<m:class> <m:class>
<m:parents> <m:parents>
...@@ -79,6 +80,19 @@ ...@@ -79,6 +80,19 @@
<m:default></m:default> <m:default></m:default>
</m:attribute> </m:attribute>
<m:attribute> <m:attribute>
<m:annotations>
<m:annotation>
<m:type>com.beecode.bap.biztrait.datamodel.SubTableAnnotation</m:type>
</m:annotation>
</m:annotations>
<m:id>726e8dac-46c8-429f-94db-9922840c5998</m:id>
<m:name>dinasTypes</m:name>
<m:title>售卖的砂石</m:title>
<m:type>com.xyst.dinas.biz.datamodel.DinasType[]</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations/> <m:annotations/>
<m:id>b4211477-b5b7-4036-9814-7e5affff7ea0</m:id> <m:id>b4211477-b5b7-4036-9814-7e5affff7ea0</m:id>
<m:name>openingDate</m:name> <m:name>openingDate</m:name>
...@@ -118,7 +132,7 @@ ...@@ -118,7 +132,7 @@
<m:attribute> <m:attribute>
<m:annotations></m:annotations> <m:annotations></m:annotations>
<m:id>bd60d3ff-9308-4f15-aa1e-67d2923192f2</m:id> <m:id>bd60d3ff-9308-4f15-aa1e-67d2923192f2</m:id>
<m:name>sort_order</m:name> <m:name>sortOrder</m:name>
<m:title>排序</m:title> <m:title>排序</m:title>
<m:type>int</m:type> <m:type>int</m:type>
<m:description></m:description> <m:description></m:description>
......
...@@ -150,7 +150,20 @@ ...@@ -150,7 +150,20 @@
</m:ref> </m:ref>
<m:desc></m:desc> <m:desc></m:desc>
</m:field> </m:field>
<m:field>
<m:name>del</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:fields>
</m:query> </m:query>
</content> </content>
</metadata> </metadata>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<hibernate-mapping xmlns="http://www.hibernate.org/xsd/hibernate-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-mapping
http://www.hibernate.org/xsd/hibernate-mapping/hibernate-mapping-4.0.xsd">
<class entity-name="com.xyst.dinas.biz.datamodel.DinasType" table="xyst_dinas_biz_dinas_type" optimistic-lock="version">
<tuplizer entity-mode="dynamic-map" class="com.beecode.bcp.store.hibernate.KObjectEntityTuplizer"/>
<id name="id" type="uuid-binary" column="id" length="16">
<generator class="assigned" />
</id>
<version name="version" type="int" column="version"/>
<property name="createTime" type="timestamp" not-null="false">
<column name="create_time"/>
</property>
<many-to-one name="creator" entity-name="com.beecode.bap.staff.datamodel.Staff" fetch="select">
<column name="creator_id" not-null="false"/>
</many-to-one>
<property name="modifyTime" type="timestamp" not-null="false">
<column name="modify_time"/>
</property>
<many-to-one name="modifier" entity-name="com.beecode.bap.staff.datamodel.Staff" fetch="select">
<column name="modifier_id" not-null="false"/>
</many-to-one>
<property name="del" type="boolean" not-null="false">
<column name="del" default="false"/>
</property>
<property name="discard" type="boolean" not-null="false">
<column name="discard" default="false" />
</property>
<many-to-one name="department" entity-name="com.beecode.bap.department.datamodel.Department" fetch="select">
<column name="department" not-null="false">
<comment>所属部门</comment>
</column>
</many-to-one>
<property name="dinasTypeName" type="nstring" not-null="true">
<column name="dinas_type_name" length="30" >
<comment>砂石种类名称</comment>
</column>
</property>
<property name="dinasIsSell" type="boolean" not-null="true" >
<column name="dinas_is_sell" default="true">
<comment>砂石是否售卖,0不售卖 1还售卖</comment>
</column>
</property>
<bag name="stations" cascade="none" table="xyst_dinas_biz_station_dinas_type">
<key column="dinas_type_id" not-null="true" />
<many-to-many class="com.xyst.dinas.biz.datamodel.Station" column="station_id" fetch="join"/>
</bag>
<property name="reason" type="nstring" not-null="false">
<column name="reason" length="300" >
<comment>备注</comment>
</column>
</property>
<property name="sortOrder" type="int" not-null="true" unique="true" update="false" insert="false" index="dinas_sort_index" >
<column name="sort_order" length="10">
<comment >排序</comment>
</column>
</property>
</class>
</hibernate-mapping>
\ No newline at end of file
...@@ -73,7 +73,6 @@ ...@@ -73,7 +73,6 @@
<property name="telephone" type="nstring" not-null="false"> <property name="telephone" type="nstring" not-null="false">
<column name="telephone" length="50"> <column name="telephone" length="50">
<comment>联系方式</comment> <comment>联系方式</comment>
</column> </column>
</property> </property>
<property name="reason" type="nstring" not-null="false"> <property name="reason" type="nstring" not-null="false">
...@@ -81,10 +80,15 @@ ...@@ -81,10 +80,15 @@
<comment>备注</comment> <comment>备注</comment>
</column> </column>
</property> </property>
<property name="sort_order" type="int" not-null="true" unique="true" update="false" insert="false" index="station_sort_index" > <property name="sortOrder" type="int" not-null="true" unique="true" update="false" insert="false" index="station_sort_index" >
<column name="sort_order" length="10"> <column name="sort_order" length="10">
<comment >排序</comment> <comment >排序</comment>
</column> </column>
</property> </property>
<bag name="dinasTypes" cascade="none" inverse="true" table="xyst_dinas_biz_station_dinas_type">
<key column="station_id" not-null="true"/>
<many-to-many class="com.xyst.dinas.biz.datamodel.DinasType" column="dinas_type_id" />
</bag>
</class> </class>
</hibernate-mapping> </hibernate-mapping>
\ No newline at end of file
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