Merge branch 'refs/heads/master' into dev-qinyulong

develop-QA
qinyulong 3 months ago
commit dee0981760
  1. 7
      blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java
  2. 27
      blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynCloseProdPlanProcessor.java
  3. 27
      blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynGlassCakeProcessor.java
  4. 10
      blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynMesRbWoProcessor.java
  5. 9
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IApsClient.java
  6. 45
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IApsOrderClient.java
  7. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/YieldPlan.java
  8. 8
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClient.java
  9. 14
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpMesRbWoClientFallback.java
  10. 22
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/table/Rrbwoerptomes.java
  11. 8
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/table/Wo.java
  12. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/ApsClient.java
  13. 74
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/ApsOrderClient.java
  14. 37
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpMesRbWoClient.java
  15. 14
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpRrbwoerptomesMapper.java
  16. 5
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpRrbwoerptomesMapper.xml
  17. 14
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpWoMapper.java
  18. 5
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpWoMapper.xml
  19. 4
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpMesRbWoService.java
  20. 12
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpRrbwoerptomesService.java
  21. 12
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpWoService.java
  22. 8
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbPurtosoServiceImpl.java
  23. 98
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java
  24. 20
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpRrbwoerptomesServiceImpl.java
  25. 20
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpWoServiceImpl.java
  26. 41
      blade-service/blade-wms/pom.xml
  27. 5
      blade-service/blade-wms/src/main/java/org/springblade/wms/WmsApplication.java

@ -150,6 +150,13 @@ public interface LauncherConstant {
return appName.concat(GROUP_NAME);
}
/**
* wms
*/
String APPLICATION_WMS_NAME = "blade-wms";
/**
* 动态获取nacos地址
*

@ -0,0 +1,27 @@
package org.springblade.job.processor.erp;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.erpdata.feign.IErpMesRbWoClient;
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;
@RequiredArgsConstructor
@Slf4j
public class SynCloseProdPlanProcessor implements BasicProcessor {
private final IErpMesRbWoClient mesRbWoClient;
@Override
public ProcessResult process(TaskContext taskContext) throws Exception {
log.info("同步关闭生产计划定时任务开始");
CompletableFuture<Void> runFuture = CompletableFuture.runAsync(()-> mesRbWoClient.synCloseProdPlan());
log.info("同步关闭生产计划定时任务结束");
return new ProcessResult(true);
}
}

@ -0,0 +1,27 @@
package org.springblade.job.processor.erp;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.erpdata.feign.IErpMesRbWoClient;
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;
@RequiredArgsConstructor
@Slf4j
public class SynGlassCakeProcessor implements BasicProcessor {
private final IErpMesRbWoClient mesRbWoClient;
@Override
public ProcessResult process(TaskContext taskContext) throws Exception {
log.info("同步玻璃饼订单定时任务开始");
CompletableFuture<Void> runFuture = CompletableFuture.runAsync(()-> mesRbWoClient.synGlassCake());
log.info("同步玻璃饼订单定时任务结束");
return new ProcessResult(true);
}
}

@ -1,12 +1,16 @@
package org.springblade.job.processor.quality;
package org.springblade.job.processor.erp;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.erpdata.feign.IErpMesRbWoClient;
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;
@RequiredArgsConstructor
@Slf4j
public class SynMesRbWoProcessor implements BasicProcessor {
private final IErpMesRbWoClient mesRbWoClient;
@ -15,7 +19,9 @@ public class SynMesRbWoProcessor implements BasicProcessor {
@Override
public ProcessResult process(TaskContext taskContext) throws Exception {
mesRbWoClient.synMesRbWo();
log.info("同步生产订单定时任务开始");
CompletableFuture<Void> runFuture = CompletableFuture.runAsync(()-> mesRbWoClient.synMesRbWo());
log.info("同步生产订单定时任务结束");
return new ProcessResult(true);
}
}

@ -1,12 +1,8 @@
package org.springblade.desk.order.feign;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.desk.order.pojo.entity.YieldPlan;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
/**
* 排产相关定时任务接口声明
@ -21,7 +17,7 @@ public interface IApsClient {
String API_PREFIX = "/feign/aps/";
String SYNC_ORDER_FROM_OLD_MES = API_PREFIX + "/syncOrderFromOldMes";
String SYNC_PLAN_FROM_SAVE = API_PREFIX + "/syncPlanSave";
/**
* 从旧mes平台同步生产订单
@ -30,6 +26,5 @@ public interface IApsClient {
*/
@GetMapping(SYNC_ORDER_FROM_OLD_MES)
Boolean syncOrderFromOldMes();
@PostMapping(SYNC_PLAN_FROM_SAVE)
void saveList(List<YieldPlan> yieldOrderList);
}

