1. 分派特殊工序处理(工序表:bs_process_set)

2. 异常订单-数据缺失:修改后调用合规校验接口
liweidong
liuqingkun 1 month ago
parent f53d87c04f
commit 39fcd23178
  1. 5
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/constant/BizTypeConstant.java
  2. 31
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/entity/MesNotifyMessageEntity.java
  3. 11
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/BsTeamSetEntity.java
  4. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesNotifyMessageService.java
  5. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesNotifyMessageServiceImpl.java
  6. 18
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsTeamSetService.java
  7. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsTeamSetServiceImpl.java
  8. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldDemandController.java
  9. 15
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/PlateGoodsApplyController.java
  10. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/YieldOrderController.java
  11. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/YieldPlanMapper.xml
  12. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IMoldDemandService.java
  13. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java
  14. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldPlanService.java
  15. 50
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/MoldDemandServiceImpl.java
  16. 18
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderCraftServiceImpl.java
  17. 76
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java
  18. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldPlanServiceImpl.java
  19. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IProReTemplateService.java
  20. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java

@ -6,4 +6,9 @@ package org.springblade.desk.common.constant;
* @create 2026-02-26 14:40 * @create 2026-02-26 14:40
*/ */
public interface BizTypeConstant { public interface BizTypeConstant {
/**
* 镀层物料添加量申报
*/
String GOODS_APPLY = "镀层物料添加量申报";
} }

@ -1,34 +1,8 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.desk.common.pojo.entity; package org.springblade.desk.common.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.*;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial; import java.io.Serial;
@ -39,6 +13,9 @@ import java.io.Serial;
* @since 2026-02-26 * @since 2026-02-26
*/ */
@Data @Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("MES_NOTIFY_MESSAGE") @TableName("MES_NOTIFY_MESSAGE")
@Schema(description = "MesNotifyMessage对象") @Schema(description = "MesNotifyMessage对象")
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,15 +25,14 @@
*/ */
package org.springblade.desk.dashboard.pojo.entity; package org.springblade.desk.dashboard.pojo.entity;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal; import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Date; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.tenant.mp.TenantEntity;
import java.io.Serial; import java.io.Serial;
import java.math.BigDecimal;
/** /**
* 班组设置表 实体类 * 班组设置表 实体类
@ -115,6 +114,6 @@ public class BsTeamSetEntity extends BaseEntity {
* 作业中心外键 * 作业中心外键
*/ */
@Schema(description = "作业中心(外键)") @Schema(description = "作业中心(外键)")
private BigDecimal wcId; private Long wcId;
} }

@ -55,4 +55,14 @@ public interface IMesNotifyMessageService extends BaseService<MesNotifyMessageEn
* @return * @return
*/ */
boolean updateReadStatus(List<Long> ids); boolean updateReadStatus(List<Long> ids);
/**
* 新增消息提醒
* @param bizType
* @param title
* @param content
* @param receiveUserId
* @return
*/
boolean saveMsg(String bizType, String title, String content, Long receiveUserId);
} }

@ -31,7 +31,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.desk.common.mapper.MesNotifyMessageMapper; import org.springblade.desk.common.mapper.MesNotifyMessageMapper;
import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity; import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO; import org.springblade.desk.common.pojo.vo.MesNotifyMessageVO;
@ -81,9 +80,20 @@ public class MesNotifyMessageServiceImpl extends BaseServiceImpl<MesNotifyMessag
@Override @Override
public boolean updateReadStatus(List<Long> ids) { public boolean updateReadStatus(List<Long> ids) {
this.update(new LambdaUpdateWrapper<MesNotifyMessageEntity>() this.update(new LambdaUpdateWrapper<MesNotifyMessageEntity>()
.in(MesNotifyMessageEntity::getId, ids) .in(MesNotifyMessageEntity::getId, ids)
.set(MesNotifyMessageEntity::getStatus, 1)); .set(MesNotifyMessageEntity::getStatus, 1));
return true; return true;
} }
@Override
public boolean saveMsg(String bizType, String title, String content, Long receiveUserId) {
MesNotifyMessageEntity mesNotifyMessage = MesNotifyMessageEntity.builder()
.bizType(bizType)
.title(title)
.content(content)
.receiveUserId(receiveUserId)
.build();
return this.save(mesNotifyMessage);
}
} }

