diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/BusMachinery.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/BusMachinery.java index e4a009d1..44921702 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/BusMachinery.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/BusMachinery.java @@ -55,6 +55,16 @@ public class BusMachinery extends BaseEntity { */ private String principal; + /** + * 负责人电话 + */ + private String principalPhone; + + /** + * 供应商 + */ + private String provider; + /** * 备注 */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/enums/MaterialsInventoryOutputEnum.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/enums/MaterialsInventoryOutputEnum.java new file mode 100644 index 00000000..ef78f938 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/enums/MaterialsInventoryOutputEnum.java @@ -0,0 +1,24 @@ +package org.dromara.machinery.domain.enums; + +import lombok.Getter; + +/** + * @author lcj + * @date 2025/4/11 13:53 + */ +@Getter +public enum MaterialsInventoryOutputEnum { + + PUT("入库", "0"), + OUT("出库", "1"); + + private final String text; + + private final String value; + + MaterialsInventoryOutputEnum(String text, String value) { + this.text = text; + this.value = value; + } + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryCreateReq.java index 8181aa46..9b6d879f 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryCreateReq.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryCreateReq.java @@ -40,6 +40,16 @@ public class MachineryCreateReq implements Serializable { */ private String principal; + /** + * 负责人电话 + */ + private String principalPhone; + + /** + * 供应商 + */ + private String provider; + /** * 备注 */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryQueryReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryQueryReq.java index f6a9023f..709660c6 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryQueryReq.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryQueryReq.java @@ -45,6 +45,16 @@ public class MachineryQueryReq implements Serializable { */ private String principal; + /** + * 负责人电话 + */ + private String principalPhone; + + /** + * 供应商 + */ + private String provider; + /** * 备注 */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryUpdateReq.java index c9e3da8d..a6d38dbf 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryUpdateReq.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryUpdateReq.java @@ -45,6 +45,16 @@ public class MachineryUpdateReq implements Serializable { */ private String principal; + /** + * 负责人电话 + */ + private String principalPhone; + + /** + * 供应商 + */ + private String provider; + /** * 备注 */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/vo/BusMachineryVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/vo/BusMachineryVo.java index c228db28..6e462757 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/vo/BusMachineryVo.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/vo/BusMachineryVo.java @@ -61,6 +61,18 @@ public class BusMachineryVo implements Serializable { @ExcelProperty(value = "负责人") private String principal; + /** + * 负责人电话 + */ + @ExcelProperty(value = "负责人电话") + private String principalPhone; + + /** + * 供应商 + */ + @ExcelProperty(value = "供应商") + private String provider; + /** * 备注 */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/impl/BusMachineryServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/impl/BusMachineryServiceImpl.java index ff92506f..44bd5f00 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/impl/BusMachineryServiceImpl.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/impl/BusMachineryServiceImpl.java @@ -1,6 +1,7 @@ package org.dromara.machinery.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.PhoneUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -103,7 +104,7 @@ public class BusMachineryServiceImpl extends ServiceImpl list = busMaterialsInventoryService.queryList(req); - ExcelUtil.exportExcel(list, "材料出/入库", BusMaterialsInventoryVo.class, response); + ExcelUtil.exportExcel(list, "材料出入库", BusMaterialsInventoryVo.class, response); } /** diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/BusCompany.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/BusCompany.java index db438d6a..1103f902 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/BusCompany.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/BusCompany.java @@ -40,6 +40,16 @@ public class BusCompany extends BaseEntity { */ private Long projectId; + /** + * 负责人 + */ + private String principal; + + /** + * 负责人电话 + */ + private String principalPhone; + /** * 帐号状态(0正常 1停用) */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyCreateReq.java index 5825cf02..e80badc4 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyCreateReq.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyCreateReq.java @@ -25,6 +25,16 @@ public class CompanyCreateReq implements Serializable { */ private Long projectId; + /** + * 负责人 + */ + private String principal; + + /** + * 负责人电话 + */ + private String principalPhone; + /** * 备注 */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyQueryReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyQueryReq.java index de8461f8..66d55891 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyQueryReq.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyQueryReq.java @@ -30,6 +30,16 @@ public class CompanyQueryReq implements Serializable { */ private Long projectId; + /** + * 负责人 + */ + private String principal; + + /** + * 负责人电话 + */ + private String principalPhone; + /** * 帐号状态(0正常 1停用) */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyUpdateReq.java index 0f50c98d..f5ad0e2d 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyUpdateReq.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/company/CompanyUpdateReq.java @@ -30,6 +30,16 @@ public class CompanyUpdateReq implements Serializable { */ private Long projectId; + /** + * 负责人 + */ + private String principal; + + /** + * 负责人电话 + */ + private String principalPhone; + /** * 帐号状态(0正常 1停用) */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/materialsinventory/MaterialsInventoryCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/materialsinventory/MaterialsInventoryCreateReq.java index 592373c5..04933c86 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/materialsinventory/MaterialsInventoryCreateReq.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/materialsinventory/MaterialsInventoryCreateReq.java @@ -41,11 +41,6 @@ public class MaterialsInventoryCreateReq implements Serializable { */ private Date outPutTime; - /** - * 剩余库存数量(记录最后一次操作留下的库存数) - */ - private Long residue; - /** * 操作人(入库人、领料人) */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/materialsinventory/MaterialsInventoryUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/materialsinventory/MaterialsInventoryUpdateReq.java index f07f0946..62081b93 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/materialsinventory/MaterialsInventoryUpdateReq.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/req/materialsinventory/MaterialsInventoryUpdateReq.java @@ -36,21 +36,11 @@ public class MaterialsInventoryUpdateReq implements Serializable { */ private String outPut; - /** - * 出/入库的数量 - */ - private Long number; - /** * 出/入库操作时间 */ private Date outPutTime; - /** - * 剩余库存数量(记录最后一次操作留下的库存数) - */ - private Long residue; - /** * 材料出入证明 */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/BusCompanyVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/BusCompanyVo.java index a02ec423..51794ac5 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/BusCompanyVo.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/BusCompanyVo.java @@ -45,6 +45,18 @@ public class BusCompanyVo implements Serializable { @ExcelProperty(value = "项目id") private Long projectId; + /** + * 负责人 + */ + @ExcelProperty(value = "负责人") + private String principal; + + /** + * 负责人电话 + */ + @ExcelProperty(value = "负责人电话") + private String principalPhone; + /** * 帐号状态(0正常 1停用) */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/BusMaterialsInventoryVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/BusMaterialsInventoryVo.java index 0a9331d1..b36e1134 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/BusMaterialsInventoryVo.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/domain/vo/BusMaterialsInventoryVo.java @@ -4,8 +4,6 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.materials.domain.BusMaterialsInventory; import java.io.Serial; @@ -40,10 +38,9 @@ public class BusMaterialsInventoryVo implements Serializable { private Long materialsId; /** - * 材料信息 + * 材料名称 */ - @ExcelProperty(value = "材料信息") - private BusMaterialsVo materialsVo; + private String materialsName; /** * 项目id @@ -60,27 +57,25 @@ public class BusMaterialsInventoryVo implements Serializable { /** * 出/入库的数量 */ - @ExcelProperty(value = "出/入库的数量") + @ExcelProperty(value = "出入库的数量") private Long number; /** * 出/入库操作时间 */ - @ExcelProperty(value = "出/入库操作时间") + @ExcelProperty(value = "出入库操作时间") private Date outPutTime; /** * 剩余库存数量(记录最后一次操作留下的库存数) */ - @ExcelProperty(value = "剩余库存数量", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "记录最后一次操作留下的库存数") + @ExcelProperty(value = "剩余库存数量") private Long residue; /** * 操作人(入库人、领料人) */ - @ExcelProperty(value = "操作人", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "入库人、领料人") + @ExcelProperty(value = "操作人") private String operator; /** @@ -98,8 +93,7 @@ public class BusMaterialsInventoryVo implements Serializable { /** * 交接单位(班组) */ - @ExcelProperty(value = "交接单位", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "班=组") + @ExcelProperty(value = "交接单位") private String recipient; /** diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/IBusCompanyService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/IBusCompanyService.java index 3403ed87..724ede9a 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/IBusCompanyService.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/IBusCompanyService.java @@ -72,6 +72,14 @@ public interface IBusCompanyService extends IService { */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + /** + * 获取封装视图对象 + * + * @param company 实体对象 + * @return 封装视图对象 + */ + BusCompanyVo getVo(BusCompany company); + /** * 构建查询条件封装 * diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusCompanyServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusCompanyServiceImpl.java index 22502dbb..b559cdce 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusCompanyServiceImpl.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusCompanyServiceImpl.java @@ -1,6 +1,7 @@ package org.dromara.materials.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.PhoneUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -25,6 +26,7 @@ import org.dromara.project.service.IBusProjectService; import org.springframework.beans.BeanUtils; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Collection; import java.util.List; @@ -39,9 +41,6 @@ import java.util.List; public class BusCompanyServiceImpl extends ServiceImpl implements IBusCompanyService { - @Resource - private BusCompanyMapper baseMapper; - @Resource private IBusProjectService projectService; @@ -57,7 +56,11 @@ public class BusCompanyServiceImpl extends ServiceImpl queryList(CompanyQueryReq req) { LambdaQueryWrapper lqw = this.buildQueryWrapper(req); - return baseMapper.selectVoList(lqw); + return this.list(lqw).stream().map(this::getVo).toList(); } /** @@ -98,7 +101,12 @@ public class BusCompanyServiceImpl extends ServiceImpl 0) { + throw new ServiceException("公司名重复", HttpStatus.BAD_REQUEST); + } // 写入数据库 boolean save = this.save(company); if (!save) { @@ -119,12 +127,18 @@ public class BusCompanyServiceImpl extends ServiceImpl 0) { + throw new ServiceException("公司名重复", HttpStatus.BAD_REQUEST); + } + } // 操作数据库 return this.updateById(company); } @@ -132,27 +146,33 @@ public class BusCompanyServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(BusCompany::getCompanyName, companyName); - long count = this.count(queryWrapper); - if (count > 0) { - throw new ServiceException("公司名重复", HttpStatus.BAD_REQUEST); - } - if (projectId == null) { - throw new ServiceException("项目 id 不能为空", HttpStatus.BAD_REQUEST); + String principal = entity.getPrincipal(); + String principalPhone = entity.getPrincipalPhone(); + if (create) { + if (StringUtils.isBlank(principal)) { + throw new ServiceException("负责人不能为空", HttpStatus.BAD_REQUEST); + } + if (StringUtils.isBlank(principalPhone)) { + throw new ServiceException("负责人手机号不能为空", HttpStatus.BAD_REQUEST); + } + if (StringUtils.isBlank(companyName)) { + throw new ServiceException("公司名称不能为空", HttpStatus.BAD_REQUEST); + } + if (projectId == null) { + throw new ServiceException("项目 id 不能为空", HttpStatus.BAD_REQUEST); + } } // 查询项目是否存在 - if (projectService.getById(projectId) == null) { + if (projectId != null && projectService.getById(projectId) == null) { throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND); } + if (StringUtils.isNotBlank(principalPhone) && !PhoneUtil.isPhone(principalPhone)) { + throw new ServiceException("负责人手机号格式不正确", HttpStatus.BAD_REQUEST); + } } /** @@ -163,6 +183,7 @@ public class BusCompanyServiceImpl extends ServiceImpl ids, Boolean isValid) { // 获取当前登录用户 Long userId = LoginHelper.getUserId(); @@ -184,7 +205,24 @@ public class BusCompanyServiceImpl extends ServiceImpl 0; + return this.removeBatchByIds(ids); + } + + /** + * 获取封装视图对象 + * + * @param company 实体对象 + * @return 封装视图对象 + */ + @Override + public BusCompanyVo getVo(BusCompany company) { + // 对象转封装类 + BusCompanyVo companyVo = new BusCompanyVo(); + if (company == null) { + return companyVo; + } + BeanUtils.copyProperties(company, companyVo); + return companyVo; } /** @@ -203,11 +241,15 @@ public class BusCompanyServiceImpl extends ServiceImpl implements IBusMaterialsInventoryService { - @Resource - private BusMaterialsInventoryMapper baseMapper; - @Resource private IBusMaterialsService materialsService; @@ -102,7 +100,26 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpllambdaQuery() + .eq(BusMaterialsInventory::getMaterialsId, req.getMaterialsId()) + .eq(BusMaterialsInventory::getProjectId, req.getProjectId()) + .orderByDesc(BusMaterialsInventory::getCreateTime) + .last("limit 1")); + if (lastMaterialsInventory != null) { + if (MaterialsInventoryOutputEnum.OUT.getValue().equals(req.getOutPut())) { + long left = lastMaterialsInventory.getResidue() - req.getNumber(); + if (left < 0) { + throw new ServiceException("库存不足", HttpStatus.BAD_REQUEST); + } + materialsInventory.setResidue(left); + } else { + materialsInventory.setResidue(lastMaterialsInventory.getResidue() + req.getNumber()); + } + } else { + materialsInventory.setResidue(req.getNumber()); + } // 操作数据库 boolean save = this.save(materialsInventory); if (!save) { @@ -123,7 +140,7 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpl ids, Boolean isValid) { // 获取当前登录用户 Long userId = LoginHelper.getUserId(); @@ -180,7 +204,7 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpl 0; + return this.removeBatchByIds(ids); } /** @@ -197,10 +221,10 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpl materialsQueryWrapper = new QueryWrapper<>(); - materialsQueryWrapper.select("id"); - materialsQueryWrapper.like("materials_name", materialsName); + LambdaQueryWrapper materialsQueryWrapper = Wrappers.lambdaQuery(BusMaterials.class) + .select(BusMaterials::getId) + .like(BusMaterials::getMaterialsName, materialsName); List materialsIdList = materialsService.listObjs(materialsQueryWrapper, obj -> (Long) obj); lqw.in(BusMaterialsInventory::getMaterialsId, materialsIdList); } @@ -253,6 +277,8 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpl materialsIdList = materialsInventoryList.stream().map(BusMaterialsInventory::getMaterialsId).collect(Collectors.toSet()); + Map> materialsIdBusMaterialsMap = materialsService.listByIds(materialsIdList).stream() + .collect(Collectors.groupingBy(BusMaterials::getId)); // 对象列表 => 封装对象列表 - List materialsInventoryVoList = materialsInventoryList.stream().map(this::getVo).toList(); + List materialsInventoryVoList = materialsInventoryList.stream().map(materialsInventory -> { + BusMaterialsInventoryVo materialsInventoryVo = new BusMaterialsInventoryVo(); + BeanUtils.copyProperties(materialsInventory, materialsInventoryVo); + // 关联查询材料信息 + Long materialsId = materialsInventory.getMaterialsId(); + String materialsName = null; + if (materialsIdBusMaterialsMap.containsKey(materialsId)) { + materialsName = materialsIdBusMaterialsMap.get(materialsId).get(0).getMaterialsName(); + } + materialsInventoryVo.setMaterialsName(materialsName); + return materialsInventoryVo; + }).toList(); materialsInventoryVoPage.setRecords(materialsInventoryVoList); return materialsInventoryVoPage; } diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusMaterialsServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusMaterialsServiceImpl.java index adb8d063..77afb089 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusMaterialsServiceImpl.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusMaterialsServiceImpl.java @@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jakarta.annotation.Resource; -import lombok.RequiredArgsConstructor; import org.dromara.common.core.constant.HttpStatus; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.ObjectUtils; @@ -43,14 +42,10 @@ import java.util.Map; * @author lcj * @date 2025-03-06 */ -@RequiredArgsConstructor @Service public class BusMaterialsServiceImpl extends ServiceImpl implements IBusMaterialsService { - @Resource - private BusMaterialsMapper baseMapper; - @Resource private IBusCompanyService companyService; diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusConstructionUserServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusConstructionUserServiceImpl.java index f60c1a60..902f86d7 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusConstructionUserServiceImpl.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusConstructionUserServiceImpl.java @@ -1,6 +1,8 @@ package org.dromara.project.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdcardUtil; +import cn.hutool.core.util.PhoneUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -485,6 +487,8 @@ public class BusConstructionUserServiceImpl extends ServiceImpl 0) { + throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST); + } // 操作数据库 boolean save = this.save(contractor); if (!save) { @@ -139,6 +144,13 @@ public class BusContractorServiceImpl extends ServiceImpl 0) { + throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST); + } + } // 操作数据库 return this.updateById(contractor); } @@ -146,17 +158,28 @@ public class BusContractorServiceImpl extends ServiceImpl 0) { + throw new ServiceException("项目名称已存在", HttpStatus.BAD_REQUEST); + } // 写入数据库 boolean save = this.save(project); if (!save) { @@ -200,6 +205,13 @@ public class BusProjectServiceImpl extends ServiceImpl 0) { + throw new ServiceException("项目名称重复", HttpStatus.BAD_REQUEST); + } + } // 操作数据库 return this.updateById(project); } @@ -210,11 +222,18 @@ public class BusProjectServiceImpl extends ServiceImpl