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