工艺同步老mes数据

liweidong
liweidong-hj 4 weeks ago
parent 7f3089638d
commit ccb139cf1c
  1. 4
      blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java
  2. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsCraftEntity.java
  3. 61
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartBasicsEntity.java
  4. 7
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartEntity.java
  5. 121
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsPartSub.java
  6. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsPartBomVO.java
  7. 8
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/vo/DsTaskingVO.java
  8. 2
      blade-service-api/blade-scheduling-api/src/main/java/org/springblade/scheduling/pojo/entity/ProcessSetEntity.java
  9. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/CraftAbilityMapper.java
  10. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/CraftAbilityMapper.xml
  11. 13
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/ICraftAbilityService.java
  12. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/CraftAbilityServiceImpl.java
  13. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsTaskingController.java
  14. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/BsProcessSetMapper.java
  15. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/CraftMapper.xml
  16. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsCraftMapper.java
  17. 42
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsPartBasicsMapper.java
  18. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsPartMapper.java
  19. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsProcessMapper.java
  20. 24
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsTaskingMapper.java
  21. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartBasicsMapper.xml
  22. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartMapper.xml
  23. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/PartRelationMapper.xml
  24. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessMapper.xml
  25. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/ProcessSetMapper.xml
  26. 13
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/TaskingMapper.xml
  27. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IBsProcessSetService.java
  28. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsCraftService.java
  29. 45
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsPartBasicsService.java
  30. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsPartService.java
  31. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsProcessService.java
  32. 14
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsTaskingService.java
  33. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/BsProcessSetServiceImpl.java
  34. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsCraftServiceImpl.java
  35. 52
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartBasicsServiceImpl.java
  36. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java
  37. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsProcessServiceImpl.java
  38. 1130
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java
  39. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/utils/IncrementNumberUtil.java
  40. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/PlateGoodsRecordServiceImpl.java

@ -31,8 +31,8 @@ public interface LauncherConstant {
/**
* nacos dev 地址
*/
String NACOS_DEV_ADDR = "192.168.249.27:8848";
// String NACOS_DEV_ADDR = "127.0.0.1:8848";
// String NACOS_DEV_ADDR = "192.168.249.27:8848";
String NACOS_DEV_ADDR = "127.0.0.1:8848";
/**
* nacos prod 地址

@ -107,5 +107,11 @@ public class DsCraftEntity extends BaseEntity {
@Schema(description = "返工单号")
private String reworkOrder;
/**
* 零件号
*/
@Schema(description = "零件号")
private String partCode;
}

@ -0,0 +1,61 @@
package org.springblade.desk.dashboard.pojo.entity;
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.io.Serial;
/**
* 零件基础信息实体类
*
* @author
* @since
*/
@Data
@TableName("DS_PART_BASICS")
@Schema(description = "DsPartBasics对象")
@EqualsAndHashCode(callSuper = true)
public class DsPartBasicsEntity extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 零件号
*/
@Schema(description = "零件号")
private String partCode;
/**
* 零件名称
*/
@Schema(description = "零件名称")
private String partName;
/**
* 产品型号
*/
@Schema(description = "产品型号")
private String productType;
/**
* 是否烧结产品
*/
@Schema(description = "是否烧结产品")
private String isSintering;
/**
* 是否玻璃饼
*/
@Schema(description = "是否玻璃饼")
private String isClassCake;
/**
* 备注
*/
@Schema(description = "备注")
private String remarks;
}

@ -318,4 +318,11 @@ public class DsPartEntity extends BaseEntity {
@Schema(description = "是否电镀")
private String isElectroplating;
/**
* 子件类型
* A代表组合件M代表零件R代表原材料B代表外购件P代表虚拟件G代表产品
*/
@Schema(description = "子件类型")
private String subType;
}

