From 04ac2c8d3c4b06d9e40acd7dbf3b2615d23f16ab Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 21 Jun 2024 14:21:29 +0800 Subject: [PATCH 1/4] =?UTF-8?q?1=E3=80=81=E6=B8=85=E7=A9=BA=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=E7=BC=93=E5=AD=98=E6=96=B9=E6=B3=95=E5=90=8D=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=9B=202=E3=80=81=E5=A2=9E=E5=8A=A0oauth2?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=BF=87=E6=9C=9F=E6=97=B6=E9=97=B4=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E7=94=A8expire=E6=9B=BF=E4=BB=A3set=E4=B8=8D?= =?UTF-8?q?=E7=94=A8=E6=AF=8F=E6=AC=A1=E9=87=8D=E6=96=B0=E8=AE=BE=E5=86=85?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/service/SecurityFrameworkService.java | 4 ++-- .../core/service/SecurityFrameworkServiceImpl.java | 2 +- .../SystemPermissionRefreshRedisListener.java | 2 +- .../dal/redis/oauth2/OAuth2AccessTokenRedisDAO.java | 11 +++++++++++ .../system/service/oauth2/OAuth2TokenServiceImpl.java | 5 +++-- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/service/SecurityFrameworkService.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/service/SecurityFrameworkService.java index 13b1613cb..4de2f7e98 100644 --- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/service/SecurityFrameworkService.java +++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/service/SecurityFrameworkService.java @@ -24,11 +24,11 @@ public interface SecurityFrameworkService { boolean hasAnyPermissions(String... permissions); /** - * 清空本地缓存 + * 清空本地权限缓存 * * @param */ - void invalidateAll(); + void invalidateAllPermissionsCache(); /** * 判断是否有角色 diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/service/SecurityFrameworkServiceImpl.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/service/SecurityFrameworkServiceImpl.java index ec0885c00..2e2486de9 100644 --- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/service/SecurityFrameworkServiceImpl.java +++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/service/SecurityFrameworkServiceImpl.java @@ -66,7 +66,7 @@ public class SecurityFrameworkServiceImpl implements SecurityFrameworkService { } @Override - public void invalidateAll() { + public void invalidateAllPermissionsCache() { hasAnyPermissionsCache.invalidateAll(); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/listener/SystemPermissionRefreshRedisListener.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/listener/SystemPermissionRefreshRedisListener.java index b546ebc45..a9fdfb661 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/listener/SystemPermissionRefreshRedisListener.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/listener/SystemPermissionRefreshRedisListener.java @@ -25,6 +25,6 @@ public class SystemPermissionRefreshRedisListener extends AbstractRedisSimpleMes @Override public void onMessage(Message message, byte[] bytes) { - securityFrameworkService.invalidateAll(); + securityFrameworkService.invalidateAllPermissionsCache(); } } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/oauth2/OAuth2AccessTokenRedisDAO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/oauth2/OAuth2AccessTokenRedisDAO.java index cd0f10c8e..01a5fb71d 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/oauth2/OAuth2AccessTokenRedisDAO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/redis/oauth2/OAuth2AccessTokenRedisDAO.java @@ -52,6 +52,17 @@ public class OAuth2AccessTokenRedisDAO { stringRedisTemplate.delete(redisKeys); } + /** + * 设置过期时间 + * + * @param accessToken 访问令牌 + * @param timeout 过期时间 + * @param unit 时间单位 + */ + public void expire(String accessToken, long timeout, final TimeUnit unit) { + stringRedisTemplate.expire(formatKey(accessToken), timeout, unit); + } + private static String formatKey(String accessToken) { return String.format(RedisKeyConstants.OAUTH2_ACCESS_TOKEN, accessToken); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2TokenServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2TokenServiceImpl.java index 254144e90..eadc6b03f 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2TokenServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2TokenServiceImpl.java @@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; +import java.util.concurrent.TimeUnit; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception0; import static com.cf.imes.framework.common.util.collection.CollectionUtils.convertSet; @@ -111,7 +112,7 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService { if(accessTokenDO != null){ // 有令牌的校验,代表有接口访问,延长令牌的过期时间(30分钟) - oauth2AccessTokenRedisDAO.set(accessTokenDO.setExpiresTime(LocalDateTime.now().plusSeconds(1800))); + oauth2AccessTokenRedisDAO.expire(accessToken, 1800, TimeUnit.SECONDS); } return accessTokenDO; } @@ -124,7 +125,7 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService { } // if (DateUtils.isExpired(accessTokenDO.getExpiresTime())) { // throw exception0(GlobalErrorCodeConstants.UNAUTHORIZED.getCode(), "访问令牌已过期"); -// } + return accessTokenDO; } From 11aba273f769fa3baf452a20332ad5aab8bb8311 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 21 Jun 2024 14:39:09 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=A2=9E=E5=8A=A0=E7=BB=84=E7=BB=87=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=92=8C=E5=9C=B0=E5=9D=80=E7=9A=84=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/admin/organ/vo/organ/OrganRespVO.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganRespVO.java index 8f1ed2ed6..8bb9d0283 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganRespVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/vo/organ/OrganRespVO.java @@ -23,6 +23,12 @@ public class OrganRespVO { @ExcelProperty("组织名") private String name; + @Schema(description = "组织代码", requiredMode = Schema.RequiredMode.REQUIRED, example = "chenfeng") + private String code; + + @Schema(description = "地址", requiredMode = Schema.RequiredMode.REQUIRED) + private String address; + @Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "晨丰") @ExcelProperty("联系人") private String contactName; From 64051e99193c7f795631a46f63d23f9b07c86785 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 21 Jun 2024 16:23:59 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=AF=BC=E5=85=A5=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=EF=BC=9A=201=E3=80=81=E5=A2=9E=E5=8A=A0type=E4=B8=8B=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E6=96=87=E4=BB=B6=E6=89=93=E5=8C=85=E5=88=B0=E5=A4=96?= =?UTF-8?q?=E9=83=A8=EF=BC=8C=E4=BB=A3=E7=A0=81=E9=80=9A=E8=BF=87"?= =?UTF-8?q?=E5=8C=85=E8=B7=AF=E5=BE=84/execFile"=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E8=AF=BB=E5=8F=96=EF=BC=9B=202=E3=80=81=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=88=86=E9=9A=94=E7=AC=A6=E8=87=AA=E9=80=82?= =?UTF-8?q?=E5=BA=94=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cf-module-prod-executor-biz/src/main/build/assembly.xml | 6 ++++++ .../executor/controller/admin/order/OrderController.java | 5 +++-- .../module/executor/service/order/OrderServiceImpl.java | 4 ++-- .../com/cf/imes/module/executor/util/ExcelWriterUtil.java | 5 ++--- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/build/assembly.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/build/assembly.xml index 6569531ff..0e9563e49 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/build/assembly.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/build/assembly.xml @@ -17,6 +17,12 @@ + + + ${basedir}/src/main/resources/type + execFile + + ${basedir}/target/lib 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 7a41e5b66..4b46dcae8 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 @@ -24,6 +24,7 @@ import io.swagger.v3.oas.annotations.Operation; import javax.validation.*; import javax.servlet.http.*; +import java.io.File; import java.util.*; import com.cf.imes.framework.common.pojo.PageResult; @@ -251,12 +252,12 @@ public class OrderController { System.err.println(excelReadUtil.isErr()); // 判断是否读取有误 if (excelReadUtil.isErr() == -1) { // 文件为空 - ExcelWriterUtil.writeErr(response, "生产单内容为空",orderService.getSavePath()+ "\\"+ "错误文件.xlsx"); + ExcelWriterUtil.writeErr(response, "生产单内容为空", orderService.getSavePath() + File.separator + "错误文件.xlsx"); return; }else if (excelReadUtil.isErr() > 0) { // 返回文件 System.out.println("(Map) " + (Map) map.get("order")+ " , (List)" +(List) map.get("plate")); - ExcelWriterUtil.write(response, (Map) map.get("order"), (List) map.get("plate"),orderService.getSavePath()+ "\\"+ "生产单Excel导入错误导出模板.xlsx"); + ExcelWriterUtil.write(response, (Map) map.get("order"), (List) map.get("plate"), orderService.getSavePath() + File.separator + "生产单Excel导入错误导出模板.xlsx"); return; } else { // 获取数据 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 978e9e4a3..21ccbea78 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 @@ -566,7 +566,7 @@ public class OrderServiceImpl implements OrderService { // 新增字典查询 dictDataApi.addDictData("upload_file_type", label, value); // 保存文件 - File saveFile = new File(getSavePath() + "\\" + fileName); + File saveFile = new File(getSavePath() + File.separator + fileName); file.transferTo(saveFile); return value; } catch (IOException e) { @@ -579,7 +579,7 @@ public class OrderServiceImpl implements OrderService { // 根据type获取文件名称 try { // path是指想要下载的文件的路径 - File file = new File(getSavePath() + "\\" + value); + File file = new File(getSavePath() + File.separator + value); // 获取文件名 String filename = file.getName(); // 获取文件后缀名 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ExcelWriterUtil.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ExcelWriterUtil.java index e10e047f0..e31638ebc 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ExcelWriterUtil.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/ExcelWriterUtil.java @@ -4,7 +4,6 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.write.metadata.WriteSheet; -import com.alibaba.excel.write.metadata.WriteTable; import com.alibaba.excel.write.metadata.fill.FillConfig; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO; @@ -13,10 +12,10 @@ import org.springframework.util.ResourceUtils; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; -import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.List; @@ -143,7 +142,7 @@ public class ExcelWriterUtil { String filePathErr, String type) throws IOException { //输入流 - InputStream inputStream = ResourceUtils.getURL(filePathErr+ "\\" + type).openStream(); + InputStream inputStream = ResourceUtils.getURL(filePathErr+ File.separator + type).openStream(); ServletOutputStream outputStream = response.getOutputStream(); From 484826b90aa8ce186812ce0688101a78adefc939 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Fri, 21 Jun 2024 18:24:05 +0800 Subject: [PATCH 4/4] =?UTF-8?q?MyCat-SQL=E8=AF=AD=E5=8F=A5=E5=86=B2?= =?UTF-8?q?=E7=AA=81=E9=83=A8=E5=88=86=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/plan/PlanServiceImpl.java | 4 +- .../resources/mapper/order/OrderMapper.xml | 2 +- .../mapper/orderItem/OrderItemMapper.xml | 10 +-- .../mapper/orderParts/OrderPartsMapper.xml | 7 +- .../main/resources/mapper/plan/PlanMapper.xml | 4 +- .../resources/mapper/plate/PlateMapper.xml | 21 +++--- .../controller/admin/pack/PackController.java | 2 +- .../admin/pack/vo/DeleteOtherPartsReqVO.java | 6 +- .../dal/mysql/pack/OrderPackageMapper.java | 11 +++ .../dal/mysql/query/OrderItemMapper.java | 11 ++- .../dal/mysql/query/OrderPartsMapper.java | 2 +- .../manage/service/pack/PackServiceImpl.java | 54 ++++++++++---- .../dal/mysql/pack/OrderPackageMapper.xml | 6 +- .../dal/mysql/plate/OrderPlateMapper.xml | 7 +- .../mysql/process/ProductionProcessMapper.xml | 2 +- .../dal/mysql/query/OrderItemMapper.xml | 71 ++++++++++--------- .../dal/mysql/query/OrderPartsMapper.xml | 22 ++++-- 17 files changed, 151 insertions(+), 91 deletions(-) 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 c1b3902c1..38bc90321 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 @@ -444,8 +444,8 @@ public class PlanServiceImpl implements PlanService { .betweenIfPresent("a.width", new BigDecimal[]{vo.getWidthMinRang(), vo.getWidthMaxRang()}) .betweenIfPresent("a.height", new BigDecimal[]{vo.getLongMinRang(), vo.getLongMaxRang()}) .inIfPresent("a.filter_type", filterTypes) - .betweenIfPresent("f.delivery_date", new Date[]{vo.getBeginDate(), vo.getEndDate()}); - + .betweenIfPresent("f.delivery_date", new Date[]{vo.getBeginDate(), vo.getEndDate()}) + .orderByDesc("a.name"); PageDTO page = new PageDTO<>(vo.getPageNo(), vo.getPageSize()); IPage pageResult = plateMapper.selectPlateByPlanId(page, queryWrapperX); Set bodyIds = pageResult.getRecords().stream().map(PlateResList::getBodyId).collect(Collectors.toSet()); 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 b5c3bd75e..62493b34b 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 @@ -3,7 +3,7 @@ - SELECT i.order_id, p.id, p.plate_no, g.material, p.name, p.area, p.seal_left, p.seal_down, + SELECT distinct i.order_id, p.id, p.plate_no, g.material, p.name, p.area, p.seal_left, p.seal_down, p.seal_right, p.seal_up, p.texture, p.is_special_shaped, p.is_sculpt, p.unregular_point_count, p.front_hole_count, p.back_hole_count, p.side_hole_count,p.width,p.height,p.thickness,gp.name FROM order_item i @@ -27,7 +27,7 @@ - SELECT i.order_id, i.room_id, i.body_id, i.parts_id, p.`name` as part_name, i.num as plate_num + SELECT distinct i.order_id, i.room_id, i.body_id, i.parts_id, p.`name` as part_name, i.num as plate_num FROM `order_item` i RIGHT JOIN `order_parts` p ON i.parts_id = p.id WHERE i.order_id = #{orderId} AND i.organ_id = #{organId} AND p.deleted = #{deleted} @@ -171,13 +171,13 @@ from order_item oi left join order_package op on oi.order_id = op.order_id and oi.organ_id = op.organ_id - where oi.parts_id = '' and oi.organ_id = #{organId} + where oi.parts_id = 0 and oi.organ_id = #{organId} and oi.order_id in #{orderIds} - group by oi.order_id,oi.plate_id,op.id,op.package_no; + group by oi.order_id,oi.plate_id,op.id,op.package_no,op.status; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml index 4a8f2154b..92d0861bd 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml @@ -4,7 +4,7 @@ - SELECT a.id, + SELECT distinct + a.id, a.goods_id, a.name, a.material, @@ -45,7 +46,7 @@ - select op.id as plan_id, op.plan_no, op.type as op_type, op.status as op_status, op.machine_id, op.plan_time, op.produce_time, op.remark as op_remark, op.operator, + select distinct op.id as plan_id, op.plan_no, op.type as op_type, op.status as op_status, op.machine_id, op.plan_time, op.produce_time, op.remark as op_remark, op.operator, oi.order_id, opl.id as plateId, opl.order_id opl_order_id, opl.name opl_name, opl.plate_no, opl.type as opl_type, opl.goods_id as opl_goods_id, opl.width opl_width, opl.height opl_height, opl.thickness as opl_thickness, opl.split_width, opl.split_height, opl.split_thickness, opl.seal_left, opl.seal_right, opl.seal_up, opl.seal_down, opl.area, opl.texture, opl.hole_face, opl.hole_arrange, opl.unregular_point_count, opl.front_hole_count, @@ -111,7 +111,7 @@ resultType="com.cf.imes.module.executor.controller.admin.plan.vo.PlateOptimize" parameterType="java.lang.Long"> - select a.id, a.goods_name, a.material, a.color, a.width, a.height, a.thickness, count(b.id) as plateNum, d.* + select distinct a.id, a.goods_name, a.material, a.color, a.width, a.height, a.thickness, count(b.id) as plateNum, d.* from order_goods a left join order_plate b on a.id = b.goods_id and a.organ_id = b.organ_id left join order_item c on c.order_id = b.order_id and c.organ_id = b.organ_id diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml index 13a1fa43e..7667cfffc 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml @@ -5,7 +5,7 @@ - select a.order_id, a.plate_no , a.name as plateName,a.is_special_shaped,a.is_sculpt,a.area,a.seal_left,a.seal_right,a.seal_up,a.seal_down, e.material, e.color, a.width, a.height, a.thickness, b.room_id, b.body_id + select distinct a.order_id, a.plate_no , a.name as plateName,a.is_special_shaped,a.is_sculpt,a.area,a.seal_left,a.seal_right,a.seal_up,a.seal_down, e.material, e.color, a.width, a.height, a.thickness, b.room_id, b.body_id from order_plate a LEFT JOIN order_item b ON a.id = b.plate_id AND a.order_id = b.order_id and a.organ_id = b.organ_id LEFT JOIN order_goods e ON e.id = a.goods_id AND e.order_id = a.order_id and e.organ_id = a.organ_id @@ -40,7 +40,7 @@ - SELECT a.id, a.plate_no, a.height, a.thickness, a.width, a.name, a.area, a.seal_left, a.seal_right, + SELECT distinct a.id, a.plate_no, a.height, a.thickness, a.width, a.name, a.area, a.seal_left, a.seal_right, a.seal_up, a.seal_down, a.texture, a.hole_face, a.hole_arrange, a.unregular_point_count, a.front_hole_count, a.back_hole_count, a.side_hole_count, a.front_model_count, a.back_model_count, a.remark, c.material, c.color FROM order_plate a @@ -63,7 +63,7 @@ - select op.id, + select distinct + op.id, op.name, op.goods_id, ogs.goods_name, @@ -242,7 +243,7 @@ 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 c1b78ebca..c112aedf7 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 @@ -91,7 +91,7 @@ public class PackController { @GetMapping("/queryPackageDetails") - @Operation(summary = "查看包裹对应的板材信息") + @Operation(summary = "查询包裹的详细信息") @PreAuthorize("@ss.hasPermission('manage:query:query')") public CommonResult> queryPackageDetails(@Valid PackDetailsReqVO reqVO){ diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java index 409aaff6c..885da7b7c 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java @@ -11,8 +11,6 @@ import lombok.ToString; public class DeleteOtherPartsReqVO { - @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) - private Long orderId; @Schema(description = "包裹Id", requiredMode = Schema.RequiredMode.REQUIRED) private Long packageId; @@ -21,6 +19,10 @@ public class DeleteOtherPartsReqVO { private Long partsId; + @Schema(description = "是否是其他类型的配件", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean isOtherParts; + + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java index 222e0ea6c..0e9801914 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java @@ -61,4 +61,15 @@ public interface OrderPackageMapper extends BaseMapperX { .eq(OrderPackageDO::getOrganId,organId) .eqIfPresent(OrderPackageDO::getOrderId, orderId)); } + + + default List selectPackList(Long packageId,Long organId) { + return selectList(new LambdaQueryWrapperX() + .eq(OrderPackageDO::getOrganId,organId) + .eqIfPresent(OrderPackageDO::getId, packageId)); + } + + void updatePackStatus(Long packageId); + + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java index 75a8bde94..68e36213d 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java @@ -18,7 +18,9 @@ import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.List; +import java.util.stream.Collectors; @Mapper public interface OrderItemMapper extends BaseMapperX { @@ -41,14 +43,13 @@ public interface OrderItemMapper extends BaseMapperX { - void deleteOrderPack(@Param("reqVO") PackReqVO reqVO); + void deleteOrderPack(@Param("packId") Long packId); void deleteOtherParts(@Param("partsId") Long partsId); - void deleteParts(@Param("reqVO") PackReqVO reqVO); void insertPackId(@Param("plateIdList") List plateIdList, @Param("packId") Long packId); @@ -84,4 +85,10 @@ public interface OrderItemMapper extends BaseMapperX { .eq(OrderItemDO::getOrganId, organId) .eqIfPresent(OrderItemDO::getPackageId, packId)); } + + + void deleteParts(@Param("packageId") Long packageId, @Param("partsIds") List partsIds); + + void updateParts(@Param("partsId") Long partsId,@Param("packageId") Long packageId); + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java index 96dc6e217..f76b23d31 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java @@ -29,7 +29,7 @@ public interface OrderPartsMapper extends BaseMapperX { List selectOrderParts(@Param("orderNo")Long orderNo,@Param("packageNo") Long packageNo); - void deleteOrderParts(@Param("packageId") Long packageId); + void deleteOrderParts(@Param("partsIds") List partsIds); default OrderPartsNDO selectOneParts(String otherPartsName,Long organId) { diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java index ddbaffe9e..337d46310 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java @@ -215,11 +215,13 @@ public class PackServiceImpl implements PackService { // 生产明细表新增的配件ID - orderItemMapper.insertParts(reqVO.getAddPartsList(),reqVO.getPackId(),reqVO.getOrderNo()); - + if(!reqVO.getAddPartsList().isEmpty()) { + orderItemMapper.insertParts(reqVO.getAddPartsList(), reqVO.getPackId(), reqVO.getOrderNo()); + } // 生产明细表删除的配件ID - orderItemMapper.deletePartsList(reqVO.getDeletePartsList(),reqVO.getPackId(),reqVO.getOrderNo()); - + if(!reqVO.getDeletePartsList().isEmpty()) { + orderItemMapper.deletePartsList(reqVO.getDeletePartsList(), reqVO.getPackId(), reqVO.getOrderNo()); + } orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); orderPackageMapper.updateById(orderPackageDO); @@ -329,8 +331,9 @@ public class PackServiceImpl implements PackService { orderPackageDO.setRemark(packageVO.getRemark()); orderPackageMapper.insert(orderPackageDO); // 生产单明细表新增包裹 ID - orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), orderPackageDO.getId()); - + if(packageVO.getAddPlateIdList()!=null) { + orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), orderPackageDO.getId()); + } return typeConversion(orderPackageDO); } @@ -363,11 +366,14 @@ public class PackServiceImpl implements PackService { // 生产明细表新增包裹ID - orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), packageVO.getPackId()); + if(!packageVO.getAddPlateIdList().isEmpty()) { + orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), packageVO.getPackId()); + } // 移除生产明细表中板件对应的包裹ID - orderItemMapper.deletePackId(packageVO.getDeletePlateIdList(), packageVO.getPackId()); - + if(!packageVO.getDeletePlateIdList().isEmpty()) { + orderItemMapper.deletePackId(packageVO.getDeletePlateIdList(), packageVO.getPackId()); + } orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); orderPackageMapper.updateById(orderPackageDO); @@ -414,13 +420,23 @@ public class PackServiceImpl implements PackService { // 判断包裹的类型是否为其他类型,如果是,则删除其包裹信息 if (reqVO.getIsOther() == true) { - orderPartsMapper.deleteOrderParts(reqVO.getPackageId()); + List partsIds = orderItemMapper.selectPackList(reqVO.getPackageId(), getUserOrganId()) + .stream().map(m -> m.getPartsId()) + .distinct() + .collect(Collectors.toList()); + + orderPartsMapper.deleteOrderParts(partsIds); + orderPackageMapper.updateParts(reqVO.getPackageId(), reqVO.getPackageNo()); - orderItemMapper.deleteParts(reqVO); + + + orderItemMapper.deleteParts(reqVO.getPackageId(),partsIds); return; } - orderItemMapper.deleteOrderPack(reqVO); + orderPackageMapper.updateParts(reqVO.getPackageId(),reqVO.getPackageNo()); + + orderItemMapper.deleteOrderPack(reqVO.getPackageId()); } @@ -438,6 +454,8 @@ public class PackServiceImpl implements PackService { // 配件表新增数据 OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class); + // 因为是外部配件,所以配件类型的名称固定为 “ 外部配件” + orderParts.setType("外部配件"); orderPartsMapper.insert(orderParts); @@ -485,6 +503,8 @@ public class PackServiceImpl implements PackService { // 配件表新增数据 OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class); + // 因为是外部配件,所以配件类型的名称固定为 “ 外部配件” + orderParts.setType("外部配件"); orderPartsMapper.insert(orderParts); // 在生产单明细表中添加数据(生产单号,配件ID,包裹ID,部件数量(目前一直为1)) @@ -512,10 +532,14 @@ public class PackServiceImpl implements PackService { @Transactional(rollbackFor = Exception.class) public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) { - // 更新配件表中配件为逻辑删除 - orderPartsMapper.updateParts(reqVO.getPartsId()); - orderItemMapper.deleteOtherParts(reqVO.getPartsId()); + if(reqVO.getIsOtherParts()) { + // 更新配件表中配件为逻辑删除 + orderPartsMapper.updateParts(reqVO.getPartsId()); + orderItemMapper.deleteOtherParts(reqVO.getPartsId()); + } + + orderItemMapper.updateParts(reqVO.getPartsId(),reqVO.getPackageId()); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml index b8824a7d5..e4d4bbd65 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml @@ -14,7 +14,7 @@ resultMap="PackMap"> - select + select DISTINCT count(DISTINCT oi.package_id ) as numberOfPackages, count(DISTINCT oi.plate_id) as packagedBoard @@ -55,7 +55,7 @@ parameterType="java.lang.Long" resultMap="PlateDetailsMap"> - select + select DISTINCT ob.room_name as roomName, ob.name as bodyName, op.id as palteId, @@ -84,7 +84,7 @@ oi.organ_id = #{organId} and op.id not in ( - select oi2.plate_id + select DISTINCT oi2.plate_id from order_item oi2 where oi2.order_id = #{orderNo} and oi2.package_id <> ''); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml index cb871055c..25338006f 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml @@ -31,7 +31,7 @@ parameterType="com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO"> - select + select DISTINCT o.id as orderId, ob.name as cabinetName, op.id as plateNo, @@ -93,7 +93,7 @@ - select ob.room_name - from order_item oi - join order_body ob on oi.body_id = ob.id - where oi.plate_id = #{plateId}; +-- select ob.room_name +-- from order_item oi +-- join order_body ob on oi.body_id = ob.id +-- where oi.plate_id = #{plateId}; @@ -331,17 +336,17 @@ diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml index cb37adb4a..a6f0cb110 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml @@ -60,11 +60,15 @@ parameterType="java.lang.Long" resultMap="PartsListMap"> - select - id as partsId,name,model,spec,count(name) as num,unit,brand,factory,remark - from order_parts where order_id = #{orderId} and organ_id = #{organId} - group by partsId,name,model,spec,unit,brand,factory,remark; + select distinct + op.id as partsId,op.name,op.model,op.spec,count(op.name) as num,op.unit,op.brand,op.factory,op.remark + from order_parts op + join order_item oi on op.id = oi.parts_id and op.organ_id = oi.organ_id + + where op.order_id = #{orderId} and oi.package_id = 0 + + group by partsId,op.name,op.model,op.spec,op.unit,op.brand,op.factory,op.remark; @@ -77,7 +81,7 @@ resultMap="PartsListMap"> - select + select distinct op.id as partsId, op.name as name, op.model as model , @@ -103,8 +107,12 @@ - update order_parts op set op.deleted = true where op.id in ( - select oi.parts_id from order_item oi where package_id =#{packageId}); + + update order_parts op set op.deleted = true where op.id in + + + #{id} +