@ -0,0 +1,45 @@
package org.springblade.desk.order.feign;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.desk.dashboard.pojo.entity.DsCraftEntity;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.order.pojo.entity.YieldPlan;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
/**
* 排产相关定时任务接口声明
*
* @author lqk
*/
@FeignClient(
value = AppConstant.APPLICATION_DESK_NAME
)
public interface IApsOrderClient {
String API_PREFIX = "/feign/aps/order";
String SYNC_PLAN_FROM_SAVE = API_PREFIX + "/syncPlanSave";
String GET_CRAFT_LIST = API_PREFIX + "/getDsCraftList";
String GET_PLAN_LIST = API_PREFIX + "/getPlanList";
String GET_PART_LIST = API_PREFIX + "/getPartList";
String UPDATE_BY_ID = API_PREFIX + "/updateById";
String CLOSE_PLAN_LIST = API_PREFIX + "/getClosePlanList";
@PostMapping(SYNC_PLAN_FROM_SAVE)
void saveList(List<YieldPlan> yieldOrderList);
@GetMapping(GET_CRAFT_LIST)
List<DsCraftEntity> getDsCraftList();
@GetMapping(GET_PLAN_LIST)
List<YieldPlan> getPlanList();
@GetMapping(GET_PART_LIST)
List<DsPartEntity> getPartList(List<String> partCodeList);
@GetMapping(UPDATE_BY_ID)
void updateById(YieldPlan yieldPlan);
@GetMapping(CLOSE_PLAN_LIST)
List<YieldPlan> getClosePlanList();
}

@ -80,7 +80,7 @@ public class YieldPlan extends BaseEntity {
* 面积
*/
@TableField(value = "YP_AREA")
private BigDecimal ypArea;
private Double ypArea;
/**
* 需求交期

@ -35,5 +35,11 @@ public interface IErpMesRbWoClient {
/**
* 同步生产计划数据
*/
void synMesRbWo();
R<Void> synMesRbWo();
/**
* 同步玻璃饼订单
*/
R<Void> synGlassCake();
R<Void>synCloseProdPlan();
}

@ -21,7 +21,17 @@ public class IErpMesRbWoClientFallback implements IErpMesRbWoClient {
}
@Override
public void synMesRbWo() {
R.fail("获取数据失败");
public R<Void> synMesRbWo() {
return R.fail("获取数据失败");
}
@Override
public R<Void> synGlassCake() {
return R.fail("获取数据失败");
}
@Override
public R<Void> synCloseProdPlan() {
return R.fail("获取数据失败");
}
}