@ -0,0 +1,121 @@
package org.springblade.desk.dashboard.pojo.entity;
import lombok.Data;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* @author: 没有这张表 只是查询用于接收
* @create: 2026-03-14
*/
@Data
public class DsPartSub {
/**
* 插针
*/
public static Short SIN_TER_TYPE_CZ = 1;
/**
* 壳体
*/
public static Short SIN_TER_TYPE_KT = 2;
/**
* 自制玻璃饼
*/
public static Short SIN_TER_TYPE_BLB = 3;
/**
* 其他
*/
public static Short SIN_TER_TYPE_QT = 4;
/**
* 石墨模
*/
public static Short SIN_TER_TYPE_SMM = 5;
public static Map<String, String> subTypeMap = new HashMap<>(6);
public static Map<Short, String> sinTerTypeMap = new HashMap<>(6);
static {
subTypeMap.put("A", "组合件");
subTypeMap.put("M", "零件");
subTypeMap.put("R", "原材料");
subTypeMap.put("B", "外购件");
subTypeMap.put("P", "虚拟件");
subTypeMap.put("G", "产品");
sinTerTypeMap.put(SIN_TER_TYPE_CZ, "插针");
sinTerTypeMap.put(SIN_TER_TYPE_KT, "壳体");
sinTerTypeMap.put(SIN_TER_TYPE_BLB, "自制玻璃饼");
sinTerTypeMap.put(SIN_TER_TYPE_QT, "其他");
sinTerTypeMap.put(SIN_TER_TYPE_SMM, "石墨模");
}
/**
* 流水号
*/
private Long psId;
/**
* 零件号
*/
private String partCode;
/**
* 子件号
*/
private String subCode;
/**
* 子件名称
*/
private String subName;
/**
* 定额
*/
private Double quota;
/**
* 子件类型
* A代表组合件M代表零件R代表原材料B代表外购件P代表虚拟件G代表产品
*/
private String subType;
/**
* 烧结子件种类
* 1插针2壳体3自制玻璃饼4其它5石墨模
*/
private Integer sinTerType;
/**
* 材料
*/
private String material;
/**
* 面积
*/
private Double area;
/**
* 镀种
*/
private String plate;
/**
* 产品系列
*/
private String productType;
/**
* 镀层代号
*/
private String plateCode;
/**
* 镀层厚度
*/
private String plateThickness;
/**
* 修改时间
*/
private Date updateTime;
/**
* 配置码
*/
private String configNo;
/**
* 备注
*/
private String memo;
}

@ -76,4 +76,10 @@ public class DsPartBomVO {
*/
@Schema(description = "子件PDM图纸链接")
private String zDocLink;
/**
* 定额
*/
@Schema(description = "定额")
private Double quota;
}

