diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/ios/service/structIvt/dao/mapper/EmBiStructivtMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/ios/service/structIvt/dao/mapper/EmBiStructivtMapper.java index bda944e4..727ed553 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/ios/service/structIvt/dao/mapper/EmBiStructivtMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/ios/service/structIvt/dao/mapper/EmBiStructivtMapper.java @@ -1,5 +1,6 @@ package org.nl.wms.device_manage.ios.service.structIvt.dao.mapper; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.nl.common.domain.query.PageQuery; @@ -28,4 +29,7 @@ public interface EmBiStructivtMapper extends BaseMapper { List getSemiProductIvt(@Param("query") StructIvtEmQuery query); List getStructIvt(@Param("query") StructIvtEmQuery query); + + List getIvtPor(); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/ios/service/structIvt/dao/mapper/xml/EmBiStructivtMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/ios/service/structIvt/dao/mapper/xml/EmBiStructivtMapper.xml index 57ce08e9..e52062d5 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/ios/service/structIvt/dao/mapper/xml/EmBiStructivtMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/ios/service/structIvt/dao/mapper/xml/EmBiStructivtMapper.xml @@ -186,4 +186,20 @@ + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/rest/RealTimeIvtController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/rest/RealTimeIvtController.java new file mode 100644 index 00000000..8e8b2d6b --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/rest/RealTimeIvtController.java @@ -0,0 +1,42 @@ + +package org.nl.wms.stata_manage.rest; + + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.wms.stata_manage.service.RealTimeIvtService; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + * @author Liuxy + * @date 2022-06-28 + **/ +@RestController +@RequiredArgsConstructor +@Api(tags = "实时库存统计分析") +@RequestMapping("/api/realtimeivt") +@Slf4j +public class RealTimeIvtController { + + private final RealTimeIvtService realTimeIvtService; + + @GetMapping + @ApiOperation("库存查询") + public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(realTimeIvtService.queryAll(whereJson, page), HttpStatus.OK); + } + + @PostMapping("/autoWeb") + @ApiOperation("饼图") + public ResponseEntity autoWeb(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(realTimeIvtService.autoWeb(whereJson), HttpStatus.OK); + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/service/RealTimeIvtService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/service/RealTimeIvtService.java new file mode 100644 index 00000000..a196ddcd --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/service/RealTimeIvtService.java @@ -0,0 +1,40 @@ + +package org.nl.wms.stata_manage.service; + +import com.alibaba.fastjson.JSONObject; +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +/** + * @author Liuxy + * @description 服务接口 + * @date 2022-06-28 + **/ +public interface RealTimeIvtService { + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll(Map whereJson, Pageable page); + + + /** + * 饼图数据获取 + * @return / + */ + JSONObject autoWeb( JSONObject whereJson ); + + /** + * 根据仓库查询不同仓库得来类型 + * @param whereJson 、 + * @return 、 + */ + List queryIvt(Map whereJson); + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/service/dto/StorUtil.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/service/dto/StorUtil.java new file mode 100644 index 00000000..cced4a8d --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/service/dto/StorUtil.java @@ -0,0 +1,9 @@ +package org.nl.wms.stata_manage.service.dto; +public class StorUtil { + public static final String STOR_YL = "1528627964823080960"; + public static final String STOR_CP = "1528627995269533696"; + public static final String STOR_BCP = "15286279952695336962"; + public static final String STOR_HR_BCP = "15286279952695336963"; + public static final String STOR_BJ = "15286279952695336977"; +} + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/service/impl/RealTimeIvtServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/service/impl/RealTimeIvtServiceImpl.java new file mode 100644 index 00000000..0a477bb3 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/stata_manage/service/impl/RealTimeIvtServiceImpl.java @@ -0,0 +1,113 @@ + +package org.nl.wms.stata_manage.service.impl; + + +import cn.hutool.core.map.MapUtil; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.modules.common.utils.PageUtil; +import org.nl.wms.device_manage.ios.service.structIvt.dao.mapper.EmBiStructivtMapper; +import org.nl.wms.stata_manage.service.RealTimeIvtService; +import org.nl.wms.stata_manage.service.dto.StorUtil; +import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.mapper.StIvtStructivtCpMapper; +import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.mapper.StIvtStructivtYlMapper; +import org.nl.wms.storage_manage.semimanage.service.structIvt.dao.mapper.StIvtStructivtBcpMapper; +import org.nl.wms.storage_manage.semimanagehr.service.structIvt.dao.mapper.StIvtStructivtHrBcpMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author Liuxy + * @description 服务实现 + * @date 2022-06-28 + **/ +@Service +@RequiredArgsConstructor +@Slf4j +public class RealTimeIvtServiceImpl implements RealTimeIvtService { + + @Autowired + private StIvtStructivtYlMapper stIvtStructivtYlMapper; // 原料 + + @Autowired + private StIvtStructivtBcpMapper stIvtStructivtBcpMapper; // 半成品 + + @Autowired + private StIvtStructivtCpMapper stIvtStructivtCpMapper; // 成品 + + @Autowired + private StIvtStructivtHrBcpMapper stIvtStructivtHrBcpMapper; // 海柔半成品 + + @Autowired + private EmBiStructivtMapper emBiStructivtMapper; // 备件 + + @Override + public Map queryAll(Map whereJson, Pageable page) { + List allList = queryIvt(whereJson); + + // 组织分页 + Map json = PageUtil.toPage( + PageUtil.toPage(page.getPageNumber(), page.getPageSize(), allList), + allList.size() + ); + + return json; + } + + @Override + public JSONObject autoWeb(JSONObject whereJson) { + List allList = queryIvt(whereJson); + + // 处理数据 + List resultList = allList.stream() + .map(row -> { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("name", row.getString("material_code")); + jsonObject.put("value", row.getDoubleValue("pro")); + return jsonObject; + }) + .collect(Collectors.toList()); + + JSONObject result = new JSONObject(); + result.put("ivtList", resultList); + return result; + } + + @Override + public List queryIvt(Map whereJson) { + + String stor_id = MapUtil.getStr(whereJson, "stor_id"); + + List result = new ArrayList<>(); + + switch (stor_id) { + case StorUtil.STOR_YL : + result = stIvtStructivtYlMapper.getIvtPor(); + break; + + case StorUtil.STOR_BCP : + result = stIvtStructivtBcpMapper.getIvtPor(); + break; + + case StorUtil.STOR_CP : + result = stIvtStructivtCpMapper.getIvtPor(); + break; + + case StorUtil.STOR_HR_BCP : + result = stIvtStructivtHrBcpMapper.getIvtPor(); + break; + + case StorUtil.STOR_BJ : + result = emBiStructivtMapper.getIvtPor(); + break; + } + return result; + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.java index 74f6ae00..70756274 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.java @@ -33,4 +33,6 @@ public interface StIvtStructivtCpMapper extends BaseMapper { List getStructAll(@Param("chanList") List list); + List getIvtPor(); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.xml index 4afe6843..22be2437 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/structIvt/dao/mapper/StIvtStructivtCpMapper.xml @@ -236,4 +236,20 @@ + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/mapper/StIvtStructivtYlMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/mapper/StIvtStructivtYlMapper.java index 68efdc83..1c6488f4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/mapper/StIvtStructivtYlMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/mapper/StIvtStructivtYlMapper.java @@ -1,5 +1,6 @@ package org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.mapper; +import com.alibaba.fastjson.JSONObject; import org.apache.ibatis.annotations.Param; import org.nl.common.domain.query.PageQuery; import org.nl.wms.pcs_manage.service.purchase.dto.PurchaseOrderQuery; @@ -29,4 +30,6 @@ public interface StIvtStructivtYlMapper extends BaseMapper { List getSemiProductIvt(@Param("query") StructIvtYLQuery query); List getStructIvt(@Param("query") StructIvtYLQuery query); + + List getIvtPor(); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/mapper/xml/StIvtStructivtYlMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/mapper/xml/StIvtStructivtYlMapper.xml index 4d139bcd..5caf3888 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/mapper/xml/StIvtStructivtYlMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/rawmanage/service/structIvt/dao/mapper/xml/StIvtStructivtYlMapper.xml @@ -192,4 +192,20 @@ + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/structIvt/dao/mapper/StIvtStructivtBcpMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/structIvt/dao/mapper/StIvtStructivtBcpMapper.java index 0f58b14f..9b4096e3 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/structIvt/dao/mapper/StIvtStructivtBcpMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/structIvt/dao/mapper/StIvtStructivtBcpMapper.java @@ -38,4 +38,6 @@ public interface StIvtStructivtBcpMapper extends BaseMapper { List getPdaBcpMaterialIvt(JSONObject jo); StIvtStructivtBcp queryIvtOutOne(JSONObject json); + + List getIvtPor(); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/structIvt/dao/mapper/xml/StIvtStructivtBcpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/structIvt/dao/mapper/xml/StIvtStructivtBcpMapper.xml index d9cde3f3..ff11ec73 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/structIvt/dao/mapper/xml/StIvtStructivtBcpMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanage/service/structIvt/dao/mapper/xml/StIvtStructivtBcpMapper.xml @@ -271,4 +271,20 @@ LIMIT 1 + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanagehr/service/structIvt/dao/mapper/StIvtStructivtHrBcpMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanagehr/service/structIvt/dao/mapper/StIvtStructivtHrBcpMapper.java index 44db3d5e..cb3917d8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanagehr/service/structIvt/dao/mapper/StIvtStructivtHrBcpMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanagehr/service/structIvt/dao/mapper/StIvtStructivtHrBcpMapper.java @@ -39,4 +39,7 @@ public interface StIvtStructivtHrBcpMapper extends BaseMapper getBcpMoveIvt(@Param("query") StructIvtYLQuery query); + + List getIvtPor(); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanagehr/service/structIvt/dao/mapper/xml/StIvtStructivtHrBcpMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanagehr/service/structIvt/dao/mapper/xml/StIvtStructivtHrBcpMapper.xml index 6142814c..eb5b0dfa 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanagehr/service/structIvt/dao/mapper/xml/StIvtStructivtHrBcpMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/semimanagehr/service/structIvt/dao/mapper/xml/StIvtStructivtHrBcpMapper.xml @@ -282,4 +282,20 @@ + + diff --git a/mes/qd/src/views/wms/stata_manage/realtimeivt/PieChart.vue b/mes/qd/src/views/wms/stata_manage/realtimeivt/PieChart.vue new file mode 100644 index 00000000..15d2087a --- /dev/null +++ b/mes/qd/src/views/wms/stata_manage/realtimeivt/PieChart.vue @@ -0,0 +1,101 @@ + + + diff --git a/mes/qd/src/views/wms/stata_manage/realtimeivt/index.vue b/mes/qd/src/views/wms/stata_manage/realtimeivt/index.vue new file mode 100644 index 00000000..39397245 --- /dev/null +++ b/mes/qd/src/views/wms/stata_manage/realtimeivt/index.vue @@ -0,0 +1,160 @@ + + + + diff --git a/mes/qd/src/views/wms/stata_manage/realtimeivt/realtimeivt.js b/mes/qd/src/views/wms/stata_manage/realtimeivt/realtimeivt.js new file mode 100644 index 00000000..0d3b45f9 --- /dev/null +++ b/mes/qd/src/views/wms/stata_manage/realtimeivt/realtimeivt.js @@ -0,0 +1,40 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: '/api/realtimeivt', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: '/api/realtimeivt/delete', + method: 'post', + data: ids + }) +} + +export function edit(data) { + return request({ + url: '/api/realtimeivt/update', + method: 'post', + data + }) +} + +export function autoWeb(data) { + return request({ + url: 'api/realtimeivt/autoWeb', + method: 'post', + data + }) +} + +export default { + add, + edit, + del, + autoWeb +}