From c1ed17a6729e47984fb8781d0e0eecbab0709653 Mon Sep 17 00:00:00 2001 From: lym <1994302445@qq.com> Date: Tue, 9 Jul 2024 17:49:04 +0800 Subject: [PATCH 1/3] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9-=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=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 + .../admin/order/OrderController.java | 26 +++++-- .../admin/order/vo/order/ApiOrderRespVO.java | 62 ++++++++++++++++ .../admin/order/vo/order/OrderPageReqVO.java | 3 + .../admin/order/vo/order/OrderRespVO.java | 4 ++ .../admin/order/vo/order/OrderSaveReqVO.java | 3 + .../dal/dataobject/order/OrderDO.java | 4 ++ .../executor/dal/mysql/order/OrderMapper.java | 3 + .../executor/service/order/OrderService.java | 6 +- .../service/order/OrderServiceImpl.java | 38 ++++++++++ .../admin/api/webcad/ApiDataAchieve.java | 68 ++++++++++++++++++ .../admin/api/webcad/ApiDataProduction.java | 4 ++ ...增Excel模板.xlsx => order_add_excel.xlsx} | Bin ...导出模板.xlsx => order_add_excel_err.xlsx} | Bin .../type/{错误文件.xlsx => order_err.xlsx} | Bin 15 files changed, 217 insertions(+), 5 deletions(-) create mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/ApiOrderRespVO.java rename cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/{生产单新增Excel模板.xlsx => order_add_excel.xlsx} (100%) rename cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/{生产单Excel导入错误导出模板.xlsx => order_add_excel_err.xlsx} (100%) rename cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/{错误文件.xlsx => order_err.xlsx} (100%) 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 876f30230..ada28bd6e 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 @@ -66,6 +66,7 @@ public interface ErrorCodeConstants { ErrorCode FILE_ADD_ERR = new ErrorCode(1_002_029_012, "文件已经存在是否强制保存"); ErrorCode FILE_UPLOAD_ERR = new ErrorCode(1_002_029_012, "文件内容为空"); ErrorCode ORDER_STATUS_CONFLICT = new ErrorCode(1_002_029_006, "生产单状态冲突,禁止投入生产"); + ErrorCode ORDER_READ_ERR = new ErrorCode(1_002_029_006, "订单列表获取失败,请刷新重试"); ErrorCode SOURCE_NOT_EXITS_ERROR = new ErrorCode(1_002_029_013, "源数据查询失败"); ErrorCode ORDER_CAN_NOT_DELETE = new ErrorCode(1_002_029_013, "存在状态不符合强制删除的生产单,禁止删除"); 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 f86ee8561..e79ff7f50 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 @@ -26,6 +26,7 @@ import io.swagger.v3.oas.annotations.Operation; import javax.validation.*; import javax.servlet.http.*; import java.io.File; +import java.time.LocalDateTime; import java.util.*; import com.cf.imes.framework.common.pojo.PageResult; @@ -273,11 +274,11 @@ public class OrderController { System.err.println(excelReadUtil.isErr()); // 判断是否读取有误 if (excelReadUtil.isErr() == -1) { // 文件为空 - ExcelWriterUtil.writeErr(response, "生产单内容为空", orderService.getSavePath() + File.separator + "错误文件.xlsx"); + ExcelWriterUtil.writeErr(response, "生产单内容为空", orderService.getSavePath() + File.separator + "order_err.xlsx"); return; } else if (excelReadUtil.isErr() > 0) { // 返回文件 - ExcelWriterUtil.write(response, (Map) map.get("order"), (List) map.get("plate"), orderService.getSavePath() + File.separator + "生产单Excel导入错误导出模板.xlsx"); + ExcelWriterUtil.write(response, (Map) map.get("order"), (List) map.get("plate"), orderService.getSavePath() + File.separator + "order_add_excel_err.xlsx"); return; } else { // 获取数据 @@ -293,7 +294,7 @@ public class OrderController { err += orderDO.getCustomOrderNo() + "-自定义生产单号已存在;"; } if (!err.equals("")) { - ExcelWriterUtil.writeErr(response, err, orderService.getSavePath() + File.separator + "错误文件.xlsx"); + ExcelWriterUtil.writeErr(response, err, orderService.getSavePath() + File.separator + "order_err.xlsx"); } } @@ -304,7 +305,7 @@ public class OrderController { } orderService.importExcelData(orderDO, list); } catch (Exception e) { - ExcelWriterUtil.writeErr(response, "系统出现未知错误,请下载模板,按照模板重新上传文件", orderService.getSavePath() + File.separator + "错误文件.xlsx"); + ExcelWriterUtil.writeErr(response, "系统出现未知错误,请下载模板,按照模板重新上传文件", orderService.getSavePath() + File.separator + "order_err.xlsx"); } } @@ -341,4 +342,21 @@ public class OrderController { return success(orderService.getPrintDataMap(orderId, type, response)); } + +// 获取api订单接口 + @GetMapping("/getApiOrder") + @Operation(summary = "获取api订单接口") + @Parameters({ + @Parameter(name = "startTime", description = "开始时间", required = false), + @Parameter(name = "endTime", description = "结束时间", required = false) + }) + @PreAuthorize("@ss.hasPermission('production:manager-list:detail')") + public CommonResult> getApiOrder(@RequestParam(value = "startTime", required = false) String startTime, + @RequestParam(value = "endTime", required = false) String endTime) + throws ExecutionException, InterruptedException { + Long organId = SecurityFrameworkUtils.getLoginUser().getOrganId(); + String token = apiDataAchieve.getApiToken(organId); + JSONObject orderList = apiDataAchieve.getApiOrderList(token,startTime,endTime).get(); + return success(orderService.getApiOrderList(orderList)); + } } \ 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/ApiOrderRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/ApiOrderRespVO.java new file mode 100644 index 000000000..7aadb20b8 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/ApiOrderRespVO.java @@ -0,0 +1,62 @@ +package com.cf.imes.module.executor.controller.admin.order.vo.order; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@Schema(description = "管理后台 - api生产单获取列表") +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@ToString(callSuper = true) +public class ApiOrderRespVO { + + @Schema(description = "订单编号") + private String order_no; + + @Schema(description = "自定义单号") + private String custom_order_no; + + @Schema(description = "门店名称") + private String store_name; + + @Schema(description = "门店电话") + private String store_phone; + + @Schema(description = "客户名称") + private String cosignee_name; + + @Schema(description = "客户电话") + private String cosignee_phone; + + @Schema(description = "客户地址") + private String cosignee_address; + + @Schema(description = "订单开始时间") + private String start_date; + + @Schema(description = "订单结束时间") + private String end_date; + + @Schema(description = "订单状态") + private String order_state; + + @Schema(description = "平台状态") + private String submit_state; + + @Schema(description = "备注") + private String comments; + + @Schema(description = "业务员标识") + private String staff_id; + + @Schema(description = "业务员昵称") + private String nick_name; + + @Schema(description = "拆单员标识") + private String cd_user; + + @Schema(description = "拆单员昵称") + private String cd_nick_name; +} 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 da843d72c..4c869f3a4 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 @@ -25,6 +25,9 @@ public class OrderPageReqVO extends PageParam { @Schema(description = "父单号") private Long parentNo; + @Schema(description = "源生产单号") + private String apiOrderId; + @Schema(description = "生产单日期") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] orderDate; 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 d8bad3ce0..2ae140b96 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 @@ -19,6 +19,10 @@ public class OrderRespVO { @ExcelProperty("父单号") private Long parentNo; + @Schema(description = "源生产单号") + @ExcelProperty("父单号") + private String apiOrderId; + @Schema(description = "生产单日期", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("交付日期") private LocalDateTime orderDate; 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 1d8732140..fc8f122f0 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 @@ -18,6 +18,9 @@ public class OrderSaveReqVO { @Schema(description = "父单号") private Long parentNo; + @Schema(description = "源生产单号") + private String apiOrderId; + @Schema(description = "生产单日期", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "交付日期不能为空") private LocalDateTime orderDate; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/order/OrderDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/order/OrderDO.java index 216fc1d01..6a50e30e7 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/order/OrderDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/order/OrderDO.java @@ -37,6 +37,10 @@ public class OrderDO extends BaseDO { * 父单号 */ private Long parentNo; + /** + * 源生产单号 + */ + private String apiOrderId; /** * 生产单日期 */ 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 13ec85117..66f5649ee 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 @@ -33,6 +33,7 @@ public interface OrderMapper extends BaseMapperX { .eqIfPresent(OrderDO::getParentNo, reqVO.getParentNo()) .likeIfPresent(OrderDO::getId, reqVO.getId() == null ? null : String.valueOf(reqVO.getId())) .betweenIfPresent(OrderDO::getDeliveryDate, reqVO.getDeliveryDate()) + .eqIfPresent(OrderDO::getApiOrderId, reqVO.getApiOrderId()) .betweenIfPresent(OrderDO::getOrderDate, reqVO.getOrderDate()) .eqIfPresent(OrderDO::getOrderType, reqVO.getOrderType()) .eqIfPresent(OrderDO::getOrderSort, reqVO.getOrderSort()) @@ -60,6 +61,7 @@ public interface OrderMapper extends BaseMapperX { case "customOrderNo" -> query.orderByAsc(OrderDO::getCustomOrderNo); case "orderDate" -> query.orderByAsc(OrderDO::getOrderDate); case "deliveryDate" -> query.orderByAsc(OrderDO::getDeliveryDate); + case "apiOrderId" -> query.orderByAsc(OrderDO::getApiOrderId); } }else if (reqVO.getOrder().equals("descend")) { switch (reqVO.getField()) { @@ -67,6 +69,7 @@ public interface OrderMapper extends BaseMapperX { case "customOrderNo" -> query.orderByDesc(OrderDO::getCustomOrderNo); case "orderDate" -> query.orderByDesc(OrderDO::getOrderDate); case "deliveryDate" -> query.orderByDesc(OrderDO::getDeliveryDate); + case "apiOrderId" -> query.orderByDesc(OrderDO::getApiOrderId); } } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java index 4deea5952..327cf34ca 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java @@ -3,6 +3,7 @@ package com.cf.imes.module.executor.service.order; import javax.servlet.http.HttpServletResponse; import javax.validation.*; +import com.alibaba.fastjson.JSONObject; import com.cf.imes.module.executor.controller.admin.order.vo.order.*; import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO; import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBodyRespVO; @@ -15,6 +16,7 @@ import org.springframework.boot.system.ApplicationHome; import org.springframework.web.multipart.MultipartFile; import java.io.File; +import java.time.LocalDateTime; import java.util.Collection; import java.util.List; import java.util.Map; @@ -167,5 +169,7 @@ public interface OrderService { */ Boolean customOrderNoIsExists(String customOrderNo); - + /**查找api单号列表 + */ + List getApiOrderList(JSONObject orderList); } \ 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/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 a6cd7a155..7a3ec48ac 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 @@ -2,6 +2,8 @@ package com.cf.imes.module.executor.service.order; import cn.smallbun.screw.core.util.CollectionUtils; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator; @@ -143,6 +145,8 @@ public class OrderServiceImpl implements OrderService { private static final int RANDOM_NUMBER_MAX = 10; + private static final String SUBMIT_STATE = "1"; // 空订单 + @Override public Long createOrder(OrderSaveReqVO createReqVO) { //校验手机号是否合法 @@ -543,6 +547,40 @@ public class OrderServiceImpl implements OrderService { return true; } + @Override + public List getApiOrderList(JSONObject orderList) { + List apiOrderRespVOS = new ArrayList<>(); + if (orderList != null){ + JSONArray jsonArray = orderList.getJSONArray("data"); + for (int i = 0; i < jsonArray.size(); i++) { + JSONObject jsonObject = jsonArray.getJSONObject(i); + int index = jsonObject.getString("order_no").indexOf("@N"); + String order_no = jsonObject.getString("order_no").substring(index + "@N".length()); + ApiOrderRespVO apiOrderRespVO = JSON.parseObject(jsonObject.toJSONString(), ApiOrderRespVO.class).setOrder_no(order_no); + +// 判断是否已经导入 + if (validateOrderNoExists(apiOrderRespVO.getOrder_no(), OrganContextHolder.getOrganId())){ + if (!apiOrderRespVO.getOrder_state().equals(SUBMIT_STATE)){ + apiOrderRespVOS.add(apiOrderRespVO); + } + } + + } + } + return apiOrderRespVOS; + } + +// 判断是否已经导入 + private Boolean validateOrderNoExists(String orderNo, Long organId) { + if (orderMapper.selectCount(new LambdaQueryWrapper() + .eq(OrderDO::getApiOrderId, orderNo) + .eq(OrderDO::getDeleted, false) + .eq(OrderDO::getOrganId, organId)) > 0) { + return false; + } + return true; + } + // 业务员是否存在 private void validateSalesmanOrderNoExists(String salesman, Long organId) { if (adminUserApi.validateUser(salesman, organId).getData() == null) { 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/ApiDataAchieve.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java index 3b06cb73a..d8db2a0fc 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java @@ -167,6 +167,27 @@ public class ApiDataAchieve { return new AsyncResult<>(block); } +// 订单列表 + public Future getApiOrderList(String token,String create_date_min, String create_date_max) { + JSONObject jsonOrders = new JSONObject(); + jsonOrders.put("create_date_min", create_date_min); + jsonOrders.put("create_date_max", create_date_max); + jsonOrders.put("curr_page", 1); + jsonOrders.put("page_count", PARTS_PAGE_MAX); + JSONObject orders = apiDataProduction.getApiOrderList(token, jsonOrders); + System.out.println(); + if (!orders.getString("err_code").equals("0")) { + throw exception(ORDER_READ_ERR); + } + JSONObject order = new JSONObject(); + int countPage = divideWithPlusOne(orders.getInteger("count"), PARTS_PAGE_MAX); + for (int i = 1; i <= countPage; i++) { + jsonOrders.put("curr_page", i); + JSONObject value = apiDataProduction.getApiOrderList(token, jsonOrders); + order = mergeData(order, value); + } + return new AsyncResult<>(order); + } public JSONObject mergeJSONObjects(JSONObject object1, JSONObject object2) { @@ -203,5 +224,52 @@ public class ApiDataAchieve { return mergedObj; + } + + public int divideWithPlusOne(int dividend, int divisor) { + // 首先检查除数是否为0,避免除以0的异常 + if (divisor == 0) { + throw new IllegalArgumentException("除数不能为0"); + } + + // 计算商和余数 + int quotient = dividend / divisor; // 商 + int remainder = dividend % divisor; // 余数 + + // 如果余数不为0,则商加一 + if (remainder != 0) { + quotient++; + } + + return quotient; + } + + public JSONObject mergeData(JSONObject object1, JSONObject object2) { + + // 创建新对象 + JSONObject mergedObj = new JSONObject(); + // 合并 List 属性 + JSONArray mergedList = new JSONArray(); + JSONArray list1 = null; + if (object1.getJSONArray("data") != null) { + list1 = object1.getJSONArray("data"); + if (list1 != null) { + for (int i = 0; i < list1.size(); i++) { + mergedList.add(list1.getJSONObject(i)); + } + } + } + JSONArray list2 = object2.getJSONArray("data"); + if (list2 != null) { + for (int i = 0; i < list2.size(); i++) { + mergedList.add(list2.getJSONObject(i)); + } + } + + mergedObj.put("data", mergedList); +// System.out.println(mergedObj); + return mergedObj; + + } } 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/ApiDataProduction.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataProduction.java index b2a0f96a0..21d765b7b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataProduction.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataProduction.java @@ -40,4 +40,8 @@ public interface ApiDataProduction { // 板件数据 @RequestMapping(value = "/Api-erpOrders-getBlocks",method = RequestMethod.POST) JSONObject getApiBlocksMessage(@RequestParam("token") String token, @RequestBody JSONObject json); + +// 订单列表 + @RequestMapping(value = "/Api-erpOrders-orderList",method = RequestMethod.POST) + JSONObject getApiOrderList(@RequestParam("token") String token, @RequestBody JSONObject json); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/生产单新增Excel模板.xlsx b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/order_add_excel.xlsx similarity index 100% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/生产单新增Excel模板.xlsx rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/order_add_excel.xlsx diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/生产单Excel导入错误导出模板.xlsx b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/order_add_excel_err.xlsx similarity index 100% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/生产单Excel导入错误导出模板.xlsx rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/order_add_excel_err.xlsx diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/错误文件.xlsx b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/order_err.xlsx similarity index 100% rename from cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/错误文件.xlsx rename to cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/type/order_err.xlsx From 7f7b2522bf3acfe1d8962b1699be6e29783380ba Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Tue, 9 Jul 2024 18:16:46 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=9D=83=E9=99=90=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=8C=85=E8=A3=B9=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=85=B3=E8=81=94=E6=89=93=E5=8C=85/?= =?UTF-8?q?=E5=8C=85=E8=A3=B9=E8=AF=A6=E6=83=85=E6=9F=A5=E8=AF=A2=E6=9D=83?= =?UTF-8?q?=E9=99=90=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/manage/controller/admin/pack/PackController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java index fffafb1fd..308068d6a 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java @@ -94,7 +94,7 @@ public class PackController { @GetMapping("/queryPackageDetails") @Operation(summary = "查询包裹的详细信息") - @PreAuthorize("@ss.hasPermission('manage:query:query')") + @PreAuthorize("@ss.hasAnyPermissions('manage:pack:pack','manage:pack:query')") public CommonResult> queryPackageDetails(@Valid PackDetailsReqVO reqVO){ return CommonResult.success(productionStatusService.queryPackageDetails(reqVO)); From efe85a5d86ee9c526d0eb739bf196ddcce9ffd2f Mon Sep 17 00:00:00 2001 From: lym <1994302445@qq.com> Date: Wed, 10 Jul 2024 10:00:06 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86-api=E5=AF=BC=E5=85=A5=E5=88=97=E8=A1=A8=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/order/OrderController.java | 16 +++++++---- .../service/order/OrderServiceImpl.java | 4 +-- .../admin/api/webcad/ApiDataAchieve.java | 28 ++++++++++++++----- 3 files changed, 34 insertions(+), 14 deletions(-) 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 e79ff7f50..c42bce48a 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 @@ -225,7 +225,7 @@ public class OrderController { throws InterruptedException, ExecutionException { Long organId = SecurityFrameworkUtils.getLoginUser().getOrganId(); - String token = apiDataAchieve.getApiToken(organId); + String token = apiDataAchieve.getApiToken(organId).get().getJSONObject("info").getString("access_token"); JSONObject dataPlates = apiDataAchieve.getApiPlateProData(token, orderNo).get(); if (!dataPlates.getString("err_code").equals("0")) { throw exception(PLATE_PLAN_DATA_ERROR); @@ -348,15 +348,21 @@ public class OrderController { @Operation(summary = "获取api订单接口") @Parameters({ @Parameter(name = "startTime", description = "开始时间", required = false), - @Parameter(name = "endTime", description = "结束时间", required = false) + @Parameter(name = "endTime", description = "结束时间", required = false), + @Parameter(name = "orderNo", description = "订单号", required = false), + @Parameter(name = "customOrderNo", description = "自定义单号", required = false) }) @PreAuthorize("@ss.hasPermission('production:manager-list:detail')") public CommonResult> getApiOrder(@RequestParam(value = "startTime", required = false) String startTime, - @RequestParam(value = "endTime", required = false) String endTime) + @RequestParam(value = "endTime", required = false) String endTime, + @RequestParam(value = "orderNo", required = false) String orderNo, + @RequestParam(value = "customOrderNo", required = false) String customOrderNo) throws ExecutionException, InterruptedException { Long organId = SecurityFrameworkUtils.getLoginUser().getOrganId(); - String token = apiDataAchieve.getApiToken(organId); - JSONObject orderList = apiDataAchieve.getApiOrderList(token,startTime,endTime).get(); + JSONObject oauth = apiDataAchieve.getApiToken(organId).get(); + String token = oauth.getJSONObject("info").getString("access_token"); + String shopId = oauth.getJSONObject("info").getString("shop_id"); + JSONObject orderList = apiDataAchieve.getApiOrderList(token,shopId,startTime,endTime,orderNo,customOrderNo).get(); return success(orderService.getApiOrderList(orderList)); } } \ 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/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 7a3ec48ac..f9d4c8207 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 @@ -550,8 +550,8 @@ public class OrderServiceImpl implements OrderService { @Override public List getApiOrderList(JSONObject orderList) { List apiOrderRespVOS = new ArrayList<>(); - if (orderList != null){ - JSONArray jsonArray = orderList.getJSONArray("data"); + JSONArray jsonArray = orderList.getJSONArray("data"); + if (jsonArray != null && jsonArray.size() > 0){ for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); int index = jsonObject.getString("order_no").indexOf("@N"); 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/ApiDataAchieve.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java index d8db2a0fc..0ad27ab88 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java @@ -33,7 +33,7 @@ public class ApiDataAchieve { private static final int PARTS_PAGE_MAX = 100; // 获得token数据 - public String getApiToken(Long organId) { + public Future getApiToken(Long organId) { JSONObject app = applicationApi.getApplicationByOrganId(organId); String appId = app.getString("appId"); String appSecret = app.getString("appSecret"); @@ -42,8 +42,8 @@ public class ApiDataAchieve { if (!json.getString("err_msg").equals("success")) { throw exception(APP_TOKEN_ERROR); } - String token = json.getJSONObject("info").getString("access_token"); - return token; +// String token = json.getJSONObject("info").getString("access_token"); + return new AsyncResult<>(json); } // 获取板件生产数据信息 @@ -168,14 +168,28 @@ public class ApiDataAchieve { } // 订单列表 - public Future getApiOrderList(String token,String create_date_min, String create_date_max) { + public Future getApiOrderList(String token,String shopId,String createDateMin, String createDateMax, String orderNo, String customOrderNo) { JSONObject jsonOrders = new JSONObject(); - jsonOrders.put("create_date_min", create_date_min); - jsonOrders.put("create_date_max", create_date_max); + if (createDateMin != null){ + jsonOrders.put("create_date_min", createDateMin); + } + if (createDateMax != null) { + jsonOrders.put("create_date_max", createDateMax); + } + jsonOrders.put("curr_page", 1); jsonOrders.put("page_count", PARTS_PAGE_MAX); + + if (orderNo != null) { + jsonOrders.put("order_no", shopId + "@N" +orderNo); + } + if (customOrderNo != null){ + jsonOrders.put("custom_order_no", customOrderNo); + } + JSONObject orders = apiDataProduction.getApiOrderList(token, jsonOrders); - System.out.println(); + System.out.println(" jsonOrders " + jsonOrders); + System.out.println(" orders " + orders); if (!orders.getString("err_code").equals("0")) { throw exception(ORDER_READ_ERR); }