package zy.cloud.wms.manager.controller;
|
|
import com.core.common.Cools;
|
import com.core.common.R;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
import zy.cloud.wms.common.web.BaseController;
|
import zy.cloud.wms.manager.entity.WrkSts;
|
import zy.cloud.wms.manager.service.WrkStsService;
|
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Optional;
|
|
/**
|
* Created by vincent on 2021/3/5
|
*/
|
@RestController
|
@RequestMapping("console")
|
public class ConsoleController extends BaseController {
|
|
@Autowired
|
private JdbcTemplate jdbcTemplate;
|
@Autowired
|
private WrkStsService wrkStsService;
|
|
/**
|
* 当天数据:select * from tableName where datediff(day, 字段名,getdate())=0
|
* 本周数据:select * from tableName where datediff(week, 字段名,getdate())=0
|
* 本月:select * from tableName where datediff(month, 字段名,getdate())=0
|
* 本季度:内select * from tableName where datediff(quarter, 字段名,getdate())=0
|
* 本年:select * from tableName where datediff(year, 字段名,getdate())=0
|
*/
|
@RequestMapping(value = "/header/auth")
|
public R header() {
|
Integer combQtyDay = jdbcTemplate.queryForObject("select count(*) from man_comb where datediff(day, create_time, getdate())=0", Integer.class);
|
Integer combQty = jdbcTemplate.queryForObject("select count(*) from man_comb", Integer.class);
|
|
Integer matQty = jdbcTemplate.queryForObject("select count(*) from man_mat", Integer.class);
|
Integer nodeQty = jdbcTemplate.queryForObject("select count(*) from man_node where type = 3", Integer.class);
|
|
Integer pakoutQty = jdbcTemplate.queryForObject("select count(*) from man_pakout", Integer.class);
|
Integer pakoutQtyMonth = jdbcTemplate.queryForObject("select count(*) from man_pakout where datediff(month, create_time, getdate())=0", Integer.class);
|
|
Integer usersQty = jdbcTemplate.queryForObject("select count(*) from sys_user", Integer.class);
|
Integer deptQty = jdbcTemplate.queryForObject("select count(*) from sys_dept", Integer.class);
|
Integer optQty = jdbcTemplate.queryForObject("select count(*) from sys_operate_log", Integer.class);
|
|
return R.ok().add(Cools
|
.add("combQtyDay", Optional.ofNullable(combQtyDay).orElse(0)) // 组托数量(当天)
|
.add("combQty", Optional.ofNullable(combQty).orElse(0)) // 组托数量
|
|
.add("matQty", Optional.ofNullable(matQty).orElse(0)) // 物料数量
|
.add("nodeQty", Optional.ofNullable(nodeQty).orElse(0)) // 货位数量
|
|
.add("pakoutQty", Optional.ofNullable(pakoutQty).orElse(0)) // 总出库单数
|
.add("pakoutQtyMonth", Optional.ofNullable(pakoutQtyMonth).orElse(0)) // 出库单数(当月)
|
|
.add("usersQty", Optional.ofNullable(usersQty).orElse(0)) // 用户数量
|
.add("deptQty", Optional.ofNullable(deptQty).orElse(0)) // 部门数量
|
.add("optQty", Optional.ofNullable(optQty).orElse(0)) // 操作次数
|
);
|
}
|
|
@RequestMapping(value = "/body/auth")
|
public R body() {
|
// 组托
|
List<Map<String, Object>> combList = jdbcTemplate.queryForList("select top 10 * from man_comb where 1=1 order by create_time desc");
|
for (int i=0;i<combList.size();i++) {
|
Object create_time = combList.get(i).get("create_time");
|
combList.get(i).put("time", String.valueOf(create_time).substring(5, 16));
|
combList.get(i).put("active", String.valueOf(combList.get(i).get("io_status")).equals("4")?"":"active");
|
}
|
// 拣货单
|
List<Map<String, Object>> pakoutList = jdbcTemplate.queryForList("select top 5 * from man_pakout where 1=1 order by create_time desc");
|
for (int i=0;i<pakoutList.size();i++) {
|
pakoutList.get(i).put("no", i+1);
|
String wrk_sts = String.valueOf(pakoutList.get(i).get("wrk_sts"));
|
switch (wrk_sts) {
|
case "1":
|
pakoutList.get(i).put("style", "text-warning");
|
break;
|
case "2":
|
pakoutList.get(i).put("style", "text-danger");
|
break;
|
case "3":
|
pakoutList.get(i).put("style", "text-success");
|
break;
|
default:
|
pakoutList.get(i).put("style", "text-info");
|
break;
|
}
|
WrkSts wrkSts = wrkStsService.selectById(Integer.parseInt(wrk_sts));
|
if (null != wrkSts) {
|
pakoutList.get(i).put("wrkStsName", wrkSts.getStsName());
|
}
|
}
|
// 安全库存警告
|
List<Map<String, Object>> safeQuaList = jdbcTemplate.queryForList("select\n" +
|
"top 5\n" +
|
"mp.node_id,\n" +
|
"mp.node_name,\n" +
|
"mp.matnr,\n" +
|
"mp.maktx,\n" +
|
"mp.safe_qua,\n" +
|
"ISNULL(ls.amount, 0) as amount,\n" +
|
"(mp.safe_qua - isnull(ls.amount, 0)) as dValue\n" +
|
"from man_prior mp\n" +
|
"left join\n" +
|
"(\n" +
|
" select\n" +
|
" node_id,\n" +
|
" matnr,\n" +
|
" sum(anfme) as amount\n" +
|
" from man_loc_detl\n" +
|
" group by node_id, matnr\n" +
|
") as ls on ls.node_id = mp.node_id and ls.matnr = mp.matnr\n" +
|
"where 1=1\n" +
|
"and mp.safe_qua > ls.amount or ls.amount is null\n" +
|
"order by (mp.safe_qua - isnull(ls.amount, 0)) desc");
|
for (int i=0;i<safeQuaList.size();i++) {
|
safeQuaList.get(i).put("no", i+1);
|
if (Cools.isEmpty(safeQuaList.get(i).get("dValue"))){
|
safeQuaList.get(i).put("dValue", safeQuaList.get(i).get("safe_qua"));
|
}
|
}
|
// 库存滞留
|
List<Map<String, Object>> retentionList = jdbcTemplate.queryForList("select top 7 CONVERT(decimal, DATEDIFF(second, man_loc_detl.create_time, GETDATE()) / 86400.0, 9) AS stayDays, * from man_loc_detl order by create_time desc");
|
for (int i=0;i<retentionList.size();i++) {
|
retentionList.get(i).put("no", i+1);
|
Object create_time = retentionList.get(i).get("create_time");
|
retentionList.get(i).put("createTime", String.valueOf(create_time).substring(0, 11));
|
}
|
|
return R.ok().add(Cools
|
.add("combList", combList) // 组托最新动态
|
.add("pakoutList", pakoutList) // 最新拣货单
|
.add("safeQuaList", safeQuaList) // 安全库存警告
|
.add("retentionList", retentionList) // 库存滞留数据
|
);
|
}
|
|
}
|