@ -45,11 +45,17 @@ public class DsTaskingVO extends DsTaskingEntity {
@Serial
private static final long serialVersionUID = 1L;
// /**
// * 子件信息
// */
// @Schema(description = "子件信息")
// private List<DsTaskingIsCompletedVO> children;
/**
* 子件信息
*/
@Schema(description = "子件信息")
private List<DsTaskingIsCompletedVO> children;
private List<DsPartVersionVO> children;
/**
* 任务状态

@ -87,7 +87,7 @@ public class ProcessSetEntity extends BaseEntity {
@Schema(description = "标准周期")
private BigDecimal cycle;
/**
* 是否主工序
* 是否主工序 0否 1是
*/
@Schema(description = "是否主工序")
private String isMain;

@ -62,4 +62,8 @@ public interface CraftAbilityMapper extends BaseMapper<CraftAbilityEntity> {
*/
List<CraftAbilityExcel> export(@Param("ew") Wrapper<CraftAbilityEntity> queryWrapper);
CraftAbilityEntity selectOldMesCraftAbilityByOldCaId(@Param("caId") Long caId);
CraftAbilityEntity selectByCaCode(@Param("caCode") String caCode);
}

@ -27,5 +27,12 @@
<select id="export" resultType="org.springblade.desk.basic.excel.CraftAbilityExcel">
SELECT * FROM BS_CRAFT_ABILITY ${ew.customSqlSegment}
</select>
<select id="selectOldMesCraftAbilityByOldCaId"
resultType="org.springblade.scheduling.pojo.entity.CraftAbilityEntity">
select * from P_RB_SYNC_CRAFT_ABILITY where ID = #{caId}
</select>
<select id="selectByCaCode" resultType="org.springblade.scheduling.pojo.entity.CraftAbilityEntity">
select * from BS_CRAFT_ABILITY where is_deleted = 0 and ca_code = #{caCode}
</select>
</mapper>

@ -60,4 +60,17 @@ public interface ICraftAbilityService extends BaseService<CraftAbilityEntity> {
*/
List<CraftAbilityExcel> export(Wrapper<CraftAbilityEntity> queryWrapper);
/**
* 根据老mes工艺能力ID查询
* @param caId
* @return
*/
CraftAbilityEntity selectOldMesCraftAbilityByOldCaId(Long caId);
/**
* 根据工艺能力编码查询
* @param caCode
* @return
*/
CraftAbilityEntity selectByCaCode(String caCode);
}

@ -62,4 +62,14 @@ public class CraftAbilityServiceImpl extends BaseServiceImpl<CraftAbilityMapper,
return CraftAbilityList;
}
@Override
public CraftAbilityEntity selectOldMesCraftAbilityByOldCaId(Long caId) {
return baseMapper.selectOldMesCraftAbilityByOldCaId(caId);
}
@Override
public CraftAbilityEntity selectByCaCode(String caCode) {
return baseMapper.selectByCaCode(caCode);
}
}

