opt:二楼出库逻辑优化

This commit is contained in:
2025-02-27 15:11:22 +08:00
parent 181b232c06
commit 65b57cb6d6
19 changed files with 101 additions and 37 deletions

View File

@@ -42,7 +42,7 @@ public class AppRun implements CommandLineRunner {
@Override
public void run(String... args) {
HeartClientServer heartServer = new HeartClientServer(new InetSocketAddress("192.168.18.218", 20889));
//HeartClientServer heartServer = new HeartClientServer(new InetSocketAddress("192.168.18.218", 20889));
System.out.println("--------项目启动完成--------");
}

View File

@@ -54,7 +54,7 @@ public enum StatusEnum {
"立库", "1", null, "AGV任务", "2", null, "CTU任务", "3", null
)),
ACS_SYSTEM_TYPE(ForkMap.of(
"NDC", "1", null, "海柔CTU", "5", null, "海康CTU", "6", null
"NDC", "1", null, "仙工", "2", null,"海柔CTU", "5", null, "海康CTU", "6", null
)),
/**

View File

@@ -24,7 +24,7 @@ import java.util.stream.Collectors;
/*
* @author ZZQ
* @Date 2024/4/6 16:18
* 巷道均衡策略XYZ:排列层
* 巷道均衡策略XYZ: 排列层
*/
@Service("alleyAve")
@Slf4j

View File

@@ -22,7 +22,7 @@ import java.util.stream.Collectors;
/*
* @author ZZQ
* @Date 2024/4/6 16:18
* 货位限位策略:限高,限宽,限长,限重
* 货位限位策略: 限高,限宽,限长,限重
*/
@Service("limitStorage")
public class LimitStorageRuleHandler extends Decisioner<StIvtStructattr, JSONObject> {

View File

@@ -15,9 +15,9 @@ import java.util.List;
import java.util.stream.Collectors;
/*
* @author ZZQ
* @Date 2024/4/6 16:18
* 巷道均衡策略XYZ:排列层
* @author GBX
* @Date 2025/2/1 16:18
* 相同巷道,自下而上分配,左右相邻
*/
@Service("sameBlockNum")
@Slf4j

View File

@@ -10,6 +10,7 @@ import java.util.List;
import java.util.stream.Collectors;
/*
*深位优先
* @author ZZQ
* @Date 2024/7/31 15:19
*/

View File

@@ -93,7 +93,8 @@ public class SchBasePointController {
throw new BadRequestException("输入的站点编号有误或被禁用,请检查!");
}
SchBasePoint point = pointList.get(0);
point.setRemark("00".equals(point.getLock_type()) ? "绑定货架" : "绑定货架");
point.setRemark(StringUtils.isNotBlank(point.getVehicle_code()) ? "绑定货架" : "绑定货架");
point.setLock_type(StringUtils.isNotBlank(point.getVehicle_code()) ? "20" : "00");
return new ResponseEntity<>(point, HttpStatus.OK);
}

View File

