合规性校验修改-sjx

master
sunjianxi 6 hours ago
parent c7147943f3
commit d3060302ad
  1. 33
      blade-ops/blade-job/src/main/java/org/springblade/job/processor/dashboard/CalculateCoatingMaterialProcessor.java
  2. 11
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IOrderClient.java
  3. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/OrderClient.java
  4. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/IYieldOrderService.java
  5. 32
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java

@ -0,0 +1,33 @@
package org.springblade.job.processor.dashboard;
import jakarta.annotation.Resource;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.order.feign.IOrderClient;
import org.springframework.stereotype.Component;
import tech.powerjob.worker.core.processor.ProcessResult;
import tech.powerjob.worker.core.processor.TaskContext;
import tech.powerjob.worker.core.processor.sdk.BasicProcessor;
import java.util.concurrent.CompletableFuture;
/**
* 工艺模块-返工任务
* @author liweidong
*/
@Component
@Data
@Slf4j
public class CalculateCoatingMaterialProcessor implements BasicProcessor {
@Resource
private IOrderClient client;
@Override
public ProcessResult process(TaskContext context) throws Exception {
log.info("镀层物料需求任务开始");
CompletableFuture<Void> runFuture = CompletableFuture.runAsync(()->client.calculateCoatingMaterial());
log.info("镀层物料需求任务结束");
return new ProcessResult(true);
}
}

@ -15,9 +15,10 @@ import org.springframework.web.bind.annotation.GetMapping;
)
public interface IOrderClient {
String API_PREFIX = "/feign/order/";
String API_PREFIX = "/feign/client/order/";
String SAVE_GLASS_CAKE = API_PREFIX + "/saveGlassCake";
String CALCULATE_COATING_MATERIAL = API_PREFIX + "/calculateCoatingMaterial";
/**
@ -29,4 +30,12 @@ public interface IOrderClient {
@GetMapping(SAVE_GLASS_CAKE)
Boolean saveGlassCake(YieldPlan yieldPlan);
/**
* 镀层物料需求
*
* @return
*/
@GetMapping(CALCULATE_COATING_MATERIAL)
void calculateCoatingMaterial();
}

@ -29,6 +29,7 @@ import io.swagger.v3.oas.annotations.Hidden;
import lombok.RequiredArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.desk.order.pojo.entity.YieldPlan;
import org.springblade.desk.order.service.IYieldOrderService;
import org.springblade.desk.order.service.IYieldPlanService;
import org.springframework.web.bind.annotation.RestController;
@ -44,10 +45,16 @@ import org.springframework.web.bind.annotation.RestController;
public class OrderClient implements IOrderClient {
private final IYieldPlanService yieldPlanService;
private final IYieldOrderService orderService;
@Override
public Boolean saveGlassCake(YieldPlan yieldPlan) {
yieldPlanService.saveGlassCake(yieldPlan);
return null;
}
@Override
public void calculateCoatingMaterial() {
orderService.calculateCoatingMaterial();
}
}

@ -285,4 +285,6 @@ public interface IYieldOrderService extends BaseService<YieldOrder> {
String nextCode(Object obj);
List<String> getToolByPartCode(String partCode);
void calculateCoatingMaterial();
}

@ -35,10 +35,7 @@ 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.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.entity.*;
import org.springblade.desk.order.pojo.enums.MoldDemandEnum;
import org.springblade.desk.order.pojo.enums.YieldOrderEnum;
import org.springblade.desk.order.pojo.vo.LineMemoVo;
@ -54,6 +51,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.MessageFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
@ -374,7 +374,6 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
DsCraftEntity craft = craftVO.getCraft();
DsPartEntity part = dsPartService.getById(craft.getPartId());
//石墨模不参与验证
if (YieldOrderEnum.YIELD_TYPE_2.getCode() != yieldOrder.getYieldType()
&& YieldOrderEnum.YIELD_TYPE_6.getCode() != yieldOrder.getYieldType() && ObjectUtil.isEmpty(part.getArea())) {
@ -1017,6 +1016,23 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
return list;
}
@Override
public void calculateCoatingMaterial() {
LocalDate today = LocalDate.now();
LocalDateTime startOfDay = today.atStartOfDay();
LocalDateTime endOfDay = today.atTime(LocalTime.MAX);
LambdaQueryWrapper<YieldOrder> wrapper = Wrappers.<YieldOrder>query().lambda()
.between(YieldOrder::getReceiveTime,
DateUtil.toDate(startOfDay),
DateUtil.toDate(endOfDay)).isNull(YieldOrder::getGoodsDemand);
List<YieldOrder> list = this.list(wrapper);
if(CollectionUtils.isNotEmpty(list)){
for(YieldOrder yieldOrder : list){
plateGoodsRecordService.calculateCoatingMaterial(yieldOrder);
}
}
}
/**
* 验证零件子件信息
*
@ -1230,7 +1246,11 @@ public class YieldOrderServiceImpl extends BaseServiceImpl<YieldOrderMapper, Yie
private Integer judgeRank(YieldOrder yieldOrder) {
DsPartEntity part = dsPartService.selectDsPartByPatCodeAndVersion(yieldOrder.getPartCode(), yieldOrder.getPartVersion());
if(part == null){
throw new ServiceException("未查询到零件信息!");
yieldOrder.setValidationResult(YieldOrderEnum.VALIDATION_RESULT_LESS_CRAFT.getCode());
yieldOrder.setValidationTime(DateUtil.now());
yieldOrder.setValidationMomo("未查询到零件信息!");
this.updateById(yieldOrder);
return null;
}
// 工作订单备注中包含大小写的HTBY时,执行二级工艺
if (yieldOrder.getYpMemo() != null && yieldOrder.getYpMemo().toLowerCase(Locale.ROOT).contains("htby")) {

Loading…
Cancel
Save