Commit 07baabfb by 王衍超

解决冲突;

parents ec2ccd0e 3c6f78ff
......@@ -26,10 +26,12 @@ import com.beecode.bcp.type.TypeConstants;
import com.beecode.inz.common.CommonConstants;
import com.beecode.inz.common.GlobalControllerExceptionHandler;
import com.beecode.inz.common.dao.CommonDao;
import com.beecode.inz.common.dao.QueryComponentDao;
import com.beecode.inz.common.internal.biztrait.InzBizTraitImpl;
import com.beecode.inz.common.internal.dao.ByIdDaoImpl;
import com.beecode.inz.common.internal.dao.CommonDaoImpl;
import com.beecode.inz.common.internal.dao.FollowerDaoImpl;
import com.beecode.inz.common.internal.dao.QueryComponentDaoImpl;
import com.beecode.inz.common.internal.dao.SalesRecordDaoImpl;
import com.beecode.inz.common.internal.scene.ChargeOfMeScene;
import com.beecode.inz.common.internal.scene.ChargeOfMySubordinates;
......@@ -49,15 +51,18 @@ import com.beecode.inz.common.internal.service.ByIdServiceImpl;
import com.beecode.inz.common.internal.service.CommonServiceImpl;
import com.beecode.inz.common.internal.service.FollowerPrivilegeServiceImpl;
import com.beecode.inz.common.internal.service.FollowerServiceImpl;
import com.beecode.inz.common.internal.service.QueryComponentServiceImpl;
import com.beecode.inz.common.internal.service.SalesRecordServiceImpl;
import com.beecode.inz.common.internal.service.TemplateManageServiceImpl;
import com.beecode.inz.common.service.CommonService;
import com.beecode.inz.common.service.QueryComponentService;
import com.beecode.inz.common.util.ApiSecurityHandle;
import com.beecode.inz.common.web.AuthcInfoController;
import com.beecode.inz.common.web.BiztypeViewConfigController;
import com.beecode.inz.common.web.CertifacationController;
import com.beecode.inz.common.web.CommonController;
import com.beecode.inz.common.web.FollowerController;
import com.beecode.inz.common.web.QueryComponentController;
import com.beecode.inz.common.web.SalesRecordController;
/**
......@@ -275,4 +280,18 @@ public class CommonConfiguration {
return new ApiSecurityHandle();
}
@Bean
public QueryComponentController queryComponentController(){
return new QueryComponentController();
}
@Bean
public QueryComponentService queryComponentServiceImpl(){
return new QueryComponentServiceImpl();
}
@Bean
public QueryComponentDao queryComponentDaoImpl(){
return new QueryComponentDaoImpl();
}
}
package com.beecode.inz.common.dao;
import java.util.List;
import java.util.UUID;
import org.json.JSONArray;
import org.json.JSONObject;
import com.beecode.inz.common.pojo.QueryComponentCoulmnData;
public interface QueryComponentDao {
JSONObject queryDetailByMasterId(UUID masterId, String detailModelName, List<QueryComponentCoulmnData> columnList,
int pageSize, int current);
}
package com.beecode.inz.common.internal.dao;
import java.util.List;
import java.util.UUID;
import javax.persistence.Tuple;
import org.hibernate.query.Query;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateTemplate;
import com.beecode.inz.common.dao.QueryComponentDao;
import com.beecode.inz.common.pojo.QueryComponentCoulmnData;
public class QueryComponentDaoImpl implements QueryComponentDao{
@Autowired
private HibernateTemplate template;
@Override
public JSONObject queryDetailByMasterId(UUID masterId, String detailModelName, List<QueryComponentCoulmnData> columnList, int pageSize,
int current) {
return template.execute(session ->{
String hql = "SELECT ";
int i = 0;
for(QueryComponentCoulmnData column : columnList) {
hql += " " + column.getKey();
if(i < columnList.size() - 1) {
hql += ",";
}
i++;
}
hql += " from " + detailModelName + " where master.id =:masterId ";
Query<Tuple> query = session.createQuery(hql, Tuple.class).setFirstResult((current - 1) * pageSize).setMaxResults(pageSize);
query.setParameter("masterId", masterId);
List<Tuple> queryList = query.getResultList();
JSONArray resultList = new JSONArray();
for(Tuple queryResult : queryList) {
JSONObject resultData = new JSONObject();
for(int j = 0 ; j < columnList.size() ; j++) {
resultData.put(columnList.get(j).getKey(), queryResult.get(j));
}
resultList.put(resultData);
}
JSONObject result = new JSONObject();
result.put("data", resultList);
long total = queryDetailCountByMasterId(masterId, detailModelName);
result.put("total", total);
return result;
});
}
private long queryDetailCountByMasterId(UUID masterId, String detailModelName) {
return template.execute(session ->{
String hql = "SELECT count(id) ";
hql += " from " + detailModelName + " where master.id =:masterId ";
Query<Tuple> query = session.createQuery(hql, Tuple.class);
query.setParameter("masterId", masterId);
List<Tuple> queryList = query.getResultList();
Tuple tuple = queryList.get(0);
long count = Long.parseLong(tuple.get(0).toString());
return count;
});
}
}
package com.beecode.inz.common.internal.service;
import java.util.List;
import java.util.UUID;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.inz.common.dao.ByIdDao;
import com.beecode.inz.common.dao.QueryComponentDao;
import com.beecode.inz.common.pojo.QueryComponentCoulmnData;
import com.beecode.inz.common.service.QueryComponentService;
public class QueryComponentServiceImpl implements QueryComponentService {
@Autowired
private QueryComponentDao queryComponentDao;
@Override
public JSONObject queryDetailByMasterId(UUID masterId, String detailModelName, List<QueryComponentCoulmnData> columnList, int pageSize,
int current) {
// TODO Auto-generated method stub
return queryComponentDao.queryDetailByMasterId(masterId, detailModelName, columnList, pageSize, current);
}
}
package com.beecode.inz.common.pojo;
public class QueryComponentCoulmnData {
private String title;
private String key;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
}
package com.beecode.inz.common.service;
import java.util.List;
import java.util.UUID;
import org.json.JSONArray;
import com.beecode.inz.common.pojo.QueryComponentCoulmnData;
public interface QueryComponentService {
Object queryDetailByMasterId(UUID masterId, String detailModelName, List<QueryComponentCoulmnData> columnList, int pageSize,
int current);
}
package com.beecode.inz.common.web;
import java.util.List;
import java.util.UUID;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.common.pojo.QueryComponentCoulmnData;
import com.beecode.inz.common.service.QueryComponentService;
import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;
@RestController
public class QueryComponentController {
@Autowired
private QueryComponentService queryComponentService;
@PostMapping("/queryComponent/queryDetailByMasterId/{masterId}")
public Object queryDetailByMasterId(@PathVariable UUID masterId, @RequestBody String body) {
JSONObject list = new JSONObject(body);
JSONArray array = JSONArray.fromObject(list.get("columnList").toString());
List<QueryComponentCoulmnData> columnList = JSONArray.toList(array, QueryComponentCoulmnData.class);
return queryComponentService.queryDetailByMasterId(masterId, list.getString("detailModelName"), columnList, list.getInt("pageSize"), list.getInt("current")).toString();
}
@PostMapping("/sand/user/queryComponent/queryDetailByMasterId/{masterId}")
public Object queryDetailByMasterIdComcompany(@PathVariable UUID masterId, @RequestBody String body) {
JSONObject list = new JSONObject(body);
JSONArray array = JSONArray.fromObject(list.get("columnList").toString());
List<QueryComponentCoulmnData> columnList = JSONArray.toList(array, QueryComponentCoulmnData.class);
return queryComponentService.queryDetailByMasterId(masterId, list.getString("detailModelName"), columnList, list.getInt("pageSize"), list.getInt("current")).toString();
}
}
......@@ -92,7 +92,7 @@
<m:desc></m:desc>
</m:field>
<m:field>
<m:name>createUser.name</m:name>
<m:name>createUser.username</m:name>
<m:title>创建人</m:title>
<m:type>string</m:type>
<m:ref/>
......
......@@ -55,6 +55,22 @@ public class ContractDao {
* @param infoid
* @return
*/
public List<KObject> getContractListNoDiscardBySomeoneParmString(String paramName,String paramValue) {
return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() {
@Override
public List<KObject> doInHibernate(Session session) throws HibernateException {
Query<KObject> query = session.createQuery("from " + ContractConstant.ENTITY_CONTRACT + " where (discard is null or discard = 0) and "+paramName+" =:paramKey", KObject.class);
query.setParameter("paramKey", paramValue);
return query.getResultList();
}
});
}
/**
* 查询项目下所有执行中的合同
* @param infoid
* @return
*/
public List<KObject> getExecutingContractByProject(UUID projectId) {
return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() {
@Override
......
......@@ -365,4 +365,22 @@ public class ContractServiceImpl implements ContractService {
public List<KObject> queryExeContractListInLife(UUID regionalCompanyId,@Nullable Date startDate,@Nullable Date endDate){
return contractDao.queryExeContractListInLife(regionalCompanyId, startDate, endDate);
}
@Override
public Boolean checkContractCodeRepeat(String contractCode) {
List<KObject> noDiscardContractList = contractDao.getContractListNoDiscardBySomeoneParmString(ContractConstant.CONTRACT_CODE,contractCode);
if(noDiscardContractList.size()>0){
return false;
}
return true;
}
@Override
public Boolean checkContractNameRepeat(String contractName) {
List<KObject> noDiscardContractList = contractDao.getContractListNoDiscardBySomeoneParmString(ContractConstant.CONTRACT_NAME,contractName);
if(noDiscardContractList.size()>0){
return false;
}
return true;
}
}
......@@ -34,6 +34,16 @@ public interface ContractService {
void discardContract(UUID id);
/**
* 检查合同编号是否重复
* @param id
*/
Boolean checkContractCodeRepeat(String contractCode);
/**
* 检查合同名称是否重复
* @param id
*/
Boolean checkContractNameRepeat(String contractName);
/**
* 检查当前项目是否能用
* @param id
*/
......
......@@ -77,6 +77,19 @@ public class ContractController {
return contractInfo;
}
@PostMapping("/contract/repeat/check/code")
public Object checkContractCodeRepeat(@RequestBody BaseEntity contract) {
String contractCode = contract.getId();
Boolean result = contractService.checkContractCodeRepeat(contractCode);
return ResponseObj.success("校验成功", result);
}
@PostMapping("/contract/repeat/check/name")
public Object checkContractNameRepeat(@RequestBody BaseEntity contract) {
String contractName = contract.getId();
Boolean result = contractService.checkContractNameRepeat(contractName);
return ResponseObj.success("校验成功", result);
}
@PostMapping("/contract/projectable/check")
public Object checkProjectAbled(@RequestBody BaseEntity contract) {
UUID id = UUID.fromString(contract.getId());
......
......@@ -22,6 +22,7 @@ dependencies {
compile project(":xyst.dinas.biz")
compile project(":xyst.dinas.project")
compile project(":xyst.dinas.contract")
compile project(":xyst.dinas.sales")
testCompile lib.amino_boot_web
......
package com.xyst.dinas.finance.config;
import org.springframework.context.annotation.Bean;
import com.xyst.dinas.finance.dao.BankRechargeDetailDao;
import com.xyst.dinas.finance.dao.ExpenseAdjustDao;
import com.xyst.dinas.finance.dao.FinanceRefundDao;
import com.xyst.dinas.finance.dao.StatementAccountDao;
import com.xyst.dinas.finance.internal.dao.BankRechargeDetailDaoImpl;
import com.xyst.dinas.finance.internal.dao.ExpenseAdjustDaoImpl;
import com.xyst.dinas.finance.internal.dao.StatementAccountDaoImpl;
import com.xyst.dinas.finance.internal.service.BankRechargeDetailServiceImpl;
import com.xyst.dinas.finance.internal.service.ExpenseAdjustServiceImpl;
import com.xyst.dinas.finance.internal.service.FinanceRefundServiceImpl;
import com.xyst.dinas.finance.internal.service.StatementAccountServiceImpl;
import com.xyst.dinas.finance.processor.FinanceRefundProcessor;
import com.xyst.dinas.finance.service.BankRechargeDetailService;
import com.xyst.dinas.finance.service.ExpenseAdjustService;
import com.xyst.dinas.finance.service.FinanceRefundService;
import com.xyst.dinas.finance.service.StatementAccountService;
import com.xyst.dinas.finance.web.BankRechargeDetailController;
import com.xyst.dinas.finance.web.ExpenseAdjustController;
import com.xyst.dinas.finance.web.RefundController;
import com.xyst.dinas.finance.web.StatementAccountController;
public class FinanceConfiguration {
......@@ -71,5 +75,20 @@ public class FinanceConfiguration {
return new BankRechargeDetailDaoImpl();
}
@Bean
public StatementAccountController statementAccountController() {
return new StatementAccountController();
}
@Bean
public StatementAccountService statementAccountService() {
return new StatementAccountServiceImpl();
}
@Bean
public StatementAccountDao statementAccountDao() {
return new StatementAccountDaoImpl();
}
}
package com.xyst.dinas.finance.dao;
import java.util.List;
import java.util.UUID;
import com.beecode.bcp.type.KObject;
public interface StatementAccountDao {
List<KObject> queryStatementAccountByContractId(UUID contractId, String modelPath);
}
package com.xyst.dinas.finance.entity;
import java.math.BigDecimal;
public class StatementAccount {
private String dealDate;
private String dealType;
private BigDecimal dealAmount;
public String getDealDate() {
return dealDate;
}
public void setDealDate(String dealDate) {
this.dealDate = dealDate;
}
public String getDealType() {
return dealType;
}
public void setDealType(String dealType) {
this.dealType = dealType;
}
public BigDecimal getDealAmount() {
return dealAmount;
}
public void setDealAmount(BigDecimal dealAmount) {
this.dealAmount = dealAmount;
}
}
package com.xyst.dinas.finance.internal.dao;
import java.util.List;
import java.util.UUID;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
import com.beecode.bcp.type.KObject;
import com.mchange.v2.c3p0.stmt.StatementCache;
import com.xyst.dinas.finance.constant.ArtificialRechargeConstant;
import com.xyst.dinas.finance.dao.StatementAccountDao;
public class StatementAccountDaoImpl implements StatementAccountDao{
@Autowired
private HibernateOperations template;
@Override
public List<KObject> queryStatementAccountByContractId(UUID contractId, String modelPath) {
return (List<KObject>)template.execute(new HibernateCallback<List<KObject>>() {
@SuppressWarnings("unchecked")
@Override
public List<KObject> doInHibernate(Session session) throws HibernateException {
Query<KObject> query = session.createQuery("from " + modelPath + " where contract.id=:contractId", KObject.class);
query.setParameter("contractId", contractId);
List<KObject> resultList = query.getResultList();
return resultList;
}
});
}
}
package com.xyst.dinas.finance.internal.service;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.finance.constant.ArtificialRechargeConstant;
import com.xyst.dinas.finance.constant.ExpenseAdjustConstant;
import com.xyst.dinas.finance.constant.FinanceRefundConstant;
import com.xyst.dinas.finance.dao.StatementAccountDao;
import com.xyst.dinas.finance.entity.StatementAccount;
import com.xyst.dinas.finance.enumeration.FundTypeEnum;
import com.xyst.dinas.finance.service.StatementAccountService;
import com.xyst.dinas.sales.constant.SalesRecordConstant;
public class StatementAccountServiceImpl implements StatementAccountService{
@Autowired
private StatementAccountDao statementAccountDao;
@Override
public Object queryStatementAccountByContractId(UUID contractId) {
try {
List<KObject> artificialRechargeList = statementAccountDao.queryStatementAccountByContractId(contractId, ArtificialRechargeConstant.ENTITY);
List<StatementAccount> statementAccounts = new ArrayList<StatementAccount>();
//人工充值
if (artificialRechargeList.size() > 0) {
for (int i = 0; i < artificialRechargeList.size(); i++) {
KObject kObject = artificialRechargeList.get(i);
StatementAccount statementAccount = new StatementAccount();
if (kObject.getString("fundType").equals(FundTypeEnum.ADVANCE.name())) { //预付款
statementAccount.setDealType("预付款充值");
} else if (kObject.getString("fundType").equals(FundTypeEnum.DEPOSIT.name())){
statementAccount.setDealType("保证金充值");
}
statementAccount.setDealAmount(kObject.getBigDecimal("rechargeAmount"));
statementAccount.setDealDate(kObject.getString("createTime"));
statementAccounts.add(statementAccount);
}
}
//退费
List<KObject> financeRefundList = statementAccountDao.queryStatementAccountByContractId(contractId, FinanceRefundConstant.ENTITY);
if (financeRefundList.size() > 0) {
for (int i = 0; i < financeRefundList.size(); i++) {
KObject kObject = financeRefundList.get(i);
StatementAccount statementAccount = new StatementAccount();
if (kObject.getString("fundType").equals(FundTypeEnum.ADVANCE.name())) { //预付款
statementAccount.setDealType("预付款退费");
} else if (kObject.getString("fundType").equals(FundTypeEnum.DEPOSIT.name())){
statementAccount.setDealType("保证金退费");
}
statementAccount.setDealAmount(kObject.getBigDecimal("applyRefundAmount"));
statementAccount.setDealDate(kObject.getString("createTime"));
statementAccounts.add(statementAccount);
}
}
//费用调整
List<KObject> expenseAdjustList = statementAccountDao.queryStatementAccountByContractId(contractId, ExpenseAdjustConstant.ENTITY);
if (expenseAdjustList.size() > 0) {
for (int i = 0; i < expenseAdjustList.size(); i++) {
KObject kObject = expenseAdjustList.get(i);
StatementAccount statementAccount = new StatementAccount();
if (kObject.getString("fundType").equals(FundTypeEnum.ADVANCE.name())) { //预付款
statementAccount.setDealType("预付款费用调整");
} else if (kObject.getString("fundType").equals(FundTypeEnum.DEPOSIT.name())){
statementAccount.setDealType("保证金费用调整");
}
statementAccount.setDealAmount(kObject.getBigDecimal("expenseAdjustAmount"));
statementAccount.setDealDate(kObject.getString("createTime"));
statementAccounts.add(statementAccount);
}
}
//销售
List<KObject> saleRecordList = statementAccountDao.queryStatementAccountByContractId(contractId, SalesRecordConstant.ENTITY);
if (saleRecordList.size() > 0) {
for (int i = 0; i < saleRecordList.size(); i++) {
KObject kObject = saleRecordList.get(i);
StatementAccount statementAccount = new StatementAccount();
statementAccount.setDealType("销售");
statementAccount.setDealAmount(kObject.getBigDecimal("amount"));
statementAccount.setDealDate(kObject.getString("createTime"));
statementAccounts.add(statementAccount);
}
}
return ResponseObj.success("查询成功", statementAccounts);
} catch (Exception e) {
e.printStackTrace();
return ResponseObj.error();
}
}
}
package com.xyst.dinas.finance.service;
import java.util.UUID;
public interface StatementAccountService {
Object queryStatementAccountByContractId(UUID fromString);
}
package com.xyst.dinas.finance.web;
import java.util.UUID;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.xyst.dinas.finance.service.StatementAccountService;
/**
* 费用调整
*
* @author yangqingsong
* @date 2021年4月25日
*/
@RestController
public class StatementAccountController {
@Autowired
private StatementAccountService statementAccountService;
@ResponseBody
@RequestMapping(value = "/finance/statementAccount/queryStatementAccountByContractId", method = RequestMethod.GET)
public Object queryStatementAccountByContractId(@RequestParam String contractId) {
return statementAccountService.queryStatementAccountByContractId(UUID.fromString(contractId));
}
}
......@@ -3,8 +3,11 @@ package com.xyst.dinas.price.dao;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
import com.beecode.inz.basis.dao.BaseDao;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartReturnEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartSearchEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.entity.StationDinasTypePriceDetail;
import org.springframework.lang.NonNull;
import java.util.*;
......@@ -26,9 +29,22 @@ public interface PriceAdjustmentDao extends BaseDao {
List<KObject> getByStationId(UUID id);
List<KObject> getNewDetailsByStation(UUID id);
ArrayList<StationDinasTypePriceDetail> getNewDetailListByStation(UUID id);
ArrayList<StationDinasTypePriceDetail> getNewDetailListByStation(@NonNull UUID id);
void deleteById(UUID id);
List<PriceAdjustmentEchartReturnEntity> getDetailsByFilter(PriceAdjustmentEchartSearchEntity priceAdjustmentEchartSearchEntity);
/**
* 将未生效的改成已生效
* @param date
*/
void updateToStart(Date date);
/**
* 将已生效的改成以失效
* @param date
*/
void updateToEnd(Date date);
}
package com.xyst.dinas.price.entity;
import java.util.List;
import java.util.UUID;
public class PriceAdjustmentEchartReturnEntity {
private UUID dinasTypeId;
private String dinasTypeName;
private UUID regionalCompanyId;
private String regionalCompanyName;
private List<StationDetailEntity> stationDetails;
public UUID getDinasTypeId() {
return dinasTypeId;
}
public void setDinasTypeId(UUID dinasTypeId) {
this.dinasTypeId = dinasTypeId;
}
public String getDinasTypeName() {
return dinasTypeName;
}
public void setDinasTypeName(String dinasTypeName) {
this.dinasTypeName = dinasTypeName;
}
public UUID getRegionalCompanyId() {
return regionalCompanyId;
}
public void setRegionalCompanyId(UUID regionalCompanyId) {
this.regionalCompanyId = regionalCompanyId;
}
public String getRegionalCompanyName() {
return regionalCompanyName;
}
public void setRegionalCompanyName(String regionalCompanyName) {
this.regionalCompanyName = regionalCompanyName;
}
public List<StationDetailEntity> getStationDetails() {
return stationDetails;
}
public void setStationDetails(List<StationDetailEntity> stationDetails) {
this.stationDetails = stationDetails;
}
}
package com.xyst.dinas.price.entity;
import java.util.List;
import java.util.UUID;
public class StationDetailEntity {
private UUID stationId;
private String stationName;
private List<TimeValue> timeValues;
public UUID getStationId() {
return stationId;
}
public void setStationId(UUID stationId) {
this.stationId = stationId;
}
public String getStationName() {
return stationName;
}
public void setStationName(String stationName) {
this.stationName = stationName;
}
public List<TimeValue> getTimeValues() {
return timeValues;
}
public void setTimeValues(List<TimeValue> timeValues) {
this.timeValues = timeValues;
}
}
\ No newline at end of file
package com.xyst.dinas.price.entity;
import java.util.Date;
import java.util.UUID;
public class TimeValue {
private UUID id;
private Date time;
private Double value;
public UUID getId() {
return id;
}
public void setId(UUID id) {
this.id = id;
}
public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
}
public Double getValue() {
return value;
}
public void setValue(Double value) {
this.value = value;
}
}
......@@ -3,6 +3,7 @@ package com.xyst.dinas.price.internal.service;
import com.beecode.bap.attachment.common.Page;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.price.dao.PriceAdjustmentDao;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartReturnEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartSearchEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.entity.StationDinasTypePriceDetail;
......@@ -12,7 +13,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Date;
import java.util.List;
import java.util.UUID;
......@@ -22,7 +23,6 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
@Autowired
private PriceAdjustmentDao priceAdjustmentDao;
@Override
public Page<KObject> queryByPaging(PriceAdjustmentSearchEntity<KObject> priceAdjustmentSearchEntity) throws Exception {
if(priceAdjustmentSearchEntity.getPageNo()==0||priceAdjustmentSearchEntity.getPageSize()==0) {
......@@ -41,10 +41,6 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
return kObjects;
}
@Override
public List<KObject> getNewDetailsByStation(UUID id) {
return priceAdjustmentDao.getNewDetailsByStation(id);
}
@Override
public ArrayList<StationDinasTypePriceDetail> getNewDetailListByStation(UUID id) {
......@@ -68,10 +64,17 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
}
@Override
public List<HashMap<String, Object>> getChartLine(PriceAdjustmentEchartSearchEntity priceAdjustmentEchartSearchEntity) {
return null;
public List<PriceAdjustmentEchartReturnEntity> getChartLine(PriceAdjustmentEchartSearchEntity priceAdjustmentEchartSearchEntity) {
return priceAdjustmentDao.getDetailsByFilter(priceAdjustmentEchartSearchEntity);
}
@Override
public void updatePriceAdjustmentStatus() {
//先结束旧的
priceAdjustmentDao.updateToEnd(new Date());
//再开始新的
priceAdjustmentDao.updateToStart(new Date());
}
@Override
public UUID addPriceAdjustment(KObject kObject) {
......@@ -83,18 +86,8 @@ public class PriceAdjustmentServiceImpl implements PriceAdjustmentService {
return priceAdjustmentDao.load(id);
}
@Override
public void update(KObject kobject) {
priceAdjustmentDao.modify(kobject);
}
private void deleteDetailByMasterId(UUID stationId) {
priceAdjustmentDao.deleteDetailByMasterId(stationId);
}
}
package com.xyst.dinas.price.service;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartReturnEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartSearchEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.entity.StationDinasTypePriceDetail;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
......@@ -23,8 +23,6 @@ public interface PriceAdjustmentService {
List<KObject> getNewByStations(List<UUID> ids);
List<KObject> getNewDetailsByStation(UUID id);
ArrayList<StationDinasTypePriceDetail> getNewDetailListByStation(UUID id);
KObject validateByStationId(UUID id);
......@@ -32,5 +30,11 @@ public interface PriceAdjustmentService {
void deleteById(UUID id);
List<HashMap<String, Object>> getChartLine(PriceAdjustmentEchartSearchEntity priceAdjustmentEchartSearchEntity);
List<PriceAdjustmentEchartReturnEntity> getChartLine(PriceAdjustmentEchartSearchEntity priceAdjustmentEchartSearchEntity);
/**
* 修改今日砂价的生效状态,如果调整日期为今天,则生效并填充上一次的结束时间
*/
void updatePriceAdjustmentStatus();
}
package com.xyst.dinas.price.task;
import com.beecode.amino.metadata.context.ApplicationMetadataContext;
import com.beecode.amino.metadata.runtime.ServiceInitializer;
import com.beecode.bap.scheduler.entity.ScheduleDetail;
import com.beecode.bap.scheduler.entity.TaskDetail;
import com.beecode.bap.scheduler.service.ScheduleService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.PostConstruct;
import java.util.Optional;
public class PriceAdjustmentStatusSchedule implements ServiceInitializer {
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private ScheduleService scheduleService;
/**
* 砂价到期生效
*/
private final String PRICE_ADJUSTMENT_STATUS_TASK = "PriceAdjustmentStatusTask";
@Override
public void init(ApplicationMetadataContext applicationMetadataContext) {
Optional<ScheduleDetail> byName = scheduleService.findByName(PRICE_ADJUSTMENT_STATUS_TASK);
if(byName.isPresent()){
scheduleService.removeTask(PRICE_ADJUSTMENT_STATUS_TASK);
}
TaskDetail taskDetail = new TaskDetail(PRICE_ADJUSTMENT_STATUS_TASK, PriceAdjustmentStatusTask.class.getName());
//应该每晚一次 避免跑偏 4小时执行一次
scheduleService.scheduleTask(taskDetail, "0 0 0/4 * * ? *");
logger.info("砂价到期生效任务初始化成功!");
}
@PostConstruct
public void init(){
init(null);
}
}
package com.xyst.dinas.price.task;
import com.beecode.amino.core.Amino;
import com.beecode.bap.scheduler.core.Task;
import com.beecode.bap.scheduler.core.TaskContext;
import com.xyst.dinas.price.service.PriceAdjustmentService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @author scol
*/
public class PriceAdjustmentStatusTask implements Task {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private PriceAdjustmentService priceAdjustmentService;
@Override
public void execute(TaskContext taskContext) {
logger.info("开始修改采砂许可证状态");
if(priceAdjustmentService ==null){
priceAdjustmentService = Amino.getApplicationContext().getBean(PriceAdjustmentService.class);
}
priceAdjustmentService.updatePriceAdjustmentStatus();
logger.info("修改采砂许可证状态结束");
}
}
......@@ -9,6 +9,7 @@ import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.beecode.inz.common.BaseConstants;
import com.xyst.dinas.biz.service.DinasTypeService;
import com.xyst.dinas.price.constant.PriceAdjustmentConstant;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartReturnEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentEchartSearchEntity;
import com.xyst.dinas.price.entity.PriceAdjustmentSearchEntity;
import com.xyst.dinas.price.service.PriceAdjustmentService;
......@@ -16,7 +17,6 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
......@@ -182,12 +182,12 @@ public class PriceAdjustmentController {
/**
* 获取最新的砂石价格
* @param ids id
* @param priceAdjustmentEchartSearchEntity id
* @return 获取成功
*/
@GetMapping("getChartLine")
public ResponseObj getChartLine(PriceAdjustmentEchartSearchEntity priceAdjustmentEchartSearchEntity) {
List<HashMap<String,Object>> priceAdjustment = priceAdjustmentService.getChartLine(priceAdjustmentEchartSearchEntity);
List<PriceAdjustmentEchartReturnEntity> priceAdjustment = priceAdjustmentService.getChartLine(priceAdjustmentEchartSearchEntity);
return ResponseObj.success("获取成功", priceAdjustment);
}
......
package com.xyst.dinas.sales.constant;
public interface SalesRecordConstant {
public static String ENTITY = "com.xyst.dinas.sales.datamodel.SalesRecord";
}
......@@ -37,22 +37,6 @@
]
},
"actions": [
{
"param": [],
"enable": "ALL",
"name": "query_export",
"action": "query_export",
"title": "导出",
"type": ""
},
{
"name": "queryRefresh",
"title": "刷新",
"action": "queryRefresh",
"param": [],
"type": "",
"enable": "ALL"
}
],
"table": {
"selectType": "MULTI",
......@@ -150,7 +134,22 @@
"title" : "详情",
"action" : "openDetail",
"param" : {
"modelName" : "123"
"detailModelName" : "com.xyst.dinas.sales.datamodel.NeedPlan$NeedPlanDetail",
"columnList":[
{
"key":"dinasType.dinasTypeName",
"title":"砂石种类"
},
{
"key":"needPlanAmount",
"title":"需用计划量(吨)"
},
{
"key":"effectiveSale",
"title":"销售计划量(吨)"
}
],
"listenerName":"execute-deatil"
},
"type" : ""
} ],
......
......@@ -219,7 +219,7 @@
"title" : "详情",
"action" : "openDetail",
"param" : {
"modelName" : "123"
"listenerName" : "project-and-company-query-detail"
},
"type" : ""
} ],
......
......@@ -47,22 +47,6 @@
}
],
"table": {
"actions": [
{
"param": [],
"enable": "ALL",
"name": "query_export",
"action": "query_export",
"title": "导出",
"type": ""
}
],
"selectType": "MULTI",
"serialNumber": "series",
"pageSize": 10,
"orders":[
],
"expand": false,
"columns": [
{
......@@ -163,7 +147,26 @@
"title" : "详情",
"action" : "openDetail",
"param" : {
"modelName" : "123"
"detailModelName" : "com.xyst.dinas.sales.datamodel.SalesPlan$SalesPlanDetail",
"columnList":[
{
"key":"dinasType.dinasTypeName",
"title":"砂石种类"
},
{
"key":"requiredAmount",
"title":"需用计划量(吨)"
},
{
"key":"planAmount",
"title":"销售计划量(吨)"
},
{
"key":"actualSaleAmount",
"title":"实际运输量(吨)"
}
],
"listenerName":"execute-deatil"
},
"type" : ""
} ],
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-sequence">
<specification>1.0</specification>
<id>4ca2af62-944a-4383-be3f-d853e72226a1</id>
<name>com.xyst.dinas.transport.bill.TransportDriver$sequence</name>
<title>运输司机备案$sequence</title>
<description>运输司机备案</description>
<define>bcp.sequence</define>
<define-version>1.0</define-version>
<content>
<m:sequence>
<m:start-with>0</m:start-with>
<m:increment>1</m:increment>
<m:max>99999</m:max>
<m:min>0</m:min>
<m:cycle>true</m:cycle>
<m:cache-size>10</m:cache-size>
</m:sequence>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-serial">
<specification>1.0</specification>
<id>a6ef5e18-5662-4408-8e75-f2d0ef6aaa7d</id>
<name>com.xyst.dinas.transport.bill.TransportDriver$serial</name>
<title>运输司机备案$serial</title>
<description>运输司机备案</description>
<define>bcp.serial</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.transport.datamodel.TransportDriver</dependency>
<dependency>com.xyst.dinas.transport.bill.TransportDriver$sequence</dependency>
<content>
<m:serial>
<m:input>com.xyst.dinas.transport.datamodel.TransportDriver</m:input>
<m:functionLibrarys/>
<m:segments>
<m:literal>
<m:value>TD</m:value>
</m:literal>
<m:sequence>
<m:length>5</m:length>
<m:pad-direction>left</m:pad-direction>
<m:pad-string>0</m:pad-string>
<m:key>com.xyst.dinas.transport.bill.TransportDriver$serial</m:key>
<m:sequenceName>com.xyst.dinas.transport.bill.TransportDriver$sequence</m:sequenceName>
</m:sequence>
</m:segments>
</m:serial>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata" xmlns:m="http://www.beecode.cn/schema/bcp-biztype">
<specification>1.0</specification>
<id>88ec7509-2535-4983-b579-52513862e7db</id>
<name>com.xyst.dinas.transport.bill.TransportDriver</name>
<title>运输司机管理</title>
<description>运输司机管理</description>
<define>bcp.biz.Biztype</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.transport.bill.TransportDriver$serial</dependency>
<dependency>com.xyst.dinas.transport.datamodel.TransportDriver</dependency>
<dependency>com.beecode.bap.biztrait.BasicBillBiztrait</dependency>
<content>
<m:biztype>
<m:type>com.xyst.dinas.transport.datamodel.TransportDriver</m:type>
<m:inheritances>
<m:inheritance>
<m:biztrait>com.beecode.bap.biztrait.BasicBillBiztrait</m:biztrait>
<m:config type="xml">
<m:content>&lt;billBasictraitConfig&gt;&lt;formulas/&gt;&lt;parents&gt;&lt;parent&gt;&lt;billCodeConfig&gt;&lt;serialName&gt;com.xyst.dinas.transport.bill.TransportDriver$serial&lt;/serialName&gt;&lt;buildTime&gt;add&lt;/buildTime&gt;&lt;/billCodeConfig&gt;&lt;/parent&gt;&lt;parent&gt;&lt;workflowConfig&gt;&lt;workflow&gt;&lt;/workflow&gt;&lt;/workflowConfig&gt;&lt;/parent&gt;&lt;parent&gt;&lt;printConfig&gt;&lt;templates/&gt;&lt;/printConfig&gt;&lt;/parent&gt;&lt;/parents&gt;&lt;functionLibrarys/&gt;&lt;/billBasictraitConfig&gt;</m:content>
</m:config>
</m:inheritance>
</m:inheritances>
<m:methodAuthorityItems/>
</m:biztype>
</content>
</metadata>
<?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>46c69fca-1494-4c8b-bbc7-141baa6d5355</id>
<name>com.xyst.dinas.transport.datamodel.TransportDriver</name>
<title>运输司机备案</title>
<description>运输司机备案</description>
<define>bcp.type.Class</define>
<define-version>1.0</define-version>
<dependency>bcp.type.constraint.StringLength</dependency>
<dependency>com.beecode.inz.common.datamodel.BaseInfo</dependency>
<dependency>com.beecode.bap.staff.datamodel.Staff</dependency>
<dependency>com.xyst.dinas.biz.datamodel.xystOrganization</dependency>
<dependency>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</dependency>
<content>
<m:class>
<m:parents>
<m:parent>com.beecode.bap.biztrait.datamodel.BasicBillRequirement</m:parent>
<m:parent>com.beecode.inz.common.datamodel.BaseInfo</m:parent>
</m:parents>
<m:attributes>
<m:attribute>
<m:annotations/>
<m:id>6e0054f1-5138-46d7-9103-9afde9cb1ece</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:id>f5b3ce64-981b-49d8-b3e5-0cf7f6767b5f</m:id>
<m:name>driverName</m:name>
<m:title>司机姓名</m:title>
<m:type>string</m:type>
<m:description>场站名称</m:description>
<m:default/>
</m:attribute>
<m:attribute>
<m:annotations/>
<m:id>20f48778-d620-4573-919c-b3e00855f790</m:id>
<m:name>idCard</m:name>
<m:title>身份证号</m:title>
<m:type>string</m:type>
<m:description>身份证号</m:description>
<m:default/>
</m:attribute>
<m:attribute>
<m:id>f121b681-5ad7-4f8a-9dda-269b352e1fd4</m:id>
<m:name>contactDetails</m:name>
<m:title>联系方式</m:title>
<m:type>string</m:type>
<m:description></m:description>
<m:default></m:default>
</m:attribute>
</m:attributes>
</m:class>
</content>
</metadata>
<?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>8ee05a1e-fd46-458a-8b68-08df8d50db33</id>
<name>com.xyst.dinas.transport.query.TransportDriver</name>
<title>运输司机备案</title>
<description>运输司机备案</description>
<define>inz.query.Query</define>
<define-version>1.0</define-version>
<dependency>com.xyst.dinas.transport.datamodel.TransportDriver</dependency>
<content>
<m:query>
<m:type>com.xyst.dinas.transport.datamodel.TransportDriver</m:type>
<m:dataProcessor></m:dataProcessor>
<m:innerScenes>
<m:innerScene>
<m:id>e093c44a-a807-40bf-85a9-e5256cb7e887</m:id>
<m:title>全部</m:title>
<m:javaImplement>com.beecode.inz.common.scene.CommonAllScene</m:javaImplement>
<m:defaultExecute></m:defaultExecute>
<m:hide></m:hide>
</m:innerScene>
<m:innerScene>
<m:id>4e6b04c8-170b-458e-92e4-f31449d469f8</m:id>
<m:title>已废弃</m:title>
<m:javaImplement>com.beecode.inz.common.scene.DefaultDiscardScene</m:javaImplement>
<m:defaultExecute></m:defaultExecute>
<m:hide></m:hide>
</m:innerScene>
<m:innerScene>
<m:id>c1a2bc7f-5267-412b-a011-929d8e6a76cc</m:id>
<m:title>权限过滤</m:title>
<m:javaImplement>com.xyst.dinas.biz.scene.XystDinasCommonAllScene</m:javaImplement>
<m:defaultExecute>true</m:defaultExecute>
<m:hide>true</m:hide>
</m:innerScene>
</m:innerScenes>
<m:fields>
<m:field>
<m:name>regionalCompany.id</m:name>
<m:title>区域公司</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>regionalCompany.name</m:name>
<m:title>区域公司name</m:title>
<m:type>string</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>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>driverName</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>idCard</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>contactDetails</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>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>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>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>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>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: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:query>
</content>
</metadata>
<?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.transport.datamodel.TransportDriver" table="xyst_dinas_transport_driver" 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="billState" type="nstring" not-null="false">
<column name="bill_state" length="100"/>
</property>
<many-to-one name="bizProcess" entity-name="com.beecode.bap.workflow.datamodel.BizProcess" fetch="select">
<column name="biz_process_id" not-null="false"/>
</many-to-one>
<property name="billCode" type="nstring" not-null="false">
<column name="bill_code" length="200"/>
</property>
<property name="discard" type="boolean" not-null="false">
<column name="discard"/>
</property>
<property name="del" type="boolean" not-null="false">
<column name="del"/>
</property>
<property name="approveState" type="integer" not-null="false">
<column name="approve_state"/>
</property>
<many-to-one name="regionalCompany" entity-name="com.xyst.dinas.biz.datamodel.xystOrganization" fetch="select">
<column name="regional_company" not-null="false">
<comment>所属组织机构</comment>
</column>
</many-to-one>
<property name="driverName" type="nstring" not-null="true">
<column name="driver_name" length="13">
<comment>司机姓名</comment>
</column>
</property>
<property name="idCard" type="nstring" not-null="false">
<column name="id_card" length="100">
<comment>身份证号</comment>
</column>
</property>
<property name="contactDetails" type="nstring" not-null="false">
<column name="contact_details" length="100">
<comment>联系方式</comment>
</column>
</property>
</class>
</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