Merge remote-tracking branch 'origin/master'

This commit is contained in:
2026-01-09 16:43:24 +08:00
9 changed files with 130 additions and 88 deletions

View File

@@ -282,7 +282,11 @@ public class DefaultPdaBuildParamService implements PdaBuildParamService {
// 创建主表 // 创建主表
JSONObject jsonMst = new JSONObject(); JSONObject jsonMst = new JSONObject();
jsonMst.put("iostorinv_id", IdUtil.getStringId()); jsonMst.put("iostorinv_id", IdUtil.getStringId());
jsonMst.put("bill_code", CodeUtil.getNewCode("OUT_STORE_CODE")); if (io_type.equals(IOSEnum.IO_TYPE.code("入库"))) {
jsonMst.put("bill_code", CodeUtil.getNewCode("IN_STORE_CODE"));
} else {
jsonMst.put("bill_code", CodeUtil.getNewCode("OUT_STORE_CODE"));
}
jsonMst.put("biz_date", DateUtil.today()); jsonMst.put("biz_date", DateUtil.today());
jsonMst.put("buss_type", bill_type); jsonMst.put("buss_type", bill_type);
jsonMst.put("bill_type", bill_type); jsonMst.put("bill_type", bill_type);
@@ -325,7 +329,7 @@ public class DefaultPdaBuildParamService implements PdaBuildParamService {
JSONObject jsonDis = new JSONObject(); JSONObject jsonDis = new JSONObject();
jsonDis.put("iostorinvdis_id", IdUtil.getStringId()); jsonDis.put("iostorinvdis_id", IdUtil.getStringId());
jsonDis.put("iostorinvdtl_id", jsonDtl.getString("iostorinvdtl_id")); jsonDis.put("iostorinvdtl_id", jsonDtl.getString("iostorinvdtl_id"));
jsonDis.put("iostorinv_id", jsonMst.getString("iostorinvdtl_id")); jsonDis.put("iostorinv_id", jsonMst.getString("iostorinv_id"));
jsonDis.put("seq_no", 1); jsonDis.put("seq_no", 1);
jsonDis.put("sect_id", row.getString("sect_id")); jsonDis.put("sect_id", row.getString("sect_id"));
jsonDis.put("sect_code", row.getString("sect_code")); jsonDis.put("sect_code", row.getString("sect_code"));

View File

@@ -10,13 +10,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.vo.PdaSelectVo;
import org.nl.common.exception.BadRequestException; import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.CollectionUtils;
import org.nl.common.utils.IdUtil; import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.SecurityUtils;
import org.nl.system.service.dict.ISysDictService; import org.nl.system.service.dict.ISysDictService;
import org.nl.system.service.dict.dao.Dict;
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService;
import org.nl.wms.basedata_manage.service.IMdPdGroupbucketService; import org.nl.wms.basedata_manage.service.IMdPdGroupbucketService;
import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.IStructattrService;
@@ -149,18 +146,7 @@ public class PdaCommonServiceImpl implements PdaCommonService {
@Override @Override
public PdaResponse getSectList(JSONObject param) { public PdaResponse getSectList(JSONObject param) {
String code = param.getString("code"); return PdaResponse.requestParamOk(IOSEnum.SECT_CODE.getDict());
if (null == code) {
code = "EP_SECT_CODE";
}
List<Dict> epSectCode = dictService.getDictByName(code);
List<PdaSelectVo> collect = CollectionUtils.convertList(epSectCode, dict -> {
PdaSelectVo selectVo = new PdaSelectVo();
selectVo.setText(dict.getLabel());
selectVo.setValue(dict.getValue());
return selectVo;
});
return PdaResponse.requestParamOk(collect);
} }
@Override @Override
@@ -258,7 +244,7 @@ public class PdaCommonServiceImpl implements PdaCommonService {
.collect(Collectors.toList()); .collect(Collectors.toList());
json.put("execution_task", ObjectUtil.isNotEmpty(collectQtyList) ? collectQtyList.size() : 0); json.put("execution_task", ObjectUtil.isNotEmpty(collectQtyList) ? collectQtyList.size() : 0);
// 计算剩余可堆叠数量 // 计算剩余可堆叠数量
json.put("remaining_qty", NumberUtil.sub(pointDao.getVehicle_max_qty(), pointDao.getVehicle_qty(),json.getIntValue("execution_task"))); json.put("remaining_qty", NumberUtil.sub(pointDao.getVehicle_max_qty(), pointDao.getVehicle_qty(), json.getIntValue("execution_task")));
resultList.add(json); resultList.add(json);
} }
return PdaResponse.requestParamOk(resultList); return PdaResponse.requestParamOk(resultList);
@@ -270,13 +256,13 @@ public class PdaCommonServiceImpl implements PdaCommonService {
// 判断起点点位是否存在 // 判断起点点位是否存在
SchBasePoint startPointDao = iSchBasePointService.getById(whereJson.getString("point_code")); SchBasePoint startPointDao = iSchBasePointService.getById(whereJson.getString("point_code"));
if (ObjectUtil.isEmpty(startPointDao)) { if (ObjectUtil.isEmpty(startPointDao)) {
throw new BadRequestException("当前点位不存在【"+whereJson.getString("point_code")+""); throw new BadRequestException("当前点位不存在【" + whereJson.getString("point_code") + "");
} }
// 计算叠盘位是否还能继续叠盘 // 计算叠盘位是否还能继续叠盘
JSONObject row = whereJson.getJSONObject("row"); JSONObject row = whereJson.getJSONObject("row");
if (row.getIntValue("remaining_qty") == 0) { if (row.getIntValue("remaining_qty") == 0) {
throw new BadRequestException("当前堆叠位空托盘数量已满【"+row.getString("point_code")+""); throw new BadRequestException("当前堆叠位空托盘数量已满【" + row.getString("point_code") + "");
} }
// 生成任务 // 生成任务

View File

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.google.gson.JsonObject;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException; import org.nl.common.exception.BadRequestException;
@@ -88,6 +89,11 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService {
@Override @Override
public PdaResponse getPalletAssembly(JSONObject param) { public PdaResponse getPalletAssembly(JSONObject param) {
String bag_code = param.getString("bag_code");
if (ObjectUtil.isNotEmpty(bag_code)) {
param.put("search",bag_code);
}
String search = param.getString("search"); String search = param.getString("search");
if (ObjectUtil.isEmpty(search)) { if (ObjectUtil.isEmpty(search)) {
throw new BadRequestException("请输入袋号编码!"); throw new BadRequestException("请输入袋号编码!");
@@ -101,6 +107,7 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService {
@SneakyThrows @SneakyThrows
@Override @Override
@Transactional
public PdaResponse confirmPalletAssemblyIn(JSONObject param) { public PdaResponse confirmPalletAssemblyIn(JSONObject param) {
log.info("直接入库:{}", param); log.info("直接入库:{}", param);
RLock lock = redissonClient.getLock("lock:confirmPalletAssemblyIn"); RLock lock = redissonClient.getLock("lock:confirmPalletAssemblyIn");
@@ -114,7 +121,10 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService {
if (ObjectUtil.isEmpty(search)) { if (ObjectUtil.isEmpty(search)) {
throw new BadRequestException("请输入点位/载具编码!"); throw new BadRequestException("请输入点位/载具编码!");
} }
Structattr startStruct = structattrService.getByCode(search); Structattr startStruct = structattrService.getOne(
new QueryWrapper<Structattr>().lambda()
.eq(Structattr::getStruct_code, search)
);
if (ObjectUtil.isEmpty(startStruct)) { if (ObjectUtil.isEmpty(startStruct)) {
vehicleCode = search; vehicleCode = search;
List<Structattr> points = structattrService.getByVehicleCode(search, IOSEnum.LOCK_TYPE.code("未锁定"), true); List<Structattr> points = structattrService.getByVehicleCode(search, IOSEnum.LOCK_TYPE.code("未锁定"), true);
@@ -130,40 +140,83 @@ public class PdaWarehouseServiceImpl implements PdaWarehouseService {
vehicleCode = startStruct.getStoragevehicle_code(); vehicleCode = startStruct.getStoragevehicle_code();
} }
if (ObjectUtil.isEmpty(vehicleCode)) { if (ObjectUtil.isEmpty(vehicleCode)) {
throw new BadRequestException("点位载具号为空"); throw new BadRequestException("当前点位没有载具");
} }
// 判断任务是否创建 // 判断任务是否创建
List<SchBaseTask> tasks = taskService.getTaskByQuery(new LambdaQueryWrapper<SchBaseTask>() List<SchBaseTask> tasks = taskService.getTaskByQuery(new LambdaQueryWrapper<SchBaseTask>()
.eq(SchBaseTask::getPoint_code1, pointCode)); .eq(SchBaseTask::getPoint_code1, pointCode));
if (tasks.size() > 0) { if (tasks.size() > 0) {
throw new BadRequestException("该点位已创建过任务!"); throw new BadRequestException("该点位已创建过任务!");
} }
Sectattr sectattr = sectattrService.findByCode(startStruct.getSect_code(), true);
if (ObjectUtil.isEmpty(sectattr)) { List<JSONObject> rows = param.getJSONArray("rows").toJavaList(JSONObject.class);
throw new BadRequestException("库区不存在或者被禁用!"); // 查询所选所有组盘信息
List<JSONObject> lateList = groupplateService.list(
new QueryWrapper<GroupPlate>().lambda()
.in(GroupPlate::getGroup_id, rows.stream()
.map(row -> row.getString("group_id"))
.collect(Collectors.toList()))
).stream()
.map(item -> JSONObject.parseObject(JSONObject.toJSONString(item)))
.collect(Collectors.toList());
// 查询此托盘下所有已绑定未入库的组盘信息
List<JSONObject> vehicleLateList = groupplateService.list(
new QueryWrapper<GroupPlate>().lambda()
.eq(GroupPlate::getVehicle_code, vehicleCode)
.eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘"))
).stream()
.map(item -> JSONObject.parseObject(JSONObject.toJSONString(item)))
.collect(Collectors.toList());
lateList.addAll(vehicleLateList);
// 组织入库参数
List<JSONObject> updateIvtList = new ArrayList<>();
for (JSONObject json : lateList) {
json.put("canuse_qty", json.getString("qty"));
json.put("sect_id", startStruct.getSect_id());
json.put("sect_code", startStruct.getSect_code());
json.put("sect_name", startStruct.getSect_name());
json.put("struct_id", startStruct.getStruct_id());
json.put("struct_code", startStruct.getStruct_code());
json.put("struct_name", startStruct.getStruct_name());
json.put("stor_id", startStruct.getStor_id());
json.put("stor_code", startStruct.getStor_code());
json.put("stor_name", startStruct.getStor_name());
json.put("vehicle_code", vehicleCode);
json.put("status", IOSEnum.GROUP_PLATE_STATUS.code("入库"));
// 新增新载具库存信息
JSONObject jsonIvt = new JSONObject();
jsonIvt.put("type", IOSConstant.UPDATE_IVT_TYPE_ADD_CANUSE);
jsonIvt.put("storagevehicle_code", json.getString("vehicle_code"));
jsonIvt.put("bag_code", json.getString("bag_code"));
jsonIvt.put("material_id", json.getString("material_id"));
jsonIvt.put("pcsn", json.getString("pcsn"));
jsonIvt.put("qty_unit_id", json.getString("qty_unit_id"));
jsonIvt.put("qty_unit_name", json.getString("qty_unit_name"));
jsonIvt.put("change_qty", json.getString("canuse_qty"));
updateIvtList.add(jsonIvt);
} }
// 点位释放 iMdPbStoragevehicleextService.updateIvt(updateIvtList);
structattrService.update(new LambdaUpdateWrapper<Structattr>()
.set(Structattr::getStoragevehicle_code, "") // 计算总重量
.set(Structattr::getIs_emptyvehicle, "0") Double total_qty = lateList.stream()
.eq(Structattr::getStruct_code, startStruct.getStruct_code())); .map(row -> row.getDoubleValue("qty"))
// 0 组盘 .reduce(Double::sum).orElse(0.0);
defaultPdaBuildParam.doGroupPallet(param, vehicleCode); param.put("total_qty",total_qty);
param.put("bill_type", IOSEnum.IN_BILL_TYPE.code("直接入库")); param.put("rows",lateList);
param.put("vehicle_code", vehicleCode); // 调用新增
// 1 创建入库单、明细、分配明细 defaultPdaBuildParam.createIOS(param,IOSEnum.IO_TYPE.code("入库"),IOSEnum.IN_BILL_TYPE.code("直接入库"));
Map<String, Object> invObj = defaultPdaBuildParam.doBuildInvObj(param, null, sectattr);
String invId = rawAssistIStorService.insertDtl(invObj); // 更新所有此载具下的组盘信息
// 2 调用指定分配 List<GroupPlate> collect = lateList.stream()
param.put("sect_code", startStruct.getSect_code()); .map(row -> JSONObject.parseObject(JSONObject.toJSONString(row), GroupPlate.class))
param.put("sect_name", startStruct.getSect_name()); .collect(Collectors.toList());
param.put("struct_id", startStruct.getStruct_id()); groupplateService.updateBatchById(collect);
param.put("struct_name", startStruct.getStruct_name()); // 更新此仓位载具为不是【空载具】
param.put("struct_code", startStruct.getStruct_code()); startStruct.setIs_emptyvehicle(IOSConstant.ZERO);
Map<String, Object> divObj = defaultPdaBuildParam.buildDivStructData(param, sectattr, invId, false); structattrService.updateById(startStruct);
rawAssistIStorService.divStruct(divObj);
// 3、强制确认
rawAssistIStorService.confirm(MapOf.of("iostorinv_id", invId));
} else { } else {
throw new BadRequestException("速度太快啦,稍后再试..."); throw new BadRequestException("速度太快啦,稍后再试...");
} }

View File

@@ -121,9 +121,7 @@ public class EmpStackPlatesTask extends AbstractTask {
if (ObjectUtil.isEmpty(taskObj)) { if (ObjectUtil.isEmpty(taskObj)) {
throw new BadRequestException("该任务不存在"); throw new BadRequestException("该任务不存在");
} }
taskObj.setTask_status(TaskStatus.FINISHED.getCode()); this.finishTask(taskObj);
taskObj.setRemark("已完成");
taskService.updateById(taskObj);
} }
@Override @Override

View File

@@ -9,7 +9,6 @@ import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.CodeUtil; import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.SecurityUtils;
import org.nl.config.IdUtil; import org.nl.config.IdUtil;
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService;
import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.IStructattrService;
import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.basedata_manage.service.dao.Structattr;
import org.nl.wms.sch_manage.enums.TaskEnum; import org.nl.wms.sch_manage.enums.TaskEnum;
@@ -68,18 +67,6 @@ public class EmpVehicleInTask extends AbstractTask {
@Resource @Resource
private GroupPlateMapper groupPlateMapper; private GroupPlateMapper groupPlateMapper;
/*
* 载具信息服务
*/
@Resource
private IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService;
/**
* 点对点任务类
*/
@Autowired
private PdaPointTask pdaPointTask;
@Override @Override
public String create(JSONObject json) { public String create(JSONObject json) {
SchBaseTask task = new SchBaseTask(); SchBaseTask task = new SchBaseTask();
@@ -211,7 +198,6 @@ public class EmpVehicleInTask extends AbstractTask {
iStructattrService.update( iStructattrService.update(
new UpdateWrapper<Structattr>().lambda() new UpdateWrapper<Structattr>().lambda()
.eq(Structattr::getStruct_code, taskObj.getPoint_code2()) .eq(Structattr::getStruct_code, taskObj.getPoint_code2())
.set(Structattr::getTaskdtl_id, null)
.set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
); );
// 更新任务 // 更新任务

View File

@@ -228,7 +228,6 @@ public class HandOutTask extends AbstractTask {
groupPlateMapper.delete( groupPlateMapper.delete(
new QueryWrapper<GroupPlate>().lambda() new QueryWrapper<GroupPlate>().lambda()
.eq(GroupPlate::getVehicle_code, taskObj.getVehicle_code()) .eq(GroupPlate::getVehicle_code, taskObj.getVehicle_code())
.eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库"))
); );
} }
} }

View File

@@ -93,7 +93,9 @@ public enum IOSEnum {
STOR_ID(MapOf.of("物料室仓库", "1582991156504039424","内包材仓库","1582991156504039425")), STOR_ID(MapOf.of("物料室仓库", "1582991156504039424","内包材仓库","1582991156504039425")),
// 库区编码 // 库区编码
SECT_CODE(MapOf.of("合格区", "HG01", "待检区", "DJ01", "不合格", "BHG01", "大料箱", "DLX01")), SECT_CODE(MapOf.of("内包材", "NBC01", "批料室", "PZC01",
"中间站区", "ZZC01", "物料间区", "WZC01", "辅料区", "WFL01", "原料区", "WYL01"
)),
// 存放载具类型 // 存放载具类型
VEHICLE_TYPE_PUT(MapOf.of("大料架(短边)", "1", "大料架(长边)", "2", "金属托盘", "3" VEHICLE_TYPE_PUT(MapOf.of("大料架(短边)", "1", "大料架(长边)", "2", "金属托盘", "3"

View File

@@ -19,11 +19,9 @@ import org.nl.common.utils.CodeUtil;
import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.SecurityUtils;
import org.nl.config.IdUtil; import org.nl.config.IdUtil;
import org.nl.wms.basedata_manage.enums.BaseDataEnum; import org.nl.wms.basedata_manage.enums.BaseDataEnum;
import org.nl.wms.basedata_manage.service.IBsrealStorattrService; import org.nl.wms.basedata_manage.service.*;
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleextService;
import org.nl.wms.basedata_manage.service.ISectattrService;
import org.nl.wms.basedata_manage.service.IStructattrService;
import org.nl.wms.basedata_manage.service.dao.BsrealStorattr; import org.nl.wms.basedata_manage.service.dao.BsrealStorattr;
import org.nl.wms.basedata_manage.service.dao.MdPdGroupbucket;
import org.nl.wms.basedata_manage.service.dao.Sectattr; import org.nl.wms.basedata_manage.service.dao.Sectattr;
import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper; import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper;
import org.nl.wms.basedata_manage.service.dto.MdPbStoragevehicleextDto; import org.nl.wms.basedata_manage.service.dto.MdPbStoragevehicleextDto;
@@ -137,6 +135,12 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv>
@Autowired @Autowired
private TaskFactory taskFactory; private TaskFactory taskFactory;
/**
* 桶记录服务
*/
@Autowired
private IMdPdGroupbucketService iMdPdGroupbucketService;
@Override @Override
public IPage<IOStorInv> pageQuery(Map whereJson, PageQuery page, String[] stor_id, String[] bill_status, String[] bill_type) { public IPage<IOStorInv> pageQuery(Map whereJson, PageQuery page, String[] stor_id, String[] bill_status, String[] bill_type) {
HashMap<String, String> map = new HashMap<>(whereJson); HashMap<String, String> map = new HashMap<>(whereJson);
@@ -1328,20 +1332,28 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv>
.eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库"))
); );
if (ObjectUtil.isEmpty(lateList)) { if (ObjectUtil.isEmpty(lateList)) {
throw new BadRequestException("此载具没有组盘【"+ioStorInvDis.getStoragevehicle_code()+""); // 查询桶码
} MdPdGroupbucket bucket = iMdPdGroupbucketService.getOne(
new QueryWrapper<MdPdGroupbucket>().lambda()
.eq(MdPdGroupbucket::getBucket_code, ioStorInvDis.getStoragevehicle_code())
);
// 如果有袋码则不更新组盘信息,由手持进行更新 if (ObjectUtil.isEmpty(bucket)) {
boolean is_emp = lateList.stream() throw new BadRequestException("此桶码不存在【"+ioStorInvDis.getStoragevehicle_code()+"");
.anyMatch(row -> ObjectUtil.isEmpty(row.getBag_code())); }
if (is_emp) { } else {
GroupPlate groupPlate = lateList.get(0); // 如果有袋码则不更新组盘信息,由手持进行更新
double sub_qty = NumberUtil.sub(groupPlate.getQty(), ioStorInvDis.getPlan_qty()).doubleValue(); boolean is_emp = lateList.stream()
if (sub_qty != 0) { .anyMatch(row -> ObjectUtil.isEmpty(row.getBag_code()));
groupPlate.setQty(BigDecimal.valueOf(sub_qty)); if (is_emp) {
GroupPlate groupPlate = lateList.get(0);
double sub_qty = NumberUtil.sub(groupPlate.getQty(), ioStorInvDis.getPlan_qty()).doubleValue();
if (sub_qty != 0) {
groupPlate.setQty(BigDecimal.valueOf(sub_qty));
}
groupPlate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("出库"));
groupPlateMapper.updateById(groupPlate);
} }
groupPlate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("出库"));
groupPlateMapper.updateById(groupPlate);
} }
// 查询该明细下是否还有未完成的分配明细 // 查询该明细下是否还有未完成的分配明细

View File

@@ -324,13 +324,15 @@ public class UpdateIvtUtils {
.eq(GroupPlate::getPcsn, extDao.getPcsn()) .eq(GroupPlate::getPcsn, extDao.getPcsn())
.eq(ObjectUtil.isNotEmpty(extDao.getBag_code()),GroupPlate::getBag_code,extDao.getBag_code()) .eq(ObjectUtil.isNotEmpty(extDao.getBag_code()),GroupPlate::getBag_code,extDao.getBag_code())
); );
if (ObjectUtil.isNotEmpty(extDao.getBag_code())) {
groupPlate.setQty(groupPlate.getQty());
} else {
groupPlate.setQty(extDao.getCanuse_qty());
}
groupPlateMapper.updateById(groupPlate); if (ObjectUtil.isNotEmpty(groupPlate)) {
if (ObjectUtil.isNotEmpty(extDao.getBag_code())) {
groupPlate.setQty(groupPlate.getQty());
} else {
groupPlate.setQty(extDao.getCanuse_qty());
}
groupPlateMapper.updateById(groupPlate);
}
} }
} }