liweidong
liweidong-hj 2 days 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 = "是否玻璃饼")
private String isClassCake;
private String isGlassCake;
/**
* 备注

@ -30,7 +30,7 @@
<result column="PLATE_GOODS_CODE" property="plateGoodsCode"/>
<result column="MARKINGS_TEST" property="markingsTest"/>
<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="IS_CHILD_PRINT" property="isChildPrint"/>
<result column="POWDER_WEIGHT" property="powderWeight"/>
@ -93,7 +93,7 @@
<result column="PLATE_GOODS_CODE" property="plateGoodsCode"/>
<result column="MARKINGS_TEST" property="markingsTest"/>
<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="IS_CHILD_PRINT" property="isChildPrint"/>
<result column="POWDER_WEIGHT" property="powderWeight"/>

@ -28,8 +28,12 @@ package org.springblade.desk.dashboard.service.impl;
import com.alibaba.fastjson.JSONObject;
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.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.vo.DsModelAndDetailVO;
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.mapper.DsProModelMapper;
import org.springblade.desk.dashboard.service.*;
import org.springblade.desk.logistics.pojo.vo.TaskVO;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -56,12 +62,10 @@ import java.util.stream.Collectors;
* @author BladeX
* @since 2025-11-12
*/
@Slf4j
@Service
public class DsProModelServiceImpl extends BaseServiceImpl<DsProModelMapper, DsProModelEntity> implements IDsProModelService {
@Autowired
IBsPlatingTypeService platingTypeService;
@Autowired
DsProModelMapper proModelMapper;
@ -77,22 +81,90 @@ public class DsProModelServiceImpl extends BaseServiceImpl<DsProModelMapper, DsP
@Autowired
IUserClient userClient;
@Resource
private IBasicClazzService basicClazzService;
@Override
public IPage<DsProModelVO> selectDsProModelPage(IPage<DsProModelVO> page, DsProModelVO dsProModel) {
List<DsProModelVO> DsProModelVO = baseMapper.selectDsProModelPage(page, dsProModel);
for (org.springblade.desk.dashboard.pojo.vo.DsProModelVO dsProModelVO : DsProModelVO) {
if(null != dsProModelVO.getPlatingType()){
BsPlatingTypeEntity platingTypeEntity = platingTypeService.getById(dsProModelVO.getPlatingType());
dsProModelVO.setPlatingTypeStr(platingTypeEntity.getPlateType());
List<DsProModelVO> dsProModelVOList = baseMapper.selectDsProModelPage(page, dsProModel);
if (CollectionUtils.isEmpty(dsProModelVOList)) {
return page.setRecords(Collections.emptyList());
}
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.setProductType(oldMesPart.getProductType());
partBasics.setIsSintering(oldMesPart.getIsSintering());
partBasics.setIsClassCake(oldMesPart.getIsGlassCake());
partBasics.setIsGlassCake(oldMesPart.getIsGlassCake());
partBasics.setCreateTime(new Date());
partBasics.setUpdateTime(new Date());
partBasics.setStatus(1);

Loading…
Cancel
Save