2 Commits

Author SHA1 Message Date
zhouz
9406063c16 fix:重复冲销问题修复 2025-10-30 10:37:36 +08:00
zhouz
3e7698d757 fix:进去的空载具需要校验托盘码 2025-10-30 10:36:53 +08:00
5 changed files with 46 additions and 8 deletions

View File

@@ -12,9 +12,12 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService;
import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.WQL; import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.system.service.param.impl.SysParamServiceImpl;
import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl;
import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.nl.wms.pda.mps.service.ShippingService; import org.nl.wms.pda.mps.service.ShippingService;
import org.nl.wms.sch.AcsUtil;
import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.manage.TaskStatusEnum;
import org.nl.wms.sch.tasks.CutConveyorTask; import org.nl.wms.sch.tasks.CutConveyorTask;
import org.nl.wms.sch.tasks.PaperTrussTask; import org.nl.wms.sch.tasks.PaperTrussTask;
@@ -127,6 +130,20 @@ public class ShippingServiceImpl implements ShippingService {
throw new BadRequestException("最多选择两个分切计划进行操作!"); throw new BadRequestException("最多选择两个分切计划进行操作!");
} }
String request_area = whereJson.getString("point_code").substring(0, 2);
//调用ACS扫码器获取载具码
String sm_area = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("sm_area").getValue();
if (sm_area.contains(request_area)) {
JSONObject sm_json = new JSONObject();
sm_json.put("device_code", whereJson.getString("point_code"));
sm_json.put("product_area", request_area);
JSONObject jsonObject = AcsUtil.notifyAcsObject("api/wms/getBarcode", sm_json);
if (ObjectUtil.isNotEmpty(jsonObject) && !jsonObject.getString("device_code").equals(vehicle_code)) {
throw new BadRequestException("扫码器返回的托盘码【" + jsonObject.getString("device_code") + "】与手持扫码不一致!");
}
}
String split_group = ""; String split_group = "";
String resource_name = ""; String resource_name = "";
String order_type = ""; String order_type = "";
@@ -369,6 +386,12 @@ public class ShippingServiceImpl implements ShippingService {
} }
} }
public static void main(String[] args) {
String a = "A1_FQSS_IN";
String substring = a.substring(0, 2);
System.out.printf(substring);
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public JSONObject returnVehicle(JSONObject whereJson) { public JSONObject returnVehicle(JSONObject whereJson) {
@@ -380,6 +403,21 @@ public class ShippingServiceImpl implements ShippingService {
if (StrUtil.isEmpty(vehicle_code)) { if (StrUtil.isEmpty(vehicle_code)) {
throw new BadRequestException("载具码不能为空!"); throw new BadRequestException("载具码不能为空!");
} }
String request_area = point_code.substring(0, 2);
//调用ACS扫码器获取载具码
String sm_area = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("sm_area").getValue();
if (sm_area.contains(request_area)) {
JSONObject sm_json = new JSONObject();
sm_json.put("device_code", whereJson.getString("point_code"));
sm_json.put("product_area", request_area);
JSONObject jsonObject = AcsUtil.notifyAcsObject("api/wms/getBarcode", sm_json);
if (ObjectUtil.isNotEmpty(jsonObject) && !jsonObject.getString("device_code").equals(vehicle_code)) {
throw new BadRequestException("扫码器返回的托盘码【" + jsonObject.getString("device_code") + "】与手持扫码不一致!");
}
}
JSONObject vehicle_task = WQLObject.getWQLObject("sch_base_task").query("vehicle_code2 = '" + vehicle_code + "' AND is_delete = '0' AND task_status < '07'").uniqueResult(0); JSONObject vehicle_task = WQLObject.getWQLObject("sch_base_task").query("vehicle_code2 = '" + vehicle_code + "' AND is_delete = '0' AND task_status < '07'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(vehicle_task)) { if (ObjectUtil.isNotEmpty(vehicle_task)) {
if (vehicle_task.getString("point_code2").contains("OUT")) { if (vehicle_task.getString("point_code2").contains("OUT")) {

View File

@@ -1,14 +1,14 @@
server: server:
port: 9999 port: 8013
#配置数据源 #配置数据源
spring: spring:
datasource: datasource:
druid: druid:
db-type: com.alibaba.druid.pool.DruidDataSource db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms_xc}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true
username: ${DB_USER:root} username: ${DB_USER:root}
password: ${DB_PWD:123456} password: ${DB_PWD:root}
# 初始连接数 # 初始连接数
initial-size: 5 initial-size: 5
# 最小连接数 # 最小连接数

View File

@@ -7,7 +7,7 @@
"scripts": { "scripts": {
"dev": "vue-cli-service serve", "dev": "vue-cli-service serve",
"dev2": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", "dev2": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build:prod": "export NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build", "build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging", "build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview", "preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src", "lint": "eslint --ext .js,.vue src",

View File

@@ -297,7 +297,7 @@
<el-table-column prop="produce_age" label="生产时长(天)" min-width="120" /> <el-table-column prop="produce_age" label="生产时长(天)" min-width="120" />
<el-table-column prop="demand_limit" label="客户需求抗拉下限" min-width="130" /> <el-table-column prop="demand_limit" label="客户需求抗拉下限" min-width="130" />
<el-table-column prop="demand_up" label="客户需求抗拉上限" min-width="130" /> <el-table-column prop="demand_up" label="客户需求抗拉上限" min-width="130" />
<el-table-column prop="paper_type" label="品质类型" min-width="150" /> <el-table-column prop="paper_type" label="管件类型" min-width="150" />
<el-table-column prop="paper_code" label="管件编码" min-width="150" /> <el-table-column prop="paper_code" label="管件编码" min-width="150" />
<el-table-column prop="paper_name" label="管件描述" min-width="250" /> <el-table-column prop="paper_name" label="管件描述" min-width="250" />
<el-table-column prop="remark" label="超期原因" min-width="250"> <el-table-column prop="remark" label="超期原因" min-width="250">

View File

@@ -219,7 +219,7 @@
style="width: 100%;" style="width: 100%;"
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<!-- <el-table-column type="selection" width="55" />--> <!-- <el-table-column type="selection" width="55" />-->
<el-table-column <el-table-column
prop="struct_code" prop="struct_code"
label="仓位编码" label="仓位编码"
@@ -266,10 +266,10 @@
<el-table-column prop="joint_type" label="接头数" min-width="150" /> <el-table-column prop="joint_type" label="接头数" min-width="150" />
<el-table-column prop="sub_type" label="子卷状态" min-width="150" :formatter="formatSubType" /> <el-table-column prop="sub_type" label="子卷状态" min-width="150" :formatter="formatSubType" />
<el-table-column prop="produce_age" label="生产时长(天)" min-width="120" /> <el-table-column prop="produce_age" label="生产时长(天)" min-width="120" />
<el-table-column prop="paper_type" label="品质类型" min-width="150" /> <el-table-column prop="paper_type" label="管件类型" min-width="150" />
<el-table-column prop="paper_code" label="管件编码" min-width="150" /> <el-table-column prop="paper_code" label="管件编码" min-width="150" />
<el-table-column prop="paper_name" label="管件描述" min-width="250" /> <el-table-column prop="paper_name" label="管件描述" min-width="250" />
<!-- <el-table-column prop="remark" label="超期原因" min-width="250"> <!-- <el-table-column prop="remark" label="超期原因" min-width="250">
<template scope="scope"> <template scope="scope">
<el-select <el-select
v-model="scope.row.remark" v-model="scope.row.remark"