commit
dee0981760
27 changed files with 501 additions and 56 deletions
@ -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); |
||||
} |
||||
} |
||||
@ -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(); |
||||
} |
||||
@ -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")); |
||||
} |
||||
} |
||||
@ -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> |
||||
@ -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> { |
||||
} |
||||
@ -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 { |
||||
|
||||
} |
||||
Loading…
Reference in new issue