From c21ebcdc1bfa7e3e54b3ca579b7db53211ebe42e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Thu, 11 Jun 2026 11:30:24 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E6=89=BF=E8=BF=90=E4=BA=BA=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=BD=A6=E8=BE=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/YmsServiceFeign.java | 2 +- .../service/UserDriverApplicationService.java | 11 +++++ .../service/UserDriverDomainService.java | 3 ++ .../vehicle/VehicleApplicationService.java | 42 ++++++++++--------- 4 files changed, 37 insertions(+), 21 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java index dfac7337f..48d76d01e 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/YmsServiceFeign.java @@ -9,7 +9,7 @@ import com.mhd.system.api.feign.FeignAutoConfiguration; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.102.192.4:8018", configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "YmsService", value = ServiceNameConstants.YMS_SERVICE,fallbackFactory = RemoteBmsFeignFallbackFactory.class,url = "http://10.33.0.99:8018", configuration = FeignAutoConfiguration.class) public interface YmsServiceFeign { /** diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserDriverApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserDriverApplicationService.java index c156a6dc8..8cba1f1d9 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserDriverApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserDriverApplicationService.java @@ -416,6 +416,17 @@ public class UserDriverApplicationService { VehiclePo vehicleData = vehicle.getData(); log.info("查到到车辆信息:{}",vehicleData); + // 如果车辆存在且当前用户与该车辆的绑定关系已存在,则跳过绑定,避免重复创建绑定记录 + if (vehicleData != null && vehicleData.getVehicleId() != null) { + DriverVehicleBind existingBind = driverVehicleBindDomainService.getBindInfoListByVehicle( + vehicleData.getVehicleId(), driver.getUserId()); + if (ObjectUtil.isNotNull(existingBind)) { + log.info("用户[{}]与车辆[{}]的绑定关系已存在,跳过绑定操作", + driver.getUserId(), driver.getVehicleLicensePlateNumber()); + return; + } + } + DriverVehicleBind driverVehicleBind = driverVehicleBindDomainService.isVehicleBinding(driver.getVehicleLicensePlateNumber()); Boolean isBound=false; if(ObjectUtil.isNotNull(driverVehicleBind)&&!driverVehicleBind.getDriverBindId().equals(driver.getUserId())){ diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/service/UserDriverDomainService.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/service/UserDriverDomainService.java index a694442e4..317649710 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/service/UserDriverDomainService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/service/UserDriverDomainService.java @@ -326,6 +326,9 @@ public class UserDriverDomainService { public UserDriverPo getDriverDataByUserId(Long userId) { UserDriverPo userDriverPo=userDriverRepositoryInterface.getDriverDataByUserId(userId); + if (userDriverPo == null) { + return null; + } R> vehicleR=transportFeign.getVehiclePosByUserId(userDriverPo.getUserId()); if (R.SUCCESS == vehicleR.getCode() && vehicleR.getData() != null && !vehicleR.getData().isEmpty()) { userDriverPo.setVehicleList(vehicleR.getData()); diff --git a/mhd_transport/src/main/java/com/linke/transport/application/service/vehicle/VehicleApplicationService.java b/mhd_transport/src/main/java/com/linke/transport/application/service/vehicle/VehicleApplicationService.java index 516b30a87..b3e4d2147 100644 --- a/mhd_transport/src/main/java/com/linke/transport/application/service/vehicle/VehicleApplicationService.java +++ b/mhd_transport/src/main/java/com/linke/transport/application/service/vehicle/VehicleApplicationService.java @@ -573,12 +573,15 @@ public class VehicleApplicationService { if (! "200".equals(String.valueOf(userInfoResult.get("code")))) { throw new ServiceException("用户信息获取失败: " + userInfoResult.get("msg")); } - UserDriverPo userPo = JSONUtil.toBean(JSONUtil.toJsonStr(userInfoResult.get("data")), - UserDriverPo.class); - vehicle.setUserName(userPo.getUserName()); - vehicle.setUserPhone(userPo.getUserPhone()); + // 司机数据可能不存在(用户尚未在用户中台完成注册),此时使用车辆表单携带的用户信息 + if (ObjectUtil.isNotNull(userInfoResult.get("data"))) { + UserDriverPo userPo = JSONUtil.toBean(JSONUtil.toJsonStr(userInfoResult.get("data")), + UserDriverPo.class); + vehicle.setUserName(userPo.getUserName()); + vehicle.setUserPhone(userPo.getUserPhone()); + } - List roleCodeList; + List roleCodeList = new ArrayList<>(); AjaxResult roleListAjaxResult = userServiceFeign.getRoleListByUserId(vehicle.getUserId()); if ("200".equals(String.valueOf(roleListAjaxResult.get("code"))) && ObjectUtil.isNotNull( roleListAjaxResult.get("data"))) { @@ -586,8 +589,6 @@ public class VehicleApplicationService { RolePO.class); if (CollUtil.isNotEmpty(rolePOS)) { roleCodeList = rolePOS.stream().map(RolePO :: getRoleCode).collect(Collectors.toList()); - } else { - throw new ServiceException("账号未授权角色信息!"); } } else { throw new ServiceException("获取用户角色列表失败: " + roleListAjaxResult.get("msg")); @@ -865,12 +866,14 @@ public class VehicleApplicationService { if (! "200".equals(String.valueOf(userInfoResult.get("code")))) { throw new ServiceException("用户信息获取失败: " + userInfoResult.get("msg")); } - UserDriverPo userPo = JSONUtil.toBean(JSONUtil.toJsonStr(userInfoResult.get("data")), - UserDriverPo.class); - vehicle.setUserName(userPo.getUserName()); - vehicle.setUserPhone(userPo.getUserPhone()); + if (ObjectUtil.isNotNull(userInfoResult.get("data"))) { + UserDriverPo userPo = JSONUtil.toBean(JSONUtil.toJsonStr(userInfoResult.get("data")), + UserDriverPo.class); + vehicle.setUserName(userPo.getUserName()); + vehicle.setUserPhone(userPo.getUserPhone()); + } - List roleCodeList; + List roleCodeList = new ArrayList<>(); AjaxResult roleListAjaxResult = userServiceFeign.getRoleListByUserId(vehicle.getUserId()); if ("200".equals(String.valueOf(roleListAjaxResult.get("code"))) && ObjectUtil.isNotNull( roleListAjaxResult.get("data"))) { @@ -878,8 +881,6 @@ public class VehicleApplicationService { RolePO.class); if (CollUtil.isNotEmpty(rolePOS)) { roleCodeList = rolePOS.stream().map(RolePO :: getRoleCode).collect(Collectors.toList()); - } else { - throw new ServiceException("账号未授权角色信息!"); } } else { throw new ServiceException("获取用户角色列表失败: " + roleListAjaxResult.get("msg")); @@ -1935,10 +1936,13 @@ public class VehicleApplicationService { if (! "200".equals(String.valueOf(info.get("code")))) { throw new ServiceException("用户信息获取失败"); } - UserDriverPo userPo = JSONObject.parseObject(JSONObject.toJSONString(info.get("data")), - UserDriverPo.class); - vehicle.setUserName(userPo.getUserName()); - vehicle.setUserPhone(userPo.getUserPhone()); + // 司机数据可能不存在(用户尚未在用户中台完成注册),此时使用车辆表单携带的用户信息 + if (ObjectUtil.isNotNull(info.get("data"))) { + UserDriverPo userPo = JSONObject.parseObject(JSONObject.toJSONString(info.get("data")), + UserDriverPo.class); + vehicle.setUserName(userPo.getUserName()); + vehicle.setUserPhone(userPo.getUserPhone()); + } List roleCodeList = new ArrayList<>(); AjaxResult roleListAjaxResult = userServiceFeign.getRoleListByUserId(vehicle.getUserId()); if ("200".equals(String.valueOf(roleListAjaxResult.get("code"))) && ObjectUtil.isNotNull( @@ -1948,8 +1952,6 @@ public class VehicleApplicationService { if (rolePOS != null && ! rolePOS.isEmpty()) { roleCodeList.addAll( rolePOS.stream().map(RolePO :: getRoleCode).collect(Collectors.toList())); - } else { - throw new ServiceException("账号未授权角色信息!"); } } if (! roleCodeList.contains(RoleEnum.DRIVER.getCode())) { From 47edc63b27b77e4f35f9e4bf3ec6601488741edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Thu, 11 Jun 2026 11:30:57 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-user-center/src/main/resources/bootstrap.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mhd-user-center/src/main/resources/bootstrap.yml b/mhd-user-center/src/main/resources/bootstrap.yml index c17c2833e..90cf188c9 100644 --- a/mhd-user-center/src/main/resources/bootstrap.yml +++ b/mhd-user-center/src/main/resources/bootstrap.yml @@ -20,17 +20,17 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.5:6848 +# username: nacos +# password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.5:6848 +# username: nacos +# password: manhuoda@2023 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties # 共享配置 From 79f2ff3b543327fc0288f3dbd11afe4a17ff9ff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Thu, 11 Jun 2026 14:26:50 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mhd/system/api/BmsServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WlhyServiceFeign.java | 2 +- .../src/main/java/com/mhd/system/api/WmsServiceFeign.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java index e18484e8d..91f2f8a11 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/BmsServiceFeign.java @@ -18,7 +18,7 @@ import java.util.Set; /** * bms财务结算系统feign调用接口 */ -@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.102.192.3:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "BmsService", value = ServiceNameConstants.BMS_SERVICE, url = "http://10.33.0.109:8019",fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface BmsServiceFeign { diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java index dfb64994b..7b29982a5 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WlhyServiceFeign.java @@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; -@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.102.192.30:8014",configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "commonWlhyServiceFeign",value = ServiceNameConstants.WLHY_SERVICE,url = "http://10.33.0.129:8014",configuration = FeignAutoConfiguration.class) public interface WlhyServiceFeign { /** diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java index 687c0e1ae..9a459adc1 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/WmsServiceFeign.java @@ -20,7 +20,7 @@ import java.util.Map; * @description: TODO * @date 2024/5/10 8:58 **/ -@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.102.192.3:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) +@FeignClient(contextId = "remoteWmsServiceFeign",value = ServiceNameConstants.WMS_SERVICE, url = "http://10.33.0.109:8016", fallbackFactory = RemoteWmsFallbackFactory.class, configuration = FeignAutoConfiguration.class) public interface WmsServiceFeign { /** From 473bcc02cd6b66a312834c28ef85f8f88e1289ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 11 Jun 2026 15:05:54 +0800 Subject: [PATCH 04/19] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysDictDataController.java | 79 +++++++++++++++++++ .../controller/SysDictTypeController.java | 57 +++++++++++++ .../mhd/system/mapper/SysDictTypeMapper.java | 6 +- .../service/impl/SysDictDataServiceImpl.java | 14 +++- .../service/impl/SysDictTypeServiceImpl.java | 6 +- .../mapper/system/SysDictTypeMapper.xml | 4 +- 6 files changed, 158 insertions(+), 8 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictDataController.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictDataController.java index 2b8753cfa..607baefc0 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictDataController.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictDataController.java @@ -21,6 +21,8 @@ import com.mhd.common.log.annotation.Log; import com.mhd.common.log.enums.BusinessType; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.domain.SysDictData; +import com.mhd.system.api.domain.SysDictType; +import com.mhd.system.api.model.LoginUser; /** * 数据字典信息 @@ -41,10 +43,87 @@ public class SysDictDataController extends BaseController @GetMapping("/list") public TableDataInfo list(SysDictData dictData) { + if (!applyDictDataOrganizationFilterByDictType(dictData)) + { + return getDataTable(new ArrayList<>()); + } startPage(); List list = dictDataService.selectDictList(dictData); return getDataTable(list); } + /** + * 列表组织过滤:按字典类型(sys_dict_type)上的组织维度过滤字典数据。 + * 前端可传 organizationId(通常来自所选字典类型行);南光组织(2827)可选组织或查全部,其他组织仅本组织。 + * + * @return false 表示当前组织下无匹配字典类型,应返回空列表 + */ + private boolean applyDictDataOrganizationFilterByDictType(SysDictData dictData) + { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null || loginUser.getUserPo() == null) + { + return true; + } + Long loginUserOrganizationId = loginUser.getUserPo().getOrganizationId(); + Long loginUserTopOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + Long frontendOrganizationId = dictData.getOrganizationId(); + + Long queryOrganizationId = null; + Long queryTopOrganizationId = null; + + if (loginUserOrganizationId != null && loginUserOrganizationId.equals(2827L)) + { + if (frontendOrganizationId != null) + { + queryOrganizationId = frontendOrganizationId; + } + } + else + { + if (frontendOrganizationId != null && !frontendOrganizationId.equals(loginUserOrganizationId)) + { + queryOrganizationId = loginUserOrganizationId; + } + else if (frontendOrganizationId != null) + { + queryOrganizationId = frontendOrganizationId; + } + else + { + queryOrganizationId = loginUserOrganizationId; + } + queryTopOrganizationId = loginUserTopOrganizationId; + } + + if (StringUtils.isEmpty(dictData.getDictType())) + { + dictData.setOrganizationId(queryOrganizationId); + dictData.setTopOrganizationId(queryTopOrganizationId); + return true; + } + + if (queryOrganizationId == null) + { + dictData.setOrganizationId(null); + dictData.setTopOrganizationId(null); + return true; + } + + SysDictType typeQuery = new SysDictType(); + typeQuery.setDictType(dictData.getDictType()); + typeQuery.setOrganizationId(queryOrganizationId); + List dictTypes = dictTypeService.selectDictTypeList(typeQuery); + if (dictTypes.isEmpty()) + { + return false; + } + + SysDictType dictTypeRow = dictTypes.get(0); + dictData.setOrganizationId(dictTypeRow.getOrganizationId()); + dictData.setTopOrganizationId(dictTypeRow.getTopOrganizationId()); + return true; + } + @PostMapping("/getDictDataList") public R> getDictDataList(@RequestBody SysDictData sysDictData) { diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java index 6cf686ee9..2b65236a9 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/controller/SysDictTypeController.java @@ -43,6 +43,7 @@ public class SysDictTypeController extends BaseController @GetMapping("/list") public TableDataInfo list(SysDictType dictType) { + applyDictTypeOrganizationFilter(dictType); startPage(); List list = dictTypeService.selectDictTypeList(dictType); return getDataTable(list); @@ -53,6 +54,7 @@ public class SysDictTypeController extends BaseController @PostMapping("/export") public void export(HttpServletResponse response, SysDictType dictType) { + applyDictTypeOrganizationFilter(dictType); List list = dictTypeService.selectDictTypeList(dictType); ExcelUtil util = new ExcelUtil(SysDictType.class); util.exportExcel(response, list, "字典类型"); @@ -85,6 +87,61 @@ public class SysDictTypeController extends BaseController return toAjax(dictTypeService.insertDictType(dict)); } + /** + * 列表/导出组织过滤:优先使用前端传递的 organizationId; + * 南光组织(2827)可按组织筛选或查全部,其他组织只能查本组织数据。 + */ + private void applyDictTypeOrganizationFilter(SysDictType dictType) + { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser == null || loginUser.getUserPo() == null) + { + return; + } + Long loginUserOrganizationId = loginUser.getUserPo().getOrganizationId(); + Long loginUserTopOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + Long frontendOrganizationId = dictType.getOrganizationId(); + + if (loginUserOrganizationId != null && loginUserOrganizationId.equals(2827L)) + { + if (frontendOrganizationId != null) + { + dictType.setOrganizationId(frontendOrganizationId); + dictType.setTopOrganizationId(null); + } + else + { + dictType.setOrganizationId(null); + dictType.setTopOrganizationId(null); + } + } + else + { + if (frontendOrganizationId != null) + { + if (!frontendOrganizationId.equals(loginUserOrganizationId)) + { + dictType.setOrganizationId(loginUserOrganizationId); + } + if (loginUserTopOrganizationId != null) + { + dictType.setTopOrganizationId(loginUserTopOrganizationId); + } + } + else + { + if (loginUserOrganizationId != null) + { + dictType.setOrganizationId(loginUserOrganizationId); + } + if (loginUserTopOrganizationId != null) + { + dictType.setTopOrganizationId(loginUserTopOrganizationId); + } + } + } + } + /** * 写入组织维度:优先使用请求体中选择的组织;未传时使用当前登录用户所属组织;无登录上下文时按平台(0)处理。 */ diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java index bd6d92ead..08696d980 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/mapper/SysDictTypeMapper.java @@ -34,12 +34,12 @@ public interface SysDictTypeMapper public SysDictType selectDictTypeById(Long dictId); /** - * 根据字典类型查询信息 + * 根据字典类型及组织查询信息(同一 dict_type 在不同组织下可重复) * - * @param dictType 字典类型 + * @param dictType 字典类型(含 dictType、organizationId) * @return 字典类型 */ - public SysDictType selectDictTypeByType(String dictType); + public SysDictType selectDictTypeByType(SysDictType dictType); /** * 通过字典ID删除字典信息 diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java index e2ec28888..2415a8a1a 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/system/service/impl/SysDictDataServiceImpl.java @@ -441,7 +441,19 @@ public class SysDictDataServiceImpl extends ServiceImpl - where dict_type = #{dictType} + and IFNULL(organization_id, 0) = IFNULL(#{organizationId}, 0) + limit 1 select - a.*, - b.SETTLEMENT_CURRENCY as settlement_currency, + , + COALESCE(a.settlement_currency, b.SETTLEMENT_CURRENCY) as settlement_currency, bd.business_document_id, bd.business_flow, bd.original_business_num, From daf4faf890e0c5b41e74728e54aed38dbb136f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Thu, 11 Jun 2026 16:39:01 +0800 Subject: [PATCH 07/19] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd_transport/src/main/resources/bootstrap.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mhd_transport/src/main/resources/bootstrap.yml b/mhd_transport/src/main/resources/bootstrap.yml index f657b93be..bfd891a38 100644 --- a/mhd_transport/src/main/resources/bootstrap.yml +++ b/mhd_transport/src/main/resources/bootstrap.yml @@ -20,10 +20,10 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置使用ip+端口号 -# server-addr: 10.33.0.129:6010 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 + server-addr: 10.33.0.129:6010 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.31:6848 # username: nacos @@ -33,14 +33,14 @@ spring: config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置使用ip+端口号 - server-addr: 10.102.192.31:6848 - username: nacos - password: manhuoda@2023 +# server-addr: 10.102.192.31:6848 +# username: nacos +# password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.31:6848 # username: nacos # password: manhuoda@2023 -# server-addr: 10.33.0.129:6010 + server-addr: 10.33.0.129:6010 #线上正式环境 # server-addr: 10.102.192.105:6848 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 From f79084ed58562be467f8874253709c12a4f6f992 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Thu, 11 Jun 2026 18:34:18 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E5=90=88=E5=90=8C=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=85=B6=E4=BB=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/domain/po/ContractManagePO.java | 4 +- .../ContractManageApplicationService.java | 75 ++++++++----------- .../contractManage/entity/ContractManage.java | 4 +- .../repository/po/ContractManagePO.java | 4 +- .../repository/todo/ContractManageDO.java | 4 +- .../dto/contractManage/ContractManageDTO.java | 4 +- .../ReportFormApplicationService.java | 12 ++- .../feign/vo/ContractManagePO.java | 4 +- 8 files changed, 54 insertions(+), 57 deletions(-) diff --git a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/ContractManagePO.java b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/ContractManagePO.java index 4db7d5167..a413364a3 100644 --- a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/ContractManagePO.java +++ b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/ContractManagePO.java @@ -54,8 +54,8 @@ public class ContractManagePO extends BaseVOEntity{ @Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否") private Integer commonContractFlag; - @ApiModelProperty("合同类型(1-仓储,2-运输)") - @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输") + @ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)") + @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他") private Integer contractType; @ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)") diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java index 0a48641b3..a7638c9a3 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/contractManage/ContractManageApplicationService.java @@ -590,6 +590,7 @@ public class ContractManageApplicationService { if (ObjectUtil.isNull(loginUser)) { throw new DigitalLogisticsException(UserError.TIMEOUT); } + validateContractType(contractManageDO.getContractType()); /* 通用合同:同一时间段、同一合同类型,只能存在一个 特殊合同:同一结算主体、同一时间段、同一合同类型,只能存在一个 @@ -666,6 +667,29 @@ public class ContractManageApplicationService { } + /** + * 校验合同类型 + */ + private void validateContractType(Integer contractType) { + if (contractType == null) { + throw new ServiceException("合同类型不能为空"); + } + if (contractType != 1 && contractType != 2 && contractType != 3) { + throw new ServiceException("合同类型不正确,请选择1-仓储、2-运输或3-其他"); + } + } + + /** + * 查询通用合同 + */ + private ContractManagePO findGeneralContract(List contractManagePOList, Integer contractType) { + return contractManagePOList.stream() + .filter(item -> Objects.equals(item.getContractType(), contractType) + && item.getCommonContractFlag() == 1 + && item.getContractState() == 2) + .findFirst().orElse(null); + } + /** * 校验合同是否合法 * @param contractManageDO @@ -806,6 +830,7 @@ public class ContractManageApplicationService { */ @Transactional public Boolean update(ContractManageDO contractManageDO) { + validateContractType(contractManageDO.getContractType()); checkContract(contractManageDO); handleData(contractManageDO); handleDetils(contractManageDO); @@ -845,7 +870,7 @@ public class ContractManageApplicationService { */ public ContractManagePO getInfoByCustomer(String settlementCustomersCode,Integer contractType, Long topOrganizationId) { /* - 首先根据合同类型(仓储、运输),以及结算客户,查询合同信息 + 首先根据合同类型(仓储、运输、其他),以及结算客户,查询合同信息 如果传了结算主体,则根据结算主体以及当前时间查询有效的特殊合同,如果特殊合同没有,则查询通用合同 */ //获取当前登录人信息 @@ -872,31 +897,12 @@ public class ContractManageApplicationService { ContractManagePO contractManagePO = contractManagePOList.stream() .filter(item -> item.getSettlementCustomersCode().equals(settlementCustomersCode) && Objects.equals(item.getContractType(), contractType)).findFirst().orElse(null); if(null == contractManagePO){ - if(contractType==1){ - //仓储合同 - resultContract = contractManagePOList.stream() - .filter(item -> - item.getContractType()==1 && - item.getCommonContractFlag() == 1 && item.getContractState() ==2) - .findFirst().orElse(null); - }else{ - //运输合同 - resultContract = contractManagePOList.stream().filter(item -> item.getContractType()==2 - && item.getCommonContractFlag() == 1 && item.getContractState() ==2).findFirst().orElse(null); - } + resultContract = findGeneralContract(contractManagePOList, contractType); }else { resultContract = contractManagePO; } }else { - if(contractType==1){ - //仓储合同 - resultContract = contractManagePOList.stream().filter(contractManagePO -> contractManagePO.getContractType()==1 - && contractManagePO.getCommonContractFlag() == 1 && contractManagePO.getContractState() ==2).findFirst().orElse(null); - }else{ - //运输合同 - resultContract = contractManagePOList.stream().filter(contractManagePO -> contractManagePO.getContractType()==2 - && contractManagePO.getCommonContractFlag() == 1 && contractManagePO.getContractState() ==2).findFirst().orElse(null); - } + resultContract = findGeneralContract(contractManagePOList, contractType); } if(null == resultContract){ throw new ServiceException("找不到匹配的合同,请重试"); @@ -936,7 +942,7 @@ public class ContractManageApplicationService { */ public ContractManagePO getInfoByCustomerAndOrganizationId(String settlementCustomersCode,Integer contractType, Long topOrganizationId, Long organizationId) { /* - 首先根据合同类型(仓储、运输),以及结算客户,查询合同信息 + 首先根据合同类型(仓储、运输、其他),以及结算客户,查询合同信息 如果传了结算主体,则根据结算主体以及当前时间查询有效的特殊合同,如果特殊合同没有,则查询通用合同 */ //获取当前登录人信息 @@ -966,31 +972,12 @@ public class ContractManageApplicationService { ContractManagePO contractManagePO = contractManagePOList.stream() .filter(item -> item.getSettlementCustomersCode().equals(settlementCustomersCode) && Objects.equals(item.getContractType(), contractType)).findFirst().orElse(null); if(null == contractManagePO){ - if(contractType==1){ - //仓储合同 - resultContract = contractManagePOList.stream() - .filter(item -> - item.getContractType()==1 && - item.getCommonContractFlag() == 1 && item.getContractState() ==2) - .findFirst().orElse(null); - }else{ - //运输合同 - resultContract = contractManagePOList.stream().filter(item -> item.getContractType()==2 - && item.getCommonContractFlag() == 1 && item.getContractState() ==2).findFirst().orElse(null); - } + resultContract = findGeneralContract(contractManagePOList, contractType); }else { resultContract = contractManagePO; } }else { - if(contractType==1){ - //仓储合同 - resultContract = contractManagePOList.stream().filter(contractManagePO -> contractManagePO.getContractType()==1 - && contractManagePO.getCommonContractFlag() == 1 && contractManagePO.getContractState() ==2).findFirst().orElse(null); - }else{ - //运输合同 - resultContract = contractManagePOList.stream().filter(contractManagePO -> contractManagePO.getContractType()==2 - && contractManagePO.getCommonContractFlag() == 1 && contractManagePO.getContractState() ==2).findFirst().orElse(null); - } + resultContract = findGeneralContract(contractManagePOList, contractType); } if(null == resultContract){ throw new ServiceException("找不到匹配的合同,请重试"); diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/entity/ContractManage.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/entity/ContractManage.java index 9c5cddcad..a2cd4b1ca 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/entity/ContractManage.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/entity/ContractManage.java @@ -56,8 +56,8 @@ public class ContractManage extends BaseVOEntity{ @Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否") private Integer commonContractFlag; - @ApiModelProperty("合同类型(1-仓储,2-运输)") - @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输") + @ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)") + @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他") private Integer contractType; @ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)") diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/po/ContractManagePO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/po/ContractManagePO.java index 0f3b140ea..f6640ca8d 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/po/ContractManagePO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/po/ContractManagePO.java @@ -57,8 +57,8 @@ public class ContractManagePO extends BaseVOEntity{ @Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否") private Integer commonContractFlag; - @ApiModelProperty("合同类型(1-仓储,2-运输)") - @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输") + @ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)") + @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他") private Integer contractType; @ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)") diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/todo/ContractManageDO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/todo/ContractManageDO.java index 5902d3a01..611e07714 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/todo/ContractManageDO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/domain/contractManage/repository/todo/ContractManageDO.java @@ -54,8 +54,8 @@ public class ContractManageDO extends BaseVOEntity{ @Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否") private Integer commonContractFlag; - @ApiModelProperty("合同类型(1-仓储,2-运输)") - @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输") + @ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)") + @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他") private Integer contractType; @ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)") diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/contractManage/ContractManageDTO.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/contractManage/ContractManageDTO.java index fdd7a3478..b57be84e4 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/contractManage/ContractManageDTO.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/interfaces/dto/contractManage/ContractManageDTO.java @@ -54,8 +54,8 @@ public class ContractManageDTO extends BaseVOEntity{ @Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否") private Integer commonContractFlag; - @ApiModelProperty("合同类型(1-仓储,2-运输)") - @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输") + @ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)") + @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他") private Integer contractType; @ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)") diff --git a/mhd_bms/src/main/java/com/mhd/bms/application/server/reportForm/ReportFormApplicationService.java b/mhd_bms/src/main/java/com/mhd/bms/application/server/reportForm/ReportFormApplicationService.java index 5779f7b90..a70cc7510 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/application/server/reportForm/ReportFormApplicationService.java +++ b/mhd_bms/src/main/java/com/mhd/bms/application/server/reportForm/ReportFormApplicationService.java @@ -279,7 +279,17 @@ public class ReportFormApplicationService { k.put("project_code",projectCode == null ? value : projectCode); break; case "contractType": - k.put("contract_type",ObjectUtil.equals(value,1) ? "仓储" : "运输"); + String contractTypeName; + if (ObjectUtil.equals(value, 1)) { + contractTypeName = "仓储"; + } else if (ObjectUtil.equals(value, 2)) { + contractTypeName = "运输"; + } else if (ObjectUtil.equals(value, 3)) { + contractTypeName = "其他"; + } else { + contractTypeName = String.valueOf(value); + } + k.put("contract_type", contractTypeName); break; case "organizationId": String organizationId = v.stream().filter(item -> item.getOrganizationId()==Long.parseLong(value.toString())).findAny().map(BillingStatement::getOrganizationName).orElse(null); diff --git a/mhd_bms/src/main/java/com/mhd/bms/infrastructure/feign/vo/ContractManagePO.java b/mhd_bms/src/main/java/com/mhd/bms/infrastructure/feign/vo/ContractManagePO.java index 7015777c7..3773436d7 100644 --- a/mhd_bms/src/main/java/com/mhd/bms/infrastructure/feign/vo/ContractManagePO.java +++ b/mhd_bms/src/main/java/com/mhd/bms/infrastructure/feign/vo/ContractManagePO.java @@ -54,8 +54,8 @@ public class ContractManagePO extends BaseVOEntity{ @Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否") private Integer commonContractFlag; - @ApiModelProperty("合同类型(1-仓储,2-运输)") - @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输") + @ApiModelProperty("合同类型(1-仓储,2-运输,3-其他)") + @Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输,3=-其他") private Integer contractType; @ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)") From e410a095f0b91abb8046bb5ee2c1be2bfbb2c9d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Fri, 12 Jun 2026 14:07:03 +0800 Subject: [PATCH 09/19] =?UTF-8?q?=E9=80=80=E8=B4=A7=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=8A=A5=E9=94=99;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReservationDeliveryDetailsLinkMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mhd_oms/src/main/resources/mapper/reservationDeliveryDetailsLink/ReservationDeliveryDetailsLinkMapper.xml b/mhd_oms/src/main/resources/mapper/reservationDeliveryDetailsLink/ReservationDeliveryDetailsLinkMapper.xml index 8062fbe24..e5577aa5d 100644 --- a/mhd_oms/src/main/resources/mapper/reservationDeliveryDetailsLink/ReservationDeliveryDetailsLinkMapper.xml +++ b/mhd_oms/src/main/resources/mapper/reservationDeliveryDetailsLink/ReservationDeliveryDetailsLinkMapper.xml @@ -61,6 +61,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - update NGWL_TEST_WMS.DELIVERY_DETAILS_LINK set RETURN_ORDER_NUMBER = #{returnOrderNumber} where ORDER_NUMBER = #{ordernumber} + update NGWL_TEST_WMS.DELIVERY_DETAILS_LINK set RETURN_ORDER_NUMBER = #{returnOrderNumber} where ORDER_NUMBER = #{orderNumber} \ No newline at end of file From 494c2e3361386a8f596d3efa254247c64e72b603 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=BE=89?= <2830717623@qq.com> Date: Fri, 12 Jun 2026 17:50:51 +0800 Subject: [PATCH 10/19] =?UTF-8?q?=E9=80=80=E8=B4=A7=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E5=8D=95=E4=B8=8A=E4=BC=A0=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E4=B8=8E=E7=8A=B6=E6=80=81=EF=BC=8C=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E5=8D=95=E9=80=80=E8=B4=A7=E5=9B=BE=E7=89=87=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=EF=BC=8C=E6=89=A7=E8=A1=8C=E5=8D=95=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8F=91=E7=A5=A8=E7=BC=96=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/mapper/ExecuteOrderMapper.java | 2 ++ .../ReservationStockOutOrderDomainService.java | 14 ++++++++++++++ .../dto/executeOrder/ExecuteOrderDTO.java | 3 +++ .../mapper/executeOrder/ExecuteOrderMapper.xml | 16 +++++++++++++++- 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/mapper/ExecuteOrderMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/mapper/ExecuteOrderMapper.java index c86b88558..e452637b6 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/mapper/ExecuteOrderMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executeOrder/repository/mapper/ExecuteOrderMapper.java @@ -20,4 +20,6 @@ public interface ExecuteOrderMapper extends BaseMapper public List queryList(ExecuteOrderDO executeOrderDO); String getOrgNameByOrgId(@Param("organizationId") Long organizationId); + + void updateTmsOrderImage(@Param("executeOrderNumber") String executeOrderNumber,@Param("pictureUrl") String pictureUrl); } diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java index c4fe134fa..c3dbb8e2f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockOutOrder/service/ReservationStockOutOrderDomainService.java @@ -18,6 +18,8 @@ import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.facade.IBusines import com.mhd.oms.domain.businessDeliveryDetailsLink.repository.mapper.BusinessDeliveryDetailsLinkMapper; import com.mhd.oms.domain.businessDocumentOrder.entity.BusinessDocumentOrder; import com.mhd.oms.domain.businessDocumentOrder.repository.mapper.BusinessDocumentOrderMapper; +import com.mhd.oms.domain.executeOrder.entity.ExecuteOrder; +import com.mhd.oms.domain.executeOrder.repository.mapper.ExecuteOrderMapper; import com.mhd.oms.domain.reservationDeliveryDetailsLink.entity.ReservationDeliveryDetailsLink; import com.mhd.oms.domain.reservationDeliveryDetailsLink.repository.facade.IReservationDeliveryDetailsLinkService; import com.mhd.oms.domain.reservationInMaterialDetail.entity.ReservationInMaterialDetail; @@ -76,6 +78,9 @@ public class ReservationStockOutOrderDomainService { private ReservationStockInOrderMapper reservationStockInOrderMapper; @Autowired private BusinessDocumentOrderMapper businessDocumentOrderMapper; + @Autowired + private ExecuteOrderMapper executeOrderMapper; + @Resource private SystemServiceFeign systemServiceFeign; @Resource @@ -844,6 +849,15 @@ public class ReservationStockOutOrderDomainService { BusinessDocumentOrder businessDocumentOrder = businessDocumentOrderMapper.selectOne(new LambdaQueryWrapper().eq(BusinessDocumentOrder::getId, subOrderId)); businessDocumentOrder.setOrderStatus(3L); businessDocumentOrderMapper.updateById(businessDocumentOrder); + String executeOrderNumber = businessDocumentOrder.getExecuteOrderNumber(); + if (executeOrderNumber != null){ + ExecuteOrder executeOrder = executeOrderMapper.selectOne(new LambdaQueryWrapper().eq(ExecuteOrder::getGoodsNumber, executeOrderNumber)); + executeOrder.setInvoiceStatus(1); + executeOrder.setInvoiceDate(new Date()); + executeOrderMapper.updateById(executeOrder); +// pictureUrl="123"; + executeOrderMapper.updateTmsOrderImage(executeOrderNumber,pictureUrl); + } } } } diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java index f3d86b6a6..c72039fa0 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/dto/executeOrder/ExecuteOrderDTO.java @@ -156,4 +156,7 @@ public class ExecuteOrderDTO extends BaseVOEntity{ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date invoiceEndTime; + @ApiModelProperty("发票编号") + private String invoiceNumber; + } diff --git a/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml b/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml index 44603eeb8..9273788aa 100644 --- a/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml +++ b/mhd_oms/src/main/resources/mapper/executeOrder/ExecuteOrderMapper.xml @@ -43,7 +43,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and eo.CREATE_TIME >= #{createStartTime} - and eo.INVOICE_Status = #{invoiceStatus} + and eo.INVOICE_STATUS = #{invoiceStatus} + + + and eo.INVOICE_NUMBER like concat('%', #{invoiceNumber}, '%') and eo.CREATE_TIME <= #{createEndTime} + 1 - 1/86400 @@ -104,6 +107,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + UPDATE NGWL_TEST_WLHY.TMS_TRANSPORT_NOTE + SET UNLOAD_IMAGE = #{pictureUrl}, + UNLOAD_TIME = NOW(), + RECEIPT_TIME = NOW() + WHERE TRANSPORTATION_NUMBER IN ( + SELECT GOODS_NUMBER + FROM NGWL_TEST_WLHY.TMS_ORDER + WHERE EXECUTE_ORDER_NUMBER = #{executeOrderNumber} + ) +