init:一期二期代码合并

This commit is contained in:
zhangzq
2025-05-22 14:13:19 +08:00
parent 2dfe5f22de
commit ad7bfbfc7f
10 changed files with 215 additions and 19 deletions

View File

@@ -120,7 +120,6 @@ public interface IpdmBiSubpackagerelationService extends IService<PdmBiSubpackag
void createSubTest(JSONObject jo);
List<JSONObject> recordQuery(List<String> pcsn);
/**
* 解绑子卷包装

View File

@@ -819,10 +819,6 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
return this.baseMapper.getStructInfoBySZLS();
}
@Override
public List<JSONObject> recordQuery(List<String> pcsn) {
return this.baseMapper.recordQuery(pcsn);
}
@Override
public void boxReturn(JSONObject whereJson) {

View File

@@ -78,9 +78,6 @@ public class AutoSendZxToDjw extends Prun{
@Resource
private BstIvtBoxinfoMapper bstIvtBoxinfoMapper;
@Autowired
private ISysParamService iSysParamService;
//装箱区->装箱对接位agv自动搬运任务

View File

@@ -0,0 +1,18 @@
package org.nl.b_lms.storage_manage.ios.service.iostorInv.dto;
import lombok.Data;
/**
* 条件
* @author LXY
* @Date 2023/11/10 14:49
*/
@Data
public class StructAllsetDto {
private String sect_id;
private String struct_code;
private String placement_type;
private String block_num;
private String row_num;
private String out_order_seq;
}

View File

@@ -43,7 +43,6 @@ import java.util.*;
@RequiredArgsConstructor
@Slf4j
public class StructivtServiceImpl implements StructivtService {
private final ClassstandardService classstandardService;
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page, String[] product_area, String[] ivt_flag) {
@@ -143,7 +142,6 @@ public class StructivtServiceImpl implements StructivtService {
map.put("is_virtual", is_virtual);
map.put("sub_type", sub_type);
map.put("quality_scode", quality_scode);
map.put("control", control);
if (StrUtil.isNotEmpty(material)) {
map.put("material", "%" + material + "%");
}

View File

@@ -11,9 +11,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.google.common.collect.Interner;
import com.google.common.collect.Interners;
import lombok.RequiredArgsConstructor;
import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -37,7 +36,6 @@ import org.nl.b_lms.sch.tasks.TwoBoxExcepTask;
import org.nl.b_lms.sch.tasks.TwoExceptionInTask;
import org.nl.b_lms.sch.tasks.first_floor_area.MzhcwTask;
import org.nl.b_lms.sch.tasks.first_floor_area.SsxDjwTask;
import org.nl.b_lms.sch.tasks.slitter.service.SlitterService;
import org.nl.b_lms.storage_manage.database.service.IBstIvtBoxinfoService;
import org.nl.b_lms.storage_manage.database.service.IMdpbBoxtypeService;
import org.nl.b_lms.storage_manage.database.service.dao.BstIvtBoxinfo;
@@ -51,6 +49,7 @@ import org.nl.common.enums.PackageInfoIvtEnum;
import org.nl.common.enums.SpecEnum;
import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.MapOf;
import org.nl.common.utils.RedissonUtils;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.WQL;
@@ -172,8 +171,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Resource
private SsxDjwTask ssxDjwTask;
@Autowired
private IMdpbBoxtypeService iMdpbBoxtypeService;
@Autowired
private ISysParamService iSysParamService;

View File

@@ -334,4 +334,7 @@ public interface CheckOutBillService {
* }
*/
void saveUpdate(JSONObject whereJson);
void createOut(JSONObject struct);
void createMove(JSONObject struct);
}

View File

@@ -53,6 +53,8 @@ import org.nl.wms.st.returns.service.impl.InAndOutRetrunServiceImpl;
import org.nl.wms.util.TranUtil;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -86,6 +88,9 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
private final RedissonClient redissonClient;
private final ISysUserDeptService iSysUserDeptService;
private final IStIvtIostorinvdisService iStIvtIostorinvdisService;
@Autowired
@Lazy
private CheckOutBillService checkOutBillService;
@Override
@@ -1580,7 +1585,6 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
WQLObject wo_sect = WQLObject.getWQLObject("st_ivt_sectattr");
//定义需要更新的仓位集合
HashMap<String, JSONObject> Struct_map = new HashMap<String, JSONObject>();
String iostorinv_id = whereJson.getString("iostorinv_id");
//查询主表信息
JSONObject jo_mst = wo_mst.query("iostorinv_id = '" + iostorinv_id + "'").uniqueResult(0);
@@ -3281,14 +3285,14 @@ public class CheckOutBillServiceImpl implements CheckOutBillService {
}
if (needStructList.contains(structCode)){
//出库
this.createOut(item);
checkOutBillService.createOut(item);
needStructList.remove(structCode);
}else {
//移库:如果当前存在业务锁定则说明存在相关任务,不需要移库,直接跳过
if (!item.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("未锁定"))){
continue;
}
this.createMove(item);
checkOutBillService.createMove(item);
}
}
};

