Commit 29070185 LN

呆滞物料查询修改。

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