@@ -19,6 +19,7 @@ import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService;
import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@@ -53,6 +54,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
* @param mode 0解绑1绑定
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void bindOrUnbind(String siteCode, String shelfCode, String mode) {
List<SchBasePoint> pointList = this.list(new LambdaQueryWrapper<SchBasePoint>().eq(SchBasePoint::getCode, siteCode).eq(SchBasePoint::getIs_used, true));
if (ObjectUtils.isEmpty(pointList)) {
@@ -66,16 +68,34 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
if (ObjectUtils.isNotEmpty(notEmptyList)) {
throw new BadRequestException("该货架的货位:" + notEmptyList.get(0).getStruct_code() + ",存在未出库的料箱:" + notEmptyList.get(0).getVehicle_code() + ",请检查!");
}
List<SchBasePoint> shelfCodePointList = this.list(new LambdaQueryWrapper<SchBasePoint>().eq(SchBasePoint::getVehicle_code, shelfCode));
LambdaUpdateWrapper<SchBasePoint> wrapper = new LambdaUpdateWrapper<SchBasePoint>()
.eq(SchBasePoint::getCode, siteCode);
if ("1".equals(mode)) {
if (StringUtils.isNotBlank(pointList.get(0).getVehicle_code())) {
throw new BadRequestException("当前站点已绑定货架,货架编号:" + pointList.get(0).getVehicle_code() + ",请检查或解绑!");
}
if (ObjectUtils.isNotEmpty(shelfCodePointList)) {
if (!shelfCodePointList.get(0).getLock_type().equals(StatusEnum.LOCK.code("无锁"))) {
throw new BadRequestException("该货架正在执行输送任务,状态为锁定,请等任务完成再解绑!");
}
//解锁
LambdaUpdateWrapper<SchBasePoint> wrapper1 = new LambdaUpdateWrapper<SchBasePoint>()
.eq(SchBasePoint::getVehicle_code, shelfCode)
.set(SchBasePoint::getVehicle_code, null)
.set(SchBasePoint::getPoint_type, 0)
.set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁"));
this.update(wrapper1);
}
wrapper.set(SchBasePoint::getVehicle_code, shelfCode)
.set(SchBasePoint::getPoint_type, 0)
.set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁"));
} else if ("0".equals(mode)) {
if (ObjectUtils.isNotEmpty(shelfCodePointList)) {
if (!shelfCodePointList.get(0).getLock_type().equals(StatusEnum.LOCK.code("无锁"))) {
throw new BadRequestException("该货架正在执行输送任务,状态为锁定,请等任务完成再解绑!");
}
}
wrapper.set(SchBasePoint::getVehicle_code, null)
.set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁"));
}
@@ -83,7 +103,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
.set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName());
this.update(wrapper);
//绑定状态同步至ACS
wmsToAcsService.bindPodAndBerth(siteCode, shelfCode, mode, "bindPodAndBerth");
wmsToAcsService.bindPodAndBerth(shelfCode,siteCode,mode, "bindPodAndBerth");
}
/**

View File

@@ -54,6 +54,7 @@ public class SecondFloorAgvTransferTask extends AbstractTask {
task.setStatus(StatusEnum.FORM_STATUS.code("生成"));
task.setHandle_class(this.getClass().getName());
task.setAcs_type(StatusEnum.ACS_TYPE.code("AGV任务"));
task.setAgv_system_type(StatusEnum.ACS_SYSTEM_TYPE.code("仙工"));
task.setCreate_time(DateUtil.now());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setTask_type(StatusEnum.IOBILL_TYPE_OUT.code("二楼出库AGV搬运"));

View File

@@ -54,6 +54,7 @@ public class SecondFloorEmptyShelfTask extends AbstractTask {
task.setStatus(StatusEnum.FORM_STATUS.code("生成"));
task.setHandle_class(this.getClass().getName());
task.setAcs_type(StatusEnum.ACS_TYPE.code("AGV任务"));
task.setAgv_system_type(StatusEnum.ACS_SYSTEM_TYPE.code("仙工"));
task.setCreate_time(DateUtil.now());
task.setCreate_name(SecurityUtils.getCurrentNickName());
task.setTask_type(StatusEnum.IOBILL_TYPE_OUT.code("二楼空架AGV搬运"));

View File

@@ -97,10 +97,10 @@ public class SecondFloorOutStorageTask extends AbstractTask {
* @param pointCode2 CTU站点编号
* @param vehicleCode 载具编号
* @param sourceFormId 载具物料ID
* @param inStructCode 货架仓位
* @param targetCode 货架仓位
*/
@Transactional(rollbackFor = Exception.class)
public JSONObject handleBills(String billCode, String siteCode, String pointCode2, String vehicleCode, String sourceFormId, String inStructCode) throws BadRequestException {
public JSONObject handleBills(String billCode, String siteCode, String pointCode2, String vehicleCode, String sourceFormId, String targetCode) throws BadRequestException {
try {
// 创建任务
JSONObject taskJsonObject = new JSONObject();
@@ -131,10 +131,10 @@ public class SecondFloorOutStorageTask extends AbstractTask {
.set("lock_type", StatusEnum.LOCK.code("入库锁"))
.set("update_time", DateUtil.now())
.set("update_name", SecurityUtils.getCurrentNickName())
.eq("struct_code", inStructCode));
.eq("struct_code", pointCode2));
taskJsonObject.put("pointCode1", structattrVechielDto.getStruct_code());
taskJsonObject.put("pointCode2", pointCode2);
taskJsonObject.put("pointCode3", inStructCode);
taskJsonObject.put("pointCode3", targetCode);
taskJsonObject.put("pointCode4", siteCode);
taskJsonObject.put("vehicleCode", vehicleCode);
taskJsonObject.put("source_form_id", sourceFormId);
@@ -164,7 +164,7 @@ public class SecondFloorOutStorageTask extends AbstractTask {
.set("update_time", now)
.set("lock_type", StatusEnum.LOCK.code("无锁"))
.set("vehicle_code", schBaseTask.getVehicle_code())
.eq("struct_code", schBaseTask.getPoint_code3());
.eq("struct_code", schBaseTask.getPoint_code2());
iStIvtStructattrService.update(wrapper2);
//更新料架仓位
// UpdateWrapper<StIvtStructattr> wrapper2 = new UpdateWrapper<StIvtStructattr>()
@@ -225,14 +225,14 @@ public class SecondFloorOutStorageTask extends AbstractTask {
//终点解锁
iSchBasePointService.update(new LambdaUpdateWrapper<SchBasePoint>()
.set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁"))
.eq(SchBasePoint::getCode, schBaseTask.getPoint_code2()));
.eq(SchBasePoint::getCode, schBaseTask.getPoint_code3()));
//入库仓位解锁
iStIvtStructattrService.update(new UpdateWrapper<StIvtStructattr>()
.set("lock_type", StatusEnum.LOCK.code("无锁"))
.set("vehicle_code", null)
.set("update_time", DateUtil.now())
.set("update_name", SecurityUtils.getCurrentNickName())
.eq("struct_code", schBaseTask.getPoint_code3()));
.eq("struct_code", schBaseTask.getPoint_code2()));
//载具物料解锁
iMdPbVehicleMaterService.update(new LambdaUpdateWrapper<MdPbVehicleMater>()
.set(MdPbVehicleMater::getFrozen_qty, 0)

View File

@@ -1,10 +1,12 @@
package org.nl.wms.flow_manage.flow.service.classprocessimpl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.javaparser.utils.Log;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.nl.wms.flow_manage.flow.framework.process.nodeType.excess.impl.process.classprocess.ClassProcess;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
@@ -32,9 +34,30 @@ public class CtuProcessHandler implements ClassProcess {
*/
@Override
public JSONObject process(JSONObject from, JSONObject param) {
String id = from.getString("id");
PmFormData pmFormData = iPmFormDataService.getById(id);
JSONObject vehicleMater = from.getJSONObject("vehicleMater");
if (vehicleMater == null) {
LambdaUpdateWrapper<PmFormData> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(PmFormData::getId, pmFormData.getId());
updateWrapper.set(PmFormData::getRemark, "CTU出库用料单号异常未获取到物料载具信息vehicleMater,from数据为" + JSON.toJSONString(from));
iPmFormDataService.update(updateWrapper);
log.error("CTU出库用料单号异常未获取到物料载具信息vehicleMater,from数据为" + JSON.toJSONString(from));
}
JSONObject sourceFormData = from.getJSONObject("source_form_data");
if (sourceFormData == null) {
iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("prd_ppbom_no", "CTU出库用料单号异常未获取到源单信息sourceFormData,from数据为" + JSON.toJSONString(from))
.eq("id", vehicleMater.getString("id")));
log.error("CTU出库用料单号异常未获取到源单信息sourceFormData,from数据为" + JSON.toJSONString(from));
}
String billCode = sourceFormData.getString("code");
if (StringUtils.isBlank(billCode)) {
iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("prd_ppbom_no", "CTU出库用料单号异常未获取到源单号billCode,from数据为" + JSON.toJSONString(from))
.eq("id", vehicleMater.getString("id")));
log.error("CTU出库用料单号异常未获取到源单号billCode,from数据为" + JSON.toJSONString(from));
}
try {
//更新物料载具信息的出库单据号
iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()

View File

@@ -252,7 +252,7 @@ public class MdGruopDickServiceImpl extends ServiceImpl<MdGruopDickMapper, MdGru
}
BmVehicleInfo vehicleInfo = iBmVehicleInfoService.vehileInfo(vehicle_code);
if (vehicleInfo == null) {
throw new BadRequestException("" + (i + 1) +"行,"+vehicle_code+ "载具编号不能为空");
throw new BadRequestException("" + (i + 1) +"行,"+vehicle_code+ "载具信息未录入,请录入");
}
List<MdPbVehicleMaterVo> vehicleMaters = iMdPbVehicleMaterService.getVehicleMaters(vehicle_code);
if (!CollectionUtils.isEmpty(vehicleMaters)) {

View File

@@ -199,11 +199,11 @@ public class PdaIOService {
.eq(StIvtStructattr::getSect_code, endPointList.get(0).getVehicle_code())
.eq(StIvtStructattr::getLock_type, StatusEnum.LOCK.code("无锁"))
.eq(StIvtStructattr::getStor_code, StatusEnum.STOCK_INFO.code("二楼货架缓存库"))
.isNotNull(StIvtStructattr::getVehicle_code)
.isNull(StIvtStructattr::getVehicle_code)
.orderByAsc(StIvtStructattr::getLayer_num));
if (ObjectUtils.isEmpty(stIvtStructattrList)) {
log.error("CTU出库任务该单据{}出库时,地面货架站点货架的货位已放满,请检查现场情况", billCode);
throw new BadRequestException("地面货架站点货架的货位已放满,请检查现场情况");
throw new BadRequestException("地面货架站点货架:"+endPointList.get(0).getVehicle_code()+"的货位已放满,请检查现场情况");
}
// CTU分配终点
List<SchBasePoint> targetPointList = endPointList.stream().filter(r -> r.getVehicle_code().equals(stIvtStructattrList.get(0).getSect_code())).collect(Collectors.toList());
@@ -214,7 +214,7 @@ public class PdaIOService {
if (StringUtils.isBlank(pdaFormOutMst.getChildren().get(i).getVehicle_code())) {
throw new BadRequestException("出库失败,料箱码不能为空");
}
JSONObject jsonObject = secondFloorOutStorageTask.handleBills(billCode, siteCode, targetPointList.get(0).getCode(), pdaFormOutMst.getChildren().get(i).getVehicle_code(), pdaFormOutMst.getChildren().get(i).getId(), stIvtStructattrList.get(0).getStruct_code());
JSONObject jsonObject = secondFloorOutStorageTask.handleBills(billCode, siteCode, stIvtStructattrList.get(0).getStruct_code(),pdaFormOutMst.getChildren().get(i).getVehicle_code(), pdaFormOutMst.getChildren().get(i).getId(),targetPointList.get(0).getCode());
jsonArray.add(jsonObject);
} catch (BadRequestException e) {
log.error("单据号:{}的第{}行明细,物料号为:{},出库异常:", billCode, i, pdaFormOutMst.getChildren().get(i).getMaterial_code(), e);
@@ -231,8 +231,6 @@ public class PdaIOService {
.eq(SchBasePoint::getCode, endPointList.get(0).getCode()));
List<String> taskIdList = jsonArray.stream().map(r -> ((JSONObject) r).getString("id")).collect(Collectors.toList());
//todo 终点货位锁定
//任务分组
taskService.update(new LambdaUpdateWrapper<SchBaseTask>()
.set(SchBaseTask::getGroup_code, pdaFormOutMst.getSite_code() + "_" + IdUtil.getStringId() + "_" + jsonArray.size()).
@@ -253,8 +251,6 @@ public class PdaIOService {
throw new BadRequestException("输入的站点编号有误或被禁用,请检查!");
}
if (StringUtils.isNotBlank(pointList.get(0).getVehicle_code())) {
//货架解绑
// iSchBasePointService.bindOrUnbind(param.getString("site_code"), pointList.get(0).getVehicle_code(), "0");
List<StIvtStructattr> stIvtStructattrList = iStIvtStructattrService.list(new LambdaQueryWrapper<StIvtStructattr>()
.eq(StIvtStructattr::getSect_code, pointList.get(0).getVehicle_code())
.isNotNull(StIvtStructattr::getVehicle_code));
@@ -265,6 +261,7 @@ public class PdaIOService {
iMdPbVehicleMaterService.update(new UpdateWrapper<MdPbVehicleMater>()
.set("frozen_qty",0)
.set("qty",0)
.set("is_delete",true)
.set("remark","该料箱的物料已从产线取走")
.in("vehicle_code",vehicleCodeList));
//清除货架库位
@@ -278,6 +275,7 @@ public class PdaIOService {
//标记为空架
iSchBasePointService.update(new LambdaUpdateWrapper<SchBasePoint>()
.set(SchBasePoint::getPoint_type, 0)
.set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁"))
.eq(SchBasePoint::getCode, pointList.get(0).getCode()));
//生成补空架任务
applyShelfScheduleService.taskPublish(param.getString("site_code"), null, pointList.get(0).getVehicle_code(), false);
@@ -541,7 +539,7 @@ public class PdaIOService {
}
if (StringUtils.isNotBlank(result.getMaterial_id())) {
List<MdMeMaterialbase> materialbaseList = mdMeMaterialbaseServiceImpl.list(new LambdaQueryWrapper<MdMeMaterialbase>().eq(MdMeMaterialbase::getMaterial_id, result.getMaterial_id()));
//本地存在物料信息
//本地存在物料信息
if (ObjectUtils.isNotEmpty(materialbaseList)) {
result.setMaterial_code(materialbaseList.get(0).getMaterial_code());
result.setMaterial_spec(materialbaseList.get(0).getMaterial_spec());

View File

@@ -2,6 +2,7 @@ package org.nl.wms.system_manage.service.quartz.task;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
@@ -9,6 +10,7 @@ import org.apache.commons.lang3.StringUtils;
import org.nl.common.enums.StatusEnum;
import org.nl.common.utils.BaseCode;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.config.lucene.LuceneAppender;
import org.nl.wms.dispatch_manage.point.service.ISchBasePointService;
import org.nl.wms.dispatch_manage.point.service.dao.SchBasePoint;
@@ -76,7 +78,7 @@ public class ApplyShelfScheduleService {
if (isAuto) {
List<SchBasePoint> cxPointLists = iSchBasePointService.checkEndPointTask(
StatusEnum.REGION_INFO.code("二楼AGV产线对接位"),
StatusEnum.LOCK.code("出库"),
StatusEnum.LOCK.code(""),
StatusEnum.SORT_TYPE.code("升序"), "0");
if (ObjectUtils.isNotEmpty(cxPointLists)) {
startPointCode = cxPointLists.get(0).getCode();
@@ -103,6 +105,12 @@ public class ApplyShelfScheduleService {
task.put("pointCode2", endPointCode);
task.put("vehicleCode", vehicleCode);
secondFloorEmptyShelfTask.createTask(task);
//起点锁定
iSchBasePointService.update(new LambdaUpdateWrapper<SchBasePoint>()
.set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("出库锁"))
.set(SchBasePoint::getUpdate_time, DateUtil.now())
.set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName())
.eq(SchBasePoint::getCode, startPointCode));
}
}
} catch (Exception ex) {

View File

@@ -259,9 +259,9 @@ public class SyncErpBillsScheduleService {
final String mainId = mainBill.get(0).getId();
//仓库Key
final String stockId = BILL_STOCK_ID_MAPPING.get(formType);
//除了合格证相关单据,其他都过滤非立库仓库组织
// if (!"PRD_MO".equals(formType) && !"PUR_ReceiveBill".equals(formType)) {
if (false) {
//todo
//除了合格证相关单据,其他都过滤非立库仓库组织,最新:暂时先过滤用料清单,再视现场情况
if ("PRD_PPBOM".equals(formType)) {
//明细单据
List<PmFormData> detailBills = formDataList.stream()
.filter(rs -> StringUtils.isBlank(rs.getCode()))

View File

@@ -10,11 +10,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.nl.common.TableDataInfo;
import org.nl.common.enums.StatusEnum;
import org.nl.common.utils.BaseCode;
import org.nl.common.utils.IdUtil;
import org.nl.config.lucene.LuceneAppender;
import org.nl.wms.dispatch_manage.point.service.ISchBasePointService;
import org.nl.wms.dispatch_manage.point.service.dao.SchBasePoint;
import org.nl.wms.dispatch_manage.task.handler.impl.SecondFloorAgvTransferTask;
import org.nl.wms.dispatch_manage.task.service.ISchBaseTaskService;
import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask;
@@ -46,6 +49,8 @@ public class TaskScheduleService {
private WmsToAcsService wmsToAcsService;
@Autowired
private SecondFloorAgvTransferTask secondFloorAgvTransferTask;
@Autowired
private ISchBasePointService iSchBasePointService;
public void run() {
try {
@@ -100,10 +105,17 @@ public class TaskScheduleService {
//任务组任务全部完成
if (targetSize == t.size()) {
//创建agv任务
// 终点满足条件
List<SchBasePoint> endPointList = iSchBasePointService.list(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁"))
.eq(SchBasePoint::getCode, targetCode));
if (ObjectUtils.isEmpty(endPointList)) {
return;
}
JSONObject taskJsonObject = new JSONObject();
taskJsonObject.put("pointCode1", t.get(0).getPoint_code2());
taskJsonObject.put("pointCode1", t.get(0).getPoint_code3());
taskJsonObject.put("pointCode2", targetCode);
taskJsonObject.put("pointCode3", t.get(0).getPoint_code3().substring(0, t.get(0).getPoint_code3().indexOf("-")));
taskJsonObject.put("pointCode3", t.get(0).getPoint_code2().substring(0, t.get(0).getPoint_code2().indexOf("-")));
taskJsonObject.put("group_code", g);
taskJsonObject.put("vehicleCode", t.stream().map(SchBaseTask::getVehicle_code).collect(Collectors.joining(",")));
secondFloorAgvTransferTask.createTask(taskJsonObject);

View File

@@ -8,7 +8,7 @@ spring:
db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://${DB_HOST:192.168.8.218}:${DB_PORT:3306}/${DB_NAME:wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:wms_hs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
url: jdbc:mysql://${DB_HOST:192.168.18.218}:${DB_PORT:3306}/${DB_NAME:wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
username: ${DB_USER:root}
password: ${DB_PWD:123456}
@@ -156,9 +156,9 @@ lucene:
index:
path: D:\lms\lucene\index
kdapi:
appId: 295539_RY4pS/CH0vl8TfUo652sR+1KULwdQNOG111
appSecret: 0d47d08ee5014643b91a764e121e0bcb111
appId: 295539_RY4pS/CH0vl8TfUo652sR+1KULwdQNOG
appSecret: 0d47d08ee5014643b91a764e121e0bcb
userName: 管理员
pwd: ty.870163621111
serverUrl: http://192.168.16.249/k3cloud/1
pwd: ty.87016362
serverUrl: http://192.168.16.249/k3cloud/
dCID: 65b078e7ea0ce6

View File

@@ -166,7 +166,6 @@
<springProfile name="prod">
<root level="info">
<appender-ref ref="asyncLuceneAppender"/>
<appender-ref ref="CONSOLE"/>
</root>
<logger name="jdbc" level="ERROR" additivity="true">
<appender-ref ref="asyncFileAppender"/>