Merge remote-tracking branch 'origin/feature/DM/nflg-bom' into feature/DM/nflg-bom
# Conflicts: # nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java
This commit is contained in:
commit
461692daf0
|
|
@ -23,4 +23,7 @@ public class BomNewEBomRevertDTO {
|
|||
|
||||
@ApiModelProperty("必填,行id列表")
|
||||
private List<Long> rowIdList;
|
||||
@ApiModelProperty("退回描述")
|
||||
private String revertDesc;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -296,6 +296,11 @@ public class BomNewEbomParentEntity implements Serializable {
|
|||
@ApiModelProperty(value = "退回人")
|
||||
private String revertUserName;
|
||||
|
||||
@TableField(value = "revert_desc")
|
||||
@ApiModelProperty(value = "退回原因")
|
||||
private String revertDesc;
|
||||
|
||||
|
||||
/**
|
||||
* 版本过期时间=下个版本的创建时间
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1130,43 +1130,44 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
|
|||
throw new NflgBusinessException(STATE.BusinessError, StrUtil.format("物料编号 {} 状态为已发布PBOM,无法退回设计", StrUtil.join(",", materialNoList)));
|
||||
|
||||
}
|
||||
|
||||
revertList.clear();
|
||||
//忽略叶子节点 和 工艺人员
|
||||
revertList.addAll(bomTreeList.stream()
|
||||
.filter(u -> u.getBomRowId() > 0 && !Objects.equals(UserJobEnum.ENGINEER.getValue(),u.getCreatedJob()))
|
||||
.map(BomNewEbomParentVO::getBomRowId).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
|
||||
if (CollectionUtil.isNotEmpty(revertList)) {
|
||||
//parent表状态
|
||||
UpdateWrapper<BomNewEbomParentEntity> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.lambda()
|
||||
.set(BomNewEbomParentEntity::getRevertTime, LocalDateTime.now())
|
||||
.set(BomNewEbomParentEntity::getRevertUserName, SessionUtil.getUserName())
|
||||
.set(BomNewEbomParentEntity::getStatus, EBomStatusEnum.RETURNED.getValue())
|
||||
.set(BomNewEbomParentEntity::getEditStatus, EbomEditStatusEnum.HANDLER_CREATED.getValue())
|
||||
.in(BomNewEbomParentEntity::getRowId, revertList);
|
||||
|
||||
//child 表状态
|
||||
UpdateWrapper<BomNewEbomChildEntity> childWrapper = new UpdateWrapper<>();
|
||||
childWrapper.lambda()
|
||||
.set(BomNewEbomChildEntity::getModifyTime, LocalDateTime.now())
|
||||
.set(BomNewEbomChildEntity::getEditStatus, EbomEditStatusEnum.HANDLER_CREATED.getValue())
|
||||
.in(BomNewEbomChildEntity::getParentRowId, revertList);
|
||||
if (CollectionUtil.isNotEmpty(revertList)) {
|
||||
//parent表状态
|
||||
UpdateWrapper<BomNewEbomParentEntity> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.lambda()
|
||||
.set(BomNewEbomParentEntity::getRevertTime, LocalDateTime.now())
|
||||
.set(BomNewEbomParentEntity::getRevertUserName, SessionUtil.getUserName())
|
||||
.set(BomNewEbomParentEntity::getRevertDesc,dto.getRevertDesc())
|
||||
.set(BomNewEbomParentEntity::getStatus, EBomStatusEnum.RETURNED.getValue())
|
||||
.set(BomNewEbomParentEntity::getEditStatus, EbomEditStatusEnum.HANDLER_CREATED.getValue())
|
||||
.in(BomNewEbomParentEntity::getRowId, revertList);
|
||||
|
||||
//child 表状态
|
||||
UpdateWrapper<BomNewEbomChildEntity> childWrapper = new UpdateWrapper<>();
|
||||
childWrapper.lambda()
|
||||
.set(BomNewEbomChildEntity::getModifyTime, LocalDateTime.now())
|
||||
.set(BomNewEbomChildEntity::getEditStatus, EbomEditStatusEnum.HANDLER_CREATED.getValue())
|
||||
.in(BomNewEbomChildEntity::getParentRowId, revertList);
|
||||
|
||||
this.update(updateWrapper );
|
||||
ebomChildService.update(childWrapper) ;
|
||||
|
||||
this.update(updateWrapper );
|
||||
if (!ebomChildService.update(childWrapper)) {
|
||||
throw new NflgBusinessException(STATE.Error, "退回设计失败");
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
VUtils.isTure(true).throwMessage("没有需要退回设计的物料");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1185,7 +1186,7 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
|
|||
|
||||
List<Long> rowIds = dto.getRowIdList();
|
||||
|
||||
List<BomNewEbomParentEntity> bomNewEbomParentEntityList = this.lambdaQuery().in(BomNewEbomParentEntity::getUserRootIs, rowIds).eq(BomNewEbomParentEntity::getUserRootIs, 1).list();
|
||||
List<BomNewEbomParentEntity> bomNewEbomParentEntityList = this.lambdaQuery().in(BomNewEbomParentEntity::getRowId, rowIds).eq(BomNewEbomParentEntity::getUserRootIs, 1).list();
|
||||
|
||||
if (CollUtil.isEmpty(bomNewEbomParentEntityList)) {
|
||||
// return ResultVO.error("下级BOM无法进行复核");
|
||||
|
|
@ -1471,13 +1472,13 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
|
|||
QueryWrapper<BomNewEbomParentEntity> queryWrapper=new QueryWrapper<>();
|
||||
|
||||
queryWrapper.lambda() .eq(BomNewEbomParentEntity::getRowId, bomRowId)
|
||||
.eq(BomNewEbomParentEntity::getRootIs, 1);
|
||||
.eq(BomNewEbomParentEntity::getUserRootIs, 1);
|
||||
|
||||
BomNewEbomParentEntity parentEntity = this.getBaseMapper().selectOne(queryWrapper);
|
||||
|
||||
LogRecordContext.putVariable("bom", parentEntity);
|
||||
|
||||
VUtils.isTure(Objects.isNull(parentEntity)).throwMessage("该节点不存在,请检查参数是否正确");
|
||||
VUtils.isTure(Objects.isNull(parentEntity)).throwMessage("选择节点不是顶层");
|
||||
|
||||
//设计人员只能删自己
|
||||
checkUserRoleAuth(parentEntity.getCreatedBy());
|
||||
|
|
@ -1486,9 +1487,10 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
|
|||
// }
|
||||
|
||||
//待复核和已退回才能删除
|
||||
VUtils.isTure(parentEntity.getStatus().equals(EBomStatusEnum.WAIT_CHECK.getValue())
|
||||
|| parentEntity.getStatus().equals(EBomStatusEnum.RETURNED.getValue()))
|
||||
.throwMessage(EBomStatusEnum.findByValue(parentEntity.getStatus()).getDescription() + "状态不能删除");
|
||||
// VUtils.isTure(!(parentEntity.getStatus().equals(EBomStatusEnum.WAIT_CHECK.getValue())
|
||||
// || parentEntity.getStatus().equals(EBomStatusEnum.RETURNED.getValue())))
|
||||
// .throwMessage(EBomStatusEnum.findByValue(parentEntity.getStatus()).getDescription() + "状态不能删除");
|
||||
|
||||
|
||||
EBomDel eBomDel = new EBomDel(bomRowId);
|
||||
eBomDel.classifyBom();
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public class EBomDel {
|
|||
|
||||
//设计人员: 自己创建的直接删除
|
||||
//工艺岗位,只能删除自己在EBOM中创建的数据
|
||||
// 原始bom导入过来的只能 设计人员自己删,工艺不能删
|
||||
// 原始bom导入过来的只能 设计人员自己删,工艺不能删;双角色可以删自己数据
|
||||
//设计人员在Ebom中创建的数据 工艺人员可以删除?
|
||||
if(roleList.contains(EBomConstant.DESIGNER)){
|
||||
delEBom = bomTreeAll.stream().filter(u -> u.getBomRowId() > 0
|
||||
|
|
@ -62,7 +62,7 @@ public class EBomDel {
|
|||
|
||||
|
||||
//借用件不能删除,原始bom转换只能删自己
|
||||
if(roleList.contains(EBomConstant.DESIGNER)){
|
||||
// if(roleList.contains(EBomConstant.DESIGNER)){
|
||||
revertOBom = bomTreeAll.stream().filter(u -> u.getBomRowId() > 0
|
||||
&& (u.getSource().equals(EBomSourceEnum.FROM_BOM.getValue())
|
||||
&& u.getCreatedBy().equals(SessionUtil.getUserCode())
|
||||
|
|
@ -72,7 +72,7 @@ public class EBomDel {
|
|||
if (CollectionUtil.isNotEmpty(revertOBom)) {
|
||||
delEBom.addAll(revertOBom);
|
||||
}
|
||||
}
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -81,11 +81,16 @@ public class EBomEdit {
|
|||
parent.setStatus(SpringUtil.getBean(UserRoleService.class).technician() ? EBomStatusEnum.CHECKED.getValue() : EBomStatusEnum.WAIT_CHECK.getValue());
|
||||
parent.setCreatedJob(SpringUtil.getBean(UserRoleService.class).technician() ? UserJobEnum.ENGINEER.getValue() : UserJobEnum.DESIGNER.getValue());
|
||||
|
||||
|
||||
parent.setCreatedTime(LocalDateTime.now());
|
||||
parent.setModifyTime(LocalDateTime.now());
|
||||
|
||||
parent.setExpireEndTime( LocalDateTime.parse("9999-12-31 23:59:59", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") ));
|
||||
|
||||
|
||||
Integer rootIs =SpringUtil.getBean(BomNewEbomParentService.class).getBaseMapper().checkIsRoot(parent.getMaterialNo());
|
||||
Integer userRootIs = SpringUtil.getBean(BomNewEbomParentService.class).getBaseMapper().checkIsUserRoot(parent.getMaterialNo(), parent.getCreatedBy());
|
||||
parent.setRootIs(rootIs);
|
||||
parent.setUserRootIs(userRootIs);
|
||||
return parent;
|
||||
}
|
||||
|
||||
|
|
@ -102,13 +107,11 @@ public class EBomEdit {
|
|||
|
||||
void createRootBom(BomNewEBomParentEditDTO createDTO) {
|
||||
|
||||
checkHadBom(createDTO.getParent().getMaterialNo());
|
||||
// checkHadBom(createDTO.getParent().getMaterialNo());
|
||||
|
||||
parentEntity = createParentBomInfo(createDTO.getParent());
|
||||
parentEntity.setEditStatus(createDTO.getOpType());
|
||||
|
||||
parentEntity.setRootIs(1);
|
||||
parentEntity.setUserRootIs(1);
|
||||
createDTO.getDatas().forEach(k -> {
|
||||
k.setParentRowId(parentEntity.getRowId());
|
||||
});
|
||||
|
|
@ -288,7 +291,7 @@ public class EBomEdit {
|
|||
//缺bom
|
||||
if (dto.getParent().getBomRowId() == null || dto.getParent().getBomRowId().longValue() == 0) {
|
||||
|
||||
checkHadBom(dto.getParent().getMaterialNo());
|
||||
// checkHadBom(dto.getParent().getMaterialNo());
|
||||
dto.getParent().setBomRowId(dto.getParent().getRowId());
|
||||
parentEntity = createParentBomInfo(dto.getParent());
|
||||
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ public abstract class VirtualPackageBase {
|
|||
return ent;
|
||||
}
|
||||
|
||||
protected BomNewEbomParentEntity buildParentVirtualPackage(Long rowId,VirtualPackageTypeEnum virtualPackageTypeEnum) throws IOException {
|
||||
protected BomNewEbomParentEntity buildParentVirtualPackage(Long rowId,VirtualPackageTypeEnum virtualPackageTypeEnum ,String orderNum) throws IOException {
|
||||
|
||||
AddVirtrualMaterialDTO addM = vMNos.get(StrUtil.join("",rowId,virtualPackageTypeEnum.getConMaterialName()));
|
||||
BomNewEbomParentEntity oldParent= SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery()
|
||||
|
|
@ -141,7 +141,7 @@ public abstract class VirtualPackageBase {
|
|||
// String materialNo = SpringUtil.getBean(MaterialService.class).addMaterial(drawingNo, vMaterialName,materialDesc, virtualPackageType.getMaterialCategoryCode());
|
||||
BomNewEbomParentEntity parent =new BomNewEbomParentEntity();
|
||||
parent.setRowId(IdWorker.getId());
|
||||
parent.setOrderNumber("001");
|
||||
parent.setOrderNumber(StrUtil.isNotBlank(orderNum) ? StrUtil.padPre(orderNum,3,"0"):"001");
|
||||
parent.setDrawingNo(addM.getDrawingNo() );
|
||||
parent.setMaterialNo(addM.getMaterialNo());
|
||||
parent.setMaterialName(addM.getMaterialName());
|
||||
|
|
|
|||
|
|
@ -50,9 +50,9 @@ public class VirtualPackageFor21 extends VirtualPackageBase {
|
|||
BomNewEbomParentEntity makingPackage=null;
|
||||
if((parent.getVirtrualPackageEnum()| VirtualPackageTypeEnum.MAKING_PACKAGE.getValue())!=VirtualPackageTypeEnum.MAKING_PACKAGE.getValue()) {
|
||||
//构建构建发货包下制作包
|
||||
makingPackage = buildParentVirtualPackage( parent.getRowId(), VirtualPackageTypeEnum.MAKING_PACKAGE);
|
||||
makingPackage = buildParentVirtualPackage( parent.getRowId(), VirtualPackageTypeEnum.MAKING_PACKAGE,parent.getOrderNumber());
|
||||
//构建构建发货包下直发
|
||||
BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE);
|
||||
BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,parent.getOrderNumber());
|
||||
//构建产品-子级为制作包合直发包
|
||||
buildChild(makingPackage, bomRowId, "001", VirtualPackageTypeEnum.MAKING_PACKAGE,parent.getMaterialNo());
|
||||
buildChild(directDeliveryPackage, bomRowId, "002", VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,parent.getMaterialNo());
|
||||
|
|
@ -63,7 +63,7 @@ public class VirtualPackageFor21 extends VirtualPackageBase {
|
|||
if(Objects.isNull(makingPackage)){
|
||||
makingPackage=getParentZhiZuo();
|
||||
}
|
||||
BomNewEbomParentEntity preAssemblyPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE);
|
||||
BomNewEbomParentEntity preAssemblyPackage = buildParentVirtualPackage(parent.getRowId(), VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE,parent.getOrderNumber());
|
||||
buildChild(preAssemblyPackage, makingPackage.getRowId(), "001", VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE,parent.getMaterialNo());
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,11 +62,11 @@ public class VirtualPackageFor31 extends VirtualPackageBase {
|
|||
BomNewEbomParentEntity makingPackage=null;
|
||||
if((VirtualPackageTypeEnum.DELIVERY_PACKAGE.getValue()&parent.getVirtrualPackageEnum())!=VirtualPackageTypeEnum.DELIVERY_PACKAGE.getValue()) {
|
||||
//构建发货包
|
||||
BomNewEbomParentEntity deliveryPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.DELIVERY_PACKAGE);
|
||||
BomNewEbomParentEntity deliveryPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.DELIVERY_PACKAGE,item.getOrderNumber());
|
||||
//构建构建发货包下制作包
|
||||
makingPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.MAKING_PACKAGE);
|
||||
makingPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.MAKING_PACKAGE,item.getOrderNumber());
|
||||
//构建构建发货包下直发
|
||||
BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE);
|
||||
BomNewEbomParentEntity directDeliveryPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE,item.getOrderNumber());
|
||||
|
||||
//构建-产品下发货包-子级
|
||||
buildChild(deliveryPackage, bomRowId, "001", VirtualPackageTypeEnum.DELIVERY_PACKAGE,parent.getMaterialNo());
|
||||
|
|
@ -82,7 +82,7 @@ public class VirtualPackageFor31 extends VirtualPackageBase {
|
|||
}
|
||||
// 包含发货前装配包
|
||||
if (virtualPackageValue.contains(VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()) && (VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue() & parent.getVirtrualPackageEnum()) != VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.getValue()) {
|
||||
BomNewEbomParentEntity preAssemblyPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE);
|
||||
BomNewEbomParentEntity preAssemblyPackage = buildParentVirtualPackage(item.getRowId(), VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE,item.getOrderNumber());
|
||||
//构建构建发货前装配包
|
||||
if(Objects.isNull(makingPackage)){
|
||||
makingPackage=getParentZhiZuo();
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.nflg.product.bomnew.service.domain.PBom;
|
|||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.nflg.product.bomnew.constant.EBomConstant;
|
||||
import com.nflg.product.bomnew.constant.ProductionFactoryCodeInputTypeEnum;
|
||||
import com.nflg.product.bomnew.constant.VirtualPackageTypeEnum;
|
||||
|
|
@ -121,12 +122,12 @@ public class ConvertToMBom1020 extends ConvertToMBomBase{
|
|||
private void initFac1020Info(List<ConvertToMBomDTO> childBomTree) {
|
||||
|
||||
for (ConvertToMBomDTO item : childBomTree) {
|
||||
item.setMaterialName(item.getMaterialName() + EBomConstant.XIAN_TAO_FACTORY_Name_1020);
|
||||
item.setMaterialName(handlerMaterialNameFor1020(item.getMaterialName(), EBomConstant.XIAN_TAO_FACTORY_Name_1020) );
|
||||
item.setProductionFactoryCode(EBomConstant.XIAN_TAO_FACTORY_CODE_1020);
|
||||
|
||||
item.setProductionFactoryCodeInputType(ProductionFactoryCodeInputTypeEnum.DEFAULT.getValue());
|
||||
for (ConvertToMBomDTO itemChild : item.getChildNodes()) {
|
||||
itemChild.setMaterialName(itemChild.getMaterialName() + EBomConstant.XIAN_TAO_FACTORY_Name_1020);
|
||||
itemChild.setMaterialName(handlerMaterialNameFor1020(itemChild.getMaterialName(), EBomConstant.XIAN_TAO_FACTORY_Name_1020) );
|
||||
itemChild.setProductionFactoryCode(EBomConstant.XIAN_TAO_FACTORY_CODE_1020);
|
||||
|
||||
itemChild.setProductionFactoryCodeInputType(ProductionFactoryCodeInputTypeEnum.DEFAULT.getValue());
|
||||
|
|
@ -134,6 +135,17 @@ public class ConvertToMBom1020 extends ConvertToMBomBase{
|
|||
}
|
||||
}
|
||||
|
||||
private String handlerMaterialNameFor1020(String materialName , String facName){
|
||||
List<String> nameComp = VUtils.extractMessageByRegular(materialName);
|
||||
if(CollUtil.isNotEmpty(nameComp) && nameComp.size()>=3){
|
||||
return StrUtil.join("","(", nameComp.get(0) ,")", "(", nameComp.get(1), facName,")", "(",nameComp.get(2), ")" );
|
||||
}
|
||||
return materialName+facName;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 处理一般材料(提层)
|
||||
*
|
||||
|
|
|
|||
|
|
@ -7,7 +7,10 @@ import com.nflg.product.bomnew.inteface.ThrowExceptionFunction;
|
|||
import com.nflg.product.bomnew.inteface.TrueHandleFunction;
|
||||
import nflg.product.common.constant.STATE;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* @author 大米
|
||||
|
|
@ -69,4 +72,21 @@ public class VUtils {
|
|||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用正则表达式提取圆括号中的内容
|
||||
* @param msg 输入的包含括号内容的字符串
|
||||
* @return 包含所有括号内内容的列表
|
||||
*/
|
||||
public static List<String> extractMessageByRegular(String msg) {
|
||||
List<String> list = new ArrayList<>();
|
||||
// 使用正则表达式匹配任意非括号字符组成的括号内的内容
|
||||
Pattern pattern = Pattern.compile("\\(([^()]*)\\)");
|
||||
Matcher matcher = pattern.matcher(msg);
|
||||
|
||||
while (matcher.find()) {
|
||||
list.add(matcher.group(1)); // group(1) 是第一个括号表达式匹配的内容
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@
|
|||
<result column="audit_user_name" property="auditUserName" jdbcType="VARCHAR"/>
|
||||
<result column="release_time" property="releaseTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="release_user_name" property="releaseUserName" jdbcType="VARCHAR"/>
|
||||
<result column="revert_desc" property="revertDesc" jdbcType="VARCHAR"/>
|
||||
|
||||
<result column="revert_time" property="revertTime" jdbcType="TIMESTAMP"/>
|
||||
<result column="revert_user_name" property="revertUserName" jdbcType="VARCHAR"/>
|
||||
<result column="expire_end_time" property="expireEndTime" jdbcType="TIMESTAMP"/>
|
||||
|
|
@ -59,7 +61,7 @@
|
|||
status, user_root_is, 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
|
||||
notice_nums, modify_time,revert_desc
|
||||
</sql>
|
||||
|
||||
<sql id="whr">
|
||||
|
|
|
|||
Loading…
Reference in New Issue