生产管理修改

liweidong
李涛 4 weeks ago
parent 4cf3e08e39
commit b8448a1e5f
  1. 4
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkOrder.java
  2. 8
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/ReviewDutyDTO.java
  3. 8
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/ReviewFaultDTO.java
  4. 16
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/dto/ReviewSheetDTO.java
  5. 4
      blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/WorkOrderEntity.java
  6. 171
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java
  7. 55
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java
  8. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java

@ -398,9 +398,9 @@ public class WorkOrder extends BaseEntity {
@Schema(description = "打印编码") @Schema(description = "打印编码")
private String printCode; private String printCode;
/** /**
* 关闭时间 * 交接时间
*/ */
@Schema(description = "关闭时间") @Schema(description = "交接时间")
private Date handoverTime; private Date handoverTime;
/** /**
* 关闭时间 * 关闭时间

@ -1,6 +1,3 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.dto; package org.springblade.desk.quality.pojo.dto;
import lombok.Data; import lombok.Data;
@ -16,10 +13,7 @@ import java.io.Serial;
* @since 2026-01-06 * @since 2026-01-06
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) public class ReviewDutyDTO {
public class ReviewDutyDTO extends ReviewDuty {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* 审理单Id * 审理单Id
*/ */

@ -1,6 +1,3 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.dto; package org.springblade.desk.quality.pojo.dto;
import lombok.Data; import lombok.Data;
@ -16,10 +13,7 @@ import java.io.Serial;
* @since 2026-01-06 * @since 2026-01-06
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) public class ReviewFaultDTO {
public class ReviewFaultDTO extends ReviewFault {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* 审理单Id * 审理单Id
*/ */

@ -1,13 +1,6 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.dto; package org.springblade.desk.quality.pojo.dto;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import java.io.Serial;
/** /**
* [生产处置单] 数据传输对象实体类 * [生产处置单] 数据传输对象实体类
@ -16,10 +9,7 @@ import java.io.Serial;
* @since 2026-01-06 * @since 2026-01-06
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) public class ReviewSheetDTO{
public class ReviewSheetDTO extends ReviewSheet {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* 批次号 * 批次号
@ -113,5 +103,9 @@ public class ReviewSheetDTO extends ReviewSheet {
* 处置单类型1-提交质保/2-提交工艺/3-提交设计 * 处置单类型1-提交质保/2-提交工艺/3-提交设计
*/ */
private String hearDis; private String hearDis;
/**
* 检验时间
*/
private String checkDate;
} }

