|
@@ -1,19 +1,31 @@
|
|
|
package com.ruoyi.demo.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
import com.ruoyi.demo.entity.Equipment;
|
|
|
+import com.ruoyi.demo.entity.Plan;
|
|
|
+import com.ruoyi.demo.entity.PlanItem;
|
|
|
+import com.ruoyi.demo.entity.Store;
|
|
|
+import com.ruoyi.demo.entity.bo.EquipmentBo;
|
|
|
+import com.ruoyi.demo.entity.bo.PlanBo;
|
|
|
+import com.ruoyi.demo.entity.bo.PlanItemBo;
|
|
|
import com.ruoyi.demo.entity.vo.EquipmentVo;
|
|
|
+import com.ruoyi.demo.entity.vo.PlanItemVo;
|
|
|
import com.ruoyi.demo.mapper.EquipmentMapper;
|
|
|
+import com.ruoyi.demo.mapper.PlanItemMapper;
|
|
|
+import com.ruoyi.demo.mapper.PlanMapper;
|
|
|
import com.ruoyi.demo.service.EquipmentService;
|
|
|
import com.ruoyi.demo.utils.InitMapUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.List;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class EquipmentServiceImpl implements EquipmentService {
|
|
@@ -21,20 +33,43 @@ public class EquipmentServiceImpl implements EquipmentService {
|
|
|
EquipmentMapper equipmentMapper;
|
|
|
@Autowired
|
|
|
InitMapUtil initMapUtil;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ PlanItemMapper planItemMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ PlanMapper planMapper;
|
|
|
@Override
|
|
|
public void addEquipment(EquipmentVo equipmentVo) {
|
|
|
Equipment equipment = new Equipment(equipmentVo);
|
|
|
- //地区码映射
|
|
|
+ //1.新增地区码映射
|
|
|
equipment.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(equipment.getAddrCode()));
|
|
|
- //时间
|
|
|
+ //2.新增创建时间
|
|
|
equipment.setEnterTime(LocalDateTime.now());
|
|
|
equipmentMapper.insert(equipment);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void updateEquipment(EquipmentVo equipmentVo) {
|
|
|
+ //1.更新地区码映射
|
|
|
equipmentVo.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(equipmentVo.getAddrCode()));
|
|
|
- equipmentMapper.updateEquipment(equipmentVo);
|
|
|
+ //2.更新时间
|
|
|
+ equipmentVo.setUpdateTime(LocalDateTime.now());
|
|
|
+ UpdateWrapper<Equipment> updateWrapper = new UpdateWrapper<>();
|
|
|
+ updateWrapper.eq("equipment_id",equipmentVo.getEquipmentId());
|
|
|
+ updateWrapper.set("equipment_name",equipmentVo.getEquipmentName())
|
|
|
+ .set("annotation",equipmentVo.getAnnotation())
|
|
|
+ .set("addr_info",equipmentVo.getAddrInfo())
|
|
|
+ .set("addr_code",equipmentVo.getAddrCode())
|
|
|
+ .set("addr_code_info",equipmentVo.getAddrCode())
|
|
|
+ .set("state",equipmentVo.getState())
|
|
|
+ .set("lat",equipmentVo.getLat())
|
|
|
+ .set("lng",equipmentVo.getLng())
|
|
|
+ .set("manufacturers",equipmentVo.getManufacturers())
|
|
|
+ .set("maintain_name",equipmentVo.getMaintainName())
|
|
|
+ .set("maintain_telephone",equipmentVo.getMaintainTelephone())
|
|
|
+ .set("update_time",equipmentVo.getUpdateTime());
|
|
|
+ equipmentMapper.update(null,updateWrapper);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -50,7 +85,7 @@ public class EquipmentServiceImpl implements EquipmentService {
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo<Equipment> getEquipmentBySelect(EquipmentVo equipmentVo) {
|
|
|
+ public Page<Equipment> getEquipmentBySelect(EquipmentVo equipmentVo) {
|
|
|
QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.isNull("store_id");
|
|
|
if (equipmentVo.getSearchText() != null && !equipmentVo.getSearchText().equals("")){
|
|
@@ -59,24 +94,143 @@ public class EquipmentServiceImpl implements EquipmentService {
|
|
|
queryWrapper1.or().like("equipment_name",equipmentVo.getSearchText());
|
|
|
});
|
|
|
}
|
|
|
- PageHelper.startPage(equipmentVo.getPageNum(),equipmentVo.getPageSize());
|
|
|
- List<Equipment> equipment = equipmentMapper.selectList(queryWrapper);
|
|
|
- PageInfo<Equipment> pageInfo = new PageInfo<>(equipment);
|
|
|
+
|
|
|
+ Page<Equipment> page = new Page<>();
|
|
|
+ page.setCurrent(equipmentVo.getPageNum());
|
|
|
+ page.setSize(equipmentVo.getPageSize());
|
|
|
+ Page<Equipment> pageInfo = equipmentMapper.selectPage(page, queryWrapper);
|
|
|
return pageInfo;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void addStoreEquipment(EquipmentVo equipmentVo) {
|
|
|
- equipmentMapper.addStoreEquipment(equipmentVo);
|
|
|
+ UpdateWrapper<Equipment> updateWrapper = new UpdateWrapper<>();
|
|
|
+ updateWrapper.eq("equipment_id",equipmentVo.getEquipmentId());
|
|
|
+ updateWrapper.set("store_id",equipmentVo.getStoreId());
|
|
|
+ equipmentMapper.update(null,updateWrapper);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo<Equipment> getEquipmentByStoreId(EquipmentVo equipmentVo) {
|
|
|
+ public Page<Equipment> getEquipmentByStoreId(EquipmentVo equipmentVo) {
|
|
|
QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("store",equipmentVo.getStoreId());
|
|
|
- PageHelper.startPage(equipmentVo.getPageNum(),equipmentVo.getPageSize());
|
|
|
- List<Equipment> equipment = equipmentMapper.selectList(queryWrapper);
|
|
|
- PageInfo<Equipment> pageInfo = new PageInfo<>(equipment);
|
|
|
+ queryWrapper.eq("store_id",equipmentVo.getStoreId());
|
|
|
+ Page<Equipment> page = new Page<>();
|
|
|
+ page.setCurrent(equipmentVo.getPageNum());
|
|
|
+ page.setSize(equipmentVo.getPageSize());
|
|
|
+ Page<Equipment> pageInfo = equipmentMapper.selectPage(page, queryWrapper);
|
|
|
return pageInfo;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * TODO 待测试
|
|
|
+ * @param equipmentVo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public IPage<PlanItemBo> getEquipmentPlanList(EquipmentVo equipmentVo) {
|
|
|
+ Page<PlanItemBo> page = new Page<>();
|
|
|
+ page.setCurrent(equipmentVo.getPageNum());
|
|
|
+ page.setSize(equipmentVo.getPageSize());
|
|
|
+
|
|
|
+ QueryWrapper<PlanItemBo> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("equipment_id",equipmentVo.getEquipmentId());
|
|
|
+ if (equipmentVo.getSearchText() != null && !equipmentVo.getSearchText().equals("")){
|
|
|
+ queryWrapper.and(planItemBoQueryWrapper -> {
|
|
|
+ planItemBoQueryWrapper.likeRight("plan_id",equipmentVo.getSearchText()).or()
|
|
|
+ .like("plan_name",equipmentVo.getSearchText());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ queryWrapper.orderByDesc("sort");
|
|
|
+ IPage<PlanItemBo> euipmentPlanList = planItemMapper.getEuipmentPlanList(page, queryWrapper);
|
|
|
+ return euipmentPlanList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void updateEquipmentPlan(PlanItemVo planItemVo) {
|
|
|
+ UpdateWrapper<PlanItem> updateWrapper = new UpdateWrapper<>();
|
|
|
+ updateWrapper.eq("item_id",planItemVo.getItemId());
|
|
|
+ updateWrapper.set("sort",planItemVo.getSort());
|
|
|
+ planItemMapper.update(null,updateWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int getEquipmentCount() {
|
|
|
+ return Math.toIntExact(equipmentMapper.selectCount(null));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HashMap getEquipmentList(EquipmentVo equipmentVo) {
|
|
|
+ QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
|
|
|
+ if (equipmentVo.getSearchText() != null && !equipmentVo.getSearchText().equals("")){
|
|
|
+ queryWrapper.likeRight("equipment_id",equipmentVo.getSearchText());
|
|
|
+ queryWrapper.or().like("equipment_name",equipmentVo.getSearchText());
|
|
|
+ queryWrapper.or().like("maintain_name",equipmentVo.getSearchText());
|
|
|
+ queryWrapper.or().likeRight("maintain_telephone",equipmentVo.getSearchText());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (equipmentVo.getState() != null){
|
|
|
+ queryWrapper.and(equipmentQueryWrapper -> {
|
|
|
+ equipmentQueryWrapper.eq("state",equipmentVo.getState());
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ if (equipmentVo.getOnState() != null){
|
|
|
+ queryWrapper.and(equipmentQueryWrapper -> {
|
|
|
+ equipmentQueryWrapper.eq("on_state",equipmentVo.getOnState());
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询设备
|
|
|
+ Page<Equipment> page = new Page();
|
|
|
+ page.setCurrent(equipmentVo.getPageNum());
|
|
|
+ page.setSize(equipmentVo.getPageSize());
|
|
|
+ Page<Equipment> equipmentPage = equipmentMapper.selectPage(page, queryWrapper);
|
|
|
+
|
|
|
+ //查询广告数
|
|
|
+ List<String> collect = equipmentPage.getRecords().stream().map(item -> {
|
|
|
+ return item.getEquipmentId();
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ QueryWrapper<PlanItem> queryWrapper1 = new QueryWrapper<>();
|
|
|
+ queryWrapper1.select("equipment_id","count(*) as sort");
|
|
|
+ queryWrapper1.in("equipment_id",collect);
|
|
|
+ queryWrapper1.groupBy("equipment_id");
|
|
|
+ List<PlanItem> planItems = planItemMapper.selectList(queryWrapper1);
|
|
|
+ HashMap<String, Integer> hashMap = new HashMap<>();
|
|
|
+ for (PlanItem planItem : planItems) {
|
|
|
+ hashMap.put(planItem.getEquipmentId(),planItem.getSort());
|
|
|
+ }
|
|
|
+
|
|
|
+ //组装
|
|
|
+ List<EquipmentBo> result = new ArrayList<>();
|
|
|
+ for (Equipment equipment1 : equipmentPage.getRecords()) {
|
|
|
+ EquipmentBo equipmentBo = new EquipmentBo(equipment1);
|
|
|
+ Integer integer = hashMap.get(equipmentBo.getEquipmentId());
|
|
|
+ if (integer == null){
|
|
|
+ equipmentBo.setPlanCounnt(0);
|
|
|
+ }else {
|
|
|
+ equipmentBo.setPlanCounnt(integer);
|
|
|
+ }
|
|
|
+ result.add(equipmentBo);
|
|
|
+ }
|
|
|
+ HashMap<String, Object> objectObjectHashMap = new HashMap<>();
|
|
|
+ equipmentPage.setRecords(null);
|
|
|
+ objectObjectHashMap.put("page",equipmentPage);
|
|
|
+ objectObjectHashMap.put("data",result);
|
|
|
+ return objectObjectHashMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void deleteStoreEquipment(String[] equipmentIds) {
|
|
|
+ UpdateWrapper<Equipment> updateWrapper = new UpdateWrapper<>();
|
|
|
+ updateWrapper.in("equipment_id",equipmentIds);
|
|
|
+ updateWrapper.set("store_id",null);
|
|
|
+ equipmentMapper.update(null,updateWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void deleteEquipmentPlan(String[] planItemIds) {
|
|
|
+ planItemMapper.deleteBatchIds(Arrays.asList(planItemIds));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|