refactor(system): 优化 BOM 和工艺路线相关逻辑

- 添加 jcifs 依赖用于共享文件夹操作
- 优化 BOM明细和工艺路线的数据处理逻辑
- 修复材料单位为根时的数量处理问题
- 优化材料属性的设置和处理
- 调整工艺路线的查询和更新逻辑
- 优化日志输出和错误处理
This commit is contained in:
tzy 2025-05-28 08:42:37 +08:00
parent b297a172fe
commit 31240dee30
7 changed files with 76 additions and 42 deletions

View File

@ -17,6 +17,7 @@
<dependencies> <dependencies>
<!-- Spring框架基本的核心工具 --> <!-- Spring框架基本的核心工具 -->
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
@ -212,7 +213,12 @@
<version>9.1.9490</version> <version>9.1.9490</version>
</dependency> </dependency>
<!-- jcifs 共享文件夹目录 -->
<dependency>
<groupId>eu.agno3.jcifs</groupId>
<artifactId>jcifs-ng</artifactId>
<version>2.1.9</version>
</dependency>
<dependency> <dependency>
<groupId>com.github.xiaoymin</groupId> <groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-springdoc-ui</artifactId> <artifactId>knife4j-springdoc-ui</artifactId>

View File

@ -722,6 +722,8 @@ public class BomDetailsController extends BaseController {
fTreeEntityItem.addProperty("F_HBYT_BJBM", details.getPartdiagramCode()); fTreeEntityItem.addProperty("F_HBYT_BJBM", details.getPartdiagramCode());
fTreeEntityItem.addProperty("F_HBYT_BJMC", details.getPartdiagramName()); fTreeEntityItem.addProperty("F_HBYT_BJMC", details.getPartdiagramName());
fTreeEntityItem.addProperty("FDOSAGETYPE", "2"); fTreeEntityItem.addProperty("FDOSAGETYPE", "2");
//判断这个在原材料表中单位如果是根,的话 那分子就是1 分母就是分子
fTreeEntityItem.addProperty("FNUMERATOR", details.getQuantity()); fTreeEntityItem.addProperty("FNUMERATOR", details.getQuantity());
fTreeEntityItem.addProperty("FDENOMINATOR", details.getDenominator()); fTreeEntityItem.addProperty("FDENOMINATOR", details.getDenominator());

View File

@ -55,7 +55,7 @@ import java.util.stream.Collectors;
/** /**
* 工艺路线 * 工艺路线
* *
* @date 2024-10-09 * @date 2024-10-09
*/ */
@Validated @Validated
@ -647,7 +647,7 @@ public class ProcessRouteController extends BaseController {
materialBom.setUnit(materialUsageDTO.getChildUnit()); materialBom.setUnit(materialUsageDTO.getChildUnit());
materialBom.setMaterialType(materialUsageDTO.getCaizhi()); materialBom.setMaterialType(materialUsageDTO.getCaizhi());
//保留四位小数 //保留四位小数
materialBom.setQuantity( new BigDecimal(materialUsageDTO.getFenzi()).divide(new BigDecimal(materialUsageDTO.getFenmu()),2, RoundingMode.HALF_UP)); materialBom.setQuantity( new BigDecimal(materialUsageDTO.getFenzi()).divide(new BigDecimal(materialUsageDTO.getFenmu()),4, RoundingMode.HALF_UP));
return materialBom; return materialBom;
} }
@ -659,8 +659,9 @@ public class ProcessRouteController extends BaseController {
bomDetails.setFName(materialAndRoute.getMaterialName()); bomDetails.setFName(materialAndRoute.getMaterialName());
bomDetails.setPartNumber(materialUsageDTO.getMaterialCode()); bomDetails.setPartNumber(materialUsageDTO.getMaterialCode());
bomDetails.setUnitWeight(""); bomDetails.setUnitWeight("");
bomDetails.setWareHouse(materialUsageDTO.getChildUnit());
//子项分子 //子项分子
bomDetails.setQuantity(Double.valueOf(materialUsageDTO.getFenzi())); bomDetails.setQuantity(materialUsageDTO.getFenzi());
//子项分母 //子项分母
bomDetails.setDenominator(Double.valueOf(materialUsageDTO.getFenmu())); bomDetails.setDenominator(Double.valueOf(materialUsageDTO.getFenmu()));
bomDetails.setName(materialUsageDTO.getMaterialName()); bomDetails.setName(materialUsageDTO.getMaterialName());
@ -703,7 +704,8 @@ public class ProcessRouteController extends BaseController {
processRoute.setFirstBatchQuantity(Double.valueOf(materialAndRoute.getDantai())); processRoute.setFirstBatchQuantity(Double.valueOf(materialAndRoute.getDantai()));
List<MaterialUseDTO> materialUsageDTOList = materialAndRoute.getMaterialUseDTOS(); List<MaterialUseDTO> materialUsageDTOList = materialAndRoute.getMaterialUseDTOS();
for (MaterialUseDTO materialUsageDTO : materialUsageDTOList) { for (MaterialUseDTO materialUsageDTO : materialUsageDTOList) {
processRoute.setUnitQuantity(Double.valueOf(materialUsageDTO.getFenzi())); processRoute.setUnitQuantity(materialUsageDTO.getFenzi());
processRoute.setBomMaterial(materialUsageDTO.getCaizhi());
processRoute.setRawMaterialCode(materialUsageDTO.getMaterialCode()); processRoute.setRawMaterialCode(materialUsageDTO.getMaterialCode());
processRoute.setRawMaterialName(materialUsageDTO.getMaterialName()); processRoute.setRawMaterialName(materialUsageDTO.getMaterialName());
processRoute.setBomUnit(materialUsageDTO.getChildUnit()); processRoute.setBomUnit(materialUsageDTO.getChildUnit());
@ -783,6 +785,7 @@ public class ProcessRouteController extends BaseController {
List<MaterialUsageDTO> materialUsageDTOList = combinedDTO.getMaterialUsageDTOList(); List<MaterialUsageDTO> materialUsageDTOList = combinedDTO.getMaterialUsageDTOList();
for (MaterialUsageDTO materialUsageDTO : materialUsageDTOList) { for (MaterialUsageDTO materialUsageDTO : materialUsageDTOList) {
processRoute.setUnitQuantity(materialUsageDTO.getFNumerator()); processRoute.setUnitQuantity(materialUsageDTO.getFNumerator());
processRoute.setBomMaterial(materialUsageDTO.getChildMaterial());
processRoute.setRawMaterialCode(materialUsageDTO.getMaterialCode()); processRoute.setRawMaterialCode(materialUsageDTO.getMaterialCode());
processRoute.setRawMaterialName(materialUsageDTO.getMaterialName()); processRoute.setRawMaterialName(materialUsageDTO.getMaterialName());
processRoute.setBomUnit(materialUsageDTO.getUnit()); processRoute.setBomUnit(materialUsageDTO.getUnit());
@ -805,6 +808,7 @@ public class ProcessRouteController extends BaseController {
bomDetails.setFName(combinedDTO.getMaterialName()); bomDetails.setFName(combinedDTO.getMaterialName());
bomDetails.setPartNumber(materialUsageDTO.getMaterialCode()); bomDetails.setPartNumber(materialUsageDTO.getMaterialCode());
bomDetails.setUnitWeight(""); bomDetails.setUnitWeight("");
bomDetails.setWareHouse(materialUsageDTO.getUnit());
//子项分子 //子项分子
bomDetails.setQuantity(materialUsageDTO.getFNumerator()); bomDetails.setQuantity(materialUsageDTO.getFNumerator());
//子项分母 //子项分母
@ -866,7 +870,7 @@ public class ProcessRouteController extends BaseController {
.headRowNumber(3) .headRowNumber(3)
.doRead(); .doRead();
List<ProcessRouteVo> list = listener.getExcelResult().getList(); List<ProcessRouteVo> list = listener.getExcelResult().getList();
List<JDMaterialAndRoute> list1 = iProcessRouteService.getProcessRouteGD(list); List<JDMaterialAndRoute> list1 = iProcessRouteService.getProcessRouteGD(list);
List<BomDetails> bomDetailsList = new ArrayList<>(); List<BomDetails> bomDetailsList = new ArrayList<>();
List<ProcessRoute> routeList = new ArrayList<>(); List<ProcessRoute> routeList = new ArrayList<>();

View File

@ -23,7 +23,7 @@ public class MaterialUseDTO
private String materialName; private String materialName;
//分子 //分子
@JsonProperty("FNUMERATOR") @JsonProperty("FNUMERATOR")
private Integer fenzi; private Double fenzi;
//分母 //分母
@JsonProperty("FDENOMINATOR") @JsonProperty("FDENOMINATOR")
private Integer fenmu; private Integer fenmu;

View File

@ -117,7 +117,7 @@ public class updatePcessPlanConver {
if (repoRet.getResult().getResponseStatus().isIsSuccess()) { if (repoRet.getResult().getResponseStatus().isIsSuccess()) {
System.out.printf("接口返回结果: %s%n", gson.toJson(repoRet.getResult())); System.out.printf("接口返回结果: %s%n", gson.toJson(repoRet.getResult()));
} else { } else {
fail("接口返回结果: " + gson.toJson(repoRet.getResult().getResponseStatus())); fail("接口返回结果: " + gson.toJson(repoRet.getResult().getResponseStatus().getErrors().get(1)));
} }
} catch (Exception e) { } catch (Exception e) {
fail(e.getMessage()); fail(e.getMessage());

View File

@ -76,21 +76,21 @@ public class BomDetailsServiceImpl implements IBomDetailsService {
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
/* private LambdaQueryWrapper<BomDetails> buildQueryWrapper(BomDetailsBo bo) { /* private LambdaQueryWrapper<BomDetails> buildQueryWrapper(BomDetailsBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BomDetails> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<BomDetails> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getPartNumber()), BomDetails::getPartNumber, bo.getPartNumber()); lqw.eq(StringUtils.isNotBlank(bo.getPartNumber()), BomDetails::getPartNumber, bo.getPartNumber());
lqw.like(StringUtils.isNotBlank(bo.getName()), BomDetails::getName, bo.getName()); lqw.like(StringUtils.isNotBlank(bo.getName()), BomDetails::getName, bo.getName());
lqw.like(StringUtils.isNotBlank(bo.getFName()), BomDetails::getFName, bo.getFName()); lqw.like(StringUtils.isNotBlank(bo.getFName()), BomDetails::getFName, bo.getFName());
lqw.like(StringUtils.isNotBlank(bo.getFNumber()), BomDetails::getFNumber, bo.getFNumber()); lqw.like(StringUtils.isNotBlank(bo.getFNumber()), BomDetails::getFNumber, bo.getFNumber());
lqw.eq(bo.getQuantity() != null, BomDetails::getQuantity, bo.getQuantity()); lqw.eq(bo.getQuantity() != null, BomDetails::getQuantity, bo.getQuantity());
lqw.eq(StringUtils.isNotBlank(bo.getMaterial()), BomDetails::getMaterial, bo.getMaterial()); lqw.eq(StringUtils.isNotBlank(bo.getMaterial()), BomDetails::getMaterial, bo.getMaterial());
lqw.eq(bo.getUnitWeight() != null, BomDetails::getUnitWeight, bo.getUnitWeight()); lqw.eq(bo.getUnitWeight() != null, BomDetails::getUnitWeight, bo.getUnitWeight());
lqw.eq(bo.getTotalWeight() != null, BomDetails::getTotalWeight, bo.getTotalWeight()); lqw.eq(bo.getTotalWeight() != null, BomDetails::getTotalWeight, bo.getTotalWeight());
lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), BomDetails::getRemarks, bo.getRemarks()); lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), BomDetails::getRemarks, bo.getRemarks());
lqw.orderByAsc(BomDetails::getTotalWeight); lqw.orderByAsc(BomDetails::getTotalWeight);
return lqw; return lqw;
}*/ }*/
private LambdaQueryWrapper<BomDetails> buildQueryWrapper(BomDetailsBo bo) { private LambdaQueryWrapper<BomDetails> buildQueryWrapper(BomDetailsBo bo) {
Map<String, Object> params = bo.getParams(); Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BomDetails> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<BomDetails> lqw = Wrappers.lambdaQuery();
@ -109,6 +109,7 @@ public class BomDetailsServiceImpl implements IBomDetailsService {
lqw.orderByAsc(BomDetails::getTotalWeight); lqw.orderByAsc(BomDetails::getTotalWeight);
return lqw; return lqw;
} }
/** /**
* 新增bom明细 * 新增bom明细
*/ */
@ -124,6 +125,7 @@ public class BomDetailsServiceImpl implements IBomDetailsService {
} }
return flag; return flag;
} }
@Override @Override
public Boolean insertByVo(BomDetailsVo vo) { public Boolean insertByVo(BomDetailsVo vo) {
BomDetails add = BeanUtil.toBean(vo, BomDetails.class); BomDetails add = BeanUtil.toBean(vo, BomDetails.class);
@ -134,6 +136,7 @@ public class BomDetailsServiceImpl implements IBomDetailsService {
} }
return flag; return flag;
} }
/** /**
* 修改bom明细 * 修改bom明细
*/ */
@ -147,7 +150,7 @@ public class BomDetailsServiceImpl implements IBomDetailsService {
/** /**
* 保存前的数据校验 * 保存前的数据校验
*/ */
private void validEntityBeforeSave(BomDetails entity){ private void validEntityBeforeSave(BomDetails entity) {
//TODO 做一些数据校验,如唯一约束 //TODO 做一些数据校验,如唯一约束
} }
@ -156,7 +159,7 @@ public class BomDetailsServiceImpl implements IBomDetailsService {
*/ */
@Override @Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){ if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验 //TODO 做一些业务上的校验,判断是否需要校验
} }
return baseMapper.deleteBatchIds(ids) > 0; return baseMapper.deleteBatchIds(ids) > 0;
@ -171,18 +174,18 @@ public class BomDetailsServiceImpl implements IBomDetailsService {
} }
@Override @Override
public List<BomDetails> selectByFNumber1(String fNumber,String partNumber,String partName) { public List<BomDetails> selectByFNumber1(String fNumber, String partNumber, String partName) {
LambdaQueryWrapper<BomDetails> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<BomDetails> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(fNumber), BomDetails::getFNumber, fNumber); lqw.eq(StringUtils.isNotBlank(fNumber), BomDetails::getFNumber, fNumber);
lqw.eq(StringUtils.isNotBlank(partNumber),BomDetails::getPartNumber,partNumber); lqw.eq(StringUtils.isNotBlank(partNumber), BomDetails::getPartNumber, partNumber);
lqw.eq(StringUtils.isNotBlank(partName),BomDetails::getFName,partName); lqw.eq(StringUtils.isNotBlank(partName), BomDetails::getFName, partName);
return baseMapper.selectList(lqw); return baseMapper.selectList(lqw);
} }
@Override @Override
public BomDetails selectBOMFNumber(String fnumbers) { public BomDetails selectBOMFNumber(String fnumbers) {
LambdaQueryWrapper<BomDetails> wrapper = Wrappers.lambdaQuery(); LambdaQueryWrapper<BomDetails> wrapper = Wrappers.lambdaQuery();
wrapper.eq(BomDetails::getFNumber,fnumbers); wrapper.eq(BomDetails::getFNumber, fnumbers);
return baseMapper.selectOne(wrapper); return baseMapper.selectOne(wrapper);
} }
@ -206,6 +209,7 @@ public class BomDetailsServiceImpl implements IBomDetailsService {
// 使用Map缓存MaterialBom避免双重循环带来的性能问题 // 使用Map缓存MaterialBom避免双重循环带来的性能问题
if (!materialBoms.isEmpty() && !bomDetails.isEmpty()) { if (!materialBoms.isEmpty() && !bomDetails.isEmpty()) {
Map<String, MaterialBom> materialBomMap = materialBoms.stream() Map<String, MaterialBom> materialBomMap = materialBoms.stream()
.collect(Collectors.toMap( .collect(Collectors.toMap(
mb -> mb.getMaterialCode() + "-" + mb.getMaterialName(), mb -> mb.getMaterialCode() + "-" + mb.getMaterialName(),
@ -217,7 +221,13 @@ public class BomDetailsServiceImpl implements IBomDetailsService {
String key = bomDetail.getPartNumber() + "-" + bomDetail.getName(); String key = bomDetail.getPartNumber() + "-" + bomDetail.getName();
MaterialBom matchedMaterialBom = materialBomMap.get(key); MaterialBom matchedMaterialBom = materialBomMap.get(key);
if (matchedMaterialBom != null) { if (matchedMaterialBom != null) {
bomDetail.setQuantity(Double.valueOf(String.valueOf(matchedMaterialBom.getQuantity()))); if (matchedMaterialBom.getUnit().equals("")) {
bomDetail.setQuantity(1.0);
bomDetail.setDenominator(Double.valueOf(String.valueOf(matchedMaterialBom.getQuantity())));
} else {
bomDetail.setQuantity(Double.valueOf(String.valueOf(matchedMaterialBom.getQuantity())));
}
} }
} }
} }
@ -242,10 +252,10 @@ public class BomDetailsServiceImpl implements IBomDetailsService {
model.addProperty("FNumber", bomDetails1.getPartNumber()); model.addProperty("FNumber", bomDetails1.getPartNumber());
model.addProperty("FName", bomDetails1.getName()); model.addProperty("FName", bomDetails1.getName());
MaterialProperties materialProperties = iMaterialPropertiesService.selectByAttribute(bomDetails1.getMaterial()); MaterialProperties materialProperties = iMaterialPropertiesService.selectByAttribute(bomDetails1.getMaterial());
if (materialProperties!=null){ if (materialProperties != null) {
JsonObject FSVRIAssistant = new JsonObject(); JsonObject FSVRIAssistant = new JsonObject();
FSVRIAssistant.addProperty("FNumber", materialProperties.getMaterialAttributeId()); FSVRIAssistant.addProperty("FNumber", materialProperties.getMaterialAttributeId());
model.add("F_SVRI_Assistant",FSVRIAssistant); model.add("F_SVRI_Assistant", FSVRIAssistant);
} }
// 创建FMaterialGroup对象并加入Model // 创建FMaterialGroup对象并加入Model
JsonObject fMaterialGroup = new JsonObject(); JsonObject fMaterialGroup = new JsonObject();

View File

@ -50,6 +50,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.MathContext;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
@ -197,11 +199,13 @@ public class ProcessRouteServiceImpl implements IProcessRouteService {
bomDetailsVo.setRouteDescription(bomDetail.getTotalWeight()); bomDetailsVo.setRouteDescription(bomDetail.getTotalWeight());
bomDetailsVo.setMaterialCode(bomDetail.getFNumber()); bomDetailsVo.setMaterialCode(bomDetail.getFNumber());
bomDetailsVo.setMaterialName(bomDetail.getFName()); bomDetailsVo.setMaterialName(bomDetail.getFName());
bomDetailsVo.setMaterial(bomDetail.getMaterial()); bomDetailsVo.setMaterial(processRoute.getMaterial());
bomDetailsVo.setDiscUsage(bomDetail.getQuantity()); bomDetailsVo.setDiscUsage(bomDetail.getQuantity());
bomDetailsVo.setRawMaterialCode(bomDetail.getPartNumber()); bomDetailsVo.setRawMaterialCode(bomDetail.getPartNumber());
bomDetailsVo.setRawMaterialName(bomDetail.getName()); bomDetailsVo.setRawMaterialName(bomDetail.getName());
bomDetailsVo.setBomMaterial(processRoute.getBomMaterial());
bomDetailsVo.setBomUnit(bomDetail.getWareHouse()); bomDetailsVo.setBomUnit(bomDetail.getWareHouse());
bomDetailsVo.setBomDanZhong(processRoute.getBomDanZhong());
// 找到对应的 ProcessRouteVo 位置并插入 // 找到对应的 ProcessRouteVo 位置并插入
@ -261,7 +265,6 @@ public class ProcessRouteServiceImpl implements IProcessRouteService {
continue; continue;
} }
//表格错乱错行了 //表格错乱错行了
JDMaterialAndRoute jdMaterialAndRoute = new JDMaterialAndRoute(); JDMaterialAndRoute jdMaterialAndRoute = new JDMaterialAndRoute();
jdMaterialAndRoute.setMaterialCode(processRoute.getRouteDescription()); jdMaterialAndRoute.setMaterialCode(processRoute.getRouteDescription());
jdMaterialAndRoute.setMaterialName(processRoute.getMaterialCode()); jdMaterialAndRoute.setMaterialName(processRoute.getMaterialCode());
@ -704,8 +707,16 @@ public class ProcessRouteServiceImpl implements IProcessRouteService {
materialBom.setMaterialName(processRoute.getRawMaterialName()); materialBom.setMaterialName(processRoute.getRawMaterialName());
materialBom.setUnit(unit); materialBom.setUnit(unit);
materialBom.setMaterialType(materialType); materialBom.setMaterialType(materialType);
//保留4位小数 // 保留4位小数转换成米当单位为 mm
materialBom.setQuantity(new BigDecimal(quantity)); if ("mm".equals(unit)) {
// 将毫米转换为米并保留4位小数
materialBom.setQuantity(new BigDecimal(quantity).divide(BigDecimal.valueOf(1000), 4, BigDecimal.ROUND_HALF_UP));
} else {
// 其他单位直接使用原值保留2位小数
materialBom.setQuantity(new BigDecimal(quantity).setScale(2, BigDecimal.ROUND_HALF_UP));
}
// 这里插入 materialBom 数据 // 这里插入 materialBom 数据
materialBomMapper.insert(materialBom); materialBomMapper.insert(materialBom);
} }
@ -791,7 +802,7 @@ public class ProcessRouteServiceImpl implements IProcessRouteService {
bomDetails.setFName(processRoute.getMaterialName()); bomDetails.setFName(processRoute.getMaterialName());
bomDetails.setPartNumber(processRoute.getRawMaterialCode()); bomDetails.setPartNumber(processRoute.getRawMaterialCode());
bomDetails.setName(processRoute.getRawMaterialName()); bomDetails.setName(processRoute.getRawMaterialName());
// 添加单重验证和日志 // 添加单重验证和日志
Double discWeight = processRoute.getDiscWeight(); Double discWeight = processRoute.getDiscWeight();
@ -1557,7 +1568,7 @@ public class ProcessRouteServiceImpl implements IProcessRouteService {
for (Model numDTO : numDTOS) { for (Model numDTO : numDTOS) {
tasks.add(() -> { tasks.add(() -> {
for (ProcessRoute processRoute : rawBomList) { for (ProcessRoute processRoute : rawBomList) {
ProcessTimeInfo processTimeInfo = selectProcessRouteByMaterialCode(numDTO.getFProcessId_number()); ProcessTimeInfo processTimeInfo = selectProcessRouteByMaterialCode(numDTO.getFProcessId_number(),rooteProdet);
if (numDTO.getFProcessId_number().equals(processRoute.getMaterialCode())) { if (numDTO.getFProcessId_number().equals(processRoute.getMaterialCode())) {
numDTO.setFPlanStartTime(processTimeInfo.getTenthProcessStartTime()); numDTO.setFPlanStartTime(processTimeInfo.getTenthProcessStartTime());
numDTO.setFPlanFinishTime(processTimeInfo.getLastProcessEndTime()); numDTO.setFPlanFinishTime(processTimeInfo.getLastProcessEndTime());
@ -1597,7 +1608,7 @@ public class ProcessRouteServiceImpl implements IProcessRouteService {
log.info("更新成功" + repoRet.getResult().getResponseStatus().getSuccessEntitys().toString()); log.info("更新成功" + repoRet.getResult().getResponseStatus().getSuccessEntitys().toString());
} else { } else {
log.info("更新失败" + repoRet.getResult().getResponseStatus().getErrors().toString()); log.info("更新失败" + repoRet.getResult().getResponseStatus().getErrors().get(0));
} }
return numDTOS; return numDTOS;
} }
@ -2017,9 +2028,10 @@ public class ProcessRouteServiceImpl implements IProcessRouteService {
return dateTime.format(formatter); return dateTime.format(formatter);
} }
public ProcessTimeInfo selectProcessRouteByMaterialCode(String materialCode) { public ProcessTimeInfo selectProcessRouteByMaterialCode(String materialCode,String rooteProdet) {
LambdaQueryWrapper<ProcessRoute> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProcessRoute> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessRoute::getMaterialCode, materialCode); wrapper.eq(ProcessRoute::getMaterialCode, materialCode)
.eq(ProcessRoute::getRouteDescription, rooteProdet);
List<ProcessRoute> processRoutes = baseMapper.selectList(wrapper); List<ProcessRoute> processRoutes = baseMapper.selectList(wrapper);
ProcessTimeInfo timeInfo = new ProcessTimeInfo(); // 创建返回对象 ProcessTimeInfo timeInfo = new ProcessTimeInfo(); // 创建返回对象
@ -2362,7 +2374,7 @@ public class ProcessRouteServiceImpl implements IProcessRouteService {
/** /**
* 更新生产订单的计划开始时间和计划结束时间 * 更新生产订单的计划开始时间和计划结束时间
* *
* @param rooteProdet * @param rooteProdet
* @return * @return
*/ */