Merge remote-tracking branch 'origin/b_lms' into b_lms

# Conflicts:
#	lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTrussTask.java
#	lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java
This commit is contained in:
2024-05-11 22:12:54 +08:00
27 changed files with 424 additions and 47 deletions

View File

@@ -1,10 +1,19 @@
package org.nl.b_lms.pda.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.pda.service.VehicleTwoService;
import org.nl.b_lms.sch.point.dao.SchBasePoint;
import org.nl.b_lms.sch.point.service.IschBasePointService;
import org.nl.b_lms.sch.tasks.TwoInEmpExcepTask;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBoxManageService;
import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InVehicleManageService;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -25,16 +34,111 @@ public class VehicleTwoServiceImpl implements VehicleTwoService {
@Autowired
private InBoxManageService inBoxManageService;
/**
* ACS服务
*/
@Autowired
private WmsToAcsService wmsToAcsService;
/**
* 点位服务
*/
@Autowired
private IschBasePointService ischBasePointService;
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject vehicleIn(JSONObject whereJson) {
// 调用接口
whereJson.put("device_code", whereJson.getString("point_code"));
inVehicleManageService.inVehicle(whereJson);
JSONObject result = new JSONObject();
result.put("message", "入库成功!");
String point_code = whereJson.getString("point_code");
String vehicle_type = whereJson.getString("vehicle_type");
// 判断起点是否存在
SchBasePoint pointDao = ischBasePointService.getOne(
new QueryWrapper<SchBasePoint>().lambda()
.eq(SchBasePoint::getPoint_code, point_code)
.eq(SchBasePoint::getIs_delete, IOSEnum.IS_NOTANDYES.code(""))
.eq(SchBasePoint::getIs_used, IOSEnum.IS_NOTANDYES.code(""))
);
if (ObjectUtil.isEmpty(pointDao)) {
throw new BadRequestException("点位:"+point_code+"不存在或未启用!");
}
// 判断入库叠盘位的 托盘类型是否相同、是否叠满
JSONObject device_jo = new JSONObject();
device_jo.put("device_code", "RK1004");
device_jo.put("product_area", IOSEnum.PRODUCT_AREA.code("BLK"));
JSONArray device_ja = new JSONArray();
device_ja.add(device_jo);
JSONObject device_data = wmsToAcsService.getPointStatus(device_ja);
JSONObject data = device_data.getJSONArray("data").getJSONObject(0);
// 判断是否有货 且托盘类型相同、数量小于5
if (data.getString("move").equals(IOSEnum.IS_NOTANDYES.code("")) ||
(data.getString("move").equals(IOSEnum.IS_NOTANDYES.code(""))
&& vehicle_type.equals(data.getString("container_type"))
&& data.getIntValue("qty") < 5)
) {
// 生成入库叠盘机输送任务
JSONObject jsonTaskParam = new JSONObject();
jsonTaskParam.put("task_type", "010715");
jsonTaskParam.put("start_device_code", point_code);
jsonTaskParam.put("next_device_code", "RK1004");
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask();
taskBean.createTask(jsonTaskParam);
taskBean.immediateNotifyAcs(null);
result.put("message", "入库成功!");
return result;
}
// 生层到出库口叠盘机任务
// 判断托盘类型
String next_device_code = "";
if (vehicle_type.equals(IOSEnum.IS_NOTANDYES.code(""))) {
// 小托盘 CK2009
next_device_code = "CK2009";
} else {
// 大托盘 CK2011
next_device_code = "CK2011";
}
// 判断点位状态
device_jo.put("device_code", next_device_code);
JSONArray device_ja2 = new JSONArray();
device_ja2.add(device_jo);
JSONObject device_data2 = wmsToAcsService.getPointStatus(device_ja2);
JSONObject data2 = device_data2.getJSONArray("data").getJSONObject(0);
// 判断是否有货 且数量小于5
if (data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code("")) ||
(data2.getString("move").equals(IOSEnum.IS_NOTANDYES.code(""))
&& data2.getIntValue("qty") < 5)
) {
// 生层到出库口叠盘机任务
JSONObject jsonTaskParam = new JSONObject();
jsonTaskParam.put("task_type", "010714");
jsonTaskParam.put("start_device_code", point_code);
jsonTaskParam.put("next_device_code", next_device_code);
jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
jsonTaskParam.put("vehicle_type", whereJson.getString("vehicle_type"));
TwoInEmpExcepTask taskBean = new TwoInEmpExcepTask();
taskBean.createTask(jsonTaskParam);
taskBean.immediateNotifyAcs(null);
} else {
result.put("message", "入库失败! 出库叠盘位已叠满!"+next_device_code);
return result;
}
result.put("message", "入库成功!");
return result;
}

