Merge remote-tracking branch 'origin/master-hlq-20240925material'
This commit is contained in:
commit
acf1ab3795
|
|
@ -403,6 +403,18 @@ public class MaterialMainApi extends BaseApi {
|
|||
return materialMainService.updateProjectType(paramDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
* 申请人才允许更新
|
||||
* @param paramDto
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("updateGeneralLevel")
|
||||
@ApiOperation("更新通用程度")
|
||||
public ResultVO<String> updateGeneralLevel(@RequestBody MaterialMainDTO paramDto) {
|
||||
return materialMainService.updateGeneralLevel(paramDto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 手动执行计算推荐度
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
package com.nflg.product.material.api.user.material;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.nflg.product.base.core.api.BaseApi;
|
||||
import com.nflg.product.base.core.exception.NflgBusinessException;
|
||||
import com.nflg.product.material.pojo.dto.MaterialStateUpExcelDTO;
|
||||
import com.nflg.product.material.pojo.dto.MaterialUpdateBillDTO;
|
||||
import com.nflg.product.material.pojo.dto.TwentyMaterialTemplateExcelDTO;
|
||||
import com.nflg.product.material.pojo.entity.MaterialAttrValueI18nEntity;
|
||||
import com.nflg.product.material.pojo.entity.MaterialUpdateBillEntity;
|
||||
import com.nflg.product.material.pojo.entity.MaterialUpdateImportTaskEntity;
|
||||
import com.nflg.product.material.pojo.query.MaterialUpdateBillQuery;
|
||||
|
|
@ -198,4 +201,27 @@ public class MaterialUpdateBillApi extends BaseApi {
|
|||
public ResultVO<List<MaterialUpdateImportTaskEntity>> getMaterialUpdateImportTaskList() {
|
||||
return ResultVO.success(materialUpdateBillService.getMaterialUpdateImportTaskList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取制作物料名称国际化表
|
||||
* @param
|
||||
*/
|
||||
@GetMapping("getI18nForUpdate")
|
||||
@ApiOperation("获取制作物料名称国际化表")
|
||||
public ResultVO<MaterialAttrValueI18nEntity> materialUpdateBillService(@RequestParam("attrValueCn") String attrValueCn, @RequestParam("type") String type) {
|
||||
return materialUpdateBillService.materialUpdateBillService(attrValueCn, type);
|
||||
}
|
||||
|
||||
@GetMapping("getCurrentUpdateReason")
|
||||
@ApiOperation("获取最近一次变更情况")
|
||||
public ResultVO<MaterialUpdateBillVO> getCurrentUpdateReason(@RequestParam("materialNo") String materialNo) {
|
||||
List<MaterialUpdateBillEntity> list = materialUpdateBillService.lambdaQuery()
|
||||
.eq(MaterialUpdateBillEntity::getMaterialNo, materialNo)
|
||||
.orderByDesc(MaterialUpdateBillEntity::getCreatedTime)
|
||||
.list();
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
return ResultVO.success(Convert.convert(MaterialUpdateBillVO.class, list.get(0)));
|
||||
}
|
||||
return ResultVO.success();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -190,5 +190,11 @@ public class MaterialMainDTO implements Serializable {
|
|||
@ApiModelProperty(value = "申请部门")
|
||||
private String applyDeptName;
|
||||
|
||||
/**
|
||||
* 通用程度
|
||||
*/
|
||||
@ApiModelProperty("通用程度")
|
||||
private String generalLevel;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -369,6 +369,13 @@ public class MaterialMainEntity implements Serializable {
|
|||
@ApiModelProperty(value = "近两年使用量(新)")
|
||||
private BigDecimal twoYearsUsage;
|
||||
|
||||
/**
|
||||
* 通用程度
|
||||
*/
|
||||
@TableField(value = "general_level")
|
||||
@ApiModelProperty("通用程度")
|
||||
private String generalLevel;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.nflg.product.material.pojo.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.nflg.product.material.pojo.dto.MaterialMainAttrDTO;
|
||||
import com.nflg.product.material.pojo.entity.MaterialFilesEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
|
|
@ -12,6 +13,7 @@ import org.ttzero.excel.annotation.ExcelColumn;
|
|||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -438,4 +440,49 @@ public class MaterialMainVO implements Serializable {
|
|||
*/
|
||||
@ApiModelProperty(value = "项目类别")
|
||||
private String projectType;
|
||||
|
||||
/**
|
||||
* 通用程度
|
||||
*/
|
||||
@ApiModelProperty("通用程度")
|
||||
private String generalLevel;
|
||||
|
||||
// 变更弹窗字段 start
|
||||
/**
|
||||
* 变更人
|
||||
*/
|
||||
@ApiModelProperty(value = "变更人")
|
||||
private String updateCreatedByName;
|
||||
|
||||
/**
|
||||
* 变更部门
|
||||
*/
|
||||
@ApiModelProperty(value = "变更部门")
|
||||
private String updateApplyDeptName;
|
||||
|
||||
/**
|
||||
* 申请变更时间
|
||||
*/
|
||||
@ApiModelProperty(value = "申请变更时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateCreatedTime;
|
||||
|
||||
/**
|
||||
* 变更生效时间
|
||||
*/
|
||||
@ApiModelProperty(value = "变更生效时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateEffectTime;
|
||||
|
||||
/**
|
||||
* 旧物料状态 1:正常 2:禁止采购 3:售后专用 4:冻结 5:完全弃用
|
||||
*/
|
||||
@ApiModelProperty(value = "旧物料状态 1:正常(激活) 2:禁止采购 3:售后专用 4:禁用(冻结) 5:完全弃用")
|
||||
@ExcelColumn("旧物料状态 1:禁用 0:启用")
|
||||
private Integer oldMaterialState;
|
||||
|
||||
@ApiModelProperty(value = "旧物料状态名称")
|
||||
@ExcelColumn("旧物料状态名称")
|
||||
private Integer oldMaterialStateName;
|
||||
// 变更弹窗字段 end
|
||||
}
|
||||
|
|
|
|||
|
|
@ -238,8 +238,8 @@ public class MaterialExcelService {
|
|||
throw new NflgBusinessException(STATE.ParamErr, StrUtil.join(",", diff).concat("分类代码在系统中不存在"));
|
||||
}
|
||||
|
||||
// 校验项目类别
|
||||
checkProjectType(datas);
|
||||
// // 校验项目类别
|
||||
// checkProjectType(datas);
|
||||
|
||||
//验证21 物料
|
||||
check21Droring(datas);
|
||||
|
|
@ -558,7 +558,7 @@ public class MaterialExcelService {
|
|||
|
||||
// 11、51 && 一次性物料,新申请,则运算起始时间为申请日期一年之后
|
||||
if ((materialCategoryCode.startsWith("10") || materialCategoryCode.startsWith("50"))
|
||||
&& to.getReuseOfOnceState() == 1) {
|
||||
&& ObjectUtil.isNotEmpty(to.getReuseOfOnceState()) && to.getReuseOfOnceState() == 1) {
|
||||
Date startDate = Date.from(LocalDate.now().plusYears(1L).atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
|
||||
to.setFreezeCalcStart(startDate);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1325,10 +1325,10 @@ public class MaterialMainService extends ServiceImpl<MaterialMainMapper, Materia
|
|||
}
|
||||
}
|
||||
|
||||
ResultVO<String> projectTypeResult = checkProjectType(materialCategoryEntity.getRelCategoryCode(), paramDto);
|
||||
if (Objects.nonNull(projectTypeResult)) {
|
||||
return projectTypeResult;
|
||||
}
|
||||
// ResultVO<String> projectTypeResult = checkProjectType(materialCategoryEntity.getRelCategoryCode(), paramDto);
|
||||
// if (Objects.nonNull(projectTypeResult)) {
|
||||
// return projectTypeResult;
|
||||
// }
|
||||
|
||||
// 工具工装,只验证图号是否重名,不验证前缀
|
||||
if (materialCategoryEntity.getRelCategoryCode().equals(MaterialRelCategoryCodeEnum.relCategoryCode_71.getRelCategoryCode())) {
|
||||
|
|
@ -1602,7 +1602,7 @@ public class MaterialMainService extends ServiceImpl<MaterialMainMapper, Materia
|
|||
}
|
||||
|
||||
MaterialCategoryEntity materialCategoryEntity = materialCategoryService.lambdaQuery().eq(MaterialCategoryEntity::getCategoryCode, paramDto.getMaterialCategoryCode()).one();
|
||||
checkProjectType(materialCategoryEntity.getRelCategoryCode(), paramDto);
|
||||
// checkProjectType(materialCategoryEntity.getRelCategoryCode(), paramDto);
|
||||
|
||||
//效验21物料图片
|
||||
check21And31DrawingNo(paramDto, paramDto.getRowId());
|
||||
|
|
@ -1914,7 +1914,7 @@ public class MaterialMainService extends ServiceImpl<MaterialMainMapper, Materia
|
|||
sql2 = sql2.concat("( select matnr, max(BEDAT) maxBEDAT from SAPABAP1.\"/BIC/AZSD_E00042\" where 1=1 and matnr in (").concat(whrMaterials).concat(")").concat(" and BSART = 'NB' ");
|
||||
sql2 = sql2.concat("group by matnr ) a");
|
||||
sql2 = sql2.concat(" left join");
|
||||
sql2 = sql2.concat(" ( select matnr, BEDAT,BRTWR,MENGE,PEINH , case when MENGE = 0 or PEINH = 0 then 0 else BRTWR/(MENGE*PEINH) end as purPrice from SAPABAP1.\"/BIC/AZSD_E00042\" where 1=1 and matnr in (").concat(whrMaterials).concat(") and BSART = 'NB' )b");
|
||||
sql2 = sql2.concat(" ( select matnr, BEDAT,BRTWR,MENGE,PEINH , case when MENGE = 0 or PEINH = 0 then 0 else BRTWR/MENGE end as purPrice from SAPABAP1.\"/BIC/AZSD_E00042\" where 1=1 and matnr in (").concat(whrMaterials).concat(") and BSART = 'NB' )b");
|
||||
sql2 = sql2.concat(" on a.matnr = b.matnr and a.maxBEDAT = b.BEDAT");
|
||||
|
||||
log.info("获取SAP最近采购价格");
|
||||
|
|
@ -2335,6 +2335,24 @@ public class MaterialMainService extends ServiceImpl<MaterialMainMapper, Materia
|
|||
return ResultVO.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新通用程度
|
||||
* 申请人才允许更新
|
||||
* @param paramDto
|
||||
* @return
|
||||
*/
|
||||
public ResultVO<String> updateGeneralLevel(MaterialMainDTO paramDto) {
|
||||
// 暂且和更新项目类别权限一致
|
||||
if (!checkUpdateProjectTypeByDept(paramDto)) {
|
||||
return ResultVO.error("无法更新本部门外申请物料的通用程度");
|
||||
}
|
||||
MaterialMainEntity entity = new MaterialMainEntity();
|
||||
entity.setRowId(paramDto.getRowId());
|
||||
entity.setGeneralLevel(paramDto.getGeneralLevel());
|
||||
this.updateById(entity);
|
||||
return ResultVO.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过部门判断是否有修改项目类别的权限,以下满足一个即可:
|
||||
* 1、自己申请的物料
|
||||
|
|
|
|||
|
|
@ -20,8 +20,7 @@ import com.nflg.product.base.core.conmon.util.SessionUtil;
|
|||
import com.nflg.product.base.core.exception.NflgBusinessException;
|
||||
import com.nflg.product.base.core.vo.PageVO;
|
||||
import com.nflg.product.material.constant.*;
|
||||
import com.nflg.product.material.mapper.master.MaterialUpdateBillMapper;
|
||||
import com.nflg.product.material.mapper.master.MaterialUpdateImportTaskMapper;
|
||||
import com.nflg.product.material.mapper.master.*;
|
||||
import com.nflg.product.material.pojo.dto.ExcelDTO.MaterialStateUpExcelDTO;
|
||||
import com.nflg.product.material.pojo.dto.ExcelDTO.TwentyMaterialTemplateExcelDTO;
|
||||
import com.nflg.product.material.pojo.dto.MaterialMainAddAttrParamDTO;
|
||||
|
|
@ -96,6 +95,13 @@ public class MaterialUpdateBillService extends ServiceImpl<MaterialUpdateBillMap
|
|||
@Resource
|
||||
private MaterialUpdateImportTaskMapper materialUpdateImportTaskMapper;
|
||||
|
||||
@Resource
|
||||
private MaterialAttrValueMapper materialAttrValueMapper;
|
||||
@Resource
|
||||
private MaterialAttrValueI18nMapper materialAttrValueI18nMapper;
|
||||
@Resource
|
||||
private MaterialAttrValueI18n21Mapper materialAttrValueI18n21Mapper;
|
||||
|
||||
private static final String PREFIX = "frontend:material";
|
||||
|
||||
/**
|
||||
|
|
@ -1051,6 +1057,7 @@ public class MaterialUpdateBillService extends ServiceImpl<MaterialUpdateBillMap
|
|||
materialMainVO.setOutAttrs(outAttrs);
|
||||
}
|
||||
materialMainVO.setMaterialState(materialUpdateBillEntity.getNewMaterialState());
|
||||
materialMainVO.setOldMaterialState(materialUpdateBillEntity.getOldMaterialState());
|
||||
if (StringUtils.isEmpty(materialUpdateBillEntity.getUpdateResion())) {
|
||||
materialMainVO.setUpdateResion("");
|
||||
} else {
|
||||
|
|
@ -1058,6 +1065,11 @@ public class MaterialUpdateBillService extends ServiceImpl<MaterialUpdateBillMap
|
|||
}
|
||||
materialMainVO.setReplaceMaterialNo(materialUpdateBillEntity.getReplaceMaterialNo());
|
||||
materialMainVO.setRemark(ent.getRemark());
|
||||
materialMainVO.setMaterialDescEn(materialUpdateBillEntity.getMaterialDescEn());
|
||||
materialMainVO.setUpdateCreatedByName(materialUpdateBillEntity.getCreatedByName());
|
||||
materialMainVO.setUpdateApplyDeptName(materialUpdateBillEntity.getApplyDeptName());
|
||||
materialMainVO.setUpdateCreatedTime(materialUpdateBillEntity.getCreatedTime());
|
||||
materialMainVO.setUpdateEffectTime(materialUpdateBillEntity.getEffectTime());
|
||||
}
|
||||
return materialMainVO;
|
||||
}
|
||||
|
|
@ -1202,4 +1214,25 @@ public class MaterialUpdateBillService extends ServiceImpl<MaterialUpdateBillMap
|
|||
public List<MaterialUpdateImportTaskEntity> getMaterialUpdateImportTaskList() {
|
||||
return materialUpdateImportTaskMapper.getMaterialUpdateImportTaskList(SessionUtil.getUserCode());
|
||||
}
|
||||
|
||||
public ResultVO<MaterialAttrValueI18nEntity> materialUpdateBillService(String attrValueCn, String type) {
|
||||
// 查询制作物料英文
|
||||
if ("20".equals(type)) {
|
||||
LambdaQueryWrapper<MaterialAttrValueI18n21Entity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(MaterialAttrValueI18n21Entity::getAttrValueCn, attrValueCn).eq(MaterialAttrValueI18n21Entity::getEnableState, 1);
|
||||
MaterialAttrValueI18n21Entity i18n21Entity = materialAttrValueI18n21Mapper.selectOne(queryWrapper);
|
||||
return ResultVO.success(Convert.convert(MaterialAttrValueI18nEntity.class, i18n21Entity));
|
||||
} else {
|
||||
// 查询采购物料英文
|
||||
LambdaQueryWrapper<MaterialAttrValueEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(MaterialAttrValueEntity::getAttrRowId, 1).eq(MaterialAttrValueEntity::getAttrValueName, attrValueCn);
|
||||
MaterialAttrValueEntity materialAttrValueEntity = materialAttrValueMapper.selectOne(queryWrapper);
|
||||
if (ObjectUtil.isNotEmpty(materialAttrValueEntity)) {
|
||||
LambdaQueryWrapper<MaterialAttrValueI18nEntity> i18nQueryWrapper = new LambdaQueryWrapper<>();
|
||||
i18nQueryWrapper.eq(MaterialAttrValueI18nEntity::getAttrValueRowId, materialAttrValueEntity.getRowId());
|
||||
return ResultVO.success(materialAttrValueI18nMapper.selectOne(i18nQueryWrapper));
|
||||
}
|
||||
}
|
||||
return ResultVO.success();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,9 +101,17 @@ public class MaterialUpdateToOAService {
|
|||
material.put("UPDATEREASON", u.getUpdateResion());
|
||||
material.put("OLDMAKTX", u.getOldMaterialDesc());
|
||||
material.put("OLDTYPEMAKTX", u.getOldCategoryNameTree());
|
||||
|
||||
if (StringUtils.isNotEmpty(u.getReplaceMaterialNo())) {
|
||||
material.put("Ftdwl", u.getReplaceMaterialNo());
|
||||
MaterialMainEntity materialMainEntity = materialMainService.lambdaQuery().eq(MaterialMainEntity::getMaterialNo, u.getMaterialNo()).one();
|
||||
MaterialMainEntity replaceMaterialMainEntity = materialMainService.lambdaQuery().eq(MaterialMainEntity::getMaterialNo, u.getReplaceMaterialNo()).one();
|
||||
boolean flag = Objects.nonNull(replaceMaterialMainEntity);
|
||||
boolean flagJudge = materialMainEntity.getMaterialUnit().equals(replaceMaterialMainEntity.getMaterialUnit());
|
||||
if (flag && flagJudge) {
|
||||
material.put("Ftdwl", u.getReplaceMaterialNo());
|
||||
}
|
||||
}
|
||||
|
||||
list.add(material);
|
||||
});
|
||||
result.put("List", list);
|
||||
|
|
|
|||
Loading…
Reference in New Issue