diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 26a124235..2550dfc79 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -194,6 +194,21 @@ public class IoCodeTempController extends BaseController { response.setData(collectOrder); return response; } else { + BaseResponse baseResponse2 = collectOrderService.importSpmsUdi(collectOrderRequest); + if (ResultEnum.SUCCESS.getCode() == baseResponse2.getCode()) { + collectOrder = collectOrderService.unionSearch(null, null, code); + //=============================================// + if (collectOrder != null) { + collectOrder.setWorkPlaceCode(addEnterCodeRequest.getWorkPlaceCode()); + collectOrder.setBusType(addEnterCodeRequest.getBusType()); + IoCollectOrder ioCollectOrder = new IoCollectOrder(); + BeanUtils.copyProperties(collectOrder, ioCollectOrder); + collectOrderService.updateById(ioCollectOrder); + BaseResponse response = ResultVOUtils.error(601, code); + response.setData(collectOrder); + return response; + } + } BaseResponse response = ResultVOUtils.error(501, baseResponse.getMessage()); response.setData(code); return response; diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index a66c11c40..01063a24c 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -22,6 +22,7 @@ import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantType; import com.glxp.api.dao.collect.IoCollectOrderMapper; import com.glxp.api.dao.inout.IoCodeTempDao; +import com.glxp.api.entity.auth.DeptEntity; import com.glxp.api.entity.auth.SysWorkplace; import com.glxp.api.entity.basic.*; import com.glxp.api.entity.collect.*; @@ -41,22 +42,24 @@ import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.req.collect.PostCollectOrderRequest; -import com.glxp.api.req.inout.DeleteTageCodeRequest; -import com.glxp.api.req.inout.FilterOrderRequest; -import com.glxp.api.req.inout.PostOrderRequest; +import com.glxp.api.req.inout.*; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.BasicSkPrescribeResponse; import com.glxp.api.res.basic.SysWorkplaceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; +import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inout.IoStatOrderResponse; +import com.glxp.api.res.sync.SpsSyncOrderResponse; import com.glxp.api.res.thrsys.ThrInvProductResponse; +import com.glxp.api.service.auth.DeptService; import com.glxp.api.service.auth.SysWorkplaceService; import com.glxp.api.service.basic.*; import com.glxp.api.service.inout.*; import com.glxp.api.service.inout.impl.IoCodeService; +import com.glxp.api.service.sync.HeartService; import com.glxp.api.service.thrsys.SysWorkplacePutRelService; import com.glxp.api.util.*; import com.glxp.api.util.udi.FilterUdiUtils; @@ -361,6 +364,53 @@ public class IoCollectOrderService extends ServiceImpl baseResponse = spGetHttp.getReviewOrder(reviewSpmsRequest, 1 + ""); + if (baseResponse.getCode() == 20000) { + SpsSyncOrderResponse spsSyncOrderResponse = baseResponse.getData(); + List orderEntities = spsSyncOrderResponse.getOrderEntities(); + if (CollUtil.isNotEmpty(orderEntities)) { + IoOrderEntity orderEntity; + orderEntity = orderEntities.get(0); + orderEntity.setUpdateTime(null); + orderEntity.setFromType(ConstantStatus.FROM_UDISP); + orderEntity.setReviewSp(true); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + IoOrderEntity temp = orderService.findByBillNo(orderEntity.getBillNo()); + if (temp == null) { + orderEntity.setId(null); + orderService.insertOrder(orderEntity); + heartService.insetOrderDb(spsSyncOrderResponse, orderEntity); + orderEntity = orderService.findByBillNo(orderEntity.getBillNo()); + addInoutService.dealProcess(orderEntity); + orderEntity = orderService.findByBillNo(orderEntity.getBillNo()); + if (orderEntity.getStatus() != ConstantStatus.ORDER_STATS_ERROR && !ioCheckInoutService.checkManual(orderEntity.getBillNo())) { + ioCheckInoutService.check(orderEntity.getBillNo()); + } + } + orderEntity = orderService.findByBillNo(orderEntity.getBillNo()); + if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW) { + return ResultVOUtils.error(500, "非待审核单据!"); + } + } + this.importUdi(collectOrderRequest); + } + return baseResponse; + + } + + public BaseResponse> selectImportUdi(FilterOrderRequest filterOrderRequest) { List ioCollectOrders = new ArrayList<>(); diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java index 337c51113..459f6dd82 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOriginService.java @@ -19,6 +19,7 @@ import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoCollectOrderBiz; import com.glxp.api.entity.collect.IoCollectOrderBizOrigin; import com.glxp.api.entity.collect.IoCollectOrderOrigin; +import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.exception.JsonException; import com.glxp.api.http.ErpBasicClient; import com.glxp.api.req.basic.GetSickPrescribeRequest;