@ -26,12 +26,13 @@
package org.springblade.desk.dashboard.service; package org.springblade.desk.dashboard.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.dashboard.excel.BsTeamSetExcel;
import org.springblade.desk.dashboard.pojo.entity.BsTeamSetEntity; import org.springblade.desk.dashboard.pojo.entity.BsTeamSetEntity;
import org.springblade.desk.dashboard.pojo.vo.BsTeamSetEntityVO; import org.springblade.desk.dashboard.pojo.vo.BsTeamSetEntityVO;
import org.springblade.desk.dashboard.pojo.vo.BsTeamSetVO; import org.springblade.desk.dashboard.pojo.vo.BsTeamSetVO;
import org.springblade.desk.dashboard.excel.BsTeamSetExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import java.util.List; import java.util.List;
/** /**
@ -69,8 +70,17 @@ public interface IBsTeamSetService extends BaseService<BsTeamSetEntity> {
/** /**
* 根据班组ID查询 * 根据班组ID查询
*
* @param tsId * @param tsId
* @return * @return
*/ */
BsTeamSetEntity selectBsTeamSetByTsId(Long tsId); BsTeamSetEntity selectBsTeamSetByTsId(Long tsId);
/**
* 根据班组名称查询
*
* @param teamName
* @return
*/
BsTeamSetEntity selectByTeamName(String teamName);
} }

@ -25,6 +25,7 @@
*/ */
package org.springblade.desk.dashboard.service.impl; package org.springblade.desk.dashboard.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springblade.desk.dashboard.pojo.entity.BsTeamSetEntity; import org.springblade.desk.dashboard.pojo.entity.BsTeamSetEntity;
import org.springblade.desk.dashboard.pojo.vo.BsTeamSetEntityVO; import org.springblade.desk.dashboard.pojo.vo.BsTeamSetEntityVO;
import org.springblade.desk.dashboard.pojo.vo.BsTeamSetVO; import org.springblade.desk.dashboard.pojo.vo.BsTeamSetVO;
@ -75,4 +76,9 @@ public class BsTeamSetServiceImpl extends BaseServiceImpl<BsTeamSetMapper, BsTea
return bsTeamSetMapper.selectById(tsId); return bsTeamSetMapper.selectById(tsId);
} }
@Override
public BsTeamSetEntity selectByTeamName(String teamName) {
return bsTeamSetMapper.selectOne(Wrappers.lambdaQuery(BsTeamSetEntity.class).eq(BsTeamSetEntity::getTsName, teamName));
}
} }

@ -64,6 +64,17 @@ public class MoldDemandController extends BladeController {
return R.data(vo); return R.data(vo);
} }
/**
* 根据订单ID生成模具烧结需求
*/
@GetMapping("/createByOderId")
@Operation(summary = "详情", description = "")
public R<MoldDemandVo> createByOderId(String orderId) {
Boolean result = moldDemandService.createByOderId(orderId);
return R.success();
}
/** /**
* 批量关闭 * 批量关闭
*/ */

