扫码关联关系等相关修改
							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); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public int insert(IoCodeTempEntity codeEnttity) { | ||||
|         codeEnttity.setId(null); | ||||
|         return ioCodeTempDao.insert(codeEnttity); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public int deleteById(Integer id) { | ||||
|         return ioCodeTempDao.deleteById(id); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public boolean insertBatch(List<IoCodeTempEntity> codeEnttities) { | ||||
|         return ioCodeTempDao.insertBatch(codeEnttities); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public List<IoCodeTempEntity> findByOrderId(String billNo) { | ||||
|         return ioCodeTempDao.selectList(new QueryWrapper<IoCodeTempEntity>().eq("orderId", billNo)); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public List<IoCodeResponse> findJoinByOrderId(String billNo) { | ||||
|         if (StrUtil.isEmpty(billNo)) | ||||
|             return null; | ||||
|         FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); | ||||
|         filterCodeRequest.setOrderId(billNo); | ||||
|         return ioCodeTempDao.filterJoinProduct(filterCodeRequest); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public int updateById(IoCodeTempEntity codeEnttity) { | ||||
|         return ioCodeTempDao.updateById(codeEnttity); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     public int updateByOrderId(IoCodeTempEntity codeTempEntity) { | ||||
|         return ioCodeTempDao.update(codeTempEntity, new QueryWrapper<IoCodeTempEntity>().eq("orderId", codeTempEntity.getOrderId())); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     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; | ||||
| 
 | ||||
|     int deleteById(Integer id); | ||||
|         } | ||||
| 
 | ||||
|     boolean insertBatch(List<IoCodeTempEntity> codeEnttities); | ||||
|         return null; | ||||
|     } | ||||
| 
 | ||||
|     int updateById(IoCodeTempEntity codeEnttity); | ||||
| 
 | ||||
|     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); | ||||
|     } | ||||
| 
 | ||||
|     int updateByOrderId(IoCodeTempEntity codeTempEntity); | ||||
| 
 | ||||
|     IoCodeTempEntity findByUnique(String orderId, String code); | ||||
|     public int deleteByBillNo(String orderId) { | ||||
|         return ioCodeTempDao.delete(new QueryWrapper<IoCodeTempEntity>().eq("orderId", orderId)); | ||||
|     } | ||||
| 
 | ||||
|     List<IoCodeTempEntity> findByOrderId(String billNo); | ||||
| 
 | ||||
|     List<IoCodeResponse> findJoinByOrderId(String billNo); | ||||
|     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); | ||||
|     } | ||||
| 
 | ||||
|     TableDataInfo<IoCodeTempEntity> findByOrderId(FilterCodeRequest filterCodeRequest); | ||||
| 
 | ||||
|     int deleteByBillNo(String orderId); | ||||
|     public boolean isExit(String orderId) { | ||||
|         return ioCodeTempDao.exists(new QueryWrapper<IoCodeTempEntity>().eq("orderId", orderId)); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 查询扫码明细 | ||||
|      * | ||||
|      * @param filterCodeRequest | ||||
|      * @return | ||||
|      */ | ||||
|     List<IoCodeTempResponse> findCodeList(FilterCodeRequest filterCodeRequest); | ||||
| 
 | ||||
|     boolean isExit(String 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); | ||||
|     } | ||||
| 
 | ||||
|     Integer selectExitCount(String orderId, String bacthNo, Long relId, String supId); | ||||
| 
 | ||||
|     Integer selectExitCount(String orderId, String code); | ||||
|     public Integer selectExitCount(String orderId, String code) { | ||||
|         FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); | ||||
|         filterCodeRequest.setOrderId(orderId); | ||||
|         filterCodeRequest.setCode(code); | ||||
|         return ioCodeTempDao.selectExitCount(filterCodeRequest); | ||||
|     } | ||||
| 
 | ||||
|     Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity); | ||||
| 
 | ||||
|     IoCodeTempEntity selectByCode(String code, String batchNo, String action); | ||||
|     public Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity) { | ||||
| 
 | ||||
|     List<IoCodeTempEntity> selectByCodes(List<String> codeList, String orderId); | ||||
|         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