@ -25,6 +25,7 @@
*/
package org.springblade.desk.dashboard.controller;
import io.protostuff.Request;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@ -230,8 +231,17 @@ public class DsTaskingController extends BladeController {
@GetMapping("/partDetail")
@ApiOperationSupport(order = 1)
@Operation(summary = "零件信息", description = "传入dsCraft")
public R<DsPartSynthesisVO> partDetail(@RequestParam Long taskId,@RequestParam String version) {
DsPartSynthesisVO detail = dsTaskingService.getPartDetail(taskId,version);
public R<DsPartSynthesisVO> partDetail(@RequestParam(required = false) Long taskId,
@RequestParam(required = false) String partCode,
@RequestParam String version) {
boolean hasTask = taskId != null;
boolean hasPart = partCode != null && !partCode.trim().isEmpty();
if (hasTask == hasPart) {
throw new IllegalArgumentException("taskId 和 partCode 必须且只能有一个有值");
}
DsPartSynthesisVO detail = dsTaskingService.getPartDetail(taskId,version,partCode);
return R.data(detail);
}
@ -241,11 +251,19 @@ public class DsTaskingController extends BladeController {
@GetMapping("/processAuthorized")
@ApiOperationSupport(order = 1)
@Operation(summary = "工艺编制", description = "传入dsCraft")
public R<DsPartAuthorizedVO> processAuthorized(@RequestParam Long taskId,
public R<DsPartAuthorizedVO> processAuthorized(@RequestParam(required = false) Long taskId,
@RequestParam(required = false) String partCode,
@RequestParam(required = false) String rank,
@RequestParam String version) {
DsPartAuthorizedVO detail = dsTaskingService.processAuthorized(taskId,rank,version);
boolean hasTask = taskId != null;
boolean hasPart = partCode != null && !partCode.trim().isEmpty();
if (hasTask == hasPart) {
throw new IllegalArgumentException("taskId 和 partCode 必须且只能有一个有值");
}
DsPartAuthorizedVO detail = dsTaskingService.processAuthorized(taskId,partCode,rank,version);
return R.data(detail);
}
@ -383,4 +401,14 @@ public class DsTaskingController extends BladeController {
}
/**
* 零件信息表 详情-工艺详情
*/
@GetMapping("/syncTasking")
public R craftDetail() {
boolean b = dsTaskingService.syncTasking();
return R.data(b);
}
}

@ -32,6 +32,7 @@ import org.apache.ibatis.annotations.Param;
import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity;
import org.springblade.desk.dashboard.pojo.vo.BsProcessSetVO;
import org.springblade.desk.dashboard.excel.BsProcessSetExcel;
import org.springblade.scheduling.pojo.entity.ProcessSetEntity;
import java.util.List;
@ -64,4 +65,6 @@ public interface BsProcessSetMapper extends BaseMapper<BsProcessSetEntity> {
BsProcessSetEntity selectBsProcessSetByProcessCode(@Param("processCode")String processCode);
List<BsProcessSetVO> selectAll();
BsProcessSetEntity selectOldMesProcessSetByOldPpsId(@Param("oldPpsId") Long oldPpsId);
}

@ -82,5 +82,9 @@
<select id="selectDsCraftByPartCodeAndVersion" resultType="org.springblade.desk.dashboard.pojo.entity.DsCraftEntity">
SELECT * FROM DS_CRAFT WHERE PART_ID=#{partCode} AND PART_VERSIONS=#{partVersion} and ROWNUM = 1
</select>
<select id="selectOldMesCraftByOldMesPartId"
resultType="org.springblade.desk.dashboard.pojo.entity.DsCraftEntity">
select * from P_RB_SYNC_CRAFT where PART_ID = #{oldMesPartId}
</select>
</mapper>

@ -81,4 +81,6 @@ public interface DsCraftMapper extends BaseMapper<DsCraftEntity> {
* @return
*/
DsCraftEntity selectDsCraftByPartCodeAndVersion(@Param("partCode")Long partCode,@Param("partVersion")String partVersion);
List<DsCraftEntity> selectOldMesCraftByOldMesPartId(@Param("oldMesPartId") Long oldMesPartId);
}

@ -0,0 +1,42 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.desk.dashboard.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springblade.desk.dashboard.pojo.entity.DsPartBasicsEntity;
/**
* 零件基础信息表 Mapper 接口
*
* @author BladeX
* @since 2025-11-12
*/
public interface DsPartBasicsMapper extends BaseMapper<DsPartBasicsEntity> {
DsPartBasicsEntity selectPartCode(@Param("partCode") String partCode);
}

@ -26,6 +26,7 @@
package org.springblade.desk.dashboard.mapper;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.dashboard.pojo.entity.DsPartSub;
import org.springblade.desk.dashboard.pojo.vo.*;
import org.springblade.desk.dashboard.excel.DsPartExcel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -76,7 +77,7 @@ public interface DsPartMapper extends BaseMapper<DsPartEntity> {
* @param partCode
* @return
*/
DsPartEntity selectDsPartByPatCode(@Param("partCode")String partCode);
List<DsPartEntity> selectDsPartByPatCode(@Param("partCode")String partCode);
/**
* 零件过期时间区间查询
@ -148,4 +149,6 @@ public interface DsPartMapper extends BaseMapper<DsPartEntity> {
List<DsPartVersionVO> selectDsPartVersionByIds(@Param("ids") List<Long> idList);
List<DsPartEntity> selectPartByDate(@Param("startDate") Date startDate,@Param("endDate") Date endDate);
List<DsPartSub> selectDsPartSub(@Param("partCode") String partCode);
}

@ -73,4 +73,6 @@ public interface DsProcessMapper extends BaseMapper<DsProcessEntity> {
* @return
*/
List<DsProcessEntity> selectDsProcessByIds(@Param("processIds")List<Long> processIds);
List<DsProcessEntity> selectOldMesProcessByOldMesCraftId(@Param("oldMesCraftId") Long oldMesCraftId);
}

@ -25,6 +25,7 @@
*/
package org.springblade.desk.dashboard.mapper;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.dashboard.pojo.entity.DsTaskingEntity;
import org.springblade.desk.dashboard.pojo.vo.DsTaskingVO;
import org.springblade.desk.dashboard.excel.DsTaskingExcel;
@ -32,6 +33,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/**
@ -105,4 +108,25 @@ public interface DsTaskingMapper extends BaseMapper<DsTaskingEntity> {
@Param("reworkOrder")String reworkOrder,
@Param("batchNo")String batchNo);
/**
* 获取最近的同步时间
* @return
*/
DsTaskingEntity getMaxSyncTime();
/**
* 查询老mes
* @param startTime
* @param endTime
* @return
*/
List<DsTaskingEntity> selectOldMesTasking(@Param("startTime") Date startTime,@Param("endTime") Date endTime);
/**
* 获取老mes的零件
* @param partCode
* @return
*/
DsPartEntity getOldMesPartByPartCode(@Param("partCode") String partCode);
}

@ -0,0 +1,10 @@
<?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.desk.dashboard.mapper.DsPartBasicsMapper">
<select id="selectPartCode" resultType="org.springblade.desk.dashboard.pojo.entity.DsPartBasicsEntity">
select id, part_code, part_name, product_type, is_sintering, is_class_cake, create_time, create_user, create_dept, update_time, update_user, remarks, status, is_deleted
from DS_PART_BASICS where PART_CODE = #{partCode}
</select>
</mapper>

@ -343,7 +343,8 @@
p.DOC_LINK as bDocLink,
c.PART_CODE as zPartCode,
c.PART_NAME as zPartName,
c.DOC_LINK as zDocLink
c.DOC_LINK as zDocLink,
c.QUOTA as quota
FROM DS_PART_RELATION r
LEFT JOIN DS_PART p ON r.PART_ID = p.ID
LEFT JOIN DS_PART c ON r.CHILD_PART_ID = c.ID
@ -380,6 +381,13 @@
WHERE update_time BETWEEN TO_DATE(#{startDate}, 'yyyy-mm-dd hh24:mi:ss')
AND TO_DATE(#{endDate}, 'yyyy-mm-dd hh24:mi:ss');
</select>
<select id="selectDsPartSub" resultType="org.springblade.desk.dashboard.pojo.entity.DsPartSub">
SELECT
src.PART_CODE, src.SUB_CODE, src.SUB_NAME, src.QUOTA,
src.SUB_TYPE, src.PRODUCT_TYPE, src.AREA, src.CONFIG_NO, src.PLATE,
src.MATERIAL, src.PLATE_CODE, src.SIN_TER_TYPE
FROM TOOL_MES.DS_PART_SUB src where src.PART_CODE = #{partCode}
</select>
</mapper>

@ -41,7 +41,8 @@
p.DOC_LINK as bDocLink,
c.PART_CODE as zPartCode,
c.PART_NAME as zPartName,
c.DOC_LINK as zDocLink
c.DOC_LINK as zDocLink,
c.QUOTA as quota
FROM DS_PART_RELATION r
LEFT JOIN DS_PART p ON r.PART_ID = p.ID
LEFT JOIN DS_PART c ON r.CHILD_PART_ID = c.ID

@ -48,5 +48,9 @@
#{id}
</foreach>
</select>
<select id="selectOldMesProcessByOldMesCraftId"
resultType="org.springblade.desk.dashboard.pojo.entity.DsProcessEntity">
select * from P_RB_SYNC_PROCESS where CRAFT_ID = #{oldMesCraftId}
</select>
</mapper>

@ -47,5 +47,10 @@
<select id="selectAll" resultType="org.springblade.desk.dashboard.pojo.vo.BsProcessSetVO">
select * from BS_PROCESS_SET where is_deleted = 0
</select>
<select id="selectOldMesProcessSetByOldPpsId"
resultType="org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity">
select * from P_RB_SYNC_PROCESS_SET where ID = #{oldPpsId}
</select>
</mapper>

@ -123,5 +123,18 @@
and BATCH_NO = #{batchNo}
and REWORK_ORDER = #{reworkOrder}
</select>
<select id="getMaxSyncTime" resultType="org.springblade.desk.dashboard.pojo.entity.DsTaskingEntity">
SELECT * FROM (
SELECT * FROM DS_TASKING
ORDER BY SYNC_TIME DESC
) WHERE ROWNUM = 1;
</select>
<select id="selectOldMesTasking" resultType="org.springblade.desk.dashboard.pojo.entity.DsTaskingEntity">
SELECT * FROM P_DS_TASKING_IN
WHERE SYNC_TIME BETWEEN #{startTime} AND #{endTime}
</select>
<select id="getOldMesPartByPartCode" resultType="org.springblade.desk.dashboard.pojo.entity.DsPartEntity">
SELECT * FROM P_RB_SYNC_PART where PART_CODE=#{partCode}
</select>
</mapper>

@ -31,6 +31,7 @@ import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity;
import org.springblade.desk.dashboard.pojo.vo.BsProcessSetVO;
import org.springblade.desk.dashboard.excel.BsProcessSetExcel;
import org.springblade.scheduling.pojo.entity.ProcessSetEntity;
import java.util.List;
/**
@ -86,4 +87,11 @@ public interface IBsProcessSetService extends BaseService<BsProcessSetEntity> {
* @return
*/
List<BsProcessSetVO> getProcessSetList();
/**
* 根据老mes的工序设置ID 查询
* @param oldPpsId
* @return
*/
BsProcessSetEntity selectOldMesProcessSetByOldPpsId(Long oldPpsId);
}

@ -184,4 +184,11 @@ public interface IDsCraftService extends BaseService<DsCraftEntity> {
* @return
*/
DsCraftEntity selectDsCraftByPartCodeAndVersion(Long partCode,String partVersion);
/**
* 根据老mes partId查询老mes工艺
* @param oldMesPartId
* @return
*/
List<DsCraftEntity> selectOldMesCraftByOldMesPartId(Long oldMesPartId);
}

@ -0,0 +1,45 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.desk.dashboard.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.dashboard.pojo.entity.DsPartBasicsEntity;
/**
* 零件基础信息表 服务类
*
* @author BladeX
* @since 2025-11-12
*/
public interface IDsPartBasicsService extends BaseService<DsPartBasicsEntity> {
/**
* 根据零件号查询
* @param partCode
* @return
*/
DsPartBasicsEntity selectByPartCode(String partCode);
}

@ -30,6 +30,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.dashboard.excel.DsPartExcel;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.dashboard.pojo.entity.DsPartSub;
import org.springblade.desk.dashboard.pojo.entity.DsProcessProjectEntity;
import org.springblade.desk.dashboard.pojo.vo.*;
@ -219,7 +220,7 @@ public interface IDsPartService extends BaseService<DsPartEntity> {
* @param partCode
* @return
*/
DsPartEntity selectDsPartByPatCode(String partCode);
List<DsPartEntity> selectDsPartByPatCode(String partCode);
/**
* 根据零件号工序ID版本号工艺级别查询对应的检验项目
@ -230,4 +231,13 @@ public interface IDsPartService extends BaseService<DsPartEntity> {
* @return 检验项目列表
*/
List<DsProcessProjectEntity> selectDsProcessProjectByPartNoAndPpsId(String partCode, String orders, String partVersion, String rank);
/**
* 查询老mes的子件信息
* @param partCode
* @return
*/
List<DsPartSub> selectDsPartSub(String partCode);
List<DsPartVersionVO> selectDsPartVersionByIds(List<Long> idList);
}

@ -90,4 +90,11 @@ public interface IDsProcessService extends BaseService<DsProcessEntity> {
* @return
*/
boolean addOrEdit(DsCraftEntity craft, List<DsProcessVO> processList, List<Long> processDeleteIds, List<Long> projectDeleteIds);
/**
* 根据老mes的工艺id查询老mes的工序
* @param oldMesCraftId
* @return
*/
List<DsProcessEntity> selectOldMesProcessByOldMesCraftId(Long oldMesCraftId);
}

@ -136,17 +136,19 @@ public interface IDsTaskingService extends BaseService<DsTaskingEntity> {
* 零件 子件 详情
* @param taskId 零件工艺信息ID
* @param version 版本号
* @param partCode 零件号
* @return 零件详细信息
*/
DsPartSynthesisVO getPartDetail(Long taskId, String version);
DsPartSynthesisVO getPartDetail(Long taskId, String version, String partCode);
/**
* 工艺编制
* @param taskId 任务ID
* @param partCode 零件号
* @param rank 工艺等级
* @return version 版本号
*/
DsPartAuthorizedVO processAuthorized(Long taskId, String rank,String version);
DsPartAuthorizedVO processAuthorized(Long taskId, String partCode, String rank, String version);
/**
@ -220,4 +222,12 @@ public interface IDsTaskingService extends BaseService<DsTaskingEntity> {
* @return
*/
boolean authorizedPart(DsPartEntity dsPart, List<DsPartEntity> zPartList);
/**
* 同步任务
* @return
*/
boolean syncTasking();
}

@ -36,6 +36,7 @@ import org.springblade.desk.dashboard.mapper.BsProcessSetMapper;
import org.springblade.desk.dashboard.service.IBsProcessSetService;
import org.springblade.desk.dashboard.service.IBsProcessTeamService;
import org.springblade.desk.dashboard.service.IBsTeamSetService;
import org.springblade.scheduling.pojo.entity.ProcessSetEntity;
import org.springblade.system.feign.IUserClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -171,4 +172,9 @@ public class BsProcessSetServiceImpl extends BaseServiceImpl<BsProcessSetMapper,
return processSetVOList;
}
@Override
public BsProcessSetEntity selectOldMesProcessSetByOldPpsId(Long oldPpsId) {
return bsProcessSetMapper.selectOldMesProcessSetByOldPpsId(oldPpsId);
}
}

@ -351,4 +351,10 @@ public class DsCraftServiceImpl extends BaseServiceImpl<DsCraftMapper, DsCraftEn
public DsCraftEntity selectDsCraftByPartCodeAndVersion(Long partCode,String partVersion){
return craftMapper.selectDsCraftByPartCodeAndVersion(partCode,partVersion);
}
@Override
public List<DsCraftEntity> selectOldMesCraftByOldMesPartId(Long oldMesPartId) {
return craftMapper.selectOldMesCraftByOldMesPartId(oldMesPartId);
}
}