@ -303,9 +303,9 @@ public class WorkOrderEntity extends BaseEntity {
@Schema(description = "打印编码") @Schema(description = "打印编码")
private String printCode; private String printCode;
/** /**
* 关闭时间 * 交接时间
*/ */
@Schema(description = "关闭时间") @Schema(description = "交接时间")
private Date handoverTime; private Date handoverTime;
/** /**
* 关闭时间 * 关闭时间

@ -201,7 +201,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
@Override @Override
public String dataVerify(List<Long> ids) { public String dataVerify(List<Long> ids) {
// 先根据ID查询订单列表 // 先根据ID查询订单列表
log.info("先根据ID查询订单列表:{}",ids); log.info("先根据ID查询订单列表:{}", ids);
LambdaQueryWrapper<YieldOrder> queryWrapper = Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getIsDeleted, CommonConstant.DELETE_FALSE).in(YieldOrder::getId, ids); LambdaQueryWrapper<YieldOrder> queryWrapper = Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getIsDeleted, CommonConstant.DELETE_FALSE).in(YieldOrder::getId, ids);
List<YieldOrder> yieldOrderList = baseMapper.selectList(queryWrapper); List<YieldOrder> yieldOrderList = baseMapper.selectList(queryWrapper);
@ -248,12 +248,12 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_PASS.getCode()); yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_PASS.getCode());
this.updateById(yieldOrder); this.updateById(yieldOrder);
if(yieldOrder.getReceiveStatus() != null && if (yieldOrder.getReceiveStatus() != null &&
yieldOrder.getValidationResult().equals(YieldOrderEnum.VALIDATION_RESULT_PASS.getCode()) && yieldOrder.getValidationResult().equals(YieldOrderEnum.VALIDATION_RESULT_PASS.getCode()) &&
yieldOrder.getReceiveStatus().equals(YieldOrderEnum.RECEIVE_STATUS_YES.getCode())){ yieldOrder.getReceiveStatus().equals(YieldOrderEnum.RECEIVE_STATUS_YES.getCode())) {
//订单状态为验证完成并且已接收 进行分派 //订单状态为验证完成并且已接收 进行分派
boolean result = this.verifyYieldOrderResource(yieldOrder); boolean result = this.verifyYieldOrderResource(yieldOrder);
if(!result){ if (!result) {
throw new ServiceException("分派异常请及时处理"); throw new ServiceException("分派异常请及时处理");
} }
} }
@ -265,7 +265,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
@Override @Override
public boolean confirmBatch(List<Long> ids) { public boolean confirmBatch(List<Long> ids) {
List<YieldOrder> yieldOrderList = new ArrayList<>(); List<YieldOrder> yieldOrderList = new ArrayList<>();
for(Long id : ids){ for (Long id : ids) {
YieldOrder yieldOrder = this.getById(id); YieldOrder yieldOrder = this.getById(id);
if (!this.verifyYieldOrderResource(yieldOrder)) { if (!this.verifyYieldOrderResource(yieldOrder)) {
return false; return false;
@ -427,10 +427,10 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
// 同步零件前置 防止烧结订单没有零件信息 // 同步零件前置 防止烧结订单没有零件信息
DsPartEntity partEntity = dsPartService.selectDsPartByPatCodeAndVersion(yieldOrder.getPartCode(), yieldOrder.getPartVersion()); DsPartEntity partEntity = dsPartService.selectDsPartByPatCodeAndVersion(yieldOrder.getPartCode(), yieldOrder.getPartVersion());
//如果零件信息为null,调用 //如果零件信息为null,调用
if(partEntity == null){ if (partEntity == null) {
log.info("零件信息为null,从老mes同步零件信息"); log.info("零件信息为null,从老mes同步零件信息");
boolean result = dsTaskingService.syncPart(null,null,yieldOrder.getPartCode()); boolean result = dsTaskingService.syncPart(null, null, yieldOrder.getPartCode());
if(!result){ if (!result) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode()); yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode());
yieldOrder.setValidationTime(DateUtil.now()); yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("未查询到零件信息!"); yieldOrder.setValidationMomo("未查询到零件信息!");
@ -447,9 +447,9 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
rank = judgeRank(yieldOrder); rank = judgeRank(yieldOrder);
} }
String rankStr = rank == null ? null : String.valueOf(rank); String rankStr = rank == null ? null : String.valueOf(rank);
log.info("工艺传参零件号:{},{},{}",partCode,roamNo,rankStr); log.info("工艺传参零件号:{},{},{}", partCode, roamNo, rankStr);
PartCraftVO craftVO = dsPartService.selectPartCraft(yieldOrder, partCode, roamNo, rankStr, null); PartCraftVO craftVO = dsPartService.selectPartCraft(yieldOrder, partCode, roamNo, rankStr, null);
log.info("工艺返回:{}",craftVO != null); log.info("工艺返回:{}", craftVO != null);
if (ObjectUtil.isEmpty(craftVO) || PartCraftStatusEnum.SUCCESS.getCode() != craftVO.getCode()) { if (ObjectUtil.isEmpty(craftVO) || PartCraftStatusEnum.SUCCESS.getCode() != craftVO.getCode()) {
String errMsg = "工艺匹配失败,原因:" + PartCraftStatusEnum.getMsg(craftVO.getCode()); String errMsg = "工艺匹配失败,原因:" + PartCraftStatusEnum.getMsg(craftVO.getCode());
@ -489,7 +489,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
yieldOrder.setTsdNum(part.getTsdNum()); yieldOrder.setTsdNum(part.getTsdNum());
yieldOrder.setTjtNum(part.getTjtNum()); yieldOrder.setTjtNum(part.getTjtNum());
DsPartVersionEntity partVersionEntity = partVersionService.selectByPartId(part.getId()); DsPartVersionEntity partVersionEntity = partVersionService.selectByPartId(part.getId());
if(null != partVersionEntity){ if (null != partVersionEntity) {
yieldOrder.setPartVersion(partVersionEntity.getPartVersion()); yieldOrder.setPartVersion(partVersionEntity.getPartVersion());
} }
@ -518,7 +518,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
yieldOrderCraftList.add(yieldOrderCraft); yieldOrderCraftList.add(yieldOrderCraft);
} }
boolean saveBatch = yieldOrderCraftService.saveBatch(yieldOrderCraftList); boolean saveBatch = yieldOrderCraftService.saveBatch(yieldOrderCraftList);
log.info("添加数据返回结果:{}",saveBatch); log.info("添加数据返回结果:{}", saveBatch);
} }
//镀层物料需求 //镀层物料需求
/*if(YieldOrderEnum.YIELD_TYPE_1.getCode() == yieldOrder.getYieldType()){ /*if(YieldOrderEnum.YIELD_TYPE_1.getCode() == yieldOrder.getYieldType()){
@ -530,13 +530,13 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
// 生成子件订单 // 生成子件订单
createSubOrder(yieldOrder); createSubOrder(yieldOrder);
//部件生产订单获取石墨模生成烧结磨具计划,玻璃饼订单获取压饼模生成烧结磨具计划 //部件生产订单获取石墨模生成烧结磨具计划,玻璃饼订单获取压饼模生成烧结磨具计划
if(YieldOrderEnum.YIELD_TYPE_2.getCode() == yieldOrder.getYieldType()){ if (YieldOrderEnum.YIELD_TYPE_2.getCode() == yieldOrder.getYieldType()) {
List<DsPartEntity> subPartList = dsPartService.getPartSubList(yieldOrder.getPartCode(),yieldOrder.getPartVersion()); List<DsPartEntity> subPartList = dsPartService.getPartSubList(yieldOrder.getPartCode(), yieldOrder.getPartVersion());
if(CollectionUtils.isNotEmpty(subPartList)){ if (CollectionUtils.isNotEmpty(subPartList)) {
for(DsPartEntity subPart : subPartList){ for (DsPartEntity subPart : subPartList) {
if(DsPartConstant.SIN_TER_TYPE_SMM == subPart.getSinTerType() && subPart.getQuota() != 0){ if (DsPartConstant.SIN_TER_TYPE_SMM == subPart.getSinTerType() && subPart.getQuota() != 0) {
MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.<MoldDemand>lambdaQuery().eq(MoldDemand::getToolCode,subPart.getPartCode()).eq(MoldDemand::getMafStatus,MoldDemandEnum.MAF_STATUS_CREATE.getCode())); MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.<MoldDemand>lambdaQuery().eq(MoldDemand::getToolCode, subPart.getPartCode()).eq(MoldDemand::getMafStatus, MoldDemandEnum.MAF_STATUS_CREATE.getCode()));
if(moldDemand == null){ if (moldDemand == null) {
moldDemand = new MoldDemand(); moldDemand = new MoldDemand();
moldDemand.setMoCode(null); moldDemand.setMoCode(null);
moldDemand.setPartCode(yieldOrder.getPartCode()); moldDemand.setPartCode(yieldOrder.getPartCode());
@ -553,7 +553,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
moldDemand.setMdCode(generateMdCode()); moldDemand.setMdCode(generateMdCode());
moldDemand.setIsDeleted(0); moldDemand.setIsDeleted(0);
moldDemandMapper.insert(moldDemand); moldDemandMapper.insert(moldDemand);
}else{ } else {
moldDemand.setDemandNum(moldDemand.getDemandNum() + subPart.getQuota() * yieldOrder.getYpQty()); moldDemand.setDemandNum(moldDemand.getDemandNum() + subPart.getQuota() * yieldOrder.getYpQty());
moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString())); moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString()));
moldDemandMapper.updateById(moldDemand); moldDemandMapper.updateById(moldDemand);
@ -565,12 +565,12 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
} }
} }
}else if(YieldOrderEnum.YIELD_TYPE_3.getCode() == yieldOrder.getYieldType()){ } else if (YieldOrderEnum.YIELD_TYPE_3.getCode() == yieldOrder.getYieldType()) {
List<DsProcessMoldToolEntity> processMoldToolList = dsPartService.getClassCakeWork(yieldOrder.getPartCode(),yieldOrder.getRoamNo(),yieldOrder.getPartVersion()); List<DsProcessMoldToolEntity> processMoldToolList = dsPartService.getClassCakeWork(yieldOrder.getPartCode(), yieldOrder.getRoamNo(), yieldOrder.getPartVersion());
if(CollectionUtils.isNotEmpty(processMoldToolList)){ if (CollectionUtils.isNotEmpty(processMoldToolList)) {
for (DsProcessMoldToolEntity dsProcessMoldToolEntity : processMoldToolList) { for (DsProcessMoldToolEntity dsProcessMoldToolEntity : processMoldToolList) {
MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.<MoldDemand>lambdaQuery().eq(MoldDemand::getToolCode,dsProcessMoldToolEntity.getMoldCode()).eq(MoldDemand::getMafStatus,MoldDemandEnum.MAF_STATUS_CREATE.getCode())); MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.<MoldDemand>lambdaQuery().eq(MoldDemand::getToolCode, dsProcessMoldToolEntity.getMoldCode()).eq(MoldDemand::getMafStatus, MoldDemandEnum.MAF_STATUS_CREATE.getCode()));
if(moldDemand == null){ if (moldDemand == null) {
moldDemand = new MoldDemand(); moldDemand = new MoldDemand();
moldDemand.setMoCode(null); moldDemand.setMoCode(null);
moldDemand.setPartCode(yieldOrder.getPartCode()); moldDemand.setPartCode(yieldOrder.getPartCode());
@ -587,7 +587,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
moldDemand.setMdCode(generateMdCode()); moldDemand.setMdCode(generateMdCode());
moldDemand.setIsDeleted(0); moldDemand.setIsDeleted(0);
moldDemandMapper.insert(moldDemand); moldDemandMapper.insert(moldDemand);
}else{ } else {
moldDemand.setDemandNum(moldDemand.getDemandNum() + yieldOrder.getYpQty()); moldDemand.setDemandNum(moldDemand.getDemandNum() + yieldOrder.getYpQty());
moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString())); moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString()));
moldDemandMapper.updateById(moldDemand); moldDemandMapper.updateById(moldDemand);
@ -596,12 +596,12 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
this.updateById(yieldOrder); this.updateById(yieldOrder);
} }
} }
}else if(YieldOrderEnum.YIELD_TYPE_6.getCode() == yieldOrder.getYieldType()){ } else if (YieldOrderEnum.YIELD_TYPE_6.getCode() == yieldOrder.getYieldType()) {
List<DsPartEntity> subPartList = dsPartService.getPartSubList(yieldOrder.getPartCode(),yieldOrder.getPartVersion()); List<DsPartEntity> subPartList = dsPartService.getPartSubList(yieldOrder.getPartCode(), yieldOrder.getPartVersion());
if(CollectionUtils.isNotEmpty(subPartList)){ if (CollectionUtils.isNotEmpty(subPartList)) {
for(DsPartEntity subPart : subPartList){ for (DsPartEntity subPart : subPartList) {
MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.<MoldDemand>lambdaQuery().eq(MoldDemand::getToolCode,subPart.getPartCode()).eq(MoldDemand::getMafStatus,MoldDemandEnum.MAF_STATUS_CREATE.getCode())); MoldDemand moldDemand = moldDemandMapper.selectOne(Wrappers.<MoldDemand>lambdaQuery().eq(MoldDemand::getToolCode, subPart.getPartCode()).eq(MoldDemand::getMafStatus, MoldDemandEnum.MAF_STATUS_CREATE.getCode()));
if(moldDemand == null){ if (moldDemand == null) {
moldDemand = new MoldDemand(); moldDemand = new MoldDemand();
moldDemand.setMoCode(null); moldDemand.setMoCode(null);
moldDemand.setPartCode(yieldOrder.getPartCode()); moldDemand.setPartCode(yieldOrder.getPartCode());
@ -617,7 +617,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
moldDemand.setMdCode(generateMdCode()); moldDemand.setMdCode(generateMdCode());
moldDemand.setIsDeleted(0); moldDemand.setIsDeleted(0);
moldDemandMapper.insert(moldDemand); moldDemandMapper.insert(moldDemand);
}else{ } else {
moldDemand.setDemandNum(moldDemand.getDemandNum() + subPart.getQuota() * yieldOrder.getYpQty()); moldDemand.setDemandNum(moldDemand.getDemandNum() + subPart.getQuota() * yieldOrder.getYpQty());
moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString())); moldDemand.setLinkOrderIds(moldDemand.getLinkOrderIds().concat(",").concat(yieldOrder.getId().toString()));
moldDemandMapper.updateById(moldDemand); moldDemandMapper.updateById(moldDemand);
@ -637,6 +637,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
/** /**
* 生成模具单号 * 生成模具单号
*
* @return 单号 202604280001 * @return 单号 202604280001
*/ */
@Override @Override
@ -692,7 +693,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
// yieldOrder.setReceiveTime(new Date()); // yieldOrder.setReceiveTime(new Date());
// yieldOrder.setReceiveUser(AuthUtil.getUserId()); // yieldOrder.setReceiveUser(AuthUtil.getUserId());
// yieldOrder.setReceiveStatus(YieldOrderEnum.RECEIVE_STATUS_YES.getCode()); // yieldOrder.setReceiveStatus(YieldOrderEnum.RECEIVE_STATUS_YES.getCode());
if(yieldOrder.getYieldType() != YieldOrderEnum.YIELD_TYPE_2.getCode()){ if (yieldOrder.getYieldType() != YieldOrderEnum.YIELD_TYPE_2.getCode()) {
yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCode()); yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCode());
} }
this.updateById(yieldOrder); this.updateById(yieldOrder);
@ -719,11 +720,11 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
// subList.addAll(this.checkSub(yieldOrder.getPartCode(), DsPartConstant.SIN_TER_TYPE_CZ, "插针")); // subList.addAll(this.checkSub(yieldOrder.getPartCode(), DsPartConstant.SIN_TER_TYPE_CZ, "插针"));
DsPartVersionEntity partVersion = partVersionService.getOne(Wrappers.<DsPartVersionEntity>lambdaQuery() DsPartVersionEntity partVersion = partVersionService.getOne(Wrappers.<DsPartVersionEntity>lambdaQuery()
.eq(DsPartVersionEntity::getPartCode,yieldOrder.getPartCode()) .eq(DsPartVersionEntity::getPartCode, yieldOrder.getPartCode())
.eq(DsPartVersionEntity::getPartVersion,yieldOrder.getPartVersion())); .eq(DsPartVersionEntity::getPartVersion, yieldOrder.getPartVersion()));
List<DsPartRelationEntity> partRelationList = partRelationService.list(Wrappers.<DsPartRelationEntity>lambdaQuery().eq(DsPartRelationEntity::getPartId,partVersion.getPartId())); List<DsPartRelationEntity> partRelationList = partRelationService.list(Wrappers.<DsPartRelationEntity>lambdaQuery().eq(DsPartRelationEntity::getPartId, partVersion.getPartId()));
List<Long> childPartIdList = partRelationList.stream().map(DsPartRelationEntity::getChildPartId).collect(Collectors.toList()); List<Long> childPartIdList = partRelationList.stream().map(DsPartRelationEntity::getChildPartId).collect(Collectors.toList());
List<DsPartEntity> subList = dsPartService.list(Wrappers.<DsPartEntity>lambdaQuery().in(BaseEntity::getId,childPartIdList)); List<DsPartEntity> subList = dsPartService.list(Wrappers.<DsPartEntity>lambdaQuery().in(BaseEntity::getId, childPartIdList));
if (subList.size() == 0) { if (subList.size() == 0) {
throw new BusinessException("未找到烧结前处理子件信息,请联系工艺编制!"); throw new BusinessException("未找到烧结前处理子件信息,请联系工艺编制!");
} }
@ -798,7 +799,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
// 先根据流程卡号验证订单是否重复,如果重复则不保存 // 先根据流程卡号验证订单是否重复,如果重复则不保存
List<YieldOrder> orderList = baseMapper.selectList(Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getCardNo, yieldOrder.getCardNo())); List<YieldOrder> orderList = baseMapper.selectList(Wrappers.lambdaQuery(YieldOrder.class).eq(YieldOrder::getCardNo, yieldOrder.getCardNo()));
if(orderList.size() == 0) { if (orderList.size() == 0) {
this.save(yieldOrder); this.save(yieldOrder);
} else { } else {
yieldOrder.setId(orderList.get(0).getId()); yieldOrder.setId(orderList.get(0).getId());
@ -867,22 +868,22 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
// 构建生产订单信息并保存 // 构建生产订单信息并保存
JSONObject yieldJson = jsonItem.getJSONObject("order"); JSONObject yieldJson = jsonItem.getJSONObject("order");
YieldOrder yieldOrder = JSON.parseObject(JSON.toJSONString(yieldJson), YieldOrder.class); YieldOrder yieldOrder = JSON.parseObject(JSON.toJSONString(yieldJson), YieldOrder.class);
if(yieldOrder.getYieldType() == 1){ if (yieldOrder.getYieldType() == 1) {
yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_1.getCode()); yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_1.getCode());
} }
if(yieldOrder.getYieldType() == 2){ if (yieldOrder.getYieldType() == 2) {
yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_2.getCode()); yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_2.getCode());
} }
if(yieldOrder.getYieldType() == 3){ if (yieldOrder.getYieldType() == 3) {
yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_3.getCode()); yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_3.getCode());
} }
if(yieldOrder.getYieldType() == 4){ if (yieldOrder.getYieldType() == 4) {
yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_4.getCode()); yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_4.getCode());
} }
if(yieldOrder.getYieldType() == 5){ if (yieldOrder.getYieldType() == 5) {
yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_5.getCode()); yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_5.getCode());
} }
if(yieldOrder.getYieldType() == 6){ if (yieldOrder.getYieldType() == 6) {
yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_6.getCode()); yieldOrder.setYieldType(YieldOrderEnum.YIELD_TYPE_6.getCode());
} }
yieldOrder.setYpCode(yieldJson.getString("poCode")); yieldOrder.setYpCode(yieldJson.getString("poCode"));
@ -1037,6 +1038,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public boolean sendKit(Long yoId) { public boolean sendKit(Long yoId) {
YieldOrder yieldOrder = this.getById(yoId); YieldOrder yieldOrder = this.getById(yoId);
if (yieldOrder == null) { if (yieldOrder == null) {
@ -1045,7 +1047,12 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
yieldOrder.setSjKitPreparation(2L); yieldOrder.setSjKitPreparation(2L);
yieldOrder.setKitPreparationMan(AuthUtil.getUserId()); yieldOrder.setKitPreparationMan(AuthUtil.getUserId());
yieldOrder.setKitPreparationTime(new Date()); yieldOrder.setKitPreparationTime(new Date());
return this.updateById(yieldOrder); boolean b = this.updateById(yieldOrder);
if (b) {
// 订单接收
this.confirm(yieldOrder.getCardNo(), "0");
}
return b;
} }
@Override @Override
@ -1082,7 +1089,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
public Long getWcId(Long orderId) { public Long getWcId(Long orderId) {
// return baseMapper.getWcId(orderId); // return baseMapper.getWcId(orderId);
List<YieldOrder> list = list(new LambdaQueryWrapper<YieldOrder>().eq(YieldOrder::getId, orderId)); List<YieldOrder> list = list(new LambdaQueryWrapper<YieldOrder>().eq(YieldOrder::getId, orderId));
if (list!=null&&!list.isEmpty()) { if (list != null && !list.isEmpty()) {
return list.get(0).getWorkCenterId(); return list.get(0).getWorkCenterId();
} }
return null; return null;
@ -1116,10 +1123,10 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
return R.fail("路线卡号不能为空"); return R.fail("路线卡号不能为空");
} }
List<YieldOrder> list = list(new LambdaQueryWrapper<YieldOrder>().eq(YieldOrder::getCardNo, cardNo)); List<YieldOrder> list = list(new LambdaQueryWrapper<YieldOrder>().eq(YieldOrder::getCardNo, cardNo));
if (list==null||list.size()==0) { if (list == null || list.size() == 0) {
// return R.fail("路线卡号未查询到详情"); // return R.fail("路线卡号未查询到详情");
List<PrYieldOrder> yieldOrderList = yieldOrderService.list(new LambdaQueryWrapper<PrYieldOrder>().eq(PrYieldOrder::getCardNo, cardNo)); List<PrYieldOrder> yieldOrderList = yieldOrderService.list(new LambdaQueryWrapper<PrYieldOrder>().eq(PrYieldOrder::getCardNo, cardNo));
if (yieldOrderList==null||yieldOrderList.size()==0) { if (yieldOrderList == null || yieldOrderList.size() == 0) {
return R.fail("路线卡号未查询到详情"); return R.fail("路线卡号未查询到详情");
} }
return R.data(yieldOrderList.get(0)); return R.data(yieldOrderList.get(0));
@ -1195,20 +1202,20 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
public List<String> getToolByPartCode(String partCode) { public List<String> getToolByPartCode(String partCode) {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
DsPartEntity part = dsPartService.selectDsPartByPatCodeAndVersion(partCode, null); DsPartEntity part = dsPartService.selectDsPartByPatCodeAndVersion(partCode, null);
if(null == part){ if (null == part) {
return list; return list;
} }
if("1".equals(part.getIsSintering()) && "0".equals(part.getIsGlassCake())){ if ("1".equals(part.getIsSintering()) && "0".equals(part.getIsGlassCake())) {
List<DsPartEntity> subPartList = dsPartService.getPartSubList(partCode,null); List<DsPartEntity> subPartList = dsPartService.getPartSubList(partCode, null);
list = subPartList.stream().filter(item -> DsPartConstant.SIN_TER_TYPE_SMM.equals(item.getSinTerType())).map(DsPartEntity::getPartCode).collect(Collectors.toList()); list = subPartList.stream().filter(item -> DsPartConstant.SIN_TER_TYPE_SMM.equals(item.getSinTerType())).map(DsPartEntity::getPartCode).collect(Collectors.toList());
} }
if(DsPartConstant.SIN_TER_TYPE_SMM.equals(part.getSinTerType())){ if (DsPartConstant.SIN_TER_TYPE_SMM.equals(part.getSinTerType())) {
List<DsPartEntity> subPartList = dsPartService.getPartSubList(partCode,null); List<DsPartEntity> subPartList = dsPartService.getPartSubList(partCode, null);
list = subPartList.stream().map(DsPartEntity::getPartCode).collect(Collectors.toList()); list = subPartList.stream().map(DsPartEntity::getPartCode).collect(Collectors.toList());
} }
if(DsPartConstant.SIN_TER_TYPE_BLB.equals(part.getSinTerType())){ if (DsPartConstant.SIN_TER_TYPE_BLB.equals(part.getSinTerType())) {
List<DsProcessMoldToolEntity> processMoldToolList = dsPartService.getClassCakeWork(partCode,null,null); List<DsProcessMoldToolEntity> processMoldToolList = dsPartService.getClassCakeWork(partCode, null, null);
if(CollectionUtils.isNotEmpty(processMoldToolList)){ if (CollectionUtils.isNotEmpty(processMoldToolList)) {
list = processMoldToolList.stream().map(DsProcessMoldToolEntity::getMoldCode).collect(Collectors.toList()); list = processMoldToolList.stream().map(DsProcessMoldToolEntity::getMoldCode).collect(Collectors.toList());
} }
} }
@ -1225,21 +1232,21 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
DateUtil.toDate(startOfDay), DateUtil.toDate(startOfDay),
DateUtil.toDate(endOfDay)).isNull(YieldOrder::getGoodsDemand); DateUtil.toDate(endOfDay)).isNull(YieldOrder::getGoodsDemand);
List<YieldOrder> list = this.list(wrapper); List<YieldOrder> list = this.list(wrapper);
log.info("需要计算镀层物料需求的物料数量是:"+list.size()); log.info("需要计算镀层物料需求的物料数量是:" + list.size());
if(CollectionUtils.isNotEmpty(list)){ if (CollectionUtils.isNotEmpty(list)) {
for(YieldOrder yieldOrder : list){ for (YieldOrder yieldOrder : list) {
plateGoodsRecordService.calculateCoatingMaterial(yieldOrder); plateGoodsRecordService.calculateCoatingMaterial(yieldOrder);
} }
} }
} }
@Override @Override
public List<YieldOrderCraft> confirm(String cardNo,String mark) { public List<YieldOrderCraft> confirm(String cardNo, String mark) {
YieldOrder yieldOrder = this.getOne(Wrappers.<YieldOrder>lambdaQuery().eq(YieldOrder::getCardNo,cardNo)); YieldOrder yieldOrder = this.getOne(Wrappers.<YieldOrder>lambdaQuery().eq(YieldOrder::getCardNo, cardNo));
if(null == yieldOrder){ if (null == yieldOrder) {
throw new ServiceException("未找到订单("+cardNo+")!"); throw new ServiceException("未找到订单(" + cardNo + ")!");
} }
if("1".equals(mark)){ if ("1".equals(mark)) {
yieldOrder.setSiteWork(true); yieldOrder.setSiteWork(true);
} }
@ -1250,21 +1257,21 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
this.updateById(yieldOrder); this.updateById(yieldOrder);
// 校验合规性校验是否通过 // 校验合规性校验是否通过
if(!yieldOrder.getValidationResult().equals(YieldOrderEnum.VALIDATION_RESULT_PASS.getCode())){ if (!yieldOrder.getValidationResult().equals(YieldOrderEnum.VALIDATION_RESULT_PASS.getCode())) {
throw new ServiceException("订单接收成功,校验异常请及时处理"); throw new ServiceException("订单接收成功,校验异常请及时处理");
} }
boolean result = this.verifyYieldOrderResource(yieldOrder); boolean result = this.verifyYieldOrderResource(yieldOrder);
if(result){ if (result) {
List<YieldOrderCraft> list = yieldOrderCraftService.list(Wrappers.<YieldOrderCraft>lambdaQuery().eq(YieldOrderCraft::getYoId,yieldOrder.getId()).orderByAsc(YieldOrderCraft::getProcessNo)); List<YieldOrderCraft> list = yieldOrderCraftService.list(Wrappers.<YieldOrderCraft>lambdaQuery().eq(YieldOrderCraft::getYoId, yieldOrder.getId()).orderByAsc(YieldOrderCraft::getProcessNo));
list.stream().forEach(craft -> { list.stream().forEach(craft -> {
if(craft.getWorkCenterId() != null){ if (craft.getWorkCenterId() != null) {
WorkCenter workCenter = workCenterService.getById(craft.getWorkCenterId()); WorkCenter workCenter = workCenterService.getById(craft.getWorkCenterId());
craft.setWorkCenterName(workCenter.getWcName()); craft.setWorkCenterName(workCenter.getWcName());
} }
}); });
return list; return list;
}else { } else {
throw new ServiceException("订单接收成功,分派异常请及时处理"); throw new ServiceException("订单接收成功,分派异常请及时处理");
} }
} }
@ -1302,7 +1309,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
continue; continue;
} }
DsPartEntity dsPart = dsPartService.selectDsPartByPatCodeAndVersion(dsPartSub.getPartCode(),null); DsPartEntity dsPart = dsPartService.selectDsPartByPatCodeAndVersion(dsPartSub.getPartCode(), null);
//验证子件是否存在对应零件,不存在则提示异常。 //验证子件是否存在对应零件,不存在则提示异常。
if (dsPart == null) { if (dsPart == null) {
String errMsg = MessageFormat.format("子件{}未编制!", dsPartSub.getPartCode()); String errMsg = MessageFormat.format("子件{}未编制!", dsPartSub.getPartCode());
@ -1313,12 +1320,12 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
yieldType = YieldOrderEnum.YIELD_TYPE_4.getCode(); yieldType = YieldOrderEnum.YIELD_TYPE_4.getCode();
} else if (DsPartConstant.SIN_TER_TYPE_CZ.equals(dsPartSub.getSinTerType())) { } else if (DsPartConstant.SIN_TER_TYPE_CZ.equals(dsPartSub.getSinTerType())) {
yieldType = YieldOrderEnum.YIELD_TYPE_5.getCode(); yieldType = YieldOrderEnum.YIELD_TYPE_5.getCode();
}else if (DsPartConstant.SIN_TER_TYPE_BLB.equals(dsPartSub.getSinTerType())) { } else if (DsPartConstant.SIN_TER_TYPE_BLB.equals(dsPartSub.getSinTerType())) {
yieldType = YieldOrderEnum.YIELD_TYPE_3.getCode(); yieldType = YieldOrderEnum.YIELD_TYPE_3.getCode();
} else if (DsPartConstant.SIN_TER_TYPE_SMM.equals(dsPartSub.getSinTerType())) { } else if (DsPartConstant.SIN_TER_TYPE_SMM.equals(dsPartSub.getSinTerType())) {
yieldType = YieldOrderEnum.YIELD_TYPE_6.getCode(); yieldType = YieldOrderEnum.YIELD_TYPE_6.getCode();
} }
if(null == yieldType){ if (null == yieldType) {
//如果子件类型为空 或者是其他 不生成子件订单 直接跳过 //如果子件类型为空 或者是其他 不生成子件订单 直接跳过
continue; continue;
} }
@ -1389,12 +1396,12 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
//烧结类型生产订单【玻璃饼下发状态】默认状态为【未下发】, //烧结类型生产订单【玻璃饼下发状态】默认状态为【未下发】,
// 生成子件玻璃饼订单后变更为【已下发】; // 生成子件玻璃饼订单后变更为【已下发】;
// 其他类型生产订单的【玻璃饼下发状态】显示空 // 其他类型生产订单的【玻璃饼下发状态】显示空
if(yieldType.equals(YieldOrderEnum.YIELD_TYPE_3.getCode())){ if (yieldType.equals(YieldOrderEnum.YIELD_TYPE_3.getCode())) {
yieldOrder.setGlassBiscuitStatus(YieldOrder.GLASS_BISCUIT_ISSUED); yieldOrder.setGlassBiscuitStatus(YieldOrder.GLASS_BISCUIT_ISSUED);
this.updateById(yieldOrder); this.updateById(yieldOrder);
} }
} }
if(CollectionUtils.isNotEmpty(idList)){ if (CollectionUtils.isNotEmpty(idList)) {
//生成的烧结子订单也需要进行合规性校验,另起线程异步执行 //生成的烧结子订单也需要进行合规性校验,另起线程异步执行
CompletableFuture.runAsync(() -> { CompletableFuture.runAsync(() -> {
this.dataVerify(idList); this.dataVerify(idList);
@ -1441,14 +1448,14 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
} }
} }
private int getMaxCodeByPattern(String codePattern, int len){ private int getMaxCodeByPattern(String codePattern, int len) {
// 自增值 // 自增值
int num = 0; int num = 0;
LambdaQueryWrapper<YieldOrder> wrapper = Wrappers.lambdaQuery(YieldOrder.class) LambdaQueryWrapper<YieldOrder> wrapper = Wrappers.lambdaQuery(YieldOrder.class)
.likeRight(YieldOrder::getBatchNo, codePattern) .likeRight(YieldOrder::getBatchNo, codePattern)
.orderBy(true, false, YieldOrder::getYoCode); .orderBy(true, false, YieldOrder::getYoCode);
List<YieldOrder> yieldOrderList = baseMapper.selectList(wrapper); List<YieldOrder> yieldOrderList = baseMapper.selectList(wrapper);
if(!CollectionUtils.isEmpty(yieldOrderList)){ if (!CollectionUtils.isEmpty(yieldOrderList)) {
YieldOrder yieldOrder = yieldOrderList.get(0); YieldOrder yieldOrder = yieldOrderList.get(0);
if (yieldOrder != null) { if (yieldOrder != null) {
num = Integer.parseInt(yieldOrder.getBatchNo().substring(codePattern.length(), codePattern.length() + len)); num = Integer.parseInt(yieldOrder.getBatchNo().substring(codePattern.length(), codePattern.length() + len));
@ -1534,8 +1541,8 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
// } // }
if (Func.isNotEmpty(yieldOrder.getProductIdent())) { if (Func.isNotEmpty(yieldOrder.getProductIdent())) {
//根据订单的质量等级去质量等级表查询是否局部镀 //根据订单的质量等级去质量等级表查询是否局部镀
QualityGradeEntity qualityGrade = qualityGradeService.getOne(Wrappers.<QualityGradeEntity>lambdaQuery().eq(QualityGradeEntity::getQualityGrade,yieldOrder.getProductIdent())); QualityGradeEntity qualityGrade = qualityGradeService.getOne(Wrappers.<QualityGradeEntity>lambdaQuery().eq(QualityGradeEntity::getQualityGrade, yieldOrder.getProductIdent()));
if(qualityGrade != null && "1".equals(qualityGrade.getIsLocal())){ if (qualityGrade != null && "1".equals(qualityGrade.getIsLocal())) {
// 若局部镀质量等级存在, 返回一级工艺 // 若局部镀质量等级存在, 返回一级工艺
return DsCraftEnum.RANK_ONE.getCode(); return DsCraftEnum.RANK_ONE.getCode();
} }
@ -1581,8 +1588,8 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
return codePattern + StringPrefixUtils.prefix(String.valueOf(num), "0", len); return codePattern + StringPrefixUtils.prefix(String.valueOf(num), "0", len);
} }
public boolean createBlbYieldOrder(String partCode,Double qty,String memo){ public boolean createBlbYieldOrder(String partCode, Double qty, String memo) {
DsPartEntity dsPart = dsPartService.selectDsPartByPatCodeAndVersion(partCode,null); DsPartEntity dsPart = dsPartService.selectDsPartByPatCodeAndVersion(partCode, null);
String roamNo = yieldOrderClient.getChildRoamNoByPartCode(partCode); String roamNo = yieldOrderClient.getChildRoamNoByPartCode(partCode);
YieldOrder order = new YieldOrder(); YieldOrder order = new YieldOrder();
order.setId(null); order.setId(null);
@ -1633,7 +1640,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
// 下个编码 // 下个编码
if (codeType == 0) { if (codeType == 0) {
codePattern = "WO-B" + DateUtil.today().substring(2); codePattern = "WO-B" + DateUtil.today().substring(2);
}else if(codeType == 2){ } else if (codeType == 2) {
codePattern = "Y" + DateUtil.today().substring(2); codePattern = "Y" + DateUtil.today().substring(2);
} }
return codePattern + StringPrefixUtils.prefix(String.valueOf(num), "0", len); return codePattern + StringPrefixUtils.prefix(String.valueOf(num), "0", len);

@ -73,6 +73,8 @@ import org.springblade.system.cache.UserCache;
import org.springblade.system.feign.IDictClient; import org.springblade.system.feign.IDictClient;
import org.springblade.system.pojo.entity.Dict; import org.springblade.system.pojo.entity.Dict;
import org.springblade.system.pojo.entity.User; import org.springblade.system.pojo.entity.User;
import org.springblade.wms.feign.StGlassCakeOutClient;
import org.springblade.wms.pojo.dto.StGlassCakeOutDTO;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -105,6 +107,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
private final IWorkPlanService workPlanService; private final IWorkPlanService workPlanService;
private final StGlassCakeOutClient stGlassCakeOutClient;
// 关键:用set方法注入 // 关键:用set方法注入
// @Autowired // @Autowired
@ -1993,6 +1996,18 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
workOrder.setOem("1"); workOrder.setOem("1");
workOrder.setOemOut("0"); workOrder.setOemOut("0");
this.updateById(workOrder); this.updateById(workOrder);
try {
YieldOrder yieldOrder = yieldOrderService.getById(workOrder.getYoId());
// 玻璃封接退火
if (yieldOrder.getYieldType() == YieldOrderEnum.YIELD_TYPE_4.getCode() && frontWorkPlan != null && 63 == frontWorkPlan.getPpsId()) {
StGlassCakeOutDTO stGlassCakeOutDTO = new StGlassCakeOutDTO();
stGlassCakeOutDTO.setYoCode(yieldOrder.getYoCode());
stGlassCakeOutClient.callGeneratePreOutOrder(stGlassCakeOutDTO);
}
} catch (Exception e) {
log.error("调用玻璃饼出库接口失败", e);
}
} }
@Override @Override
@ -2623,14 +2638,14 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
@Override @Override
public Boolean isTransferTest(Long woId) { public Boolean isTransferTest(Long woId) {
WorkOrder workOrder = this.getById(woId); WorkOrder workOrder = this.getById(woId);
if(workOrder == null){ if (workOrder == null) {
return false; return false;
} }
YieldOrder yieldOrder = yieldOrderService.getById(workOrder.getYoId()); YieldOrder yieldOrder = yieldOrderService.getById(workOrder.getYoId());
if(yieldOrder == null){ if (yieldOrder == null) {
return false; return false;
} }
List<DsProcessProjectVO> dsProcessProjectEntities = dsPartService.selectDsProcessProjectByCraftId(yieldOrder.getCraftId(),null); List<DsProcessProjectVO> dsProcessProjectEntities = dsPartService.selectDsProcessProjectByCraftId(yieldOrder.getCraftId(), null);
if (dsProcessProjectEntities == null || dsProcessProjectEntities.isEmpty()) { if (dsProcessProjectEntities == null || dsProcessProjectEntities.isEmpty()) {
return false; return false;
} }
@ -2654,7 +2669,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
// 转换查询结果 // 转换查询结果
List<Map<String, String>> result = new ArrayList<>(); List<Map<String, String>> result = new ArrayList<>();
if (mapList != null && !mapList.isEmpty()) { if (mapList != null && !mapList.isEmpty()) {
for (Map<String,String> map : mapList) { for (Map<String, String> map : mapList) {
Map<String, String> item = new HashMap<>(); Map<String, String> item = new HashMap<>();
item.put("value", map.get("KEY") != null ? map.get("KEY") : ""); item.put("value", map.get("KEY") != null ? map.get("KEY") : "");
item.put("label", map.get("VALUE") != null ? map.get("VALUE") : ""); item.put("label", map.get("VALUE") != null ? map.get("VALUE") : "");
@ -2665,24 +2680,24 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} }
@Override @Override
public Map<String,Object> queryAllocationMess(AllocationMessPageDTO dto) { public Map<String, Object> queryAllocationMess(AllocationMessPageDTO dto) {
List<AllocationMessVO> allocationMessList = erpDataLogisticsClient.queryAllocationMess(dto).getData(); List<AllocationMessVO> allocationMessList = erpDataLogisticsClient.queryAllocationMess(dto).getData();
int totalAllocationMessNum = erpDataLogisticsClient.queryAllocationMessNum(dto).getData(); int totalAllocationMessNum = erpDataLogisticsClient.queryAllocationMessNum(dto).getData();
Map<String,Object> result = new HashMap<>(3); Map<String, Object> result = new HashMap<>(3);
result.put("current",dto.getCurrent()); result.put("current", dto.getCurrent());
result.put("records",allocationMessList); result.put("records", allocationMessList);
result.put("total",totalAllocationMessNum); result.put("total", totalAllocationMessNum);
return result; return result;
} }
@Override @Override
public Map<String,Object> queryAllocationStatistics(AllocationMessPageDTO dto) { public Map<String, Object> queryAllocationStatistics(AllocationMessPageDTO dto) {
List<AllocationMessVO> allocationMessList = erpDataLogisticsClient.queryAllocationStatistics(dto).getData(); List<AllocationMessVO> allocationMessList = erpDataLogisticsClient.queryAllocationStatistics(dto).getData();
int totalAllocationMessNum = erpDataLogisticsClient.queryAllocationStatisticsNum(dto).getData(); int totalAllocationMessNum = erpDataLogisticsClient.queryAllocationStatisticsNum(dto).getData();
Map<String,Object> result = new HashMap<>(3); Map<String, Object> result = new HashMap<>(3);
result.put("current",dto.getCurrent()); result.put("current", dto.getCurrent());
result.put("records",allocationMessList); result.put("records", allocationMessList);
result.put("total",totalAllocationMessNum); result.put("total", totalAllocationMessNum);
return result; return result;
} }
@ -2726,7 +2741,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
WorkOrder workOrder = this.getById(woId); WorkOrder workOrder = this.getById(woId);
String cardNo = workOrder.getCardNo(); String cardNo = workOrder.getCardNo();
// 处理每个测试项 // 处理每个测试项
processTestItems(testList, batchNo, quantity, woCode, remark, partCode, partName, productType, pptCode, workPlan, user,cardNo); processTestItems(testList, batchNo, quantity, woCode, remark, partCode, partName, productType, pptCode, workPlan, user, cardNo);
} }
private String generatePptCode() { private String generatePptCode() {
@ -2755,14 +2770,14 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
private WorkPlan findRelevantWorkPlan(Long woId) { private WorkPlan findRelevantWorkPlan(Long woId) {
WorkOrder workOrder = this.getById(woId); WorkOrder workOrder = this.getById(woId);
YieldOrder yieldOrder = yieldOrderService.getById(workOrder.getYoId()); YieldOrder yieldOrder = yieldOrderService.getById(workOrder.getYoId());
List<DsProcessProjectVO> dsProcessProjectEntities = dsPartService.selectDsProcessProjectByCraftId(yieldOrder.getCraftId(),null); List<DsProcessProjectVO> dsProcessProjectEntities = dsPartService.selectDsProcessProjectByCraftId(yieldOrder.getCraftId(), null);
WorkPlan prWorkPlan = null; WorkPlan prWorkPlan = null;
if (dsProcessProjectEntities != null && !dsProcessProjectEntities.isEmpty()) { if (dsProcessProjectEntities != null && !dsProcessProjectEntities.isEmpty()) {
for (DsProcessProjectVO dsProcessProjectEntity : dsProcessProjectEntities) { for (DsProcessProjectVO dsProcessProjectEntity : dsProcessProjectEntities) {
if ("承压检测".equals(dsProcessProjectEntity.getProjectName())) { if ("承压检测".equals(dsProcessProjectEntity.getProjectName())) {
prWorkPlan = workPlanService.getOne(new LambdaQueryWrapper<WorkPlan>() prWorkPlan = workPlanService.getOne(new LambdaQueryWrapper<WorkPlan>()
.eq(WorkPlan::getWoId, woId) .eq(WorkPlan::getWoId, woId)
.eq(WorkPlan::getOrders,dsProcessProjectEntity.getProcessNo())); .eq(WorkPlan::getOrders, dsProcessProjectEntity.getProcessNo()));
} }
} }
} }
@ -2771,7 +2786,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
private void processTestItems(JSONArray testList, String batchNo, Integer quantity, String woCode, String remark, private void processTestItems(JSONArray testList, String batchNo, Integer quantity, String woCode, String remark,
String partCode, String partName, String productType, String pptCode, String partCode, String partName, String productType, String pptCode,
WorkPlan workPlan, BladeUser user,String cardNo) throws Exception { WorkPlan workPlan, BladeUser user, String cardNo) throws Exception {
for (int i = 0; i < testList.size(); i++) { for (int i = 0; i < testList.size(); i++) {
JSONObject object = testList.getObject(i, JSONObject.class); JSONObject object = testList.getObject(i, JSONObject.class);
String value = object.getString("value"); String value = object.getString("value");
@ -2782,7 +2797,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
); );
if (response != null) { if (response != null) {
saveTestRecord(workPlan, user, value, label, pptCode, response, i + 1,cardNo); saveTestRecord(workPlan, user, value, label, pptCode, response, i + 1, cardNo);
} else { } else {
throw new BusinessException("LIMS系统接口调用失败,请联系相关负责人处理。"); throw new BusinessException("LIMS系统接口调用失败,请联系相关负责人处理。");
} }
@ -2790,7 +2805,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} }
private void saveTestRecord(WorkPlan workPlan, BladeUser user, String testKey, String testName, private void saveTestRecord(WorkPlan workPlan, BladeUser user, String testKey, String testName,
String pptCode, JSONObject response, int sequence,String cardNo) { String pptCode, JSONObject response, int sequence, String cardNo) {
PlanTest prPlanTest = new PlanTest(); PlanTest prPlanTest = new PlanTest();
prPlanTest.setWpId(workPlan.getId()); prPlanTest.setWpId(workPlan.getId());
prPlanTest.setTestUserId(user.getUserId()); prPlanTest.setTestUserId(user.getUserId());

@ -610,14 +610,19 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
try { try {
responseEntity = httpClientTemplate.postForEntity(newErpUrl + "/api/mms/qms/qmsrepairapply/qmsRepairApplyRest/saveQmsRepairApply/v1", entity, JSONObject.class); responseEntity = httpClientTemplate.postForEntity(newErpUrl + "/api/mms/qms/qmsrepairapply/qmsRepairApplyRest/saveQmsRepairApply/v1", entity, JSONObject.class);
JSONObject result = responseEntity.getBody(); JSONObject result = responseEntity.getBody();
if (result == null || !result.getString("retCode").equals("200")) {
throw new ServiceException("审理单接口调用失败,原因:" + result.getString("errorDesc"));
}
responseBody = result.getJSONObject("responseBody"); responseBody = result.getJSONObject("responseBody");
if (responseBody == null) { if (responseBody == null) {
throw new ServiceException("审理单,接口返回值null"); throw new ServiceException("审理单,接口返回值null");
} }
} catch (Exception e) { } catch (Exception e) {
throw new ServiceException("审理单,接口返回值null"); throw new ServiceException("审理单调用异常,原因:" + e.getMessage());
} }
rs.setErpId(responseBody.getString("trialId"));
rs.setRsCode(responseBody.getString("trialNo"));
this.updateById(rs);
} }
return R.success("成功"); return R.success("成功");
} }

Loading…
Cancel
Save