View File

@@ -40,6 +40,8 @@ public class TwoInBoxTrussTask extends AbstractAcsTask {
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
for (int i = 0; i < arr.size(); i++) {
JSONObject json = arr.getJSONObject(i);
JSONObject params = json.getJSONObject("params");
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(json.getString("task_id"))
@@ -53,6 +55,11 @@ public class TwoInBoxTrussTask extends AbstractAcsTask {
.dtl_type(String.valueOf(dtl_type))
.interaction_json(JSONObject.parseObject(json.getString("request_param")))
.remark(json.getString("remark"))
.layer(json.getString("layer"))
.barcode(params.getString("box_no"))
.height(params.getString("height"))
.width(params.getString("width"))
.length(params.getString("length"))
.build();
resultList.add(dto);
}

View File

@@ -0,0 +1,166 @@
package org.nl.b_lms.sch.tasks;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.sch.AcsTaskDto;
import org.nl.wms.sch.manage.AbstractAcsTask;
import org.nl.wms.sch.manage.TaskStatusEnum;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
* 二期空托盘入库异常任务类
* Created by Lxy on 2024/1/19.
*/
public class TwoInEmpExcepTask extends AbstractAcsTask {
/**
* 处理类
*/
private final String THIS_CLASS = TwoInEmpExcepTask.class.getName();
@Override
public List<AcsTaskDto> addTask() {
/*
* 下发给ACS时需要特殊处理
*/
JSONArray arr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0'").getResultJSONArray(0);
ArrayList<AcsTaskDto> resultList = new ArrayList<>();
for (int i = 0; i < arr.size(); i++) {
JSONObject json = arr.getJSONObject(i);
char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1);
AcsTaskDto dto = AcsTaskDto.builder()
.ext_task_id(json.getString("task_id"))
.task_code(json.getString("task_code"))
.task_type(json.getString("acs_task_type"))
.start_device_code(json.getString("point_code1"))
.next_device_code(json.getString("point_code2"))
.vehicle_code(json.getString("vehicle_code"))
.priority(json.getString("priority"))
.class_type(json.getString("task_type"))
.dtl_type("7")
.remark(json.getString("remark"))
.build();
resultList.add(dto);
}
return resultList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateTaskStatus(JSONObject taskObj, String status) {
// 更新任务的参数
JSONObject map = new JSONObject();
/*
* 1-执行中, 2-完成 ,0-acs取消
*/
// 执行中
if (status.equals(TaskStatusEnum.EXECUTING.getCode())) {
map.put("task_status", TaskStatusEnum.EXECUTING.getCode());
}
// 完成
if (status.equals(TaskStatusEnum.FINISHED.getCode())) {
map.put("task_status", TaskStatusEnum.FINISHED.getCode());
}
// 取消
if (status.equals(IOSEnum.IS_NOTANDYES.code(""))) {
if (taskObj.getIntValue("task_status") > Integer.valueOf(TaskStatusEnum.ISSUE.getCode())) {
throw new BadRequestException("任务已执行不能取消");
}
// 更新任务表删除字段
map.put("is_delete", IOSEnum.IS_NOTANDYES.code(""));
}
map.put("update_optid", SecurityUtils.getCurrentUserId());
map.put("update_optname", SecurityUtils.getCurrentNickName());
map.put("update_time", DateUtil.now());
WQLObject.getWQLObject("SCH_BASE_Task").update(map, "task_id = '" + taskObj.getString("task_id") + "'");
}
@Override
public void findStartPoint() {
}
@Override
public void findNextPoint() {
}
@Override
@Transactional(rollbackFor = Exception.class)
public String createTask(JSONObject form) {
if (StrUtil.isBlank(form.getString("task_type"))) {
throw new BadRequestException("业务类型不能为空!");
}
if (StrUtil.isBlank(form.getString("start_device_code"))) {
throw new BadRequestException("起点不能为空!");
}
if (StrUtil.isBlank(form.getString("next_device_code"))) {
throw new BadRequestException("终点不能为空!");
}
if (StrUtil.isBlank(form.getString("vehicle_code"))) {
throw new BadRequestException("托盘号不能为空!");
}
if (StrUtil.isBlank(form.getString("vehicle_type"))) {
throw new BadRequestException("托盘类型不能为空!");
}
JSONObject json = new JSONObject();
json.put("task_id", IdUtil.getSnowflake(1, 1).nextId());
json.put("task_code", IdUtil.getSnowflake(1, 1).nextId());
json.put("task_type", form.getString("task_type"));
json.put("vehicle_code", form.getString("vehicle_code"));
json.put("vehicle_type", form.getString("vehicle_type"));
json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode());
json.put("point_code1", form.getString("start_device_code"));
json.put("point_code2", form.getString("next_device_code"));
json.put("handle_class", this.getClass().getName());
json.put("create_id", SecurityUtils.getCurrentUserId());
json.put("create_name", SecurityUtils.getCurrentUsername());
json.put("create_time", DateUtil.now());
json.put("priority", "1");
json.put("acs_task_type", "7");
WQLObject.getWQLObject("SCH_BASE_Task").insert(json);
return json.getString("task_id");
}
@Override
@Transactional(rollbackFor = Exception.class)
public void forceFinish(String task_id) {
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode());
}
@Override
public void cancel(String task_id) {
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0);
this.updateTaskStatus(taskObj, IOSEnum.ACS_RESULT.code("取消"));
}
}