@ -0,0 +1,52 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.desk.dashboard.service.impl;
import org.checkerframework.checker.units.qual.A;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.dashboard.mapper.DsPartBasicsMapper;
import org.springblade.desk.dashboard.pojo.entity.DsPartBasicsEntity;
import org.springblade.desk.dashboard.service.IDsPartBasicsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 零件基础信息 服务实现类
*
* @author BladeX
* @since 2025-11-12
*/
@Service
public class DsPartBasicsServiceImpl extends BaseServiceImpl<DsPartBasicsMapper, DsPartBasicsEntity> implements IDsPartBasicsService {
@Autowired
DsPartBasicsMapper partBasicsMapper;
@Override
public DsPartBasicsEntity selectByPartCode(String partCode) {
return partBasicsMapper.selectPartCode(partCode);
}
}

@ -506,7 +506,7 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
* @return
*/
@Override
public DsPartEntity selectDsPartByPatCode(String partCode) {
public List<DsPartEntity> selectDsPartByPatCode(String partCode) {
return dsPartMapper.selectDsPartByPatCode(partCode);
}
@ -530,4 +530,14 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
// 根据工序ID查询项目信息
return processProjectService.selectDsProcessProjectByProcessId(list.get(0).getId());
}
@Override
public List<DsPartSub> selectDsPartSub(String partCode) {
return dsPartMapper.selectDsPartSub(partCode);
}
@Override
public List<DsPartVersionVO> selectDsPartVersionByIds(List<Long> idList) {
return dsPartMapper.selectDsPartVersionByIds(idList);
}
}

