|
@@ -1,11 +1,24 @@
|
|
|
package org.jeecg.modules.oa.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
+import org.jeecg.common.system.query.QueryGenerator;
|
|
|
+import org.jeecg.modules.oa.entity.Assets;
|
|
|
import org.jeecg.modules.oa.entity.InventoryRecords;
|
|
|
import org.jeecg.modules.oa.mapper.InventoryRecordsMapper;
|
|
|
+import org.jeecg.modules.oa.service.IAssetsService;
|
|
|
import org.jeecg.modules.oa.service.IInventoryRecordsService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @Description: 盘点表
|
|
@@ -16,4 +29,66 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@Service
|
|
|
public class InventoryRecordsServiceImpl extends ServiceImpl<InventoryRecordsMapper, InventoryRecords> implements IInventoryRecordsService {
|
|
|
|
|
|
+ @Resource
|
|
|
+ private IAssetsService assetsService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public IPage<InventoryRecords> queryPageList(Map<String, String[]> parameterMap, Integer pageNo, Integer pageSize) {
|
|
|
+ Page<Assets> page = new Page<Assets>(pageNo, pageSize);
|
|
|
+ QueryWrapper<Assets> queryWrapper = getAssetsQueryWrapper(parameterMap);
|
|
|
+
|
|
|
+ IPage<Assets> assetsIPage = assetsService.page(page, queryWrapper);
|
|
|
+ List<Assets> assetsList = assetsIPage.getRecords();
|
|
|
+
|
|
|
+ List<InventoryRecords> inventoryRecordsList = convertAssetsToRecords(assetsList);
|
|
|
+ Page<InventoryRecords> inventoryRecordsPage = new Page<InventoryRecords>(pageNo, pageSize);
|
|
|
+ inventoryRecordsPage.setRecords(inventoryRecordsList);
|
|
|
+ return inventoryRecordsPage;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<InventoryRecords> convertAssetsToRecords(List<Assets> assetsList) {
|
|
|
+ List<InventoryRecords> inventoryRecordsList = new ArrayList<>();
|
|
|
+ assetsList.forEach(assets -> {
|
|
|
+ InventoryRecords inventory = new InventoryRecords();
|
|
|
+ inventory.setAssetEncoding(assets.getAssetNumber());
|
|
|
+ inventory.setAssetName(assets.getAssetName());
|
|
|
+ inventory.setAssetsCategory(assets.getAssetsCategory());
|
|
|
+ inventory.setSpecificationsModels(assets.getSpecificationsModels());
|
|
|
+ inventory.setOriginalValue(assets.getUnitPrice());
|
|
|
+ inventory.setCarAcquisitionDate(assets.getAcquisitionDate());
|
|
|
+ if(StringUtils.isNotBlank(assets.getAcquisitionDate())) {
|
|
|
+ inventory.setDurableYears(String.valueOf(DateUtil.ageOfNow(assets.getAcquisitionDate())));
|
|
|
+ }
|
|
|
+ inventory.setStorageLocation(assets.getUseDepartment());
|
|
|
+ inventory.setUsePersonnel(assets.getPurchasingStaff());
|
|
|
+ inventory.setUseDepartment(assets.getUseDepartment());
|
|
|
+ inventory.setAssetState(assets.getAssetState());
|
|
|
+
|
|
|
+ inventoryRecordsList.add(inventory);
|
|
|
+ });
|
|
|
+ return inventoryRecordsList;
|
|
|
+ }
|
|
|
+
|
|
|
+ private QueryWrapper<Assets> getAssetsQueryWrapper(Map<String, String[]> parameterMap) {
|
|
|
+ QueryWrapper<Assets> queryWrapper = QueryGenerator.initQueryWrapper(new Assets(), parameterMap);
|
|
|
+ List<Assets> passedAssets = assetsService.getByState("");
|
|
|
+ List<String> ids = passedAssets.stream().map(Assets::getId).collect(Collectors.toList());
|
|
|
+ queryWrapper.in("id", ids);
|
|
|
+ if(parameterMap.containsKey("assetsCategory")) {
|
|
|
+ queryWrapper.eq("assets_category", parameterMap.get("assetsCategory")[0]);
|
|
|
+ }
|
|
|
+ if(parameterMap.containsKey("assetState")) {
|
|
|
+ queryWrapper.eq("asset_state", parameterMap.get("assetState")[0]);
|
|
|
+ }
|
|
|
+ return queryWrapper;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<InventoryRecords> list(Map<String, String[]> parameterMap) {
|
|
|
+ QueryWrapper<Assets> queryWrapper = getAssetsQueryWrapper(parameterMap);
|
|
|
+ List<Assets> assetsList = this.assetsService.list(queryWrapper);
|
|
|
+ return this.convertAssetsToRecords(assetsList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|