Commit db2abcd2 by 高晓磊

运输公司增加筛选条件

parent 9d7d9c42
...@@ -16,7 +16,7 @@ public interface TransportRecordDao extends BaseDao { ...@@ -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); 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; ...@@ -9,6 +9,7 @@ import com.beecode.inz.common.util.DateTimeUtils;
import com.xyst.dinas.sales.constant.SalesRecordConstant; import com.xyst.dinas.sales.constant.SalesRecordConstant;
import com.xyst.dinas.transport.constant.TransportRecordConstant; import com.xyst.dinas.transport.constant.TransportRecordConstant;
import com.xyst.dinas.transport.dao.TransportRecordDao; import com.xyst.dinas.transport.dao.TransportRecordDao;
import org.apache.commons.collections.CollectionUtils;
import org.hibernate.criterion.*; import org.hibernate.criterion.*;
import org.hibernate.sql.JoinType; import org.hibernate.sql.JoinType;
import org.hibernate.transform.Transformers; import org.hibernate.transform.Transformers;
...@@ -108,15 +109,25 @@ public class TransportRecordDaoImpl extends AbstractBaseDao implements Transport ...@@ -108,15 +109,25 @@ public class TransportRecordDaoImpl extends AbstractBaseDao implements Transport
} }
@Override @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); KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq("del", false)); detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.createAlias("salesRecord."+SalesRecordConstant.DINASTYPE,SalesRecordConstant.DINASTYPE); detachedCriteria.createAlias("salesRecord."+SalesRecordConstant.DINASTYPE,SalesRecordConstant.DINASTYPE);
detachedCriteria.createAlias("saleRecord","salesRecord"); detachedCriteria.createAlias("saleRecord","salesRecord");
detachedCriteria.createAlias("regionalCompany","regionalCompany"); 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() 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.max("regionalCompany.name"),"name"))
.add(Projections.alias(Projections.groupProperty("regionalCompany.id"),"regionalCompany"))); .add(Projections.alias(Projections.groupProperty("regionalCompany.id"),"regionalCompany")));
detachedCriteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); detachedCriteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
...@@ -125,15 +136,25 @@ public class TransportRecordDaoImpl extends AbstractBaseDao implements Transport ...@@ -125,15 +136,25 @@ public class TransportRecordDaoImpl extends AbstractBaseDao implements Transport
} }
@Override @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); KClass bean = Amino.getStaticMetadataContext().getBean(ENTITY, KClass.class);
DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName()); DetachedCriteria detachedCriteria = DetachedCriteria.forEntityName(bean.getName());
detachedCriteria.add(Restrictions.eq("del", false)); detachedCriteria.add(Restrictions.eq("del", false));
detachedCriteria.createAlias("salesRecord."+SalesRecordConstant.DINASTYPE,SalesRecordConstant.DINASTYPE); detachedCriteria.createAlias("salesRecord."+SalesRecordConstant.DINASTYPE,SalesRecordConstant.DINASTYPE);
detachedCriteria.createAlias("saleRecord","salesRecord"); detachedCriteria.createAlias("saleRecord","salesRecord");
detachedCriteria.createAlias("regionalCompany","regionalCompany"); 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() 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.max("regionalCompany.name"),"name"))
.add(Projections.alias(Projections.groupProperty(SalesRecordConstant.DINASTYPE+".id"),SalesRecordConstant.DINASTYPE))); .add(Projections.alias(Projections.groupProperty(SalesRecordConstant.DINASTYPE+".id"),SalesRecordConstant.DINASTYPE)));
detachedCriteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); detachedCriteria.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
......
...@@ -63,13 +63,13 @@ public class TransportRecordServiceImpl implements TransportRecordService { ...@@ -63,13 +63,13 @@ public class TransportRecordServiceImpl implements TransportRecordService {
} }
@Override @Override
public List<Map<String, Object>> groupByRegionalCompanyInfo() { public List<Map<String, Object>> groupByRegionalCompanyInfo(List<UUID> regionalCompanyIds, Date startDate, Date endDate) {
return transportRecordDao.groupByRegionalCompanyInfo(); return transportRecordDao.groupByRegionalCompanyInfo(regionalCompanyIds,startDate,endDate);
} }
@Override @Override
public List<Map<String, Object>> groupByDinasTypeInfo() { public List<Map<String, Object>> groupByDinasTypeInfo(List<UUID> regionalCompanyIds, Date startDate, Date endDate) {
return transportRecordDao.groupByDinasTypeInfo(); return transportRecordDao.groupByDinasTypeInfo(regionalCompanyIds,startDate,endDate);
} }
private void setInfo(HashMap<String, Object> stringObjectHashMap, KObject data) { private void setInfo(HashMap<String, Object> stringObjectHashMap, KObject data) {
......
...@@ -11,10 +11,10 @@ public interface TransportRecordService { ...@@ -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); 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 { ...@@ -71,16 +71,23 @@ public class TransportRecordController {
} }
@GetMapping("transportRecord/groupByRegionalCompanyInfo") @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); return ResponseObj.success("查询成功", byId);
} }
@GetMapping("transportRecord/groupByDinasTypeInfo") @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); 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