diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynGlassCakeProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynGlassCakeProcessor.java index 2f973a55..e547d355 100644 --- a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynGlassCakeProcessor.java +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/erp/SynGlassCakeProcessor.java @@ -2,6 +2,7 @@ package org.springblade.job.processor.erp; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.order.feign.IApsOrderClient; import org.springblade.erpdata.feign.IErpMesRbWoClient; import tech.powerjob.worker.core.processor.ProcessResult; import tech.powerjob.worker.core.processor.TaskContext; @@ -13,14 +14,14 @@ import java.util.concurrent.CompletableFuture; @Slf4j public class SynGlassCakeProcessor implements BasicProcessor { - private final IErpMesRbWoClient mesRbWoClient; + private final IApsOrderClient orderClient; @Override public ProcessResult process(TaskContext taskContext) throws Exception { log.info("同步玻璃饼订单定时任务开始"); - CompletableFuture runFuture = CompletableFuture.runAsync(()-> mesRbWoClient.synGlassCake()); + CompletableFuture runFuture = CompletableFuture.runAsync(()-> orderClient.synGlassCake()); log.info("同步玻璃饼订单定时任务结束"); return new ProcessResult(true); } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IApsOrderClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IApsOrderClient.java index 6e68eb28..29e48f65 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IApsOrderClient.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/feign/IApsOrderClient.java @@ -29,6 +29,8 @@ public interface IApsOrderClient { String GET_PART_LIST = API_PREFIX + "/getPartList"; String UPDATE_BY_ID = API_PREFIX + "/updateById"; String CLOSE_PLAN_LIST = API_PREFIX + "/getClosePlanList"; + String MAX_CARD_NO = API_PREFIX + "/getMaxCardNo"; + String SYN_GLASS_CAKE = API_PREFIX + "/synGlassCake"; @PostMapping(SYNC_PLAN_FROM_SAVE) void saveList(List yieldOrderList); @@ -42,4 +44,8 @@ public interface IApsOrderClient { void updateById(YieldPlan yieldPlan); @GetMapping(CLOSE_PLAN_LIST) List getClosePlanList(); + @GetMapping(MAX_CARD_NO) + String getMaxCardNo(); + @GetMapping(SYN_GLASS_CAKE) + void synGlassCake(); } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java index 5a17833a..85f08b33 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/entity/PlateGoodsRecord.java @@ -72,6 +72,7 @@ public class PlateGoodsRecord extends BaseEntity { * 审批状态 * 11001:正常, 11002:审批中, 11003:不通过, 11004:通过 */ + @Deprecated @TableField(value = "APPROVAL_STATUS") private Integer approvalStatus; diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/MoldApplyEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/MoldApplyEnum.java index 365a6e93..8765166e 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/MoldApplyEnum.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/order/pojo/enums/MoldApplyEnum.java @@ -21,10 +21,12 @@ public enum MoldApplyEnum { /** * 状态枚举 */ - STATUS_WAITING("待出库", 10000), - STATUS_OUT_STORE("已出库", 10001), - STATUS_DONE("完成", 10002), - STATUS_CLOSE("关闭", 10003), + STATUS_CREATE("新建", 10000), + STATUS_SEND("已下发", 10001), + STATUS_WAITING("待出库", 10002), + STATUS_OUT_STORE("已出库", 10003), + STATUS_DONE("完成", 10004), + STATUS_CLOSE("关闭", 10005), /** * 状态枚举; 11001、新建,11002:已下发,11003、已完成 diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/table/Prtbasdef.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/table/Prtbasdef.java index af755a22..57d44fe2 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/table/Prtbasdef.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/table/Prtbasdef.java @@ -1,6 +1,8 @@ package org.springblade.erpdata.pojo.dto.table; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import org.springblade.core.mp.base.BaseEntity; /** * 对应ERP中表 t_prtbasdef @@ -9,7 +11,8 @@ import lombok.Data; * @date 2026-01-16 17:32 */ @Data -public class Prtbasdef { +@TableName("t_prtbasdef") +public class Prtbasdef extends BaseEntity { private String prtno; //物料号 diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/table/Prtmsg.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/table/Prtmsg.java index 0e7b018d..517ceb15 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/table/Prtmsg.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/dto/table/Prtmsg.java @@ -1,6 +1,8 @@ package org.springblade.erpdata.pojo.dto.table; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import org.springblade.core.mp.base.BaseEntity; /** * 对应ERP中表 t_prtmsg @@ -9,7 +11,8 @@ import lombok.Data; * @date 2026-01-16 17:32 */ @Data -public class Prtmsg { +@TableName("t_prtmsg") +public class Prtmsg extends BaseEntity { private String prtarea; //面积 diff --git a/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StGoodStatisVO.java b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StGoodStatisVO.java new file mode 100644 index 00000000..12a35c0b --- /dev/null +++ b/blade-service-api/blade-wms-api/src/main/java/org/springblade/wms/pojo/vo/StGoodStatisVO.java @@ -0,0 +1,11 @@ +package org.springblade.wms.pojo.vo; + +import lombok.Data; + +@Data +public class StGoodStatisVO { + + private Double totalQuantity; + + private Double zyQuantity; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldApplyController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldApplyController.java index 7ff06a54..f60fc000 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldApplyController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/controller/MoldApplyController.java @@ -48,20 +48,6 @@ public class MoldApplyController extends BladeController { return R.data(MoldApplyWrapper.build().pageVO(page)); } - /** - * 分页-近一月的申报记录 - */ - @Parameters({ - @Parameter(name = "partCode", description = "零件号", in = ParameterIn.QUERY, schema = @Schema(type = "string")), - @Parameter(name = "toolCode", description = "工装号", in = ParameterIn.QUERY, schema = @Schema(type = "string")) - }) - @GetMapping("/pageNearlyMonth") - @Operation(summary = "分页-近一月的模具计划", description = "") - public R> pageNearlyMonth(@Parameter(hidden = true) MoldApply entity, Query query) { - IPage page = moldApplyService.pageNearlyMonth(Condition.getPage(query), entity); - return R.data(MoldApplyWrapper.build().pageVO(page)); - } - /** * 详情 */ @@ -77,8 +63,8 @@ public class MoldApplyController extends BladeController { */ @PostMapping("/saveByDemand") @Operation(summary = "新增-根据需求新增", description = "") - public R save(@Valid @RequestBody MoldApply moldApply) { - moldApplyService.save(moldApply); + public R saveByDemand(@Valid @RequestBody MoldApply moldApply) { + moldApplyService.saveByDemand(moldApply); return R.status(true); } @@ -87,8 +73,8 @@ public class MoldApplyController extends BladeController { */ @PostMapping("/saveBatch") @Operation(summary = "新增-批量", description = "") - public R save(@Valid @RequestBody List applylist) { - moldApplyService.save(applylist); + public R saveBatch(@Valid @RequestBody List applylist) { + moldApplyService.saveBatchByPage(applylist); return R.status(true); } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/ApsOrderClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/ApsOrderClient.java index f8d0e83c..31347046 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/ApsOrderClient.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/ApsOrderClient.java @@ -30,6 +30,8 @@ public class ApsOrderClient implements IApsOrderClient { private final IYieldPlanService yieldPlanService; + private final IYieldOrderService yieldOrderService; + private final IDsCraftService dsCraftService; private final IDsPartService dsPartService; @@ -71,4 +73,14 @@ public class ApsOrderClient implements IApsOrderClient { .orderByAsc(YieldPlan::getCheckCloseTime) .last("limit 1000")); } + + @Override + public String getMaxCardNo() { + return yieldOrderService.getMaxCardNo(); + } + + @Override + public void synGlassCake() { + yieldPlanService.synGlassCake(); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml index cc96b294..c694ad07 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/mapper/PlateGoodsRecordMapper.xml @@ -3,11 +3,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + ID, TENANT_ID, CREATE_USER, CREATE_DEPT, CREATE_TIME, UPDATE_USER, UPDATE_TIME, STATUS, IS_DELETED, + WC_ID, PLATE_GOODS_CODE, GOODS_DEMAND, SILVER_POTASSIUM, COEFFICIENT, APPROVAL_MAN, APPROVAL_TIME, + APPROVAL_STATUS, APPROVAL_MEMO, DECLARED_QUOTA, DECLARED_SILVER, DECLARED_STATUS, GOODS_BO_ID, + COEFFICIENT_BO_ID, PGR_CODE, SURPLUS, SILVER_POTASSIUM_RESIDUE, DEMAND_CODE, INVOLVING_RECORD_CODE, + NOT_ADD_VAL, DETAIL_ORDER_NUM + + + + diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpPrtmsgMapper.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpPrtmsgMapper.java new file mode 100644 index 00000000..0c1c7d3e --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpPrtmsgMapper.java @@ -0,0 +1,14 @@ +package org.springblade.erpdata.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springblade.erpdata.pojo.dto.table.Prtmsg; + +/** + * Mapper 接口 + * + * @author lqk + */ +public interface ErpPrtmsgMapper extends BaseMapper { + + +} diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpPrtmsgMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpPrtmsgMapper.xml new file mode 100644 index 00000000..61d093c8 --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpPrtmsgMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpPrtmsgService.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpPrtmsgService.java new file mode 100644 index 00000000..eb0c83b2 --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpPrtmsgService.java @@ -0,0 +1,12 @@ +package org.springblade.erpdata.service; + +import org.springblade.core.mp.base.BaseService; +import org.springblade.erpdata.pojo.dto.table.Prtmsg; + +/** + * ERP数据查询service + * + * @author lqk + */ +public interface IErpPrtmsgService extends BaseService { +} diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java index cde526a7..e7a28819 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpMesRbWoServiceImpl.java @@ -3,6 +3,7 @@ package org.springblade.erpdata.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springblade.desk.dashboard.pojo.entity.DsCraftEntity; import org.springblade.desk.dashboard.pojo.entity.DsPartEntity; import org.springblade.desk.order.feign.IApsOrderClient; @@ -17,9 +18,11 @@ import org.springblade.erpdata.service.IErpRrbwoerptomesService; import org.springblade.erpdata.service.IErpWoService; import org.springframework.stereotype.Service; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.logging.SimpleFormatter; /** * @author lqk @@ -116,18 +119,31 @@ public class ErpMesRbWoServiceImpl implements IErpMesRbWoService { @Override public void synGlassCake() { - List yieldPlanList=apsOrderClient.getPlanList(); - List partCodeList=yieldPlanList.stream().map(x->x.getPartCode()).toList(); - //b1. 查询该计划的零件是否是玻璃相关的零件列表(sub_cursor) - List dsPartList=apsOrderClient.getPartList(partCodeList);// 获取零件信息 - List 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); - } - }); +// List yieldPlanList=apsOrderClient.getPlanList(); +// List partCodeList=yieldPlanList.stream().map(x->x.getPartCode()).toList(); +// //b1. 查询该计划的零件是否是玻璃相关的零件列表(sub_cursor) +// List dsPartList=apsOrderClient.getPartList(partCodeList);// 获取零件信息 +// List 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); +// } +// //b3.1 生成流程卡号、批次号 +// //查询RB相关的流程卡号 +// String cardNo=apsOrderClient.getMaxCardNo(); +// Long num; +// if(StringUtils.isEmpty(cardNo)){ +// num=1L; +// }else { +// num=Long.valueOf(cardNo.replace("RB"+new SimpleDateFormat("yyMMdd").format(new Date()), ""))+1; +// } +// cardNo="RB"+new SimpleDateFormat("yyMMdd").format(new Date())+String.format("%05d", num); +// String bathNo="Y"+new SimpleDateFormat("yyMMdd").format(new Date())+String.format("%05d", num); +// //调用公共保存方法 todo +// +// }); } /** diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpPrtmsgServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpPrtmsgServiceImpl.java new file mode 100644 index 00000000..9d107ed2 --- /dev/null +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpPrtmsgServiceImpl.java @@ -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.ErpPrtmsgMapper; +import org.springblade.erpdata.pojo.dto.table.Prtmsg; +import org.springblade.erpdata.service.IErpPrtmsgService; +import org.springframework.stereotype.Service; + +/** + * @author lqk + * @date 2025-11-26 9:39 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class ErpPrtmsgServiceImpl extends BaseServiceImpl implements IErpPrtmsgService { + +} diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StRealtimeStockMapper.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StRealtimeStockMapper.java index e33c7c5b..4c8c124a 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StRealtimeStockMapper.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StRealtimeStockMapper.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.wms.excel.StRealtimeStockExcel; import org.springblade.wms.pojo.entity.StRealtimeStock; +import org.springblade.wms.pojo.vo.StGoodStatisVO; import org.springblade.wms.pojo.vo.StRealtimeStockVO; import java.util.List; @@ -68,6 +69,19 @@ public interface StRealtimeStockMapper extends BaseMapper { void updateRealTimeLock(String woCode, String string, double doubleValue); List selectToolsStockPage(IPage page, StRealtimeStockVO stRealtimeStock); - + /** + * 根据物料编码查询库存信息 + * + * @param partCode + * @return + */ + List getGoodsByPartCode(String partCode); + /** + * 根据物料编码查询库存信息 + * + * @param partCode + * @return + */ + StGoodStatisVO getGoodsByCode(String partCode); } diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StRealtimeStockMapper.xml b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StRealtimeStockMapper.xml index ce83840a..2abd4866 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StRealtimeStockMapper.xml +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StRealtimeStockMapper.xml @@ -348,5 +348,40 @@ AND h.type = 5 + + diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStRealtimeStockService.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStRealtimeStockService.java index 86b00362..e5d41b0f 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStRealtimeStockService.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/IStRealtimeStockService.java @@ -11,6 +11,7 @@ import org.springblade.wms.pojo.entity.StStorageLocation; import org.springblade.wms.pojo.entity.StStoreBill; import org.springblade.wms.pojo.vo.PrintParentWoLabel; import org.springblade.wms.pojo.vo.PrintStoresList; +import org.springblade.wms.pojo.vo.StGoodStatisVO; import org.springblade.wms.pojo.vo.StRealtimeStockVO; import java.util.List; @@ -78,5 +79,17 @@ public interface IStRealtimeStockService extends BaseService { IPage selectStockGoodsPage(IPage page, StRealtimeStockVO stRealtimeStock); IPage selectToolsStockPage(IPage page, StRealtimeStockVO stRealtimeStock); + /** + * 根据物料编码查询库存信息 + * @param partCode + * @return + */ + List getGoodsByPartCode(String partCode); + /** + * 根据物料编码统计信息 + * @param partCode + * @return + */ + StGoodStatisVO getGoodsByCode(String partCode); } diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StRealtimeStockServiceImpl.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StRealtimeStockServiceImpl.java index 31418a20..1c1904c6 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StRealtimeStockServiceImpl.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StRealtimeStockServiceImpl.java @@ -18,10 +18,7 @@ import org.springblade.wms.mapper.StGoodsMapper; import org.springblade.wms.mapper.StRealtimeStockMapper; import org.springblade.wms.mapper.StStorageLocationMapper; import org.springblade.wms.pojo.entity.*; -import org.springblade.wms.pojo.vo.PrintParentWoLabel; -import org.springblade.wms.pojo.vo.PrintStoresList; -import org.springblade.wms.pojo.vo.PrintWoLabel; -import org.springblade.wms.pojo.vo.StRealtimeStockVO; +import org.springblade.wms.pojo.vo.*; import org.springblade.wms.service.*; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -75,6 +72,16 @@ public class StRealtimeStockServiceImpl extends BaseServiceImpl getGoodsByPartCode(String partCode) { + return baseMapper.getGoodsByPartCode(partCode); + } + + @Override + public StGoodStatisVO getGoodsByCode(String partCode) { + return baseMapper.getGoodsByCode(partCode); + } + @Override public List printPrintWoLabel(List rlsIdList, Short quantity) { if (rlsIdList == null || rlsIdList.size() == 0) {