Commit db2abcd2 by 高晓磊

运输公司增加筛选条件

parent 9d7d9c42
......@@ -16,7 +16,7 @@ public interface TransportRecordDao extends BaseDao {
Page<KObject> recordPage(Integer pageNo, Integer pageSize, UUID vehicleId, Date startDate, Date endDate, Object o, UUID dinasTypeId, String purchaseSandUnitName, String projectName, UUID stationId, UUID productionLineId, String driverUserName, UUID projectId, Integer confirmStatus, UUID regionalCompanyId);
List<Map<String, Object>> groupByRegionalCompanyInfo();
List<Map<String, Object>> groupByRegionalCompanyInfo(List<UUID> regionalCompanyIds, Date startDate, Date endDate);
List<Map<String, Object>> groupByDinasTypeInfo();
List<Map<String, Object>> groupByDinasTypeInfo(List<UUID> regionalCompanyIds, Date startDate, Date endDate);
}
......@@ -9,6 +9,7 @@ import com.beecode.inz.common.util.DateTimeUtils;
import com.xyst.dinas.sales.constant.SalesRecordConstant;
import com.xyst.dinas.transport.constant.TransportRecordConstant;
import com.xyst.dinas.transport.dao.TransportRecordDao;
import org.apache.commons.collections.CollectionUtils;
import org.hibernate.criterion.*;
import org.hibernate.sql.JoinType;
import org.hibernate.transform.Transformers;
......@@ -108,15 +109,25 @@ public class TransportRecordDaoImpl extends AbstractBaseDao implements Transport
}
@Override
public List<Map<String, Object>> groupByRegionalCompanyInfo() {
public List<Map<String, Object>> groupByRegionalCompanyInfo(List<UUID> regionalCompanyIds, Date startDate, Date endDate) {
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.createAlias("salesRecord."+SalesRecordConstant.DINASTYPE,SalesRecordConstant.DINASTYPE);
detachedCriteria.createAlias("saleRecord","salesRecord");
detachedCriteria.createAlias("regionalCompany","regionalCompany");
if(startDate!=null){
detachedCriteria.add(Restrictions.ge(SalesRecordConstant.DEALTIME,startDate));
}
if(endDate!=null){
detachedCriteria.add(Restrictions.lt(SalesRecordConstant.DEALTIME,endDate));
}
if(CollectionUtils.isNotEmpty(regionalCompanyIds)){
detachedCriteria.add(Restrictions.in("regionalCompany.id",regionalCompanyIds));
}
detachedCriteria.setProjection(Projections.projectionList()
.add(Projections.alias(Projections.sum("salesRecord."+SalesRecordConstant.DEALAMOUNT),"sum"))
.add(Projections.alias(Projections.sum("salesRecord."+SalesRecordConstant.DEALAMOUNT),"sumCount"))
.add(Projections.alias(Projections.sum("salesRecord."+SalesRecordConstant.AMOUNT),"sumAmount"))
.add(Projections.alias(Projections.max("regionalCompany.name"),"name"))
.add(Projections.alias(Projections.groupProperty("regionalCompany.id"),"regionalCompany")));
detachedCriteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
......@@ -125,15 +136,25 @@ public class TransportRecordDaoImpl extends AbstractBaseDao implements Transport
}
@Override
public List<Map<String, Object>> groupByDinasTypeInfo() {
public List<Map<String, Object>> groupByDinasTypeInfo(List<UUID> regionalCompanyIds, Date startDate, Date endDate) {
KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.createAlias("salesRecord."+SalesRecordConstant.DINASTYPE,SalesRecordConstant.DINASTYPE);
detachedCriteria.createAlias("saleRecord","salesRecord");
detachedCriteria.createAlias("regionalCompany","regionalCompany");
if(startDate!=null){
detachedCriteria.add(Restrictions.ge(SalesRecordConstant.DEALTIME,startDate));
}
if(endDate!=null){
detachedCriteria.add(Restrictions.lt(SalesRecordConstant.DEALTIME,endDate));
}
if(CollectionUtils.isNotEmpty(regionalCompanyIds)){
detachedCriteria.add(Restrictions.in("regionalCompany.id",regionalCompanyIds));
}
detachedCriteria.setProjection(Projections.projectionList()
.add(Projections.alias(Projections.sum("salesRecord."+SalesRecordConstant.DEALAMOUNT),"sum"))
.add(Projections.alias(Projections.sum("salesRecord."+SalesRecordConstant.DEALAMOUNT),"sumCount"))
.add(Projections.alias(Projections.sum("salesRecord."+SalesRecordConstant.AMOUNT),"sumAmount"))
.add(Projections.alias(Projections.max("regionalCompany.name"),"name"))
.add(Projections.alias(Projections.groupProperty(SalesRecordConstant.DINASTYPE+".id"),SalesRecordConstant.DINASTYPE)));
detachedCriteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
......
......@@ -63,13 +63,13 @@ public class TransportRecordServiceImpl implements TransportRecordService {
}
@Override
public List<Map<String, Object>> groupByRegionalCompanyInfo() {
return transportRecordDao.groupByRegionalCompanyInfo();
public List<Map<String, Object>> groupByRegionalCompanyInfo(List<UUID> regionalCompanyIds, Date startDate, Date endDate) {
return transportRecordDao.groupByRegionalCompanyInfo(regionalCompanyIds,startDate,endDate);
}
@Override
public List<Map<String, Object>> groupByDinasTypeInfo() {
return transportRecordDao.groupByDinasTypeInfo();
public List<Map<String, Object>> groupByDinasTypeInfo(List<UUID> regionalCompanyIds, Date startDate, Date endDate) {
return transportRecordDao.groupByDinasTypeInfo(regionalCompanyIds,startDate,endDate);
}
private void setInfo(HashMap<String, Object> stringObjectHashMap, KObject data) {
......
......@@ -11,10 +11,10 @@ public interface TransportRecordService {
Page<HashMap<String, Object>> recordPage(Integer pageNo, Integer pageSize, UUID vehicleId, Date startDate, Date endDate, UUID id, UUID dinasTypeId, String purchaseSandUnitName, String projectName, UUID stationId, UUID productionLineId, String driverUserName, UUID projectId, Integer confirmStatus, UUID regionalCompanyId);
List<Map<String, Object>> groupByRegionalCompanyInfo();
List<Map<String, Object>> groupByRegionalCompanyInfo(List<UUID> regionalCompanyIds, Date startDate, Date endDate);
List<Map<String, Object>> groupByDinasTypeInfo();
List<Map<String, Object>> groupByDinasTypeInfo(List<UUID> regionalCompanyIds, Date startDate, Date endDate);
}
......@@ -71,16 +71,23 @@ public class TransportRecordController {
}
@GetMapping("transportRecord/groupByRegionalCompanyInfo")
public ResponseObj groupByRegionalCompanyInfo(
public ResponseObj groupByRegionalCompanyInfo(@RequestParam(value = "regionalCompanyIds", required = false) List<UUID> regionalCompanyIds,
@DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam(name = "startDate", required = false) Date startDate,
@DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam(name = "endDate", required = false) Date endDate
) {
List<Map<String, Object>> byId = transportRecordService.groupByRegionalCompanyInfo();
List<Map<String, Object>> byId = transportRecordService.groupByRegionalCompanyInfo(regionalCompanyIds,startDate,endDate);
return ResponseObj.success("查询成功", byId);
}
@GetMapping("transportRecord/groupByDinasTypeInfo")
public ResponseObj groupByDinasTypeInfo(
public ResponseObj groupByDinasTypeInfo(@RequestParam(value = "regionalCompanyIds", required = false) List<UUID> regionalCompanyIds,
@DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam(name = "startDate", required = false) Date startDate,
@DateTimeFormat(pattern = "yyyy-MM-dd") @RequestParam(name = "endDate", required = false) Date endDate
) {
List<Map<String, Object>> byId = transportRecordService.groupByDinasTypeInfo();
List<Map<String, Object>> byId = transportRecordService.groupByDinasTypeInfo(regionalCompanyIds,startDate,endDate);
return ResponseObj.success("查询成功", byId);
}
......
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