Browse Source

重构物料更新

lwx_dev
erdanergou 3 years ago
parent
commit
d2556d1064
  1. 2
      src/main/java/com/dreamchaser/depository_manage/config/PortConfig.java
  2. 17
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java
  3. 2
      src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.java
  4. 2
      src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.xml
  5. 2
      src/main/java/com/dreamchaser/depository_manage/service/DepositoryService.java
  6. 2
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java
  7. 2
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java
  8. 1
      src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java
  9. 1
      src/main/java/com/dreamchaser/depository_manage/utils/ObjectFormatUtil.java
  10. 101
      src/main/resources/templates/pages/chart/chart-stock_back.html
  11. 2
      src/main/resources/templates/pages/depository/table-stock.html
  12. 47
      src/test/java/com/dreamchaser/depository_manage/TestForgetMapData.java

2
src/main/java/com/dreamchaser/depository_manage/config/PortConfig.java

@ -23,7 +23,7 @@ import java.util.Map;
*/ */
@Data @Data
public class PortConfig { public class PortConfig {
// 部署数据库depository NhE47edekBHxhjYk // 部署数据库 depository NhE47edekBHxhjYk
// 接口地址 // 接口地址
public static String external_url = "http://172.20.2.87:39168"; public static String external_url = "http://172.20.2.87:39168";
// public static String external_url = "http://127.0.0.1:39168"; // public static String external_url = "http://127.0.0.1:39168";

17
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java

@ -239,7 +239,7 @@ public class DepositoryController {
* @param depositoryRecordService * @param depositoryRecordService
* @return * @return
*/ */
public List<Object> getBeforeInventoryByMonth(DepositoryService depositoryService, DepositoryRecordService depositoryRecordService, UserByPort userByPort) { public List<Object> getBeforeInventoryByMonth(DepositoryService depositoryService,Map<String,Object> todayInventory, DepositoryRecordService depositoryRecordService, UserByPort userByPort) {
List<Depository> depositoryAll = depositoryService.findDepositoryByAdminorgAndUser(userByPort); List<Depository> depositoryAll = depositoryService.findDepositoryByAdminorgAndUser(userByPort);
// 获取该用户管理的仓库 // 获取该用户管理的仓库
Map<String, Object> previousMonth = getPreviousMonth(); Map<String, Object> previousMonth = getPreviousMonth();
@ -256,6 +256,7 @@ public class DepositoryController {
String dname = depositoryAll.get(i).getDname(); String dname = depositoryAll.get(i).getDname();
Integer todayDepositoryInventory = getInventoryByDname(dname,toDayInventoryByDNameTest); Integer todayDepositoryInventory = getInventoryByDname(dname,toDayInventoryByDNameTest);
result.add(todayDepositoryInventory); result.add(todayDepositoryInventory);
todayInventory.put(dname,todayDepositoryInventory);
((Map<String, Object>) sourceList.get(0)).put(dname, result.get(i)); ((Map<String, Object>) sourceList.get(0)).put(dname, result.get(i));
} }
for (int num = 0; num < months.size() - 1; num++) { for (int num = 0; num < months.size() - 1; num++) {
@ -847,7 +848,7 @@ public class DepositoryController {
Integer val = (Integer) depositoryAllNameAndId.get(key); Integer val = (Integer) depositoryAllNameAndId.get(key);
// 获取一段时间内的库存额度 // 获取一段时间内的库存额度
Integer depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(tomorrow, now, Integer.parseInt(type), val); Integer depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(tomorrow, now, Integer.parseInt(type), val);
Integer toDayInventoryByDName = ObjectFormatUtil.toInteger(depositoryService.getToDayInventoryByDName(key.toString())); Integer toDayInventoryByDName = depositoryService.getToDayInventoryByDName(key.toString());
todayInventory.put(key.toString(), toDayInventoryByDName); todayInventory.put(key.toString(), toDayInventoryByDName);
yesterdayData.put(key.toString(), depositoryRecordByDate1); yesterdayData.put(key.toString(), depositoryRecordByDate1);
List<Integer> drCountbyDrName = new ArrayList<>(); List<Integer> drCountbyDrName = new ArrayList<>();
@ -871,7 +872,7 @@ public class DepositoryController {
while (it.hasNext()) { while (it.hasNext()) {
int i; int i;
Object key = it.next(); Object key = it.next();
Double toDayInventoryByDName = depositoryService.getToDayInventoryByDName(key.toString()); Integer toDayInventoryByDName = depositoryService.getToDayInventoryByDName(key.toString());
todayInventory.put(key.toString(), toDayInventoryByDName); todayInventory.put(key.toString(), toDayInventoryByDName);
for (i = days.size() - 1; i > 0; i--) { for (i = days.size() - 1; i > 0; i--) {
// 遍历 Map并计算各仓库的入库数 // 遍历 Map并计算各仓库的入库数
@ -972,7 +973,7 @@ public class DepositoryController {
Integer val = (Integer) depositoryAllNameAndId.get(key); Integer val = (Integer) depositoryAllNameAndId.get(key);
// 获取一段时间内的库存额度 // 获取一段时间内的库存额度
Integer depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(tomorrow, now, Integer.parseInt(type), val); Integer depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(tomorrow, now, Integer.parseInt(type), val);
Integer toDayInventoryByDName =ObjectFormatUtil.toInteger(depositoryService.getToDayInventoryByDName(key.toString())); Integer toDayInventoryByDName = depositoryService.getToDayInventoryByDName(key.toString());
todayInventory.put(key.toString(), toDayInventoryByDName); todayInventory.put(key.toString(), toDayInventoryByDName);
yesterdayData.put(key.toString(), depositoryRecordByDate1); yesterdayData.put(key.toString(), depositoryRecordByDate1);
List<Integer> drCountbyDrName = new ArrayList<>(); List<Integer> drCountbyDrName = new ArrayList<>();
@ -1028,8 +1029,9 @@ public class DepositoryController {
// 获取库存图 // 获取库存图
if ("0".equals(type)) { if ("0".equals(type)) {
// 如果是获取库存 // 如果是获取库存
depository_data.put("todayInventory", todayInventory);
distributeTasks distributeTasks1 = new distributeTasks(type, 5, userByPort, yesterdayData, depositoryName); distributeTasks distributeTasks1 = new distributeTasks(type, 5, userByPort, yesterdayData, depositoryName);
distributeTasks1.setTodayInventory(todayInventory);
distributeTasks1.setDepositoryService(depositoryService); distributeTasks1.setDepositoryService(depositoryService);
distributeTasks1.setDepositoryRecordService(depositoryRecordService); distributeTasks1.setDepositoryRecordService(depositoryRecordService);
distributeTasks distributeTasks2 = new distributeTasks(type, 6, userByPort, yesterdayData, depositoryName); distributeTasks distributeTasks2 = new distributeTasks(type, 6, userByPort, yesterdayData, depositoryName);
@ -1064,7 +1066,7 @@ public class DepositoryController {
beforeInventoryOnMap = (Map<String, Object>) ((Map<String, Object>) result).get("MapInventory"); beforeInventoryOnMap = (Map<String, Object>) ((Map<String, Object>) result).get("MapInventory");
} }
} }
depository_data.put("todayInventory", todayInventory);
depository_data.put("sourceListByMonth", beforeInventoryByMonth); depository_data.put("sourceListByMonth", beforeInventoryByMonth);
depository_data.put("ThisWeekInventory", thisWeekInventoryByDName); depository_data.put("ThisWeekInventory", thisWeekInventoryByDName);
depository_data.put("MapInventory", beforeInventoryOnMap); depository_data.put("MapInventory", beforeInventoryOnMap);
@ -1098,6 +1100,7 @@ public class DepositoryController {
List<String> depositoryName; // 仓库名称 List<String> depositoryName; // 仓库名称
DepositoryService depositoryService; // 操作depository的service DepositoryService depositoryService; // 操作depository的service
DepositoryRecordService depositoryRecordService; // 操作订单的service DepositoryRecordService depositoryRecordService; // 操作订单的service
Map<String, Object> todayInventory; // 当前仓库的额度
distributeTasks(String type ,int taskType,UserByPort userByPort,Map<String,Integer> yesterdayData,List<String> depositoryName){ distributeTasks(String type ,int taskType,UserByPort userByPort,Map<String,Integer> yesterdayData,List<String> depositoryName){
this.taskType = taskType; // 任务类型 this.taskType = taskType; // 任务类型
@ -1124,7 +1127,7 @@ public class DepositoryController {
Map<String, Object> mapData = getMapData(type); Map<String, Object> mapData = getMapData(type);
result.put("mapData",mapData); result.put("mapData",mapData);
}else if(5 == taskType){ }else if(5 == taskType){
List<Object> beforeInventoryByMonth = getBeforeInventoryByMonth(depositoryService, depositoryRecordService, userByPort); List<Object> beforeInventoryByMonth = getBeforeInventoryByMonth(depositoryService, todayInventory,depositoryRecordService, userByPort);
result.put("sourceListByMonth",beforeInventoryByMonth); result.put("sourceListByMonth",beforeInventoryByMonth);
}else if(6 == taskType){ }else if(6 == taskType){
Map<String, Object> thisWeekInventoryByDName = getThisWeekInventoryByDName(depositoryService, depositoryRecordService, userByPort); Map<String, Object> thisWeekInventoryByDName = getThisWeekInventoryByDName(depositoryService, depositoryRecordService, userByPort);

2
src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.java

@ -114,7 +114,7 @@ public interface DepositoryMapper {
* @param map * @param map
* @return * @return
*/ */
Double getToDayInventoryByDName(Map<String,Object> map); Integer getToDayInventoryByDName(Map<String,Object> map);
List<InventoryByDname> getToDayInventoryByDNameTest(); List<InventoryByDname> getToDayInventoryByDNameTest();

2
src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryMapper.xml

@ -332,7 +332,7 @@
where d.state != 3 where d.state != 3
</select> </select>
<select id="getToDayInventoryByDName" resultType="double" parameterType="map"> <select id="getToDayInventoryByDName" resultType="int" parameterType="map">
select ifnull(sum(quantity),0.0) select ifnull(sum(quantity),0.0)
from depositoryAndmaterial from depositoryAndmaterial
where 1 = 1 where 1 = 1

2
src/main/java/com/dreamchaser/depository_manage/service/DepositoryService.java

@ -119,7 +119,7 @@ public interface DepositoryService {
* @param dname * @param dname
* @return * @return
*/ */
Double getToDayInventoryByDName(String dname); Integer getToDayInventoryByDName(String dname);
/** /**
* 根据父级获取子类 * 根据父级获取子类

2
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java

@ -96,7 +96,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
temp.put("dname", depositoryRecordById.getDname()); temp.put("dname", depositoryRecordById.getDname());
temp.put("dcode", depositoryRecordById.getCode()); temp.put("dcode", depositoryRecordById.getCode());
// 获取当前仓库库存 // 获取当前仓库库存
Double Inventory = depositoryMapper.getToDayInventoryByDName(temp); Integer Inventory = depositoryMapper.getToDayInventoryByDName(temp);
String code = createCode(depositoryRecordById.getDname(), "InOrderNumber", "in", "");//构造单号 String code = createCode(depositoryRecordById.getDname(), "InOrderNumber", "in", "");//构造单号
Double quantity = Double.parseDouble((String) map.get("quantity")); Double quantity = Double.parseDouble((String) map.get("quantity"));
Double price = Double.parseDouble((String) map.get("price")); Double price = Double.parseDouble((String) map.get("price"));

2
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java

@ -302,7 +302,7 @@ public class DepositoryServiceImpl implements DepositoryService {
* @return * @return
*/ */
@Override @Override
public Double getToDayInventoryByDName(String dname) { public Integer getToDayInventoryByDName(String dname) {
String[] split = dname.split(","); String[] split = dname.split(",");
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
if (split.length > 1) { if (split.length > 1) {

1
src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java

@ -15,7 +15,6 @@ import com.dreamchaser.depository_manage.service.PlaceService;
import com.dreamchaser.depository_manage.service.RoleService; import com.dreamchaser.depository_manage.service.RoleService;
import com.dreamchaser.depository_manage.utils.DateUtil; import com.dreamchaser.depository_manage.utils.DateUtil;
import com.dreamchaser.depository_manage.utils.ObjectFormatUtil; import com.dreamchaser.depository_manage.utils.ObjectFormatUtil;
import com.sun.xml.internal.messaging.saaj.util.ByteOutputStream;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

1
src/main/java/com/dreamchaser/depository_manage/utils/ObjectFormatUtil.java

@ -2,7 +2,6 @@ package com.dreamchaser.depository_manage.utils;
/** /**
* 此工具类封装一些常用类型转换操作 * 此工具类封装一些常用类型转换操作
* @author 金昊霖
*/ */
public class ObjectFormatUtil { public class ObjectFormatUtil {
/** /**

101
src/main/resources/templates/pages/chart/chart-stock_back.html

@ -15,16 +15,19 @@
border-radius: 5px; border-radius: 5px;
text-align: center; text-align: center;
} }
.top-panel > .layui-card-body{
.top-panel > .layui-card-body {
height: 60px; height: 60px;
} }
.top-panel-number{
line-height:60px; .top-panel-number {
line-height: 60px;
font-size: 30px; font-size: 30px;
border-right:1px solid #eceff9; border-right: 1px solid #eceff9;
} }
.top-panel-tips{
line-height:30px; .top-panel-tips {
line-height: 30px;
font-size: 12px font-size: 12px
} }
</style> </style>
@ -38,7 +41,7 @@
<button class="layui-btn" lay-submit lay-filter="thisWeek"> <button class="layui-btn" lay-submit lay-filter="thisWeek">
&emsp;本周&emsp; &emsp;本周&emsp;
</button> </button>
<button class="layui-btn" lay-submit lay-filter="lastWeek" > <button class="layui-btn" lay-submit lay-filter="lastWeek">
&emsp;上周&emsp; &emsp;上周&emsp;
</button> </button>
<div id="echarts-records" style="background-color:#ffffff;min-height:400px;padding: 10px"></div> <div id="echarts-records" style="background-color:#ffffff;min-height:400px;padding: 10px"></div>
@ -66,7 +69,7 @@
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script> <script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script> <script>
layui.use(['layer', 'echarts'], function () { layui.use(['layer', 'echarts'], function () {
var $ = layui.jquery, var $ = layui.jquery,
layer = layui.layer, layer = layui.layer,
echarts = layui.echarts, echarts = layui.echarts,
form = layui.form; form = layui.form;
@ -184,8 +187,7 @@
tooltip: {}, tooltip: {},
dataset: { dataset: {
dimensions: [], dimensions: [],
source: [ source: []
]
}, },
xAxis: {type: 'category'}, xAxis: {type: 'category'},
yAxis: {}, yAxis: {},
@ -208,41 +210,39 @@
showContent: false showContent: false
}, },
dataset: { dataset: {
source: [ source: []
]
}, },
xAxis: {type: 'category'}, xAxis: {type: 'category'},
yAxis: {gridIndex: 0}, yAxis: {gridIndex: 0},
grid: {top: '55%'}, grid: {top: '55%'},
series: [ series: []
]
}; };
//动态加载相关数据 //动态加载相关数据
$.ajax({ $.ajax({
url:'/repository/layui/echart_back?type=0', url: '/repository/layui/echart_back?type=0',
type:'get', type: 'get',
async:true, async: true,
dataType: "json", dataType: "json",
complete:function (XHR,TS){ complete: function (XHR, TS) {
if(XHR.status != 200){ if (XHR.status != 200) {
layer.alert("系统繁忙,稍后重试"); layer.alert("系统繁忙,稍后重试");
} }
}, },
beforeSend: function () { beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
}, },
success:function (result){ success: function (result) {
layer.close(this.layerIndex); layer.close(this.layerIndex);
if(result.code == 0){ if (result.code == 0) {
echartsRecords.setOption(optionRecords); echartsRecords.setOption(optionRecords);
echartsPies.setOption(optionPies); echartsPies.setOption(optionPies);
echartsDataset.setOption(optionDataset); echartsDataset.setOption(optionDataset);
echartsMap.setOption(optionMap); echartsMap.setOption(optionMap);
// 折线图 // 折线图
var optionRecordsSeries=[]; var optionRecordsSeries = [];
// 饼状图 // 饼状图
var optionPiesSeries = { var optionPiesSeries = {
name: '昨日占比', name: '昨日占比',
@ -257,42 +257,43 @@
shadowColor: 'rgba(0, 0, 0, 0.5)' shadowColor: 'rgba(0, 0, 0, 0.5)'
} }
}, },
data:[] data: []
}; };
// 柱状图 // 柱状图
optionDataset = { optionDataset = {
legend: {}, legend: {},
tooltip: {}, tooltip: {},
dataset: { dataset: {
dimensions:[], dimensions: [],
source:[] source: []
}, },
series:[] series: []
}; };
for (let i = 0; i < result.data.depository_name.length; i++) { for (let i = 0; i < result.data.depository_name.length; i++) {
optionRecordsSeries.push({ optionRecordsSeries.push({
name: result.data.depository_name[i], name: result.data.depository_name[i],
type: 'line', type: 'line',
stack: '金额', stack: '金额',
data:result.data.depository_data.ThisWeekInventory[result.data.depository_name[i]], data: result.data.depository_data.ThisWeekInventory[result.data.depository_name[i]],
areaStyle: {} areaStyle: {}
}); });
optionPiesSeries.data.push({ optionPiesSeries.data.push({
value:result.data.depository_data.todayInventory[result.data.depository_name[i]],name:result.data.depository_name[i] value: result.data.depository_data.todayInventory[result.data.depository_name[i].split(",")[0]],
name: result.data.depository_name[i]
}) })
} }
var dimensions = result.data.depository_data.sourceListByMonth[result.data.depository_data.sourceListByMonth.length - 1] var dimensions = result.data.depository_data.sourceListByMonth[result.data.depository_data.sourceListByMonth.length - 1];
optionDataset.dataset.dimensions = dimensions; optionDataset.dataset.dimensions = dimensions;
for (let i = result.data.depository_data.sourceListByMonth.length - 2; i >= 0; i--) { for (let i = result.data.depository_data.sourceListByMonth.length - 2; i >= 0; i--) {
optionDataset.dataset.source.push(result.data.depository_data.sourceListByMonth[i]) optionDataset.dataset.source.push(result.data.depository_data.sourceListByMonth[i])
} }
for (let i = 0; i < dimensions.length - 1; i++) { for (let i = 0; i < dimensions.length - 1; i++) {
optionDataset.series.push({type:'bar'}) optionDataset.series.push({type: 'bar'})
} }
for (let i = 0; i < result.data.depository_data.MapInventory.mapDataList.length ; i++) { for (let i = 0; i < result.data.depository_data.MapInventory.mapDataList.length; i++) {
optionMap.dataset.source.push(result.data.depository_data.MapInventory.mapDataList[i]) optionMap.dataset.source.push(result.data.depository_data.MapInventory.mapDataList[i]);
if(i < result.data.depository_data.MapInventory.mapDataList.length - 1) { if (i < result.data.depository_data.MapInventory.mapDataList.length - 1) {
optionMap.series.push({type: 'line', smooth: true, seriesLayoutBy: 'row'}) optionMap.series.push({type: 'line', smooth: true, seriesLayoutBy: 'row'})
} }
@ -305,12 +306,12 @@
radius: '30%', radius: '30%',
center: ['50%', '25%'], center: ['50%', '25%'],
label: { label: {
formatter: '{b}: {@'+month+'月} ({d}%)' formatter: '{b}: {@' + month + '月} ({d}%)'
}, },
encode: { encode: {
itemName: 'product', itemName: 'product',
value: month+'月', value: month + '月',
tooltip: month+'月' tooltip: month + '月'
} }
} }
); );
@ -388,12 +389,12 @@
form.on('submit(thisWeek)', function () { form.on('submit(thisWeek)', function () {
$.ajax({ $.ajax({
url:'/repository/layui/echart_back_thisWeek?type=0', url: '/repository/layui/echart_back_thisWeek?type=0',
type:'get', type: 'get',
async:true, async: true,
dataType: "json", dataType: "json",
complete:function (XHR,TS){ complete: function (XHR, TS) {
if(XHR.status != 200){ if (XHR.status != 200) {
layer.alert("系统繁忙,稍后重试"); layer.alert("系统繁忙,稍后重试");
} }
}, },
@ -404,13 +405,13 @@
layer.close(this.layerIndex); layer.close(this.layerIndex);
echartsRecords.setOption(optionRecords); echartsRecords.setOption(optionRecords);
// 折线图 // 折线图
var optionRecordsSeries=[]; var optionRecordsSeries = [];
for (let i = 0; i < result.depository_name.length; i++) { for (let i = 0; i < result.depository_name.length; i++) {
optionRecordsSeries.push({ optionRecordsSeries.push({
name: result.depository_name[i], name: result.depository_name[i],
type: 'line', type: 'line',
stack: '金额', stack: '金额',
data:result.ThisWeekInventory[result.depository_name[i]], data: result.ThisWeekInventory[result.depository_name[i]],
areaStyle: {} areaStyle: {}
}); });
} }
@ -462,12 +463,12 @@
form.on('submit(lastWeek)', function () { form.on('submit(lastWeek)', function () {
$.ajax({ $.ajax({
url:'/repository/layui/echart_back_lastWeek?type=0', url: '/repository/layui/echart_back_lastWeek?type=0',
type:'get', type: 'get',
async:true, async: true,
dataType: "json", dataType: "json",
complete:function (XHR,TS){ complete: function (XHR, TS) {
if(XHR.status != 200){ if (XHR.status != 200) {
layer.alert("系统繁忙,稍后重试"); layer.alert("系统繁忙,稍后重试");
} }
}, },
@ -478,13 +479,13 @@
layer.close(this.layerIndex); layer.close(this.layerIndex);
echartsRecords.setOption(optionRecords); echartsRecords.setOption(optionRecords);
// 折线图 // 折线图
var optionRecordsSeries=[]; var optionRecordsSeries = [];
for (let i = 0; i < result.depository_name.length; i++) { for (let i = 0; i < result.depository_name.length; i++) {
optionRecordsSeries.push({ optionRecordsSeries.push({
name: result.depository_name[i], name: result.depository_name[i],
type: 'line', type: 'line',
stack: '金额', stack: '金额',
data:result.BeforeInventory[result.depository_name[i]], data: result.BeforeInventory[result.depository_name[i]],
areaStyle: {} areaStyle: {}
}); });
} }

2
src/main/resources/templates/pages/depository/table-stock.html

@ -131,10 +131,10 @@
{field: 'version', width: 200, title: '规格型号'}, {field: 'version', width: 200, title: '规格型号'},
{field: 'code', width: 200, title: '存货编码'}, {field: 'code', width: 200, title: '存货编码'},
{field: 'typeName', width: 200, title: '物料类型'}, {field: 'typeName', width: 200, title: '物料类型'},
{field: 'quantity', width: 200, title: '数量', sort: true},
{field: 'depositoryName', width: 200, title: '仓库名称'}, {field: 'depositoryName', width: 200, title: '仓库名称'},
{field: 'depositoryCode', width: 200, title: '仓库编码'}, {field: 'depositoryCode', width: 200, title: '仓库编码'},
{field: 'placeCode', width: 200, title: '库位编码'}, {field: 'placeCode', width: 200, title: '库位编码'},
{field: 'quantity', width: 200, title: '数量', sort: true},
{field: 'warningCount', width: 200, title: '待过期数量', sort: true}, {field: 'warningCount', width: 200, title: '待过期数量', sort: true},
{field: 'price', title: '单价', width: 200, sort: true}, {field: 'price', title: '单价', width: 200, sort: true},
{field: 'amounts', title: '总金额', width: 200, sort: true}, {field: 'amounts', title: '总金额', width: 200, sort: true},

47
src/test/java/com/dreamchaser/depository_manage/TestForgetMapData.java

@ -1,11 +1,14 @@
package com.dreamchaser.depository_manage; package com.dreamchaser.depository_manage;
import com.dreamchaser.depository_manage.controller.DepositoryController; import com.dreamchaser.depository_manage.controller.DepositoryController;
import com.dreamchaser.depository_manage.controller.PageController;
import com.dreamchaser.depository_manage.entity.MaterialType; import com.dreamchaser.depository_manage.entity.MaterialType;
import com.dreamchaser.depository_manage.entity.UserByPort;
import com.dreamchaser.depository_manage.service.DepositoryRecordService; import com.dreamchaser.depository_manage.service.DepositoryRecordService;
import com.dreamchaser.depository_manage.service.DepositoryService; import com.dreamchaser.depository_manage.service.DepositoryService;
import com.dreamchaser.depository_manage.service.MaterialTypeService; import com.dreamchaser.depository_manage.service.MaterialTypeService;
import com.dreamchaser.depository_manage.utils.DateUtil; import com.dreamchaser.depository_manage.utils.DateUtil;
import com.dreamchaser.depository_manage.utils.ObjectFormatUtil;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -24,19 +27,45 @@ public class TestForgetMapData {
MaterialTypeService materialTypeService; MaterialTypeService materialTypeService;
@Autowired @Autowired
DepositoryRecordService depositoryRecordService; DepositoryRecordService depositoryRecordService;
@Autowired
DepositoryService depositoryService;
@Test @Test
public void Test(){ public void Test(){
// HashMap可以实现真正意义上深拷贝,注意不是Map UserByPort userByPort = PageController.FindUserById(78, null);
HashMap<String, String> paramMap = new HashMap<String, String>(); Map<String, Integer> depositoryAllNameAndId = depositoryService.findDepositoryAllNameAndId(userByPort);
paramMap.put("name", "Marydon"); Iterator it = depositoryAllNameAndId.keySet().iterator();
HashMap<String, String> paramMap2 = new HashMap<String, String>(); List<String> depositoryName = new ArrayList<>();
// 实现深拷贝:使用HashMap.putAll() // 各仓库对应入库数目
paramMap2.putAll(paramMap); Map<String, Integer> yesterdayData = new HashMap<>();
paramMap.put("age","19"); // 每天各仓库入库数目
System.out.println(paramMap2);// {name=Marydon} Map<String, Object> show_data = new HashMap<>();
System.out.println(paramMap);// {name=Marydon} // 各仓库当前库存数目
Map<String, Object> todayInventory = new HashMap<>();
//获取获取系统的当前日历对象
Calendar instance = Calendar.getInstance();
// 获取日期
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Long now = DateUtil.DateTimeByMonthToTimeStamp(formatter.format(instance.getTime()));
instance.add(Calendar.DATE, 1);
Long tomorrow = DateUtil.DateTimeByMonthToTimeStamp(formatter.format(instance.getTime()));
instance.add(Calendar.DATE, -2);
String yesterday = formatter.format(instance.getTime());
while (it.hasNext()) {
// 遍历 Map并计算各仓库的入库数
Object key = it.next();
depositoryName.add(key.toString());
Integer val = (Integer) depositoryAllNameAndId.get(key);
// 获取一段时间内的库存额度
Integer depositoryRecordByDate1 = depositoryRecordService.findApplicationRecordByDate(tomorrow, now, Integer.parseInt("1"), val);
Integer toDayInventoryByDName = depositoryService.getToDayInventoryByDName(key.toString());
todayInventory.put(key.toString(), toDayInventoryByDName);
yesterdayData.put(key.toString(), depositoryRecordByDate1);
List<Integer> drCountbyDrName = new ArrayList<>();
drCountbyDrName.add(depositoryRecordByDate1);
show_data.put(key.toString(), ((ArrayList<Integer>) drCountbyDrName).clone());
}
} }
// 中国地图数据 // 中国地图数据

Loading…
Cancel
Save