@ -14,6 +14,8 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.common.constant.BizTypeConstant;
import org.springblade.desk.common.service.IMesNotifyMessageService;
import org.springblade.desk.order.pojo.entity.AssayContentDetail; import org.springblade.desk.order.pojo.entity.AssayContentDetail;
import org.springblade.desk.order.pojo.entity.PlateGoodsApply; import org.springblade.desk.order.pojo.entity.PlateGoodsApply;
import org.springblade.desk.order.pojo.entity.PlateGoodsRecord; import org.springblade.desk.order.pojo.entity.PlateGoodsRecord;
@ -41,6 +43,7 @@ public class PlateGoodsApplyController extends BladeController {
private final IPlateGoodsApplyService plateGoodsApplyService; private final IPlateGoodsApplyService plateGoodsApplyService;
private final IPlateGoodsApplyDetailService plateGoodsApplyDetailService; private final IPlateGoodsApplyDetailService plateGoodsApplyDetailService;
private final IMesNotifyMessageService mesNotifyMessageService;
/** /**
* 分页 * 分页
@ -82,11 +85,13 @@ public class PlateGoodsApplyController extends BladeController {
@Operation(summary = "新增", description = "") @Operation(summary = "新增", description = "")
public R save(@Valid @RequestBody PlateGoodsApplySave saveData) { public R save(@Valid @RequestBody PlateGoodsApplySave saveData) {
PlateGoodsApply apply = saveData.getApply(); PlateGoodsApply apply = saveData.getApply();
List<AssayContentDetail> assayContentDetailList = saveData.getAssayContentDetailList(); List<AssayContentDetail> assayContentDetailList = saveData.getAssayContentDetailList();
List<Long> recordIdList = saveData.getRecordIdList(); List<Long> recordIdList = saveData.getRecordIdList();
plateGoodsApplyService.save(apply, assayContentDetailList, recordIdList); plateGoodsApplyService.save(apply, assayContentDetailList, recordIdList);
return R.status(true);
} mesNotifyMessageService.saveMsg(BizTypeConstant.GOODS_APPLY, "", "", apply.getApprovalMan());
return R.status(true);
}
/** /**
* 批量审核 * 批量审核

@ -154,7 +154,8 @@ public class YieldOrderController extends BladeController {
@Operation(summary = "修改", description = "") @Operation(summary = "修改", description = "")
public R update(@Valid @RequestBody YieldOrder entity) { public R update(@Valid @RequestBody YieldOrder entity) {
Boolean result = yieldOrderService.updateById(entity); Boolean result = yieldOrderService.updateById(entity);
return R.status(result); String msg = yieldOrderService.dataVerify(Func.toLongList(entity.getId().toString()));
return R.success(msg);
} }
/** /**

@ -74,8 +74,7 @@
</where> </where>
</select> </select>
<select id="getSelectTime" resultType="java.lang.String"> <select id="getSelectTime" resultType="java.lang.String">
select to_date(DICT_VALUE,'yyyy-mm-dd hh24:mi:ss') select to_date(DICT_VALUE,'yyyy-mm-dd hh24:mi:ss') AS vSelectTime
AS vSelectTime
from BLADE_DICT from BLADE_DICT
<where> <where>
<if test="sycnTime != null"> <if test="sycnTime != null">

@ -29,4 +29,11 @@ public interface IMoldDemandService extends BaseService<MoldDemand> {
* @return * @return
*/ */
boolean save(List<MoldDemand> planList); boolean save(List<MoldDemand> planList);
/**
* 根据订单id生成烧结模具需求
* @param orderId
* @return
*/
boolean createByOderId(String orderId);
} }

