Commit 29070185 LN

呆滞物料查询修改。

1 个父辈 752330a6
......@@ -13,10 +13,13 @@ public class MessageCriteria {
@QueryCondition(blurry = "deviceName,module,msg")
private String blurry;
@QueryCondition(type = QueryCondition.Type.BETWEEN, propName = "updateDate")
@QueryCondition(type = QueryCondition.Type.BETWEEN, propName = "createDate")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private BetweenData<Date> createDate;
@QueryCondition(type = QueryCondition.Type.BETWEEN, propName = "updateDate")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private BetweenData<Date> updateDate;
@QueryCondition
@ApiModelProperty("设备")
......
......@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.google.common.collect.Lists;
import com.neotel.smfcore.common.base.IExcelDownLoad;
import com.neotel.smfcore.common.bean.PageData;
import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.common.utils.FileUtil;
import com.neotel.smfcore.common.utils.QueryHelp;
import com.neotel.smfcore.core.barcode.service.manager.IComponentManager;
......@@ -186,7 +187,32 @@ public class MaterialStockController {
@ApiOperation("获取呆滞物料列表")
@GetMapping(value = "/sluggishMaterials")
@PreAuthorize("@el.check('sluggishMaterials')")
public PageData<StoragePosDto> sluggishMaterials(StoragePosFindCriteria criteria, Pageable pageable, HttpServletRequest request) {
public Map<String,Object> sluggishMaterials(StoragePosFindCriteria criteria, Pageable pageable, HttpServletRequest request) {
Integer sluggishDay=getSluggishDay(criteria);
Query query=getSluggishQuery(criteria,sluggishDay);
PageData<StoragePos> pages = storagePosManager.findByPage(query, pageable);
List<StoragePosDto> StoragePosDtos = storagePosMapper.toDto(pages.getContent());
Map<String,Object> resultMap=new HashMap<>();
resultMap.put("content",StoragePosDtos);
resultMap.put("totalElements",pages.getTotalElements());
resultMap.put("sluggishDay",sluggishDay);
return resultMap;
// return new PageData(StoragePosDtos, pages.getTotalElements());
}
private Integer getSluggishDay(StoragePosFindCriteria criteria){
Integer sluggishDay = criteria.getSluggishDay();
if (sluggishDay == null) {
sluggishDay = dataCache.getCache(Constants.CACHE_SluggishDay);
}
if (sluggishDay == null || sluggishDay <= 0) {
sluggishDay = 30;
}
return sluggishDay;
}
private Query getSluggishQuery(StoragePosFindCriteria criteria,Integer sluggishDay) {
if (criteria.getStorageId() != null && criteria.getStorageId().equals("0")) {
criteria.setStorageId(null);
......@@ -194,37 +220,47 @@ public class MaterialStockController {
Query query = QueryHelp.getQuery(criteria);
Criteria baseCriteria = Criteria.where("used").is(true);
if (criteria.getSluggishTime() != null && criteria.getSluggishTime().getFrom() != null && criteria.getSluggishTime().getTo() != null) {
//根据过滤时间查询
} else {
//需要查询已经过呆滞日期的物料
baseCriteria.and("barcode.sluggishTime").exists(true).lte(new Date());
}
// if (criteria.getSluggishTime() != null && criteria.getSluggishTime().getFrom() != null && criteria.getSluggishTime().getTo() != null) {
// //根据过滤时间查询
// } else {
// //需要查询已经过呆滞日期的物料
// baseCriteria.and("barcode.sluggishTime").exists(true).lte(new Date());
// }
// baseCriteria.and("barcode.sluggishTime").gte(new Date());
if(sluggishDay==null){
sluggishDay=getSluggishDay(criteria);
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.DATE, -sluggishDay);
Date tenDaysAgo = calendar.getTime();
baseCriteria.and("barcode.putInDate").lt(tenDaysAgo);
query.addCriteria(baseCriteria);
PageData<StoragePos> pages = storagePosManager.findByPage(query, pageable);
List<StoragePosDto> StoragePosDtos = storagePosMapper.toDto(pages.getContent());
return new PageData(StoragePosDtos, pages.getTotalElements());
return query;
}
@ApiOperation("导出呆滞物料报表")
@GetMapping(value = "/sluggishMaterials/download")
@PreAuthorize("@el.check('sluggishMaterials')")
public void sluggishMaterialsDownload(StoragePosFindCriteria criteria, HttpServletResponse response, Pageable pageable,HttpServletRequest request)throws IOException {
if (criteria.getStorageId() != null && criteria.getStorageId().equals("0")) {
criteria.setStorageId(null);
}
Query query = QueryHelp.getQuery(criteria);
Criteria baseCriteria = Criteria.where("used").is(true);
if (criteria.getSluggishTime() != null && criteria.getSluggishTime().getFrom() != null && criteria.getSluggishTime().getTo() != null) {
//根据过滤时间查询
} else {
//需要查询已经过呆滞日期的物料
baseCriteria.and("barcode.sluggishTime").exists(true).lte(new Date());
}
query.addCriteria(baseCriteria);
// if (criteria.getStorageId() != null && criteria.getStorageId().equals("0")) {
// criteria.setStorageId(null);
// }
// Query query = QueryHelp.getQuery(criteria);
// Criteria baseCriteria = Criteria.where("used").is(true);
//
// if (criteria.getSluggishTime() != null && criteria.getSluggishTime().getFrom() != null && criteria.getSluggishTime().getTo() != null) {
// //根据过滤时间查询
// } else {
// //需要查询已经过呆滞日期的物料
// baseCriteria.and("barcode.sluggishTime").exists(true).lte(new Date());
// }
//
// query.addCriteria(baseCriteria);
Query query=getSluggishQuery(criteria,null);
FileUtil.downloadExcel(query, pageable, response, new IExcelDownLoad() {
@Override
......
......@@ -29,9 +29,9 @@ public class StoragePosFindCriteria {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private BetweenData<Date> expireDate;
@QueryCondition(type = QueryCondition.Type.BETWEEN, propName = "barcode.sluggishTime")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private BetweenData<Date> sluggishTime;
// @QueryCondition(type = QueryCondition.Type.BETWEEN, propName = "barcode.sluggishTime")
// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// private BetweenData<Date> sluggishTime;
......@@ -86,6 +86,9 @@ public class StoragePosFindCriteria {
@QueryCondition(type = QueryCondition.Type.IN, propName = "barcode.solderStatus")
private List<String> solderStatus;
@ApiModelProperty("呆滞天数")
private Integer sluggishDay;
public int getComponentType(){
int componentType = getType();
if (componentType != -1) {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!