diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/ExecutorServerApplication.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/ExecutorServerApplication.java index 9e8031dfe..459a6073d 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/ExecutorServerApplication.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/ExecutorServerApplication.java @@ -2,11 +2,13 @@ package com.cf.imes.module.executor; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; /** * @author there */ @SpringBootApplication +@EnableFeignClients public class ExecutorServerApplication { public static void main(String[] args) { SpringApplication.run(ExecutorServerApplication.class, args); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java index 90bce9097..2c4860905 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java @@ -1,14 +1,18 @@ package com.cf.imes.module.executor.controller.admin.order; -import com.cf.imes.module.executor.controller.admin.order.vo.order.*; +import com.alibaba.fastjson.JSONObject; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderImportRespVO; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPageReqVO; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderSaveReqVO; import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO; import com.cf.imes.module.executor.dal.dataobject.orderModuleExtra.OrderModuleExtraDO; +import com.cf.imes.module.executor.service.order.ApiOrderService; import com.cf.imes.module.executor.service.order.OrderInputProcessor; import com.cf.imes.module.executor.util.FileTypeChangeUtil; import com.cf.imes.module.executor.util.deviseData.Detail; import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO; import io.swagger.v3.oas.annotations.Parameters; -import org.springframework.util.ObjectUtils; import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.*; @@ -68,6 +72,9 @@ public class OrderController { @Resource private OrderInputProcessor orderInputProcessor; + @Resource + private ApiOrderService apiOrderService; + private static final Logger log = LoggerFactory.getLogger(OrderController.class); @PostMapping("/create") @@ -163,62 +170,62 @@ public class OrderController { } } - @PostMapping("/import") - @Operation(summary = "导入生产单新增") - @Parameters({ - @Parameter(name = "file", description = "Excel 文件", required = true), - @Parameter(name = "isAddPlate", description = "是否为生产单新增板材", example = "false"), - @Parameter(name = "upload", description = "是 更新、否 新建", example = "false"), - @Parameter(name = "orderSaveReqVO", description = "生产单新增参数", required = true) - }) - @PreAuthorize("@ss.hasPermission('executor:order:import')") - public CommonResult> importExcel(@RequestPart("file") MultipartFile file, - @RequestParam(value = "isAddPlate", required = false, defaultValue = "false") Boolean isAddPlate, - @RequestParam(value = "upload", required = false, defaultValue = "false") Boolean upload, - @RequestPart("orderSaveReqVO") OrderSaveReqVO createReqVO) throws IOException { - Map map = new HashMap<>(); -// 判断是否更新板材 - if (!isAddPlate) {//不需要添加板材 - if (upload) { - orderService.updateOrder(createReqVO);//更新 - map.put(true, "单独更新生产单成功"); - } else { - Long id = orderService.createOrder(createReqVO);//新建 - map.put(true, "单独新增生产单成功"); - } - return success(map); - } else { - Long id = 0L; - if (upload) { - orderService.updateOrder(createReqVO);//更新 - id = createReqVO.getId(); - map.put(true, "单独更新生产单成功"); - } else { - id = orderService.createOrder(createReqVO);//新建 - map.put(true, "单独新增生产单成功"); - } -// 解析导入文件,生成统一格式 - List list = new ArrayList<>(); - if (createReqVO.getDataType() == 1) {//CAD - - } else if (createReqVO.getDataType() == 2) {//WebCAD - - } else if (createReqVO.getDataType() == 3) {//Excel -// 文件数据读取 - list = fileTypeChangeUtil.fileDataChange(file); - } - if (list == null || list.size() == 0) { - map.put(false, "导入文件有误"); - return success(map); - } -// OrderImportRespVO respVO = orderService.importOrderList(list , id , orderImportRespVO); - orderInputProcessor.input((List) list, id); -// 是否新增成功需要返回 - map.putIfAbsent(true, "文件导入成功"); - return success(map); - - } - } +// @PostMapping("/import") +// @Operation(summary = "导入生产单新增") +// @Parameters({ +// @Parameter(name = "file", description = "Excel 文件", required = true), +// @Parameter(name = "isAddPlate", description = "是否为生产单新增板材", example = "false"), +// @Parameter(name = "upload", description = "是 更新、否 新建", example = "false"), +// @Parameter(name = "orderSaveReqVO", description = "生产单新增参数", required = true) +// }) +// @PreAuthorize("@ss.hasPermission('executor:order:import')") +// public CommonResult> importExcel(@RequestPart("file") MultipartFile file, +// @RequestParam(value = "isAddPlate", required = false, defaultValue = "false") Boolean isAddPlate, +// @RequestParam(value = "upload", required = false, defaultValue = "false") Boolean upload, +// @RequestPart("orderSaveReqVO") OrderSaveReqVO createReqVO) throws IOException { +// Map map = new HashMap<>(); +//// 判断是否更新板材 +// if (!isAddPlate) {//不需要添加板材 +// if (upload) { +// orderService.updateOrder(createReqVO);//更新 +// map.put(true, "单独更新生产单成功"); +// } else { +// Long id = orderService.createOrder(createReqVO);//新建 +// map.put(true, "单独新增生产单成功"); +// } +// return success(map); +// } else { +// Long id = 0L; +// if (upload) { +// orderService.updateOrder(createReqVO);//更新 +// id = createReqVO.getId(); +// map.put(true, "单独更新生产单成功"); +// } else { +// id = orderService.createOrder(createReqVO);//新建 +// map.put(true, "单独新增生产单成功"); +// } +//// 解析导入文件,生成统一格式 +// List list = new ArrayList<>(); +// if (createReqVO.getDataType() == 1) {//CAD +// +// } else if (createReqVO.getDataType() == 2) {//WebCAD +// +// } else if (createReqVO.getDataType() == 3) {//Excel +//// 文件数据读取 +// list = fileTypeChangeUtil.fileDataChange(file); +// } +// if (list == null || list.size() == 0) { +// map.put(false, "导入文件有误"); +// return success(map); +// } +//// OrderImportRespVO respVO = orderService.importOrderList(list , id , orderImportRespVO); +// orderInputProcessor.input((List) list, id); +//// 是否新增成功需要返回 +// map.putIfAbsent(true, "文件导入成功"); +// return success(map); +// +// } +// } // 导出错误的excel @PostMapping("/import-excel") @@ -249,15 +256,15 @@ public class OrderController { orderService.updateOrder(createReqVO);//更新 id = createReqVO.getId(); } else { -// id = orderService.createOrder(createReqVO);//新建 + id = orderService.createOrder(createReqVO);//新建 } // 解析导入文件,生成统一格式 List list = new ArrayList<>(); - if (createReqVO.getDataType() == 1) {//CAD + if (createReqVO.getDataType() == 1) {//数据源 - } else if (createReqVO.getDataType() == 2) {//WebCAD + } else if (createReqVO.getDataType() == 2) {//api - } else if (createReqVO.getDataType() == 3) {//Excel + } else if (createReqVO.getDataType() == 0) {//文件 // 文件数据读取 list = fileTypeChangeUtil.fileDataChange(file); } @@ -339,33 +346,82 @@ public class OrderController { return success(BeanUtils.toBean(orderService.getBody(orderId), OrderBodyRespVO.class)); } - @PostMapping("file-import") - @Operation(summary = "文件上产接口") - @Parameters({ - @Parameter(name = "file", description = "文件", required = false), - @Parameter(name = "isAddPlate", description = "是否为生产单新增板材", example = "false"), - @Parameter(name = "upload", description = "是 更新、否 新建", example = "false"), - @Parameter(name = "orderSaveReqVO", description = "生产单新增参数", required = true), - @Parameter(name = "type", description = "文件类型", required = true) - }) - @PreAuthorize("@ss.hasPermission('executor:fileData:import')") - public CommonResult apiImport(@RequestPart(value = "file", required = false) MultipartFile file, - @RequestParam(value = "isAddPlate", required = false, defaultValue = "false") Boolean isAddPlate, - @RequestParam(value = "upload", required = false, defaultValue = "false") Boolean upload, - @RequestPart("orderSaveReqVO") OrderSaveReqVO createReqVO, - @RequestParam(value = "type", required = false, defaultValue = "cf_cad") String type, - final HttpServletResponse respons) throws IOException { +// @PostMapping("file-import") +// @Operation(summary = "文件上传接口--完善中") +// @Parameters({ +// @Parameter(name = "file", description = "文件", required = false), +// @Parameter(name = "isAddPlate", description = "是否为生产单新增板材", example = "false"), +// @Parameter(name = "upload", description = "是 更新、否 新建", example = "false"), +// @Parameter(name = "orderSaveReqVO", description = "生产单新增参数", required = true), +// @Parameter(name = "type", description = "文件类型", required = true) +// }) +// @PreAuthorize("@ss.hasPermission('executor:fileData:import')") +// public CommonResult apiImport(@RequestPart(value = "file", required = false) MultipartFile file, +// @RequestParam(value = "isAddPlate", required = false, defaultValue = "false") Boolean isAddPlate, +// @RequestParam(value = "upload", required = false, defaultValue = "false") Boolean upload, +// @RequestPart("orderSaveReqVO") OrderSaveReqVO createReqVO, +// @RequestParam(value = "type", required = false, defaultValue = "cf_cad") String type, +// final HttpServletResponse respons) throws IOException { +// +// OrderImportRespVO orderImportRespVO = OrderImportRespVO.builder().createOrder(new ArrayList<>()) +// .updateOrder(new ArrayList<>()).failureOrder(new LinkedHashMap<>()).build(); +// +//// 数据格式转换,返回转换完成的数据(传入文件类型,和文件类容),判断需要使用那种解析之后,进行数据的转换 +// List list = fileTypeChangeUtil.chooseType(file, type); +// if (fileTypeChangeUtil.getFlag()) {//文件数据转换成功,进行数据填入 +// +// } +// +// return success(orderImportRespVO); +// } - OrderImportRespVO orderImportRespVO = OrderImportRespVO.builder().createOrder(new ArrayList<>()) - .updateOrder(new ArrayList<>()).failureOrder(new LinkedHashMap<>()).build(); -// 数据格式转换,返回转换完成的数据(传入文件类型,和文件类容),判断需要使用那种解析之后,进行数据的转换 - List list = fileTypeChangeUtil.chooseType(file, type); - if (fileTypeChangeUtil.getFlag()) {//文件数据转换成功,进行数据填入 +// 测试接口 + @GetMapping("getTest") + @Operation(summary = "测试接口") + @PreAuthorize("@ss.hasPermission('executor:order:query')") + public CommonResult test(@RequestParam(value = "orderNo", required = false, defaultValue = "20230809027818") String orderNo) { +// 获取token + JSONObject json = apiOrderService.getApiTokenMessage("CF7526AD51", "5f467b508061eff60bdacc7230357d2f"); +// 判断获取token是否成功 + if (json.getString("err_msg").equals("success")) { + System.out.println("获取token成功"); + String token = json.getJSONObject("info").getString("access_token"); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("order_no", orderNo);//生产单号需要传入赋值 + jsonObject.put("format", "json"); +// 数据解析 + JSONObject data = apiOrderService.getApiOrderMessage(token, jsonObject); + if (data.getString("err_code").equals("0")) { + System.out.println("获取数据成功"); + String value = data.getString("value"); + System.out.println("value " + data.getString("value") ); +// System.out.println("list " + toListMap(value)); +// 数据格式进行转换 + System.out.println("order " + value.substring(1, value.length() - 1)); + } } - return success(orderImportRespVO); + return success(apiOrderService.getApiTokenMessage("CF7526AD51", "5f467b508061eff60bdacc7230357d2f")); + } + + + + @PostMapping("/importTest") + @Operation(summary = "生产单导入新增") + @Parameters({ + @Parameter(name = "file", description = "Excel 文件", required = true), + @Parameter(name = "isAddPlate", description = "是否为生产单新增板材", example = "false"), + @Parameter(name = "upload", description = "是 更新、否 新建", example = "false") + }) + @PreAuthorize("@ss.hasPermission('executor:order:importExcel')") + @OperateLog(type = EXPORT) + public void exportTest(@RequestPart("file") MultipartFile file, + @RequestParam(value = "isAddPlate", required = false, defaultValue = "false") Boolean isAddPlate, + @RequestParam(value = "upload", required = false, defaultValue = "false") Boolean upload, + HttpServletResponse response) throws IOException { + } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java index efcc272c9..a6a4cf1c8 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java @@ -13,8 +13,10 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Schema(description = "管理后台 - 生产单表 order_{N}分页 Request VO") @Data -@EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) +@Builder +@AllArgsConstructor +@NoArgsConstructor public class OrderPageReqVO extends PageParam { @Schema(description = "父单号") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderRespVO.java index c1ed8644b..4929bf1b1 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderRespVO.java @@ -8,7 +8,7 @@ import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - 生产单表 order_{N} Response VO") @Data -@ExcelIgnoreUnannotated +//@ExcelIgnoreUnannotated public class OrderRespVO { @Schema(description = "生产单号,主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "15091") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java index c04687e36..affb9f142 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java @@ -13,7 +13,6 @@ import java.time.LocalDateTime; @Data public class OrderSaveReqVO { - @Schema(description = "生产单号,主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "15091") private Long id; @Schema(description = "父单号", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java index 331b100fd..10d7b8f4b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java @@ -12,10 +12,8 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import javax.validation.constraints.*; import javax.validation.*; import javax.servlet.http.*; -import java.math.BigDecimal; import java.util.*; import java.io.IOException; @@ -31,7 +29,6 @@ import com.cf.imes.framework.operatelog.core.annotations.OperateLog; import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.*; import com.cf.imes.module.executor.controller.admin.plan.vo.*; -import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO; import com.cf.imes.module.executor.service.plan.PlanService; @Tag(name = "管理后台 - 排单") @@ -105,7 +102,7 @@ public class PlanController { @GetMapping("getNotPlanOrderListPage") @Operation(summary = "获取未排单的板材生产单板材分页列表") @PreAuthorize("@ss.hasPermission('executor:plan:query')") - public CommonResult> getOrderPage(@Valid OrderPageReqVO pageReqVO) { + public CommonResult> getOrderPage(@Valid OrderPageReqVOCopy pageReqVO) { return success(planService.getOrderPage(pageReqVO)); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderPageReqVOCopy.java similarity index 97% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderPageReqVO.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderPageReqVOCopy.java index 0c343be83..fb303ff8b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderPageReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderPageReqVOCopy.java @@ -17,7 +17,7 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH */ @NoArgsConstructor @Data -public class OrderPageReqVO extends PageParam { +public class OrderPageReqVOCopy extends PageParam { @Schema(description = "生产单id") private Long orderId; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVOCopy.java similarity index 98% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVO.java rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVOCopy.java index 0486992f3..617766865 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/OrderRespVOCopy.java @@ -21,7 +21,7 @@ import static com.cf.imes.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT @Builder @NoArgsConstructor @AllArgsConstructor -public class OrderRespVO { +public class OrderRespVOCopy { @Schema(description = "生产单id") private Long orderId; @Schema(description = "自定义单号") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java index 55a32572f..574a050e7 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java @@ -7,15 +7,13 @@ import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPageReqVO; -import com.cf.imes.module.executor.controller.admin.plan.vo.OrderRespVO; +import com.cf.imes.module.executor.controller.admin.plan.vo.OrderRespVOCopy; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Map; @@ -50,7 +48,7 @@ public interface OrderMapper extends BaseMapperX { } - IPage selectOrderPage(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); + IPage selectOrderPage(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); default List selectOrderCheck(OrderPageReqVO reqVO) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper() 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 new file mode 100644 index 000000000..2e1fbd12e --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/ApiOrderService.java @@ -0,0 +1,17 @@ +package com.cf.imes.module.executor.service.order; + +import com.alibaba.fastjson.JSONObject; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + + + +@FeignClient(url = "https://chenfeng.tech:7779", name = "apiOrderService") +public interface ApiOrderService { + + @RequestMapping(value = "/Api-Oauth-token",method = RequestMethod.GET) + JSONObject getApiTokenMessage(@RequestParam("appid") String appid, @RequestParam("appsecret") String appsecret); + + @RequestMapping(value = "/Api-erpOrders-orderPlanData",method = RequestMethod.POST) + JSONObject getApiOrderMessage(@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/plan/PlanService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java index 1ab45f9dc..3725bd9bc 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java @@ -3,9 +3,7 @@ package com.cf.imes.module.executor.service.plan; import java.util.*; import javax.validation.*; import com.cf.imes.module.executor.controller.admin.plan.vo.*; -import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO; import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.pojo.PageParam; /** * 生产单开料排单 Service 接口 @@ -52,7 +50,7 @@ public interface PlanService { */ PageResult getPlanPage(PlanPageReqVO pageReqVO); - PageResult getOrderPage(OrderPageReqVO pageReqVO); + PageResult getOrderPage(OrderPageReqVOCopy pageReqVO); PageResult getNotPlanPlateListPage(PlateReqPageVO pageVO); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java index 56ee03df1..8500a5376 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java @@ -1,19 +1,13 @@ package com.cf.imes.module.executor.service.plan; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.date.LocalDateTimeUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; -import com.cf.imes.framework.common.util.date.LocalDateTimeUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX; import com.cf.imes.framework.mybatis.core.query.QueryWrapperX; import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO; -import com.cf.imes.module.executor.dal.dataobject.module.ModuleDO; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO; import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; @@ -44,7 +38,6 @@ import java.util.stream.Collectors; import com.cf.imes.module.executor.controller.admin.plan.vo.*; import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO; import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.pojo.PageParam; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper; @@ -241,8 +234,8 @@ public class PlanServiceImpl implements PlanService { } @Override - public PageResult getOrderPage(OrderPageReqVO pageReqVO) { - PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + public PageResult getOrderPage(OrderPageReqVOCopy pageReqVO) { + PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); QueryWrapperX queryWrapperX = new QueryWrapperX<>(); queryWrapperX @@ -265,7 +258,7 @@ public class PlanServiceImpl implements PlanService { queryWrapperX.inIfPresent("c.filter_type", filterTypes); - IPage orderDOPageResult = orderMapper.selectOrderPage(page, queryWrapperX); + IPage orderDOPageResult = orderMapper.selectOrderPage(page, queryWrapperX); if (CollectionUtil.isEmpty(orderDOPageResult.getRecords())) { return new PageResult<>(); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/FileTypeChangeUtil.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/FileTypeChangeUtil.java index 296a2ee75..fc37dd787 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/FileTypeChangeUtil.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/FileTypeChangeUtil.java @@ -1,6 +1,8 @@ package com.cf.imes.module.executor.util; import com.cf.imes.module.executor.util.deviseData.Detail; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PartsDetail.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PartsDetail.java new file mode 100644 index 000000000..c1db65869 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PartsDetail.java @@ -0,0 +1,29 @@ +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 PartsDetail { + // 商品信息 + private String goodsNo; // 商品编码 + private String goodsName; //商品名称 + private String goodType; //商品类型,用于筛选是板材还是配件类,可传入文字(需做转换) + private String material; //材质 + private String color; //颜色 + private String factory; //商品生产厂商 + private String brand; //商品品牌 + private String model; //商品型号 + private String spec; //商品规格 + private float thickness;//规格-板厚 板厚,成品和开料都是一样的 + private String unit; //商品单位 + private float goodsNumber; //产品数量为特殊处理,板件和配件都有数量 +} 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 ab38dc4b6..f6937d6cd 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 @@ -21,7 +21,7 @@ public class PlateDetail { // 板件所属信息 private String roomsName; //房间名称 - private String cabinetsName; //柜体名 + private String bodyName; //柜体名 // 柜体信息 长 宽 深 private float width; private float height; @@ -30,9 +30,12 @@ public class PlateDetail { private List synthesis;// 板件加工组Group的名称,可以有多个 private String synthesisName;// 加工组中Group中每个小加工组的名称 -// 商品基本信息 +// 小板基本信息 private IBoardProdInfo iBoardProdInfo; +// 配件基本信息 + private List partsDetail; + // 基准位置,用于画图 private BasePosition basePosition; 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 2fb0e9804..9b52b5e13 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 @@ -1,15 +1,148 @@ package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderSaveReqVO; +import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.util.FileTypeChangeUtil; import com.cf.imes.module.executor.util.deviseData.Detail; +import com.cf.imes.module.executor.util.deviseData.dataTwo.IBoardProdInfo; +import com.cf.imes.module.executor.util.deviseData.dataTwo.PlateDetail; +import com.fasterxml.jackson.core.JsonProcessingException; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 实现数据格式转换 */ -public interface ApiTypeChangeRealize extends FileTypeChangeUtil { - default List apiDataChange(String data) { + +public class ApiTypeChangeRealize implements FileTypeChangeUtil { + + @Override + public List fileDataChange(MultipartFile file) throws IOException { return null; } + + public List fileDataChange(String data) throws IOException { + + return null; + } + + @Override + public boolean getFlag() { + return false; + } + + public static void main(String[] args) { + + String jsonData = "" ; + JSONObject jsonObject = JSONObject.parseObject(jsonData); + +// System.out.println(jsonObject.getString("Orders")); + + // 解析 JSON 字符串 + JSONObject object = JSON.parseObject(jsonData); + + // 获取 Orders 字段对应的数组 + JSONArray ordersArray = object.getJSONArray("Orders"); + + // 如果 Orders 数组不为空,则获取第一个订单对象 + if (ordersArray != null && !ordersArray.isEmpty()) { + JSONObject value = ordersArray.getJSONObject(0); + + // 使用 DateTimeFormatter 解析日期字符串 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate deliveryDate = LocalDate.parse(value.getString("DeliveryDate"), formatter); + + OrderDO orderDO = OrderDO.builder() + .parentNo(0L) + .type(true) + .sort(0) + .dataType(1) + .status(0) + .customOrderNo(value.getString("OrderNo")) + .customer(value.getString("Consigee")) + .address(value.getString("ConsigeeAddress")) + .phoneNumber(value.getString("ConsigeePhone")) + .dealer(value.getString("CustomName")) + .salesman(value.getString("SalePerson")) + .remark(value.getString("Remark")) + .deliveryDate(deliveryDate.atStartOfDay()) + .build(); + +// System.out.println("orderDO 差生产单的创建日期、拆单员、经销商电话数据," + orderDO); + + List details = new ArrayList<>(); + // 遍历 Orders 数组 + for (int i = 0; i < ordersArray.size(); i++) { + JSONObject orderObject = ordersArray.getJSONObject(i); + + // 获取订单的 Materials 数组 + JSONArray materialsArray = orderObject.getJSONArray("Materials"); + + // 遍历 Materials 数组 + for (int j = 0; j < materialsArray.size(); j++) { + JSONObject materialObject = materialsArray.getJSONObject(j); + + // 处理每个材料对象,这里可以根据需要进行操作 + System.out.println("Material " + (j + 1) + ": " + materialObject); + + JSONArray blocksArray = materialObject.getJSONArray("Blocks"); + System.out.println(blocksArray.size()); + for (int k = 0; k < blocksArray.size(); k++) { + JSONObject blockObject = materialsArray.getJSONObject(k); +// + // 处理每个块对象,这里可以根据需要进行操作 + System.out.println("Block " + (k + 1) + ": " + blockObject.getString("RoomName")); +// +// for (int l = 0; l < materialsArray.size(); l++) { +// JSONObject holeObject = materialsArray.getJSONObject(l); +// +// // 处理每个孔对象,这里可以根据需要进行操作 +// } + } +// PlateDetail plateDetail = PlateDetail.builder() +// .multiNum(1) +// .roomsName(materialObject.getString("RoomName")) +// .bodyName(materialObject.getString("BoxName")) +// .iBoardProdInfo(IBoardProdInfo.builder() +// .goodsNo(materialObject.getString("GoodsSN")) +// .goodsName(materialObject.getString("Name")) +// .material(materialObject.getString("Material")) +// .color(materialObject.getString("Color")) +// +// .build()) +// .build(); + } + } + } else { + System.out.println("JSON 数据中没有订单信息(Orders 数组为空)。"); + } + + } + + // 生产单数据分离填入 + public List getDeviseData(String[] args) { + return null; + } + +// 将remark转为map + public Map remarkToMap(String[] remark) { + Map map = new HashMap<>(); + + return map; + } } + 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/vo/Point.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/vo/Point.java new file mode 100644 index 000000000..a55a227df --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/vo/Point.java @@ -0,0 +1,17 @@ +package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.vo; + +import lombok.Data; + +import javax.xml.bind.annotation.*; + +@Data// lombok注解,给字段添加getter和setter +@XmlAccessorType(XmlAccessType.FIELD)// 映射所有的字段 +@XmlRootElement(name = "Point ")// XML根节点名称,此处为nation +public class Point { + + @XmlAttribute// 解析节点的属性 + private String type; + + @XmlValue// 解析nation节点的内容,字段名称无所谓 + private String nationValue; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml index da90f0fa5..30e5f06fd 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml @@ -2,7 +2,7 @@ - select a.id as orderId, a.delivery_date, a.customer, a.address, a.custom_order_no as defineId, count(c.id) as num, sum(c.area) as area, p.goods_name, p.color, p.material, p.goods_id from `order` a diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/plate/PlateSaveReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/plate/PlateSaveReqVO.java index a8976899b..ca6ed71ef 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/plate/PlateSaveReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/plate/PlateSaveReqVO.java @@ -53,7 +53,6 @@ public class PlateSaveReqVO { private String spec; @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便") - @NotEmpty(message = "备注不能为空") private String remark; private Long organId; 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 bb008ab9c..71e709162 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,7 +46,7 @@ public class PlateServiceImpl implements PlateService { @Override public Long createPlate(PlateSaveReqVO createReqVO) { PlateDO plate = BeanUtils.toBean(createReqVO, PlateDO.class); - if (createReqVO.getOrganId() == 0 && createReqVO.getGoodsId() != null){ + if (createReqVO.getOrganId() != null && createReqVO.getOrganId() != 0 ){ validateOrganExists(createReqVO.getOrganId()); validateGoodExists(createReqVO.getGoodsId(), createReqVO.getOrganId()); plate.setOrganId(OrganContextHolder.getOrganId()); 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 b926f5580..585dfcd01 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 @@ -211,7 +211,7 @@ public interface ErrorCodeConstants { //=========== 板材信息 1-002-034-000 ============ ErrorCode PROCESS_USER_NOT_EXISTS = new ErrorCode(1_002_032_002, "工序用户不存在"); - ErrorCode PROCESS_USER_EXISTS = new ErrorCode(1_002_032_002, "工序用户存在"); + ErrorCode PROCESS_USER_EXISTS = new ErrorCode(1_002_032_003, "工序用户存在"); //=========== 板材信息 1-002-035-000 ============ ErrorCode RAW_GOODS_NOT_EXISTS = new ErrorCode(1_002_033_001, "设计板材不存再"); @@ -230,4 +230,5 @@ public interface ErrorCodeConstants { ErrorCode APPLICATION_NOT_EXISTS = new ErrorCode(1_002_037_001, "应用信息不存在"); ErrorCode APPLICATION_LOGIN_USER_DISABLED = new ErrorCode(1_002_037_001, "应用登陆失败"); + ErrorCode ERR = new ErrorCode(1_002_038_001, "未知错误"); } 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 8f0ec8ef4..f700ffd66 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 @@ -30,4 +30,6 @@ 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); } \ 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/ProcessUserMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessUserMapper.java index 6e39edb60..56e805f22 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessUserMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessUserMapper.java @@ -31,6 +31,12 @@ public interface ProcessUserMapper extends BaseMapperX { .eq(ProcessUserDO::getProcessId, processId)); } + default List selectById(Long processId,Long userId) { + return selectList(new LambdaQueryWrapperX() + .eq(ProcessUserDO::getProcessId, processId) + .eq(ProcessUserDO::getUserId, userId)); + } + default ProcessUserDO selectUserByProcessId(Long processId) { return selectOne(ProcessUserDO::getProcessId, processId); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java index 447081cf4..33270ca2d 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java @@ -51,6 +51,9 @@ public class ProcessGroupServiceImpl implements ProcessGroupService { ProcessGroupDO processGroup = BeanUtils.toBean(createReqVO, ProcessGroupDO.class); processGroup.setItems(checkProcessGroupExists(createReqVO.getItems())); processGroupMapper.insert(processGroup); + if (createReqVO.getIsDefault()) { + processGroupMapper.updateIsDefault(processGroup.getId(), OrganContextHolder.getOrganId()); + } // 返回 return processGroup.getId(); } @@ -63,6 +66,9 @@ public class ProcessGroupServiceImpl implements ProcessGroupService { ProcessGroupDO updateObj = BeanUtils.toBean(updateReqVO, ProcessGroupDO.class); updateObj.setItems(checkProcessGroupExists(updateReqVO.getItems())); processGroupMapper.updateById(updateObj); + if (updateReqVO.getIsDefault()) { + processGroupMapper.updateIsDefault(updateReqVO.getId(), OrganContextHolder.getOrganId()); + } } @Override @@ -152,4 +158,10 @@ public class ProcessGroupServiceImpl implements ProcessGroupService { // 返回格式化的列表字符串 return itemsBuilder.length() > 0 ? itemsBuilder.toString() : "[]"; } + +// 批量更新工序组默认 + public void updateProcessGroupIsDefault(Long processGroupId, Long organId) { + processGroupMapper.updateIsDefault(processGroupId, organId); + } + } \ 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 7219e43d7..e7546097a 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 @@ -69,7 +69,7 @@ public class ProcessServiceImpl implements ProcessService { processAndUserSaveReqVO.setUserId(Long.parseLong(user)); processUserService.createProcessUser(processAndUserSaveReqVO); }catch (Exception e){ - throw ServiceExceptionUtil.exception(ErrorCodeConstants.USER_NOT_EXISTS); + throw ServiceExceptionUtil.exception(ErrorCodeConstants.ERR); } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessUserServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessUserServiceImpl.java index b3033e608..df733a6e0 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessUserServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessUserServiceImpl.java @@ -1,6 +1,5 @@ package com.cf.imes.module.system.service.process; -import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserSaveReqVO; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -14,6 +13,7 @@ import com.cf.imes.module.system.dal.mysql.process.ProcessUserMapper; import java.util.List; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.cf.imes.module.system.enums.ErrorCodeConstants.PROCESS_USER_EXISTS; import static com.cf.imes.module.system.enums.ErrorCodeConstants.PROCESS_USER_NOT_EXISTS; /** @@ -30,8 +30,9 @@ public class ProcessUserServiceImpl implements ProcessUserService { @Override public Long createProcessUser(ProcessAndUserSaveReqVO createReqVO) { - if (processUserMapper.selectByProcessId(createReqVO.getProcessId()).size() != 0) { - throw exception(PROCESS_USER_NOT_EXISTS); +// 判断是否有 + if (processUserMapper.selectById(createReqVO.getProcessId(), createReqVO.getUserId()).size() != 0) { + throw exception(PROCESS_USER_EXISTS); } // 插入 ProcessUserDO processUser = BeanUtils.toBean(createReqVO, ProcessUserDO.class); diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessGroupMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessGroupMapper.xml index 02f561e6f..53436fc40 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessGroupMapper.xml +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessGroupMapper.xml @@ -20,4 +20,7 @@ where p.id = #{id} and p.organ_id = #{organId} and p.deleted = 0 + + UPDATE process_group SET is_default = 0 WHERE organ_id = #{organId} AND id != #{processGroupId} +