From cc21e79cd80345b97cc899ddff02c962d4f432fc Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期三, 23 四月 2025 14:48:03 +0800 Subject: [PATCH] feat(irrigate): 增加轮灌组名称重复性检查功能 --- pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java | 1 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java | 15 +++++++ pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java | 25 ++++++++++++ pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml | 17 ++++++++ pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java | 10 +++++ 5 files changed, 68 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java index e49bf93..b2be323 100644 --- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java +++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoIr/IrIrrigateGroupMapper.java @@ -101,4 +101,19 @@ * @return */ List<VoIntake> getGroupIntakesList(Long groupId); + + /** + * 鏍规嵁杞亴缁勫悕绉扮粺璁¤褰曟暟 + * @param groupCode 杞亴缁勫悕绉� + * @return 鍖归厤鐨勮褰曟暟 + */ + int countByGroupCode(@Param("groupCode") String groupCode); + + /** + * 鏍规嵁杞亴缁勫悕绉扮粺璁¤褰曟暟锛堟帓闄ゆ寚瀹欼D锛� + * @param groupCode 杞亴缁勫悕绉� + * @param excludeId 闇�瑕佹帓闄ょ殑杞亴缁処D + * @return 鍖归厤鐨勮褰曟暟 + */ + int countByGroupCodeExcludeId(@Param("groupCode") String groupCode, @Param("excludeId") Long excludeId); } \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml index 115fe2b..5305c81 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/IrIrrigateGroupMapper.xml @@ -362,4 +362,21 @@ INNER JOIN pr_controller con ON con.intakeId = gi.intake_id WHERE gi.group_id = #{groupId} </select> + + <!--鏍规嵁杞亴缁勫悕绉扮粺璁¤褰曟暟--> + <select id="countByGroupCode" resultType="java.lang.Integer"> + SELECT COUNT(*) + FROM ir_irrigate_group + WHERE group_code = #{groupCode} + AND deleted = 0 + </select> + + <!--鏍规嵁杞亴缁勫悕绉扮粺璁¤褰曟暟锛堟帓闄ゆ寚瀹欼D锛�--> + <select id="countByGroupCodeExcludeId" resultType="java.lang.Integer"> + SELECT COUNT(*) + FROM ir_irrigate_group + WHERE group_code = #{groupCode} + AND id != #{excludeId} + AND deleted = 0 + </select> </mapper> \ No newline at end of file diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java index 89c086e..77706f0 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupCtrl.java @@ -460,6 +460,11 @@ if (bindingResult != null && bindingResult.hasErrors()) { return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); } + + // 鍏堝垽鏂〃鍐呮槸鍚﹀瓨鍦ㄧ浉鍚岀殑 groupCode + if (irrigateGroupSv.existsByGroupCode(po.getGroupCode())) { + return BaseResponseUtils.buildFail(IrrigateResultCode.GROUP_CODE_ALREADY_EXISTS.getMessage()); + } Map map_result = irrigateGroupSv.addIrrigateGroup(po); if(map_result.get("success").equals(false)) { @@ -505,6 +510,11 @@ if(po.getGroupId() == null) { return BaseResponseUtils.buildErrorMsg("杞亴缁処D涓嶈兘涓虹┖"); } + + // 鍏堝垽鏂〃鍐呮槸鍚﹀瓨鍦ㄧ浉鍚岀殑 groupCode锛堟帓闄ゅ綋鍓嶆鍦ㄤ慨鏀圭殑璁板綍锛� + if (irrigateGroupSv.existsByGroupCodeExcludeId(po.getGroupCode(), po.getGroupId())) { + return BaseResponseUtils.buildFail(IrrigateResultCode.GROUP_CODE_ALREADY_EXISTS.getMessage()); + } Map map_result = irrigateGroupSv.updateIrrigateGroup(po); if(map_result.get("success").equals(false)) { diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java index 1ff9050..da54d34 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/irrigateGroup/IrrigateGroupSv.java @@ -172,6 +172,31 @@ } /** + * 鏍规嵁杞亴缁勫悕绉版煡璇㈡槸鍚﹀瓨鍦紙娣诲姞杞亴缁勬椂浣跨敤锛� + * @param groupCode 杞亴缁勫悕绉� + * @return 鏄惁瀛樺湪 + */ + public boolean existsByGroupCode(String groupCode) { + if (groupCode == null || "".equals(groupCode.trim())) { + return false; + } + return irIrrigateGroupMapper.countByGroupCode(groupCode) > 0; + } + + /** + * 鏍规嵁杞亴缁勫悕绉版煡璇㈡槸鍚﹀瓨鍦紙淇敼杞亴缁勬椂浣跨敤锛屾帓闄ゅ綋鍓岻D锛� + * @param groupCode 杞亴缁勫悕绉� + * @param excludeId 闇�瑕佹帓闄ょ殑ID + * @return 鏄惁瀛樺湪 + */ + public boolean existsByGroupCodeExcludeId(String groupCode, Long excludeId) { + if (groupCode == null || "".equals(groupCode.trim())) { + return false; + } + return irIrrigateGroupMapper.countByGroupCodeExcludeId(groupCode, excludeId) > 0; + } + + /** * 鍒犻櫎杞亴缁勪笌鍐滄埛绠$悊 * @param id * @return diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java index c13d4b1..96ac899 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/result/IrrigateResultCode.java @@ -42,6 +42,7 @@ GROUP_ADD_UNIT_FAIL(30006, "杞亴缁勬坊鍔犵亴婧夊崟鍏冨け璐�"), GROUP_DELETE_UNIT_FAIL(30007, "杞亴缁勭Щ闄ょ亴婧夊崟鍏冨け璐�"), UPDATE_GROUP_BIND_UNIT_FAIL(30008, "淇敼杞亴缁勭粦瀹氱殑鐏屾簤鍗曞厓澶辫触"), + GROUP_CODE_ALREADY_EXISTS(30009, "杞亴缁勫悕绉板凡瀛樺湪"), /** * 浣滅墿 -- Gitblit v1.8.0