工位上货扫码移除

panjc_field_management
yewj 8 months ago
parent 4d04834a69
commit 346a0b0413

@ -2081,57 +2081,7 @@ public class IoCodeTempController extends BaseController {
if (codeTempEntity == null) {
return ResultVOUtils.error(506, "UDI码异常未录入");
}
IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId());
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
UdiRelevanceResponse udiRelevanceResponses = udiRelevanceService.selectByNameCode(codeTempEntity.getNameCode());
if (codeTempEntity.getMyCount() > 1) {
codeTempEntity.setCount(codeTempEntity.getMyCount() - 1);
if (bussinessTypeEntity.isUse()) {
codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses));
} else {
codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses));
}
codeTempService.updateById(codeTempEntity);
} else {
codeTempService.deleteById(id);
}
//更新扫码详情
IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(orderEntity.getBillNo(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getPrice());
if (orderDetailCodeEntity != null) {
//扫码数量-1
int orderCount = IntUtil.value(orderDetailCodeEntity.getCount());
int orderReCount = IntUtil.value(orderDetailCodeEntity.getReCount());
if (orderCount > 1) {
orderDetailCodeEntity.setCount(orderCount - 1);
if (bussinessTypeEntity.isUse()) {
orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getUseActCount(udiRelevanceResponses));
// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses);
} else {
orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getCirActCount(udiRelevanceResponses));
// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses);
}
ioOrderDetailCodeService.update(orderDetailCodeEntity);
} else {
ioOrderDetailCodeService.deleteById(orderDetailCodeEntity.getId());
}
}
boolean r1 = orderDetailBizService.isExit(orderEntity.getBillNo());
boolean r2 = ioOrderDetailCodeService.isExit(orderEntity.getBillNo());
if (!r1 && !r2) {
if (StrUtil.isNotEmpty(orderDetailCodeEntity.getOrderIdFk()))
orderService.deleteByBillNo(orderDetailCodeEntity.getOrderIdFk());
}
orderEntity.setUpdateUser(getUserId() + "");
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
codeTempService.removeCodeById(codeTempEntity);
return ResultVOUtils.success("删除成功!");
}
@ -2846,60 +2796,11 @@ public class IoCodeTempController extends BaseController {
if (CollUtil.isEmpty(codeList))
return ResultVOUtils.error(500, "追溯码不能为空");
//器械的码 可能会是一样的
List<IoCodeTempEntity> ioCodeTempEntities = codeTempService.selectByCodes(codeList,orderId);
List<IoCodeTempEntity> ioCodeTempEntities = codeTempService.selectByCodes(codeList, orderId);
if (CollUtil.isEmpty(ioCodeTempEntities))
return ResultVOUtils.error(500, "当前追溯码不存在");
for (IoCodeTempEntity codeTempEntity : ioCodeTempEntities) {
IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId());
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
UdiRelevanceResponse udiRelevanceResponses = udiRelevanceService.selectByNameCode(codeTempEntity.getNameCode());
if (codeTempEntity.getMyCount() > 1) {
codeTempEntity.setCount(codeTempEntity.getMyCount() - 1);
if (bussinessTypeEntity.isUse()) {
codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses));
} else {
codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses));
}
codeTempService.updateById(codeTempEntity);
} else {
codeTempService.deleteById(codeTempEntity.getId());
}
//更新扫码详情
IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(orderEntity.getBillNo(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getPrice());
if (orderDetailCodeEntity != null) {
//扫码数量-1
int orderCount = IntUtil.value(orderDetailCodeEntity.getCount());
int orderReCount = IntUtil.value(orderDetailCodeEntity.getReCount());
if (orderCount > 1) {
orderDetailCodeEntity.setCount(orderCount - 1);
if (bussinessTypeEntity.isUse()) {
orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getUseActCount(udiRelevanceResponses));
// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses);
} else {
orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getCirActCount(udiRelevanceResponses));
// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses);
}
ioOrderDetailCodeService.update(orderDetailCodeEntity);
} else {
ioOrderDetailCodeService.deleteById(orderDetailCodeEntity.getId());
}
}
boolean r1 = orderDetailBizService.isExit(orderEntity.getBillNo());
boolean r2 = ioOrderDetailCodeService.isExit(orderEntity.getBillNo());
if (!r1 && !r2) {
if (StrUtil.isNotEmpty(orderDetailCodeEntity.getOrderIdFk()))
orderService.deleteByBillNo(orderDetailCodeEntity.getOrderIdFk());
}
orderEntity.setUpdateUser(getUserId() + "");
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
codeTempService.removeCodeById(codeTempEntity);
}
return ResultVOUtils.success("删除成功!");
}