@ -1,6 +1,13 @@
package org.springblade.erpdata.pojo.dto.table;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.util.Date;
/**
* 对应ERP中表 t_rbwoerptomes
@ -9,13 +16,18 @@ import lombok.Data;
* @date 2026-01-16 17:32
*/
@Data
public class Rrbwoerptomes {
@TableName("t_rbwoerptomes")
public class Rrbwoerptomes extends BaseEntity {
private String wono; //工作订单号
@TableField(value = "WONO")
private String woNo; //工作订单号
private String process_line_desc; //工艺路线明细
@TableField(value = "PROCESS_LINE_DESC")
private String processLineDesc; //工艺路线明细
private String readtime; //读取时间
@TableField(value = "READTIME")
private Date readTime; //读取时间
private String read_content; //读取内容
@TableField(value = "READ_CONTENT")
private String readContent; //读取内容
}

@ -1,6 +1,9 @@
package org.springblade.erpdata.pojo.dto.table;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.springblade.core.mp.base.BaseEntity;
/**
* 对应ERP中表 t_wo
@ -9,8 +12,10 @@ import lombok.Data;
* @date 2026-01-16 17:32
*/
@Data
public class Wo {
@TableName("t_wo")
public class Wo extends BaseEntity {
@TableField(value = "WONO")
private String wono; //工作订单
private String splcode; //批次号
@ -151,7 +156,6 @@ public class Wo {
private String wochkqty; //抽检数
private String id; //新系统同步id
private String dataflag; //新老系统数据标识: 0-老系统,1-新系统

@ -25,9 +25,12 @@
*/
package org.springblade.desk.order.feign;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.v3.oas.annotations.Hidden;
import lombok.RequiredArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.desk.dashboard.pojo.entity.DsCraftEntity;
import org.springblade.desk.dashboard.service.IDsCraftService;
import org.springblade.desk.order.pojo.entity.YieldPlan;
import org.springblade.desk.order.service.IYieldOrderService;
import org.springblade.desk.order.service.IYieldPlanService;
@ -50,7 +53,6 @@ public class ApsClient implements IApsClient {
private final IYieldOrderService yieldOrderService;
private final IYieldPlanService yieldPlanService;
@Override
@GetMapping(SYNC_ORDER_FROM_OLD_MES)
@ -64,9 +66,4 @@ public class ApsClient implements IApsClient {
return Boolean.TRUE;
}
@Override
@PostMapping(SYNC_PLAN_FROM_SAVE)
public void saveList(List<YieldPlan> yieldPlanList) {
yieldPlanService.saveOrUpdateBatch(yieldPlanList);
}
}

@ -0,0 +1,74 @@
package org.springblade.desk.order.feign;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.v3.oas.annotations.Hidden;
import lombok.RequiredArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.desk.dashboard.pojo.entity.DsCraftEntity;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.dashboard.service.IDsCraftService;
import org.springblade.desk.dashboard.service.IDsPartService;
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.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* Feign 排产相关定时任务接口
*
* @author Chill
*/
@NonDS
@Hidden()
@RestController
@RequiredArgsConstructor
public class ApsOrderClient implements IApsOrderClient {
private final IYieldPlanService yieldPlanService;
private final IDsCraftService dsCraftService;
private final IDsPartService dsPartService;
@Override
@PostMapping(SYNC_PLAN_FROM_SAVE)
public void saveList(List<YieldPlan> yieldPlanList) {
yieldPlanService.saveOrUpdateBatch(yieldPlanList);
}
@Override
public List<DsCraftEntity> getDsCraftList() {
return dsCraftService.list();
}
@Override
public List<YieldPlan> getPlanList() {
return yieldPlanService.list(new QueryWrapper<YieldPlan>().lambda()
.eq(YieldPlan::getIsDeleted, 0).eq(YieldPlan::getPlanType, 12002)
.eq(YieldPlan::getGenerateGlassCake, 0));
}
@Override
public List<DsPartEntity> getPartList(List<String> partCodeList) {
return dsPartService.list(new QueryWrapper<DsPartEntity>().lambda()
.in(DsPartEntity::getPartCode, partCodeList)
.like(DsPartEntity::getPartName, "玻璃"));
}
@Override
public void updateById(YieldPlan yieldPlan) {
yieldPlanService.updateById(yieldPlan);
}
@Override
public List<YieldPlan> getClosePlanList() {
return yieldPlanService.list(new QueryWrapper<YieldPlan>().lambda()
.lt(YieldPlan::getStatus, "10015")
.orderByAsc(YieldPlan::getCheckCloseTime)
.last("limit 1000"));
}
}

@ -22,16 +22,29 @@ import java.util.List;
@AllArgsConstructor
public class ErpMesRbWoClient implements IErpMesRbWoClient {
private final IErpMesRbWoService erpMesRbWoService;
@Override
public R<List<MesRbWo>> getList(MesRbWo entity) {
return R.data(erpMesRbWoService.getList(entity));
}
@Override
public void synMesRbWo() {
erpMesRbWoService.synMesRbWo();
}
private final IErpMesRbWoService erpMesRbWoService;
@Override
public R<List<MesRbWo>> getList(MesRbWo entity) {
return R.data(erpMesRbWoService.getList(entity));
}
@Override
public R<Void> synMesRbWo() {
erpMesRbWoService.synMesRbWo();
return R.success();
}
@Override
public R<Void> synGlassCake() {
erpMesRbWoService.synGlassCake();
return R.success();
}
@Override
public R<Void> synCloseProdPlan() {
erpMesRbWoService.synCloseProdPlan();
return R.success();
}
}

@ -0,0 +1,14 @@
package org.springblade.erpdata.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.erpdata.pojo.dto.table.Rrbwoerptomes;
/**
* Mapper 接口
*
* @author lqk
*/
public interface ErpRrbwoerptomesMapper extends BaseMapper<Rrbwoerptomes> {
}

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace = "org.springblade.erpdata.mapper.ErpRrbwoerptomesMapper">
</mapper>

@ -0,0 +1,14 @@
package org.springblade.erpdata.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.erpdata.pojo.dto.table.Wo;
/**
* Mapper 接口
*
* @author lqk
*/
public interface ErpWoMapper extends BaseMapper<Wo> {
}

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace = "org.springblade.erpdata.mapper.ErpWoMapper">
</mapper>

@ -22,4 +22,8 @@ public interface IErpMesRbWoService {
* 同步生产计划数据
*/
void synMesRbWo();
void synGlassCake();
void synCloseProdPlan();
}

@ -0,0 +1,12 @@
package org.springblade.erpdata.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.erpdata.pojo.dto.table.Rrbwoerptomes;
/**
* ERP数据查询service
*
* @author lqk
*/
public interface IErpRrbwoerptomesService extends BaseService<Rrbwoerptomes> {
}

@ -0,0 +1,12 @@
package org.springblade.erpdata.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.erpdata.pojo.dto.table.Wo;
/**
* ERP数据查询service
*
* @author lqk
*/
public interface IErpWoService extends BaseService<Wo> {
}

@ -3,18 +3,10 @@ package org.springblade.erpdata.service.impl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.order.feign.IApsClient;
import org.springblade.desk.order.pojo.entity.YieldPlan;
import org.springblade.erpdata.mapper.ErpMesRbPurtosoMapper;
import org.springblade.erpdata.mapper.ErpMesRbWoMapper;
import org.springblade.erpdata.pojo.dto.view.MesRbWo;
import org.springblade.erpdata.service.IErpMesRbPurtosoService;
import org.springblade.erpdata.service.IErpMesRbWoService;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @author lqk
* @date 2025-11-26 9:39

@ -1,16 +1,24 @@
package org.springblade.erpdata.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.order.feign.IApsClient;
import org.springblade.desk.dashboard.pojo.entity.DsCraftEntity;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.order.feign.IApsOrderClient;
import org.springblade.desk.order.pojo.entity.YieldPlan;
import org.springblade.desk.order.pojo.enums.YieldPlanEnum;
import org.springblade.erpdata.mapper.ErpMesRbWoMapper;
import org.springblade.erpdata.pojo.dto.table.Rrbwoerptomes;
import org.springblade.erpdata.pojo.dto.table.Wo;
import org.springblade.erpdata.pojo.dto.view.MesRbWo;
import org.springblade.erpdata.service.IErpMesRbWoService;
import org.springblade.erpdata.service.IErpRrbwoerptomesService;
import org.springblade.erpdata.service.IErpWoService;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -24,7 +32,11 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
private final ErpMesRbWoMapper mesRbWoMapper;
private final IApsClient apsClient;
private final IApsOrderClient apsOrderClient;
private final IErpRrbwoerptomesService rbwoerptomesService;
private final IErpWoService woService;
@Override
@ -44,27 +56,97 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService {
* INTO v_product_type, v_part_name, v_po_area, v_craft_way, v_config_no
* FROM ds_part a WHERE a.part_code = v_prtno;
*/
List<DsPartEntity> dsPartList=new ArrayList<>();//todo 获取零件信息
List<String> partCodeList=dsPartList.stream().map(x->x.getPartCode()).toList();
List<YieldPlan> yieldPlanList=new ArrayList<>();
//若零件不为空, 验证零件是否存在二级零件工艺
List<DsCraftEntity> dsCraftList= apsOrderClient.getDsCraftList();
List<Long> partIdList=dsCraftList.stream().map(x->x.getPartId()).toList();
final Long[] partId = {0L};
List<Rrbwoerptomes> rbwoerptomesList=new ArrayList<>();
mesRbWoList.forEach(mesRbWo -> {
YieldPlan yieldPlan=new YieldPlan();
//b1. 根据零件号从`DS_PART`表中查询零件信息
dsPartList.forEach(dsPart -> {
if(dsPartList!=null&&dsPart.getPartCode().equals(mesRbWo.getPrtno())){
yieldPlan.setProductType(dsPart.getProductType());
yieldPlan.setPartName(dsPart.getPartName());
yieldPlan.setYpArea(dsPart.getArea());
yieldPlan.setPrimaryCraft(dsPart.getCraftWay());
partId[0] =dsPart.getId();
}
});
yieldPlan.setPlanType(12001L);//赋值默认值12001
if(mesRbWo.getProcesslinedesc().contains("封接")
||"LX08-05-028,LX08-05-030,LX08-05-031".contains(mesRbWo.getProcessline())){
yieldPlan.setPlanType(12002L);
yieldPlan.setPlate("烧结电镀");
}
//b3. 状态字段赋值,新mes中对应字段(status)
yieldPlan.setStatus(YieldPlanEnum.STATUS_DISPATCHED.getCode());
yieldPlan.setRoamNo("");
//1. 若零件为空
if(!partCodeList.contains(mesRbWo.getPrtno())){
yieldPlan.setStatus(YieldPlanEnum.STATUS_NO_CRAFT.getCode());
yieldPlan.setRoamNo("无零件信息!!");
}else {//2. 若零件不为空, 验证零件是否存在二级零件工艺
if(partId==null||partId[0]==null||(partId!=null&&partId[0]!=null&&!partIdList.contains(partId[0]))){
yieldPlan.setStatus(YieldPlanEnum.STATUS_NO_CRAFT.getCode());
yieldPlan.setRoamNo("无二级工艺信息!!");
}
}
yieldPlan.setYpCode(mesRbWo.getWono());
yieldPlan.setPartCode(mesRbWo.getPrtno());
yieldPlan.setProductType(mesRbWo.getPrtlotno());
yieldPlan.setPartName(mesRbWo.getPlndept());
yieldPlan.setPlate(mesRbWo.getKdofplat());
yieldPlan.setProductIdent(mesRbWo.getWoreqdat());
yieldPlan.setYpQty(Long.valueOf(mesRbWo.getWototqty()));
yieldPlan.setYpArea(new BigDecimal(mesRbWo.getPrtmdept()));
yieldPlan.setYpQty(Long.valueOf(mesRbWo.getWototqty()));
yieldPlan.setDemandDate(mesRbWo.getWopordat());
yieldPlanList.add(yieldPlan);
//插入记录表
Rrbwoerptomes rbwoerptomes=new Rrbwoerptomes();
rbwoerptomes.setWoNo(mesRbWo.getWono());
rbwoerptomes.setProcessLineDesc(mesRbWo.getProcesslinedesc());
rbwoerptomes.setReadTime(new Date());
rbwoerptomes.setReadContent(mesRbWo.getProcessline());
rbwoerptomesList.add(rbwoerptomes);
});
apsOrderClient.saveList(yieldPlanList);
rbwoerptomesService.saveOrUpdateBatch(rbwoerptomesList);
}
@Override
public void synGlassCake() {
List<YieldPlan> yieldPlanList=apsOrderClient.getPlanList();
List<String> partCodeList=yieldPlanList.stream().map(x->x.getPartCode()).toList();
//b1. 查询该计划的零件是否是玻璃相关的零件列表(sub_cursor)
List<DsPartEntity> dsPartList=apsOrderClient.getPartList(partCodeList);// 获取零件信息
List<String> partList=dsPartList.stream().map(x->x.getPartCode()).toList();
yieldPlanList.forEach(yieldPlan -> {
if(!partList.contains(yieldPlan.getPartCode())){
yieldPlan.setGenerateGlassCake(1);
yieldPlan.setId(yieldPlan.getId());
apsOrderClient.updateById(yieldPlan);
}
});
}
/**
* 同步关闭计划
*/
@Override
public void synCloseProdPlan() {
List<YieldPlan> yieldPlanList=apsOrderClient.getClosePlanList();
yieldPlanList.forEach(yieldPlan -> {
Wo wo=woService.getOne(new QueryWrapper<Wo>()
.eq("WONO",yieldPlan.getYpCode()));
if(wo!=null){
yieldPlan.setCheckCloseTime(new Date());
apsOrderClient.updateById(yieldPlan);
}else {
yieldPlan.setStatus(YieldPlanEnum.STATUS_COMPLETED.getCode());
yieldPlan.setCheckCloseTime(new Date());
apsOrderClient.updateById(yieldPlan);
}
});
apsClient.saveList(yieldPlanList);
}
}

@ -0,0 +1,20 @@
package org.springblade.erpdata.service.impl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.erpdata.mapper.ErpRrbwoerptomesMapper;
import org.springblade.erpdata.pojo.dto.table.Rrbwoerptomes;
import org.springblade.erpdata.service.IErpRrbwoerptomesService;
import org.springframework.stereotype.Service;
/**
* @author lqk
* @date 2025-11-26 9:39
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class ErpRrbwoerptomesServiceImpl extends BaseServiceImpl<ErpRrbwoerptomesMapper, Rrbwoerptomes> implements IErpRrbwoerptomesService {
}

@ -0,0 +1,20 @@
package org.springblade.erpdata.service.impl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.erpdata.mapper.ErpWoMapper;
import org.springblade.erpdata.pojo.dto.table.Wo;
import org.springblade.erpdata.service.IErpWoService;
import org.springframework.stereotype.Service;
/**
* @author lqk
* @date 2025-11-26 9:39
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class ErpWoServiceImpl extends BaseServiceImpl<ErpWoMapper, Wo> implements IErpWoService {
}

@ -15,6 +15,10 @@
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-mybatis</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-core-boot</artifactId>
@ -42,6 +46,43 @@
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel-core</artifactId>
<version>3.3.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel-core</artifactId>
<version>3.3.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-starter-excel</artifactId>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-user-api</artifactId>
<version>4.6.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-system-api</artifactId>
<version>4.6.0.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-desk-api</artifactId>
</dependency>
</dependencies>
<build>

@ -1,5 +1,6 @@
package org.springblade.erpdata;
package org.springblade.wms;
import org.springblade.common.constant.LauncherConstant;
import org.springblade.core.cloud.client.BladeCloudApplication;
import org.springblade.core.launch.BladeApplication;
import org.springblade.core.launch.constant.AppConstant;
@ -13,7 +14,7 @@ import org.springblade.core.launch.constant.AppConstant;
public class WmsApplication {
public static void main(String[] args) {
BladeApplication.run(AppConstant.APPLICATION_DESK_NAME, WmsApplication.class, args);
BladeApplication.run(LauncherConstant.APPLICATION_WMS_NAME, WmsApplication.class, args);
System.out.println("===================");
System.out.println("===================");
System.out.println("=======启动成功!====");

Loading…
Cancel
Save