rev:成品出库取消分配校验

This commit is contained in:
zhangzhiqiang
2023-08-21 18:06:00 +08:00
parent 626f7b7aad
commit 4ce0359d16
3 changed files with 27 additions and 11 deletions

View File

@@ -17,6 +17,7 @@ import org.jetbrains.annotations.NotNull;
import org.nl.common.TableDataInfo; import org.nl.common.TableDataInfo;
import org.nl.common.domain.query.PageQuery; import org.nl.common.domain.query.PageQuery;
import org.nl.common.enums.AcsTaskEnum; import org.nl.common.enums.AcsTaskEnum;
import org.nl.common.enums.StatusEnum;
import org.nl.common.publish.BussEventMulticaster; import org.nl.common.publish.BussEventMulticaster;
import org.nl.common.publish.event.PointEvent; import org.nl.common.publish.event.PointEvent;
import org.nl.common.utils.IdUtil; import org.nl.common.utils.IdUtil;
@@ -342,10 +343,16 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
// 判断是否有已经有正在执行中的任务 // 判断是否有已经有正在执行中的任务
boolean is_create_task = disDaoList.stream() boolean is_create_task = disDaoList.stream()
.anyMatch(row -> Integer.parseInt(row.getWork_status()) > Integer.parseInt(IOSEnum.WORK_STATUS.code("生成"))); .anyMatch(row -> Integer.parseInt(row.getWork_status()) > Integer.parseInt(IOSEnum.WORK_STATUS.code("执行中")));
if (is_create_task) throw new BadRequestException("单据已完成,不可取消!");
if (is_create_task) throw new BadRequestException("任务已执行或已完成,不可取消!");
List<String> collect = disDaoList.stream().map(StIvtIostorinvdisCp::getTask_id).collect(Collectors.toList());
List<SchBaseTask> tasks = iSchBaseTaskService.list(new QueryWrapper<SchBaseTask>()
.lt("task_status", StatusEnum.TASK_CANNEL.getCode())
.in("task_id", collect));
if (!CollectionUtils.isEmpty(tasks)){
throw new BadRequestException("搬运:"+tasks.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(","))+"任务以生成,不可取消!请先取消任务再操作");
}
// 2.更新库存,删除任务 // 2.更新库存,删除任务
for (StIvtIostorinvdisCp disDao : disDaoList) { for (StIvtIostorinvdisCp disDao : disDaoList) {
// 更新库存、更新仓位 // 更新库存、更新仓位
@@ -370,6 +377,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
dtlDao.setBill_status(IOSEnum.BILL_STATUS.code("生成")); dtlDao.setBill_status(IOSEnum.BILL_STATUS.code("生成"));
dtlDao.setAssign_qty(BigDecimal.valueOf(0)); dtlDao.setAssign_qty(BigDecimal.valueOf(0));
dtlDao.setUnassign_qty(dtlDao.getReal_qty()); dtlDao.setUnassign_qty(dtlDao.getReal_qty());
dtlDao.setRemark_ext("");
iostorinvdtlCpService.updateById(dtlDao); iostorinvdtlCpService.updateById(dtlDao);
@@ -385,7 +393,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
dtlDao.setBill_status(IOSEnum.BILL_STATUS.code("生成")); dtlDao.setBill_status(IOSEnum.BILL_STATUS.code("生成"));
dtlDao.setAssign_qty(BigDecimal.valueOf(0)); dtlDao.setAssign_qty(BigDecimal.valueOf(0));
dtlDao.setUnassign_qty(dtlDao.getReal_qty()); dtlDao.setUnassign_qty(dtlDao.getReal_qty());
dtlDao.setRemark_ext("");
iostorinvdtlCpService.updateById(dtlDao); iostorinvdtlCpService.updateById(dtlDao);
} }
@@ -865,9 +873,17 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
); );
} if (status.equals(AcsTaskEnum.STATUS_CANNEL.getCode())) { } if (status.equals(AcsTaskEnum.STATUS_CANNEL.getCode())) {
// 取消任务 // 取消任务
JSONObject param = new JSONObject(); // 1.删除任务
param.put("iostorinvdis_id",disDao.getIostorinvdis_id()); iSchBaseTaskService.update(
delTask(param); new UpdateWrapper<SchBaseTask>().lambda()
.set(SchBaseTask::getTask_status,TaskStatusEnum.CANCEL.getCode())
.eq(SchBaseTask::getTask_id, task_id)
);
if (disDao!=null){
JSONObject param = new JSONObject();
param.put("iostorinvdis_id",disDao.getIostorinvdis_id());
delTask(param);
}
// 更新发货点位 // 更新发货点位
iSchBasePointService.update( iSchBasePointService.update(

View File

@@ -22,7 +22,7 @@ spring:
druid: druid:
db-type: com.alibaba.druid.pool.DruidDataSource db-type: com.alibaba.druid.pool.DruidDataSource
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.46.5}:${DB_PORT:3306}/${DB_NAME:hl_one_mes}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.46.5}:${DB_PORT:3306}/${DB_NAME:hl_one_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false
# url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:hl_one_mes}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false # url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:hl_one_mes}?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}

View File

@@ -11,7 +11,7 @@
<span slot="title" class="dialog-footer"> <span slot="title" class="dialog-footer">
<div class="crud-opts2"> <div class="crud-opts2">
<span class="el-dialog__title2">库单任务操作</span> <span class="el-dialog__title2">库单任务操作</span>
<span class="crud-opts-right2"> <span class="crud-opts-right2">
<!--左侧插槽--> <!--左侧插槽-->
<slot name="left" /> <slot name="left" />
@@ -20,7 +20,7 @@
</div> </div>
</span> </span>
<div class="crud-opts2"> <div class="crud-opts2">
<span class="role-span">库单据明细项</span> <span class="role-span">库单据明细项</span>
</div> </div>
<el-card class="box-card" shadow="never" :body-style="{padding:'0'}"> <el-card class="box-card" shadow="never" :body-style="{padding:'0'}">
<!--表格渲染--> <!--表格渲染-->
@@ -54,7 +54,7 @@
</el-form> </el-form>
</el-card>--> </el-card>-->
<div class="crud-opts2"> <div class="crud-opts2">
<span class="role-span">库单据任务项</span> <span class="role-span">库单据任务项</span>
<span class="crud-opts-right2"> <span class="crud-opts-right2">
<!--左侧插槽--> <!--左侧插槽-->
<slot name="left" /> <slot name="left" />