diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiContrastController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiContrastController.java index c40c15f1..fcebfa38 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiContrastController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/UdiContrastController.java @@ -64,7 +64,7 @@ public class UdiContrastController { //关联添加 if (StrUtil.isEmpty(combineRequest.getRelId()) || combineRequest.isIdSpliUdi()) { if (StrUtil.isNotEmpty(combineRequest.getThirdId())) { - if (udiContrastService.isExit(key, combineRequest.getThirdId())) { + if (udiContrastService.isExit(key, combineRequest.getThirdId(), null)) { return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); } else { createUnionContrast(combineRequest, key); @@ -73,7 +73,7 @@ public class UdiContrastController { } } else { //只添加DI - if (udiContrastService.isExit(key, null)) { + if (udiContrastService.isExit(key, null, null)) { return ResultVOUtils.error(500, "已存在该DI,且未对照!"); } else { createOnlyUuid(combineRequest, key); @@ -81,7 +81,7 @@ public class UdiContrastController { } } else {//修改关联DI UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(combineRequest.getRelId()); - if (udiContrastService.isExit(key, udiRelevanceEntity.getMainId())) { + if (udiContrastService.isExit(key, udiRelevanceEntity.getMainId(), null)) { return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); } else { updateDi(udiRelevanceEntity, key); @@ -93,7 +93,7 @@ public class UdiContrastController { StringBuffer buffer = new StringBuffer(); //只添加产品 for (String thirdId : combineRequest.getThirdIds()) { - if (udiContrastService.isExit(null, thirdId)) { + if (udiContrastService.isExit(null, thirdId, null)) { buffer.append(thirdId).append(","); } else { createOnlyMainId(combineRequest, thirdId); @@ -112,7 +112,7 @@ public class UdiContrastController { @PostMapping("/udi/udirel/changeVersion") public BaseResponse changeVersion(@RequestBody CombineRequest combineRequest) { UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(combineRequest.getRelId()); - if (udiContrastService.isExit(combineRequest.getKeys().get(0), udiRelevanceEntity.getMainId())) { + if (udiContrastService.isExit(combineRequest.getKeys().get(0), udiRelevanceEntity.getMainId(), null)) { return ResultVOUtils.error(500, "已存在相同的对照关系,无法切换版本"); } List udiInfoEntities = udiDlHttpClient.getUdiByUuid(combineRequest.getKeys().get(0)); @@ -146,7 +146,7 @@ public class UdiContrastController { udiRelevanceEntity.setSupName(combineRequest.getSupName()); udiRelevanceEntity.setPrice(combineRequest.getPrice()); UdiRelevanceEntity temp = udiContrastService.findById(udiRelevanceEntity.getId()); - if (udiContrastService.isExit(temp.getOriginUuid(), udiRelevanceEntity.getMainId())) { + if (udiContrastService.isExit(temp.getOriginUuid(), udiRelevanceEntity.getMainId(), combineRequest.getThirdSys())) { return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!"); } else { try { @@ -179,7 +179,7 @@ public class UdiContrastController { udiRelevanceEntity.setThirdId(""); udiRelevanceEntity.setThirdName(""); UdiRelevanceEntity temp = udiContrastService.findById(udiRelevanceEntity.getId()); - if (udiContrastService.isExit(temp.getOriginUuid(), null)) { + if (udiContrastService.isExit(temp.getOriginUuid(), null, null)) { return ResultVOUtils.error(500, "解除绑定失败!"); } } else if (removeRelRequest.getThirdSys().equals("thirdId1")) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java index 5d28d9d7..e16042d8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/business/StockOrderFilterRequest.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.req.business; +import com.fasterxml.jackson.annotation.JsonFormat; import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; @@ -41,4 +42,10 @@ public class StockOrderFilterRequest extends ListPageRequest { private String orderId; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String startDate; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private String endDate; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiContrastService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiContrastService.java index 0a080504..5d6345db 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiContrastService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/UdiContrastService.java @@ -17,9 +17,9 @@ public class UdiContrastService { UdiRelevanceDao udiRelevanceDao; - public boolean isExit(String originUuid, String mainId) { + public boolean isExit(String originUuid, String mainId, String thirdSys) { - if (StrUtil.isNotEmpty(originUuid) && StrUtil.isNotEmpty(mainId)) { + if (StrUtil.isNotEmpty(originUuid) && StrUtil.isNotEmpty(mainId) && StrUtil.isBlank(thirdSys)) { List udiRelevanceEntities = findByUnion(originUuid, mainId); if (CollUtil.isNotEmpty(udiRelevanceEntities)) { return true; @@ -45,9 +45,23 @@ public class UdiContrastService { } } return false; - } else return false; - + } else if (StrUtil.isNotBlank(originUuid) && StrUtil.isNotBlank(mainId) && StrUtil.isNotBlank(thirdSys)) { + List udiRelevanceEntities = findByUnion2(originUuid, mainId, thirdSys); + if (CollUtil.isNotEmpty(udiRelevanceEntities)) { + return true; + } else + return false; + } + return false; + } + private List findByUnion2(String originUuid, String mainId, String thirdSys) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setMainId(mainId); + filterUdiInfoRequest.setOriginUuid(originUuid); + filterUdiInfoRequest.setThirdSys(thirdSys); + List udiRelevanceEntities = udiRelevanceDao.selectByOrigiUuid(filterUdiInfoRequest); + return udiRelevanceEntities; } public List findByUnion(String originUuid, String mainId) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java index 5cee70e0..7c306515 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java @@ -2,6 +2,7 @@ package com.glxp.api.admin.service.business.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DatePattern; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; @@ -24,6 +25,7 @@ import com.glxp.api.admin.req.business.StockOrderUploadRequest; import com.glxp.api.admin.res.business.StockOrderDetailEntityVo; import com.glxp.api.admin.res.business.StockOrderExportResponse; import com.glxp.api.admin.service.business.StockOrderService; +import com.glxp.api.admin.util.DateUtil; import com.glxp.api.admin.util.HttpOkClient; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -112,6 +114,18 @@ public class StockOrderServiceImpl implements StockOrderService { } int offset = (stockOrderFilterRequest.getPage() - 1) * stockOrderFilterRequest.getLimit(); PageHelper.offsetPage(offset, stockOrderFilterRequest.getLimit()); + try { + if (StrUtil.isNotBlank(stockOrderFilterRequest.getStartDate())) { + String startDate = DateUtil.formatDate(DateUtil.parseDate(stockOrderFilterRequest.getStartDate(), DatePattern.UTC_MS_PATTERN), DatePattern.NORM_DATETIME_PATTERN); + stockOrderFilterRequest.setStartDate(startDate); + } + if (StrUtil.isNotBlank(stockOrderFilterRequest.getEndDate())) { + String endDate = DateUtil.formatDate(DateUtil.parseDate(stockOrderFilterRequest.getEndDate(), DatePattern.UTC_MS_PATTERN), DatePattern.NORM_DATETIME_PATTERN); + stockOrderFilterRequest.setEndDate(endDate); + } + } catch (Exception e) { + log.error("格式化单据查询日期参数异常", e); + } return stockOrderDao.filterListOr(stockOrderFilterRequest); } diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 49228d88..7c625b22 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -324,6 +324,23 @@ AND basic_udirel.id = #{id} + + + AND basic_udirel.thirdId = #{mainId} + + + AND basic_udirel.thirdId1 = #{mainId} + + + AND basic_udirel.thirdId2 = #{mainId} + + + AND basic_udirel.thirdId3 = #{mainId} + + + AND basic_udirel.thirdId4 = #{mainId} + + diff --git a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml index d47e8e55..f328ab34 100644 --- a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml @@ -123,6 +123,12 @@ and billdate = #{billdate} + + and billdate >= #{startDate} + + + and billdate #{endDate} + and corpId = #{corpId}