扫码关联关系等相关修改
							parent
							
								
									4223be84b5
								
							
						
					
					
						commit
						b250e7b930
					
				| @ -1,59 +1,274 @@ | |||||||
| package com.glxp.api.service.inout; | 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.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.req.inout.FilterCodeRequest; | ||||||
|  | import com.glxp.api.res.basic.UdiRelevanceResponse; | ||||||
| import com.glxp.api.res.inout.IoCodeResponse; | import com.glxp.api.res.inout.IoCodeResponse; | ||||||
| import com.glxp.api.res.inout.IoCodeTempResponse; | 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.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; | 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