Merge branch 'feature/DM/nflg-bom' of http://112.74.186.154:3000/nflj/nflg_project into feature/DM/nflg-bom
This commit is contained in:
commit
e70fb3135a
|
|
@ -0,0 +1,63 @@
|
||||||
|
package com.nflg.product.bomnew.advice;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.nflg.product.bomnew.util.JsonUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import nflg.product.common.constant.STATE;
|
||||||
|
import nflg.product.common.util.JwtUtil;
|
||||||
|
import nflg.product.common.vo.ResultVO;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||||
|
import org.springframework.core.MethodParameter;
|
||||||
|
import org.springframework.http.HttpInputMessage;
|
||||||
|
import org.springframework.http.converter.HttpMessageConverter;
|
||||||
|
import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||||
|
import org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdvice;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 曹鹏飞
|
||||||
|
* @date 2024/6/18 09:41:31
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@ControllerAdvice
|
||||||
|
@RefreshScope
|
||||||
|
public class LoggingRequestBodyAdvice implements RequestBodyAdvice {
|
||||||
|
|
||||||
|
@Value("${logging.http.detailed:false}")
|
||||||
|
private Boolean enableHttpDetailed;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean supports(MethodParameter methodParameter, Type type, Class<? extends HttpMessageConverter<?>> aClass) {
|
||||||
|
return enableHttpDetailed;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HttpInputMessage beforeBodyRead(HttpInputMessage httpInputMessage, MethodParameter methodParameter, Type type, Class<? extends HttpMessageConverter<?>> aClass) {
|
||||||
|
return httpInputMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object afterBodyRead(Object o, HttpInputMessage httpInputMessage, MethodParameter methodParameter, Type type, Class<? extends HttpMessageConverter<?>> aClass) {
|
||||||
|
try {
|
||||||
|
log.info("请求参数: {}", JsonUtil.toJson(o));
|
||||||
|
log.info("请求头: {}", JsonUtil.toJson(httpInputMessage.getHeaders()));
|
||||||
|
String token = httpInputMessage.getHeaders().getFirst("Authorization");
|
||||||
|
if (StrUtil.isNotBlank(token)) {
|
||||||
|
ResultVO result = JwtUtil.parse(token);
|
||||||
|
if (result.getState().equals(STATE.Success.getState())) {
|
||||||
|
log.info("请求用户: {}", JsonUtil.toJson(result.getData()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
log.error("读取请求体出错", ex);
|
||||||
|
}
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object handleEmptyBody(Object o, HttpInputMessage httpInputMessage, MethodParameter methodParameter, Type type, Class<? extends HttpMessageConverter<?>> aClass) {
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.nflg.product.bomnew.advice;
|
||||||
|
|
||||||
|
import com.nflg.product.bomnew.util.JsonUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||||
|
import org.springframework.core.MethodParameter;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.http.converter.HttpMessageConverter;
|
||||||
|
import org.springframework.http.server.ServerHttpRequest;
|
||||||
|
import org.springframework.http.server.ServerHttpResponse;
|
||||||
|
import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||||
|
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 曹鹏飞
|
||||||
|
* @date 2024/6/18 09:42:06
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@ControllerAdvice
|
||||||
|
@RefreshScope
|
||||||
|
public class LoggingResponseBodyAdvice implements ResponseBodyAdvice<Object> {
|
||||||
|
|
||||||
|
@Value("${logging.http.detailed:false}")
|
||||||
|
private Boolean enableHttpDetailed;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> aClass) {
|
||||||
|
return enableHttpDetailed;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object beforeBodyWrite(Object o, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
|
||||||
|
try {
|
||||||
|
log.info("响应数据: {}", JsonUtil.toJson(o));
|
||||||
|
} catch (Exception ex) {
|
||||||
|
log.error("读取响应数据出错", ex);
|
||||||
|
}
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -910,7 +910,7 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
|
||||||
List<Long> delParentBom = delEBomParents.stream().filter(u -> u.getBomRowId() > 0).map(BomNewEbomParentVO::getBomRowId).collect(Collectors.toList());
|
List<Long> delParentBom = delEBomParents.stream().filter(u -> u.getBomRowId() > 0).map(BomNewEbomParentVO::getBomRowId).collect(Collectors.toList());
|
||||||
if(CollUtil.isNotEmpty(delParentBom)){
|
if(CollUtil.isNotEmpty(delParentBom)){
|
||||||
this.getBaseMapper().delBatch(delParentBom);
|
this.getBaseMapper().delBatch(delParentBom);
|
||||||
ebomChildService.getBaseMapper().delBomChild(delParentBom);
|
// ebomChildService.getBaseMapper().delBomChild(delParentBom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//需修改正式版BOM的版本
|
//需修改正式版BOM的版本
|
||||||
|
|
@ -933,11 +933,11 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
|
||||||
if(CollUtil.isNotEmpty(materialNos)){
|
if(CollUtil.isNotEmpty(materialNos)){
|
||||||
pBomParentService.getBaseMapper().updateWaitPublicRootState(materialNos);
|
pBomParentService.getBaseMapper().updateWaitPublicRootState(materialNos);
|
||||||
}
|
}
|
||||||
List<Long> bomRowIds = bomTree.stream().filter(u -> u.getBomRowId() > 0).map(u -> u.getBomRowId()).collect(Collectors.toList());
|
List<Long> bomRowIds = bomTree.stream().filter(u ->!EBomStatusEnum.PUBLISHED.equalsValue(u.getStatus()) && u.getBomRowId() > 0).map(u -> u.getBomRowId()).collect(Collectors.toList());
|
||||||
if (CollUtil.isNotEmpty(bomRowIds)) {
|
if (CollUtil.isNotEmpty(bomRowIds)) {
|
||||||
this.getBaseMapper().updateStateBatchByRowIds(EBomStatusEnum.PUBLISHED.getValue(), bomRowIds);
|
this.getBaseMapper().updateStateBatchByRowIds(EBomStatusEnum.PUBLISHED.getValue(), bomRowIds);
|
||||||
//将历史已发布版-转移到正式历史表
|
//将历史已发布版-转移到正式历史表
|
||||||
eBomToFormal(bomRowIds, bomTree.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList()) );
|
eBomToFormal(bomRowIds, bomTree.stream().filter(u ->!EBomStatusEnum.PUBLISHED.equalsValue(u.getStatus()) && u.getBomRowId() > 0).collect(Collectors.toList()) );
|
||||||
}
|
}
|
||||||
//子级记录-bom版本
|
//子级记录-bom版本
|
||||||
List<BomNewEbomChildEntity> bomChildren = new ArrayList<>();
|
List<BomNewEbomChildEntity> bomChildren = new ArrayList<>();
|
||||||
|
|
@ -1932,10 +1932,10 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
|
||||||
checkUserRoleAuth(dto.getParent().getCreatedBy());
|
checkUserRoleAuth(dto.getParent().getCreatedBy());
|
||||||
|
|
||||||
|
|
||||||
//暂存数据为空后面不处理
|
// //暂存数据为空后面不处理
|
||||||
if (CollUtil.isEmpty(dto.getDatas())) {
|
// if (CollUtil.isEmpty(dto.getDatas())) {
|
||||||
return dto.getParent();
|
// return dto.getParent();
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
EBomEdit eBomEdit = new EBomEdit(EBomSourceEnum.FROM_MDM.getValue());
|
EBomEdit eBomEdit = new EBomEdit(EBomSourceEnum.FROM_MDM.getValue());
|
||||||
|
|
@ -2511,6 +2511,9 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
|
||||||
//转移后删除
|
//转移后删除
|
||||||
this.getBaseMapper().delEBomHistory(childParentRowIds);
|
this.getBaseMapper().delEBomHistory(childParentRowIds);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.getBaseMapper().insertEBomFormalParent(exceptRowIds);
|
||||||
|
this.getBaseMapper().insertEBomFormalChild(exceptRowIds);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -84,41 +84,34 @@ public class CheckEBomException {
|
||||||
*/
|
*/
|
||||||
public void initException() {
|
public void initException() {
|
||||||
//初始化物料信息
|
//初始化物料信息
|
||||||
List<BaseMaterialVO> materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
|
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
|
||||||
|
|
||||||
checkException(materialBaseInfo);
|
|
||||||
|
|
||||||
|
checkException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initException(List<Integer> unCheckException) {
|
public void initException(List<Integer> unCheckException) {
|
||||||
//初始化物料信息
|
//初始化物料信息
|
||||||
List<BaseMaterialVO> materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
|
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
|
||||||
this.unCheckExcept=unCheckException;
|
this.unCheckExcept=unCheckException;
|
||||||
checkException(materialBaseInfo);
|
checkException();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initException(String... ignorePropertyList) {
|
public void initException(String... ignorePropertyList) {
|
||||||
List<BaseMaterialVO> materialBaseInfo = SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, ignorePropertyList);
|
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(allBomDetail, ignorePropertyList);
|
||||||
checkException(materialBaseInfo);
|
checkException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void checkException(List<BaseMaterialVO> materialBaseInfo) {
|
public void checkException() {
|
||||||
for (BomNewEbomParentVO vo : allBomDetail) {
|
for (BomNewEbomParentVO vo : allBomDetail) {
|
||||||
// if(Objects.isNull(vo.getExceptionStatus())) {
|
|
||||||
//忽略不检查的如14
|
//忽略不检查的如14
|
||||||
if (CollectionUtil.isNotEmpty(unCheckExcept)
|
if (CollectionUtil.isNotEmpty(unCheckExcept)
|
||||||
&& vo.getExceptionStatus() != null
|
&& vo.getExceptionStatus() != null
|
||||||
&& unCheckExcept.contains(vo.getExceptionStatus())) {
|
&& unCheckExcept.contains(vo.getExceptionStatus())) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// BaseMaterialVO mainVO = materialBaseInfo.stream()
|
|
||||||
// .filter(u -> StrUtil.equals(u.getMaterialNo(), vo.getMaterialNo()))
|
|
||||||
// .findFirst()
|
|
||||||
// .orElse(null);
|
|
||||||
vo.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue());
|
vo.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue());
|
||||||
// }
|
|
||||||
if (StrUtil.equals(BomConstant.PROJECT_TYPE_TEMPORARY, vo.getProjectType(), true)) {
|
if (StrUtil.equals(BomConstant.PROJECT_TYPE_TEMPORARY, vo.getProjectType(), true)) {
|
||||||
if (StrUtil.isBlank(vo.getMaterialDesc())) {
|
if (StrUtil.isBlank(vo.getMaterialDesc())) {
|
||||||
vo.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_4.getValue());
|
vo.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_4.getValue());
|
||||||
|
|
@ -137,7 +130,6 @@ public class CheckEBomException {
|
||||||
vo.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_8.getValue());
|
vo.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_8.getValue());
|
||||||
} else if ((!StrUtil.equals("KG", StringUtil.toUpperCase(vo.getMaterialUnit()))
|
} else if ((!StrUtil.equals("KG", StringUtil.toUpperCase(vo.getMaterialUnit()))
|
||||||
&& !StrUtil.equals(StringUtil.toUpperCase(vo.getMaterialUnit()), "PC"))
|
&& !StrUtil.equals(StringUtil.toUpperCase(vo.getMaterialUnit()), "PC"))
|
||||||
//|| (!Objects.isNull(mainVO) && !StrUtil.equals(vo.getMaterialUnit(), mainVO.getMaterialUnit()))) {
|
|
||||||
&& (StrUtil.isBlank(vo.getExceptionTag()) || (!vo.getExceptionTag().contains("16")) && !vo.getExceptionTag().contains("12"))
|
&& (StrUtil.isBlank(vo.getExceptionTag()) || (!vo.getExceptionTag().contains("16")) && !vo.getExceptionTag().contains("12"))
|
||||||
&& Objects.equals(vo.getSource(), EBomSourceEnum.FROM_BOM.getValue())) {
|
&& Objects.equals(vo.getSource(), EBomSourceEnum.FROM_BOM.getValue())) {
|
||||||
vo.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_12.getValue());
|
vo.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_12.getValue());
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ import com.nflg.product.bomnew.constant.*;
|
||||||
import com.nflg.product.bomnew.pojo.dto.BomNewEBomParentEditDTO;
|
import com.nflg.product.bomnew.pojo.dto.BomNewEBomParentEditDTO;
|
||||||
import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
|
import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
|
||||||
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
|
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
|
||||||
|
import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity;
|
||||||
import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO;
|
import com.nflg.product.bomnew.pojo.vo.BaseMaterialVO;
|
||||||
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO;
|
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO;
|
||||||
import com.nflg.product.bomnew.service.BomNewEbomChildService;
|
import com.nflg.product.bomnew.service.BomNewEbomChildService;
|
||||||
|
|
@ -21,6 +22,7 @@ import com.nflg.product.bomnew.service.BomNewEbomParentService;
|
||||||
import com.nflg.product.bomnew.service.MaterialMainService;
|
import com.nflg.product.bomnew.service.MaterialMainService;
|
||||||
import com.nflg.product.bomnew.service.UserRoleService;
|
import com.nflg.product.bomnew.service.UserRoleService;
|
||||||
import com.nflg.product.bomnew.util.ListCommonUtil;
|
import com.nflg.product.bomnew.util.ListCommonUtil;
|
||||||
|
import com.nflg.product.bomnew.util.MaterialshouldBomExistUtil;
|
||||||
import com.nflg.product.bomnew.util.VUtils;
|
import com.nflg.product.bomnew.util.VUtils;
|
||||||
import com.nflg.product.bomnew.util.VersionUtil;
|
import com.nflg.product.bomnew.util.VersionUtil;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
@ -75,6 +77,11 @@ public class EBomEdit {
|
||||||
parent.setStatus(EBomStatusEnum.WAIT_CHECK.getValue());
|
parent.setStatus(EBomStatusEnum.WAIT_CHECK.getValue());
|
||||||
parent.setNum(new BigDecimal(1));
|
parent.setNum(new BigDecimal(1));
|
||||||
parent.setBomExist(1);
|
parent.setBomExist(1);
|
||||||
|
MaterialMainEntity materialMainEntity = SpringUtil.getBean(MaterialMainService.class).lambdaQuery()
|
||||||
|
.eq(MaterialMainEntity::getMaterialNo, parent.getMaterialNo())
|
||||||
|
.one();
|
||||||
|
parent.setShouldBomExist(MaterialshouldBomExistUtil.checkShouldBomExist(materialMainEntity.getMaterialCategoryCode()
|
||||||
|
, materialMainEntity.getMaterialGetType()) ? 1 : 0);
|
||||||
parent.setLastVersionIs(1);
|
parent.setLastVersionIs(1);
|
||||||
parent.setEditStatus(EbomEditStatusEnum.HANDLER_CREATED.getValue());
|
parent.setEditStatus(EbomEditStatusEnum.HANDLER_CREATED.getValue());
|
||||||
parent.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue());
|
parent.setExceptionStatus(EBomExceptionStatusEnum.OK.getValue());
|
||||||
|
|
@ -132,6 +139,7 @@ public class EBomEdit {
|
||||||
parentEntity.setRootIs(parentEntity.getMaterialNo().startsWith("31") ? 1 : 0);
|
parentEntity.setRootIs(parentEntity.getMaterialNo().startsWith("31") ? 1 : 0);
|
||||||
parentEntity.setUserRootIs(1);
|
parentEntity.setUserRootIs(1);
|
||||||
parentEntity.setDeptRowId(SessionUtil.getDepartRowId());
|
parentEntity.setDeptRowId(SessionUtil.getDepartRowId());
|
||||||
|
parentEntity.setBomExist(CollUtil.isEmpty(createDTO.getDatas()) ? 0 : 1);
|
||||||
|
|
||||||
createDTO.getDatas().forEach(k -> {
|
createDTO.getDatas().forEach(k -> {
|
||||||
k.setParentRowId(parentEntity.getRowId());
|
k.setParentRowId(parentEntity.getRowId());
|
||||||
|
|
@ -274,9 +282,9 @@ public class EBomEdit {
|
||||||
throw new NflgBusinessException(STATE.Error, "parent 数据不能为空");
|
throw new NflgBusinessException(STATE.Error, "parent 数据不能为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CollUtil.isEmpty(dto.getDatas())) {
|
// if (CollUtil.isEmpty(dto.getDatas())) {
|
||||||
throw new NflgBusinessException(STATE.Error, "datas 数据不能为空");
|
// throw new NflgBusinessException(STATE.Error, "datas 数据不能为空");
|
||||||
}
|
// }
|
||||||
|
|
||||||
List<String> materialNos = dto.getDatas().stream().map(u -> u.getMaterialNo()).collect(Collectors.toList());
|
List<String> materialNos = dto.getDatas().stream().map(u -> u.getMaterialNo()).collect(Collectors.toList());
|
||||||
if(materialNos.contains(dto.getParent().getMaterialNo())){
|
if(materialNos.contains(dto.getParent().getMaterialNo())){
|
||||||
|
|
@ -356,6 +364,7 @@ public class EBomEdit {
|
||||||
parentEntity.setModifyTime(LocalDateTime.now());
|
parentEntity.setModifyTime(LocalDateTime.now());
|
||||||
}
|
}
|
||||||
parentEntity.setEditStatus(dto.getOpType());
|
parentEntity.setEditStatus(dto.getOpType());
|
||||||
|
parentEntity.setBomExist(CollUtil.isEmpty(dto.getDatas()) ? 0 : 1);
|
||||||
//提交
|
//提交
|
||||||
if (Objects.equals(dto.getOpType(), EbomEditStatusEnum.HANDLER_FINISHED.getValue())) {
|
if (Objects.equals(dto.getOpType(), EbomEditStatusEnum.HANDLER_FINISHED.getValue())) {
|
||||||
//工艺人员
|
//工艺人员
|
||||||
|
|
|
||||||
|
|
@ -511,27 +511,40 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertEBomFormalParent">
|
<insert id="insertEBomFormalParent">
|
||||||
INSERT INTO `t_bom_new_ebom_parent_formal` (`row_id`, `batch_no`, `drawing_no`, `material_no`, `order_number`, `material_name`, `material_desc`, `material_texture`, `material_unit`, `material_original_unit`, `unit_weight`, `total_weight`, `current_version`, `num`, `source`, `root_is`, `should_bom_exist`, `super_material_status`, `bom_exist`, `last_version_is`, `edit_status`, `status`, `user_root_is`, `virtrual_package_enum`, `exception_status`, `virtual_package_is`, `source_row_id`, `devise_user_code`, `devise_name`, `created_by`, `created_time`, `created_job`, `audit_time`, `audit_user_name`, `release_time`, `release_user_name`, `revert_time`, `revert_user_name`, `expire_end_time`, `convert_to_ebom_time`, `remark`, `dept_name`, `level_num`, `change_desc`, `notice_nums`, `modify_time`, `sap_state`, `sap_time`)
|
INSERT INTO `t_bom_new_ebom_parent_formal` (`row_id`, `batch_no`, `drawing_no`, `material_no`, `order_number`,
|
||||||
select `row_id`, `batch_no`, `drawing_no`, `material_no`, `order_number`, `material_name`, `material_desc`, `material_texture`, `material_unit`, `material_original_unit`, `unit_weight`, `total_weight`, `current_version`, `num`, `source`, `root_is`, `should_bom_exist`, `super_material_status`, `bom_exist`, `last_version_is`, `edit_status`, `status`, `user_root_is`, `virtrual_package_enum`, `exception_status`, `virtual_package_is`, `source_row_id`, `devise_user_code`, `devise_name`, `created_by`, `created_time`, `created_job`, `audit_time`, `audit_user_name`, `release_time`, `release_user_name`, `revert_time`, `revert_user_name`, `expire_end_time`, `convert_to_ebom_time`, `remark`, `dept_name`, `level_num`, `change_desc`, `notice_nums`, `modify_time`, `sap_state`, `sap_time` from t_bom_new_ebom_parent
|
`material_name`, `material_desc`, `material_texture`, `material_unit`, `material_original_unit`, `unit_weight`,
|
||||||
where row_id in
|
`total_weight`, `current_version`, `num`, `source`, `root_is`, `should_bom_exist`, `super_material_status`,
|
||||||
<foreach collection="parentRowIds" item="item" index="index" open="(" close=")" separator=",">
|
`bom_exist`, `last_version_is`, `edit_status`, `status`, `user_root_is`, `virtrual_package_enum`,
|
||||||
#{item}
|
`exception_status`, `virtual_package_is`, `source_row_id`, `devise_user_code`, `devise_name`, `created_by`,
|
||||||
</foreach> and row_id not in (
|
`created_time`, `created_job`, `audit_time`, `audit_user_name`, `release_time`, `release_user_name`,
|
||||||
select row_id from t_bom_new_ebom_parent_formal where row_id in
|
`revert_time`, `revert_user_name`, `expire_end_time`, `convert_to_ebom_time`, `remark`,
|
||||||
|
`dept_name`,`dept_row_id`, `level_num`, `change_desc`, `notice_nums`, `modify_time`, `sap_state`, `sap_time`)
|
||||||
|
select a.`row_id`, a.`batch_no`, a.`drawing_no`, a.`material_no`, a.`order_number`, a.`material_name`,
|
||||||
|
a.`material_desc`, a.`material_texture`, a.`material_unit`, a.`material_original_unit`, a.`unit_weight`,
|
||||||
|
a.`total_weight`, a.`current_version`, a.`num`, a.`source`, a.`root_is`, a.`should_bom_exist`,
|
||||||
|
a.`super_material_status`, a.`bom_exist`, a.`last_version_is`, a.`edit_status`, a.`status`, a.`user_root_is`,
|
||||||
|
a.`virtrual_package_enum`, a.`exception_status`, a.`virtual_package_is`, a.`source_row_id`,
|
||||||
|
a.`devise_user_code`, a.`devise_name`, a.`created_by`, a.`created_time`, a.`created_job`, a.`audit_time`,
|
||||||
|
a.`audit_user_name`, a.`release_time`, a.`release_user_name`, a.`revert_time`, a.`revert_user_name`,
|
||||||
|
a.`expire_end_time`, a.`convert_to_ebom_time`, a.`remark`, a.`dept_name`,`dept_row_id`, a.`level_num`,
|
||||||
|
a.`change_desc`, a.`notice_nums`, a.`modify_time`, a.`sap_state`, a.`sap_time`
|
||||||
|
from t_bom_new_ebom_parent a
|
||||||
|
left join t_bom_new_ebom_parent_formal b on a.row_id = b.row_id
|
||||||
|
where a.row_id in
|
||||||
<foreach collection="parentRowIds" item="item" index="index" open="(" close=")" separator=",">
|
<foreach collection="parentRowIds" item="item" index="index" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
)
|
and b.row_id is null
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<insert id="insertEBomFormalChild">
|
<insert id="insertEBomFormalChild">
|
||||||
INSERT INTO `t_bom_new_ebom_child_formal` (`row_id`, `parent_row_id`, `identity_no`, `order_number`, `drawing_no`, `material_no`, `material_name`, `material_desc`, `material_texture`, `material_unit`, `material_category_code`, `unit_weight`, `num`, `total_weight`, `project_type`, `project_type_input_type`, `created_by`, `virtual_part_is`, `created_time`, `modify_time`, `edit_status`, `exception_status`, `source`, `source_row_id`, `remark`, `virtual_part_type`, `virtual_part_root_material_no`, `bom_version_row_id`)
|
INSERT INTO `t_bom_new_ebom_child_formal` (`row_id`, `parent_row_id`, `identity_no`, `order_number`, `drawing_no`, `material_no`, `material_name`, `material_desc`, `material_texture`, `material_unit`, `material_category_code`, `unit_weight`, `num`, `total_weight`, `project_type`, `project_type_input_type`, `created_by`, `virtual_part_is`, `created_time`, `modify_time`, `edit_status`, `exception_status`, `source`, `source_row_id`, `remark`, `virtual_part_type`, `virtual_part_root_material_no`, `bom_version_row_id`)
|
||||||
select `row_id`, `parent_row_id`, `identity_no`, `order_number`, `drawing_no`, `material_no`, `material_name`, `material_desc`, `material_texture`, `material_unit`, `material_category_code`, `unit_weight`, `num`, `total_weight`, `project_type`, `project_type_input_type`, `created_by`, `virtual_part_is`, `created_time`, `modify_time`, `edit_status`, `exception_status`, `source`, `source_row_id`, `remark`, `virtual_part_type`, `virtual_part_root_material_no`, `bom_version_row_id`
|
select `row_id`, `parent_row_id`, `identity_no`, `order_number`, `drawing_no`, `material_no`, `material_name`, `material_desc`, `material_texture`, `material_unit`, `material_category_code`, `unit_weight`, `num`, `total_weight`, `project_type`, `project_type_input_type`, `created_by`, `virtual_part_is`, `created_time`, `modify_time`, `edit_status`, `exception_status`, `source`, `source_row_id`, `remark`, `virtual_part_type`, `virtual_part_root_material_no`, `bom_version_row_id`
|
||||||
from t_bom_new_ebom_child
|
from t_bom_new_ebom_child a
|
||||||
where parent_row_id in
|
where parent_row_id in
|
||||||
<foreach collection="parentRowIds" item="parentRowId" open="(" separator="," close=")">
|
<foreach collection="parentRowIds" item="parentRowId" open="(" separator="," close=")">
|
||||||
#{parentRowId}
|
#{parentRowId}
|
||||||
</foreach> and row_id not in (
|
</foreach> and parent_row_id not in(
|
||||||
select row_id from t_bom_new_ebom_parent_formal where row_id in
|
select row_id from t_bom_new_ebom_parent_formal where row_id in
|
||||||
<foreach collection="parentRowIds" item="item" index="index" open="(" close=")" separator=",">
|
<foreach collection="parentRowIds" item="item" index="index" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.nflg.product.base.core.exception;
|
package com.nflg.product.base.core.exception;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import nflg.product.common.constant.STATE;
|
import nflg.product.common.constant.STATE;
|
||||||
import nflg.product.common.vo.ResultVO;
|
import nflg.product.common.vo.ResultVO;
|
||||||
|
|
@ -51,7 +52,7 @@ public class BaseGlobalExceptionHandle {
|
||||||
public ResultVO<String> handleDuplicateKeyException(DuplicateKeyException e) {
|
public ResultVO<String> handleDuplicateKeyException(DuplicateKeyException e) {
|
||||||
log.error(e.getMessage(), e);
|
log.error(e.getMessage(), e);
|
||||||
//return ResultVO.error("已存在该记录,请勿重复操作");
|
//return ResultVO.error("已存在该记录,请勿重复操作");
|
||||||
return ResultVO.error("已存在该记录,请勿重复操作");
|
return ResultVO.error("数据库存在重复数据");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -59,8 +60,11 @@ public class BaseGlobalExceptionHandle {
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public ResultVO<String> handleException(Exception e) {
|
public ResultVO<String> handleException(Exception e) {
|
||||||
log.error(e.getMessage(), e);
|
log.error(e.getMessage(), e);
|
||||||
//return ResultVO.error("操作失败,请联系系统管理员");
|
if (StrUtil.isNotBlank(e.getMessage()) && e.getMessage().contains("Deadlock")) {
|
||||||
return ResultVO.error("操作失败,请联系系统管理员");
|
return ResultVO.error("操作失败,请重试");
|
||||||
|
} else {
|
||||||
|
return ResultVO.error("操作失败,请联系系统管理员");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue