|
|
@@ -0,0 +1,88 @@
|
|
|
+package com.wx.blink.backend.manager;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.wx.blink.backend.domain.dataobject.BlinkContractDO;
|
|
|
+import com.wx.blink.backend.domain.dataobject.BlinkContractManageDO;
|
|
|
+import com.wx.blink.backend.domain.dto.BlinkContractDTO;
|
|
|
+import com.wx.blink.backend.domain.dto.BlinkContractManageDTO;
|
|
|
+import com.wx.blink.backend.domain.qry.BlinkContractManageQry;
|
|
|
+import com.wx.blink.backend.domain.qry.BlinkContractQry;
|
|
|
+import com.wx.blink.backend.objectmapper.BlinkContractManageMapper;
|
|
|
+import com.wx.blink.backend.repository.BlinkContractManageRepository;
|
|
|
+import com.wx.blink.backend.service.IBlinkContractManageService;
|
|
|
+import com.wx.blink.base.common.domain.PageResult;
|
|
|
+import com.wx.blink.base.common.domain.ResponseDTO;
|
|
|
+import com.wx.blink.base.common.util.BlinkEntityUtil;
|
|
|
+import com.wx.blink.base.common.util.BlinkEnumUtil;
|
|
|
+import com.wx.blink.base.common.util.BlinkPageUtil;
|
|
|
+import com.wx.blink.base.module.support.dict.domain.vo.DictValueVO;
|
|
|
+import com.wx.blink.base.module.support.dict.service.DictCacheService;
|
|
|
+import com.wx.blink.base.module.support.serialnumber.constant.SerialNumberIdEnum;
|
|
|
+import com.wx.blink.base.module.support.serialnumber.service.SerialNumberService;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.Optional;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class BlinkContractManageServiceImpl extends ServiceImpl<BlinkContractManageRepository, BlinkContractManageDO> implements IBlinkContractManageService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private BlinkContractManageRepository contractRepository;
|
|
|
+ @Resource
|
|
|
+ private SerialNumberService serialNumberService;
|
|
|
+ @Resource
|
|
|
+ private BlinkContractManageMapper contractManageMapper;
|
|
|
+ @Resource
|
|
|
+ private DictCacheService dictCacheService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageResult<BlinkContractManageDTO> supportsContractQueryPage(BlinkContractManageQry qry) {
|
|
|
+ Page<?> page = BlinkPageUtil.convert2PageQuery(qry);
|
|
|
+ List<BlinkContractManageDTO> list = contractRepository.supportsContractQueryPage(page, qry);
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
+ BlinkContractManageDTO dto = list.get(i);
|
|
|
+ if (null != dto.getContractType()) {
|
|
|
+ List<DictValueVO> dictValueList = dictCacheService.selectByKeyCode("BLINK_CONTRACT_TYPE");
|
|
|
+ Optional<DictValueVO> dictValueVO = dictValueList.stream()
|
|
|
+ .filter(item -> dto.getContractType().equals(item.getValueCode()))
|
|
|
+ .findFirst();
|
|
|
+ if (dictValueVO.isPresent()) {
|
|
|
+ dto.setContractTypeText(dictValueVO.get().getValueName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ PageResult<BlinkContractManageDTO> pageResult = BlinkPageUtil.convert2PageResult(page, list);
|
|
|
+ return pageResult;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public ResponseDTO<String> supportsContractCreate(BlinkContractManageDTO dto) {
|
|
|
+ // 验证合同名称是否重复
|
|
|
+ BlinkContractManageDO validateCustomer = contractRepository.queryByContractName(dto.getContractName(), null, Boolean.FALSE);
|
|
|
+ if (Objects.nonNull(validateCustomer)) {
|
|
|
+ return ResponseDTO.userErrorParam("合同名称重复");
|
|
|
+ }
|
|
|
+ //生成补充协议编码
|
|
|
+ SerialNumberIdEnum serialNumberIdEnum = BlinkEnumUtil.getEnumByValue(4, SerialNumberIdEnum.class);
|
|
|
+ dto.setContractCode(serialNumberService.generate(serialNumberIdEnum));
|
|
|
+ //生成DO
|
|
|
+ BlinkContractManageDO contractManageDO = contractManageMapper.toDO(dto);
|
|
|
+ //创建人赋值
|
|
|
+// BlinkEntityUtil.setCreateInfo(contractManageDO);
|
|
|
+ //执行保存
|
|
|
+ this.save(contractManageDO);
|
|
|
+
|
|
|
+ return ResponseDTO.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public BlinkContractManageDTO supportsContractById(Long id) {
|
|
|
+ return contractManageMapper.toDTO(this.getById(id));
|
|
|
+ }
|
|
|
+}
|