| | |
| | | * 检测或校准物品的处置 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author 芯导软件(江苏)有限公司 |
| | | * @author |
| | | * @since 2024-11-02 02:50:19 |
| | | */ |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class ProcessDealServiceImpl extends ServiceImpl<ProcessDealMapper, ProcessDeal> implements ProcessDealService { |
| | | |
| | | @Resource |
| | | private ProcessDealMapper processDealMapper; |
| | | |
| | | |
| | | @Autowired |
| | | private UserMapper userMapper; |
| | | |
| | | @Resource |
| | | private ProcessTotaldealMapper processTotaldealMapper; |
| | | |
| | | @Override |
| | | public IPage<ProcessDeal> pageProcessDeal(Page page, ProcessDeal processDeal) { |
| | | Integer userId = SecurityUtils.getUserId().intValue(); |
| | | processDeal.setCreateUser(userId); |
| | | |
| | | if (ObjectUtils.isEmpty(processDeal.getTotaldealId())) { |
| | | //获取当前月份 |
| | | LocalDate currentDate = LocalDate.now(); |
| | | // 定义日期格式 |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); |
| | | // 格式化当前日期 |
| | | String currentMonth = currentDate.format(formatter); |
| | | //查询历史 |
| | | ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectOne(Wrappers.<ProcessTotaldeal>lambdaQuery().eq(ProcessTotaldeal::getMonth, currentMonth)); |
| | | if(ObjectUtils.isNotEmpty(processTotaldeal)){ |
| | | processDeal.setTotaldealId(processTotaldeal.getId()); |
| | | } |
| | | } |
| | | |
| | | return processDealMapper.pageProcessDeal(page, QueryWrappers.queryWrappers(processDeal)); |
| | | } |
| | | |
| | | @Override |
| | | public int addProcessDeal(ProcessDeal processDeal) { |
| | | ProcessTotaldeal processTotaldeal; |
| | | if (ObjectUtils.isEmpty(processDeal.getTotaldealId())){ |
| | | LocalDate dealTime = LocalDate.now(); |
| | | // 定义日期格式 |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM"); |
| | | // 格式化当前日期 |
| | | String currentMonth = dealTime.format(formatter); |
| | | processTotaldeal= processTotaldealMapper.selectOne(Wrappers.<ProcessTotaldeal>lambdaQuery().eq(ProcessTotaldeal::getMonth,currentMonth)); |
| | | if(ObjectUtils.isNotEmpty(processTotaldeal)){ |
| | | processDeal.setTotaldealId(processTotaldeal.getId()); |
| | | } |
| | | }else { |
| | | processTotaldeal= processTotaldealMapper.selectById(processDeal.getTotaldealId()); |
| | | } |
| | | processDealMapper.insert(processDeal); |
| | | processTotaldeal.setTotalNum(processDeal.getNum()+processTotaldeal.getTotalNum()); |
| | | return processTotaldealMapper.updateById(processTotaldeal); |
| | | } |
| | | |
| | | @Override |
| | | public int delProcessDeal(Integer id) { |
| | | ProcessDeal processDeal = processDealMapper.selectById(id); |
| | | processDealMapper.deleteById(id); |
| | | ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(processDeal.getTotaldealId()); |
| | | processTotaldeal.setTotalNum(processTotaldeal.getTotalNum()-processDeal.getNum()); |
| | | return processTotaldealMapper.updateById(processTotaldeal); |
| | | } |
| | | |
| | | @Override |
| | | public int doProcessDeal(ProcessDeal processDeal) { |
| | | if (ObjectUtils.isNotEmpty(processDeal.getNum())) { |
| | | ProcessDeal oldProcessDeal = processDealMapper.selectById(processDeal.getId()); |
| | | if(null != processDeal.getTotaldealId()){ |
| | | ProcessTotaldeal processTotaldeal = processTotaldealMapper.selectById(processDeal.getTotaldealId()); |
| | | int totalNum = ObjectUtils.isEmpty(processTotaldeal) ? 0 : processTotaldeal.getTotalNum(); |
| | | processTotaldeal.setTotalNum(totalNum - oldProcessDeal.getNum() + processDeal.getNum()); |
| | | processTotaldealMapper.updateById(processTotaldeal); |
| | | } |
| | | } |
| | | return processDealMapper.updateById(processDeal); |
| | | } |
| | | } |