@ -50,7 +50,10 @@ public interface IoCodeTempService {
Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity);
IoCodeTempEntity selectByCode(String code,String batchNo,String action);
IoCodeTempEntity selectByCode(String code, String batchNo, String action);
List<IoCodeTempEntity> selectByCodes(List<String> codeList,String orderId);
List<IoCodeTempEntity> selectByCodes(List<String> codeList, String orderId);
Boolean removeCodeById(IoCodeTempEntity codeTempEntity);
}

@ -5,20 +5,32 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.inout.IoCodeTempDao;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.inout.FilterCodeRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.inout.IoCodeResponse;
import com.glxp.api.res.inout.IoCodeTempResponse;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.inout.IoCodeTempService;
import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderDetailCodeService;
import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.util.BeanCopyUtils;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.page.PageQuery;
import com.glxp.api.util.page.TableDataInfo;
import com.glxp.api.util.udi.UdiCalCountUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
@ -154,20 +166,90 @@ public class IoCodeTempServiceImpl implements IoCodeTempService {
}
@Override
public IoCodeTempEntity selectByCode(String code,String batchNo,String action) {
public IoCodeTempEntity selectByCode(String code, String batchNo, String action) {
QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>();
ew.eq("code",code);
ew.eq("code", code);
ew.eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo);
ew.eq(StrUtil.isNotEmpty(action), "action", action);
return ioCodeTempDao.selectOne(ew);
}
@Override
public List<IoCodeTempEntity> selectByCodes(List<String> codeList,String orderId) {
public List<IoCodeTempEntity> selectByCodes(List<String> codeList, String orderId) {
QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>();
ew.eq("orderId",orderId);
ew.eq("orderId", orderId);
ew.in("code", codeList);
return ioCodeTempDao.selectList(ew);
}
@Resource
private IoOrderService orderService;
@Resource
private IBasicBussinessTypeService basicBussinessTypeService;
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
UdiCalCountUtil udiCalCountUtil;
@Resource
IoOrderDetailCodeService ioOrderDetailCodeService;
@Resource
IoOrderDetailBizService orderDetailBizService;
@Override
public Boolean removeCodeById(IoCodeTempEntity codeTempEntity) {
IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId());
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
UdiRelevanceResponse udiRelevanceResponses = udiRelevanceService.selectByNameCode(codeTempEntity.getNameCode());
if (codeTempEntity.getMyCount() > 1) {
codeTempEntity.setCount(codeTempEntity.getMyCount() - 1);
if (bussinessTypeEntity.isUse()) {
codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses));
} else {
codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses));
}
updateById(codeTempEntity);
} else {
deleteById(codeTempEntity.getId());
}
//更新扫码详情
IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(orderEntity.getBillNo(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getPrice());
if (orderDetailCodeEntity != null) {
//扫码数量-1
int orderCount = IntUtil.value(orderDetailCodeEntity.getCount());
int orderReCount = IntUtil.value(orderDetailCodeEntity.getReCount());
if (orderCount > 1) {
orderDetailCodeEntity.setCount(orderCount - 1);
if (bussinessTypeEntity.isUse()) {
orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getUseActCount(udiRelevanceResponses));
// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses);
} else {
orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getCirActCount(udiRelevanceResponses));
// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses);
}
ioOrderDetailCodeService.update(orderDetailCodeEntity);
} else {
ioOrderDetailCodeService.deleteById(orderDetailCodeEntity.getId());
}
}
boolean r1 = orderDetailBizService.isExit(orderEntity.getBillNo());
boolean r2 = ioOrderDetailCodeService.isExit(orderEntity.getBillNo());
if (!r1 && !r2) {
if (StrUtil.isNotEmpty(orderDetailCodeEntity.getOrderIdFk()))
orderService.deleteByBillNo(orderDetailCodeEntity.getOrderIdFk());
}
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
return true;
}
}

Loading…
Cancel
Save