opt:优化扣减FRP管库存

This commit is contained in:
DESKTOP-5DIJMF9\admin
2025-05-01 15:51:19 +08:00
parent cf2cbae92c
commit ac007b6d84
2 changed files with 17 additions and 12 deletions

View File

@@ -68,7 +68,8 @@ public class MdPbPapervehicleServiceImpl extends ServiceImpl<MdPbPapervehicleMap
entity.setUpdate_optname(nickName); entity.setUpdate_optname(nickName);
entity.setUpdate_time(now); entity.setUpdate_time(now);
mdPbPapervehicleMapper.updateById(entity); int updateFlag = mdPbPapervehicleMapper.updateById(entity);
log.warn("mdPbPapervehicleMapper更新结果" +updateFlag);
} }
@Override @Override

View File

@@ -876,6 +876,8 @@ public class SlitterServiceImpl implements SlitterService {
return null; return null;
} }
@Override
@Transactional(rollbackFor = Exception.class)
public JSONObject acsToReduceTube(JSONObject param) { public JSONObject acsToReduceTube(JSONObject param) {
log.info("扣除纸管数据的输入参数为:{}", param); log.info("扣除纸管数据的输入参数为:{}", param);
JSONObject res = new JSONObject(); JSONObject res = new JSONObject();
@@ -904,20 +906,22 @@ public class SlitterServiceImpl implements SlitterService {
.eq(MdPbPapervehicle::getRow_num, param.getString("row_num"))); .eq(MdPbPapervehicle::getRow_num, param.getString("row_num")));
if (ObjectUtil.isEmpty(mdPbPapervehicle)) { if (ObjectUtil.isEmpty(mdPbPapervehicle)) {
log.warn("托盘:" + vehicleCode + "" + param.getString("row_num") + "行没数据!"); log.warn("托盘:" + vehicleCode + "" + param.getString("row_num") + "行没数据!");
return res; throw new BadRequestException("托盘:" + vehicleCode + "" + param.getString("row_num") + "行没数据!");
} }
log.debug("更新前:" + vehicleCode + "" + param.getString("row_num") + mdPbPapervehicle);
if (mdPbPapervehicle != null || mdPbPapervehicle.getQty().intValue() > 0) { if (mdPbPapervehicle != null || mdPbPapervehicle.getQty().intValue() > 0) {
UpdateWrapper<MdPbPapervehicle> updateWrapper = new UpdateWrapper<>(); //数量减一
updateWrapper.eq("vehicle_code", vehicleCode) mdPbPapervehicle.setQty(BigDecimal.valueOf(mdPbPapervehicle.getQty().intValue()-1));
.eq("row_num", param.getString("row_num"))
.setSql("qty=qty-1"); log.debug("更新后:" + vehicleCode + "" + param.getString("row_num") + mdPbPapervehicle);
papervehicleService.update(updateWrapper);
// 检查更新后的 qty 是否为 0然后删除相应的记录 // 检查更新后的 qty 是否为 0然后删除相应的记录
QueryWrapper<MdPbPapervehicle> deleteWrapper = new QueryWrapper<>(); if(mdPbPapervehicle.getQty().intValue() <= 0){
deleteWrapper.eq("vehicle_code", vehicleCode) boolean remove = papervehicleService.removeById(mdPbPapervehicle);
.eq("row_num", param.getString("row_num")) log.debug("删除0结果" + vehicleCode + ":" + remove);
.eq("qty", "0"); }else{
boolean remove = papervehicleService.remove(deleteWrapper); papervehicleService.update(mdPbPapervehicle);
}
// todo: 如果qty=0创建AGV送空任务新的task_type、后期优化可以新增诺宝取货完成提前释放货位任务状态变成071 // todo: 如果qty=0创建AGV送空任务新的task_type、后期优化可以新增诺宝取货完成提前释放货位任务状态变成071
// if (remove) { // hint: 错误 // if (remove) { // hint: 错误
// // 证明删除成功,创建任务搬走 // // 证明删除成功,创建任务搬走