|
|
|
|
@ -9,7 +9,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
|
import org.springblade.common.constant.CommonConstant; |
|
|
|
|
@ -37,7 +36,10 @@ import org.springblade.desk.order.constant.YieldOrderConst; |
|
|
|
|
import org.springblade.desk.order.mapper.MoldDemandMapper; |
|
|
|
|
import org.springblade.desk.order.mapper.YieldOrderMapper; |
|
|
|
|
import org.springblade.desk.order.mapper.YieldPlanMapper; |
|
|
|
|
import org.springblade.desk.order.pojo.entity.*; |
|
|
|
|
import org.springblade.desk.order.pojo.entity.MoldDemand; |
|
|
|
|
import org.springblade.desk.order.pojo.entity.YieldOrder; |
|
|
|
|
import org.springblade.desk.order.pojo.entity.YieldOrderCraft; |
|
|
|
|
import org.springblade.desk.order.pojo.entity.YieldPlan; |
|
|
|
|
import org.springblade.desk.order.pojo.enums.MoldDemandEnum; |
|
|
|
|
import org.springblade.desk.order.pojo.enums.YieldOrderEnum; |
|
|
|
|
import org.springblade.desk.order.pojo.vo.LineMemoVo; |
|
|
|
|
@ -48,7 +50,9 @@ import org.springblade.desk.produce.mapper.WorkOrderMapper; |
|
|
|
|
import org.springblade.desk.produce.pojo.entity.WorkOrder; |
|
|
|
|
import org.springblade.erpdata.feign.IErpYieldOrderClient; |
|
|
|
|
import org.springblade.scheduling.pojo.entity.QualityGradeEntity; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
|
import org.springframework.context.annotation.Lazy; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
@ -66,31 +70,55 @@ import java.util.stream.Collectors; |
|
|
|
|
* |
|
|
|
|
* @author BladeX |
|
|
|
|
*/ |
|
|
|
|
@RequiredArgsConstructor |
|
|
|
|
@Slf4j |
|
|
|
|
@Service |
|
|
|
|
public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, YieldOrder> implements IYieldOrderService { |
|
|
|
|
|
|
|
|
|
private final IYieldOrderCraftService yieldOrderCraftService; |
|
|
|
|
@Autowired |
|
|
|
|
private IYieldOrderCraftService yieldOrderCraftService; |
|
|
|
|
|
|
|
|
|
private final IDsPartService dsPartService; |
|
|
|
|
@Autowired |
|
|
|
|
private IDsPartService dsPartService; |
|
|
|
|
|
|
|
|
|
private final IDsCraftService dsCraftService; |
|
|
|
|
private final IDsProcessService dsProcessService; |
|
|
|
|
private final WorkOrderMapper workOrderMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private IDsCraftService dsCraftService; |
|
|
|
|
|
|
|
|
|
private final YieldPlanMapper yieldPlanMapper; |
|
|
|
|
@Autowired |
|
|
|
|
private IDsProcessService dsProcessService; |
|
|
|
|
|
|
|
|
|
private final IErpYieldOrderClient yieldOrderClient; |
|
|
|
|
private final IPrYieldOrderService yieldOrderService; |
|
|
|
|
@Autowired |
|
|
|
|
private WorkOrderMapper workOrderMapper; |
|
|
|
|
|
|
|
|
|
private final IQualityGradeService qualityGradeService; |
|
|
|
|
@Autowired |
|
|
|
|
private YieldPlanMapper yieldPlanMapper; |
|
|
|
|
|
|
|
|
|
private final IDsPartRelationService partRelationService; |
|
|
|
|
private final IDsPartVersionService partVersionService; |
|
|
|
|
private final MoldDemandMapper moldDemandMapper; |
|
|
|
|
private final IPlateGoodsRecordService plateGoodsRecordService; |
|
|
|
|
private final IWorkCenterService workCenterService; |
|
|
|
|
@Autowired |
|
|
|
|
private IErpYieldOrderClient yieldOrderClient; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private IPrYieldOrderService yieldOrderService; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private IQualityGradeService qualityGradeService; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private IDsPartRelationService partRelationService; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private IDsPartVersionService partVersionService; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private MoldDemandMapper moldDemandMapper; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private IPlateGoodsRecordService plateGoodsRecordService; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private IWorkCenterService workCenterService; |
|
|
|
|
|
|
|
|
|
@Lazy |
|
|
|
|
@Autowired |
|
|
|
|
private IDsTaskingService dsTaskingService; |
|
|
|
|
|
|
|
|
|
@Value("${business.oldMes.url}") |
|
|
|
|
private String oldMesUrl; |
|
|
|
|
@ -503,10 +531,13 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
this.updateById(yieldOrder); |
|
|
|
|
return Boolean.FALSE; |
|
|
|
|
} |
|
|
|
|
yieldOrder.setReceiveTime(new Date()); |
|
|
|
|
yieldOrder.setReceiveUser(AuthUtil.getUserId()); |
|
|
|
|
yieldOrder.setReceiveStatus(YieldOrderEnum.RECEIVE_STATUS_YES.getCode()); |
|
|
|
|
if(yieldOrder.getYieldType() != YieldOrderEnum.YIELD_TYPE_2.getCode()){ |
|
|
|
|
yieldOrder.setStatus(YieldOrderEnum.STATUS_APS.getCode()); |
|
|
|
|
this.updateById(yieldOrder); |
|
|
|
|
} |
|
|
|
|
this.updateById(yieldOrder); |
|
|
|
|
return Boolean.TRUE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -1277,12 +1308,18 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie |
|
|
|
|
*/ |
|
|
|
|
private Integer judgeRank(YieldOrder yieldOrder) { |
|
|
|
|
DsPartEntity part = dsPartService.selectDsPartByPatCodeAndVersion(yieldOrder.getPartCode(), yieldOrder.getPartVersion()); |
|
|
|
|
//如果零件信息为null,调用
|
|
|
|
|
if(part == null){ |
|
|
|
|
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode()); |
|
|
|
|
yieldOrder.setValidationTime(DateUtil.now()); |
|
|
|
|
yieldOrder.setValidationMomo("未查询到零件信息!"); |
|
|
|
|
this.updateById(yieldOrder); |
|
|
|
|
return null; |
|
|
|
|
log.info("零件信息为null,从老mes同步零件信息"); |
|
|
|
|
boolean result = dsTaskingService.syncPart(null,null,yieldOrder.getPartCode()); |
|
|
|
|
if(!result){ |
|
|
|
|
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode()); |
|
|
|
|
yieldOrder.setValidationTime(DateUtil.now()); |
|
|
|
|
yieldOrder.setValidationMomo("未查询到零件信息!"); |
|
|
|
|
this.updateById(yieldOrder); |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
part = dsPartService.selectDsPartByPatCodeAndVersion(yieldOrder.getPartCode(), yieldOrder.getPartVersion()); |
|
|
|
|
} |
|
|
|
|
// 工作订单备注中包含大小写的HTBY时,执行二级工艺
|
|
|
|
|
if (yieldOrder.getYpMemo() != null && yieldOrder.getYpMemo().toLowerCase(Locale.ROOT).contains("htby")) { |
|
|
|
|
|