liweidong
liweidong-hj 3 weeks ago
parent 260e11db20
commit 0d609acb78
  1. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartBasicsEntity.java
  2. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml
  3. 96
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsProModelServiceImpl.java
  4. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java

@ -50,7 +50,7 @@ public class DsPartBasicsEntity extends BaseEntity {
* 是否玻璃饼 * 是否玻璃饼
*/ */
@Schema(description = "是否玻璃饼") @Schema(description = "是否玻璃饼")
private String isClassCake; private String isGlassCake;
/** /**
* 备注 * 备注

@ -30,7 +30,7 @@
<result column="PLATE_GOODS_CODE" property="plateGoodsCode"/> <result column="PLATE_GOODS_CODE" property="plateGoodsCode"/>
<result column="MARKINGS_TEST" property="markingsTest"/> <result column="MARKINGS_TEST" property="markingsTest"/>
<result column="PRODUCT_SERIES" property="productSeries"/> <result column="PRODUCT_SERIES" property="productSeries"/>
<result column="IS_CLASS_CAKE" property="isClassCake"/> <result column="IS_GLASS_CAKE" property="isGlassCake"/>
<result column="FORMING_THICKNESS" property="formingThickness"/> <result column="FORMING_THICKNESS" property="formingThickness"/>
<result column="IS_CHILD_PRINT" property="isChildPrint"/> <result column="IS_CHILD_PRINT" property="isChildPrint"/>
<result column="POWDER_WEIGHT" property="powderWeight"/> <result column="POWDER_WEIGHT" property="powderWeight"/>
@ -93,7 +93,7 @@
<result column="PLATE_GOODS_CODE" property="plateGoodsCode"/> <result column="PLATE_GOODS_CODE" property="plateGoodsCode"/>
<result column="MARKINGS_TEST" property="markingsTest"/> <result column="MARKINGS_TEST" property="markingsTest"/>
<result column="PRODUCT_SERIES" property="productSeries"/> <result column="PRODUCT_SERIES" property="productSeries"/>
<result column="IS_CLASS_CAKE" property="isClassCake"/> <result column="IS_GLASS_CAKE" property="isGlassCake"/>
<result column="FORMING_THICKNESS" property="formingThickness"/> <result column="FORMING_THICKNESS" property="formingThickness"/>
<result column="IS_CHILD_PRINT" property="isChildPrint"/> <result column="IS_CHILD_PRINT" property="isChildPrint"/>
<result column="POWDER_WEIGHT" property="powderWeight"/> <result column="POWDER_WEIGHT" property="powderWeight"/>

@ -28,8 +28,12 @@ package org.springblade.desk.dashboard.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException; import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.pojo.entity.BasicClazz;
import org.springblade.desk.basic.service.IBasicClazzService;
import org.springblade.desk.dashboard.pojo.entity.*; import org.springblade.desk.dashboard.pojo.entity.*;
import org.springblade.desk.dashboard.pojo.vo.DsModelAndDetailVO; import org.springblade.desk.dashboard.pojo.vo.DsModelAndDetailVO;
import org.springblade.desk.dashboard.pojo.vo.DsProDetailVO; import org.springblade.desk.dashboard.pojo.vo.DsProDetailVO;
@ -38,7 +42,9 @@ import org.springblade.desk.dashboard.pojo.vo.DsProModelVO;
import org.springblade.desk.dashboard.excel.DsProModelExcel; import org.springblade.desk.dashboard.excel.DsProModelExcel;
import org.springblade.desk.dashboard.mapper.DsProModelMapper; import org.springblade.desk.dashboard.mapper.DsProModelMapper;
import org.springblade.desk.dashboard.service.*; import org.springblade.desk.dashboard.service.*;
import org.springblade.desk.logistics.pojo.vo.TaskVO;
import org.springblade.system.feign.IUserClient; import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -56,12 +62,10 @@ import java.util.stream.Collectors;
* @author BladeX * @author BladeX
* @since 2025-11-12 * @since 2025-11-12
*/ */
@Slf4j
@Service @Service
public class DsProModelServiceImpl extends BaseServiceImpl<DsProModelMapper, DsProModelEntity> implements IDsProModelService { public class DsProModelServiceImpl extends BaseServiceImpl<DsProModelMapper, DsProModelEntity> implements IDsProModelService {
@Autowired
IBsPlatingTypeService platingTypeService;
@Autowired @Autowired
DsProModelMapper proModelMapper; DsProModelMapper proModelMapper;
@ -77,22 +81,90 @@ public class DsProModelServiceImpl extends BaseServiceImpl<DsProModelMapper, DsP
@Autowired @Autowired
IUserClient userClient; IUserClient userClient;
@Resource
private IBasicClazzService basicClazzService;
@Override @Override
public IPage<DsProModelVO> selectDsProModelPage(IPage<DsProModelVO> page, DsProModelVO dsProModel) { public IPage<DsProModelVO> selectDsProModelPage(IPage<DsProModelVO> page, DsProModelVO dsProModel) {
List<DsProModelVO> DsProModelVO = baseMapper.selectDsProModelPage(page, dsProModel); List<DsProModelVO> dsProModelVOList = baseMapper.selectDsProModelPage(page, dsProModel);
for (org.springblade.desk.dashboard.pojo.vo.DsProModelVO dsProModelVO : DsProModelVO) {
if(null != dsProModelVO.getPlatingType()){ if (CollectionUtils.isEmpty(dsProModelVOList)) {
BsPlatingTypeEntity platingTypeEntity = platingTypeService.getById(dsProModelVO.getPlatingType()); return page.setRecords(Collections.emptyList());
dsProModelVO.setPlatingTypeStr(platingTypeEntity.getPlateType()); }
dsProModelVO.setUpdateUserStr(userClient.userInfo(Func.toLong(dsProModelVO.getUpdateUser())).getData().getUser().getName()); // 处理每个VO
for (DsProModelVO vo : dsProModelVOList) {
if (vo == null) {
continue;
}
// 设置电镀类型名称 - 防止空指针
if (vo.getPlatingType() != null) {
try {
BasicClazz basicClazz = basicClazzService.getById(vo.getPlatingType());
if (basicClazz != null) {
vo.setPlatingTypeStr(basicClazz.getName());
}
} catch (Exception e) {
log.error("查询电镀类型失败, platingType: {}", vo.getPlatingType(), e);
}
}
// 设置工序数量 - 防止空指针
if (vo.getId() != null) {
try {
List<DsProDetailEntity> detailList = proDetailService.selectDsProDetailByModelId(vo.getId());
vo.setProcessNum(detailList == null ? 0L : (long) detailList.size());
} catch (Exception e) {
log.error("查询工序数量失败, modelId: {}", vo.getId(), e);
vo.setProcessNum(0L);
}
} else {
vo.setProcessNum(0L);
} }
List<DsProDetailEntity> dsProDetailEntityList = proDetailService.selectDsProDetailByModelId(dsProModelVO.getId()); }
dsProModelVO.setProcessNum((long)dsProDetailEntityList.size());
// 收集所有需要查询的 userId(去重)
Set<String> userIdSet = dsProModelVOList.stream()
.map(DsProModelVO::getUpdateUser)
.filter(Objects::nonNull)
.map(String::valueOf)
.collect(Collectors.toSet());
if (CollectionUtils.isNotEmpty(userIdSet)) {
// 批量查询用户信息
String userIds = userIdSet.stream()
.map(String::valueOf)
.collect(Collectors.joining(","));
try {
List<User> userList = userClient.userListByIds(userIds);
if (CollectionUtils.isNotEmpty(userList)) {
Map<Long, User> userMap = userList.stream()
.filter(user -> user != null && user.getId() != null)
.collect(Collectors.toMap(
User::getId,
user -> user,
(existing, replacement) -> existing
));
// 批量设置用户名称
for (DsProModelVO dsProModelVO : dsProModelVOList) {
Long updateUser = dsProModelVO.getUpdateUser();
if (updateUser != null) {
User user = userMap.get(updateUser);
if (user != null) {
dsProModelVO.setUpdateUserStr(user.getName());
}
}
}
}
} catch (Exception e) {
log.error("批量获取用户信息失败, userIds: {}", userIds, e);
}
} }
return page.setRecords(DsProModelVO);
return page.setRecords(dsProModelVOList);
} }

@ -2122,7 +2122,7 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
partBasics.setPartName(oldMesPart.getPartName()); partBasics.setPartName(oldMesPart.getPartName());
partBasics.setProductType(oldMesPart.getProductType()); partBasics.setProductType(oldMesPart.getProductType());
partBasics.setIsSintering(oldMesPart.getIsSintering()); partBasics.setIsSintering(oldMesPart.getIsSintering());
partBasics.setIsClassCake(oldMesPart.getIsGlassCake()); partBasics.setIsGlassCake(oldMesPart.getIsGlassCake());
partBasics.setCreateTime(new Date()); partBasics.setCreateTime(new Date());
partBasics.setUpdateTime(new Date()); partBasics.setUpdateTime(new Date());
partBasics.setStatus(1); partBasics.setStatus(1);

Loading…
Cancel
Save