|
|
@@ -0,0 +1,96 @@
|
|
|
+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.BlinkClueLotsDO;
|
|
|
+import com.wx.blink.backend.domain.dto.BlinkClueLotsDTO;
|
|
|
+import com.wx.blink.backend.domain.qry.BlinkClueLotsQry;
|
|
|
+import com.wx.blink.backend.objectmapper.BlinkClueLotsMapper;
|
|
|
+import com.wx.blink.backend.repository.BlinkClueLotsRepository;
|
|
|
+import com.wx.blink.backend.service.IBlinkClueLotsService;
|
|
|
+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.serialnumber.constant.SerialNumberIdEnum;
|
|
|
+import com.wx.blink.base.module.support.serialnumber.service.SerialNumberService;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.text.DecimalFormat;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class BlinkClueLotsServiceImpl extends ServiceImpl<BlinkClueLotsRepository, BlinkClueLotsDO> implements IBlinkClueLotsService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private BlinkClueLotsRepository repository;
|
|
|
+ @Resource
|
|
|
+ private BlinkClueLotsMapper mapper;
|
|
|
+ @Resource
|
|
|
+ private SerialNumberService serialNumberService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增标段
|
|
|
+ *
|
|
|
+ * @param dto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseDTO<String> supportsClueLotsCreate(BlinkClueLotsDTO dto) {
|
|
|
+ // 验证标段是否重复
|
|
|
+ BlinkClueLotsDO clueLotsDO = repository.queryByLotsName(dto.getLotsName(), null, dto.getClueId(), Boolean.FALSE);
|
|
|
+ if (Objects.nonNull(clueLotsDO)) {
|
|
|
+ return ResponseDTO.dataErrorParam("标段名称重复!请检查");
|
|
|
+ }
|
|
|
+ // 生成DO
|
|
|
+ BlinkClueLotsDO lotsDO = new BlinkClueLotsDO();
|
|
|
+ mapper.toBlinkClueLotsDO(dto, lotsDO);
|
|
|
+ //生成标段编码ID
|
|
|
+ SerialNumberIdEnum serialNumberIdEnum = BlinkEnumUtil.getEnumByValue(4, SerialNumberIdEnum.class);
|
|
|
+ lotsDO.setLotsCode(serialNumberService.generate(serialNumberIdEnum));
|
|
|
+ // 设置概算金额【万】
|
|
|
+ DecimalFormat df = new DecimalFormat("#,##0.00");
|
|
|
+ lotsDO.setProjectBudget(df.format(dto.getProjectBudgets()));
|
|
|
+ // 创建人赋值
|
|
|
+ BlinkEntityUtil.setCreateInfo(lotsDO);
|
|
|
+ // 执行新增
|
|
|
+ this.save(lotsDO);
|
|
|
+ return ResponseDTO.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询标段列表
|
|
|
+ *
|
|
|
+ * @param qry
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseDTO<PageResult<BlinkClueLotsDTO>> supportsClueLotsQueryPage(BlinkClueLotsQry qry) {
|
|
|
+ Page<?> page = BlinkPageUtil.convert2PageQuery(qry);
|
|
|
+ List<BlinkClueLotsDTO> clueLotsDTOS = repository.supportsClueLotsQueryPage(page, qry);
|
|
|
+ PageResult<BlinkClueLotsDTO> pageResult = BlinkPageUtil.convert2PageResult(page, clueLotsDTOS);
|
|
|
+ return ResponseDTO.ok(pageResult);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取标段信息
|
|
|
+ *
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseDTO<BlinkClueLotsDTO> supportsClueLotsQuery(Long id) {
|
|
|
+ // 验证标段是否重复
|
|
|
+ BlinkClueLotsDO clueLotsDO = repository.queryByLotsName(null, id, null, Boolean.FALSE);
|
|
|
+ if (!Objects.nonNull(clueLotsDO)) {
|
|
|
+ return ResponseDTO.dataErrorParam("标段不存在!请检查");
|
|
|
+ }
|
|
|
+ BlinkClueLotsDTO dto = new BlinkClueLotsDTO();
|
|
|
+ mapper.toBlinkClueLotsDTO(clueLotsDO, dto);
|
|
|
+ return ResponseDTO.ok(dto);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|