From d3f84b08f15253d9033d5a0ad107347b488d3ec9 Mon Sep 17 00:00:00 2001 From: lym <1994302445@qq.com> Date: Sun, 28 Apr 2024 20:02:19 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executor/enums/ErrorCodeConstants.java | 1 + .../service/order/ApiOrderService.java | 4 + .../service/order/OrderServiceImpl.java | 17 ++- .../util/deviseData/dataTwo/BodyInfo.java | 27 ++++ .../util/deviseData/dataTwo/PlateDetail.java | 1 + .../api/webcad/ApiTypeChangeRealize.java | 120 +++++++++++++----- .../service/plate/PlateServiceImpl.java | 8 +- .../system/enums/ErrorCodeConstants.java | 1 + .../dal/mysql/process/ProcessGroupMapper.java | 8 ++ .../dal/mysql/process/ProcessMapper.java | 7 +- .../service/process/ProcessServiceImpl.java | 24 +++- .../mapper/process/ProcessMapper.xml | 5 + 12 files changed, 186 insertions(+), 37 deletions(-) create mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BodyInfo.java diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java index 85484dc04..26c055a4a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java @@ -53,4 +53,5 @@ public interface ErrorCodeConstants { ErrorCode APP_TOKEN_ERROR = new ErrorCode(1_002_029_006, "token获取失败"); ErrorCode PLATE_DATA_ERROR = new ErrorCode(1_002_029_006, "板材数据获取错误"); ErrorCode PARTS_DATA_ERROR = new ErrorCode(1_002_029_006, "配件数据获取错误"); + ErrorCode BODY_DATA_ERROR = new ErrorCode(1_002_029_006, "柜体数据获取错误"); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/ApiOrderService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/ApiOrderService.java index a9c05c88c..5a3f86c38 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/ApiOrderService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/ApiOrderService.java @@ -17,4 +17,8 @@ public interface ApiOrderService { @RequestMapping(value = "/Api-erpOrders-partsList",method = RequestMethod.POST) JSONObject getApiOrderPartsMessage(@RequestParam("token") String token, @RequestBody JSONObject json); + + @RequestMapping(value = "/Api-erpOrders-boxsList",method = RequestMethod.POST) + JSONObject getApiOrderBodyMessage(@RequestParam("token") String token, @RequestBody JSONObject json); + } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java index dcf963aee..ec651e1a1 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java @@ -414,8 +414,23 @@ public class OrderServiceImpl implements OrderService { JSONObject value = apiOrderService.getApiOrderPartsMessage(token, jsonParts).getJSONObject("value"); mergeJSONObjects(dataParts, value); } +// 柜体信息转换 + JSONObject jsonBody = new JSONObject(); + jsonBody.put("curr_page", 1); + jsonBody.put("page_count", PARTS_PAGE_MAX); + jsonBody.put("order_no", orderNo); + JSONObject body = apiOrderService.getApiOrderBodyMessage(token, jsonBody); + if (!body.getString("err_code").equals("0")) { + throw exception(BODY_DATA_ERROR); + } + JSONObject dataBody = new JSONObject(); + for (int i = 1; i <= dataBody.getJSONObject("value").getInteger("PageCount"); i++) { + jsonParts.put("curr_page", i); + JSONObject value = apiOrderService.getApiOrderPartsMessage(token, jsonBody).getJSONObject("value"); + mergeJSONObjects(dataBody, value); + } // 转换 - List plateDetails = (List) apiTypeChangeRealize.apiPlateDataChange(dataPlates.getJSONObject("value"),dataParts); + List plateDetails = (List) apiTypeChangeRealize.apiPlateDataChange(dataPlates.getJSONObject("value"),dataParts,dataBody); System.out.println(plateDetails); return null; } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BodyInfo.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BodyInfo.java new file mode 100644 index 000000000..37edb87d0 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/BodyInfo.java @@ -0,0 +1,27 @@ +package com.cf.imes.module.executor.util.deviseData.dataTwo; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 柜体基本信息 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class BodyInfo { + +// 板件所属信息 + private String roomsName; //房间名称 + private String roomNo; // 房间号 + private String bodyName; //柜体名 + private String bodyNo; // 柜体号 +// 柜体 长 宽 深 + private Double width; + private Double height; + private Double depth; + +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PlateDetail.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PlateDetail.java index c0afe7a14..126f91cb5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PlateDetail.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PlateDetail.java @@ -31,6 +31,7 @@ public class PlateDetail { // 板件所属信息 private String roomsName; //房间名称 + private String roomNo; // 房间号 private String bodyName; //柜体名 private String bodyNo; // 柜体号 // 柜体 长 宽 深 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeChangeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeChangeRealize.java index 841c969f6..7c6796bf6 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeChangeRealize.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeChangeRealize.java @@ -2,11 +2,16 @@ package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; +import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO; import com.cf.imes.module.executor.util.deviseData.dataTwo.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import javax.annotation.Resource; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.ArrayList; @@ -19,10 +24,14 @@ import java.util.stream.Collectors; /** * 实现数据格式转换 */ -@Service -@Validated -public class ApiTypeChangeRealize{ - public List apiPlateDataChange(JSONObject dataPlates, JSONObject dataParts){ +@Slf4j +@Component +public class ApiTypeChangeRealize { + + @Resource + private IdentifierGenerator identifierGenerator; + + public List apiPlateDataChange(JSONObject dataPlates, JSONObject dataParts, JSONObject dataBody) { // 配件数据分类 List partsInfos = partsInfoChange(dataParts); @@ -31,18 +40,54 @@ public class ApiTypeChangeRealize{ partsInfo -> partsInfo.getBodyNo() != null ? partsInfo.getBodyNo() : " ", Collectors.toList() )); - +// 柜体信息 + List bodyInfos = bodyInfoChange(dataBody); + Map> bodyMap = bodyInfos.stream() + .collect(Collectors.groupingBy( + bodyInfo -> bodyInfo.getBodyNo() != null ? bodyInfo.getBodyNo() : " ", + Collectors.toList() + )); // 放入板材 - List plateDetails = platesInfoChange(dataPlates); + List plateDetails = platesInfoChange(dataPlates,); for (PlateDetail plateDetail : plateDetails) { - if (partsMap.get(plateDetail.getBodyNo()) != null){ + if (partsMap.get(plateDetail.getBodyNo()) != null) { plateDetail.setPartsInfos(partsMap.get(plateDetail.getBodyNo())); } + if (bodyMap.get(plateDetail.getBodyNo()) != null) { + BodyInfo bodyInfo = bodyMap.get(plateDetail.getBodyNo()).get(0); + plateDetail.setRoomsName(bodyInfo.getRoomsName()).setRoomNo(bodyInfo.getRoomNo()) + .setBodyName(bodyInfo.getBodyName()).setBodyNo(bodyInfo.getBodyNo()) + .setWidth(bodyInfo.getWidth()).setHeight(bodyInfo.getHeight()).setDepth(bodyInfo.getDepth()); + } } +// 生产单信息获取 + OrderDO orderDO = orderInfoChange(dataPlates); + Long orderId = orderDO.getId();// 生产单id + return plateDetails; } -// 生产单信息获取 - public OrderDO orderInfoChange(JSONObject dataPlates){ + + private List bodyInfoChange(JSONObject dataBody) { + List bodyInfos = new ArrayList<>(); + + dataBody.getJSONArray("List").forEach(item -> { + JSONObject body = (JSONObject) item; + BodyInfo bodyInfo = BodyInfo.builder() + .roomsName(body.getString("Room")) + .roomNo(body.getString("RoomID")) + .bodyName(body.getString("Name")) + .bodyNo(body.getString("BoxID")) + .width(body.getDouble("Width")) + .height(body.getDouble("Height")) + .depth(body.getDouble("Depth")) + .build(); + bodyInfos.add(bodyInfo); + }); + return bodyInfos; + } + + // 生产单信息获取 + public OrderDO orderInfoChange(JSONObject dataPlates) { List plateDetails = new ArrayList<>(); // 获取 Orders 字段对应的数组 JSONObject order = dataPlates.getJSONObject("Orders"); @@ -50,31 +95,33 @@ public class ApiTypeChangeRealize{ // 如果 Orders 数组不为空,则获取第一个订单对象 if (order != null && !order.isEmpty()) { // 获取生产单信息 - // 使用 DateTimeFormatter 解析日期字符串 - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - LocalDate deliveryDate = LocalDate.parse(order.getString("DeliveryDate"), formatter); + // 使用 DateTimeFormatter 解析日期字符串 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate deliveryDate = LocalDate.parse(order.getString("DeliveryDate"), formatter); - OrderDO orderDO = OrderDO.builder() - .parentNo(0L) - .orderType(true) - .orderSort(0) - .dataType(1) - .status(0) - .customOrderNo(order.getString("OrderNo")) - .customer(order.getString("Consigee")) - .address(order.getString("ConsigeeAddress")) - .phoneNumber(order.getString("ConsigeePhone")) - .dealer(order.getString("CustomName")) - .salesman(order.getString("SalePerson")) - .remark(order.getString("Remark")) - .deliveryDate(deliveryDate.atStartOfDay()) - .build(); - return orderDO; + OrderDO orderDO = OrderDO.builder() + .id(identifierGenerator.nextId(null).longValue()) + .parentNo(0L) + .orderType(true) + .orderSort(0) + .dataType(1) + .status(0) + .customOrderNo(order.getString("OrderNo")) + .customer(order.getString("Consigee")) + .address(order.getString("ConsigeeAddress")) + .phoneNumber(order.getString("ConsigeePhone")) + .dealer(order.getString("CustomName")) + .salesman(order.getString("SalePerson")) + .remark(order.getString("Remark")) + .deliveryDate(deliveryDate.atStartOfDay()) + .build(); + return orderDO; } return null; } -// 板材数据转换 - public List platesInfoChange(JSONObject dataPlates){ + + // 板材数据转换 + public List platesInfoChange(JSONObject dataPlates) { List plateDetails = new ArrayList<>(); // 获取 Orders 字段对应的数组 JSONArray ordersArray = dataPlates.getJSONArray("Orders"); @@ -82,13 +129,24 @@ public class ApiTypeChangeRealize{ // 如果 Orders 数组不为空,则获取第一个订单对象 if (ordersArray != null && !ordersArray.isEmpty()) { // 获取生产单信息 + List rawGoodsDOS = new ArrayList<>(); for (int i = 0; i < ordersArray.size(); i++) { JSONObject order = ordersArray.getJSONObject(i); // 获取材料信息 if (order.getJSONArray("Materials") != null && !order.getJSONArray("Materials").isEmpty()) { for (int j = 0; j < order.getJSONArray("Materials").size(); j++) { JSONObject material = order.getJSONArray("Materials").getJSONObject(j); - +// rawGoodsDOS.add(RawGoodsDO.builder() +// .id(identifierGenerator.nextId(null).longValue()) +// .orderId(organId) +// .goodsName(material.getString("MaterialName")) +// .material(material.getString("MaterialName")) +// .color(material.getString("Color")) +// .brand(material.getString("Brand")) +// .price(material.getDouble("Price")) +// .spec(material.getString("Spec")) +// .unit(material.getString("Unit")) +// .build()); // 板件信息 if (material.getJSONArray("Blocks") != null && !material.getJSONArray("Blocks").isEmpty()) { for (int k = 0; k < material.getJSONArray("Blocks").size(); k++) { diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java index c01408882..119febc4c 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java @@ -46,11 +46,17 @@ public class PlateServiceImpl implements PlateService { @Override public Long createPlate(PlateSaveReqVO createReqVO) { PlateDO plate = BeanUtils.toBean(createReqVO, PlateDO.class); - if (createReqVO.getOrganId() == null && createReqVO.getOrganId() == 0 ){ + if (createReqVO.getOrganId() != null && createReqVO.getOrganId() != 0 ){ validateOrganExists(createReqVO.getOrganId()); validateGoodExists(createReqVO.getGoodsId(), createReqVO.getOrganId()); plate.setOrganId(OrganContextHolder.getOrganId()); } +// 判断板材是否存在 + PlateDO existPlate = plateMapper.selectByGoodID(createReqVO.getGoodsId(), OrganContextHolder.getOrganId()); + System.out.println(" existPlate " + existPlate); + if (existPlate != null){ + throw exception(ErrorCodeConstants.PLATE_EXISTS); + } plateMapper.insert(plate);// 组织id未传输 // 返回 return plate.getId(); diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java index 8894d4d7b..0017a1511 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java @@ -179,6 +179,7 @@ public interface ErrorCodeConstants { //=========== 工序信息 1-002-028-000 ============ ErrorCode PROCESS_NOT_EXISTS = new ErrorCode(1_002_028_000, "工序不存在"); + ErrorCode PROCESS_IS_ENABLED = new ErrorCode(1_002_028_000, "工序以启用,禁止关闭"); ErrorCode PROCESS_ID_IS_NULL = new ErrorCode(1_002_028_000, "工序ID填写错误不存在"); ErrorCode PROCESS_STATUS_DISABLE = new ErrorCode(1_002_028_000, "工序状态以已禁用"); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessGroupMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessGroupMapper.java index f700ffd66..e51b0e5fe 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessGroupMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessGroupMapper.java @@ -9,6 +9,8 @@ import com.cf.imes.module.system.dal.dataobject.process.ProcessGroupDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 工序组表 process_group Mapper * @@ -32,4 +34,10 @@ public interface ProcessGroupMapper extends BaseMapperX { ProcessDO selectOneById(@Param("id") Long id, @Param("organId") Long organId); int updateIsDefault(@Param("processGroupId") Long processGroupId, @Param("organId") Long organId); + +// 模糊匹配items + default List selectListByItems(@Param("items") String items) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(ProcessGroupDO::getItems, items)); + } } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessMapper.java index fa24348fb..786f66c71 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessMapper.java @@ -42,9 +42,12 @@ public interface ProcessMapper extends BaseMapperX { ProcessDO selectOneById(@Param("id") Long id, @Param("organId") Long organId); - default List selectAll() { + default List selectAll(Long organId) { return selectList(new LambdaQueryWrapperX() - .orderByDesc(ProcessDO::getId)); + .orderByDesc(ProcessDO::getId) + .eqIfPresent(ProcessDO::getOrganId, organId) + .eqIfPresent(ProcessDO::getIsEnabled, true)); } + int deleteById(@Param("id") Long id); } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java index 046b0ac18..deb7b15d1 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java @@ -7,6 +7,7 @@ import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.module.system.controller.admin.process.vo.process.*; import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserSaveReqVO; import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO; +import com.cf.imes.module.system.dal.mysql.process.ProcessGroupMapper; import com.cf.imes.module.system.enums.ErrorCodeConstants; import com.cf.imes.module.system.service.user.AdminUserService; import org.springframework.stereotype.Service; @@ -41,6 +42,9 @@ public class ProcessServiceImpl implements ProcessService { @Resource private ProcessMapper processMapper; + @Resource + private ProcessGroupMapper processGroupMapper; + @Resource private ProcessUserService processUserService; @@ -84,7 +88,9 @@ public class ProcessServiceImpl implements ProcessService { // 校验存在 validateProcessExists(updateReqVO.getId()); if (updateReqVO.getIsEnabled()) {//为禁用 - throw exception(PROCESS_STATUS_DISABLE); + if (isProcessUsed(String.valueOf(updateReqVO.getId()))){ + throw exception(PROCESS_IS_ENABLED); + } } ProcessDO updateProcess = BeanUtils.toBean(updateReqVO, ProcessDO.class); @@ -111,11 +117,23 @@ public class ProcessServiceImpl implements ProcessService { } processMapper.updateById(updateProcess); } +// 判断此工序是否已在工序组中使用 + public boolean isProcessUsed(String items) { + System.out.println("processGroupMapper.selectListByItems(items) " + processGroupMapper.selectListByItems(items)); + System.out.println(processGroupMapper.selectListByItems(items) != null); + System.out.println(processGroupMapper.selectListByItems(items).size()); + if (processGroupMapper.selectListByItems(items) != null) + return true; + return false; + } @Override public void deleteProcess(Long id) { // 校验存在 validateProcessExists(id); + if (isProcessUsed(String.valueOf(id))){ + throw exception(PROCESS_IS_ENABLED); + } // 删除 processMapper.deleteById(id); @@ -163,7 +181,9 @@ public class ProcessServiceImpl implements ProcessService { @Override public List getAllProcess() { - List processDOList = processMapper.selectAll(); +// 获取组织id + Long organId = OrganContextHolder.getOrganId(); + List processDOList = processMapper.selectAll(organId); return processDOList; } diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessMapper.xml index 51c851e29..00ee78002 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessMapper.xml +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessMapper.xml @@ -67,4 +67,9 @@ from process p where p.id = #{id} and p.organ_id = #{organId} and p.deleted = 0 + + + DELETE FROM process + WHERE id = #{id}; + \ No newline at end of file