View File

@@ -6,7 +6,7 @@ spring:
freemarker:
check-template-location: false
profiles:
active: prod
active: dev
jackson:
time-zone: GMT+8
data:

View File

@@ -0,0 +1,184 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>智能仓储监控看板</title>
<style>
body {
background-color: #0a192f;
color: #fff;
font-family: 'Arial', sans-serif;
margin: 0;
padding: 20px;
overflow-x: hidden;
}
.dashboard-title {
text-align: center;
font-size: 2.5em;
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 3px;
text-shadow: 0 0 10px rgba(66, 153, 225, 0.5);
}
.grid-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 15px;
padding: 20px;
max-width: 1600px;
margin: 0 auto;
}
.point-card {
background: linear-gradient(145deg, #1a365f, #12243f);
border-radius: 8px;
padding: 15px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
transition: transform 0.3s ease;
border: 1px solid rgba(66, 153, 225, 0.2);
position: relative;
overflow: hidden;
}
.point-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 15px rgba(0, 0, 0, 0.5);
}
.point-card::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(
90deg,
transparent,
rgba(66, 153, 225, 0.2),
transparent
);
transition: 0.5s;
}
.point-card:hover::before {
left: 100%;
}
.status-default { background-color: #105fe7; }
.status-2 { background-color: #d69e2e; }
.status-3 { background-color: #38a169; }
.point-code {
font-size: 1.2em;
font-weight: bold;
margin-bottom: 8px;
}
.container-code {
font-size: 0.9em;
opacity: 0.8;
word-break: break-all;
}
.status-indicator {
width: 30px;
height: 30px;
border-radius: 50%;
position: absolute;
top: 10px;
right: 10px;
box-shadow: 0 0 8px currentColor;
}
@media (max-width: 768px) {
.grid-container {
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
}
</style>
</head>
<body>
<h1 class="dashboard-title">装箱区点位监控系统</h1>
<div class="grid-container" id="gridContainer"></div>
<script>
// 状态颜色映射
const statusColors = {
1: 'status-default',
2: 'status-2',
3: 'status-3'
};
// 获取数据并更新看板
async function updateDashboard() {
try {
const response = await fetch('http://10.1.3.91:8013/api/bstIvtPackageInfoIvt?page=0&packageinfo_area=3&size=100&sort=ivt_id%2Cdesc&is_used=1');
const data = await response.json();
renderPoints(data.content);
} catch (error) {
console.error('数据获取失败:', error);
}
}
// 渲染点位卡片
function renderPoints(points) {
const container = document.getElementById('gridContainer');
container.innerHTML = '';
points.forEach(point => {
const card = document.createElement('div');
// 检查更新时间
let time = point.update_time
if (time==null ||time ==undefined){
time = new Date()
}
const updateTime = new Date(time);
const currentTime = new Date();
const timeDiff = (currentTime - updateTime) / (1000 * 60 * 60); // 转换为小时
// 如果时间差超过2小时使用红色背景
if (point.container_name!=null&& point.container_name!=undefined) {
card.className = 'point-card';
if (timeDiff > 2 ){
card.style.background = 'linear-gradient(145deg, #9db9e7, #186bf2)'; // 红色渐变背景
}else {
card.className = 'point-card';
card.style.background = 'linear-gradient(145deg, #dc2626, #991b1b)'; // 红色渐变背景
}
} else {
card.className = `point-card ${statusColors[point.ivt_status] || 'status-default'}`;
}
let colorPoint = {}
if (point.container_name!=null&& point.container_name!=undefined){
if (point.ivt_status == 3){
colorPoint = '#0bef0f'
}else if (point.ivt_status == 3){
colorPoint = '#5d0402'
} else{
colorPoint = '#ecd74b'
}
}
card.innerHTML = `
<div class="status-indicator" style="background-color: ${colorPoint}"></div>
<div class="point-code">${point.point_code}</div>
<div class="container-code">${point.container_name || '-- 无子卷信息 --'}</div>
`;
container.appendChild(card);
});
}
// 初始加载
updateDashboard();
// 每30秒自动更新
setInterval(updateDashboard, 3000);
</script>
</body>
</html>