View File

@@ -89,7 +89,6 @@ public class TwoOutEmpTask extends AbstractAcsTask {
JSONObject jsonAttr = attrTab.query("struct_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0);
jsonAttr.put("lock_type",IOSEnum.LOCK_TYPE.code("未锁定"));
jsonAttr.put("storagevehicle_code","");
jsonAttr.put("storagevehicle_type","");
attrTab.update(jsonAttr);
}

View File

@@ -563,10 +563,10 @@ public class SlitterServiceImpl implements SlitterService {
throw new BadRequestException("查询不到气胀轴编码「" + qzzNo + "」对应的子卷信息!");
}
PdmBiSlittingproductionplan plan;
if (SlitterConstant.SLITTER_SUB_VOLUME_LEFT.equals(direction)) {
plan = plans.stream().filter(p -> SlitterConstant.SLITTER_SUB_VOLUME_LEFT.equals(p.getLeft_or_right())).findFirst().orElse(null);
} else {
if (SlitterConstant.SLITTER_SUB_VOLUME_RIGHT.equals(direction)) {
plan = plans.stream().filter(p -> SlitterConstant.SLITTER_SUB_VOLUME_RIGHT.equals(p.getLeft_or_right())).findFirst().orElse(null);
} else {
plan = plans.stream().filter(p -> SlitterConstant.SLITTER_SUB_VOLUME_LEFT.equals(p.getLeft_or_right())).findFirst().orElse(null);
}
if (plan == null) {
log.error("设备{}, 找不到气胀轴编码{}对应的分切计划!参数:{}", deviceCode, qzzNo, param);

View File

@@ -67,6 +67,11 @@ public class BstIvtBoxinfo implements Serializable {
*/
private String box_high;
/*
* 载具类型
*/
private String vehicle_type;
/*
* 捆绑数量
*/

View File

@@ -91,6 +91,9 @@ public enum IOSEnum {
//外部系统
EXT_SYSTEM(MapOf.of("mes", "mes","sap","sap","crm","crm")),
// 区域
PRODUCT_AREA(MapOf.of("BLK", "BLK")),
//acs申请任务
ACSTOLMS_TYPE(MapOf.of("成品入库任务", "1","空盘入库","2","空盘出库","3","异常处理位","4","木箱入库","5","贴标","1","捆扎","2")),
;

View File

@@ -148,6 +148,15 @@ public class InBoxManageServiceImpl implements InBoxManageService {
/*
* 插入木箱对应载具表
*/
//查询对应的木箱信息
// 查询木箱信息
BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne(
new QueryWrapper<BstIvtBoxinfo>().lambda()
.eq(BstIvtBoxinfo::getBox_no, whereJson.getString("box_no"))
);
JSONObject jsonVehicle = vehicleTab.query("storagevehicle_code = '" + whereJson.getString("vehicle_code") + "'")
.uniqueResult(0);
@@ -169,9 +178,17 @@ public class InBoxManageServiceImpl implements InBoxManageService {
taskParam.put("task_type", "010713");
taskParam.put("start_device_code", whereJson.getString("point_code"));
taskParam.put("next_device_code", "1001");
taskParam.put("vehicle_code", whereJson.getString("box_no"));
taskParam.put("vehicle_code", whereJson.getString("vehicle_code"));
taskParam.put("vehicle_code2", whereJson.getString("vehicle_code"));
taskParam.put("layer", whereJson.getString("layer"));
JSONObject param = new JSONObject();
param.put("layer",whereJson.getString("layer"));
param.put("box_length",boxDao.getBox_length());
param.put("box_width",boxDao.getBox_width());
param.put("box_high",boxDao.getBox_high());
param.put("vehicle_type", boxDao.getVehicle_type());
param.put("box_no", whereJson.getString("box_no"));
taskParam.put("request_param", param.toString());
TwoInBoxTrussTask taskBean = new TwoInBoxTrussTask();
taskBean.createTask(taskParam);
taskBean.immediateNotifyAcs(null);

View File

@@ -164,6 +164,7 @@ public class InVehicleManageServiceImpl implements InVehicleManageService {
JSONArray structArray = attrTab.query("IFNULL(storagevehicle_code,'') = '' " +
"AND is_used = '" + IOSEnum.IS_NOTANDYES.code("") + "' AND is_delete = '" + IOSEnum.IS_NOTANDYES.code("") + "' " +
"AND lock_type = '" + IOSEnum.LOCK_TYPE.code("未锁定") + "' AND stor_id = '"+jsonParam.getString("stor_id")+"' " +
"AND storagevehicle_type = '" +jsonParam.getString("vehicle_type")+"'"+
"AND sect_id = '"+jsonParam.getString("sect_id")+"'").getResultJSONArray(0);
if (ObjectUtil.isEmpty(structArray)) {

View File

@@ -140,7 +140,7 @@
AND attr.block_num = 输入.block_num
AND attr.row_num = 输入.row_num
order by attr.col_num,attr.layer_num ASC,attr.zdepth DESC
order by attr.col_num DESC,attr.layer_num ASC,attr.zdepth DESC
ENDSELECT
ENDQUERY

View File

@@ -212,7 +212,7 @@
attr.row_num = 输入.row_num
ENDOPTION
order by attr.col_num DESC ,attr.layer_num ASC,attr.zdepth DESC
order by attr.col_num,attr.layer_num ASC,attr.zdepth DESC
ENDSELECT
ENDQUERY

View File

@@ -22,7 +22,7 @@
输入.row_in TYPEAS f_string
输入.not_row_in TYPEAS f_string
输入.not_block TYPEAS f_string
输入.storagevehicle_type TYPEAS s_string
输入.vehicle_type TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
@@ -64,8 +64,8 @@
attr.block_num NOT IN 输入.not_block
ENDOPTION
OPTION 输入.storagevehicle_type <> ""
attr.storagevehicle_type = 输入.storagevehicle_type
OPTION 输入.vehicle_type <> ""
attr.storagevehicle_type = 输入.vehicle_type
ENDOPTION
group by attr.block_num
@@ -147,7 +147,7 @@
AND attr.block_num = 输入.block_num
AND attr.row_num = 输入.row_num
order by attr.col_num,attr.layer_num ASC,attr.zdepth DESC
order by attr.col_num DESC,attr.layer_num ASC,attr.zdepth DESC
ENDSELECT
ENDQUERY

View File

@@ -228,7 +228,7 @@
box.num = 输入.num
ENDOPTION
order by attr.col_num, attr.zdepth, attr.layer_num
order by attr.col_num DESC, attr.zdepth, attr.layer_num
ENDSELECT
ENDQUERY

View File

@@ -168,7 +168,7 @@
attr.row_num = 输入.row_num
ENDOPTION
order by attr.col_num, attr.zdepth
order by attr.col_num DESC, attr.zdepth
ENDSELECT
ENDQUERY

View File

@@ -63,6 +63,14 @@ public class RawFoilController {
return new ResponseEntity<>(rawFoilService.needEmptyAxisTest(whereJson), HttpStatus.OK);
}
@PostMapping("/createOrder")
@Log("创建工单")
public ResponseEntity<Object> createOrder(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(rawFoilService.createOrder(whereJson), HttpStatus.OK);
}
@PostMapping("/needEmptyVehicle")
@Log("呼叫空轴")

View File

@@ -44,6 +44,15 @@ public interface RawFoilService {
*/
JSONObject needEmptyAxisTest(JSONObject whereJson);
/**
* 创建工单
*
* @param whereJson /
* @return JSONObject
*/
JSONObject createOrder(JSONObject whereJson);
/**
* 呼叫空卷轴
*

View File

@@ -393,6 +393,16 @@ public class BakingServiceImpl implements BakingService {
if (ObjectUtil.isEmpty(point_code2)) {
throw new BadRequestException("没有无货且没有任务的点位类型为出箱的烘箱对接位!");
}
JSONObject jsonRaw = rawTab.query("container_name = '" + jsonHotIvt.getString("container_name") + "' and is_delete = '0'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonRaw)) {
throw new BadRequestException("未查询到母卷号:" + jsonHotIvt.getString("container_name") + "对应的生箔工单!");
}
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonMater)) {
throw new BadRequestException("物料基础信息中无此物料!");
}
// 3.创建任务
JSONObject param = new JSONObject();
param.put("point_code1", point_code1);
@@ -405,15 +415,6 @@ public class BakingServiceImpl implements BakingService {
//查询该母卷对应最近的一条入烘箱记录
JSONObject last_hot_mst = WQLObject.getWQLObject("ST_IVT_HotRegionIOMst").query("container_name = '" + jsonHotIvt.getString("container_name") + "' AND io_type = '0' order by confirm_time desc").uniqueResult(0);
JSONObject jsonRaw = rawTab.query("container_name = '" + jsonHotIvt.getString("container_name") + "' and is_delete = '0'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonRaw)) {
throw new BadRequestException("未查询到母卷号:" + jsonHotIvt.getString("container_name") + "对应的生箔工单!");
}
JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonMater)) {
throw new BadRequestException("物料基础信息中无此物料!");
}
JSONObject hotParam = new JSONObject();
hotParam.put("container_name", jsonRaw.getString("container_name"));
hotParam.put("workorder_id", jsonRaw.getString("workorder_id"));

View File

@@ -203,13 +203,55 @@ public class RawFoilServiceImpl implements RawFoilService {
return jo;
}
@Override
public JSONObject createOrder(JSONObject whereJson) {
WQLObject rawTab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); // 生箔工单表
WQLObject sbTab = WQLObject.getWQLObject("ST_IVT_SbPointIvt"); // 生箔点位库存表
JSONObject device_jo = sbTab.query("point_code = '" + whereJson.getString("point_code") + "'").uniqueResult(0);
String container_name = whereJson.getString("container_name");
//判断该母卷是否存在工单
JSONObject raw_jo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder").query("container_name = '"+container_name+"'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(raw_jo)){
throw new BadRequestException("当前母卷存在生箔工单,不允许创建!");
}
// 插入生箔工序工单表
JSONObject json = new JSONObject();
json.put("workorder_id", IdUtil.getSnowflake(1, 1).nextId());
json.put("container_name", container_name);
json.put("resource_name", device_jo.getString("ext_code"));
json.put("mfg_order_name", "test");
json.put("product_name", "741011000000361");
json.put("description", "铜箔|双面光|原箔|6微米|1350");
json.put("theory_height", 2000.00);
json.put("eqp_velocity", 20.00);
json.put("up_coiler_date", DateUtil.now());
json.put("is_reload_send", 0);
json.put("order_type", device_jo.getString("device_type"));
json.put("product_area", "B2");
json.put("realstart_time", DateUtil.now());
json.put("status", "01");
json.put("is_delete", "0");
json.put("agvno", "0");
json.put("productin_qty", 0);
json.put("create_id", "1");
json.put("create_name", "管理员");
json.put("create_time", DateUtil.now());
rawTab.insert(json);
JSONObject jo = new JSONObject();
jo.put("message", "操作成功!");
return jo;
}
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject needEmptyAxisTest(JSONObject whereJson) {
WQLObject rawTab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); // 生箔工单表
WQLObject sbTab = WQLObject.getWQLObject("ST_IVT_SbPointIvt"); // 生箔点位库存表
JSONObject device_jo = sbTab.query("point_code = '"+whereJson.getString("point_code")+"'").uniqueResult(0);
JSONObject device_jo = sbTab.query("point_code = '" + whereJson.getString("point_code") + "'").uniqueResult(0);
// 插入生箔工序工单表
JSONObject json = new JSONObject();
json.put("workorder_id", IdUtil.getSnowflake(1, 1).nextId());

View File

@@ -118,6 +118,14 @@ public class AcsTaskDto {
*/
private String empty_site;
private String layer;
private String length;
private String width;
private String height;
private String barcode;
}

View File

@@ -39,7 +39,7 @@ public class AcsUtil {
product_area = "LK";
}
if (jo.containsKey("class_type") && jo.getString("class_type").contains("0107")) {
product_area = "LK";
product_area = "BLK";
}
if (StrUtil.isEmpty(product_area)) {
throw new BadRequestException("区域不能为空!下发信息:" + jo.toString());

View File

@@ -16,6 +16,7 @@ public enum URLEnum {
ACS_URL_A3("A3", () -> SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ACS_URL_A3").getValue()),
ACS_URL_A4("A4", () -> SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ACS_URL_A4").getValue()),
ACS_URL_LK("LK", () -> SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ACS_URL_LK").getValue()),
ACS_URL_BLK("BLK", () -> SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ACS_URL_BLK").getValue()),
ACS_URL_B2("B2", () -> SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ACS_URL_B2").getValue());
private final String product_area;

View File

@@ -375,6 +375,7 @@ public class CheckOutBillController {
@PostMapping("/testInEmp")
@Log("空载具入库测试")
@SaIgnore
public ResponseEntity<Object> testInEmp(@RequestBody JSONObject whereJson) {
new InVehicleManageServiceImpl().inVehicle(whereJson);
return new ResponseEntity<>(HttpStatus.OK);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 622 B

View File

@@ -1,14 +1,17 @@
.head-container {
padding-bottom: 10px;
padding-top: 8px;
padding-bottom: 6px;
background-color: #ffffff;
border-radius: 4px;
.filter-item {
display: inline-block;
vertical-align: middle;
margin: 0 3px 3px 0;
margin: 0 3px 10px 0;
input {
height: 28px;
line-height: 28px;
height: 30.5px;
line-height: 30.5px;
}
}
@@ -19,7 +22,7 @@
vertical-align: middle;
font-size: 14px;
color: #606266;
line-height: 28px;
line-height: 30.5px;
padding: 0 7px 0 7px;
}
@@ -28,7 +31,7 @@
}
.el-select__caret.el-input__icon.el-icon-arrow-up {
line-height: 28px;
line-height: 30.5px;
}
.date-item {
@@ -149,7 +152,7 @@
}
.el-form-item--mini.el-form-item {
margin-bottom: 8px !important;
margin-bottom: 10px !important;
}
//去除编辑文本框为数字时的上下箭头start
@@ -188,7 +191,7 @@ input[type="number"]::-webkit-outer-spin-button {
.el-table__fixed-header-wrapper {
th {
word-break: break-word;
background-color: #f8f8f9;
background-color: #f5f5f5;
color: #515a6e;
height: 35px;
font-size: 13px;

View File

@@ -21,6 +21,7 @@ label {
html {
height: 100%;
box-sizing: border-box;
background-color: #eeeeee;
}
#app {
@@ -98,7 +99,7 @@ div:focus {
}
aside {
background: #eef1f6;
background: #d40c70;
padding: 8px 24px;
margin-bottom: 20px;
border-radius: 2px;
@@ -122,7 +123,7 @@ aside {
//main-container全局样式
.app-container {
padding: 20px 20px 45px 20px;
padding: 10px 10px 45px 10px;
}
.components-container {

View File

@@ -13,17 +13,17 @@ $base-logo-light-title-color: #001529;
$base-menu-light-background:#ffffff;
// sidebar
$menuText:#bfcbd9;
$menuText: #ffffff;
$menuActiveText:#409EFF;
$subMenuActiveText:#f4f4f5; // https://github.com/ElemeFE/element/issues/12951
$subMenuActiveText: #ffffff; // https://github.com/ElemeFE/element/issues/12951
$menuBg:#304156; //https://cloud.tencent.com/developer/article/1753773
$menuHover:#263445;
$menuBg: #001529; //https://cloud.tencent.com/developer/article/1753773
$menuHover:#4e5465;
$base-menu-light-color:rgba(0,0,0,.70);
$subMenuBg:#1f2d3d;
$subMenuHover:#001528;
$subMenuBg:#000c17;
$subMenuHover:#4e5465;
$sideBarWidth: 205px;
@@ -45,4 +45,4 @@ $sideBarWidth: 205px;
logoLightTitleColor: $base-logo-light-title-color
}
$base-sidebar-width: 200px;
$base-sidebar-width: 2010px;

View File

@@ -258,6 +258,7 @@ export default {
display: -webkit-flex;
display: flex;
align-items: center;
margin: 0px 10px 0px 10px;
}
.crud-opts .crud-opts-right {
margin-left: auto;