完成了模具详情

plp
86158 3 weeks ago
parent dbc3bd7db5
commit 0f11edf84a

@ -118,6 +118,14 @@ public class MoldBrandController {
return success(moldBrandService.getMoldPage(pageReqVO, brandId));
}
@GetMapping("/mold/list")
@Operation(summary = "获得模具列表")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
public CommonResult<List<MoldDO>> getMoldList() {
List<MoldDO> moldDOList = moldBrandService.getMoldList();
return success(moldDOList);
}
@PostMapping("/mold/create")
@Operation(summary = "创建模具")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:create')")

@ -9,6 +9,9 @@ import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldticketresults.MoldTicketResultsDO;
/**
* DO
*
@ -79,4 +82,31 @@ public class MoldDO extends BaseDO {
private String fileUrl;
/**
*
*/
@TableField(exist = false)
private List<MoldTicketResultsDO> inspectionList;
/**
*
*/
@TableField(exist = false)
private List<MoldTicketResultsDO> maintainList;
/**
*
*/
@TableField(exist = false)
private Map<String,List<MoldRepairLineDO>> repairList;
@TableField(exist = false)
private String orgType;
@TableField(exist = false)
private Long moldSize;
@TableField(exist = false)
private String brandName;
@TableField(exist = false)
private String moldType;
}

