工装工艺编制

liweidong
liweidong-hj 3 days ago
parent e5f1cbe1b2
commit 5fc3bc4c54
  1. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/constant/TaskingConstant.java
  2. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsCraftEntity.java
  3. 96
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsCraftTurnRecordEntity.java
  4. 6
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/dashboard/pojo/entity/DsTaskingEntity.java
  5. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsCraftController.java
  6. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/CraftTurnRecordMapper.xml
  7. 48
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/mapper/DsCraftTurnRecordMapper.java
  8. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsCraftService.java
  9. 47
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/IDsCraftTurnRecordService.java
  10. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsCraftServiceImpl.java
  11. 53
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsCraftTurnRecordServiceImpl.java
  12. 30
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java
  13. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/order/feign/OrderClient.java

@ -127,4 +127,10 @@ public interface TaskingConstant {
*/
String RB_CREAT = "rb_craft";
String SJ_CREAT = "sj_craft";
/**
* 是否为工装编制工艺
*/
Integer NO_CRAFT_TURN_RECORD = 0;
Integer CRAFT_TURN_RECORD = 1;
}

@ -113,5 +113,11 @@ public class DsCraftEntity extends BaseEntity {
@Schema(description = "零件号")
private String partCode;
/**
* 是否工装编制
*/
@Schema(description = "是否工装编制")
private Integer isCraftTurnRecord;
}

@ -0,0 +1,96 @@
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;
import java.util.Date;
@Data
@TableName("DS_CRAFT_TURN_RECORD")
@Schema(description = "内部协作工艺内容提前转出")
@EqualsAndHashCode(callSuper = true)
public class DsCraftTurnRecordEntity extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 计划序号
*/
@Schema(description = "计划序号")
private String toolid;
/**
* 零件号
*/
@Schema(description = "零件号")
private String code;
/**
* 零件名称
*/
@Schema(description = "零件名称")
private String name;
/**
* 材料号
*/
@Schema(description = "材料号")
private String goodsCode;
/**
* 镀种
*/
@Schema(description = "镀种")
private String platingKinds;
/**
* 工艺内容
*/
@Schema(description = "工艺内容")
private String memo;
/**
* 面积
*/
@Schema(description = "面积")
private Integer areaQuantity;
/**
* 路线卡号
*/
@Schema(description = "路线卡号")
private String partsCode;
/**
* ds_process主键
*/
@Schema(description = "ds_process主键")
private Long pid;
/**
* 工序名称
*/
@Schema(description = "工序名称")
private String seqccName;
/**
* 创建时间
*/
@Schema(description = "创建时间")
private Date createDate;
/**
* 工艺变更操作类型1增加2修改3删除
*/
@Schema(description = "工艺变更操作类型,1增加,2修改,3删除")
private Integer operType;
/**
* 工艺编制状态:1未编制2已编制
*/
@Schema(description = "工艺编制状态:1未编制2已编制")
private Integer status;
}

@ -197,5 +197,11 @@ public class DsTaskingEntity extends BaseEntity {
@Schema(description = "审理意见")
private String dispose;
/**
* 流程卡号
*/
@Schema(description = "流程卡号")
private String cardNo;
}

