Commit 63a3ceee by 高晓磊

司机用户手机端功能 绑定车牌号 派单列表

parent b65b788a
package com.xyst.dinas.transport.config;
import com.xyst.dinas.transport.dao.VehicleDriverUserDao;
import com.xyst.dinas.transport.internal.dao.VehicleBindDriverUserDaoImpl;
import com.xyst.dinas.transport.internal.service.VehicleBindDriverUserServiceImpl;
import com.xyst.dinas.transport.service.VehicleBindDriverUserService;
import com.xyst.dinas.transport.web.VehicleDriverUserController;
import org.springframework.context.annotation.Bean;
public class VehicleBindDriverUserConfiguration {
@Bean
public VehicleDriverUserController vehicleBindDriverUserController() {
return new VehicleDriverUserController();
}
@Bean
public VehicleBindDriverUserService vehicleBindDriverUserService() {
return new VehicleBindDriverUserServiceImpl();
}
@Bean
public VehicleDriverUserDao vehicleBindDriverUserDao() {
return new VehicleBindDriverUserDaoImpl();
}
}
package com.xyst.dinas.transport.constant;
/**
* @author scol
*/
public interface VehicleBindDriverUserConstant {
/** 运输车辆绑定用户-实体*/
String ENTITY = "com.xyst.dinas.transport.datamodel.VehicleBindDriverUser";
/** 运输车辆-实体*/
String TRANSPORT_VEHICLE_ENTITY = "com.xyst.dinas.transport.datamodel.TransportVehicle";
/** 运输公司-实体*/
String TRANSPORT_COMPANY_ENTITY = "com.xyst.dinas.transport.datamodel.TransportCompany";
}
package com.xyst.dinas.transport.dao; package com.xyst.dinas.transport.dao;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.dao.BaseDao; import com.beecode.inz.basis.dao.BaseDao;
import java.util.Date;
import java.util.UUID; import java.util.UUID;
public interface VehicleDispatchDao extends BaseDao { public interface VehicleDispatchDao extends BaseDao {
...@@ -11,4 +13,7 @@ public interface VehicleDispatchDao extends BaseDao { ...@@ -11,4 +13,7 @@ public interface VehicleDispatchDao extends BaseDao {
UUID merge(KObject kobject); UUID merge(KObject kobject);
KObject load(UUID id); KObject load(UUID id);
Page<KObject> pageByVehicleId(Integer pageNo, Integer pageSize, Integer status, UUID vehicleId, Date startDate, Date endDate, Boolean isOrderByPlanCycleType, UUID driverUserId);
} }
package com.xyst.dinas.transport.dao;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.dao.BaseDao;
import java.util.List;
import java.util.UUID;
/**
* @author scol
*/
public interface VehicleDriverUserDao extends BaseDao {
KObject selectVehicleByPlateNumber(String plateNumber, UUID uuid);
UUID createBind(KObject driver, KObject regionalCompany, KObject vehicle);
void unBind(UUID id);
List<KObject> vehicleListByDriverUserId(UUID id);
}
package com.xyst.dinas.transport.internal.dao;
import com.beecode.amino.core.Amino;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.internal.dao.AbstractBaseDao;
import com.beecode.inz.common.BaseConstants;
import com.xyst.dinas.transport.constant.VehicleBindDriverUserConstant;
import com.xyst.dinas.transport.dao.VehicleDriverUserDao;
import org.apache.commons.collections4.CollectionUtils;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
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;
/**
* @author scol
*/
public class VehicleBindDriverUserDaoImpl extends AbstractBaseDao implements VehicleDriverUserDao, VehicleBindDriverUserConstant {
@Autowired
private HibernateTemplate template;
/**
* 抽象方法,需要实现类提供HibernateTemplate
*
* @return
*/
@Override
protected HibernateTemplate getHibernateTemplate() {
return template;
}
/**
* 抽象方法,需要实现类提供当前ModelName
*
* @return
*/
@Override
protected String getModelName() {
return ENTITY;
}
@Override
public KObject selectVehicleByPlateNumber(String plateNumber, UUID uuid) {
KClass bean = Amino.getStaticMetadataContext().getBean(TRANSPORT_VEHICLE_ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("plateNumber", plateNumber));
detachedCriteria.add(Restrictions.eq("regionalCompany.id",uuid));
List<KObject> byCriteria = (List<KObject>) template.findByCriteria(detachedCriteria);
if(CollectionUtils.isEmpty(byCriteria)){
return null;
}
return byCriteria.get(0);
}
@Override
public UUID createBind(KObject driver, KObject regionalCompany, KObject vehicle) {
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
KObject kObject = bean.newInstance();
kObject.set("driverUser",driver);
kObject.set("regionalCompany",regionalCompany);
kObject.set("transportVehicle",vehicle);
kObject.set(BaseConstants.ID,UUID.randomUUID());
kObject.set(BaseConstants.DEL,false);
kObject.set(BaseConstants.DISCARD,false);
kObject.set(BaseConstants.CREATE_TIME,new Date());
return (UUID)template.save(kObject);
}
@Override
public void unBind(UUID id) {
KObject load = load(id.toString());
load.set(BaseConstants.DEL,true);
load.set(BaseConstants.DISCARD,true);
load.set(BaseConstants.MODIFY_TIME,new Date());
}
@Override
public List<KObject> vehicleListByDriverUserId(UUID id) {
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.add(Restrictions.eq("driver.id",id));
return (List<KObject>)template.findByCriteria(detachedCriteria);
}
}
package com.xyst.dinas.transport.internal.dao; package com.xyst.dinas.transport.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.core.context.AminoContextHolder;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject; import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.internal.dao.AbstractBaseDao; import com.beecode.inz.basis.internal.dao.AbstractBaseDao;
import com.beecode.inz.common.BaseConstants; import com.beecode.inz.common.BaseConstants;
import com.xyst.dinas.transport.constant.VehicleDispatchConstant; import com.xyst.dinas.transport.constant.VehicleDispatchConstant;
import com.xyst.dinas.transport.dao.VehicleDispatchDao; import com.xyst.dinas.transport.dao.VehicleDispatchDao;
import com.xyst.dinas.transport.dao.VehicleDriverUserDao;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate; import org.springframework.orm.hibernate5.HibernateTemplate;
import java.util.Date; import java.util.*;
import java.util.UUID; import java.util.stream.Collectors;
/** /**
* @author scol * @author scol
...@@ -20,6 +28,8 @@ public class VehicleDispatchDaoImpl extends AbstractBaseDao implements VehicleDi ...@@ -20,6 +28,8 @@ public class VehicleDispatchDaoImpl extends AbstractBaseDao implements VehicleDi
@Autowired @Autowired
private HibernateTemplate template; private HibernateTemplate template;
private VehicleDriverUserDao vehicleDriverUserDao;
/** /**
* 抽象方法,需要实现类提供HibernateTemplate * 抽象方法,需要实现类提供HibernateTemplate
...@@ -72,4 +82,37 @@ public class VehicleDispatchDaoImpl extends AbstractBaseDao implements VehicleDi ...@@ -72,4 +82,37 @@ public class VehicleDispatchDaoImpl extends AbstractBaseDao implements VehicleDi
public KObject load(UUID id) { public KObject load(UUID id) {
return (KObject) template.load(ENTITY, id); return (KObject) template.load(ENTITY, id);
} }
@Override
public Page<KObject> pageByVehicleId(Integer pageNo, Integer pageSize, Integer status, UUID vehicleId, Date startDate, Date endDate, Boolean isOrderByPlanCycleType, UUID driverUserId) {
List<KObject> kObjects = vehicleDriverUserDao.vehicleListByDriverUserId(driverUserId);
List<UUID> collect = kObjects.stream().map(a -> a.get("transportVehicle").getUuid(BaseConstants.ID)).collect(Collectors.toList());
if(vehicleId!=null){
Optional.of(collect).orElse(new ArrayList<>()).add(vehicleId);
}
Page<KObject> kObjectPage = new Page<>();
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq(BaseConstants.DEL, false));
detachedCriteria.createAlias(PLANNING_CYCLE,PLANNING_CYCLE);
detachedCriteria.add(Restrictions.in("transportVehicle",collect));
if (null != startDate) {
detachedCriteria.add(Restrictions.ge(PLANNING_CYCLE+".endTime", startDate));
}
if (null != endDate) {
detachedCriteria.add(Restrictions.le(PLANNING_CYCLE+".startTime", endDate));
}
if(isOrderByPlanCycleType){
detachedCriteria.addOrder(Order.desc(PLANNING_CYCLE+"cycleType"));
}
detachedCriteria.addOrder(Order.desc(PLANNING_CYCLE+"startTime"));
int offset = pageSize * (pageNo - 1);
List<KObject> list = (List<KObject>) template.findByCriteria(detachedCriteria, offset, pageSize);
kObjectPage.setPageNo(pageNo);
kObjectPage.setPageSize(pageSize);
Long totalCount = (Long) detachedCriteria.setProjection(Projections.rowCount()).getExecutableCriteria(Objects.requireNonNull(template.getSessionFactory()).getCurrentSession()).setFirstResult(0).setMaxResults(1).uniqueResult();
kObjectPage.setTotal(Math.toIntExact(totalCount));
kObjectPage.setDatas(list);
return kObjectPage;
}
} }
package com.xyst.dinas.transport.internal.service;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.config.constants.DriverUserConstants;
import com.beecode.inz.basis.dao.DriverUserDao;
import com.beecode.inz.common.BaseConstants;
import com.xyst.dinas.biz.dao.DinasTypeDao;
import com.xyst.dinas.transport.constant.VehicleBindDriverUserConstant;
import com.xyst.dinas.transport.dao.VehicleDriverUserDao;
import com.xyst.dinas.transport.dao.VehicleDispatchDao;
import com.xyst.dinas.transport.service.VehicleBindDriverUserService;
import org.springframework.beans.factory.annotation.Autowired;
import javax.transaction.Transactional;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* 销售计划
*
* @author scol
* @date 2021年4月33日
*/
@Transactional
public class VehicleBindDriverUserServiceImpl implements VehicleBindDriverUserService {
@Autowired
private VehicleDriverUserDao vehicleBindDriverUserDao;
@Autowired
private DinasTypeDao dinasTypeDao;
@Autowired
private DriverUserDao driverUserDao;
@Autowired
private VehicleDispatchDao vehicleDispatchDao;
@Override
public UUID bindPlateNumber(String plateNumber, UUID driverUserId) {
KObject driver = driverUserDao.load(driverUserId.toString());
UUID uuid = driver.getUuid(DriverUserConstants.TRANSPORT_COMPANY_ID);
KObject transportCompanyEntity = vehicleBindDriverUserDao.load(VehicleBindDriverUserConstant.TRANSPORT_COMPANY_ENTITY, uuid);
KObject regionalCompany = transportCompanyEntity.get("regionalCompany");
UUID regionalCompanyUuid = regionalCompany.getUuid(BaseConstants.ID);
KObject vehicle = vehicleBindDriverUserDao.selectVehicleByPlateNumber(plateNumber,regionalCompanyUuid);
if(vehicle==null){
return null;
}
UUID id = vehicleBindDriverUserDao.createBind(driver,regionalCompany,vehicle);
return id;
}
@Override
public void unBindPlateNumber(UUID id) {
vehicleBindDriverUserDao.unBind(id);
}
@Override
public List<KObject> vehicleListByDriverUserId(UUID id) {
return vehicleBindDriverUserDao.vehicleListByDriverUserId(id);
}
@Override
public Page<KObject> pageByVehicleId(Integer pageNo, Integer pageSize, Integer status, UUID vehicleId, Date startDate, Date endDate, Boolean isOrderByPlanCycleType, UUID driverUserId) {
return vehicleDispatchDao.pageByVehicleId(pageNo,pageSize,status,vehicleId,startDate,endDate,isOrderByPlanCycleType,driverUserId);
}
}
...@@ -7,6 +7,7 @@ import com.xyst.dinas.biz.dao.DinasTypeDao; ...@@ -7,6 +7,7 @@ import com.xyst.dinas.biz.dao.DinasTypeDao;
import com.xyst.dinas.sales.constant.SalesPlanConstant; import com.xyst.dinas.sales.constant.SalesPlanConstant;
import com.xyst.dinas.sales.dao.SalesPlanDao; import com.xyst.dinas.sales.dao.SalesPlanDao;
import com.xyst.dinas.sales.service.NeedPlanService; import com.xyst.dinas.sales.service.NeedPlanService;
import com.xyst.dinas.transport.constant.VehicleBindDriverUserConstant;
import com.xyst.dinas.transport.constant.VehicleDispatchConstant; import com.xyst.dinas.transport.constant.VehicleDispatchConstant;
import com.xyst.dinas.transport.dao.VehicleDispatchDao; import com.xyst.dinas.transport.dao.VehicleDispatchDao;
import com.xyst.dinas.transport.enumeration.DispatchTypeEnum; import com.xyst.dinas.transport.enumeration.DispatchTypeEnum;
...@@ -87,8 +88,8 @@ public class VehicleDispatchServiceImpl implements VehicleDispatchService { ...@@ -87,8 +88,8 @@ public class VehicleDispatchServiceImpl implements VehicleDispatchService {
kobject.set(VehicleDispatchConstant.STATION, load.get(BaseConstants.MASTER).get(VehicleDispatchConstant.STATION)); kobject.set(VehicleDispatchConstant.STATION, load.get(BaseConstants.MASTER).get(VehicleDispatchConstant.STATION));
kobject.set(VehicleDispatchConstant.PLAN_AMOUNT, load.getBigDecimal("actualSaleAmount")); kobject.set(VehicleDispatchConstant.PLAN_AMOUNT, load.getBigDecimal("actualSaleAmount"));
} }
kobject.set("transportVehicle", vehicleDispatchDao.load("com.xyst.dinas.transport.datamodel.TransportVehicle", kobject.get("transportVehicle").getUuid("id"))); kobject.set("transportVehicle", vehicleDispatchDao.load(VehicleBindDriverUserConstant.TRANSPORT_VEHICLE_ENTITY, kobject.get("transportVehicle").getUuid("id")));
kobject.set("transportCompany", vehicleDispatchDao.load("com.xyst.dinas.transport.datamodel.TransportCompany", kobject.get("transportCompany").getUuid("id"))); kobject.set("transportCompany", vehicleDispatchDao.load(VehicleBindDriverUserConstant.TRANSPORT_COMPANY_ENTITY, kobject.get("transportCompany").getUuid("id")));
} }
......
package com.xyst.dinas.transport.service;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
import org.springframework.lang.NonNull;
import java.util.Date;
import java.util.List;
import java.util.UUID;
public interface VehicleBindDriverUserService {
UUID bindPlateNumber(String plateNumber, UUID driverUserId);
void unBindPlateNumber(UUID id);
List<KObject> vehicleListByDriverUserId(UUID id);
Page<KObject> pageByVehicleId(@NonNull Integer pageNo, @NonNull Integer pageSize, Integer status, UUID vehicleId, Date startDate, Date endDate, @NonNull Boolean isOrderByPlanCycleType, @NonNull UUID driverUserId);
}
package com.xyst.dinas.transport.web;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.pojo.DriverUser;
import com.beecode.inz.basis.service.DriverUserService;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.transport.service.VehicleBindDriverUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.UUID;
/**
* @author scol
*/
@RestController
@RequestMapping("driver/user/transport/vehicle")
public class VehicleDriverUserController {
@Autowired
private VehicleBindDriverUserService transportVehicleService;
@Autowired
private DriverUserService driverUserService;
/**
* 绑定车牌号
*
* @param plateNumber
* @param driverUserId
* @return
*/
@PostMapping("bindPlateNumber")
public Object bindPlateNumber(@RequestParam("plateNumber") String plateNumber, @RequestParam("driverUserId") UUID driverUserId) {
UUID vehicle = transportVehicleService.bindPlateNumber(plateNumber, driverUserId);
if (null != vehicle) {
return ResponseObj.success("绑定成功");
}
return ResponseObj.error("绑定失败");
}
/**
* driverUserService
*
* @return
*/
@GetMapping("driverUserInfoById")
public ResponseObj driverUserInfoById(UUID driverUserId) {
DriverUser vehicle = driverUserService.getById(driverUserId);
return ResponseObj.success("查询成功",vehicle);
}
/**
* 根据车辆与司机表id解绑(删除)
*
* @param id
* @return
*/
@PostMapping("unBindPlateNumberById")
public Object unBindPlateNumber(@RequestParam("id") UUID id) {
transportVehicleService.unBindPlateNumber(id);
return ResponseObj.success("删除成功");
}
/**
* 查询当前司机用户已经绑定的 车辆与司机表
*
* @param id
* @return list
*/
@PostMapping("vehicleListByDriverUserId")
public Object listById(@RequestParam("id") UUID id) {
return ResponseObj.success("查询成功", transportVehicleService.vehicleListByDriverUserId(id));
}
/**
* 根据车辆id分页查询当前车辆的派单记录
*
* @param vehicleId 当前车辆的id
* @param driverUserId 当前司机用户的id
* @param pageNo 页码
* @param pageSize 每页条数
* @param status 状态 0未开始 1进行中 2已结束 3异常
* @param startDate 开始时间 yyyy-MM-dd
* @param endDate 结束时间 yyyy-MM-dd
* @param isOrderByPlanCycleType 是否根据计划时间类型排序
* @return list 集合
*/
@GetMapping("/pageByVehicleId")
public ResponseObj listByVehicleId(
@RequestParam(name = "pageNo") Integer pageNo,
@RequestParam(name = "pageSize") Integer pageSize,
@RequestParam(name = "status", required = false) Integer status,
@DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam(name = "startDate", required = false) Date startDate,
@DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam(name = "endDate", required = false) Date endDate,
@RequestParam(value = "vehicleId", required = false) UUID vehicleId,
@RequestParam(value = "driverUserId") UUID driverUserId,
@RequestParam(value = "isOrderByPlanCycleType", required = false, defaultValue = "true") Boolean isOrderByPlanCycleType
) {
boolean a = (startDate == null && endDate != null) || (startDate != null && endDate == null);
if (a) {
return ResponseObj.error("请同时输入开始和结束时间");
}
Page<KObject> kObject = transportVehicleService.pageByVehicleId(pageNo, pageSize, status, vehicleId, startDate, endDate, isOrderByPlanCycleType, driverUserId);
return ResponseObj.success("查询成功", kObject);
}
}
<model>
<header>
<type>bcp.type.DataModel</type>
<package>com.xyst.dinas.transport.datamodel</package>
<title>司机用户与车牌号</title>
<name>VehicleBindDriverUser</name>
<description>派单</description>
<templateName>mk.ide.ui.editor.data.model.template.bill</templateName>
<tablePrefix>xyst_dinas_transport_</tablePrefix>
</header>
<content>
<dataModel id='94a21d60-5719-4932-88a3-292287d140de' multiVersion='' domainInherit='undefined' tableName='xyst_dinas_transport_vehicle_bind_driver_user'>
<attribute id='3165ab76-4c39-4a40-ab5b-e77cee1fb51a' name='id' columnName='id' title='id' type='uuid' default='' precision='' isArray='false'>
<annotation id='b45ddb39-d595-48e7-9014-9bff93f11bd2' attributeId='b5a8a80b-c5ef-48e0-8cc1-c6f6bc8a8c2f'
name='length' value='undefined'/>
<annotation id='50a91f17-f913-4278-99f3-e34d12862f14' attributeId='ec93471e-d5d6-4274-ba80-2d7cb7dc9050'
name='unique' value='false'/>
</attribute>
<attribute id='7e7decf0-165c-4b95-8ceb-ee238dedb12b' name='regionalCompany' columnName='regional_company_id' title='所属区域公司' type='com.xyst.dinas.biz.datamodel.xystOrganization' default='' precision='' isArray='false'>
<annotation id='3f0ffd7b-b700-47a6-b425-90dc01106a69' attributeId='fea05944-853f-4702-9b68-a897634e884d' name='length' value='undefined'>
</annotation>
<annotation id='d81fe8c4-0afe-4f31-a154-cde8d1fd66fd' attributeId='e53d8cc2-2469-4cc0-9876-57c49c78799a' name='mappingType' value='many-to-one'>
</annotation>
</attribute>
<attribute id='54286015-3bd2-4a38-b2bd-a2e73d936cc5' name='driverUser' columnName='driver_user_id' title='司机' type='com.beecode.inz.basis.datamodel.DriverUser' default='' precision='' isArray='false'>
<annotation id='71b02aeb-4a52-48ee-ae92-411aaa300fc0' attributeId='3f81edb1-cef7-491d-af72-d4dbe2516744' name='length' value='undefined'>
</annotation>
<annotation id='442060ef-34f9-4d44-bef1-a87e158ea181' attributeId='ba0ec801-ffdc-44af-ad8b-3482dbcaa718' name='mappingType' value='many-to-one'>
</annotation>
</attribute>
<attribute id='598831e5-8d59-4a73-93c4-c4bfbf07eeff' name='transportVehicle' columnName='transport_vehicle_id' title='车辆' type='com.xyst.dinas.transport.datamodel.TransportVehicle' default='' precision='' isArray='false'>
<annotation id='aabd0b7d-430d-4527-8d1c-80e4f38078b1' attributeId='f2b3736f-6ef5-410b-a9f1-4bb352333c87' name='length' value='undefined'>
</annotation>
<annotation id='74959578-e96a-4b58-b991-fa514f0c557a' attributeId='033e51c6-6659-4875-a837-98d7ed499f3f' name='mappingType' value='many-to-one'>
</annotation>
</attribute>
<attribute id="7cbd95c7-b162-47ab-a7a4-76eb3a0d2040" name="discard" title="是否废弃" type="boolean" default="false" precision="" isArray="false">
<annotation name="length" value="undefined" id="9717e371-c3cd-4f89-998e-a7e7343e9477" attributeId="87f945e0-9dcf-4d3a-8185-cd1341cc4a59"/>
</attribute>
<attribute id="73706086-0041-467a-bf16-307ae750dc90" name="del" title="是否删除" type="boolean" default="false" precision="" isArray="false">
<annotation name="length" value="undefined" id="c25aad00-28aa-4fa2-baa5-6c1a5f31dbbc" attributeId="7b2a5faf-b67d-4f34-bf4f-6cd700405169"/>
</attribute>
<attribute id="ebedbcd6-3851-417a-8397-9346a7c196e4" name="version" title="version" type="int" default="" precision="" isArray="false">
<annotation name="length" value="undefined" id="cf07afb7-1d8c-44d5-802a-378ac371cad8" attributeId="46164ade-553d-4966-a0d5-f978bcbf4523"/>
</attribute>
<attribute id="836fc160-8bc5-45f4-a8fc-42ff9e4fb553" name="createTime" columnName='create_time' title="创建时间" type="datetime" default="" precision="" isArray="false">
<annotation name="length" value="undefined" id="bb8ff073-8e51-402c-b42f-c80109fd1e9c" attributeId="e71b6738-1d40-47b6-ac6c-bb83c0ff6137"/>
</attribute>
<attribute id="ef43d29e-3770-49ae-a1f7-3197cba424a2" name="modifyTime" columnName='modify_time' title="最后修改时间" type="datetime" default="" precision="" isArray="false">
<annotation name="length" value="undefined" id="52d4a2b1-3e26-46a1-9350-0e61d2f774ba" attributeId="b559c4b6-4f6e-4f58-9309-c12373f70dcb"/>
</attribute>
<hibernate>/xyst.dinas.transport/src/main/resources/config/VehicleBindDriverUser.hbm.xml</hibernate>
</dataModel>
</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/bcp-type">
<specification>1.0</specification>
<id>94a21d60-5719-4932-88a3-292287d140de</id>
<name>com.xyst.dinas.transport.datamodel.VehicleBindDriverUser</name>
<title>司机用户与车牌号</title>
<description>派单</description>
<define>bcp.type.Class</define>
<define-version>1.0</define-version>
<dependency>javax.persistence.Entity</dependency>
<dependency>com.xyst.dinas.biz.datamodel.xystOrganization</dependency>
<dependency>javax.persistence.Column</dependency>
<dependency>javax.persistence.ManyToOne</dependency>
<dependency>javax.persistence.Table</dependency>
<dependency>javax.persistence.JoinColumn</dependency>
<dependency>javax.persistence.OneToMany</dependency>
<dependency>com.beecode.inz.basis.datamodel.DriverUser</dependency>
<dependency>com.xyst.dinas.transport.datamodel.TransportVehicle</dependency>
<dependency>javax.persistence.Id</dependency>
<content>
<m:class>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.Entity</m:type>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.Table</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>xyst_dinas_transport_vehicle_bind_driver_user</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:parents/>
<m:attributes>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.Id</m:type>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>id</m:value>
</m:property>
<m:property>
<m:key>length</m:key>
<m:value>16</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>3165ab76-4c39-4a40-ab5b-e77cee1fb51a</m:id>
<m:name>id</m:name>
<m:title>id</m:title>
<m:type>uuid</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.ManyToOne</m:type>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.JoinColumn</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>regional_company_id</m:value>
</m:property>
<m:property>
<m:key>referencedColumnName</m:key>
<m:value>ID</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>7e7decf0-165c-4b95-8ceb-ee238dedb12b</m:id>
<m:name>regionalCompany</m:name>
<m:title>所属区域公司</m:title>
<m:type>com.xyst.dinas.biz.datamodel.xystOrganization</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.ManyToOne</m:type>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.JoinColumn</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>driver_user_id</m:value>
</m:property>
<m:property>
<m:key>referencedColumnName</m:key>
<m:value>ID</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>54286015-3bd2-4a38-b2bd-a2e73d936cc5</m:id>
<m:name>driverUser</m:name>
<m:title>司机</m:title>
<m:type>com.beecode.inz.basis.datamodel.DriverUser</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.ManyToOne</m:type>
</m:annotation>
<m:annotation>
<m:type>javax.persistence.JoinColumn</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>transport_vehicle_id</m:value>
</m:property>
<m:property>
<m:key>referencedColumnName</m:key>
<m:value>ID</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>598831e5-8d59-4a73-93c4-c4bfbf07eeff</m:id>
<m:name>transportVehicle</m:name>
<m:title>车辆</m:title>
<m:type>com.xyst.dinas.transport.datamodel.TransportVehicle</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>discard</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>7cbd95c7-b162-47ab-a7a4-76eb3a0d2040</m:id>
<m:name>discard</m:name>
<m:title>是否废弃</m:title>
<m:type>boolean</m:type>
<m:description></m:description>
<m:default>false</m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>del</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>73706086-0041-467a-bf16-307ae750dc90</m:id>
<m:name>del</m:name>
<m:title>是否删除</m:title>
<m:type>boolean</m:type>
<m:description></m:description>
<m:default>false</m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>version</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>ebedbcd6-3851-417a-8397-9346a7c196e4</m:id>
<m:name>version</m:name>
<m:title>version</m:title>
<m:type>int</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>create_time</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>836fc160-8bc5-45f4-a8fc-42ff9e4fb553</m:id>
<m:name>createTime</m:name>
<m:title>创建时间</m:title>
<m:type>datetime</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
<m:attribute>
<m:annotations>
<m:annotation>
<m:type>javax.persistence.Column</m:type>
<m:properties>
<m:property>
<m:key>name</m:key>
<m:value>modify_time</m:value>
</m:property>
</m:properties>
</m:annotation>
</m:annotations>
<m:id>ef43d29e-3770-49ae-a1f7-3197cba424a2</m:id>
<m:name>modifyTime</m:name>
<m:title>最后修改时间</m:title>
<m:type>datetime</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
</m:attributes>
</m:class>
</content>
</metadata>
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
</property> </property>
<property name="dispatchStatus" type="int" not-null="true"> <property name="dispatchStatus" type="int" not-null="true">
<column name="dispatch_status" length="13"> <column name="dispatch_status" length="13">
<comment>状态</comment> <comment>状态 0未开始 1开始 2已结束 3异常(无人认领?)</comment>
</column> </column>
</property> </property>
<property name="dispatchType" type="int" not-null="true"> <property name="dispatchType" type="int" not-null="true">
...@@ -100,15 +100,17 @@ ...@@ -100,15 +100,17 @@
<comment>销售计划子表或者临时销售计划子表的id</comment> <comment>销售计划子表或者临时销售计划子表的id</comment>
</column> </column>
</property> </property>
<many-to-one name="transportVehicle" entity-name="com.xyst.dinas.transport.datamodel.TransportVehicle" fetch="select">
<column name="transport_vehicle_id" not-null="false">
<comment>派单车辆</comment>
</column>
</many-to-one>
<many-to-one name="transportCompany" entity-name="com.xyst.dinas.transport.datamodel.TransportCompany" fetch="select"> <many-to-one name="transportCompany" entity-name="com.xyst.dinas.transport.datamodel.TransportCompany" fetch="select">
<column name="transport_company_id" not-null="false"> <column name="transport_company_id" not-null="false">
<comment>派单公司</comment> <comment>派单公司</comment>
</column> </column>
</many-to-one> </many-to-one>
<many-to-one name="transportVehicle" entity-name="com.xyst.dinas.transport.datamodel.TransportVehicle" fetch="select">
<column name="transport_vehicle_id" not-null="false">
<comment>派单车辆</comment>
</column>
</many-to-one>
</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