fix:出库分配异常
This commit is contained in:
@@ -84,7 +84,9 @@ public class OutStorageTask extends AbstractTask {
|
||||
String end_struct_code = struct.getStruct_code();
|
||||
|
||||
if (struct.getStor_code().equals("FStockId")){
|
||||
end_struct_code = SpringContextHolder.getBean(OutStorageTask.class).DoubleStor(struct);
|
||||
synchronized ("FStockId"){
|
||||
end_struct_code = SpringContextHolder.getBean(OutStorageTask.class).DoubleStor(struct);
|
||||
}
|
||||
}
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
task.setId(IdUtil.getStringId());
|
||||
@@ -112,13 +114,10 @@ public class OutStorageTask extends AbstractTask {
|
||||
}
|
||||
|
||||
@Transactional(propagation= Propagation.REQUIRES_NEW)
|
||||
public synchronized String DoubleStor(StIvtStructattr struct) {
|
||||
String blockPoint = getZdPoint(struct.getStruct_code());
|
||||
public String DoubleStor(StIvtStructattr struct) {
|
||||
String blockPoint = getZdPoint(struct.getRow_num(),struct.getStruct_code());
|
||||
//浅货位
|
||||
log.info("1-----出库分配:{},当前货位:{}",blockPoint,struct.getStruct_code());
|
||||
RedissonUtils.lock(()->{
|
||||
|
||||
},"DoubleStor",1);
|
||||
if (blockPoint.equals(struct.getStruct_code())){
|
||||
/**
|
||||
* 当前为浅位
|
||||
@@ -127,7 +126,7 @@ public class OutStorageTask extends AbstractTask {
|
||||
*/
|
||||
SchBaseTask moveTask = taskService.getOne(new QueryWrapper<SchBaseTask>()
|
||||
.eq("task_type",StatusEnum.IOBILL_TYPE_MOVE.code("移库"))
|
||||
.eq("vehcle_code",struct.getVehicle_code())
|
||||
.eq("vehicle_code",struct.getVehicle_code())
|
||||
.lt("status", StatusEnum.FORM_STATUS.code("完成")));
|
||||
if (moveTask !=null){
|
||||
log.info("1-----出库分配:浅位存在移库任务",moveTask.getTask_code()+"_"+moveTask.getVehicle_code()+"_"+moveTask.getPoint_code1()+"_"+moveTask.getPoint_code2());
|
||||
@@ -183,19 +182,12 @@ public class OutStorageTask extends AbstractTask {
|
||||
this.updateTask(data);
|
||||
}
|
||||
|
||||
|
||||
private static String getZdPoint(String point_code) {
|
||||
if (point_code == null || point_code.length() != 9) {
|
||||
return null;
|
||||
private static String getZdPoint(int row,String source_code) {
|
||||
if (row == 2 || row == 3) {
|
||||
return source_code;
|
||||
}
|
||||
String type = point_code.substring(0, 1);
|
||||
int row = Integer.parseInt(point_code.substring(1, 3));
|
||||
String rest = point_code.substring(3);
|
||||
if (row % 2 == 0) {
|
||||
row -= 1;
|
||||
} else {
|
||||
row += 1;
|
||||
}
|
||||
return String.format("%s%02d%s", type, row, rest);
|
||||
int blockRow = row == 1 ? 2 : 3;
|
||||
String replace = source_code.replaceFirst("L0" + row, "L0%s");
|
||||
return String.format(replace, blockRow);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,8 +7,8 @@ spring:
|
||||
druid:
|
||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||
driverClassName: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://${DB_HOST:192.168.1.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}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
# url: jdbc:mysql://${DB_HOST:192.168.1.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}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
|
||||
username: ${DB_USER:root}
|
||||
password: ${DB_PWD:123456}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user