diff --git a/mh-admin/src/main/java/com/mh/web/controller/device/DeviceInOutManageController.java b/mh-admin/src/main/java/com/mh/web/controller/device/DeviceInOutManageController.java index 3305e4f..b39166a 100644 --- a/mh-admin/src/main/java/com/mh/web/controller/device/DeviceInOutManageController.java +++ b/mh-admin/src/main/java/com/mh/web/controller/device/DeviceInOutManageController.java @@ -56,11 +56,9 @@ public class DeviceInOutManageController extends BaseController { @PreAuthorize("@ss.hasPermi('device:spareInOut:add')") @Log(title = "备品/备件出入库管理流水记录管理", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@Validated @RequestBody DeviceInOutManage deviceInOutManage) + public AjaxResult add(@Validated @RequestBody List deviceInOutManage) { - deviceInOutManage.setCreateBy(getUsername()); - deviceInOutManage.setCreateTime(new Date()); - return toAjax(deviceInOutManageService.insertDeviceInOutManage(deviceInOutManage)); + return toAjax(deviceInOutManageService.insertDeviceInOutManage(deviceInOutManage, getUsername())); } // /** diff --git a/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyQueryVO.java b/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyQueryVO.java index d10fc80..8ccbca7 100644 --- a/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyQueryVO.java +++ b/mh-common/src/main/java/com/mh/common/core/domain/vo/EnergyQueryVO.java @@ -1,9 +1,11 @@ package com.mh.common.core.domain.vo; import com.mh.common.core.domain.BaseEntity; +import com.mh.common.core.domain.ColumnFilter; import org.apache.commons.lang3.builder.ToStringBuilder; import java.io.Serializable; +import java.util.List; /** * @author LJF @@ -41,6 +43,36 @@ public class EnergyQueryVO extends BaseEntity implements Serializable { */ private String paramType; + private List searchParams; + + private int pageNum; + + private int pageSize; + + public int getPageNum() { + return pageNum; + } + + public void setPageNum(int pageNum) { + this.pageNum = pageNum; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public List getSearchParams() { + return searchParams; + } + + public void setSearchParams(List searchParams) { + this.searchParams = searchParams; + } + public String getTimeType() { return timeType; } @@ -89,6 +121,9 @@ public class EnergyQueryVO extends BaseEntity implements Serializable { .append("endTime", endTime) .append("deviceType", deviceType) .append("paramType", paramType) + .append("searchParams", searchParams) + .append("pageNum", pageNum) + .append("pageSize", pageSize) .toString(); } } diff --git a/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java b/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java index 1462586..21a38a6 100644 --- a/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java +++ b/mh-system/src/main/java/com/mh/system/mapper/device/CollectionParamsManageMapper.java @@ -50,9 +50,17 @@ public interface CollectionParamsManageMapper extends BaseMapper") List getDeviceByOther(@Param("deviceNum") String deviceNum); - @Select("select count(1) from collection_params_manage where grade >= #{grade} and grade < #{grade}+20 and mt_type like concat('%',#{mtType},'%') ") + @Select("select " + + " count(1) " + + "from " + + " collection_params_manage cpm " + + " join device_ledger dl " + + " on cpm.device_ledger_id = dl.id " + + " and dl.device_type = #{deviceType} " + + " and cpm.grade = #{grade} " + + " and cpm.mt_is_sum = 0") int selectSummary(@Param("grade") int grade, - @Param("mtType") String deviceType); + @Param("deviceType") String deviceType); @Select("select id from collection_params_manage where mt_code = #{registerAddr} and mt_type = #{mtType} limit 1 ") String selectIdByMtCodeAndType(@Param("registerAddr") String registerAddr, diff --git a/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyAnalyzeMapper.java b/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyAnalyzeMapper.java index b5c20ca..e3a83e0 100644 --- a/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyAnalyzeMapper.java +++ b/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyAnalyzeMapper.java @@ -122,32 +122,44 @@ public interface EnergyAnalyzeMapper { @Param("paramType") String paramType); @Select("" ) + "SELECT " + + " SUM(COALESCE(dh.calc_value, 0)) AS calcValue, " + + " TO_CHAR(dh.cur_time, " + + " " + + " 'YYYY'" + + " 'YYYY-MM'" + + " 'YYYY-MM-DD'" + + " 'YYYY-MM-DD HH24'" + + " 'YYYY-MM-DD HH24:MI'" + + " 'YYYY-MM-DD HH24:MI:SS'" + + " " + + " ) AS timeStr, " + + " dh.device_num AS deviceNum, " + + " dm.other_name as remark " + + "FROM " + + " ${lastTableName} dh " + + "JOIN collection_params_manage dm ON dh.device_num = dm.mt_num " + + "WHERE " + + " dh.cur_time >= #{startTime}::timestamp " + + " AND dh.cur_time <= #{endTime}::timestamp " + + " AND dh.device_num IN " + + " " + + " #{item} " + + " " + + "GROUP BY " + + " TO_CHAR(dh.cur_time, " + + " " + + " 'YYYY'" + + " 'YYYY-MM'" + + " 'YYYY-MM-DD'" + + " 'YYYY-MM-DD HH24'" + + " 'YYYY-MM-DD HH24:MI'" + + " 'YYYY-MM-DD HH24:MI:SS'" + + " " + + " ), " + + " dh.device_num, " + + " dm.other_name " + + "") List queryDeviceOneTable(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("lastTableName") String lastTableName, @@ -156,57 +168,81 @@ public interface EnergyAnalyzeMapper { @Param("params") List params); @Select("" ) List queryDeviceManyTable(@Param("startTime") String startTime, @Param("endTime") String endTime, diff --git a/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyQueryMapper.java b/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyQueryMapper.java index f5e0616..7b46fcb 100644 --- a/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyQueryMapper.java +++ b/mh-system/src/main/java/com/mh/system/mapper/energy/EnergyQueryMapper.java @@ -118,42 +118,52 @@ public interface EnergyQueryMapper { * @return */ @Select("") List queryOneTable(@Param("startTime") String startTime, @Param("endTime") String endTime, diff --git a/mh-system/src/main/java/com/mh/system/service/device/IDeviceInOutManageService.java b/mh-system/src/main/java/com/mh/system/service/device/IDeviceInOutManageService.java index 416e000..02e3a47 100644 --- a/mh-system/src/main/java/com/mh/system/service/device/IDeviceInOutManageService.java +++ b/mh-system/src/main/java/com/mh/system/service/device/IDeviceInOutManageService.java @@ -17,7 +17,7 @@ public interface IDeviceInOutManageService { DeviceInOutManage selectDeviceInOutManageById(String spareId); - int insertDeviceInOutManage(DeviceInOutManage deviceInOutManage); + int insertDeviceInOutManage(List deviceInOutManage, String createBy); int updateDeviceInOutManage(DeviceInOutManage deviceInOutManage); diff --git a/mh-system/src/main/java/com/mh/system/service/device/impl/DeviceInOutManageServiceImpl.java b/mh-system/src/main/java/com/mh/system/service/device/impl/DeviceInOutManageServiceImpl.java index 0e8ad7d..ef12167 100644 --- a/mh-system/src/main/java/com/mh/system/service/device/impl/DeviceInOutManageServiceImpl.java +++ b/mh-system/src/main/java/com/mh/system/service/device/impl/DeviceInOutManageServiceImpl.java @@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.Date; import java.util.List; /** @@ -71,25 +72,31 @@ public class DeviceInOutManageServiceImpl implements IDeviceInOutManageService { @Transactional @Override - public int insertDeviceInOutManage(DeviceInOutManage deviceInOutManage) { - // 获取当前库存量 - String sparePartsId = deviceInOutManage.getSparePartsId(); - SparePartsManage sparePartsManage = sparePartsManageMapper.selectById(sparePartsId); - int inventoryLevels = 0; - if (sparePartsManage != null) { - inventoryLevels = sparePartsManage.getInventoryLevels(); - } - // 修改配件的库存:operaType=0:入库;operaType=1:出库 - int intOutNum = deviceInOutManage.getIntOutNum(); - if (deviceInOutManage.getOperaType() == 0) { - inventoryLevels = inventoryLevels + intOutNum; + public int insertDeviceInOutManage(List deviceInOutManageList, String createBy) { + Date date = new Date(); + int result = 0; + for (DeviceInOutManage deviceInOutManage : deviceInOutManageList) { + deviceInOutManage.setCreateBy(createBy); + deviceInOutManage.setCreateTime(date); + // 获取当前库存量 + String sparePartsId = deviceInOutManage.getSparePartsId(); + SparePartsManage sparePartsManage = sparePartsManageMapper.selectById(sparePartsId); + int inventoryLevels = 0; + if (sparePartsManage != null) { + inventoryLevels = sparePartsManage.getInventoryLevels(); + } + // 修改配件的库存:operaType=0:入库;operaType=1:出库 + int intOutNum = deviceInOutManage.getIntOutNum(); + if (deviceInOutManage.getOperaType() == 0) { + inventoryLevels = inventoryLevels + intOutNum; + } else if (deviceInOutManage.getOperaType() == 1) { + inventoryLevels = inventoryLevels - intOutNum; + } sparePartsManageMapper.updateInventoryLevels(deviceInOutManage.getSparePartsId(), inventoryLevels, deviceInOutManage.getCreateBy()); - } else if (deviceInOutManage.getOperaType() == 1) { - inventoryLevels = inventoryLevels - intOutNum; - sparePartsManageMapper.updateInventoryLevels(deviceInOutManage.getSparePartsId(), -intOutNum, deviceInOutManage.getCreateBy()); + deviceInOutManage.setInventoryLevels(inventoryLevels); + result = result + deviceInOutManageMapper.insert(deviceInOutManage); } - deviceInOutManage.setInventoryLevels(inventoryLevels); - return deviceInOutManageMapper.insert(deviceInOutManage); + return result; } @Override diff --git a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyAnalyzeServiceImpl.java b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyAnalyzeServiceImpl.java index 58e0d34..ba9fbc2 100644 --- a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyAnalyzeServiceImpl.java +++ b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyAnalyzeServiceImpl.java @@ -147,11 +147,11 @@ public class EnergyAnalyzeServiceImpl implements EnergyAnalyzeService { public List> deviceAnalyze(EnergyQueryVO vo) { DateUtils.sysEnergyDateChange(vo); // 获取参数 - Map paramsMap = vo.getParams(); - List params = new ArrayList<>(paramsMap.values()); - if (params.isEmpty()) { + List paramsMap = vo.getSearchParams(); + if (paramsMap.isEmpty()) { return List.of(); } + List params = paramsMap.stream().map(ColumnFilter::getValue).collect(Collectors.toList()); AtomicReference lastTableName = new AtomicReference<>("data_" + vo.getTimeType()); AtomicReference curTableName = new AtomicReference<>("data_" + vo.getTimeType()); String timeType = vo.getTimeType(); @@ -196,8 +196,8 @@ public class EnergyAnalyzeServiceImpl implements EnergyAnalyzeService { break; } } - int pageNum = Integer.parseInt(String.valueOf(vo.getParams().get("pageNum"))); - int pageSize = Integer.parseInt(String.valueOf(vo.getParams().get("pageSize"))); + int pageNum = Integer.parseInt(String.valueOf(vo.getPageNum())); + int pageSize = Integer.parseInt(String.valueOf(vo.getPageSize())); if (pageNum != 0) { int startIndex = (pageNum-1)*pageSize; int endIndex = Math.min(pageNum * pageSize, timeStr.size()); @@ -209,8 +209,8 @@ public class EnergyAnalyzeServiceImpl implements EnergyAnalyzeService { columnData.add(column); i++; } - int pageNum = Integer.parseInt(String.valueOf(vo.getParams().get("pageNum"))); - int pageSize = Integer.parseInt(String.valueOf(vo.getParams().get("pageSize"))); + int pageNum = Integer.parseInt(String.valueOf(vo.getPageNum())); + int pageSize = Integer.parseInt(String.valueOf(vo.getPageSize())); Map map = new JSONObject(); map.put("title", title); if (pageNum == 0) { diff --git a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java index dd9bf5e..4d202b5 100644 --- a/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java +++ b/mh-system/src/main/java/com/mh/system/service/energy/impl/EnergyQueryServiceImpl.java @@ -40,8 +40,8 @@ public class EnergyQueryServiceImpl implements IEnergyQueryService { AtomicReference curTableName = new AtomicReference<>("data_" + vo.getTimeType()); String timeType = vo.getTimeType(); // 判断是否有总表 - boolean haveMeter = collectionParamsManageMapper.selectSummary(40, "meter") != 0; - boolean haveCloud = collectionParamsManageMapper.selectSummary(40, "cloud") != 0; + boolean haveMeter = collectionParamsManageMapper.selectSummary(40, "5") != 0; + boolean haveCloud = collectionParamsManageMapper.selectSummary(40, "6") != 0; List consumptionAnalyzeEntities = null; // 表格数据 if ("month".equalsIgnoreCase(timeType) || "year".equalsIgnoreCase(timeType)) { @@ -101,8 +101,8 @@ public class EnergyQueryServiceImpl implements IEnergyQueryService { } // 表格数据 Map map = new HashMap<>(); - int pageNum = Integer.parseInt(String.valueOf(vo.getParams().get("pageNum"))); - int pageSize = Integer.parseInt(String.valueOf(vo.getParams().get("pageSize"))); + int pageNum = vo.getPageNum(); + int pageSize = vo.getPageSize(); if (pageNum == 0) { map.put("coldArr", coldArr); map.put("meterArr", meterArr); diff --git a/mh-system/src/main/resources/mapper/system/EnergyMapper.xml b/mh-system/src/main/resources/mapper/system/EnergyMapper.xml index 47ce370..c7f438e 100644 --- a/mh-system/src/main/resources/mapper/system/EnergyMapper.xml +++ b/mh-system/src/main/resources/mapper/system/EnergyMapper.xml @@ -489,119 +489,139 @@ @@ -736,68 +756,57 @@ \ No newline at end of file