@ -80,6 +80,8 @@ public interface MoldBrandService {
*/
PageResult<MoldRespVO> getMoldPage(PageParam pageReqVO, Long brandId);
List<MoldDO> getMoldList();
/**
*
*

@ -9,23 +9,30 @@ import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductCategoryDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldticketresults.MoldTicketResultsDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductUnitDO;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldBrandMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldBrandProductMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.moldrepair.MoldRepairLineMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.moldrepair.MoldRepairMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.moldticketresults.MoldTicketResultsMapper;
import cn.iocoder.yudao.module.erp.controller.admin.moldticketmanagement.enums.MoldPlanTypeEnum;
import cn.iocoder.yudao.module.erp.service.product.ErpProductService;
import cn.iocoder.yudao.module.erp.service.product.ErpProductUnitService;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
@ -45,6 +52,12 @@ public class MoldBrandServiceImpl implements MoldBrandService {
@Resource
private MoldMapper moldMapper;
@Resource
private MoldRepairMapper moldRepairMapperRepair;
@Resource
private MoldRepairLineMapper moldRepairLineMapper;
@Resource
private MoldTicketResultsMapper moldticketResultsMapper;
@Resource
private ErpProductUnitService productUnitService;
@Resource
private ErpProductService productService;
@ -122,6 +135,11 @@ public class MoldBrandServiceImpl implements MoldBrandService {
return new PageResult<>(buildMoldVOList(pageResult.getList()), pageResult.getTotal());
}
@Override
public List<MoldDO> getMoldList() {
return moldMapper.selectList();
}
private List<MoldRespVO> buildMoldVOList(List<MoldDO> list) {
if (CollUtil.isEmpty(list)) {
return Collections.emptyList();
@ -157,7 +175,56 @@ public class MoldBrandServiceImpl implements MoldBrandService {
@Override
public MoldDO getMold(Long id) {
return moldMapper.selectById(id);
MoldDO moldDO = moldMapper.selectById(id);
Map<String,List<MoldRepairLineDO>> moldRepairDOMap=new HashMap<>();
// 关联查询品牌表并补充字段
if (moldDO != null && moldDO.getBrandId() != null) {
MoldBrandDO moldBrandDO = moldBrandMapper.selectById(moldDO.getBrandId());
if (moldBrandDO != null) {
moldDO.setBrandName(moldBrandDO.getName()); // 品牌名称
moldDO.setMoldType(moldBrandDO.getMoldType()); // 模具类型
moldDO.setMoldSize(moldBrandDO.getMoldSize()); // 模具尺寸
moldDO.setOrgType(moldBrandDO.getOrgType()); // 组织类型
}
}
//点检列表
List<MoldTicketResultsDO> inspectionList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.INSPECTION.getCode());
if(CollectionUtils.isNotEmpty(inspectionList)){
moldDO.setInspectionList(inspectionList);
}
//保养列表
List<MoldTicketResultsDO> maintainList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.MAINTENANCE.getCode());
if(CollectionUtils.isNotEmpty(maintainList)){
moldDO.setMaintainList(maintainList);
}
//维修列表
List<MoldRepairDO> moldRepairDOS = moldRepairMapperRepair.selectList(
Wrappers.<MoldRepairDO>lambdaQuery()
.eq(MoldRepairDO::getMoldId, id));
for (MoldRepairDO moldRepairDO : moldRepairDOS) {
List<MoldRepairLineDO> moldRepairLineDOS = moldRepairLineMapper.selectList(Wrappers.<MoldRepairLineDO>lambdaQuery()
.eq(MoldRepairLineDO::getRepairId, moldRepairDO.getId())
.orderByDesc(MoldRepairLineDO::getCreateTime));
if (!moldRepairLineDOS.isEmpty()) {
// 修复JSON序列化null Key问题保持原有风格的极简处理
String repairName = moldRepairDO.getRepairName();
if (repairName == null || repairName.trim().isEmpty()) {
repairName = "维修单-" + moldRepairDO.getId();
}
moldRepairDOMap.put(repairName, moldRepairLineDOS);
}
}
if(CollectionUtils.isNotEmpty(moldRepairDOMap)){
moldDO.setRepairList(moldRepairDOMap);
}
return moldDO;
}
@Override
public List<MoldDO> selectBy(MoldDO reqVO){
@ -225,6 +292,16 @@ public class MoldBrandServiceImpl implements MoldBrandService {
return moldBrandProductMapper.selectById(id);
}
@Override
public List<MoldDO> getAllList() {
return Collections.emptyList();
}
@Override
public List<MoldBrandDO> getMoldBrandList(Collection<Long> ids) {
return Collections.emptyList();
}
private void validateMoldBrandProductExists(Long id) {
if (moldBrandProductMapper.selectById(id) == null) {
throw exception(MOLD_BRAND_PRODUCT_NOT_EXISTS);
@ -234,14 +311,4 @@ public class MoldBrandServiceImpl implements MoldBrandService {
private void deleteMoldBrandProductByBrandId(Long brandId) {
moldBrandProductMapper.deleteByBrandId(brandId);
}
@Override
public List<MoldDO> getAllList() {
return moldMapper.selectList();
}
@Override
public List<MoldBrandDO> getMoldBrandList(Collection<Long> ids) {
return moldBrandMapper.selectBatchIds(ids);
}
}

@ -1,14 +1,6 @@
package cn.iocoder.yudao.module.erp.service.mold;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.module.erp.controller.admin.product.vo.product.ErpProductRespVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductCategoryDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductUnitDO;
import cn.iocoder.yudao.module.erp.service.product.ErpProductUnitService;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import org.springframework.transaction.annotation.Transactional;
@ -25,8 +17,6 @@ import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldMapper;
import javax.annotation.Resource;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.*;
/**
@ -41,12 +31,6 @@ public class MoldServiceImpl implements MoldService {
@Resource
private MoldMapper moldMapper;
@Resource
private MoldBrandService moldBrandService;
@Resource
private ErpProductUnitService productUnitService;
@Override
public Long createMold(MoldSaveReqVO createReqVO) {
// 插入
@ -95,46 +79,16 @@ public class MoldServiceImpl implements MoldService {
@Override
public List<MoldDO> validMoldList(Collection<Long> ids) {
if (CollUtil.isEmpty(ids)) {
return Collections.emptyList();
}
List<MoldDO> list = moldMapper.selectBatchIds(ids);
Map<Long, MoldDO> moldMap = convertMap(list, MoldDO::getId);
for (Long id : ids) {
MoldDO mold = moldMap.get(id);
if (moldMap.get(id) == null) {
throw exception(PRODUCT_NOT_EXISTS);
}
if (CommonStatusEnum.isDisable(mold.getStatus())) {
throw exception(PRODUCT_NOT_ENABLE, mold.getName());
}
}
return list;
return Collections.emptyList();
}
@Override
public List<MoldRespVO> getMoldVOList(Collection<Long> ids) {
if (CollUtil.isEmpty(ids)) {
return Collections.emptyList();
}
List<MoldDO> list = moldMapper.selectBatchIds(ids);
return buildMoldVOList(list);
return Collections.emptyList();
}
@Override
public List<MoldRespVO> buildMoldVOList(List<MoldDO> list) {
if (CollUtil.isEmpty(list)) {
return Collections.emptyList();
}
Map<Long, MoldBrandDO> brandMap = moldBrandService.getMoldBrandMap(
convertSet(list, MoldDO::getBrandId));
Map<Long, ErpProductUnitDO> unitMap = productUnitService.getProductUnitMap(
convertSet(list, MoldDO::getUnitId));
return BeanUtils.toBean(list, MoldRespVO.class, product -> {
MapUtils.findAndThen(brandMap, product.getBrandId(),
category -> product.setBrandName(category.getName()));
MapUtils.findAndThen(unitMap, product.getUnitId(),
unit -> product.setUnitName(unit.getName()));
});
return Collections.emptyList();
}
}

@ -8,6 +8,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldrepair.MoldRepairLineDO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
/**
* Mapper
@ -15,6 +16,7 @@ import org.apache.ibatis.annotations.Mapper;
* @author
*/
@Mapper
@Repository("mesMoldRepairLineMapper")
public interface MoldRepairLineMapper extends BaseMapperX<MoldRepairLineDO> {
default List<MoldRepairLineDO> selectListByRepairId(Long repairId) {

@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.moldsubject.MoldSubjectDO;
import com.alibaba.excel.util.StringUtils;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.*;
import org.springframework.stereotype.Repository;
/**
* Mapper
@ -18,6 +19,7 @@ import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.*;
* @author
*/
@Mapper
@Repository("mesMoldRepairMapper")
public interface MoldRepairMapper extends BaseMapperX<MoldRepairDO> {
default PageResult<MoldRepairDO> selectPage(MoldRepairPageReqVO reqVO) {

@ -9,6 +9,7 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.moldticketresults.MoldTicketRe
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.mes.controller.admin.moldticketresults.vo.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
/**
* Mapper
@ -16,6 +17,7 @@ import org.apache.ibatis.annotations.Param;
* @author
*/
@Mapper
@Repository("mesMoldTicketResultsMapper")
public interface MoldTicketResultsMapper extends BaseMapperX<MoldTicketResultsDO> {
default PageResult<MoldTicketResultsDO> selectPage(MoldTicketResultsPageReqVO reqVO) {

@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.MoldRepairPage
import cn.iocoder.yudao.module.mes.controller.admin.moldrepair.vo.MoldRepairSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.mes.dal.mysql.moldrepair.MoldRepairLineMapper;
import javax.validation.Valid;
import java.util.List;

@ -36,11 +36,11 @@ import cn.iocoder.yudao.framework.common.exception.ServiceException;
@Slf4j
@Service
@Validated
public class MoldRepairServiceImpl implements MoldRepairService {
public class MoldRepairServiceImpl implements MoldRepairService {
@Resource
@Resource(name = "mesMoldRepairMapper")
private MoldRepairMapper moldRepairMapper;
@Resource
@Resource(name = "mesMoldRepairLineMapper")
private MoldRepairLineMapper moldRepairLineMapper;
@Override

@ -35,7 +35,7 @@ import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*;
@Validated
public class MoldTicketResultsServiceImpl implements MoldTicketResultsService {
@Resource
@Resource(name = "mesMoldTicketResultsMapper")
private MoldTicketResultsMapper moldticketResultsMapper;
@Resource

Loading…
Cancel
Save