From e499c9db45b7037e81ef1de9dc38a9cf92e76f3f Mon Sep 17 00:00:00 2001 From: anthonywj Date: Fri, 14 Apr 2023 14:16:17 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8C=E5=8D=95=E6=8D=AE=E6=92=A4=E5=9B=9E=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sync/SpsSyncDownloadController.java | 7 ++- .../api/idc/service/impl/IdcServiceImpl.java | 54 +++++++++---------- .../inout/impl/IoOrderServiceImpl.java | 2 +- 3 files changed, 34 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java b/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java index 46e7df52..2ac133ff 100644 --- a/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java +++ b/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java @@ -244,7 +244,6 @@ public class SpsSyncDownloadController { orderEntity.setId(null); purOrderService.insert(orderEntity); if (CollUtil.isNotEmpty(spsSyncBusOrderResponse.getPurOrderDetailEntities())) { - List purOrderDetailEntities = spsSyncBusOrderResponse.getPurOrderDetailEntities(); for (PurOrderDetailEntity purOrderDetailEntity : purOrderDetailEntities) { PurOrderDetailEntity codeTempEntity = new PurOrderDetailEntity(); @@ -278,5 +277,11 @@ public class SpsSyncDownloadController { } + //接收中继服务、UDI管理系统上传单据类型 + + + //接收中继服务、UDI管理系统上传基础信息 + + } diff --git a/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java b/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java index 64cd7231..81a9e73c 100644 --- a/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java +++ b/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java @@ -203,7 +203,7 @@ public class IdcServiceImpl implements IdcService { } } - + private void fetchFailFile(String host) { Map map = new HashMap(); map.put("sql", "select * from idc_file where createTime whereParams = new HashMap(); whereParams.put("sqlWhere", params.get("sqlWhere")); - + String dataWhere = params.get("dataWhere")!=null ? params.get("dataWhere").toString() : ""; Map map = new HashMap(); String where = DBAUtils.convertWhere(column, whereParams, dataWhere); @@ -811,7 +811,7 @@ public class IdcServiceImpl implements IdcService { private boolean analyToDB(String host, String tableName, String uniqueColumn, String filePathColumn, List> list, boolean isUpload) { - + String tName = DBAUtils.tableRealName(tableName); String sql = "replace " + tName + "("; String del = "delete from " + tName + " where "; @@ -1034,27 +1034,27 @@ public class IdcServiceImpl implements IdcService { int total = 0; if (result!=null&&result.isSuccessful()&&MediaType.parse("application/force-download").equals(result.body().contentType())) { try (InputStream inputStream = result.body().byteStream()) { - - - - FileOutputStream outputStream = new FileOutputStream(filePath + filePathSlash + imagePath+fileName); - - byte b[] = new byte[1024]; - - int len = 0; - while ((len = inputStream.read(b)) != -1) { - total += len; - outputStream.write(b, 0, len); - - } - - outputStream.flush(); - outputStream.close(); - if(!(total>0)) { - new File(filePath + filePathSlash + imagePath+fileName).delete(); - executeSql("delete from idc_file where filePath='"+fileName+"'"); - } - + + + + FileOutputStream outputStream = new FileOutputStream(filePath + filePathSlash + imagePath+fileName); + + byte b[] = new byte[1024]; + + int len = 0; + while ((len = inputStream.read(b)) != -1) { + total += len; + outputStream.write(b, 0, len); + + } + + outputStream.flush(); + outputStream.close(); + if(!(total>0)) { + new File(filePath + filePathSlash + imagePath+fileName).delete(); + executeSql("delete from idc_file where filePath='"+fileName+"'"); + } + } catch (Exception e) { @@ -1252,7 +1252,7 @@ public class IdcServiceImpl implements IdcService { } - + private void executeSql(String sql) { try { jdbcTemplate.execute(sql); @@ -1262,5 +1262,5 @@ public class IdcServiceImpl implements IdcService { } } - -} \ No newline at end of file + +} diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java index 939f764b..b78f8d0c 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java @@ -412,7 +412,7 @@ public class IoOrderServiceImpl implements IoOrderService { orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_SUCCESS); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW); orderEntity.setUpdateTime(new Date()); update(orderEntity); return true; From d5153119f10302ce5b8b7d8453ce4d0d53a24fcc Mon Sep 17 00:00:00 2001 From: anthonywj Date: Fri, 14 Apr 2023 15:06:43 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=89=AB=E7=A0=81=E7=A9=BA=E5=8D=95?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/auth/DeptController.java | 32 +++++++++---------- .../inout/IoCodeTempController.java | 8 +++++ .../inout/IoOrderDetailBizController.java | 17 ++++++++-- 3 files changed, 39 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/auth/DeptController.java b/src/main/java/com/glxp/api/controller/auth/DeptController.java index bc3185f1..7adbd3a8 100644 --- a/src/main/java/com/glxp/api/controller/auth/DeptController.java +++ b/src/main/java/com/glxp/api/controller/auth/DeptController.java @@ -250,12 +250,12 @@ public class DeptController extends BaseController { } //判断状态 - String msg=isCheckStatus(deptEntity.getStatus(),deptEntity); - if(msg!=""){ - return ResultVOUtils.error(999,msg); + String msg = isCheckStatus(deptEntity.getStatus(), deptEntity); + if (msg != "") { + return ResultVOUtils.error(999, msg); } //判断供应商状态 - if(deptEntity.isSpUse()==false){ + if (deptEntity.isSpUse() == false) { FilterDeptUserReqeust filterDeptUserReqeust = new FilterDeptUserReqeust(); filterDeptUserReqeust.setDeptId(deptEntity.getId().longValue()); List deptUserEntities = deptUserService.selectDeptUser(filterDeptUserReqeust); @@ -295,8 +295,8 @@ public class DeptController extends BaseController { } DeptEntity deptEntity = deptService.selectById(deleteRequest.getId()); - if(deptEntity.getLevel()!=null && deptEntity.getLevel() == 1){ - return ResultVOUtils.error(500,"删除失败,一级部门不允许删除!"); + if (deptEntity.getLevel() != null && deptEntity.getLevel() == 1) { + return ResultVOUtils.error(500, "删除失败,一级部门不允许删除!"); } List invSubWarehouseEntities = invWarehouseService.findByParentId(deptEntity.getCode()); @@ -310,7 +310,7 @@ public class DeptController extends BaseController { return ResultVOUtils.error(500, "删除失败,请先移除该部门关联用户信息!"); } List deptEntities = deptService.selectByPcode(deptEntity.getCode()); - if(deptEntities.size()>0){ + if (deptEntities.size() > 0) { return ResultVOUtils.error(500, "删除失败,请先移除该部门下的子部门!"); } @@ -366,20 +366,20 @@ public class DeptController extends BaseController { return ResultVOUtils.success(list); } - public String isCheckStatus(Integer status,DeptEntity deptEntity){ + public String isCheckStatus(Integer status, DeptEntity deptEntity) { //启用的时候需要判断上级是不是被禁用 - if(status==1){ + if (status == 1) { //查询所有的上级 - List deptEntityList= deptService.selectupDeptAll(deptEntity.getPcode()); - for(DeptEntity obj:deptEntityList){ - if(obj.getStatus()==0){ + List deptEntityList = deptService.selectupDeptAll(deptEntity.getPcode()); + for (DeptEntity obj : deptEntityList) { + if (obj.getStatus() == 0) { return "上级存在禁用的部门修改失败!"; } } - }else{ - List deptEntityList= deptService.selectLowDeptAll(deptEntity.getCode()); - for(DeptEntity obj:deptEntityList){ - if(obj.getStatus()==1){ + } else { + List deptEntityList = deptService.selectLowDeptAll(deptEntity.getCode()); + for (DeptEntity obj : deptEntityList) { + if (obj.getStatus() == 1) { return "下级存在启用的部门修改失败!"; } } 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 89e6c82a..25a23b89 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -647,6 +647,7 @@ public class IoCodeTempController extends BaseController { boolean isBillExit = orderDetailBizService.isExit(orderEntity.getBillNo()); if (!isBillExit) { + orderService.deleteByBillNo(orderEntity.getBillNo()); return ResultVOUtils.error(500, "请先录入业务详情"); } } @@ -960,6 +961,13 @@ public class IoCodeTempController extends BaseController { } } + + boolean r1 = orderDetailBizService.isExit(orderDetailCodeEntity.getOrderIdFk()); + boolean r2 = ioOrderDetailCodeService.isExit(orderDetailCodeEntity.getOrderIdFk()); + if (!r1 && !r2) { + orderService.deleteByBillNo(orderDetailCodeEntity.getOrderIdFk()); + } + orderEntity.setUpdateUser(getUserId() + ""); orderEntity.setUpdateTime(new Date()); orderService.update(orderEntity); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java index 54f84451..6fc1b21c 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -121,7 +121,8 @@ public class IoOrderDetailBizController extends BaseController { if (addBizProductReqeust.getOrderEntity() == null) return ResultVOUtils.error(500, "未指定订单"); IoOrderEntity orderEntity = addBizProductReqeust.getOrderEntity(); - if (StrUtil.isEmpty(orderEntity.getBillNo())) { + IoOrderEntity isExit = orderService.findByBillNo(orderEntity.getBillNo()); + if (StrUtil.isEmpty(orderEntity.getBillNo()) || isExit == null) { BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode()); String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); @@ -472,7 +473,19 @@ public class IoOrderDetailBizController extends BaseController { @PostMapping("/udiwms/inout/order/delBizProduct") @Log(title = "单据管理", businessType = BusinessType.DELETE) public BaseResponse delBizProduct(@RequestBody DeleteRequest deleteRequest) { - return orderDetailBizService.deleteById(Integer.parseInt(deleteRequest.getId())) > 0 ? ResultVOUtils.success("删除成功!") : ResultVOUtils.error(500, "删除失败"); + IoOrderDetailBizEntity orderDetailBizEntity = orderDetailBizService.selectById(Integer.parseInt(deleteRequest.getId())); + int result = orderDetailBizService.deleteById(Integer.parseInt(deleteRequest.getId())); + if (result > 0) { + boolean r1 = orderDetailBizService.isExit(orderDetailBizEntity.getOrderIdFk()); + boolean r2 = orderDetailCodeService.isExit(orderDetailBizEntity.getOrderIdFk()); + if (!r1 && !r2) { + orderService.deleteByBillNo(orderDetailBizEntity.getOrderIdFk()); + } + return ResultVOUtils.success("删除成功!"); + } + return ResultVOUtils.error(500, "删除失败"); + + } From ffa453ab68051d062c076f07e47c7722385911ae Mon Sep 17 00:00:00 2001 From: anthonywj Date: Fri, 14 Apr 2023 16:21:14 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=96=B0=E5=A2=9EUDI=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=9B=B4=E6=8E=A5=E9=AA=8C=E6=94=B6=E5=A4=96?= =?UTF-8?q?=E7=BD=91=E5=8D=95=E6=8D=AE=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoOrderReviewController.java | 30 +++++++++++++++++ .../glxp/api/req/inout/ReviewSpmsRequest.java | 10 ++++++ .../glxp/api/req/sync/SpsSyncDataRequest.java | 1 + .../glxp/api/res/sync/SpsSyncBusResponse.java | 18 ++++++++++ .../api/res/sync/SpsSyncDataResponse.java | 33 +++++++++++++++++++ .../service/sync/SpsSyncDownloadService.java | 24 +++++++++----- .../mybatis/mapper/inout/IoOrderDao.xml | 5 +++ 7 files changed, 113 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/glxp/api/req/inout/ReviewSpmsRequest.java create mode 100644 src/main/java/com/glxp/api/res/sync/SpsSyncBusResponse.java create mode 100644 src/main/java/com/glxp/api/res/sync/SpsSyncDataResponse.java diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java index 819d5b1d..7a438473 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java @@ -20,14 +20,18 @@ import com.glxp.api.entity.inout.*; import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.req.inout.ReviewFinishRequest; +import com.glxp.api.req.inout.ReviewSpmsRequest; import com.glxp.api.req.inout.UpdateExportStatusRequest; +import com.glxp.api.req.sync.SpsSyncDataRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inout.AcceptOrderResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; +import com.glxp.api.res.sync.SpsSyncOrderResponse; import com.glxp.api.service.auth.AuthAdminService; import com.glxp.api.service.basic.EntrustReceService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; +import com.glxp.api.service.sync.SpsSyncDownloadService; import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.util.CustomUtil; import com.glxp.api.util.GennerOrderUtils; @@ -414,4 +418,30 @@ public class IoOrderReviewController extends BaseController { return ResultVOUtils.success("更新成功"); } + @Resource + SpsSyncDownloadService spsSyncDownloadService; + + // 前端扫单号验收 + @AuthRuleAnnotation("") + @PostMapping("/udiwms/order/reviewSpms") + public BaseResponse reviewSpms(@RequestBody ReviewSpmsRequest reviewSpmsRequest) { + + String billNo = reviewSpmsRequest.getBillNo(); + if (StrUtil.isEmpty(reviewSpmsRequest.getBillNo())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + + IoOrderEntity orderEntity = orderService.findByBillNo(reviewSpmsRequest.getBillNo()); + if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) { + return ResultVOUtils.error(500, "单据已审核!"); + } else if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW) { + return ResultVOUtils.error(500, "当前单据不处于待审核状态,无法审核!"); + } + SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest(); + spsSyncDataRequest.setBillNo(reviewSpmsRequest.getBillNo()); + return spsSyncDownloadService.findOrder(spsSyncDataRequest); + + } + + } diff --git a/src/main/java/com/glxp/api/req/inout/ReviewSpmsRequest.java b/src/main/java/com/glxp/api/req/inout/ReviewSpmsRequest.java new file mode 100644 index 00000000..da5ee232 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/ReviewSpmsRequest.java @@ -0,0 +1,10 @@ +package com.glxp.api.req.inout; + +import lombok.Data; + +@Data +public class ReviewSpmsRequest { + + private String billNo; + +} diff --git a/src/main/java/com/glxp/api/req/sync/SpsSyncDataRequest.java b/src/main/java/com/glxp/api/req/sync/SpsSyncDataRequest.java index bf4f6481..5d5399d8 100644 --- a/src/main/java/com/glxp/api/req/sync/SpsSyncDataRequest.java +++ b/src/main/java/com/glxp/api/req/sync/SpsSyncDataRequest.java @@ -6,5 +6,6 @@ import lombok.Data; @Data public class SpsSyncDataRequest extends ListPageRequest { + private String billNo; private String lastUpdateTime; } diff --git a/src/main/java/com/glxp/api/res/sync/SpsSyncBusResponse.java b/src/main/java/com/glxp/api/res/sync/SpsSyncBusResponse.java new file mode 100644 index 00000000..a1fb2d0f --- /dev/null +++ b/src/main/java/com/glxp/api/res/sync/SpsSyncBusResponse.java @@ -0,0 +1,18 @@ +package com.glxp.api.res.sync; + +import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; +import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class SpsSyncBusResponse { + + //同步任务ID + private String taskId; + private List bussinessTypeEntities; + private List busTypeChangeEntities; + private List thrBusTypeOriginEntities; +} diff --git a/src/main/java/com/glxp/api/res/sync/SpsSyncDataResponse.java b/src/main/java/com/glxp/api/res/sync/SpsSyncDataResponse.java new file mode 100644 index 00000000..2ff379cd --- /dev/null +++ b/src/main/java/com/glxp/api/res/sync/SpsSyncDataResponse.java @@ -0,0 +1,33 @@ +package com.glxp.api.res.sync; + +import com.glxp.api.entity.auth.*; +import lombok.Data; + +import java.util.List; + +@Data +public class SpsSyncDataResponse { + + //同步任务ID + private String taskId; + + //用户信息 + List authAdminList; + List invBusUserEntities; + + //部门信息 + List deptEntityList; + List deptUserEntities; + + + //仓库相关 + List invWarehouseEntities; + List warehouseBussinessTypeEntities; + List warehouseUserEntities; + + + //货位信息 + List invSpaces; + + +} diff --git a/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java b/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java index 0e3deaab..a664f7f7 100644 --- a/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java +++ b/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.sync; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BasicProcessStatus; @@ -76,19 +77,26 @@ public class SpsSyncDownloadService { public BaseResponse findOrder(SpsSyncDataRequest spsSyncDataRequest) { SpsSyncOrderResponse syncOrderResponse = new SpsSyncOrderResponse(); + //查询数据同步设置 - SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet(); List orderEntities = new ArrayList<>(); - FilterOrderRequest orderFilterRequest = new FilterOrderRequest(); - BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); - if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) { - for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) { - List temps = orderService.findByStatus(syncDataBustypeEntity.getAction(), syncDataBustypeEntity.getOrderStatus(), DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime())); - if (CollUtil.isNotEmpty(temps)) { - orderEntities.addAll(temps); + if (StrUtil.isEmpty(spsSyncDataRequest.getBillNo())) { + SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet(); + FilterOrderRequest orderFilterRequest = new FilterOrderRequest(); + BeanUtils.copyProperties(spsSyncDataRequest, orderFilterRequest); + if (CollUtil.isNotEmpty(syncDataSetEntity.getBusTypes())) { + for (SyncDataBustypeEntity syncDataBustypeEntity : syncDataSetEntity.getBusTypes()) { + List temps = orderService.findByStatus(syncDataBustypeEntity.getAction(), syncDataBustypeEntity.getOrderStatus(), DateUtil.parseDate(spsSyncDataRequest.getLastUpdateTime())); + if (CollUtil.isNotEmpty(temps)) { + orderEntities.addAll(temps); + } } } + } else { + IoOrderEntity orderEntity = orderService.findByBillNo(spsSyncDataRequest.getBillNo()); + orderEntities.add(orderEntity); } + syncOrderResponse.setOrderEntities(orderEntities); List codeEntities = new ArrayList<>(); List orderDetailBizEntities = new ArrayList<>(); diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index a487d249..ba90426c 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -156,6 +156,11 @@ AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') + + = DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') + ]]> + order by createTime desc