@ -100,6 +100,14 @@ public interface IYieldOrderService extends BaseService<YieldOrder> {
*/ */
Boolean checkCode(String yieldOrderId, String yieldOrderCode); Boolean checkCode(String yieldOrderId, String yieldOrderCode);
/**
* 生产烧结子件订单
*
* @param yieldOrder
* @return
*/
Boolean createSubOrder(YieldOrder yieldOrder);
/** /**
* 订单校验-数据 * 订单校验-数据
* *

@ -32,6 +32,14 @@ public interface IYieldPlanService extends BaseService<YieldPlan> {
*/ */
IPage<YieldPlan> selectPageSintering(IPage<YieldPlan> page, YieldPlan entity); IPage<YieldPlan> selectPageSintering(IPage<YieldPlan> page, YieldPlan entity);
/**
* 根据编码查询生产计划
*
* @param code
* @return
*/
YieldPlan getByCode(String code);
/** /**
* 根据生产计划ID获取二级工艺 * 根据生产计划ID获取二级工艺
* *

@ -9,6 +9,8 @@ import org.springblade.desk.order.mapper.MoldDemandMapper;
import org.springblade.desk.order.pojo.entity.MoldDemand; import org.springblade.desk.order.pojo.entity.MoldDemand;
import org.springblade.desk.order.pojo.enums.MoldDemandEnum; import org.springblade.desk.order.pojo.enums.MoldDemandEnum;
import org.springblade.desk.order.service.IMoldDemandService; import org.springblade.desk.order.service.IMoldDemandService;
import org.springblade.desk.order.service.IYieldOrderService;
import org.springblade.desk.order.service.IYieldPlanService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -23,6 +25,8 @@ import java.util.List;
public class MoldDemandServiceImpl extends BaseServiceImpl<MoldDemandMapper, MoldDemand> implements IMoldDemandService { public class MoldDemandServiceImpl extends BaseServiceImpl<MoldDemandMapper, MoldDemand> implements IMoldDemandService {
private final IDsPartService dsPartService; private final IDsPartService dsPartService;
private final IYieldPlanService planService;
private final IYieldOrderService orderService;
@Override @Override
public IPage<MoldDemand> selectPage(IPage<MoldDemand> page, MoldDemand entity) { public IPage<MoldDemand> selectPage(IPage<MoldDemand> page, MoldDemand entity) {
@ -47,4 +51,50 @@ public class MoldDemandServiceImpl extends BaseServiceImpl<MoldDemandMapper, Mol
return this.saveBatch(planList); return this.saveBatch(planList);
} }
@Override
public boolean createByOderId(String orderId) {
// TODO 如何根据生产订单确定需要的工装和模具
// YieldOrder order = orderService.getById(orderId);
// MoldDemand moldDemand = new MoldDemand();
// moldDemand.setMdCode();
// moldDemand.setPartCode(order.getPartCode());
// moldDemand.setPartName(order.getPartName());
// /**
// * 工装编码
// */
// private String toolCode;
//
// /**
// * 工装名称
// */
// private String toolName;
//
//
// moldDemand.setDemandNum(order.getYpQty());
// moldDemand.setOccupyNum(order.getYpQty().intValue());
// moldDemand.setLinkOrderIds(order.getId().toString());
//
// /**
// * 模具编码
// */
// @TableField(value = "MO_CODE")
// private String moCode;
//
// /**
// * 模具名称
// */
// @TableField(value = "MO_NAME")
// private String moName;
//
// moldDemand.setQuantity(Long.valueOf(order.getYpQty().toString()));
// YieldPlan yieldPlan = planService.getByCode(order.getYpCode());
// if (Func.isNotEmpty(yieldPlan)) {
// moldDemand.setYpId(yieldPlan.getId());
// }
//
// List<MoldDemand> planList = new ArrayList<>();
// planList.add(moldDemand);
// return this.save(planList);
return true;
}
} }