@ -160,4 +160,9 @@ public class DsProcessServiceImpl extends BaseServiceImpl<DsProcessMapper, DsPro
return true;
}
@Override
public List<DsProcessEntity> selectOldMesProcessByOldMesCraftId(Long oldMesCraftId) {
return processMapper.selectOldMesProcessByOldMesCraftId(oldMesCraftId);
}
}

@ -0,0 +1,36 @@
package org.springblade.desk.dashboard.utils;
/**
* @author: liweidong
* @create: 2026-03-14
*/
public class IncrementNumberUtil {
/**
* 字符串数值递增转换核心方法
* @param input 输入的字符串可为 null//非数字/数字
* @return 转换后的字符串结果
*/
public static String convertNumber(String input) {
// 1. 处理空值/空字符串:直接返回 "1"
if (input == null || input.trim().isEmpty()) {
return "1";
}
try {
// 2. 将字符串转为整数(处理首尾空格)
int num = Integer.parseInt(input.trim());
// 3. 处理负数:返回 "1"
if (num < 0) {
return "1";
}
// 4. 正常逻辑:非负整数 +1 后转回字符串
return String.valueOf(num + 1);
} catch (NumberFormatException e) {
// 5. 处理非数字字符串(如"abc"、"12a"):返回 "1"
return "1";
}
}
}

