diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/info/SyncDataSetController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/info/SyncDataSetController.java index 8a737b01..e538abd3 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/info/SyncDataSetController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/info/SyncDataSetController.java @@ -2,8 +2,10 @@ package com.glxp.api.admin.controller.info; import com.alibaba.fastjson.JSON; import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.entity.info.SyncDataBustypeEntity; import com.glxp.api.admin.entity.info.SyncDataSetEntity; import com.glxp.api.admin.res.info.SyncDataSetResponse; +import com.glxp.api.admin.service.info.SyncDataBustypeService; import com.glxp.api.admin.service.info.SyncDataSetService; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; @@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.List; @RestController public class SyncDataSetController { @@ -23,6 +26,8 @@ public class SyncDataSetController { @Resource private SyncDataSetService syncDataSetService; + @Resource + private SyncDataBustypeService syncDataBustypeService; @AuthRuleAnnotation("system/param/syncData/config") @@ -31,15 +36,16 @@ public class SyncDataSetController { return ResultVOUtils.success(syncDataSetService.selectSet()); } - @AuthRuleAnnotation("system/param/syncData/save") @PostMapping("/system/param/syncData/save") public BaseResponse save(@RequestBody @Valid SyncDataSetResponse syncDataSetResponse ) { - SyncDataSetEntity syncDataSetEntity = new SyncDataSetEntity(); BeanUtils.copyProperties(syncDataSetResponse, syncDataSetEntity); - syncDataSetEntity.setBusTypes(JSON.toJSONString(syncDataSetResponse.getBusTypes())); + List busTypes = syncDataSetResponse.getBusTypes(); + syncDataBustypeService.deleteAll(); + syncDataBustypeService.inserts(busTypes); + syncDataSetEntity.setBusTypes(null); boolean b = syncDataSetService.insert(syncDataSetEntity); if (!b) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java index 56a43fe1..4ab9ed30 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java @@ -505,7 +505,7 @@ public class WareHouseController { } if (checkSuccess) { if (code.endsWith("\u001D")) { - code = code.replace("\u001D", ""); + code = code.substring(0, code.length() - "\u001D".length()); } return ResultVOUtils.success(code); } else { @@ -860,6 +860,9 @@ public class WareHouseController { if (!StrUtil.emptyIfNull(originUdiEntity.getExpireDate()).equals(StrUtil.emptyIfNull(udiEntity.getExpireDate()))) { continue; } + if (!StrUtil.emptyIfNull(originUdiEntity.getSerialNo()).equals(StrUtil.emptyIfNull(udiEntity.getSerialNo()))) { + continue; + } return drugCodeSelectEntity; } return null; diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/info/SyncDataBustypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/info/SyncDataBustypeDao.java new file mode 100644 index 00000000..8e37c990 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/info/SyncDataBustypeDao.java @@ -0,0 +1,18 @@ +package com.glxp.api.admin.dao.info; + +import com.glxp.api.admin.entity.info.SyncDataBustypeEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface SyncDataBustypeDao { + + List findAll(); + + boolean deleteAll(); + + void inserts(@Param("syncDataBustypeEntities") List syncDataBustypeEntities); + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/info/SyncDataBustypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/info/SyncDataBustypeEntity.java new file mode 100644 index 00000000..bd32a4f4 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/info/SyncDataBustypeEntity.java @@ -0,0 +1,14 @@ +package com.glxp.api.admin.entity.info; + +import lombok.Data; + +@Data +public class SyncDataBustypeEntity { + + + private Integer id; + private String action; + private String name; + private boolean outChange; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java index 67964122..e25481af 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java @@ -55,4 +55,6 @@ public class OrderEntity { //复制单号,多个单号之间使用英文逗号,分隔 private String replicateNo; + private boolean syncOutChange; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/info/SyncDataSetResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/info/SyncDataSetResponse.java index 5db6223c..2c6a146b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/info/SyncDataSetResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/info/SyncDataSetResponse.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.res.info; +import com.glxp.api.admin.entity.info.SyncDataBustypeEntity; import lombok.Data; import java.util.List; @@ -22,17 +23,17 @@ public class SyncDataSetResponse { private boolean orderScanFinish; private boolean orderUnReceive; private boolean orderUnCheck; - private List busTypes; private Integer syncTime; private String syncIp; private Integer syncDownloadTime; //定时下载时间 private boolean sysUser; + private List busTypes; - private Integer orderSyncTime; - private Integer orderSyncDlTime; private String orderSyncStart; private String basicSyncStart; private boolean entrustAction; + private Integer orderSyncTime; + private Integer orderSyncDlTime; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/info/SyncDataBustypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/info/SyncDataBustypeService.java new file mode 100644 index 00000000..18e1fb76 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/info/SyncDataBustypeService.java @@ -0,0 +1,16 @@ +package com.glxp.api.admin.service.info; + +import com.glxp.api.admin.entity.info.SyncDataBustypeEntity; + +import java.util.List; + +public interface SyncDataBustypeService { + + + List findAll(); + + boolean deleteAll(); + + void inserts(List syncDataBustypeEntities); + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SyncDataBustypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SyncDataBustypeServiceImpl.java new file mode 100644 index 00000000..b0cf971a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SyncDataBustypeServiceImpl.java @@ -0,0 +1,31 @@ +package com.glxp.api.admin.service.info.impl; + +import com.glxp.api.admin.dao.info.SyncDataBustypeDao; +import com.glxp.api.admin.entity.info.SyncDataBustypeEntity; +import com.glxp.api.admin.service.info.SyncDataBustypeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class SyncDataBustypeServiceImpl implements SyncDataBustypeService { + + @Resource + SyncDataBustypeDao syncDataBustypeDao; + + @Override + public List findAll() { + return syncDataBustypeDao.findAll(); + } + + @Override + public boolean deleteAll() { + return syncDataBustypeDao.deleteAll(); + } + + @Override + public void inserts(List syncDataBustypeEntities) { + syncDataBustypeDao.inserts(syncDataBustypeEntities); + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SyncDataSetServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SyncDataSetServiceImpl.java index fb62fc71..4c04b1b2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SyncDataSetServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/info/impl/SyncDataSetServiceImpl.java @@ -2,8 +2,10 @@ package com.glxp.api.admin.service.info.impl; import com.alibaba.fastjson.JSON; import com.glxp.api.admin.dao.info.SyncDataSetDao; +import com.glxp.api.admin.entity.info.SyncDataBustypeEntity; import com.glxp.api.admin.entity.info.SyncDataSetEntity; import com.glxp.api.admin.res.info.SyncDataSetResponse; +import com.glxp.api.admin.service.info.SyncDataBustypeService; import com.glxp.api.admin.service.info.SyncDataSetService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -16,6 +18,8 @@ public class SyncDataSetServiceImpl implements SyncDataSetService { @Resource SyncDataSetDao syncDataSetDao; + @Resource + SyncDataBustypeService syncDataBustypeService; @Override public SyncDataSetEntity findSet() { @@ -25,14 +29,11 @@ public class SyncDataSetServiceImpl implements SyncDataSetService { @Override public SyncDataSetResponse selectSet() { - SyncDataSetEntity syncDataSetEntity = syncDataSetDao.selectSet(); SyncDataSetResponse syncDataSetResponse = new SyncDataSetResponse(); BeanUtils.copyProperties(syncDataSetEntity, syncDataSetResponse); - List busTypes = JSON.parseArray(syncDataSetEntity.getBusTypes(), String.class); - syncDataSetResponse.setBusTypes(busTypes); - - + List syncDataBustypeEntities = syncDataBustypeService.findAll(); + syncDataSetResponse.setBusTypes(syncDataBustypeEntities); return syncDataSetResponse; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductDetailServiceImpl.java index 064ef6b6..f316fcaf 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductDetailServiceImpl.java @@ -107,7 +107,7 @@ public class InvPreInProductDetailServiceImpl implements InvPreInProductDetailSe List datas = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); if (CollUtil.isEmpty(datas)) { filterInvProductDetailRequest.setOriginCode(null); - UdiEntity udiEntity = FilterUdiUtils.getGS1Udi(code); + UdiEntity udiEntity = FilterUdiUtils.getUdi(code); if (StrUtil.isNotEmpty(udiEntity.getBatchNo())) filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo()); else diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductDetailServiceImpl.java index 34799c96..32a35a04 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductDetailServiceImpl.java @@ -103,7 +103,7 @@ public class InvPreProductDetailServiceImpl implements InvPreProductDetailServic List datas = invPreProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); if (CollUtil.isEmpty(datas)) { filterInvProductDetailRequest.setOriginCode(null); - UdiEntity udiEntity = FilterUdiUtils.getGS1Udi(code); + UdiEntity udiEntity = FilterUdiUtils.getUdi(code); if (StrUtil.isNotEmpty(udiEntity.getBatchNo())) filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo()); else diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java index 41bbe076..72005a28 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductDetailServiceImpl.java @@ -111,7 +111,7 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { List datas = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); if (CollUtil.isEmpty(datas)) { filterInvProductDetailRequest.setOriginCode(null); - UdiEntity udiEntity = FilterUdiUtils.getGS1Udi(code); + UdiEntity udiEntity = FilterUdiUtils.getUdi(code); if (StrUtil.isNotEmpty(udiEntity.getBatchNo())) filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo()); else diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java index 82a619de..4de94d7c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java @@ -445,7 +445,7 @@ public class IoTransInoutService { public String checkOriginCode(WarehouseEntity warehouseEntity, BussinessTypeEntity bussinessTypeEntity) { - UdiEntity udiEntity = FilterUdiUtils.getGS1Udi(warehouseEntity.getCode()); + UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); //校验条码的完整性 String errMsg = ""; UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/UpBasicService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/UpBasicService.java index 4c031742..e044c718 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/UpBasicService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/UpBasicService.java @@ -7,6 +7,7 @@ import com.glxp.api.admin.dao.basic.UdiInfoDao; import com.glxp.api.admin.dao.info.SyncDataSetDao; import com.glxp.api.admin.entity.auth.AuthAdmin; import com.glxp.api.admin.entity.basic.*; +import com.glxp.api.admin.entity.info.SyncDataBustypeEntity; import com.glxp.api.admin.entity.info.SyncDataSetEntity; import com.glxp.api.admin.entity.inout.*; import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; @@ -293,13 +294,23 @@ public class UpBasicService { if (syncDataSetEntity.isOrderUnReceive()) { OrderQueryRequest orderFilterRequest = new OrderQueryRequest(); BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); - orderFilterRequest.setFilterActions(syncDataSetEntity.getBusTypes()); - if (CollUtil.isNotEmpty(orderFilterRequest.getFilterActions())) { - orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); - orderFilterRequest.setReceiveStatus(ConstantStatus.RECEIVE_UN); - List temps = orderService.findAllByTime(orderFilterRequest); - if (CollUtil.isNotEmpty(temps)) { - orderEntities.addAll(temps); + + if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) { + for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) { + List filterList = new ArrayList<>(); + filterList.add(syncDataBustypeEntity.getAction()); + orderFilterRequest.setFilterActions(filterList); + orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderFilterRequest.setReceiveStatus(ConstantStatus.RECEIVE_UN); + List temps = orderService.findAllByTime(orderFilterRequest); + if (CollUtil.isNotEmpty(temps)) { + for (OrderEntity orderEntity : temps) { + if (orderEntity.getFromType() != ConstantStatus.FROM_UDISP) { + orderEntity.setSyncOutChange(syncDataBustypeEntity.isOutChange()); + orderEntities.add(orderEntity); + } + } + } } } @@ -308,12 +319,23 @@ public class UpBasicService { if (syncDataSetEntity.isOrderUnCheck()) { OrderQueryRequest orderFilterRequest = new OrderQueryRequest(); BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); - orderFilterRequest.setFilterActions(syncDataSetEntity.getBusTypes()); - if (CollUtil.isNotEmpty(orderFilterRequest.getFilterActions())) { - orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK); - List temps = orderService.findAllByTime(orderFilterRequest); - if (CollUtil.isNotEmpty(temps)) { - orderEntities.addAll(temps); + + if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) { + for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) { + List filterList = new ArrayList<>(); + filterList.add(syncDataBustypeEntity.getAction()); + orderFilterRequest.setFilterActions(filterList); + orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_CHECK); + List temps = orderService.findAllByTime(orderFilterRequest); + if (CollUtil.isNotEmpty(temps)) { + for (OrderEntity orderEntity : temps) { + if (orderEntity.getFromType() != ConstantStatus.FROM_UDISP) { + orderEntity.setSyncOutChange(syncDataBustypeEntity.isOutChange()); + orderEntities.add(orderEntity); + } + + } + } } } @@ -322,15 +344,21 @@ public class UpBasicService { if (syncDataSetEntity.isOrderScanFinish()) { OrderQueryRequest orderFilterRequest = new OrderQueryRequest(); BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); - orderFilterRequest.setFilterActions(syncDataSetEntity.getBusTypes()); - if (CollUtil.isNotEmpty(orderFilterRequest.getFilterActions())) { - orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); - orderFilterRequest.setReceiveStatus(ConstantStatus.RECEIVE_ED); - List temps = orderService.findAllByTime(orderFilterRequest); - if (CollUtil.isNotEmpty(temps)) { - for (OrderEntity orderEntity : temps) { - if (orderEntity.getFromType() != ConstantStatus.FROM_UDISP) { - orderEntities.add(orderEntity); + + if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) { + for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) { + List filterList = new ArrayList<>(); + filterList.add(syncDataBustypeEntity.getAction()); + orderFilterRequest.setFilterActions(filterList); + orderFilterRequest.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderFilterRequest.setReceiveStatus(ConstantStatus.RECEIVE_ED); + List temps = orderService.findAllByTime(orderFilterRequest); + if (CollUtil.isNotEmpty(temps)) { + for (OrderEntity orderEntity : temps) { + if (orderEntity.getFromType() != ConstantStatus.FROM_UDISP) { + orderEntity.setSyncOutChange(syncDataBustypeEntity.isOutChange()); + orderEntities.add(orderEntity); + } } } } diff --git a/api-admin/src/main/resources/mybatis/mapper/info/SyncDataBustypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/info/SyncDataBustypeDao.xml new file mode 100644 index 00000000..756df4bb --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/info/SyncDataBustypeDao.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + DELETE + FROM sync_data_bustypes + + + + insert INTO sync_data_bustypes + ( `action`, `name`, outChange) + values + + + ( + #{item.action}, #{item.name}, + #{item.outChange}) + + + + + \ No newline at end of file