@ -18,8 +18,12 @@ import org.springblade.desk.basic.service.IOemCraftAbilityService;
import org.springblade.desk.basic.service.IOemService; import org.springblade.desk.basic.service.IOemService;
import org.springblade.desk.basic.service.IWorkCenterService; import org.springblade.desk.basic.service.IWorkCenterService;
import org.springblade.desk.dashboard.pojo.entity.BsCraftAbilityEntity; import org.springblade.desk.dashboard.pojo.entity.BsCraftAbilityEntity;
import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity;
import org.springblade.desk.dashboard.pojo.entity.BsTeamSetEntity;
import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity; import org.springblade.desk.dashboard.pojo.entity.BsWorkCenterEntity;
import org.springblade.desk.dashboard.service.IBsCraftAbilityService; import org.springblade.desk.dashboard.service.IBsCraftAbilityService;
import org.springblade.desk.dashboard.service.IBsProcessSetService;
import org.springblade.desk.dashboard.service.IBsTeamSetService;
import org.springblade.desk.order.mapper.YieldOrderCraftMapper; import org.springblade.desk.order.mapper.YieldOrderCraftMapper;
import org.springblade.desk.order.pojo.dto.YieldOrderAssignCount; import org.springblade.desk.order.pojo.dto.YieldOrderAssignCount;
import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.pojo.entity.YieldOrder;
@ -53,6 +57,8 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
private final IYieldOrderDailyAssignService dailyAssignService; private final IYieldOrderDailyAssignService dailyAssignService;
private final IYieldOrderAssignSteerService assignSteerService; private final IYieldOrderAssignSteerService assignSteerService;
private final IBsProcessSetService processSetService;
private final IBsTeamSetService teamSetService;
@Override @Override
public IPage<YieldOrderCraft> selectPage(IPage<YieldOrderCraft> page, YieldOrderCraft entity) { public IPage<YieldOrderCraft> selectPage(IPage<YieldOrderCraft> page, YieldOrderCraft entity) {
@ -375,7 +381,17 @@ public class YieldOrderCraftServiceImpl extends BaseServiceImpl<YieldOrderCraftM
// 开始分派到作业中心 // 开始分派到作业中心
for (YieldOrderCraft orderCraft : orderCrafts) { for (YieldOrderCraft orderCraft : orderCrafts) {
BsWorkCenterEntity workCenter = workCenterMap.get(orderCraft.getCaId()); Long centerId = orderCraft.getWorkCenterId();
// 判定是否是特殊工序
BsProcessSetEntity processSet = processSetService.selectBsProcessSetByProcessCode(orderCraft.getProcessCode());
if (Func.isNotEmpty(processSet) && Func.isNotBlank(processSet.getTeam())) {
BsTeamSetEntity teamSetEntity = teamSetService.selectByTeamName(processSet.getTeam());
if (Func.isNotEmpty(teamSetEntity)) {
centerId = teamSetEntity.getWcId();
}
}
BsWorkCenterEntity workCenter = workCenterMap.get(centerId);
orderCraft.setWorkCenterId(workCenter.getId()); orderCraft.setWorkCenterId(workCenter.getId());
orderCraft.setIsOutsource(Boolean.FALSE); orderCraft.setIsOutsource(Boolean.FALSE);
} }

@ -229,6 +229,46 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
return ObjectUtil.isNotEmpty(yieldPlan); return ObjectUtil.isNotEmpty(yieldPlan);
} }
@Override
public Boolean createSubOrder(YieldOrder yieldOrder) {
// 4. 如果是烧结订单并且不是返工单据,则需要验证子件清单是否存在,存在跳过,不存在则新增
if (YieldOrderEnum.YIELD_TYPE_2.equals(yieldOrder.getYieldType())
&& StringUtils.isBlank(yieldOrder.getReworkCode())) {
//验证订单是否存在当前B号,如果不存在则不能下发
if (StringUtils.isBlank(yieldOrder.getRoamNo())) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("订单不存在B号,请手动匹配B号!");
this.updateById(yieldOrder);
return false;
}
String roamNoText = dsPartService.findNameByRoamNo(yieldOrder.getPartCode(), yieldOrder.getRoamNo());
if (StringUtils.isBlank(roamNoText)) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("未找到ERP一级B号路线,请核查!");
this.updateById(yieldOrder);
}
// 验证烧结订单的b号描述,如果包含封接字样则验证子件,不包含则不验证
if (roamNoText.contains(YieldOrderConst.ROAMNO_TEXT_FJ)) {
try {
this.saveSubYieldOrder(yieldOrder, Boolean.FALSE, yieldOrder.getReceiveUser());
} catch (BusinessException e) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo(e.getErrorMessage());
this.updateById(yieldOrder);
}
}
return true;
}
log.info("订单{}不是烧结订单,无需生成子件订单", yieldOrder.getYoCode());
return false;
}
@Override @Override
public Boolean verifyYieldOrderData(YieldOrder yieldOrder) { public Boolean verifyYieldOrderData(YieldOrder yieldOrder) {
// 1. 验证是否已有该流程卡号的数据, 若已有 // 1. 验证是否已有该流程卡号的数据, 若已有
@ -268,38 +308,6 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
return true; return true;
} }
// 4. 如果是烧结订单并且不是返工单据,则需要验证子件清单是否存在,存在跳过,不存在则新增
if (YieldOrderEnum.YIELD_TYPE_2.equals(yieldOrder.getYieldType())
&& StringUtils.isBlank(yieldOrder.getReworkCode())) {
//验证订单是否存在当前B号,如果不存在则不能下发
if (StringUtils.isBlank(yieldOrder.getRoamNo())) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("订单不存在B号,请手动匹配B号!");
this.updateById(yieldOrder);
return false;
}
String roamNoText = dsPartService.findNameByRoamNo(yieldOrder.getPartCode(), yieldOrder.getRoamNo());
if (StringUtils.isBlank(roamNoText)) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("未找到ERP一级B号路线,请核查!");
this.updateById(yieldOrder);
}
// 验证烧结订单的b号描述,如果包含封接字样则验证子件,不包含则不验证
if (roamNoText.contains(YieldOrderConst.ROAMNO_TEXT_FJ)) {
try {
this.saveSubYieldOrder(yieldOrder, Boolean.FALSE, yieldOrder.getReceiveUser());
} catch (BusinessException e) {
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_DATA.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo(e.getErrorMessage());
this.updateById(yieldOrder);
}
}
}
//TODO 急件维护标识厂内, 急件维护功能未添加 //TODO 急件维护标识厂内, 急件维护功能未添加
// pjAutomaticDispatchService.urgentUpholdOrder(yieldOrder); // pjAutomaticDispatchService.urgentUpholdOrder(yieldOrder);
@ -389,7 +397,11 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
boolean saveBatch = yieldOrderCraftService.saveBatch(yieldOrderCraftList); boolean saveBatch = yieldOrderCraftService.saveBatch(yieldOrderCraftList);
log.info("添加数据返回结果:{}",saveBatch); log.info("添加数据返回结果:{}",saveBatch);
} }
// 生成子件订单
createSubOrder(yieldOrder);
// TODO 生成模具计划
// TODO 生成物料需求
return Boolean.TRUE; return Boolean.TRUE;
} }

