Jay
2025-01-20 280ca0c6a4a1e73ab4516d4850dedb5a43541594
提交 | 用户 | 时间
e41062 1 package com.iailab.module.data.ind.item.service.impl;
2
68413a 3 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
cf757d 4 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
e41062 5 import com.iailab.framework.common.pojo.PageResult;
6 import com.iailab.framework.common.service.impl.BaseServiceImpl;
7 import com.iailab.framework.common.util.object.BeanUtils;
68413a 8 import com.iailab.module.data.common.enums.ItemTypeEnum;
e41062 9 import com.iailab.module.data.ind.item.dao.IndItemDao;
68413a 10 import com.iailab.module.data.ind.item.entity.IndItemAtomEntity;
J 11 import com.iailab.module.data.ind.item.entity.IndItemCalEntity;
12 import com.iailab.module.data.ind.item.entity.IndItemDerEntity;
e41062 13 import com.iailab.module.data.ind.item.entity.IndItemEntity;
68413a 14 import com.iailab.module.data.ind.item.service.IndItemAtomService;
e41062 15 import com.iailab.module.data.ind.item.service.IndItemService;
16 import com.iailab.module.data.ind.item.vo.IndItemPageReqVO;
68413a 17 import com.iailab.module.data.ind.item.vo.IndItemRespVO;
e41062 18 import com.iailab.module.data.ind.item.vo.IndItemSaveReqVO;
c96e44 19 import com.iailab.module.data.common.enums.IncreaseCodeEnum;
68413a 20 import com.iailab.module.data.point.service.DaSequenceNumService;
J 21 import org.springframework.beans.factory.annotation.Autowired;
e41062 22 import org.springframework.stereotype.Service;
23
24 import java.util.Date;
68413a 25 import java.util.List;
2cb72f 26 import java.util.Set;
e41062 27 import java.util.UUID;
28
29 /**
30  * @author PanZhibao
31  * @Description
32  * @createTime 2024年09月11日
33  */
34 @Service
35 public class IndItemServiceImpl extends BaseServiceImpl<IndItemDao, IndItemEntity> implements IndItemService {
36
68413a 37     @Autowired
J 38     private IndItemAtomService indItemAtomService;
39
40     @Autowired
41     private IndItemDerServiceImpl indItemDerServiceImpl;
42
43     @Autowired
44     private IndItemCalServiceImpl indItemCalServiceImpl;
45
46     @Autowired
47     private DaSequenceNumService daSequenceNumService;
cf757d 48
e41062 49     @Override
50     public PageResult<IndItemEntity> page(IndItemPageReqVO reqVO) {
51         return baseDao.selectPage(reqVO);
52     }
53
54     @Override
cf757d 55     @DSTransactional(rollbackFor = Exception.class)
e41062 56     public void create(IndItemSaveReqVO createReqVO) {
57         IndItemEntity entity = BeanUtils.toBean(createReqVO, IndItemEntity.class);
58         entity.setId(UUID.randomUUID().toString());
68413a 59
cf757d 60         if (ItemTypeEnum.ATOM.getCode().equals(createReqVO.getItemType())) {
68413a 61             IndItemAtomEntity atomEntity = BeanUtils.toBean(createReqVO.getAtomItem(), IndItemAtomEntity.class);
J 62             atomEntity.setId(UUID.randomUUID().toString());
63             atomEntity.setItemId(entity.getId());
64             indItemAtomService.insert(atomEntity);
65             entity.setItemNo(daSequenceNumService.getAndIncreaseByCode(IncreaseCodeEnum.IND_A.name()));
cf757d 66         } else if (ItemTypeEnum.DER.getCode().equals(createReqVO.getItemType())) {
68413a 67             IndItemDerEntity derEntity = BeanUtils.toBean(createReqVO.getDerItem(), IndItemDerEntity.class);
J 68             derEntity.setId(UUID.randomUUID().toString());
69             derEntity.setItemId(entity.getId());
70             indItemDerServiceImpl.insert(derEntity);
71             entity.setItemNo(daSequenceNumService.getAndIncreaseByCode(IncreaseCodeEnum.IND_D.name()));
cf757d 72         } else if (ItemTypeEnum.CAL.getCode().equals(createReqVO.getItemType())) {
68413a 73             IndItemCalEntity calEntity = BeanUtils.toBean(createReqVO.getCalItem(), IndItemCalEntity.class);
J 74             calEntity.setId(UUID.randomUUID().toString());
75             calEntity.setItemId(entity.getId());
76             indItemCalServiceImpl.insert(calEntity);
77             entity.setItemNo(daSequenceNumService.getAndIncreaseByCode(IncreaseCodeEnum.IND_C.name()));
78         }
e41062 79         entity.setCreateTime(new Date());
80         baseDao.insert(entity);
81     }
82
83     @Override
cf757d 84     @DSTransactional(rollbackFor = Exception.class)
e41062 85     public void update(IndItemSaveReqVO updateReqVO) {
86         IndItemEntity entity = BeanUtils.toBean(updateReqVO, IndItemEntity.class);
87         entity.setUpdateTime(new Date());
015227 88         if (ItemTypeEnum.ATOM.getCode().equals(updateReqVO.getItemType())) {
J 89             IndItemAtomEntity atomEntity = BeanUtils.toBean(updateReqVO.getAtomItem(), IndItemAtomEntity.class);
90             indItemAtomService.updateById(atomEntity);
91         } else if (ItemTypeEnum.DER.getCode().equals(updateReqVO.getItemType())) {
92             IndItemDerEntity derEntity = BeanUtils.toBean(updateReqVO.getDerItem(), IndItemDerEntity.class);
93             indItemDerServiceImpl.updateById(derEntity);
94         } else if (ItemTypeEnum.CAL.getCode().equals(updateReqVO.getItemType())) {
95             IndItemCalEntity calEntity = BeanUtils.toBean(updateReqVO.getCalItem(), IndItemCalEntity.class);
96             indItemCalServiceImpl.updateById(calEntity);
97         }
e41062 98         baseDao.updateById(entity);
99     }
100
101     @Override
102     public IndItemEntity get(String id) {
103         return baseDao.selectById(id);
104     }
105
106     @Override
cf757d 107     public IndItemEntity getInfoByNo(String no) {
108         QueryWrapper<IndItemEntity> queryWrapper = new QueryWrapper<>();
109         queryWrapper.eq("item_no", no);
110         return baseDao.selectOne(queryWrapper);
111     }
112
113     @Override
114     @DSTransactional(rollbackFor = Exception.class)
e41062 115     public void delete(String id) {
68413a 116         IndItemEntity entity = get(id);
cf757d 117         if (ItemTypeEnum.ATOM.getCode().equals(entity.getItemType())) {
68413a 118             indItemAtomService.deleteByItemId(id);
cf757d 119         } else if (ItemTypeEnum.DER.getCode().equals(entity.getItemType())) {
68413a 120             indItemDerServiceImpl.deleteByItemId(id);
cf757d 121         } else if (ItemTypeEnum.CAL.getCode().equals(entity.getItemType())) {
68413a 122             indItemCalServiceImpl.deleteByItemId(id);
J 123         }
e41062 124         baseDao.deleteById(id);
125     }
68413a 126
J 127     @Override
128     public List<IndItemRespVO> getList(IndItemPageReqVO reqVO) {
129         return baseDao.getItemList(reqVO);
130     }
2cb72f 131
D 132     @Override
133     public List<IndItemEntity> getInfoByIds(Set<String> indIds) {
134         return baseDao.selectBatchIds(indIds);
135     }
e41062 136 }