@ -17,10 +17,7 @@ import org.springblade.desk.dashboard.pojo.entity.BsPlatingEntity;
import org.springblade.desk.dashboard.pojo.entity.DsCraftEntity;
import org.springblade.desk.dashboard.pojo.entity.DsPartEntity;
import org.springblade.desk.dashboard.pojo.entity.DsProcessEntity;
import org.springblade.desk.dashboard.service.IBsPlatingService;
import org.springblade.desk.dashboard.service.IDsCraftService;
import org.springblade.desk.dashboard.service.IDsPartService;
import org.springblade.desk.dashboard.service.IDsProcessService;
import org.springblade.desk.dashboard.service.*;
import org.springblade.desk.order.constant.PlateGoodsConst;
import org.springblade.desk.order.mapper.PlateGoodsRecordMapper;
import org.springblade.desk.order.pojo.entity.PlateGoodsRecord;
@ -56,6 +53,7 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl<PlateGoodsRecor
private final IDsCraftService dsCraftService;
private final IDsProcessService dsProcessService;
private final IMaterialQuotaService materialQuotaService;
private final IDsPartBasicsService partBasicsService;
@Override
public IPage<PlateGoodsRecord> selectPage(IPage<PlateGoodsRecord> page, PlateGoodsRecord entity) {
List<PlateGoodsRecord> dataList = baseMapper.selectPage(page, entity);
@ -176,7 +174,7 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl<PlateGoodsRecor
//生产标识/质量等级
String productIdent=yieldOrder.getProductIdent();
//根据零件号查询零件
DsPartEntity dsPart = dsPartService.selectDsPartByPatCode(partCode);
DsPartEntity dsPart = dsPartService.selectDsPartByPatCodeAndVersion(partCode,partVersion);
if(null==dsPart){
return false;
}
@ -237,7 +235,7 @@ public class PlateGoodsRecordServiceImpl extends BaseServiceImpl<PlateGoodsRecor
this.updateYieldOrder(yieldOrder);
return false;
}else{
//根据生产订单(YieldOrder)对象中的零件号和零件版本(与关系),查询DS_CRAFT表
//todo(接口存在问题) 根据生产订单(YieldOrder)对象中的零件号和零件版本(与关系),查询DS_CRAFT表
DsCraftEntity dsCraftEntity = dsCraftService.selectDsCraftByPartCodeAndVersion(dsPart.getId(),partVersion);
//工艺表(DS_CRAFT)id
Long dsCraftId=dsCraftEntity.getId();

Loading…
Cancel
Save