bug修改

This commit is contained in:
jing's 2023-12-04 20:24:24 +08:00
parent 93eda31ccb
commit 430be021ab
11 changed files with 171 additions and 81 deletions

View File

@ -9,6 +9,7 @@ import com.nflg.product.base.core.exception.NflgBusinessException;
import com.nflg.product.bomnew.constant.OptionalBomConstant;
import com.nflg.product.bomnew.pojo.dto.*;
import com.nflg.product.bomnew.pojo.query.OptionalEbomConfigListQuery;
import com.nflg.product.bomnew.pojo.query.OptionalEbomImportChildQuery;
import com.nflg.product.bomnew.pojo.query.OptionalEbomMainListQuery;
import com.nflg.product.bomnew.pojo.vo.*;
import com.nflg.product.bomnew.service.OptionalEbomConfigService;
@ -94,21 +95,30 @@ public class OptionalEbomApi extends BaseApi {
@PutMapping("updateStatus")
@ApiOperation("更改设备状态")
public ResultVO<Boolean> updateStatus(@ApiParam("机型id") @RequestParam("rowId") Long rowId, @ApiParam("状态0 为隐藏 1显示") @RequestParam("status") Integer status) {
if (status != OptionalBomConstant.EnableEnum.HIDDEN.getValue() || status != OptionalBomConstant.EnableEnum.SHOW.getValue()) {
//@ApiParam("机型id") @RequestParam("rowId") Long rowId, @ApiParam("状态0 为隐藏 1显示") @RequestParam("status") Integer status
public ResultVO<Boolean> updateStatus(@RequestBody OptionalEbomUpdateDTO input ) {
if(input.getRowId()==null || input.getStatus() ==null){
return ResultVO.error(STATE.ParamErr, "操作数据为空");
}
if (input.getStatus().equals( OptionalBomConstant.EnableEnum.HIDDEN.getValue()) || input.getStatus().equals(OptionalBomConstant.EnableEnum.SHOW.getValue())) {
OptionalEbomMainDTO dto = new OptionalEbomMainDTO();
dto.setRowId(input.getRowId());
dto.setIsEnable( input.getStatus());
dto.setUpdatedTime(new Date());
return ResultVO.success(this.optionalEbomMainService.updateRowById(dto));
}else {
return ResultVO.error(STATE.ParamErr, "数据不在范围内");
}
OptionalEbomMainDTO dto = new OptionalEbomMainDTO();
dto.setRowId(rowId);
dto.setIsEnable(status);
dto.setUpdatedTime(new Date());
return ResultVO.success(this.optionalEbomMainService.updateRowById(dto));
}
@DeleteMapping("deleteDevice")
@ApiOperation("删除设备")
public ResultVO<Boolean> deleteDevice(@RequestBody List<Long> rowIds) {
if ( CollectionUtil.isEmpty(rowIds)) {
return ResultVO.error(STATE.ParamErr, "选择待删除数据");
}
OptionalEbomMainDelDTO dto = new OptionalEbomMainDelDTO();
dto.setRowIdList(rowIds);
try {
@ -127,15 +137,21 @@ public class OptionalEbomApi extends BaseApi {
@PutMapping("updateOptionStatus")
@ApiOperation("更改选项状态")
public ResultVO<Boolean> updateOptionStatus(@ApiParam("选项id") @RequestParam("rowId") Long rowId, @ApiParam("状态0 为隐藏 1显示") @RequestParam("status") Integer status) {
if (status != OptionalBomConstant.EnableEnum.HIDDEN.getValue() || status != OptionalBomConstant.EnableEnum.SHOW.getValue()) {
public ResultVO<Boolean> updateOptionStatus(@RequestBody OptionalEbomUpdateDTO input) {
if(input.getRowId()==null || input.getStatus() ==null){
return ResultVO.error(STATE.ParamErr, "操作数据为空");
}
if ( input.getStatus() .equals( OptionalBomConstant.EnableEnum.HIDDEN.getValue()) || input.getStatus() .equals(OptionalBomConstant.EnableEnum.SHOW.getValue())) {
OptionalEbomImportChildVO vo = new OptionalEbomImportChildVO();
vo.setRowId(input.getRowId());
vo.setIsEnable(input.getStatus() );
return ResultVO.success(this.optionalEbomImportChildService.openCloseStatus(vo));
}else {
return ResultVO.error(STATE.ParamErr, "数据不在范围内");
}
OptionalEbomImportChildVO vo = new OptionalEbomImportChildVO();
vo.setRowId(rowId);
vo.setIsEnable(status);
return ResultVO.success(this.optionalEbomImportChildService .openCloseStatus(vo));
}
@DeleteMapping("deleteOption")
@ -162,7 +178,7 @@ public class OptionalEbomApi extends BaseApi {
if (dto.getPartType() != OptionalBomConstant.PartTypeEnum.PART_TYPE_RADIO.getValue() && dto.getPartType() != OptionalBomConstant.PartTypeEnum.PART_TYPE_CHECBOX.getValue()) {
return ResultVO.error("数据{partType}类型错误");
}
if(dto.getRootRowId()==null || dto.getRootRowId()==0){
if(dto.getRootRowId()==null ){
return ResultVO.error("rootRowId不能为空");
}
@ -183,10 +199,16 @@ public class OptionalEbomApi extends BaseApi {
}
@GetMapping("ebomEditTree")
@PostMapping("ebomEditTree")
@ApiOperation("编辑机型下选配")
public ResultVO<OptionalEbomConfigAggregVO> ebomEditTree(@ApiParam("机型设备id") @RequestParam("rowId") Long rowId) {
return ResultVO.success(aggregOptionConfigService.ebomEditTree(rowId));
public ResultVO<OptionalEbomConfigAggregVO> ebomEditTree(@RequestBody OptionalEbomImportChildQuery query) {
if(query.getRootRowId()==null ){
return ResultVO.error("rootRowId不能为空");
}
return ResultVO.success(aggregOptionConfigService.ebomEditTree(query));
}
@ -219,7 +241,7 @@ public class OptionalEbomApi extends BaseApi {
@ApiOperation("删除暂存")
public ResultVO<Boolean> deleteTmp(@RequestBody List<Long> rowIds) {
if(CollectionUtil.isNotEmpty(rowIds)){
if(CollectionUtil.isEmpty(rowIds)){
return ResultVO.error("选择删除的数据");
}
try {
@ -237,28 +259,39 @@ public class OptionalEbomApi extends BaseApi {
}
@PostMapping ("submitTmpOptionTree")
@ApiOperation("提交/变更暂存数据")
public ResultVO<Boolean> submitTmpOptionTree(OptionalEbomConfigDTO dto) {
@ApiOperation("变更暂存数据")
public ResultVO<Boolean> submitTmpOptionTree(@RequestBody OptionalEbomConfigDTO dto) {
if(dto.getRowId()==null) {
try{
return ResultVO.success(optionalEbomConfigService.buildTmpWork(dto));
} catch (NflgBusinessException e) {
return ResultVO.error(e.getState(), e.getMsg());
}
}else{
return ResultVO.success(aggregOptionConfigService.submitTmpOptionTree(dto));
}
}
@GetMapping("preview")
@PostMapping ("createTmpOptionTree")
@ApiOperation("提交暂存数据,rowId设备id")
public ResultVO<OptionalEbomConfigVO> createTmpOptionTree(@RequestBody OptionalEbomConfigDTO dto) {
if(dto.getRowId()==null){
return ResultVO.error(STATE.ParamErr, "设备rowId不能空");
}
if(CollectionUtil.isEmpty(dto.getOptions())){
return ResultVO.error(STATE.ParamErr, "options 空数据");
}
try {
return ResultVO.success(optionalEbomConfigService.buildTmpWork(dto));
} catch (NflgBusinessException e) {
return ResultVO.error(e.getState(), e.getMsg());
}
}
@GetMapping("preview")
@ApiOperation("预览")
public ResultVO<OptionalEbomConfigTmpAggregVO> preview(@ApiParam("暂存id") @RequestParam("rowId") Long rowId) {
return ResultVO.success(aggregOptionConfigService.tmpOptionTree(rowId));
@ -280,7 +313,7 @@ public class OptionalEbomApi extends BaseApi {
*/
@GetMapping("publish")
@ApiOperation("发布生成")
public ResultVO<Boolean> publish(@ApiParam("暂存id") @RequestParam("rowId") Long rowId) {
public ResultVO<Boolean> publish(@RequestBody OptionalEbomPublishAddDTO dto) {
return ResultVO.success(true);
}

View File

@ -7,6 +7,7 @@ package com.nflg.product.bomnew.mapper.master;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nflg.product.bomnew.pojo.entity.OptionalEbomImportChildEntity;
import com.nflg.product.bomnew.pojo.query.OptionalEbomImportChildQuery;
import com.nflg.product.bomnew.pojo.vo.OptionalEbomImportChildVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -23,6 +24,9 @@ public interface OptionalEbomImportChildMapper extends BaseMapper<OptionalEbomIm
List<OptionalEbomImportChildVO> getByRootRowIdList(@Param("rootRowId") Long rootRowId);
public List<OptionalEbomImportChildVO> getByRootRowList(@Param("query") OptionalEbomImportChildQuery query) ;
int insertOrUpdateBatch(@Param("entities") List<OptionalEbomImportChildEntity> entities);
int openCloseStatus (OptionalEbomImportChildEntity entity);

View File

@ -3,49 +3,50 @@ package com.nflg.product.bomnew.pojo.query;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import lombok.Data;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.time.LocalDate;
import java.util.Date;
@Data
@ApiModel("ebom选配件表")
@Accessors(chain = true)
public class OptionalEbomImportChildQuery implements Serializable {
/**主键*/ @ApiModelProperty(value = "主键")
private Long rowId;
/**选项id*/ @ApiModelProperty(value = "选项id")
private Long parentRowId;
/**根节点id*/ @ApiModelProperty(value = "根节点id")
private Long rootRowId;
/**物料编码*/ @ApiModelProperty(value = "物料编码")
private String materialNo;
/**物料名*/ @ApiModelProperty(value = "物料名")
private String materialName;
/**物料描述*/ @ApiModelProperty(value = "物料描述")
private String materialDesc;
/**图号*/ @ApiModelProperty(value = "图号")
private String drawingNo;
/**部件类型(1 单选 2 多选)*/ @ApiModelProperty(value = "部件类型(1 单选 2 多选)")
private Integer partType;
/**是否显示(0不显示 1显示)*/ @ApiModelProperty(value = "是否显示(0不显示 1显示)")
private Integer isEnable;
/**是否标配(0 否 1是)*/ @ApiModelProperty(value = "是否标配(0 否 1是)")
private Integer chooseStatus;
/**备注*/ @ApiModelProperty(value = "备注")
private String remak;
/**数据来源 (0 :excel 1:手动录入)*/ @ApiModelProperty(value = "数据来源 (0 :excel 1:手动录入)")
private Integer source;
/**是否删除(0 :否 1是)*/ @ApiModelProperty(value = "是否删除(0 :否 1是)")
private Integer isDel;
/**创建时间*/ @ApiModelProperty(value = "创建时间")
private Date createdTime;
/**操作人编码*/ @ApiModelProperty(value = "操作人编码")
private String createdBy;
public class OptionalEbomImportChildQuery implements Serializable {
/**
* 根节点id
*/
@ApiModelProperty(value = "设备根节点id")
private Long rootRowId;
/**
* 物料编码
*/
@ApiModelProperty(value = "物料编码")
private String materialNo;
/**
* 图号
*/
@ApiModelProperty(value = "图号")
private String drawingNo;
/**
* 创建时间
*/
@ApiModelProperty(value = "开始时间")
private String startTime;
/**
* 变更时间
*/
@ApiModelProperty(value = "结束时间")
private String endTime;
}

View File

@ -71,6 +71,13 @@ public class OptionalEbomImportChildVO implements Serializable {
*/
@ApiModelProperty(value = "是否标配(0 否 1是)")
private Integer chooseStatus;
@ApiModelProperty(value = "当前选择状态(0 否 1是)")
private Integer optionStatus;
/**
* 备注
*/

View File

@ -1,6 +1,9 @@
package com.nflg.product.bomnew.service;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.TypeReference;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -15,6 +18,7 @@ import com.nflg.product.bomnew.mapper.master.OptionalEbomConfigMapper;
import com.nflg.product.bomnew.pojo.dto.OptionalEbomConfigDTO;
import com.nflg.product.bomnew.pojo.entity.OptionalEbomConfigEntity;
import com.nflg.product.bomnew.pojo.entity.OptionalEbomConfigREntity;
import com.nflg.product.bomnew.pojo.entity.OptionalEbomImportEntity;
import com.nflg.product.bomnew.pojo.entity.OptionalEbomMainEntity;
import com.nflg.product.bomnew.pojo.query.OptionalEbomConfigListQuery;
import com.nflg.product.bomnew.pojo.query.OptionalEbomMainQuery;
@ -28,6 +32,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* 选配方案清单(OptionalEbomConfig)表服务实现类
@ -75,11 +80,11 @@ public class OptionalEbomConfigService extends ServiceImpl<OptionalEbomConfigMap
* @return
* @throws NflgBusinessException
*/
public Boolean buildTmpWork(OptionalEbomConfigDTO dto) throws NflgBusinessException {
public OptionalEbomConfigVO buildTmpWork(OptionalEbomConfigDTO dto) throws NflgBusinessException {
OptionalEbomMainVO optionalEbomMainVO = optionalEbomMainService.getByRowId(dto.getRowId());
if (optionalEbomMainVO == null) {
throw new NflgBusinessException(STATE.SystemErr, "查询数据不存在");
if (optionalEbomMainVO == null || StrUtil.isEmpty(optionalEbomMainVO.getDeviceNo())) {
throw new NflgBusinessException(STATE.SystemErr, "查询设备数据不存在");
}
OptionalEbomConfigEntity optionalEbomConfigEntity = new OptionalEbomConfigEntity();
@ -91,14 +96,24 @@ public class OptionalEbomConfigService extends ServiceImpl<OptionalEbomConfigMap
optionalEbomConfigEntity.setDeviceName(optionalEbomMainVO.getDeviceName());
optionalEbomConfigEntity.setDeptName(SessionUtil.getDepartName());
optionalEbomConfigEntity.setCreatedTime(new Date());
optionalEbomConfigEntity.setParentRowId(dto.getRowId());
optionalEbomConfigEntity.setUpdatedTime(optionalEbomConfigEntity.getCreatedTime());
optionalEbomConfigEntity.setConfigNo(DateUtil.now());
optionalEbomConfigEntity.setConfigNo(UUID.randomUUID().toString());
optionalEbomConfigEntity.setEditStatus(OptionalBomConstant.PublishEnum.TMP.getValue());
this.saveOrUpdate(optionalEbomConfigEntity);
return insertConfigRelation(optionalEbomConfigEntity.getRowId(), dto.getOptions());
insertConfigRelation(optionalEbomConfigEntity.getRowId(), dto.getOptions());
OptionalEbomConfigVO optionalEbomConfigVO = Convert.convert(new TypeReference<OptionalEbomConfigVO>() {
}, optionalEbomConfigEntity);
return optionalEbomConfigVO;
}
public Boolean insertConfigRelation(Long rowId,List<OptionalEbomConfigDTO.OptionInfoDTO> rList){

View File

@ -15,6 +15,7 @@ import com.nflg.product.bomnew.pojo.dto.OptionalEbomImportChildAddDTO;
import com.nflg.product.bomnew.pojo.dto.OptionalEbomImportChildDTO;
import com.nflg.product.bomnew.pojo.dto.OptionalEbomMainDelDTO;
import com.nflg.product.bomnew.pojo.entity.OptionalEbomImportChildEntity;
import com.nflg.product.bomnew.pojo.query.OptionalEbomImportChildQuery;
import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO;
import com.nflg.product.bomnew.pojo.vo.OptionalEbomImportChildVO;
import org.apache.ibatis.annotations.Param;
@ -37,6 +38,9 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
return getBaseMapper().getByRootRowIdList(rootRowId);
}
public List<OptionalEbomImportChildVO> getByRootRowList(OptionalEbomImportChildQuery query) {
return getBaseMapper().getByRootRowList(query);
}

View File

@ -13,6 +13,7 @@ import com.nflg.product.bomnew.pojo.entity.OptionalEbomConfigEntity;
import com.nflg.product.bomnew.pojo.entity.OptionalEbomConfigREntity;
import com.nflg.product.bomnew.pojo.entity.OptionalEbomImportChildEntity;
import com.nflg.product.bomnew.pojo.entity.OptionalEbomMainEntity;
import com.nflg.product.bomnew.pojo.query.OptionalEbomImportChildQuery;
import com.nflg.product.bomnew.pojo.vo.*;
import com.nflg.product.bomnew.service.OptionalEbomConfigService;
import com.nflg.product.bomnew.service.OptionalEbomImportChildService;
@ -140,12 +141,12 @@ public class AggregOptionConfigService {
* @param rowId
* @return
*/
public OptionalEbomConfigAggregVO ebomEditTree(Long rowId) {
public OptionalEbomConfigAggregVO ebomEditTree(OptionalEbomImportChildQuery query) {
List<OptionalEbomImportVO> listParent = optionalEbomImportService.getByRootIdList(rowId);
List<OptionalEbomImportChildVO> listChild = optionalEbomImportChildService.getByRootRowIdList(rowId);
List<OptionalEbomImportVO> listParent = optionalEbomImportService.getByRootIdList(query.getRootRowId());
List<OptionalEbomImportChildVO> listChild = optionalEbomImportChildService.getByRootRowList(query);
OptionalEbomMainVO optionalEbomMainVO = optionalEbomMainService.getByRowId(rowId);
OptionalEbomMainVO optionalEbomMainVO = optionalEbomMainService.getByRowId(query.getRootRowId());
OptionalEbomConfigAggregVO optionalEbomConfigAggregVO = filterTree(listParent, listChild);
optionalEbomConfigAggregVO.setDeviceInfo(optionalEbomMainVO);

View File

@ -182,9 +182,9 @@ public class OptionalExcelService {
//构建测试数据 无物料号 用图号代替
for (OptionalEbomImportChildDTO childDTO : listChild) {
if (!childDTO.getTag() && StringUtils.isEmpty(childDTO.getMaterialNo())) {
childDTO.setMaterialNo(childDTO.getDrawingNo());
// childDTO.setError(childDTO.getError()|OptionalBomConstant.ExcelErrorTagEnum.MATERIA_NO_UNKOWN.getValue());
// item1.setError(true);
// childDTO.setMaterialNo(childDTO.getDrawingNo());
childDTO.setError(childDTO.getError()|OptionalBomConstant.ExcelErrorTagEnum.MATERIA_NO_UNKOWN.getValue());
item1.setError(true);
}
}
@ -197,7 +197,7 @@ public class OptionalExcelService {
//检查是否满足条件 除了 物料号不能为空
String hintMsg=isValiData(optionalEbomInportExcelDTO.getOptionInfo());
if(!StrUtil.isEmpty(hintMsg)){
if( StrUtil.isNotEmpty(hintMsg)){
throw new NflgBusinessException(STATE.Error,hintMsg);
}

View File

@ -70,7 +70,8 @@
t1.created_time,
t1.updated_time,
t1.created_by,
t2.choose_status from
t1.choose_status,
t2.choose_status as option_status from
t_optional_ebom_config_r as t2 LEFT JOIN t_optional_ebom_import_child as t1 on t2.option_row_id=t1.row_id
where t1.is_enable=1 and t2.parent_row_id=#{rowId}
</select>
@ -92,7 +93,8 @@
t1.created_time,
t1.updated_time,
t1.created_by,
t2.choose_status from
t1.choose_status,
t2.choose_status as option_status from
t_optional_ebom_config_r as t2 LEFT JOIN t_optional_ebom_import_child as t1 on t2.option_row_id=t1.row_id
where t1.is_enable=1 and t2.choose_status =1 and t2.parent_row_id=#{rowId} and (t1.material_no!=null or t1.material_no!='')
</select>

View File

@ -32,6 +32,29 @@ row_id,parent_row_id,root_row_id,material_no,material_name,material_desc,drawing
where root_row_id = #{rootRowId}
</select>
<select id="getByRootRowList" resultType="com.nflg.product.bomnew.pojo.vo.OptionalEbomImportChildVO">
select
<include refid="Base_Column_List" />
from t_optional_ebom_import_child
where root_row_id = #{query.rootRowId}
<if test="query.materialNo != null and query.materialNo != ''">
and material_no like concat('%', '${query.materialNo}', '%')
</if>
<if test="query.drawingNo != null and query.drawingNo != ''">
and drawing_no like concat('%', '${query.drawingNo}', '%')
</if>
<if test="query.startTime != null and query.endTime != null">
<![CDATA[ and created_time >= #{query.startTime} and created_time < #{query.endTime}]]>
</if>
</select>

View File

@ -48,7 +48,7 @@
<if test="query.realName != null and query.realName != ''">
and a.real_name like concat('%', '${query.realName}', '%')
and real_name like concat('%', '${query.realName}', '%')
</if>
</where>