扫码关联关系等相关修改
parent
4223be84b5
commit
b250e7b930
@ -1,59 +1,274 @@
|
||||
package com.glxp.api.service.inout;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.dao.inout.IoCodeTempDao;
|
||||
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
|
||||
import com.glxp.api.entity.collect.RelCodeDetail;
|
||||
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.collect.RelCodeDetailService;
|
||||
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;
|
||||
|
||||
public interface IoCodeTempService {
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class IoCodeTempService {
|
||||
|
||||
@Resource
|
||||
IoCodeTempDao ioCodeTempDao;
|
||||
|
||||
IoCodeTempEntity selectById(Integer id);
|
||||
|
||||
int insert(IoCodeTempEntity codeEnttity);
|
||||
public IoCodeTempEntity selectById(Integer id) {
|
||||
return ioCodeTempDao.selectById(id);
|
||||
}
|
||||
|
||||
int deleteById(Integer id);
|
||||
|
||||
boolean insertBatch(List<IoCodeTempEntity> codeEnttities);
|
||||
public int insert(IoCodeTempEntity codeEnttity) {
|
||||
codeEnttity.setId(null);
|
||||
return ioCodeTempDao.insert(codeEnttity);
|
||||
}
|
||||
|
||||
int updateById(IoCodeTempEntity codeEnttity);
|
||||
|
||||
public int deleteById(Integer id) {
|
||||
return ioCodeTempDao.deleteById(id);
|
||||
}
|
||||
|
||||
int updateByOrderId(IoCodeTempEntity codeTempEntity);
|
||||
|
||||
IoCodeTempEntity findByUnique(String orderId, String code);
|
||||
public boolean insertBatch(List<IoCodeTempEntity> codeEnttities) {
|
||||
return ioCodeTempDao.insertBatch(codeEnttities);
|
||||
}
|
||||
|
||||
List<IoCodeTempEntity> findByOrderId(String billNo);
|
||||
|
||||
List<IoCodeResponse> findJoinByOrderId(String billNo);
|
||||
public List<IoCodeTempEntity> findByOrderId(String billNo) {
|
||||
return ioCodeTempDao.selectList(new QueryWrapper<IoCodeTempEntity>().eq("orderId", billNo));
|
||||
}
|
||||
|
||||
TableDataInfo<IoCodeTempEntity> findByOrderId(FilterCodeRequest filterCodeRequest);
|
||||
|
||||
int deleteByBillNo(String orderId);
|
||||
public List<IoCodeResponse> findJoinByOrderId(String billNo) {
|
||||
if (StrUtil.isEmpty(billNo))
|
||||
return null;
|
||||
FilterCodeRequest filterCodeRequest = new FilterCodeRequest();
|
||||
filterCodeRequest.setOrderId(billNo);
|
||||
return ioCodeTempDao.filterJoinProduct(filterCodeRequest);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询扫码明细
|
||||
*
|
||||
* @param filterCodeRequest
|
||||
* @return
|
||||
*/
|
||||
List<IoCodeTempResponse> findCodeList(FilterCodeRequest filterCodeRequest);
|
||||
|
||||
boolean isExit(String orderId);
|
||||
public int updateById(IoCodeTempEntity codeEnttity) {
|
||||
return ioCodeTempDao.updateById(codeEnttity);
|
||||
}
|
||||
|
||||
Integer selectExitCount(String orderId, String bacthNo, Long relId, String supId);
|
||||
|
||||
Integer selectExitCount(String orderId, String code);
|
||||
public int updateByOrderId(IoCodeTempEntity codeTempEntity) {
|
||||
return ioCodeTempDao.update(codeTempEntity, new QueryWrapper<IoCodeTempEntity>().eq("orderId", codeTempEntity.getOrderId()));
|
||||
}
|
||||
|
||||
Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity);
|
||||
|
||||
IoCodeTempEntity selectByCode(String code, String batchNo, String action);
|
||||
public IoCodeTempEntity findByUnique(String orderId, String code) {
|
||||
List<IoCodeTempEntity> codeTempEntities = ioCodeTempDao.selectList(new QueryWrapper<IoCodeTempEntity>().eq("orderId", orderId).eq("code", code));
|
||||
if (CollUtil.isNotEmpty(codeTempEntities)) {
|
||||
IoCodeTempEntity codeTempEntity = codeTempEntities.get(0);
|
||||
if (codeTempEntities.size() > 1) {
|
||||
for (int i = 1; i < codeTempEntities.size(); i++) {
|
||||
codeTempEntity.setCount(codeTempEntity.getCount() + codeTempEntities.get(i).getCount());
|
||||
codeTempEntity.setReCount(codeTempEntity.getReCount() + codeTempEntities.get(i).getReCount());
|
||||
}
|
||||
}
|
||||
|
||||
List<IoCodeTempEntity> selectByCodes(List<String> codeList, String orderId);
|
||||
return codeTempEntity;
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public TableDataInfo<IoCodeTempEntity> findByOrderId(FilterCodeRequest filterCodeRequest) {
|
||||
PageQuery pageQuery = new PageQuery();
|
||||
BeanCopyUtils.copy(filterCodeRequest, pageQuery);
|
||||
Page<IoCodeTempEntity> page = ioCodeTempDao.selectPage(pageQuery.build(), new QueryWrapper<IoCodeTempEntity>().eq("orderId", filterCodeRequest.getOrderId()));
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
|
||||
public int deleteByBillNo(String orderId) {
|
||||
return ioCodeTempDao.delete(new QueryWrapper<IoCodeTempEntity>().eq("orderId", orderId));
|
||||
}
|
||||
|
||||
|
||||
public List<IoCodeTempResponse> findCodeList(FilterCodeRequest filterCodeRequest) {
|
||||
if (null != filterCodeRequest && null != filterCodeRequest.getPage() && null != filterCodeRequest.getLimit()) {
|
||||
PageHelper.offsetPage((filterCodeRequest.getPage() - 1) * filterCodeRequest.getLimit(), filterCodeRequest.getLimit());
|
||||
}
|
||||
return ioCodeTempDao.selectCodeList(filterCodeRequest);
|
||||
}
|
||||
|
||||
|
||||
public boolean isExit(String orderId) {
|
||||
return ioCodeTempDao.exists(new QueryWrapper<IoCodeTempEntity>().eq("orderId", orderId));
|
||||
}
|
||||
|
||||
|
||||
public Integer selectExitCount(String orderId, String bacthNo, Long relId, String supId) {
|
||||
FilterCodeRequest filterCodeRequest = new FilterCodeRequest();
|
||||
filterCodeRequest.setOrderId(orderId);
|
||||
filterCodeRequest.setBatchNo(bacthNo);
|
||||
filterCodeRequest.setRelId(relId + "");
|
||||
filterCodeRequest.setSupId(supId);
|
||||
return ioCodeTempDao.selectExitCount(filterCodeRequest);
|
||||
}
|
||||
|
||||
|
||||
public Integer selectExitCount(String orderId, String code) {
|
||||
FilterCodeRequest filterCodeRequest = new FilterCodeRequest();
|
||||
filterCodeRequest.setOrderId(orderId);
|
||||
filterCodeRequest.setCode(code);
|
||||
return ioCodeTempDao.selectExitCount(filterCodeRequest);
|
||||
}
|
||||
|
||||
|
||||
public Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity) {
|
||||
|
||||
QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>();
|
||||
ew.eq("code", ioCodeTempEntity.getCode());
|
||||
ew.eq("corpOrderId", ioCodeTempEntity.getCorpOrderId());
|
||||
ew.eq("batchNo", ioCodeTempEntity.getBatchNo());
|
||||
ew.eq("produceDate", ioCodeTempEntity.getProduceDate());
|
||||
ew.eq("expireDate", ioCodeTempEntity.getExpireDate());
|
||||
ew.eq("serialNo", ioCodeTempEntity.getSerialNo());
|
||||
Long count = ioCodeTempDao.selectCount(ew);
|
||||
if (count > 0) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public IoCodeTempEntity selectByCode(String code, String batchNo, String action) {
|
||||
QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>();
|
||||
ew.eq("code", code);
|
||||
ew.eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo);
|
||||
ew.eq(StrUtil.isNotEmpty(action), "action", action);
|
||||
return ioCodeTempDao.selectOne(ew);
|
||||
}
|
||||
|
||||
|
||||
public List<IoCodeTempEntity> selectByCodes(List<String> codeList, String orderId) {
|
||||
QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>();
|
||||
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;
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@Resource
|
||||
RelCodeDetailService relCodeDetailService;
|
||||
|
||||
public boolean ieExitRel(String code, String orderId) {
|
||||
boolean ret = false;
|
||||
RelCodeDetail relCodeDetail = relCodeDetailService.getOne(new LambdaQueryWrapper<RelCodeDetail>().eq(RelCodeDetail::getCurCode, code));
|
||||
if (relCodeDetail != null) {
|
||||
ret = ioCodeTempDao.exists(new LambdaQueryWrapper<IoCodeTempEntity>().eq(IoCodeTempEntity::getOrderId, orderId).eq(IoCodeTempEntity::getCode, relCodeDetail.getParentCode()));
|
||||
if (!ret) {
|
||||
ret = ioCodeTempDao.exists(new LambdaQueryWrapper<IoCodeTempEntity>().eq(IoCodeTempEntity::getOrderId, orderId).eq(IoCodeTempEntity::getParentCode, code));
|
||||
}
|
||||
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Boolean removeCodeById(IoCodeTempEntity codeTempEntity);
|
||||
}
|
||||
|
@ -1,255 +0,0 @@
|
||||
package com.glxp.api.service.inout.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
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
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class IoCodeTempServiceImpl implements IoCodeTempService {
|
||||
|
||||
@Resource
|
||||
IoCodeTempDao ioCodeTempDao;
|
||||
|
||||
@Override
|
||||
public IoCodeTempEntity selectById(Integer id) {
|
||||
return ioCodeTempDao.selectById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insert(IoCodeTempEntity codeEnttity) {
|
||||
codeEnttity.setId(null);
|
||||
return ioCodeTempDao.insert(codeEnttity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteById(Integer id) {
|
||||
return ioCodeTempDao.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean insertBatch(List<IoCodeTempEntity> codeEnttities) {
|
||||
return ioCodeTempDao.insertBatch(codeEnttities);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IoCodeTempEntity> findByOrderId(String billNo) {
|
||||
return ioCodeTempDao.selectList(new QueryWrapper<IoCodeTempEntity>().eq("orderId", billNo));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IoCodeResponse> findJoinByOrderId(String billNo) {
|
||||
if (StrUtil.isEmpty(billNo))
|
||||
return null;
|
||||
FilterCodeRequest filterCodeRequest = new FilterCodeRequest();
|
||||
filterCodeRequest.setOrderId(billNo);
|
||||
return ioCodeTempDao.filterJoinProduct(filterCodeRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateById(IoCodeTempEntity codeEnttity) {
|
||||
return ioCodeTempDao.updateById(codeEnttity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateByOrderId(IoCodeTempEntity codeTempEntity) {
|
||||
return ioCodeTempDao.update(codeTempEntity, new QueryWrapper<IoCodeTempEntity>().eq("orderId", codeTempEntity.getOrderId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IoCodeTempEntity findByUnique(String orderId, String code) {
|
||||
List<IoCodeTempEntity> codeTempEntities = ioCodeTempDao.selectList(new QueryWrapper<IoCodeTempEntity>().eq("orderId", orderId).eq("code", code));
|
||||
if (CollUtil.isNotEmpty(codeTempEntities)) {
|
||||
IoCodeTempEntity codeTempEntity = codeTempEntities.get(0);
|
||||
if (codeTempEntities.size() > 1) {
|
||||
for (int i = 1; i < codeTempEntities.size(); i++) {
|
||||
codeTempEntity.setCount(codeTempEntity.getCount() + codeTempEntities.get(i).getCount());
|
||||
codeTempEntity.setReCount(codeTempEntity.getReCount() + codeTempEntities.get(i).getReCount());
|
||||
}
|
||||
}
|
||||
|
||||
return codeTempEntity;
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<IoCodeTempEntity> findByOrderId(FilterCodeRequest filterCodeRequest) {
|
||||
PageQuery pageQuery = new PageQuery();
|
||||
BeanCopyUtils.copy(filterCodeRequest, pageQuery);
|
||||
Page<IoCodeTempEntity> page = ioCodeTempDao.selectPage(pageQuery.build(), new QueryWrapper<IoCodeTempEntity>().eq("orderId", filterCodeRequest.getOrderId()));
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteByBillNo(String orderId) {
|
||||
return ioCodeTempDao.delete(new QueryWrapper<IoCodeTempEntity>().eq("orderId", orderId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IoCodeTempResponse> findCodeList(FilterCodeRequest filterCodeRequest) {
|
||||
if (null != filterCodeRequest && null != filterCodeRequest.getPage() && null != filterCodeRequest.getLimit()) {
|
||||
PageHelper.offsetPage((filterCodeRequest.getPage() - 1) * filterCodeRequest.getLimit(), filterCodeRequest.getLimit());
|
||||
}
|
||||
return ioCodeTempDao.selectCodeList(filterCodeRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isExit(String orderId) {
|
||||
return ioCodeTempDao.exists(new QueryWrapper<IoCodeTempEntity>().eq("orderId", orderId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer selectExitCount(String orderId, String bacthNo, Long relId, String supId) {
|
||||
FilterCodeRequest filterCodeRequest = new FilterCodeRequest();
|
||||
filterCodeRequest.setOrderId(orderId);
|
||||
filterCodeRequest.setBatchNo(bacthNo);
|
||||
filterCodeRequest.setRelId(relId + "");
|
||||
filterCodeRequest.setSupId(supId);
|
||||
return ioCodeTempDao.selectExitCount(filterCodeRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer selectExitCount(String orderId, String code) {
|
||||
FilterCodeRequest filterCodeRequest = new FilterCodeRequest();
|
||||
filterCodeRequest.setOrderId(orderId);
|
||||
filterCodeRequest.setCode(code);
|
||||
return ioCodeTempDao.selectExitCount(filterCodeRequest);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity) {
|
||||
|
||||
QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>();
|
||||
ew.eq("code", ioCodeTempEntity.getCode());
|
||||
ew.eq("corpOrderId", ioCodeTempEntity.getCorpOrderId());
|
||||
ew.eq("batchNo", ioCodeTempEntity.getBatchNo());
|
||||
ew.eq("produceDate", ioCodeTempEntity.getProduceDate());
|
||||
ew.eq("expireDate", ioCodeTempEntity.getExpireDate());
|
||||
ew.eq("serialNo", ioCodeTempEntity.getSerialNo());
|
||||
Long count = ioCodeTempDao.selectCount(ew);
|
||||
if (count > 0) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IoCodeTempEntity selectByCode(String code, String batchNo, String action) {
|
||||
QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>();
|
||||
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) {
|
||||
QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>();
|
||||
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…
Reference in New Issue