Explorar o código

设备管理模块增删改查,导出,设备成本模板查询修改删除

yusm hai 9 meses
pai
achega
881906b644

+ 43 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/DeviceController.java

@@ -1,10 +1,18 @@
 package com.management.platform.controller;
 
 
+import com.management.platform.entity.Device;
+import com.management.platform.service.DeviceService;
+import com.management.platform.util.HttpRespMsg;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDate;
+
 /**
  * <p>
  *  前端控制器
@@ -17,5 +25,40 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/device")
 public class DeviceController {
 
+    @Resource
+    private DeviceService deviceService;
+
+    @RequestMapping("/getDevicePage")
+    public HttpRespMsg getDevicePage (HttpServletRequest request, @RequestParam Integer pageIndex, @RequestParam Integer pageSize,@RequestParam(required = false) String deviceCode,@RequestParam(required = false) String deviceName){
+        return deviceService.getDevicePage(request,pageIndex,pageSize,deviceCode,deviceName);
+    }
+
+    @RequestMapping("/updateOrInsert")
+    public HttpRespMsg updateOrInsert (HttpServletRequest request, @RequestParam(required = false) Integer id,
+                                       @RequestParam(required = false) String deviceCode,
+                                       @RequestParam(required = false) String deviceName,
+                                       @RequestParam(required = false) String deviceModel,
+                                       @RequestParam(required = false) String manufacturer,
+                                       @RequestParam(required = false) LocalDate purchaseDate,
+                                       @RequestParam(required = false) LocalDate maintenanceDate
+                                       ){
+        return deviceService.updateOrInsert(request,id,deviceCode,deviceName,deviceModel,manufacturer,purchaseDate,maintenanceDate);
+    }
+
+    @RequestMapping("/delete")
+    public HttpRespMsg delete (HttpServletRequest request, Device device){
+        return deviceService.delete(request,device);
+    }
+
+    @RequestMapping("/getDeviceDetail")
+    public HttpRespMsg getDeviceDetail (HttpServletRequest request, Device device){
+        return deviceService.getDeviceDetail(request,device);
+    }
+
+    @RequestMapping("/exportDevice")
+    public HttpRespMsg exportDevice (HttpServletRequest request,@RequestParam(required = false) String deviceCode,@RequestParam(required = false) String deviceName){
+        return deviceService.exportDevice(request,deviceCode,deviceName);
+    }
+
 }
 

+ 25 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/DeviceCostController.java

@@ -1,10 +1,17 @@
 package com.management.platform.controller;
 
 
+import com.management.platform.entity.DeviceCost;
+import com.management.platform.service.DeviceCostService;
+import com.management.platform.util.HttpRespMsg;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
 /**
  * <p>
  *  前端控制器
@@ -17,5 +24,23 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/device-cost")
 public class DeviceCostController {
 
+    @Resource
+    private DeviceCostService deviceCostService;
+
+    @RequestMapping("/getDeviceCostPage")
+    public HttpRespMsg getDeviceCostPage (HttpServletRequest request, DeviceCost deviceCost){
+        return deviceCostService.getDeviceCostPage(request,deviceCost);
+    }
+
+    @RequestMapping("/edit")
+    public HttpRespMsg edit (DeviceCost deviceCost){
+        return deviceCostService.edit(deviceCost);
+    }
+
+    @RequestMapping("/deleteBatch")
+    public HttpRespMsg deleteBatch (String ids){
+        return deviceCostService.deleteBatch(ids);
+    }
+
 }
 

+ 9 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/DeviceCost.java

@@ -48,6 +48,15 @@ public class DeviceCost extends Model<DeviceCost> {
     @TableField("ymonth")
     private String ymonth;
 
+    @TableField(exist = false)
+    private String deviceCode;
+
+    @TableField(exist = false)
+    private Integer pageIndex;
+
+    @TableField(exist = false)
+    private Integer pageSize;
+
 
     @Override
     protected Serializable pkVal() {

+ 6 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/DeviceCostMapper.java

@@ -3,6 +3,9 @@ package com.management.platform.mapper;
 import com.management.platform.entity.DeviceCost;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.HashMap;
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface DeviceCostMapper extends BaseMapper<DeviceCost> {
 
+    List<HashMap<String, Object>> getDeviceCostList(Integer companyId, DeviceCost deviceCost);
+
+    Integer getDeviceCostTotal(Integer companyId, DeviceCost deviceCost);
 }

+ 8 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/DeviceCostService.java

@@ -2,6 +2,9 @@ package com.management.platform.service;
 
 import com.management.platform.entity.DeviceCost;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.management.platform.util.HttpRespMsg;
+
+import javax.servlet.http.HttpServletRequest;
 
 /**
  * <p>
@@ -13,4 +16,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface DeviceCostService extends IService<DeviceCost> {
 
+    HttpRespMsg getDeviceCostPage(HttpServletRequest request, DeviceCost deviceCost);
+
+    HttpRespMsg edit(DeviceCost deviceCost);
+
+    HttpRespMsg deleteBatch(String ids);
 }

+ 13 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/DeviceService.java

@@ -2,6 +2,10 @@ package com.management.platform.service;
 
 import com.management.platform.entity.Device;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.management.platform.util.HttpRespMsg;
+
+import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDate;
 
 /**
  * <p>
@@ -13,4 +17,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface DeviceService extends IService<Device> {
 
+    HttpRespMsg getDevicePage(HttpServletRequest request, Integer pageIndex, Integer pageSize, String deviceCode, String deviceName);
+
+    HttpRespMsg updateOrInsert(HttpServletRequest request, Integer id, String deviceCode, String deviceName, String deviceModel, String manufacturer, LocalDate purchaseDate, LocalDate maintenanceDate);
+
+    HttpRespMsg delete(HttpServletRequest request, Device device);
+
+    HttpRespMsg getDeviceDetail(HttpServletRequest request, Device device);
+
+    HttpRespMsg exportDevice(HttpServletRequest request, String deviceCode, String deviceName);
 }

+ 59 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DeviceCostServiceImpl.java

@@ -1,11 +1,23 @@
 package com.management.platform.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.management.platform.entity.DeviceCost;
+import com.management.platform.entity.User;
 import com.management.platform.mapper.DeviceCostMapper;
+import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.DeviceCostService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.management.platform.util.HttpRespMsg;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +29,51 @@ import org.springframework.stereotype.Service;
 @Service
 public class DeviceCostServiceImpl extends ServiceImpl<DeviceCostMapper, DeviceCost> implements DeviceCostService {
 
+    @Resource
+    private DeviceCostMapper deviceCostMapper;
+
+    @Resource
+    private UserMapper userMapper;
+
+    @Override
+    public HttpRespMsg getDeviceCostPage(HttpServletRequest request, DeviceCost deviceCost) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        String token = request.getHeader("token");
+        User user = userMapper.selectById(token);
+        deviceCost.setPageIndex((deviceCost.getPageIndex()-1)*deviceCost.getPageSize());
+        List<HashMap<String,Object>> mapList= deviceCostMapper.getDeviceCostList(user.getCompanyId(),deviceCost);
+        Integer  total= deviceCostMapper.getDeviceCostTotal(user.getCompanyId(),deviceCost);
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("total",total);
+        hashMap.put("mapList",mapList);
+        httpRespMsg.setData(hashMap);
+        return httpRespMsg;
+    }
+
+    @Override
+    public HttpRespMsg edit(DeviceCost deviceCost) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        if (deviceCost.getId()==null){
+            httpRespMsg.setError("请传递关键信息");
+            return httpRespMsg;
+        }
+        UpdateWrapper<DeviceCost> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.eq("id",deviceCost.getId()).set(StringUtils.isNotEmpty(deviceCost.getYmonth()),"ymonth",deviceCost.getYmonth());
+        deviceCostMapper.update(null, updateWrapper);
+        return httpRespMsg;
+    }
+
+    @Override
+    public HttpRespMsg deleteBatch(String ids) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        if (StringUtils.isEmpty(ids)){
+            httpRespMsg.setError("请传递关键信息");
+            return httpRespMsg;
+        }else {
+            String[] strings = ids.split(",");
+            List<String> collect = Arrays.stream(strings).collect(Collectors.toList());
+            deviceCostMapper.deleteBatchIds(collect);
+        }
+        return httpRespMsg;
+    }
 }

+ 188 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DeviceServiceImpl.java

@@ -1,11 +1,34 @@
 package com.management.platform.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.management.platform.entity.CompanyDingding;
 import com.management.platform.entity.Device;
+import com.management.platform.entity.User;
+import com.management.platform.entity.WxCorpInfo;
+import com.management.platform.mapper.CompanyDingdingMapper;
 import com.management.platform.mapper.DeviceMapper;
+import com.management.platform.mapper.UserMapper;
+import com.management.platform.mapper.WxCorpInfoMapper;
 import com.management.platform.service.DeviceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.management.platform.service.ExcelExportService;
+import com.management.platform.util.HttpRespMsg;
+import com.management.platform.util.MessageUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +39,170 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements DeviceService {
+    @Resource
+    private UserMapper userMapper;
+
+    @Resource
+    private DeviceMapper deviceMapper;
+
+    @Resource
+    private WxCorpInfoMapper wxCorpInfoMapper;
+
+    @Resource
+    private CompanyDingdingMapper companyDingdingMapper;
+
+    @Resource
+    ExcelExportService excelExportService;
+
+    @Value(value = "${upload.path}")
+    private String path;
+
+    @Override
+    public HttpRespMsg getDevicePage(HttpServletRequest request, Integer pageIndex, Integer pageSize, String deviceCode, String deviceName) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        String token = request.getHeader("token");
+        User user = userMapper.selectById(token);
+        Page page = new Page(pageIndex, pageSize);
+        QueryWrapper<Device> wrapper = new QueryWrapper<>();
+        wrapper.eq("company_id", user.getCompanyId());
+        if (StringUtils.isNotEmpty(deviceCode)){
+            wrapper.like("device_code", deviceCode);
+        }
+        if (StringUtils.isNotEmpty(deviceName)){
+            wrapper.like("device_name", deviceName);
+        }
+        IPage iPageResult = deviceMapper.selectPage(page, wrapper);
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("total", iPageResult.getTotal());
+        hashMap.put("data", iPageResult.getRecords());
+        httpRespMsg.setData(hashMap);
+        return httpRespMsg;
+    }
+
+    @Override
+    public HttpRespMsg updateOrInsert(HttpServletRequest request, Integer id, String deviceCode,
+                                      String deviceName, String deviceModel, String manufacturer, LocalDate purchaseDate, LocalDate maintenanceDate) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        String token = request.getHeader("token");
+        User user = userMapper.selectById(token);
+        if (id==null){
+            if (StringUtils.isNotEmpty(deviceCode)){
+                int count=deviceMapper.selectCount(new QueryWrapper<Device>().eq("device_code", deviceCode));
+                if (count>0){
+                    httpRespMsg.setError("设备编码重复");
+                    return httpRespMsg;
+                }
+            }
+        }else {
+            if (StringUtils.isNotEmpty(deviceCode)){
+                int count=deviceMapper.selectCount(new QueryWrapper<Device>().eq("device_code", deviceCode).ne("id", id));
+                if (count>0){
+                    httpRespMsg.setError("设备编码重复");
+                    return httpRespMsg;
+                }
+            }
+        }
+        if (id==null){
+            Device device = new Device();
+            device.setDeviceCode(deviceCode);
+            device.setDeviceName(deviceName);
+            device.setDeviceModel(deviceModel);
+            device.setManufacturer(manufacturer);
+            device.setPurchaseDate(purchaseDate);
+            device.setMaintenanceDate(maintenanceDate);
+            device.setCompanyId(user.getCompanyId());
+            deviceMapper.insert(device);
+        }else {
+            UpdateWrapper<Device> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.eq("id", id)
+                    .set(StringUtils.isNotEmpty(deviceCode),"device_code", deviceCode)
+                    .set(StringUtils.isNotEmpty(deviceName),"device_name", deviceName)
+                    .set(StringUtils.isNotEmpty(deviceModel),"device_Model", deviceModel)
+                    .set(StringUtils.isNotEmpty(manufacturer),"manufacturer", manufacturer)
+                    .set(purchaseDate!=null,"purchase_date", purchaseDate)
+                    .set(maintenanceDate!=null,"maintenance_date", maintenanceDate);
+            deviceMapper.update(null, updateWrapper);
+        }
+        return httpRespMsg;
+    }
+
+    @Override
+    public HttpRespMsg delete(HttpServletRequest request, Device device) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        String token = request.getHeader("token");
+        User user = userMapper.selectById(token);
+        if (device.getId()==null){
+            httpRespMsg.setError("请传递关键信息");
+            return httpRespMsg;
+        }else {
+            deviceMapper.delete(new QueryWrapper<Device>().eq("id", device.getId()).eq("company_id", user.getCompanyId()));
+            return httpRespMsg;
+        }
+    }
+
+    @Override
+    public HttpRespMsg getDeviceDetail(HttpServletRequest request, Device device) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        String token = request.getHeader("token");
+        User user = userMapper.selectById(token);
+        if (device.getId()==null){
+            httpRespMsg.setError("请传递关键信息");
+            return httpRespMsg;
+        }else {
+            Device one = deviceMapper.selectOne(new QueryWrapper<Device>().eq("id", device.getId()).eq("company_id", user.getCompanyId()));
+            httpRespMsg.setData(one);
+            return httpRespMsg;
+        }
+    }
+
+    @Override
+    public HttpRespMsg exportDevice(HttpServletRequest request, String deviceCode, String deviceName) {
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        String token = request.getHeader("token");
+        User user = userMapper.selectById(token);
+        WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", user.getCompanyId()));
+        CompanyDingding dingding = companyDingdingMapper.selectOne(new LambdaQueryWrapper<CompanyDingding>().eq(CompanyDingding::getCompanyId, user.getCompanyId()));
+        QueryWrapper<Device> wrapper = new QueryWrapper<>();
+        wrapper.eq("company_id", user.getCompanyId());
+        if (StringUtils.isNotEmpty(deviceCode)){
+            wrapper.like("device_code", deviceCode);
+        }
+        if (StringUtils.isNotEmpty(deviceName)){
+            wrapper.like("device_name", deviceName);
+        }
+        List<Device> deviceList = deviceMapper.selectList(wrapper);
+
+        List<String> headList = new ArrayList<String>();
+        headList.add("序号");
+        headList.add("设备编号");
+        headList.add("设备名称");
+        headList.add("设备型号");
+        headList.add("制造商");
+        headList.add("购置日期");
+        headList.add("维保日期");
+
+        List<List<String>> allList = new ArrayList<>();
+        allList.add(headList);
 
+        if (!deviceList.isEmpty()){
+            for (int i = 0; i < deviceList.size(); i++) {
+                ArrayList<String> list = new ArrayList<>();
+                list.add((i+1)+"");
+                list.add(StringUtils.isEmpty(deviceList.get(i).getDeviceCode())?"":deviceList.get(i).getDeviceCode());
+                list.add(StringUtils.isEmpty(deviceList.get(i).getDeviceName())?"":deviceList.get(i).getDeviceName());
+                list.add(StringUtils.isEmpty(deviceList.get(i).getDeviceModel())?"":deviceList.get(i).getDeviceModel());
+                list.add(StringUtils.isEmpty(deviceList.get(i).getManufacturer())?"":deviceList.get(i).getManufacturer());
+                list.add(deviceList.get(i).getPurchaseDate()==null?"": deviceList.get(i).getPurchaseDate().toString());
+                list.add(deviceList.get(i).getMaintenanceDate()==null?"": deviceList.get(i).getMaintenanceDate().toString());
+                allList.add(list);
+            }
+        }
+        try {
+            return excelExportService.exportGeneralExcelByTitleAndList(wxCorpInfo,dingding,"设备信息表",allList,path);
+        } catch (Exception e) {
+            e.printStackTrace();
+            httpRespMsg.setError(e.getMessage());
+            return httpRespMsg;
+        }
+    }
 }

+ 37 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/DeviceCostMapper.xml

@@ -15,4 +15,41 @@
         id, device_id, month_cost, ymonth
     </sql>
 
+    <select id="getDeviceCostList" resultType="java.util.HashMap">
+        select d.device_code deviceCode,d.device_name deviceName,
+               d.device_model deviceModel, d.manufacturer,dc.ymonth ,dc.id
+        from device d
+        LEFT JOIN device_cost dc on d.id=dc.device_id
+        <where>
+            <if test="companyId !=null">
+               and d.company_id=#{companyId}
+            </if>
+            <if test="deviceCost.deviceCode!=null and deviceCost.deviceCode!='' ">
+                and d.device_code like CONCAT('%', #{deviceCost.deviceCode}, '%')
+            </if>
+            <if test="deviceCost.ymonth!=null and deviceCost.ymonth!='' ">
+                and dc.ymonth= #{deviceCost.ymonth}
+            </if>
+        </where>
+        <if test="deviceCost.pageIndex!=null and deviceCost.pageSize!=null">
+            limit #{deviceCost.pageIndex},#{deviceCost.pageSize}
+        </if>
+    </select>
+    <select id="getDeviceCostTotal" resultType="java.lang.Integer">
+        select count(*) total
+        from device d
+        LEFT JOIN device_cost dc on d.id=dc.device_id
+        <where>
+            <if test="companyId !=null">
+                and d.company_id=#{companyId}
+            </if>
+            <if test="deviceCost.deviceCode!=null and deviceCost.deviceCode!='' ">
+                and d.device_code like CONCAT('%', #{deviceCost.deviceCode}, '%')
+            </if>
+            <if test="deviceCost.ymonth!=null and deviceCost.ymonth!='' ">
+                and dc.ymonth= #{deviceCost.ymonth}
+            </if>
+        </where>
+    </select>
+
 </mapper>