@ -68,6 +68,11 @@ public class YieldPlanServiceImpl extends BaseServiceImpl<YieldPlanMapper, Yield
return page.setRecords(dataList); return page.setRecords(dataList);
} }
@Override
public YieldPlan getByCode(String code) {
return baseMapper.selectOne(Wrappers.lambdaQuery(YieldPlan.class).eq(YieldPlan::getYpCode, code));
}
@Override @Override
public JSONObject getCraftData(Long yieldPlanId) { public JSONObject getCraftData(Long yieldPlanId) {
JSONObject resultJson = new JSONObject(); JSONObject resultJson = new JSONObject();

@ -53,5 +53,5 @@ public interface IProReTemplateService extends EnBaseService<ProReTemplate> {
R removeFromDetail(Long tankId); R removeFromDetail(Long tankId);
List<ProReTemplate> getDataByWcIdAndPpsId(BigDecimal wcId, Long ppsId, Boolean aTrue); List<ProReTemplate> getDataByWcIdAndPpsId(Long wcId, Long ppsId, Boolean aTrue);
} }

@ -157,7 +157,7 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
} }
@Override @Override
public List<ProReTemplate> getDataByWcIdAndPpsId(BigDecimal wcId, Long ppsId, Boolean aTrue) { public List<ProReTemplate> getDataByWcIdAndPpsId(Long wcId, Long ppsId, Boolean aTrue) {
LambdaQueryWrapper<ProReTemplate> queryWrapper = Wrappers.lambdaQuery(ProReTemplate.class); LambdaQueryWrapper<ProReTemplate> queryWrapper = Wrappers.lambdaQuery(ProReTemplate.class);
queryWrapper.eq(wcId != null, ProReTemplate::getWcId, wcId); queryWrapper.eq(wcId != null, ProReTemplate::getWcId, wcId);
queryWrapper.eq(ProReTemplate::getPpsId, ppsId); queryWrapper.eq(ProReTemplate::getPpsId, ppsId);

Loading…
Cancel
Save