@ -170,7 +170,7 @@ public class DsCraftController extends BladeController {
@Operation(summary = "逻辑删除", description = "传入ids")
public R craftBatchRemoval(@Parameter(description = "主键", required = true) @RequestParam String id) {
return R.status(dsCraftService.craftBatchRemoval(id));
return R.status(dsCraftService.craftBatchRemoval(id,true));
}
/**

@ -0,0 +1,11 @@
<?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.DsCraftTurnRecordMapper">
<select id="selectByCardNo"
resultType="org.springblade.desk.dashboard.pojo.entity.DsCraftTurnRecordEntity">
select * from DS_CRAFT_TURN_RECORD where PARTS_CODE = #{cardNo}
</select>
</mapper>

@ -0,0 +1,48 @@
/**
* 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.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.desk.dashboard.excel.BsCraftAbilityExcel;
import org.springblade.desk.dashboard.pojo.entity.BsCraftAbilityEntity;
import org.springblade.desk.dashboard.pojo.entity.DsCraftTurnRecordEntity;
import org.springblade.desk.dashboard.pojo.vo.BsCraftAbilityVO;
import java.util.List;
/**
* 工艺能力表 Mapper 接口
*
* @author BladeX
* @since 2025-11-12
*/
public interface DsCraftTurnRecordMapper extends BaseMapper<DsCraftTurnRecordEntity> {
List<DsCraftTurnRecordEntity> selectByCardNo(@Param("cardNo") String cardNo);
}

@ -173,10 +173,11 @@ public interface IDsCraftService extends BaseService<DsCraftEntity> {
/**
* 一键删除
* @param id
* @param id 工艺ID
* @param isDelCraft 是否删除工艺
* @return
*/
boolean craftBatchRemoval(String id);
boolean craftBatchRemoval(String id,boolean isDelCraft);
/**
* 根据零件号零件版本查询

@ -0,0 +1,47 @@
/**
* 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.DsCraftTurnRecordEntity;
import java.util.List;
/**
* 工艺能力表 服务类
*
* @author BladeX
* @since 2025-11-12
*/
public interface IDsCraftTurnRecordService extends BaseService<DsCraftTurnRecordEntity> {
/**
* 根据流程卡号查询
* @param cardNo
* @return
*/
List<DsCraftTurnRecordEntity> selectByCardNo(String cardNo);
}

@ -265,7 +265,7 @@ public class DsCraftServiceImpl extends BaseServiceImpl<DsCraftMapper, DsCraftEn
@Override
@Transactional(rollbackFor = Exception.class)
public boolean craftBatchRemoval(String id) {
public boolean craftBatchRemoval(String id,boolean isDelCraft) {
if (StringUtils.isBlank(id)) {
throw new ServiceException("工艺ID不能为空");
@ -340,7 +340,9 @@ public class DsCraftServiceImpl extends BaseServiceImpl<DsCraftMapper, DsCraftEn
processService.deleteLogic(processIdList);
// 删除工艺
this.deleteLogic(List.of(craftId));
if(isDelCraft){
this.deleteLogic(List.of(craftId));
}
return true;
}

@ -0,0 +1,53 @@
/**
* 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.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.dashboard.mapper.DsCraftTurnRecordMapper;
import org.springblade.desk.dashboard.pojo.entity.DsCraftTurnRecordEntity;
import org.springblade.desk.dashboard.service.IDsCraftTurnRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 工艺能力表 服务实现类
*
* @author BladeX
* @since 2025-11-12
*/
@Service
public class DsCraftTurnRecordServiceImpl extends BaseServiceImpl<DsCraftTurnRecordMapper, DsCraftTurnRecordEntity> implements IDsCraftTurnRecordService {
@Autowired
DsCraftTurnRecordMapper craftTurnRecordMapper;
@Override
public List<DsCraftTurnRecordEntity> selectByCardNo(String cardNo) {
return craftTurnRecordMapper.selectByCardNo(cardNo);
}
}

@ -128,6 +128,9 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
@Lazy
IYieldOrderService yieldOrderService;
@Autowired
IDsCraftTurnRecordService craftTurnRecordService;
@Override
public IPage<DsPartVO> selectDsPartPage(IPage<DsPartVO> page, DsPartVO dsPart) {
@ -764,6 +767,19 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
}
// 删除工艺
Integer isCraftTurnRecord = craftByRank.getIsCraftTurnRecord();
if (isCraftTurnRecord != null && isCraftTurnRecord.equals(TaskingConstant.CRAFT_TURN_RECORD)) {
try {
craftService.craftBatchRemoval(craftByRank.getId().toString(), false);
log.info("工装工艺删除成功,ID:{}", craftByRank.getId());
} catch (Exception e) {
log.error("工装工艺删除失败,ID:{},错误信息:{}", craftByRank.getId(), e.getMessage(), e);
}
} else {
log.debug("无需删除工装工艺,isCraftTurnRecord:{}", isCraftTurnRecord);
}
// 9. 返回工艺
return PartCraftVO.build(PartCraftStatusEnum.SUCCESS.getCode(),craftByRank);
@ -1022,6 +1038,20 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
newTask.setVersion(partVersionEntity.getPartVersion());
}
// 4.查询工装工艺编制是否有任务
String cardNo = yieldOrder.getCardNo();
List<DsCraftTurnRecordEntity> craftTurnRecordList = craftTurnRecordService.selectByCardNo(cardNo);
if(!CollectionUtils.isEmpty(craftTurnRecordList)){
//标记工艺为工装编制工艺
List<DsCraftEntity> craftList = craftService.listByPartId(partEntity.getId());
for (DsCraftEntity craft : craftList) {
craft.setIsCraftTurnRecord(1);
}
craftService.updateBatchById(craftList);
newTask.setCardNo(cardNo);
}
boolean taskingSave = taskingService.save(newTask);
if (!taskingSave) {
log.error("创建维护任务失败,零件编码:{}", partEntity.getPartCode());

@ -77,7 +77,11 @@ public class OrderClient implements IOrderClient {
@Override
public void dataVerify() {
List<YieldOrder> list = orderService.list(Wrappers.<YieldOrder>lambdaQuery().in(YieldOrder::getValidationResult,16001,16003));
List<YieldOrder> list = orderService.list(Wrappers.<YieldOrder>lambdaQuery()
.in(YieldOrder::getValidationResult, 16001, 16003)
.orderByAsc(YieldOrder::getPartCode)
.orderByAsc(YieldOrder::getCardNo)
);
if(CollectionUtils.isNotEmpty(list)){
List<Long> idList = list.stream().map(BaseEntity::getId).collect(Collectors.toList());
log.info("定时任务合规性校验:{}",idList);

Loading…
Cancel
Save