From 9f5c9687b1c27ac93535140295d68c3b944940e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Sun, 29 Jan 2023 11:44:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/thrsys/ThrOrderController.java | 423 +++++++++++ .../thrsys/ThrOrderExportLogController.java | 221 ++++++ .../thrsys/ThrOrderImportLogController.java | 327 +++++++++ .../com/glxp/api/dao/thrsys/ThrOrderDao.java | 30 + .../api/dao/thrsys/ThrOrderDetailDao.java | 32 + .../api/dao/thrsys/ThrOrderExportLogDao.java | 23 + .../dao/thrsys/ThrOrderImportDetailDao.java | 27 + .../api/dao/thrsys/ThrOrderImportLogDao.java | 24 + .../entity/thrsys/ThrOrderDetailEntity.java | 122 ++++ .../api/entity/thrsys/ThrOrderEntity.java | 190 +++++ .../thrsys/ThrOrderExportLogEntity.java | 89 +++ .../thrsys/ThrOrderImportDetailEntity.java | 116 +++ .../thrsys/ThrOrderImportLogEntity.java | 77 ++ .../thrsys/ThrOrderUploadBustypesEntity.java | 68 ++ .../entity/thrsys/ThrOrderUploadEntity.java | 142 ++++ .../com/glxp/api/http/ErpOrderClient.java | 146 ++++ .../api/req/thrsys/FilterOrderRequest.java | 36 + .../thrsys/FilterThrOrderDetailRequest.java | 14 + .../api/req/thrsys/FilterThrOrderRequest.java | 32 + .../req/thrsys/PostFileThrOrderRequest.java | 17 + .../api/req/thrsys/PostSmpOrderRequest.java | 11 + .../api/req/thrsys/PostThrOrderRequest.java | 30 + .../api/req/thrsys/ThrOrderExportRequest.java | 22 + .../glxp/api/req/thrsys/UploadSmpRequest.java | 166 +++++ .../api/res/thrsys/ThrErpOrderResponse.java | 78 ++ .../glxp/api/res/thrsys/ThrOrderResponse.java | 190 +++++ .../service/thrsys/ThrOrderDetailService.java | 29 + .../thrsys/ThrOrderExportLogService.java | 23 + .../thrsys/ThrOrderImportDetailService.java | 25 + .../thrsys/ThrOrderImportLogService.java | 25 + .../api/service/thrsys/ThrOrderService.java | 40 ++ .../service/thrsys/ThrOrdersDlService.java | 678 ++++++++++++++++++ .../impl/ThrOrderDetailServiceImpl.java | 67 ++ .../impl/ThrOrderExportLogServiceImpl.java | 63 ++ .../impl/ThrOrderImportDetailServiceImpl.java | 62 ++ .../impl/ThrOrderImportLogServiceImpl.java | 128 ++++ .../thrsys/impl/ThrOrderServiceImpl.java | 191 +++++ .../mybatis/mapper/thrsys/ThrOrderDao.xml | 257 +++++++ .../mapper/thrsys/ThrOrderDetailDao.xml | 134 ++++ .../mapper/thrsys/ThrOrderExportLogDao.xml | 59 ++ .../mapper/thrsys/ThrOrderImportDetailDao.xml | 99 +++ .../mapper/thrsys/ThrOrderImportLogDao.xml | 62 ++ 42 files changed, 4595 insertions(+) create mode 100644 src/main/java/com/glxp/api/controller/thrsys/ThrOrderController.java create mode 100644 src/main/java/com/glxp/api/controller/thrsys/ThrOrderExportLogController.java create mode 100644 src/main/java/com/glxp/api/controller/thrsys/ThrOrderImportLogController.java create mode 100644 src/main/java/com/glxp/api/dao/thrsys/ThrOrderDao.java create mode 100644 src/main/java/com/glxp/api/dao/thrsys/ThrOrderDetailDao.java create mode 100644 src/main/java/com/glxp/api/dao/thrsys/ThrOrderExportLogDao.java create mode 100644 src/main/java/com/glxp/api/dao/thrsys/ThrOrderImportDetailDao.java create mode 100644 src/main/java/com/glxp/api/dao/thrsys/ThrOrderImportLogDao.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrOrderDetailEntity.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrOrderEntity.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrOrderExportLogEntity.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrOrderImportDetailEntity.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrOrderImportLogEntity.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrOrderUploadBustypesEntity.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrOrderUploadEntity.java create mode 100644 src/main/java/com/glxp/api/http/ErpOrderClient.java create mode 100644 src/main/java/com/glxp/api/req/thrsys/FilterOrderRequest.java create mode 100644 src/main/java/com/glxp/api/req/thrsys/FilterThrOrderDetailRequest.java create mode 100644 src/main/java/com/glxp/api/req/thrsys/FilterThrOrderRequest.java create mode 100644 src/main/java/com/glxp/api/req/thrsys/PostFileThrOrderRequest.java create mode 100644 src/main/java/com/glxp/api/req/thrsys/PostSmpOrderRequest.java create mode 100644 src/main/java/com/glxp/api/req/thrsys/PostThrOrderRequest.java create mode 100644 src/main/java/com/glxp/api/req/thrsys/ThrOrderExportRequest.java create mode 100644 src/main/java/com/glxp/api/req/thrsys/UploadSmpRequest.java create mode 100644 src/main/java/com/glxp/api/res/thrsys/ThrErpOrderResponse.java create mode 100644 src/main/java/com/glxp/api/res/thrsys/ThrOrderResponse.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrOrderDetailService.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrOrderExportLogService.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrOrderImportDetailService.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrOrderImportLogService.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrOrderService.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrOrdersDlService.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderDetailServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderExportLogServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderImportDetailServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderImportLogServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderServiceImpl.java create mode 100644 src/main/resources/mybatis/mapper/thrsys/ThrOrderDao.xml create mode 100644 src/main/resources/mybatis/mapper/thrsys/ThrOrderDetailDao.xml create mode 100644 src/main/resources/mybatis/mapper/thrsys/ThrOrderExportLogDao.xml create mode 100644 src/main/resources/mybatis/mapper/thrsys/ThrOrderImportDetailDao.xml create mode 100644 src/main/resources/mybatis/mapper/thrsys/ThrOrderImportLogDao.xml diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrOrderController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrOrderController.java new file mode 100644 index 000000000..44f9a3d0a --- /dev/null +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrOrderController.java @@ -0,0 +1,423 @@ +package com.glxp.api.controller.thrsys; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BasicProcessStatus; +import com.glxp.api.constant.Constant; +import com.glxp.api.entity.system.SystemParamConfigEntity; +import com.glxp.api.entity.thrsys.*; +import com.glxp.api.http.HttpOkClient; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.req.thrsys.*; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.thrsys.ThrOrderResponse; +import com.glxp.api.service.system.SystemParamConfigService; +import com.glxp.api.service.thrsys.*; +import com.glxp.api.util.CustomUtil; +import com.glxp.api.util.RedisUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@RestController +public class ThrOrderController { + @Resource + private ThrOrderService thrOrderService; + @Resource + private ThrOrderDetailService thrOrderDetailService; + @Resource + private ThrOrdersDlService thrOrdersDlService; + @Resource + private ThrOrderImportLogService thrOrderImportLogService; + @Resource + private ThrOrderImportDetailService thrOrderImportDetailService; + @Resource + RedisUtil redisUtil; + @Resource + private SystemParamConfigService systemParamConfigService; + @Resource + private IThrBusTypeOriginService iThrBusTypeOriginService; + + @Resource + HttpOkClient httpOkClient; + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/thrsys/getOrders") + public BaseResponse getOrders(FilterThrOrderRequest filterThrOrderRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrOrderEntities + = thrOrderService.filterThrOrder(filterThrOrderRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrOrderEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrOrderEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/thrsys/getOrderDetails") + public BaseResponse getOrderDetails(FilterThrOrderDetailRequest filterThrOrderDetailRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrOrderDetailEntities + = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrOrderDetailEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrOrderDetailEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/thrsys/postOrderDetail") + public BaseResponse postOrderDetail(@RequestBody PostThrOrderRequest postThrOrderRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String genKey = postThrOrderRequest.getGenKey(); + if (genKey == null) { + genKey = CustomUtil.getId(); + } + ThrOrderImportLogEntity thrOrderImportLogEntity = thrOrderImportLogService.selectByGenKey(genKey); + if (thrOrderImportLogEntity == null) { + thrOrderImportLogEntity = new ThrOrderImportLogEntity(); + thrOrderImportLogEntity.setGenKey(genKey); + if (postThrOrderRequest.getUploadType() != null) { + thrOrderImportLogEntity.setFromType("文件上传"); + } else + thrOrderImportLogEntity.setFromType("第三方系统上传"); + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + thrOrderImportLogEntity.setUpdateTime(new Date()); + thrOrderImportLogEntity.setThirdSysFk(postThrOrderRequest.getThirdSys()); + thrOrderImportLogService.insertImportLog(thrOrderImportLogEntity); + } + List erpOrderResponses = postThrOrderRequest.getDatas(); + if (erpOrderResponses != null && erpOrderResponses.size() > 0) { + List thrOrderImportDetailEntities = new ArrayList<>(); + String finalGenKey = genKey; + for (ThrOrderResponse erpOrderResponse : erpOrderResponses) { + List subErpOrders = erpOrderResponse.getSubErpOrders(); + if (subErpOrders != null && subErpOrders.size() > 0) { + for (ThrOrderResponse.SubErpOrder subErpOrder : subErpOrders) { + ThrOrderImportDetailEntity thrOrderDetailEntity = new ThrOrderImportDetailEntity(); + BeanUtils.copyProperties(erpOrderResponse, thrOrderDetailEntity); + BeanUtils.copyProperties(subErpOrder, thrOrderDetailEntity); + thrOrderDetailEntity.setGenKeyFk(finalGenKey); + thrOrderDetailEntity.setThirdSysFk(postThrOrderRequest.getThirdSys()); + thrOrderDetailEntity.setUpdateTime(new Date()); + thrOrderImportDetailEntities.add(thrOrderDetailEntity); + } + + } + } + thrOrderImportDetailService.insertOrderImportDetails(thrOrderImportDetailEntities); + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + thrOrderImportLogEntity.setUpdateTime(new Date()); + thrOrderImportLogService.updateImportLog(thrOrderImportLogEntity); + thrOrderImportLogService.importThrOrder(finalGenKey); + } else { + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + thrOrderImportLogEntity.setUpdateTime(new Date()); + thrOrderImportLogService.updateImportLog(thrOrderImportLogEntity); + return ResultVOUtils.error(500, "上传数据为空"); + } + return ResultVOUtils.success("单据上传成功!"); + } + + @PostMapping("/udiwms/thrsys/postFileOrder") + public BaseResponse postFileOrder(@RequestBody PostFileThrOrderRequest postThrOrderRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String genKey = postThrOrderRequest.getGenKey(); + if (genKey == null) { + genKey = CustomUtil.getId(); + } + ThrOrderImportLogEntity thrOrderImportLogEntity = thrOrderImportLogService.selectByGenKey(genKey); + if (thrOrderImportLogEntity == null) { + thrOrderImportLogEntity = new ThrOrderImportLogEntity(); + thrOrderImportLogEntity.setGenKey(genKey); + if (postThrOrderRequest.getUploadType() != null) { + thrOrderImportLogEntity.setFromType("文件上传"); + } else + thrOrderImportLogEntity.setFromType("第三方系统上传"); + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + thrOrderImportLogEntity.setUpdateTime(new Date()); + thrOrderImportLogEntity.setThirdSysFk(postThrOrderRequest.getThirdSys()); + thrOrderImportLogService.insertImportLog(thrOrderImportLogEntity); + } + List thrOrderImportDetailEntities = postThrOrderRequest.getDatas(); + if (thrOrderImportDetailEntities != null && thrOrderImportDetailEntities.size() > 0) { + String finalGenKey = genKey; + for (ThrOrderImportDetailEntity thrOrderImportDetailEntity : thrOrderImportDetailEntities) { + thrOrderImportDetailEntity.setThirdSysFk(postThrOrderRequest.getThirdSys()); + thrOrderImportDetailEntity.setGenKeyFk(genKey); + thrOrderImportDetailEntity.setStatus(String.valueOf(BasicProcessStatus.UDIINFO_IMPORT_CODE_UNPROCESS)); + thrOrderImportDetailEntity.setUpdateTime(new Date(System.currentTimeMillis())); + } + thrOrderImportDetailService.insertOrderImportDetails(thrOrderImportDetailEntities); + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + thrOrderImportLogEntity.setUpdateTime(new Date()); + thrOrderImportLogService.updateImportLog(thrOrderImportLogEntity); + thrOrderImportLogService.importThrOrder(finalGenKey); + } else { + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + thrOrderImportLogEntity.setUpdateTime(new Date()); + thrOrderImportLogService.updateImportLog(thrOrderImportLogEntity); + return ResultVOUtils.error(500, "上传数据为空"); + } + return ResultVOUtils.success("单据上传成功!"); + } + + + @PostMapping("/udiwms/thrsys/delOrder") + public BaseResponse delOrder(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + ThrOrderEntity thrOrderEntity = thrOrderService.findById(id); + String msg = selectDelect(thrOrderEntity); + if (msg == null) { + boolean b = thrOrderService.deleteById(id); + thrOrderDetailService.deleteByOrderIdFk(thrOrderEntity.getId() + ""); + if (b) + return ResultVOUtils.success("删除成功"); + else return ResultVOUtils.error(500, "无法删除!"); + } else return ResultVOUtils.error(500, msg); + + } + + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/thrsys/delOrderDetail") + public BaseResponse delOrderDetail(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + boolean b = thrOrderDetailService.deleteById(deleteRequest.getId()); + if (b) + return ResultVOUtils.success("删除成功"); + else return ResultVOUtils.error(500, "无法删除!"); + + } + + public String selectDelect(ThrOrderEntity thrOrderEntity) { + FilterThrOrderRequest filterErpOrderRequest = new FilterThrOrderRequest(); + //todo 单据类型还没设计好 +// filterErpOrderRequest.setErpOrderId(thrOrderEntity.getBillNo()); +// List erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); +// if (erpOrderEntities != null && erpOrderEntities.size() > 0) { +// return "单据" + thrOrderEntity.getBillNo() + "已于出入库单据关联,无法删除"; +// } else { +// return null; +// } + return null; + } + + @AuthRuleAnnotation("") + @RequestMapping("/udiwms/thrsys/order/delAll") + public BaseResponse delAll() { + thrOrderService.deleteAll(); + thrOrderDetailService.deleteAll(); + return ResultVOUtils.success("删除成功"); + } + + @AuthRuleAnnotation("") + @RequestMapping("/udiwms/thrsys/orders/downloadAll") + public BaseResponse downloadAll(FilterThrOrderRequest filterThrProductsRequest) { + String data = (String) redisUtil.get(Constant.dlThrOrders); + if (false) {//(data != null && data.equals("true")) { + return ResultVOUtils.error(500, "当前任务正在下载更新业务单据信息,请稍后重试!"); + } else { + redisUtil.set(Constant.dlThrOrders, "true", 10 * 30); + if (filterThrProductsRequest.getBillAction() == null) { + return ResultVOUtils.error(500, "未选择业务类型!"); + } + + ThrOrderImportLogEntity thrOrderImportLogEntity = new ThrOrderImportLogEntity(); + String genKey = CustomUtil.getId(); + thrOrderImportLogEntity.setGenKey(genKey); + thrOrderImportLogEntity.setFromType("第三方系统获取"); + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + thrOrderImportLogEntity.setUpdateTime(new Date()); + thrOrderImportLogEntity.setThirdSysFk(filterThrProductsRequest.getThirdSysFk()); + thrOrderImportLogService.insertImportLog(thrOrderImportLogEntity); + if (filterThrProductsRequest.getErpOrderResponses() != null) {//选中导出 + thrOrdersDlService.importSelectOrders(genKey, filterThrProductsRequest.getErpOrderResponses(), filterThrProductsRequest.getThirdSysFk()); + } else { //结果导出 + thrOrdersDlService.importOrders(genKey, filterThrProductsRequest.getBillAction(), null); + } + return ResultVOUtils.success("后台开始下载更新,请稍后刷新查看"); + } + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/thrsys/orders/orderDownload") + public BaseResponse orderDownload(@RequestBody FilterThrOrderRequest filterThrProductsRequest) { + String data = (String) redisUtil.get(Constant.dlThrOrders); + if (false) {//(data != null && data.equals("true")) { + return ResultVOUtils.error(500, "当前任务正在下载更新业务单据信息,请稍后重试!"); + } else { + redisUtil.set(Constant.dlThrOrders, "true", 10 * 30); + if (filterThrProductsRequest.getBillAction() == null) { + return ResultVOUtils.error(500, "未选择业务类型!"); + } + + ThrOrderImportLogEntity thrOrderImportLogEntity = new ThrOrderImportLogEntity(); + String genKey = CustomUtil.getId(); + thrOrderImportLogEntity.setGenKey(genKey); + thrOrderImportLogEntity.setFromType("第三方系统获取"); + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + thrOrderImportLogEntity.setUpdateTime(new Date()); + thrOrderImportLogEntity.setThirdSysFk(filterThrProductsRequest.getThirdSysFk()); + thrOrderImportLogService.insertImportLog(thrOrderImportLogEntity); + if (filterThrProductsRequest.getErpOrderResponses() != null && filterThrProductsRequest.getErpOrderResponses().size() > 0) {//选中导出 + thrOrdersDlService.importSelectOrders(genKey, filterThrProductsRequest.getErpOrderResponses(), filterThrProductsRequest.getThirdSysFk()); + } else { //结果导出 + thrOrdersDlService.importOrders(genKey, filterThrProductsRequest.getBillAction(), filterThrProductsRequest); + } + return ResultVOUtils.success("后台开始下载更新,请稍后刷新查看"); + } + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/smp/postOrder") + public BaseResponse postSmpOrder(@RequestBody PostSmpOrderRequest postSmpOrderRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("smp_uploadOrder_url"); + String postUrl; + if (systemParamConfigEntity == null) + return ResultVOUtils.error(500, "上传供应商平台接口地址未定义"); + else + postUrl = systemParamConfigEntity.getParamValue(); + + List ids = postSmpOrderRequest.getIds(); + for (String id : ids) { + ThrOrderEntity thrOrderEntity = thrOrderService.findById(id); + UploadSmpRequest uploadSmpRequest = new UploadSmpRequest(); + BeanUtils.copyProperties(thrOrderEntity, uploadSmpRequest); + uploadSmpRequest.setType(1); + FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); + filterThrOrderDetailRequest.setOrderIdFk(id); + List thrOrderDetailEntities = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + List subErpOrders = new ArrayList<>(); + for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + UploadSmpRequest.SubErpOrder subErpOrder = new UploadSmpRequest.SubErpOrder(); + BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder); + subErpOrders.add(subErpOrder); + } + uploadSmpRequest.setSubErpOrders(subErpOrders); + + String response = httpOkClient.uCloudPost(postUrl, uploadSmpRequest); + BaseResponse baseResponse = + JSONObject.parseObject(response, new TypeReference() { + }); + if (baseResponse.getCode() == 20000) { + return ResultVOUtils.success("上传成功!"); + } else { + return ResultVOUtils.error(baseResponse.getCode(), baseResponse.getMessage()); + } + } + } + return ResultVOUtils.error(500, "上传数据成功"); + } + //只查询第三方单据 + @GetMapping("/udiwms/thirdOrder/filter") + public BaseResponse filterThirdOrder(FilterOrderRequest filterErpOrderRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } +// +// if (filterErpOrderRequest.getIsDownThrSys()) { +// BaseResponse> responseBaseResponse = erpOrderClient.getErpOrderResponse(filterErpOrderRequest); +// return responseBaseResponse; +// } + + + ThrSystemDetailEntity thrSystemDetailEntity = iThrBusTypeOriginService.findSysByAction(filterErpOrderRequest.getBillAction(), "orderQueryUrl"); + filterErpOrderRequest.setThirdOrderFk(thrSystemDetailEntity.getThirdSysFk()); + if (thrSystemDetailEntity == null || !thrSystemDetailEntity.getEnabled()) { + return ResultVOUtils.error(500, "第三方系统业务单据接口服务未启用"); + } + + if (thrSystemDetailEntity.getThirdSysFk() == null) { + return ResultVOUtils.error(500, "第三方业务单据服务未关联"); + } + + + FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); + BeanUtils.copyProperties(filterErpOrderRequest, filterThrOrderRequest); + filterThrOrderRequest.setPage(filterErpOrderRequest.getPage()); + filterThrOrderRequest.setLimit(filterErpOrderRequest.getLimit()); + List erpOrderResponses = new ArrayList<>(); + List data = thrOrderService.filterThrOrder(filterThrOrderRequest); + if (data != null && data.size() > 0) { + for (ThrOrderEntity thrOrderEntity : data) { + FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); + filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); + List thrOrderDetailEntities = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest); + ThrOrderResponse erpOrderResponse = new ThrOrderResponse(); + BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse); + List subErpOrders = new ArrayList<>(); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + ThrOrderResponse.SubErpOrder subErpOrder = new ThrOrderResponse.SubErpOrder(); + BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder); + subErpOrders.add(subErpOrder); + } + } + erpOrderResponse.setSubErpOrders(subErpOrders); + erpOrderResponses.add(erpOrderResponse); + } + } + //todo 单据表还未设计好 +// if (thrSystemDetailEntity.getLocalAction() != null) { +// BaseResponse> loca = getLoaclData(filterErpOrderRequest); +// erpOrderResponses.addAll(loca.getData().getList()); +// } + PageInfo pageInfo; + pageInfo = new PageInfo<>(data); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(erpOrderResponses); + return ResultVOUtils.success(pageSimpleResponse); + + } + + + +} diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrOrderExportLogController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrOrderExportLogController.java new file mode 100644 index 000000000..08b4da607 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrOrderExportLogController.java @@ -0,0 +1,221 @@ +package com.glxp.api.controller.thrsys; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BasicProcessStatus; +import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; +import com.glxp.api.entity.thrsys.ThrOrderEntity; +import com.glxp.api.entity.thrsys.ThrOrderExportLogEntity; +import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; +import com.glxp.api.http.ErpOrderClient; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.req.thrsys.*; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.thrsys.ThrOrderResponse; +import com.glxp.api.service.thrsys.ThrOrderDetailService; +import com.glxp.api.service.thrsys.ThrOrderExportLogService; +import com.glxp.api.service.thrsys.ThrOrderService; +import com.glxp.api.service.thrsys.ThrOrdersDlService; +import com.glxp.api.util.CustomUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@RestController +public class ThrOrderExportLogController { + @Resource + ThrOrderExportLogService thrOrderExportLogService; + @Resource + ThrOrdersDlService thrOrdersDlService; + + @Resource + private ThrOrderService thrOrderService; + @Resource + private ThrOrderDetailService thrOrderDetailService; + @Resource + private ErpOrderClient erpOrderClient; + + @GetMapping("/udiwms/thrOrder/exportLog/filter") + public BaseResponse filter(FilterThrCorpImportLogRequest filterUdiEpLogReques, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List udiInfoExportLogEntities + = thrOrderExportLogService.filterThrOrderExportLog(filterUdiEpLogReques); + PageInfo pageInfo; + pageInfo = new PageInfo<>(udiInfoExportLogEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiInfoExportLogEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @PostMapping("/udiwms/thrOrder/exportLog/deleteLog") + public BaseResponse deleteLog(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + thrOrderExportLogService.deleteById(id + ""); + return ResultVOUtils.success("删除成功"); + } + + //业务单据excel文件下载 + @GetMapping("/udiwms/thrOrder/exportLog/download") + public void download(FilterThrCorpImportLogRequest filterUdiEpLogRequest, HttpServletResponse res) { + + List thrOrderExportLogEntities = thrOrderExportLogService.filterThrOrderExportLog(filterUdiEpLogRequest); + ThrOrderExportLogEntity thrOrderExportLogEntity = thrOrderExportLogEntities.get(0); + try { + String filePath = thrOrderExportLogEntity.getFilePath(); + String fileName = "temp"; + if (filePath != null && filePath.length() > 0) { + String[] data = filePath.split("/"); + fileName = data[data.length - 1]; + } + res.setHeader("Content-disposition", "attachment;fileName=" + fileName); + res.setContentType("text/plain;charset=UTF-8"); + FileInputStream input = new FileInputStream(new File(filePath)); + OutputStream out = res.getOutputStream(); + byte[] b = new byte[2048]; + int len; + while ((len = input.read(b)) != -1) { + out.write(b, 0, len); + } + input.close(); + if (thrOrderExportLogEntity.getDlCount() == 0) { + thrOrderExportLogEntity.setDlCount(1); + } else { + thrOrderExportLogEntity.setDlCount(thrOrderExportLogEntity.getDlCount() + 1); + } + thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); + } catch (Exception ex) { + System.out.println("下载失败!"); + } + + + } + + //业务单据导出生成Excel,并创建生成记录 + @PostMapping("/udiwms/thrOrder/importLog/export") + public BaseResponse excelDownload(@RequestBody ThrOrderExportRequest thrOrderExportRequest) { + + + String fileName = "D:\\udiwms\\exportFile\\" + "业务单据导出" + System.currentTimeMillis() + ".xls"; + File file = new File(fileName); + if (!file.exists()) { + try { + file.createNewFile(); + } catch (IOException e) { + e.printStackTrace(); + } + } + ThrOrderExportLogEntity udiInfoExportLogEntity = new ThrOrderExportLogEntity(); + udiInfoExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_PROCESS); + String genKey = CustomUtil.getId(); + udiInfoExportLogEntity.setGenKey(genKey); + udiInfoExportLogEntity.setFilePath(fileName); + udiInfoExportLogEntity.setUpdateTime(new Date()); + udiInfoExportLogEntity.setType(BasicProcessStatus.EXPORT_EXCEL); + udiInfoExportLogEntity.setDlCount(0); + thrOrderExportLogService.insertThrOrderExportLog(udiInfoExportLogEntity); + thrOrdersDlService.genExcel(genKey, thrOrderExportRequest); + return ResultVOUtils.success("后台正在导出生成excel文件,请稍后刷新查看!"); + + } + + //业务单据上传SMP,并创建生成记录 + @PostMapping("/udiwms/thrOrder/importLog/uploadSmp") + public BaseResponse uploadSmp(@RequestBody ThrOrderExportRequest thrOrderExportRequest) { + + + ThrOrderExportLogEntity udiInfoExportLogEntity = new ThrOrderExportLogEntity(); + udiInfoExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_PROCESS); + String genKey = CustomUtil.getId(); + udiInfoExportLogEntity.setGenKey(genKey); + udiInfoExportLogEntity.setUpdateTime(new Date()); + udiInfoExportLogEntity.setType(BasicProcessStatus.EXPORT_SMP); + udiInfoExportLogEntity.setDlCount(0); + thrOrderExportLogService.insertThrOrderExportLog(udiInfoExportLogEntity); + thrOrdersDlService.uploadSmp(genKey, thrOrderExportRequest); + return ResultVOUtils.success("后台正在上传,请稍后刷新查看!"); + + } + + //第三方业务单据接口下载(第三方使用) + @GetMapping("/udiwms/thrsys/thrOrder/download") + public BaseResponse downloadThrOrders(FilterOrderRequest filterErpOrderRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + //todo关联表未涉及好 +// BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(filterErpOrderRequest.getBillAction(), "orderQueryUrl"); +// if (!basicThirdSysDetailEntity.getEnabled() || basicThirdSysDetailEntity.getThirdSysFk() == null) { +// return ResultVOUtils.error(500, "第三方系统业务单据接口服务未启用"); +// } +// if (basicThirdSysDetailEntity.getValue() == null) { +// return ResultVOUtils.error(500, "业务单据查询接口未定义"); +// } + ThrSystemDetailEntity thrSystemDetailEntity=new ThrSystemDetailEntity(); + if (thrSystemDetailEntity.getFromType() != null && thrSystemDetailEntity.getFromType() == 0) { + return erpOrderClient.getThrOrderResponse(filterErpOrderRequest); + } else { + //todo 订单查询,需加日期 + FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); + BeanUtils.copyProperties(filterErpOrderRequest, filterThrOrderRequest); + filterThrOrderRequest.setPage(filterErpOrderRequest.getPage()); + filterThrOrderRequest.setLimit(filterErpOrderRequest.getLimit()); + List erpOrderResponses = new ArrayList<>(); + List data = thrOrderService.filterThrOrder(filterThrOrderRequest); + if (data != null && data.size() > 0) { + for (ThrOrderEntity thrOrderEntity : data) { + FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); + filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); + List thrOrderDetailEntities = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest); + ThrOrderResponse erpOrderResponse = new ThrOrderResponse(); + BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse); + List subErpOrders = new ArrayList<>(); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + ThrOrderResponse.SubErpOrder subErpOrder = new ThrOrderResponse.SubErpOrder(); + BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder); + subErpOrders.add(subErpOrder); + } + } + erpOrderResponse.setSubErpOrders(subErpOrders); + erpOrderResponses.add(erpOrderResponse); + } + } + PageInfo pageInfo; + pageInfo = new PageInfo<>(data); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(erpOrderResponses); + return ResultVOUtils.success(pageSimpleResponse); + + } + + + } + +} diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrOrderImportLogController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrOrderImportLogController.java new file mode 100644 index 000000000..27b577513 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrOrderImportLogController.java @@ -0,0 +1,327 @@ +package com.glxp.api.controller.thrsys; + + +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BasicProcessStatus; +import com.glxp.api.entity.thrsys.ThrOrderImportDetailEntity; +import com.glxp.api.entity.thrsys.ThrOrderImportLogEntity; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.req.thrsys.FilterThrCorpImportLogRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.service.thrsys.ThrOrderImportDetailService; +import com.glxp.api.service.thrsys.ThrOrderImportLogService; +import com.glxp.api.util.CustomUtil; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@RestController +public class ThrOrderImportLogController { + + @Resource + ThrOrderImportLogService thrOrderImportLogService; + @Resource + ThrOrderImportDetailService thrOrderImportDetailService; + + + @GetMapping("/udiwms/thrOrder/importLog/filter") + public BaseResponse filter(FilterThrCorpImportLogRequest filterThrCorpImportLogRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List udiInfoImportLogEntities + = thrOrderImportLogService.filterThrOrderImportLog(filterThrCorpImportLogRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(udiInfoImportLogEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiInfoImportLogEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/thrOrder/importLog/filterDetail") + public BaseResponse filterDetail(FilterThrCorpImportLogRequest filterThrCorpImportLogRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List thrOrderImportDetailEntities + = thrOrderImportDetailService.filterOrderImportDetail(filterThrCorpImportLogRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(thrOrderImportDetailEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(thrOrderImportDetailEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @PostMapping("/udiwms/thrOrder/importLog/deleteLog") + public BaseResponse deleteLog(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + FilterThrCorpImportLogRequest filterInCodeLogRequest = new FilterThrCorpImportLogRequest(); + filterInCodeLogRequest.setId(Integer.parseInt(id)); + List corpImportLogEntities = thrOrderImportLogService.filterThrOrderImportLog(filterInCodeLogRequest); + if (corpImportLogEntities != null && corpImportLogEntities.size() > 0) { + ThrOrderImportLogEntity corpImportLogEntity = corpImportLogEntities.get(0); + thrOrderImportLogService.deleteById(corpImportLogEntity.getId() + ""); + thrOrderImportDetailService.deleteByGenkey(corpImportLogEntity.getGenKey()); + } + + return ResultVOUtils.success("删除成功"); + } + + @PostMapping("/udiwms/thrOrder/importLog/delete") + public BaseResponse delete(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (thrOrderImportDetailService.deleteById(deleteRequest.getId())) + return ResultVOUtils.success("删除成功"); + else + return ResultVOUtils.error(500, "删除成功"); + } + + + @PostMapping("/udiwms/thrOrder/importLog/upload") + public BaseResponse uploadOrders(@RequestParam("file") List files, @RequestParam("thirdSys") String thirdSys) { + + String filePath = "D:\\udiwms\\filePath\\"; + File createFile = new File(filePath); + if (!createFile.exists()) { + createFile.mkdirs(); + } + for (int i = 0; i < files.size(); i++) { + MultipartFile file = files.get(i); + if (file.isEmpty()) { + return ResultVOUtils.error(500, "上传第" + (i++) + "个文件失败"); + } + String fileName = file.getOriginalFilename(); + try { + InputStream inputStream = file.getInputStream(); + Workbook workbook = null; + String filetype = fileName.substring(fileName.lastIndexOf(".")); + + if (".xls".equals(filetype)) { + workbook = new HSSFWorkbook(inputStream); + } else if (".xlsx".equals(filetype)) { + workbook = new XSSFWorkbook(inputStream); + } else { + return ResultVOUtils.error(500, "请上传excel文件"); + } + Sheet sheet = null; + Row row = null; + ThrOrderImportLogEntity thrOrderImportLogEntity = new ThrOrderImportLogEntity(); + String genKey = CustomUtil.getId(); + thrOrderImportLogEntity.setGenKey(genKey); + thrOrderImportLogEntity.setThirdSysFk(thirdSys); + thrOrderImportLogEntity.setFromType("文件导入"); + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + thrOrderImportLogEntity.setUpdateTime(new Date(System.currentTimeMillis())); + thrOrderImportLogService.insertImportLog(thrOrderImportLogEntity); + List corpImportDetailEntities = new ArrayList<>(); + for (int j = 0; j < 1; j++) {//workbook.getNumberOfSheets() + sheet = workbook.getSheetAt(j); + if (sheet == null) { + continue; + } + // 滤过第一行标题 + row = sheet.getRow(0); + if ((row.getCell(0) == null || row.getCell(1) == null || row.getCell(2) == null + || row.getCell(3) == null || row.getCell(4) == null || row.getCell(5) == null || row.getCell(6) == null) || + (!"单据号".equals(row.getCell(0).getStringCellValue()) + || !"单据日期".equals(row.getCell(1).getStringCellValue()) + || !"往来单位ID".equals(row.getCell(2).getStringCellValue()) + || !"往来单位名称".equals(row.getCell(3).getStringCellValue()) + || !"单据类型".equals(row.getCell(4).getStringCellValue()) + || !"单据状态".equals(row.getCell(5).getStringCellValue()) + || !"产品ID".equals(row.getCell(6).getStringCellValue()))) { + return ResultVOUtils.error(500, "文件格式错误!"); + } + for (int k = sheet.getFirstRowNum() + 1; k <= sheet.getLastRowNum(); k++) { + row = sheet.getRow(k); + if (row == null || row.getRowNum() <= 0) { + continue; + } + if (filterEmpty(row)) { + continue; + } + ThrOrderImportDetailEntity corpImportDetailEntity = new ThrOrderImportDetailEntity(); + Cell cell1 = row.getCell(0); + if (cell1 != null) { + cell1.setCellType(CellType.STRING); + corpImportDetailEntity.setBillNo(cell1.getStringCellValue()); + } + Cell cell2 = row.getCell(1); + if (cell2 != null) { + cell2.setCellType(CellType.STRING); + corpImportDetailEntity.setBilldate(cell2.getStringCellValue()); + } + Cell cell3 = row.getCell(2); + if (cell3 != null) { + cell3.setCellType(CellType.STRING); + corpImportDetailEntity.setCorpId(cell3.getStringCellValue()); + + } + Cell cell4 = row.getCell(3); + if (cell4 != null) { + cell4.setCellType(CellType.STRING); + corpImportDetailEntity.setCorpName(cell4.getStringCellValue()); + + } + Cell cell5 = row.getCell(4); + if (cell5 != null) { + cell5.setCellType(CellType.STRING); + String billType = cell5.getStringCellValue(); + //todo 表功能还未设计好 +// BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByName(billType); +// if (bussinessTypeEntity != null) { +// corpImportDetailEntity.setBillType(bussinessTypeEntity.getAction()); +// } else +// corpImportDetailEntity.setBillType(billType); + + + } + Cell cell6 = row.getCell(5); + if (cell6 != null) { + cell6.setCellType(CellType.STRING); + corpImportDetailEntity.setBillFlag(cell6.getStringCellValue()); + } + + Cell cell7 = row.getCell(6); + if (cell7 != null) { + cell7.setCellType(CellType.STRING); + corpImportDetailEntity.setProductId(cell7.getStringCellValue()); + } + + Cell cell8 = row.getCell(7); + if (cell8 != null) { + cell8.setCellType(CellType.STRING); + corpImportDetailEntity.setProductName(cell8.getStringCellValue()); + } + + Cell cell9 = row.getCell(8); + if (cell9 != null) { + cell9.setCellType(CellType.STRING); + corpImportDetailEntity.setSpec(cell9.getStringCellValue()); + } + + Cell cell10 = row.getCell(9); + if (cell10 != null) { + cell10.setCellType(CellType.STRING); + corpImportDetailEntity.setBatchNo(cell10.getStringCellValue()); + } + + Cell cell11 = row.getCell(10); + if (cell11 != null) { + cell11.setCellType(CellType.STRING); + corpImportDetailEntity.setProductDate(cell11.getStringCellValue()); + } + + Cell cell12 = row.getCell(11); + if (cell12 != null) { + cell12.setCellType(CellType.STRING); + corpImportDetailEntity.setExpireDate(cell12.getStringCellValue()); + } + + Cell cell13 = row.getCell(12); + if (cell13 != null) { + cell13.setCellType(CellType.STRING); + String count = cell13.getStringCellValue(); + if (count != null && !"".equals(count)) { + corpImportDetailEntity.setCount(String.valueOf(Integer.parseInt(count))); + } + } + Cell cell14 = row.getCell(13); + if (cell14 != null) { + cell14.setCellType(CellType.STRING); + String count = cell14.getStringCellValue(); + if (count != null && !"".equals(count)) { + corpImportDetailEntity.setReCount(String.valueOf(Integer.parseInt(count))); + } + } + + corpImportDetailEntity.setThirdSysFk(thirdSys); + corpImportDetailEntity.setGenKeyFk(genKey); + corpImportDetailEntity.setStatus(String.valueOf(BasicProcessStatus.UDIINFO_IMPORT_CODE_UNPROCESS)); + corpImportDetailEntity.setUpdateTime(new Date(System.currentTimeMillis())); + corpImportDetailEntities.add(corpImportDetailEntity); + } + } + thrOrderImportDetailService.insertOrderImportDetails(corpImportDetailEntities); + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + thrOrderImportLogService.updateImportLog(thrOrderImportLogEntity); + workbook.close(); + thrOrderImportLogService.importThrOrder(genKey); + } catch (IOException e) { + e.printStackTrace(); + } + } + return ResultVOUtils.success("上传成功"); + } + + + public boolean filterEmpty(Row row) { + + if (row.getCell(0) != null) { + row.getCell(0).setCellType(CellType.STRING); + } + if (row.getCell(1) != null) { + row.getCell(1).setCellType(CellType.STRING); + } + if (row.getCell(2) != null) { + row.getCell(2).setCellType(CellType.STRING); + } + if (row.getCell(3) != null) { + row.getCell(3).setCellType(CellType.STRING); + } + if (row.getCell(4) != null) { + row.getCell(4).setCellType(CellType.STRING); + } + if (row.getCell(5) != null) { + row.getCell(5).setCellType(CellType.STRING); + } + if (row.getCell(6) != null) { + row.getCell(6).setCellType(CellType.STRING); + } + if ((row.getCell(0) == null && row.getCell(1) == null && row.getCell(2) == null + && row.getCell(3) == null && row.getCell(4) == null && row.getCell(5) == null && row.getCell(6) == null) || + ( + (row.getCell(0) != null && row.getCell(1) != null && row.getCell(2) != null + && row.getCell(3) != null && row.getCell(4) != null && row.getCell(5) != null && row.getCell(6) != null) && + ("".equals(row.getCell(0).getStringCellValue()) + && "".equals(row.getCell(1).getStringCellValue()) + && "".equals(row.getCell(2).getStringCellValue()) + && "".equals(row.getCell(3).getStringCellValue()) + && "".equals(row.getCell(4).getStringCellValue()) + && "".equals(row.getCell(5).getStringCellValue()) + && "".equals(row.getCell(6).getStringCellValue())) + )) { + return true; + } + return false; + } + +} diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrOrderDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrOrderDao.java new file mode 100644 index 000000000..405fc0e2b --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrOrderDao.java @@ -0,0 +1,30 @@ +package com.glxp.api.dao.thrsys; + + +import com.glxp.api.entity.thrsys.ThrOrderEntity; +import com.glxp.api.req.thrsys.FilterThrOrderRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrOrderDao { + + List filterThrOrder(FilterThrOrderRequest filterThrOrderRequest); + + List filterReceiveOrder(FilterThrOrderRequest filterThrOrderRequest); + + + boolean insertThrOrder(ThrOrderEntity thrCorpEntity); + + boolean importThrOrder(ThrOrderEntity thrCorpEntity); + + boolean insertThrOrders(@Param("thrOrderEntities") List thrOrderEntities); + + boolean updateThrOrder(ThrOrderEntity thrOrderEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteAll(); +} diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrOrderDetailDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrOrderDetailDao.java new file mode 100644 index 000000000..1f56b835a --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrOrderDetailDao.java @@ -0,0 +1,32 @@ +package com.glxp.api.dao.thrsys; + + +import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; +import com.glxp.api.req.thrsys.FilterThrOrderDetailRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrOrderDetailDao { + + List filterThrOrderDetailDetail(FilterThrOrderDetailRequest filterThrOrderDetailRequest); + + boolean insertThrOrderDetail(ThrOrderDetailEntity thrOrderDetailEntity); + + boolean importThrOrderDetail(ThrOrderDetailEntity thrOrderDetailEntity); + + boolean insertThrOrderDetails(@Param("thrOrderDetailEntities") List thrOrderDetailEntities); + + boolean updateThrOrderDetail(ThrOrderDetailEntity thrOrderDetailEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteByOrderIdFk(@Param("orderIdFk") String orderIdFk); + + boolean deleteAll(); + + boolean deleteByTime(); + +} diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrOrderExportLogDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrOrderExportLogDao.java new file mode 100644 index 000000000..4fa30deac --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrOrderExportLogDao.java @@ -0,0 +1,23 @@ +package com.glxp.api.dao.thrsys; + + +import com.glxp.api.entity.thrsys.ThrOrderExportLogEntity; +import com.glxp.api.req.thrsys.FilterThrCorpImportLogRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrOrderExportLogDao { + + List filterThrOrderExportLog(FilterThrCorpImportLogRequest filterThrCorpImportLogRequest); + + boolean insertThrOrderExportLog(ThrOrderExportLogEntity thrOrderExportLogEntity); + + boolean updateThrOrderExportLog(ThrOrderExportLogEntity thrOrderExportLogEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteByTime(); +} diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrOrderImportDetailDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrOrderImportDetailDao.java new file mode 100644 index 000000000..009bba693 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrOrderImportDetailDao.java @@ -0,0 +1,27 @@ +package com.glxp.api.dao.thrsys; + + +import com.glxp.api.entity.thrsys.ThrOrderImportDetailEntity; +import com.glxp.api.req.thrsys.FilterThrCorpImportLogRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrOrderImportDetailDao { + + List filterOrderdDetailImport(FilterThrCorpImportLogRequest filterThrCorpImportLogRequest); + + boolean insertOrderdDetailImport(ThrOrderImportDetailEntity thrOrderImportDetailEntity); + + boolean updateOrderdDetailImport(ThrOrderImportDetailEntity thrOrderImportDetailEntity); + + boolean insertOrderdDetailImports(@Param("orders") List thrOrderImportDetailEntities); + + boolean deleteById(@Param("id") String id); + + boolean deleteByGenkey(@Param("genKey") String genKey); + + boolean deleteByTime(); +} diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrOrderImportLogDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrOrderImportLogDao.java new file mode 100644 index 000000000..4ee02506c --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrOrderImportLogDao.java @@ -0,0 +1,24 @@ +package com.glxp.api.dao.thrsys; + + +import com.glxp.api.entity.thrsys.ThrOrderImportLogEntity; +import com.glxp.api.req.thrsys.FilterThrCorpImportLogRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrOrderImportLogDao { + + List filterThrOrderImportLog(FilterThrCorpImportLogRequest filterThrCorpImportLogRequest); + + boolean insertImportLog(ThrOrderImportLogEntity thrOrderImportLogEntity); + + boolean updateImportLog(ThrOrderImportLogEntity thrOrderImportLogEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteByTime(); + +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrOrderDetailEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderDetailEntity.java new file mode 100644 index 000000000..458fe3635 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderDetailEntity.java @@ -0,0 +1,122 @@ +package com.glxp.api.entity.thrsys; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-01-13 + */ +@Data +@TableName("thr_order_detail") +public class ThrOrderDetailEntity{ + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @TableField("productId") + private String productId; + + @TableField("productName") + private String productName; + + @TableField("spec") + private String spec; + + @TableField("batchNo") + private String batchNo; + + @TableField("expireDate") + private String expireDate; + + @TableField("productDate") + private String productDate; + + @TableField("count") + private String count; + + @TableField("reCount") + private String reCount; + + @TableField("orderIdFk") + private String orderIdFk; + + @TableField("thirdSysFk") + private String thirdSysFk; + + /** + * 单价 + */ + @TableField("price") + private BigDecimal price; + + /** + * 往来单位 + */ + @TableField("corpName") + private String corpName; + + /** + * 医疗器械注册人 + */ + @TableField("ylqxzcrbarmc") + private String ylqxzcrbarmc; + + /** + * 注册证号 + */ + @TableField("zczbhhzbapzbh") + private String zczbhhzbapzbh; + + /** + * 生产企业 + */ + @TableField("manufactory") + private String manufactory; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrOrderEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderEntity.java new file mode 100644 index 000000000..e3a601abe --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderEntity.java @@ -0,0 +1,190 @@ +package com.glxp.api.entity.thrsys; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-01-13 + */ +@Data +@TableName("thr_order") +public class ThrOrderEntity{ + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @TableField("billNo") + private String billNo; + + @TableField("billdate") + private String billdate; + + @TableField("corpId") + private String corpId; + + @TableField("corpName") + private String corpName; + + @TableField("billType") + private String billType; + + @TableField("billFlag") + private String billFlag; + + @TableField("thirdSysFk") + private String thirdSysFk; + + /** + * 原始单据类型 + */ + @TableField("originType") + private String originType; + + /** + * 起始日期 + */ + @TableField("startDate") + private String startDate; + + /** + * 结束日期 + */ + @TableField("endDate") + private String endDate; + + /** + * 审核人 + */ + @TableField("reviewUser") + private String reviewUser; + + /** + * 地址 + */ + @TableField("address") + private String address; + + /** + * 联系人 + */ + @TableField("linkMan") + private String linkMan; + + /** + * 联系电话 + */ + @TableField("linkTel") + private String linkTel; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + /** + * 备注1 + */ + @TableField("remark1") + private String remark1; + + /** + * 备注2 + */ + @TableField("remark2") + private String remark2; + + /** + * 备注3 + */ + @TableField("remark3") + private String remark3; + + @TableField("type") + private Integer type; + + @TableField("locStorageCode") + private String locStorageCode; + + @TableField("editStatus") + private Integer editStatus; + + /** + * 分库 + */ + @TableField("invWarehouseCode") + private String invWarehouseCode; + + /** + * 医疗器械注册人 + */ + @TableField("ylqxzcrbarmc") + private String ylqxzcrbarmc; + + /** + * 注册证号 + */ + @TableField("zczbhhzbapzbh") + private String zczbhhzbapzbh; + + /** + * 生产企业 + */ + @TableField("manufactory") + private String manufactory; + + /** + * 判断来源至哪里1:第三方 2:自己创建 + */ + @TableField("thirdPartyDate") + private Integer thirdPartyDate; + + @TableField("unitIdFk") + private String unitIdFk; + + /** + * 往来分库 + */ + @TableField("fromSubInvCode") + private String fromSubInvCode; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + + +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrOrderExportLogEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderExportLogEntity.java new file mode 100644 index 000000000..f70e8fdc2 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderExportLogEntity.java @@ -0,0 +1,89 @@ +package com.glxp.api.entity.thrsys; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-01-13 + */ +@Data +@TableName("thr_order_export_log") +public class ThrOrderExportLogEntity{ + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + /** + * 生成日志记录 + */ + @TableField("genKey") + private String genKey; + + /** + * 生成状态0:失败;1:成功 + */ + @TableField("status") + private Integer status; + + /** + * 下载次数 + */ + @TableField("dlCount") + private Integer dlCount; + + /** + * 文件下载路径 + */ + @TableField("filePath") + private String filePath; + + @TableField("type") + private Integer type; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrOrderImportDetailEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderImportDetailEntity.java new file mode 100644 index 000000000..f1256d189 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderImportDetailEntity.java @@ -0,0 +1,116 @@ +package com.glxp.api.entity.thrsys; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-01-13 + */ +@Data +@TableName("thr_order_import_detail") +public class ThrOrderImportDetailEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @TableField("billNo") + private String billNo; + + @TableField("billdate") + private String billdate; + + @TableField("corpId") + private String corpId; + + @TableField("corpName") + private String corpName; + + @TableField("billType") + private String billType; + + @TableField("billFlag") + private String billFlag; + + @TableField("productId") + private String productId; + + @TableField("productName") + private String productName; + + @TableField("spec") + private String spec; + + @TableField("batchNo") + private String batchNo; + + @TableField("expireDate") + private String expireDate; + + @TableField("productDate") + private String productDate; + + @TableField("count") + private String count; + + @TableField("reCount") + private String reCount; + + @TableField("status") + private String status; + + @TableField("genKeyFk") + private String genKeyFk; + + @TableField("thirdSysFk") + private String thirdSysFk; + + @TableField("originType") + private String originType; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrOrderImportLogEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderImportLogEntity.java new file mode 100644 index 000000000..e0f48c285 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderImportLogEntity.java @@ -0,0 +1,77 @@ +package com.glxp.api.entity.thrsys; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-01-13 + */ +@Data +@TableName("thr_order_import_log") +public class ThrOrderImportLogEntity{ + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @TableField("genKey") + private String genKey; + + /** + * 0:正在导入,1.正在处理,2.处理异常。3.处理完成 + */ + @TableField("status") + private Integer status; + + @TableField("fromType") + private String fromType; + + @TableField("thirdSysFk") + private String thirdSysFk; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Date createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Date updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrOrderUploadBustypesEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderUploadBustypesEntity.java new file mode 100644 index 000000000..7bb843ead --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderUploadBustypesEntity.java @@ -0,0 +1,68 @@ +package com.glxp.api.entity.thrsys; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-01-13 + */ +@Data +@TableName("thr_order_upload_bustypes") +public class ThrOrderUploadBustypesEntity { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @TableField("action") + private String action; + + @TableField("name") + private String name; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Data createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Data updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + + + +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrOrderUploadEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderUploadEntity.java new file mode 100644 index 000000000..9e8842f8d --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrOrderUploadEntity.java @@ -0,0 +1,142 @@ +package com.glxp.api.entity.thrsys; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + *

+ * + *

+ * + * @author 作者 + * @since 2023-01-13 + */ +@Data +@TableName("thr_order_upload") +public class ThrOrderUploadEntity{ + + private static final long serialVersionUID = 1L; + + @TableId("id") + private Integer id; + + /** + * 是否自动上传 + */ + @TableField("autoUpload") + private Integer autoUpload; + + /** + * 同步时间间隔 + */ + @TableField("orderSyncTime") + private Integer orderSyncTime; + + /** + * 待校验单据 + */ + @TableField("orderUnCheck") + private Integer orderUnCheck; + + /** + * 未验收单据 + */ + @TableField("orderUnReceive") + private Integer orderUnReceive; + + /** + * 已完成单据 + */ + @TableField("orderScanFinish") + private Integer orderScanFinish; + + /** + * UDIMS平台 + */ + @TableField("checkUdims") + private Integer checkUdims; + + /** + * PDA已校验 + */ + @TableField("checkPdaEd") + private Integer checkPdaEd; + + /** + * pda未校验 + */ + @TableField("checkPdaUn") + private Integer checkPdaUn; + + /** + * 扫码通 + */ + @TableField("checkPc") + private Integer checkPc; + + /** + * 网页端新增 + */ + @TableField("checkWebNew") + private Integer checkWebNew; + + /** + * 缺量补单 + */ + @TableField("checkChange") + private Integer checkChange; + + /** + * 自助平台同步 + */ + @TableField("checkSp") + private Integer checkSp; + + /** + * 平衡补单 + */ + @TableField("checkBalacne") + private Integer checkBalacne; + + /** + * 单据上传起始时间 + */ + @TableField("orderStartTime") + private String orderStartTime; + + /** + * 创建人 + */ + @TableField("createUser") + private String createUser; + + /** + * 创建时间 + */ + @TableField("createTime") + private Data createTime; + + /** + * 更新人 + */ + @TableField("updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField("updateTime") + private Data updateTime; + + /** + * 备注 + */ + @TableField("remark") + private String remark; + +} diff --git a/src/main/java/com/glxp/api/http/ErpOrderClient.java b/src/main/java/com/glxp/api/http/ErpOrderClient.java new file mode 100644 index 000000000..239d1111d --- /dev/null +++ b/src/main/java/com/glxp/api/http/ErpOrderClient.java @@ -0,0 +1,146 @@ +package com.glxp.api.http; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.req.thrsys.FilterOrderRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.thrsys.ThrErpOrderResponse; + +import com.glxp.api.res.thrsys.ThrOrderResponse; +import com.glxp.api.service.thrsys.ThrSystemService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * 获取ERP出入库单据 + */ +@Slf4j +@Service +public class ErpOrderClient { + + @Autowired + private ThrSystemService thrSystemService; + @Resource + HttpOkClient httpOkClient; + + public List getErpOrder(String url, List billCodes, String action) { + List erpOrderEntities = new ArrayList<>(); + if (billCodes != null && billCodes.size() > 0) { + for (int i = 0; i < billCodes.size(); i++) { + List ThrErpOrderResponses = getErpOrder(url, Arrays.asList(billCodes.get(i)), action); + if (ThrErpOrderResponses != null) { + erpOrderEntities.addAll(ThrErpOrderResponses); + } + } + } + return erpOrderEntities; + } + + public BaseResponse> getThrOrderResponse(FilterOrderRequest filterOrderRequest) { + + //查询第三方服务授权参数 + ThrSystemEntity thrSystemEntity = thrSystemService.selectByThirdId("thirdId"); + String url = thrSystemEntity.getThridUrl() + "/udiwms/erp/getOrders"; + String response = httpOkClient.uCloudPost(url, filterOrderRequest, thrSystemEntity); + try { + BaseResponse> responseBaseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + return responseBaseResponse; + } catch (Exception e) { + log.error("获取订单数据异常", e); + } + return null; + } + + public List getErpOrder(FilterOrderRequest filterOrderRequest) { + try { + BaseResponse> responseBaseResponse = getThrOrderResponse(filterOrderRequest); + List purchaseinResponseList = responseBaseResponse.getData().getList(); + if (purchaseinResponseList != null && purchaseinResponseList.size() > 0) { + List erpOrderEntities = new ArrayList<>(); + for (ThrOrderResponse ThrOrderResponse : purchaseinResponseList) { + for (ThrOrderResponse.SubErpOrder subPurchase : ThrOrderResponse.getSubErpOrders()) { + ThrErpOrderResponse ThrErpOrderResponse = new ThrErpOrderResponse(); + ThrErpOrderResponse.setErpOrderId(ThrOrderResponse.getBillNo()); + ThrErpOrderResponse.setCompanyid(ThrOrderResponse.getCorpId()); + ThrErpOrderResponse.setCompanyname(ThrOrderResponse.getCorpName()); + ThrErpOrderResponse.setCredate(ThrOrderResponse.getBilldate()); + ThrErpOrderResponse.setGoodsid(subPurchase.getProductId()); + ThrErpOrderResponse.setGoodsname(subPurchase.getProductName()); + ThrErpOrderResponse.setBatchNo(subPurchase.getBatchNo()); + ThrErpOrderResponse.setProductDate(subPurchase.getProductDate()); + ThrErpOrderResponse.setExpireDate(subPurchase.getExpireDate()); + ThrErpOrderResponse.setErpCount(subPurchase.getCount()); + ThrErpOrderResponse.setReCount(subPurchase.getReCount()); + ThrErpOrderResponse.setOriginType(ThrOrderResponse.getOriginType()); + ThrErpOrderResponse.setGoodsunit(subPurchase.getSpec()); + ThrErpOrderResponse.setOrderFromType(ConstantStatus.SORDER_FROM_ONLINE); + erpOrderEntities.add(ThrErpOrderResponse); + } + } + return erpOrderEntities; + } + } catch ( + Exception e) { + e.printStackTrace(); + } + return null; + } + + +// public BaseResponse submitOrder(UdiwmsOrderRequest udiwmsOrderRequest) { +// BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(udiwmsOrderRequest.getThirdSys()); +// String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/submitOrders"; +// String response = httpOkClient.uCloudPost(url, udiwmsOrderRequest); +// try { +// BaseResponse> responseBaseResponse = +// JSONObject.parseObject(response, new TypeReference>>() { +// }); +// return responseBaseResponse; +// } catch (Exception e) { +// log.error("获取订单数据异常", e); +// } +// return null; +// } + + +// public BaseResponse postBill(Map> postMap, String billAction, String uploadUrl, String thirdSysFk) { +// ERPPostBillRequest erpPostBillRequest = new ERPPostBillRequest(); +// erpPostBillRequest.setPostMap(postMap); +// erpPostBillRequest.setBillAction(billAction); +// +// //查询第三方服务授权参数 +// BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(thirdSysFk); +// String response = httpOkClient.uCloudPost(uploadUrl, erpPostBillRequest, basicThirdSysEntity); +// BaseResponse baseResponse = JSONObject.parseObject(response, new TypeReference() { +// }); +// return baseResponse; +// } +// +// public BaseResponse postBill(ERPPostBillRequest erpPostBillRequest, String uploadUrl) { +// String response = httpOkClient.uCloudPost(uploadUrl, erpPostBillRequest); +// BaseResponse baseResponse = +// JSONObject.parseObject(response, new TypeReference() { +// }); +// return baseResponse; +// } +// +// public BaseResponse signBill(USignRequest signRequest, String url) { +// String response = httpOkClient.uCloudPost(url, signRequest); +// BaseResponse baseResponse = +// JSONObject.parseObject(response, new TypeReference() { +// }); +// return baseResponse; +// } + +} diff --git a/src/main/java/com/glxp/api/req/thrsys/FilterOrderRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterOrderRequest.java new file mode 100644 index 000000000..434786ba5 --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/FilterOrderRequest.java @@ -0,0 +1,36 @@ +package com.glxp.api.req.thrsys; + +import lombok.Data; + +@Data +public class FilterOrderRequest { + private Integer id; + private String startDate; //起始日期 + private String endDate; //结束日期 + private String billNo; //单据号 + private String billFlag; //单据状态,0.未签字,1.已签字 + private String billAction; + private String corpName; + private Integer limit; + private Integer page; + private String originType; + private String customerId; + private String status; + + private Boolean isDownThrSys; + private Boolean isLocal; + private String localAction; + private String locStorageCode; + private String invWarehouseCode; + //第三方系统ID + private String thirdSys; + private Integer editStatus; + + private String action; + private String thirdAction; + private String thirdOrderFk; + + private Integer type; + private Integer allocateStatus; + +} diff --git a/src/main/java/com/glxp/api/req/thrsys/FilterThrOrderDetailRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterThrOrderDetailRequest.java new file mode 100644 index 000000000..423503768 --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/FilterThrOrderDetailRequest.java @@ -0,0 +1,14 @@ +package com.glxp.api.req.thrsys; + + +import com.glxp.api.req.ListPageRequest; +import lombok.Data; + + +@Data +public class FilterThrOrderDetailRequest extends ListPageRequest { + + private String orderIdFk; + private String thirdSysFk; + +} diff --git a/src/main/java/com/glxp/api/req/thrsys/FilterThrOrderRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterThrOrderRequest.java new file mode 100644 index 000000000..f2f6d0cb9 --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/FilterThrOrderRequest.java @@ -0,0 +1,32 @@ +package com.glxp.api.req.thrsys; + + +import com.glxp.api.req.ListPageRequest; +import com.glxp.api.res.thrsys.ThrOrderResponse; +import lombok.Data; + +import java.util.List; + +@Data +public class FilterThrOrderRequest extends ListPageRequest { + + private String id; + private String billNo; + private String thirdSysFk; + private String startDate; //起始日期 + private String endDate; //结束日期 + private String billFlag; //单据状态,0.未签字,1.已签字 + private String billAction; + private String corpName; + private String unitIdFk; + private String originType; + private String status; + + private String thirdSys; + private Integer editStatus; + private String lastUpdateTime; + private Integer thirdPartyDate; + private Integer type; + private Integer allocateStatus; + private List erpOrderResponses; +} diff --git a/src/main/java/com/glxp/api/req/thrsys/PostFileThrOrderRequest.java b/src/main/java/com/glxp/api/req/thrsys/PostFileThrOrderRequest.java new file mode 100644 index 000000000..7db56f5ab --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/PostFileThrOrderRequest.java @@ -0,0 +1,17 @@ +package com.glxp.api.req.thrsys; + + +import com.glxp.api.entity.thrsys.ThrOrderImportDetailEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class PostFileThrOrderRequest { + + private String genKey; + private String thirdSys; + private String uploadType; + private List datas; + +} diff --git a/src/main/java/com/glxp/api/req/thrsys/PostSmpOrderRequest.java b/src/main/java/com/glxp/api/req/thrsys/PostSmpOrderRequest.java new file mode 100644 index 000000000..e3f997389 --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/PostSmpOrderRequest.java @@ -0,0 +1,11 @@ +package com.glxp.api.req.thrsys; + +import lombok.Data; + +import java.util.List; + +@Data +public class PostSmpOrderRequest { + + List ids; +} diff --git a/src/main/java/com/glxp/api/req/thrsys/PostThrOrderRequest.java b/src/main/java/com/glxp/api/req/thrsys/PostThrOrderRequest.java new file mode 100644 index 000000000..00a13ffd7 --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/PostThrOrderRequest.java @@ -0,0 +1,30 @@ +package com.glxp.api.req.thrsys; + + +import com.glxp.api.res.thrsys.ThrOrderResponse; +import lombok.Data; + +import java.util.List; + +@Data +public class PostThrOrderRequest { + + private String genKey; + private String thirdSys; + private String uploadType; + private List datas; + + //增加字段 + private String startDate; //起始日期 + private String endDate; //结束日期 + private String createUser; //创建人 + private String reviewUser; //审核人 + private String address; //地址 + private String linkMan; //联系人 + private String linkTel; //联系电话 + private String remark; //备注 + private String remark1; //备注1 + private String remark2; //备注2 + private String remark3; //备注3 + +} diff --git a/src/main/java/com/glxp/api/req/thrsys/ThrOrderExportRequest.java b/src/main/java/com/glxp/api/req/thrsys/ThrOrderExportRequest.java new file mode 100644 index 000000000..1d9e81682 --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/ThrOrderExportRequest.java @@ -0,0 +1,22 @@ +package com.glxp.api.req.thrsys; + + +import com.glxp.api.res.thrsys.ThrOrderResponse; +import lombok.Data; + +import java.util.List; + +@Data +public class ThrOrderExportRequest { + + private List erpOrderResponses; + + private String id; + private String billNo; + private String thirdSysFk; + private String startDate; //起始日期 + private String endDate; //结束日期 + private String billFlag; //单据状态,0.未签字,1.已签字 + private String billAction; + +} diff --git a/src/main/java/com/glxp/api/req/thrsys/UploadSmpRequest.java b/src/main/java/com/glxp/api/req/thrsys/UploadSmpRequest.java new file mode 100644 index 000000000..b9d50156c --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/UploadSmpRequest.java @@ -0,0 +1,166 @@ +package com.glxp.api.req.thrsys; + + +import java.util.List; + +public class UploadSmpRequest { + + private String billNo; + private String billdate; + private String corpId; + private String corpName; + private String billType; + private String billFlag; + private String thirdSysFk; + private Integer type; + private List subErpOrders; + + public String getBillNo() { + return billNo; + } + + public void setBillNo(String billNo) { + this.billNo = billNo; + } + + public String getBilldate() { + return billdate; + } + + public void setBilldate(String billdate) { + this.billdate = billdate; + } + + public String getCorpId() { + return corpId; + } + + public void setCorpId(String corpId) { + this.corpId = corpId; + } + + public String getCorpName() { + return corpName; + } + + public void setCorpName(String corpName) { + this.corpName = corpName; + } + + public String getBillType() { + return billType; + } + + public void setBillType(String billType) { + this.billType = billType; + } + + + public List getSubErpOrders() { + return subErpOrders; + } + + public void setSubErpOrders(List subErpOrders) { + this.subErpOrders = subErpOrders; + } + + public String getBillFlag() { + return billFlag; + } + + public void setBillFlag(String billFlag) { + this.billFlag = billFlag; + } + + public String getThirdSysFk() { + return thirdSysFk; + } + + public void setThirdSysFk(String thirdSysFk) { + this.thirdSysFk = thirdSysFk; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public static class SubErpOrder { + private String productId; + private String productName; + private String spec; + private String batchNo; + private String expireDate; + private String productDate; + private Integer count; //账面数量 + private Integer reCount; //实际数量 + + public String getProductId() { + return productId; + } + + public void setProductId(String productId) { + this.productId = productId; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSpec() { + return spec; + } + + public void setSpec(String spec) { + this.spec = spec; + } + + public String getBatchNo() { + return batchNo; + } + + public void setBatchNo(String batchNo) { + this.batchNo = batchNo; + } + + public String getExpireDate() { + return expireDate; + } + + public void setExpireDate(String expireDate) { + this.expireDate = expireDate; + } + + public String getProductDate() { + return productDate; + } + + public void setProductDate(String productDate) { + this.productDate = productDate; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public Integer getReCount() { + return reCount; + } + + public void setReCount(Integer reCount) { + this.reCount = reCount; + } + } + +} diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrErpOrderResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrErpOrderResponse.java new file mode 100644 index 000000000..49616baa1 --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/ThrErpOrderResponse.java @@ -0,0 +1,78 @@ +package com.glxp.api.res.thrsys; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class ThrErpOrderResponse { + + + private long id; + private String erpOrderId; + private String iodtlId; + private String inoutId; + private String companyid; + private String companyname; + private String goodsid; + private String goodsname; + private String goodsunit; + private String batchNoId; + private String batchNo; + private String credate; + private String warehouseCode; + private String productDate; + private String expireDate; + private Integer erpCount; + private String originType; + private Integer reCount; + private String uuidFk; + private String supId; + private String supName; + private Integer bindSupStatus; + + + private String nameCode; + private String productCompany; + private String coName; + private String authCode; + private String packSpec; + private String packRatio; + private int bhzxxsbzsl; + private int zxxsbzbhsydysl; + private String isDownload; + private String orderIdFk; + private String nameCodes; + private String status; + private Integer count; + private String relIdFk; + private Integer bindStatus; + private int orderFromType; //1.本地业务单据,0.本地缓存第三方业务单据;(默认0)2.实时拉取第三方业务单据 + + private String ylqxzcrbarmc; + private String secSalesListNo; + private String firstSalesInvNo; + private String secSalesInvNo; + private String invoiceDate; + private BigDecimal price; + + private boolean checkSuccess; + private String locStorageCode; + private String invWarehouseCode;//当前分库 + private String fromSubInvCode; //往来分库 + private String billType; + + public Integer getBindStatus() { + if (bindStatus == null) + return 0; + return bindStatus; + } + + private String bindRlFk; + + + private String serialNo; + private String code; + + private Integer codeId; +} diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrOrderResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrOrderResponse.java new file mode 100644 index 000000000..f0f9d5d91 --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/ThrOrderResponse.java @@ -0,0 +1,190 @@ +package com.glxp.api.res.thrsys; + +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +@Data +public class ThrOrderResponse { + private Integer id; + private String billNo; + private String billdate; + private String corpId; + private String corpName; + private String billType; + private String billFlag; + private String originType; + private String locStorageCode; + private String invWarehouseCode;//当前分库 + private String fromSubInvCode; //往来分库 + + private String thirdSysFk; + + private List subErpOrders; + + //增加字段 + private String startDate; //起始日期 + private String endDate; //结束日期 + private String createUser; //创建人 + private String reviewUser; //审核人 + private String address; //地址 + private String linkMan; //联系人 + private String linkTel; //联系电话 + private String remark; //备注 + private String remark1; //备注1 + private String remark2; //备注2 + private String remark3; //备注3 + private String invWarehouseName; + private String fromSubInvName; + + public static class SubErpOrder { + private Integer id; + private String productId; + private String productName; + private String spec; + private String batchNo; + private String expireDate; + private String productDate; + private Integer count; //账面数量 + private Integer reCount; //实际数量 + private String orderIdFk; + private String thirdSysFk; + private String sweepCount; + private String relId; //基础信息关联表主键 + + private String detailId; //明细ID + private String corpName; //往来单位 + private BigDecimal price; //单价 + + public String getDetailId() { + return detailId; + } + + public void setDetailId(String detailId) { + this.detailId = detailId; + } + + public String getCorpName() { + return corpName; + } + + public void setCorpName(String corpName) { + this.corpName = corpName; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal price) { + this.price = price; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getOrderIdFk() { + return orderIdFk; + } + + public void setOrderIdFk(String orderIdFk) { + this.orderIdFk = orderIdFk; + } + + public String getThirdSysFk() { + return thirdSysFk; + } + + public void setThirdSysFk(String thirdSysFk) { + this.thirdSysFk = thirdSysFk; + } + + public String getProductId() { + return productId; + } + + public void setProductId(String productId) { + this.productId = productId; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSpec() { + return spec; + } + + public void setSpec(String spec) { + this.spec = spec; + } + + public String getBatchNo() { + return batchNo; + } + + public void setBatchNo(String batchNo) { + this.batchNo = batchNo; + } + + public String getExpireDate() { + return expireDate; + } + + public void setExpireDate(String expireDate) { + this.expireDate = expireDate; + } + + public String getProductDate() { + return productDate; + } + + public void setProductDate(String productDate) { + this.productDate = productDate; + } + + public Integer getCount() { + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public Integer getReCount() { + return reCount; + } + + public void setReCount(Integer reCount) { + this.reCount = reCount; + } + + public String getSweepCount() { + return sweepCount; + } + + public void setSweepCount(String sweepCount) { + this.sweepCount = sweepCount; + } + + public String getRelId() { + return relId; + } + + public void setRelId(String relId) { + this.relId = relId; + } + } + + +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrOrderDetailService.java b/src/main/java/com/glxp/api/service/thrsys/ThrOrderDetailService.java new file mode 100644 index 000000000..49f6a4d2f --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrOrderDetailService.java @@ -0,0 +1,29 @@ +package com.glxp.api.service.thrsys; + + + +import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; +import com.glxp.api.req.thrsys.FilterThrOrderDetailRequest; + +import java.util.List; + +public interface ThrOrderDetailService { + + + List filterThrOrderDetailDetail(FilterThrOrderDetailRequest filterThrOrderDetailRequest); + + boolean insertThrOrderDetail(ThrOrderDetailEntity thrOrderDetailEntity); + + boolean insertThrOrderDetails(List thrOrderDetailEntities); + + boolean updateThrOrderDetail(ThrOrderDetailEntity thrOrderDetailEntity); + + boolean deleteById(String id); + + boolean deleteByOrderIdFk(String id); + + boolean deleteAll(); + + boolean deleteByTime(); + +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrOrderExportLogService.java b/src/main/java/com/glxp/api/service/thrsys/ThrOrderExportLogService.java new file mode 100644 index 000000000..8f1dd39cb --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrOrderExportLogService.java @@ -0,0 +1,23 @@ +package com.glxp.api.service.thrsys; + + + +import com.glxp.api.entity.thrsys.ThrOrderExportLogEntity; +import com.glxp.api.req.thrsys.FilterThrCorpImportLogRequest; + +import java.util.List; + +public interface ThrOrderExportLogService { + + ThrOrderExportLogEntity selectByGenKey(String genKey); + + List filterThrOrderExportLog(FilterThrCorpImportLogRequest filterThrCorpImportLogRequest); + + boolean insertThrOrderExportLog(ThrOrderExportLogEntity thrOrderExportLogEntity); + + boolean updateThrOrderExportLog(ThrOrderExportLogEntity thrOrderExportLogEntity); + + boolean deleteById(String id); + + boolean deleteByTime(); +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrOrderImportDetailService.java b/src/main/java/com/glxp/api/service/thrsys/ThrOrderImportDetailService.java new file mode 100644 index 000000000..e35683c23 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrOrderImportDetailService.java @@ -0,0 +1,25 @@ +package com.glxp.api.service.thrsys; + + + +import com.glxp.api.entity.thrsys.ThrOrderImportDetailEntity; +import com.glxp.api.req.thrsys.FilterThrCorpImportLogRequest; + +import java.util.List; + +public interface ThrOrderImportDetailService { + + List filterOrderImportDetail(FilterThrCorpImportLogRequest filterThrCorpImportLogRequest); + + boolean insertOrderImportDetail(ThrOrderImportDetailEntity thrOrderImportDetailEntity); + + boolean updateOrderImportDetail(ThrOrderImportDetailEntity thrOrderImportDetailEntity); + + boolean insertOrderImportDetails(List thrOrderImportDetailEntities); + + boolean deleteById(String id); + + boolean deleteByTime(); + + boolean deleteByGenkey(String genKey); +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrOrderImportLogService.java b/src/main/java/com/glxp/api/service/thrsys/ThrOrderImportLogService.java new file mode 100644 index 000000000..3af82959d --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrOrderImportLogService.java @@ -0,0 +1,25 @@ +package com.glxp.api.service.thrsys; + + + +import com.glxp.api.entity.thrsys.ThrOrderImportLogEntity; +import com.glxp.api.req.thrsys.FilterThrCorpImportLogRequest; + +import java.util.List; + +public interface ThrOrderImportLogService { + ThrOrderImportLogEntity selectByGenKey(String genKey); + + List filterThrOrderImportLog(FilterThrCorpImportLogRequest filterThrCorpImportLogRequest); + + boolean insertImportLog(ThrOrderImportLogEntity thrOrderImportLogEntity); + + boolean updateImportLog(ThrOrderImportLogEntity thrOrderImportLogEntity); + + boolean deleteById(String id); + + boolean deleteByTime(); + + void importThrOrder(String genKey); + +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrOrderService.java b/src/main/java/com/glxp/api/service/thrsys/ThrOrderService.java new file mode 100644 index 000000000..054603c08 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrOrderService.java @@ -0,0 +1,40 @@ +package com.glxp.api.service.thrsys; + + + +import com.glxp.api.entity.thrsys.ThrOrderEntity; +import com.glxp.api.req.thrsys.FilterThrOrderRequest; +import com.glxp.api.res.thrsys.ThrErpOrderResponse; +import com.glxp.api.res.thrsys.ThrOrderResponse; + +import java.util.List; + +public interface ThrOrderService { + + List filterThrOrder(FilterThrOrderRequest filterThrOrderRequest); + + List filterReceiveOrder(FilterThrOrderRequest filterThrOrderRequest); + + + List filterAllOrders(List billNos, String action); + + List filterAllDetail(FilterThrOrderRequest filterThrOrderRequest); + + ThrOrderEntity findByUnique(String billNo, String thirdSysFk); + + ThrOrderEntity findReceiveOrder(String billNo); + + ThrOrderEntity findById(String id); + + boolean insertThrOrder(ThrOrderEntity thrCorpEntity); + + boolean insertThrOrders(List thrOrderEntities); + + boolean updateThrOrder(ThrOrderEntity thrOrderEntity); + + boolean deleteById(String id); + + boolean deleteAll(); + + +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrOrdersDlService.java b/src/main/java/com/glxp/api/service/thrsys/ThrOrdersDlService.java new file mode 100644 index 000000000..265ecc874 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrOrdersDlService.java @@ -0,0 +1,678 @@ +package com.glxp.api.service.thrsys; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.config.WebSocketServer; +import com.glxp.api.constant.BasicProcessStatus; +import com.glxp.api.constant.Constant; +import com.glxp.api.entity.system.SyncDataSetEntity; +import com.glxp.api.entity.thrsys.*; +import com.glxp.api.http.ErpOrderClient; +import com.glxp.api.http.HttpOkClient; +import com.glxp.api.req.thrsys.*; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.thrsys.ThrOrderResponse; +import com.glxp.api.service.system.SyncDataSetService; +import com.glxp.api.util.RedisUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Service +public class ThrOrdersDlService { + + // @Value("${SPSYNC_IP}") +// private String spsSyncUrl; + @Resource + ThrOrderService thrOrderService; + @Resource + ThrOrderDetailService thrOrderDetailService; + @Resource + ThrSystemDetailService thrSystemDetailService; + @Resource + RedisUtil redisUtil; + @Resource + private ThrOrderImportLogService thrOrderImportLogService; + @Resource + ThrOrderExportLogService thrOrderExportLogService; + @Resource + ThrOrderImportDetailService thrOrderImportDetailService; +// @Resource +// ThrOrderImportService thrOrderImportService; + + @Resource + private ErpOrderClient erpOrderClient; + + @Resource + SyncDataSetService syncDataSetService; + @Resource + HttpOkClient httpOkClient; + + public String getIpUrl() { + SyncDataSetEntity syncDataSetEntity = syncDataSetService.findSet(); + return syncDataSetEntity.getSyncIp(); + } + + @Async + public void importOrders(String genKey, String action, FilterThrOrderRequest filterThrProductsRequest) { + + ThrOrderImportLogEntity thrOrderImportLogEntity = thrOrderImportLogService.selectByGenKey(genKey); + + //todo单据还没设计好 +// BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(action, "orderQueryUrl"); +// if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) { +// WebSocketServer.sendInfo("业务单据查询接口未设置!", "sid"); +// return; +// } + ThrSystemDetailEntity thrSystemDetailEntity=new ThrSystemDetailEntity(); + + int page = 1; + int limit = 100; + while (page != -1) { + page = getOrders(page, limit, thrSystemDetailEntity.getValue(), thrSystemDetailEntity.getThirdSysFk(), thrOrderImportLogEntity, action, filterThrProductsRequest); + } + + thrOrderImportLogService.importThrOrder(genKey); + + redisUtil.set(Constant.dlThrProducts, "false"); + WebSocketServer.sendInfo("业务单据信息下载已完成,请刷新查看!", "sid"); + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + thrOrderImportLogService.updateImportLog(thrOrderImportLogEntity); + } + + @Async + public void importSelectOrders(String genKey, List erpOrderResponses, String thirdSys) { + ThrOrderImportLogEntity thrOrderImportLogEntity = thrOrderImportLogService.selectByGenKey(genKey); + if (erpOrderResponses != null && erpOrderResponses.size() > 0) { + for (ThrOrderResponse erpOrderResponse : erpOrderResponses) { + List thrOrderDetailEntities = new ArrayList<>(); + for (ThrOrderResponse.SubErpOrder subPurchase : erpOrderResponse.getSubErpOrders()) { + ThrOrderImportDetailEntity thrOrderDetailEntity = new ThrOrderImportDetailEntity(); + BeanUtils.copyProperties(subPurchase, thrOrderDetailEntity); + BeanUtils.copyProperties(erpOrderResponse, thrOrderDetailEntity); + thrOrderDetailEntity.setGenKeyFk(thrOrderImportLogEntity.getGenKey()); + thrOrderDetailEntity.setThirdSysFk(thirdSys); + thrOrderDetailEntity.setUpdateTime(new Date()); + thrOrderDetailEntities.add(thrOrderDetailEntity); + } + thrOrderImportDetailService.insertOrderImportDetails(thrOrderDetailEntities); + } + } + thrOrderImportLogService.importThrOrder(genKey); + redisUtil.set(Constant.dlThrProducts, "false"); + WebSocketServer.sendInfo("业务单据信息下载已完成,请刷新查看!", "sid"); + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + thrOrderImportLogService.updateImportLog(thrOrderImportLogEntity); + } + + @Async + public void genExcel(String genKey, ThrOrderExportRequest thrOrderExportRequest) { + + ThrOrderExportLogEntity thrOrderExportLogEntity = thrOrderExportLogService.selectByGenKey(genKey); + List> excelData = new ArrayList<>(); + List head = new ArrayList<>(); + head.add("单据号"); + head.add("单据日期"); + head.add("往来单位ID"); + head.add("往来单位名称"); + head.add("单据类型"); + head.add("单据状态"); + head.add("产品ID"); + head.add("产品名称"); + head.add("规格型号"); + head.add("批次号"); + head.add("生产日期"); + head.add("失效日期"); + head.add("订单数量"); + head.add("实际数量"); + head.add("原单据类型"); + excelData.add(head); + //todo改功能有关表还未设计 +// BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(thrOrderExportRequest.getBillAction()); +// +// //选中导出 +// if (thrOrderExportRequest.getErpOrderResponses() != null && thrOrderExportRequest.getErpOrderResponses().size() > 0) { +// BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); +// bussinessTypeFilterRequest.setEnabled(true); +// List bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest); +// List erpOrderResponses = thrOrderExportRequest.getErpOrderResponses(); +// for (ErpOrderResponse erpOrderResponse : erpOrderResponses) { +// List subErpOrders = erpOrderResponse.getSubErpOrders(); +// for (ErpOrderResponse.SubErpOrder subErpOrder : subErpOrders) { +// List rows = new ArrayList<>(); +// rows.add(erpOrderResponse.getBillNo()); +// rows.add(erpOrderResponse.getBilldate()); +//// BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByThirdId(erpOrderResponse.getCorpId(), bussinessTypeEntity.getThirdSysFk()); +//// if (basicUnitMaintainEntity != null) +//// rows.add(basicUnitMaintainEntity.getErpId()); +//// else +// rows.add(erpOrderResponse.getCorpId()); +// +// rows.add(erpOrderResponse.getCorpName()); +// rows.add(getName(bussinessTypeEntities, erpOrderResponse.getBillType())); +// rows.add(erpOrderResponse.getBillFlag()); +// rows.add(subErpOrder.getProductId()); +// rows.add(subErpOrder.getProductName()); +// rows.add(subErpOrder.getSpec()); +// rows.add(subErpOrder.getBatchNo()); +// rows.add(subErpOrder.getProductDate()); +// rows.add(subErpOrder.getExpireDate()); +// rows.add(subErpOrder.getCount() + ""); +// rows.add(subErpOrder.getReCount() + ""); +// rows.add(erpOrderResponse.getOriginType()); +// excelData.add(rows); +// } +// +// } +// +// } else {//一键导出 +// +// BasicThirdSysDetailEntity basicThirdSysDetailEntity = thrSystemDetailService.selectByKey("orderQueryUrl", bussinessTypeEntity.getThirdSysFk()); +// +// if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) { +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); +// thrOrderExportLogEntity.setRemark("业务单据接口地址未定义"); +// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); +// return; +// } +// if (!basicThirdSysDetailEntity.getEnabled() || basicThirdSysDetailEntity.getThirdSysFk() == null) { +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); +// thrOrderExportLogEntity.setRemark("第三方系统业务单据接口服务未启用"); +// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); +// return; +// } +// +// +// if (basicThirdSysDetailEntity.getFromType() == 0) { +// FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); +// filterThrOrderRequest.setThirdSysFk(bussinessTypeEntity.getThirdSysFk()); +// BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest); +// List> datas = exportThrOrders(filterThrOrderRequest); +// excelData.addAll(datas); +// } else { +// FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); +// BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest); +// List> genDatas = genExcelData(filterThrOrderRequest); +// if (genDatas != null && genDatas.size() > 0) { +// excelData.addAll(genDatas); +// } +// } +// +// } +// String sheetName = "业务单据"; +// new ExcelUtil().exportExcel(excelData, sheetName, thrOrderExportLogEntity.getFilePath(), 20); +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); + } +// +// +// @Async +// public void genJsonFile(String genKey, ThrOrderExportRequest thrOrderExportRequest) { +// ThrOrderExportJsonResponse thrOrderExportJsonResponse = new ThrOrderExportJsonResponse(); +// ThrOrderExportLogEntity thrOrderExportLogEntity = thrOrderExportLogService.selectByGenKey(genKey); +// BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(thrOrderExportRequest.getBillAction()); +// List erpOrderResponses = thrOrderExportRequest.getErpOrderResponses(); +// //选中导出 +// if (thrOrderExportRequest.getErpOrderResponses() != null && thrOrderExportRequest.getErpOrderResponses().size() > 0) { +// BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); +// bussinessTypeFilterRequest.setEnabled(true); +// if (erpOrderResponses != null && erpOrderResponses.size() > 0) { +// List thrOrderEntities = new ArrayList<>(); +// List thrOrderDetailEntities = new ArrayList<>(); +// for (ErpOrderResponse erpOrderResponse : erpOrderResponses) { +// ThrOrderEntity thrOrderEntity = new ThrOrderEntity(); +// BeanUtils.copyProperties(erpOrderResponse, thrOrderEntity); +// thrOrderEntities.add(thrOrderEntity); +// if (erpOrderResponse.getSubErpOrders() != null && erpOrderResponse.getSubErpOrders().size() > 0) { +// for (ErpOrderResponse.SubErpOrder subErpOrder : erpOrderResponse.getSubErpOrders()) { +// ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity(); +// BeanUtils.copyProperties(subErpOrder, thrOrderDetailEntity); +// thrOrderDetailEntities.add(thrOrderDetailEntity); +// } +// } +// } +// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities); +// thrOrderExportJsonResponse.setThrOrderDetailEntities(thrOrderDetailEntities); +// } +// } else {//一键导出 +// BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("orderQueryUrl", bussinessTypeEntity.getThirdSysFk()); +// if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) { +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); +// thrOrderExportLogEntity.setRemark("业务单据接口地址未定义"); +// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); +// return; +// } +// if (!basicThirdSysDetailEntity.getEnabled() || basicThirdSysDetailEntity.getThirdSysFk() == null) { +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); +// thrOrderExportLogEntity.setRemark("第三方系统业务单据接口服务未启用"); +// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); +// return; +// } +// if (basicThirdSysDetailEntity.getFromType() == 0) { +// FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); +// filterThrOrderRequest.setThirdSysFk(bussinessTypeEntity.getThirdSysFk()); +// BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest); +// erpOrderResponses = getThrOrders(filterThrOrderRequest); +// if (erpOrderResponses != null && erpOrderResponses.size() > 0) { +// List thrOrderEntities = new ArrayList<>(); +// List thrOrderDetailEntities = new ArrayList<>(); +// for (ErpOrderResponse erpOrderResponse : erpOrderResponses) { +// ThrOrderEntity thrOrderEntity = new ThrOrderEntity(); +// BeanUtils.copyProperties(erpOrderResponse, thrOrderEntity); +// thrOrderEntities.add(thrOrderEntity); +// if (erpOrderResponse.getSubErpOrders() != null && erpOrderResponse.getSubErpOrders().size() > 0) { +// for (ErpOrderResponse.SubErpOrder subErpOrder : erpOrderResponse.getSubErpOrders()) { +// ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity(); +// BeanUtils.copyProperties(subErpOrder, thrOrderDetailEntity); +// thrOrderDetailEntities.add(thrOrderDetailEntity); +// } +// } +// } +// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities); +// thrOrderExportJsonResponse.setThrOrderDetailEntities(thrOrderDetailEntities); +// } +// } else { +// FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); +// BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest); +// List thrOrderEntities = thrOrderService.filterThrOrder(filterThrOrderRequest); +// List results = new ArrayList<>(); +// for (ThrOrderEntity thrOrderEntity : thrOrderEntities) { +// FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); +// filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); +// List thrOrderDetailEntities = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest); +// if (thrOrderDetailEntities != null) { +// results.addAll(thrOrderDetailEntities); +// } +// +// } +// +// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities); +// thrOrderExportJsonResponse.setThrOrderDetailEntities(results); +// } +// +// } +// FileWriter writer = new FileWriter(thrOrderExportLogEntity.getFilePath()); +// writer.write(JSONUtil.toJsonStr(thrOrderExportJsonResponse)); +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); +// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); +// } +// +// +// @Async +// public void uploadSpssync(String genKey, ThrOrderExportRequest thrOrderExportRequest) { +// +// ThrOrderExportJsonResponse thrOrderExportJsonResponse = new ThrOrderExportJsonResponse(); +// ThrOrderExportLogEntity thrOrderExportLogEntity = thrOrderExportLogService.selectByGenKey(genKey); +// BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(thrOrderExportRequest.getBillAction()); +// List erpOrderResponses = thrOrderExportRequest.getErpOrderResponses(); +// //选中导出 +// if (thrOrderExportRequest.getErpOrderResponses() != null && thrOrderExportRequest.getErpOrderResponses().size() > 0) { +// BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); +// bussinessTypeFilterRequest.setEnabled(true); +// if (erpOrderResponses != null && erpOrderResponses.size() > 0) { +// List thrOrderEntities = new ArrayList<>(); +// List thrOrderDetailEntities = new ArrayList<>(); +// for (ErpOrderResponse erpOrderResponse : erpOrderResponses) { +// ThrOrderEntity thrOrderEntity = new ThrOrderEntity(); +// BeanUtils.copyProperties(erpOrderResponse, thrOrderEntity); +// thrOrderEntities.add(thrOrderEntity); +// if (erpOrderResponse.getSubErpOrders() != null && erpOrderResponse.getSubErpOrders().size() > 0) { +// for (ErpOrderResponse.SubErpOrder subErpOrder : erpOrderResponse.getSubErpOrders()) { +// ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity(); +// BeanUtils.copyProperties(subErpOrder, thrOrderDetailEntity); +// thrOrderDetailEntities.add(thrOrderDetailEntity); +// } +// } +// } +// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities); +// thrOrderExportJsonResponse.setThrOrderDetailEntities(thrOrderDetailEntities); +// } +// } else {//一键导出 +// BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("orderQueryUrl", bussinessTypeEntity.getThirdSysFk()); +// if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) { +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); +// thrOrderExportLogEntity.setRemark("业务单据接口地址未定义"); +// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); +// return; +// } +// if (!basicThirdSysDetailEntity.getEnabled() || basicThirdSysDetailEntity.getThirdSysFk() == null) { +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); +// thrOrderExportLogEntity.setRemark("第三方系统业务单据接口服务未启用"); +// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); +// return; +// } +// if (basicThirdSysDetailEntity.getFromType() == 0) { +// FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); +// filterThrOrderRequest.setThirdSysFk(bussinessTypeEntity.getThirdSysFk()); +// BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest); +// erpOrderResponses = getThrOrders(filterThrOrderRequest); +// if (erpOrderResponses != null && erpOrderResponses.size() > 0) { +// List thrOrderEntities = new ArrayList<>(); +// List thrOrderDetailEntities = new ArrayList<>(); +// for (ErpOrderResponse erpOrderResponse : erpOrderResponses) { +// ThrOrderEntity thrOrderEntity = new ThrOrderEntity(); +// BeanUtils.copyProperties(erpOrderResponse, thrOrderEntity); +// thrOrderEntities.add(thrOrderEntity); +// if (erpOrderResponse.getSubErpOrders() != null && erpOrderResponse.getSubErpOrders().size() > 0) { +// for (ErpOrderResponse.SubErpOrder subErpOrder : erpOrderResponse.getSubErpOrders()) { +// ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity(); +// BeanUtils.copyProperties(subErpOrder, thrOrderDetailEntity); +// thrOrderDetailEntities.add(thrOrderDetailEntity); +// } +// } +// } +// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities); +// thrOrderExportJsonResponse.setThrOrderDetailEntities(thrOrderDetailEntities); +// } +// } else { +// FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); +// BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest); +// List thrOrderEntities = thrOrderService.filterThrOrder(filterThrOrderRequest); +// List results = new ArrayList<>(); +// for (ThrOrderEntity thrOrderEntity : thrOrderEntities) { +// FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); +// filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); +// List thrOrderDetailEntities = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest); +// if (thrOrderDetailEntities != null) { +// results.addAll(thrOrderDetailEntities); +// } +// +// } +// +// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities); +// thrOrderExportJsonResponse.setThrOrderDetailEntities(results); +// } +// +// } +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); +// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); +// String response = httpOkClient.uCloudPost(getIpUrl() + "/spssync/thirdsys/order/upload", thrOrderExportJsonResponse); +// BaseResponse baseResponse = JSONObject.parseObject(response, new TypeReference() { +// }); +// if (baseResponse.getCode() == 20000) { +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); +// } else { +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); +// } +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); +// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); +// } +// +// public String getName(List bussinessTypeEntities, String action) { +// for (BussinessTypeEntity bussinessTypeEntity : bussinessTypeEntities) { +// if (bussinessTypeEntity.getAction().equals(action)) { +// return bussinessTypeEntity.getName(); +// } +// } +// return action; +// } +// + @Async + public void uploadSmp(String genKey, ThrOrderExportRequest thrOrderExportRequest) { + + ThrOrderExportLogEntity thrOrderExportLogEntity = thrOrderExportLogService.selectByGenKey(genKey); + PostThrOrderRequest postThrOrderRequest = new PostThrOrderRequest(); + //选中导出 + if (thrOrderExportRequest.getErpOrderResponses() != null && thrOrderExportRequest.getErpOrderResponses().size() > 0) { + List erpOrderResponses = thrOrderExportRequest.getErpOrderResponses(); + postThrOrderRequest.setDatas(erpOrderResponses); + } else {//一键导出 + List erpOrderResponses = new ArrayList<>(); + ThrSystemDetailEntity thrSystemDetailEntity = thrSystemDetailService.selectByKey("orderQueryUrl", thrOrderExportRequest.getThirdSysFk()); + if (thrSystemDetailEntity == null || thrSystemDetailEntity.getValue() == null) { + thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + thrOrderExportLogEntity.setRemark("往来单位接口地址未定义"); + thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); + return; + } + if (!thrSystemDetailEntity.getEnabled()) { + thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + thrOrderExportLogEntity.setRemark("第三方接口往来单位服务接口未启用"); + thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); + return; + } + + if (thrSystemDetailEntity.getFromType() == 0) { + FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); + BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest); + List datas = getThrOrders(filterThrOrderRequest); + erpOrderResponses.addAll(datas); + } else { + FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); + BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest); + List thrOrderEntities = thrOrderService.filterThrOrder(filterThrOrderRequest); + for (ThrOrderEntity thrOrderEntity : thrOrderEntities) { + ThrOrderResponse erpOrderResponse = new ThrOrderResponse(); + BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse); + FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); + filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); + List thrOrderDetailEntities = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest); + if (thrOrderDetailEntities != null) { + List subErpOrders = new ArrayList<>(); + for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + ThrOrderResponse.SubErpOrder subErpOrder = new ThrOrderResponse.SubErpOrder(); + BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder); + subErpOrders.add(subErpOrder); + } + erpOrderResponse.setSubErpOrders(subErpOrders); + } + erpOrderResponses.add(erpOrderResponse); + } + + } + postThrOrderRequest.setDatas(erpOrderResponses); + } + //toDo 上傳SMP + postThrOrderRequest.setGenKey(genKey); + postThrOrderRequest.setThirdSys(thrOrderExportRequest.getThirdSysFk()); +// SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("smp_service_ip"); +// if (systemParamConfigEntity != null) { + String response = httpOkClient.uCloudPost(getIpUrl() + "/udiwms/thrsys/postOrderDetail", postThrOrderRequest); + BaseResponse baseResponse = JSONObject.parseObject(response, new TypeReference() { + }); + if (baseResponse.getCode() == 20000) { + thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + } else { + thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + } +// } else { +// thrOrderExportLogEntity.setRemark("SMP服务IP地址未定义!"); +// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); +// } + + thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity); + } + + + public int getOrders(int page, int limit, String orderUrl, String thirdSys, ThrOrderImportLogEntity + thrOrderImportLogEntity, String action, FilterThrOrderRequest filterThrOrderRequest) { + if (filterThrOrderRequest == null) + filterThrOrderRequest = new FilterThrOrderRequest(); + filterThrOrderRequest.setPage(page); + filterThrOrderRequest.setLimit(limit); + filterThrOrderRequest.setBillAction(action); + FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); + BeanUtils.copyProperties(filterThrOrderRequest, filterOrderRequest); + BaseResponse> responseBaseResponse = erpOrderClient.getThrOrderResponse(filterOrderRequest); + if (responseBaseResponse != null && responseBaseResponse.getCode() == 20000) { + List erpOrderResponses = responseBaseResponse.getData().getList(); + if (erpOrderResponses != null && erpOrderResponses.size() > 0) { + for (ThrOrderResponse erpOrderResponse : erpOrderResponses) { + ThrOrderEntity thrOrderEntity = new ThrOrderEntity(); + BeanUtils.copyProperties(erpOrderResponse, thrOrderEntity); + thrOrderEntity.setThirdSysFk(thirdSys); + thrOrderEntity.setUpdateTime(new Date()); + thrOrderService.insertThrOrder(thrOrderEntity); +// thrOrderEntity = thrOrderService.findByUnique(thrOrderEntity.getBillNo(), thrOrderEntity.getThirdSysFk()); + List thrOrderDetailEntities = new ArrayList<>(); + for (ThrOrderResponse.SubErpOrder subPurchase : erpOrderResponse.getSubErpOrders()) { + ThrOrderImportDetailEntity thrOrderDetailEntity = new ThrOrderImportDetailEntity(); + BeanUtils.copyProperties(subPurchase, thrOrderDetailEntity); + BeanUtils.copyProperties(erpOrderResponse, thrOrderDetailEntity); + thrOrderDetailEntity.setGenKeyFk(thrOrderImportLogEntity.getGenKey()); + thrOrderDetailEntity.setThirdSysFk(thirdSys); + thrOrderDetailEntity.setUpdateTime(new Date()); + thrOrderDetailEntities.add(thrOrderDetailEntity); + } + thrOrderImportDetailService.insertOrderImportDetails(thrOrderDetailEntities); + } + page++; + if (page * limit < responseBaseResponse.getData().getTotal()) { + return page; + } + } + } else { + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + if (responseBaseResponse != null) { + thrOrderImportLogEntity.setRemark(responseBaseResponse.getMessage()); + } else { + thrOrderImportLogEntity.setRemark("第三方服务出错!"); + } + thrOrderImportLogService.updateImportLog(thrOrderImportLogEntity); + return -1; + } + return -1; + } +// +// public List> exportThrOrders(FilterThrOrderRequest filterThrOrderRequest) { +// BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); +// bussinessTypeFilterRequest.setEnabled(true); +// List bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest); +// BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("orderQueryUrl", filterThrOrderRequest.getThirdSysFk()); +// int page = 1; +// int limit = 100; +// List erpOrderResponseList = new ArrayList<>(); +// while (true) { +// List datas = getThrOrders(page, limit, basicThirdSysDetailEntity.getValue(), filterThrOrderRequest); +// if (datas != null && datas.size() >= limit) { +// erpOrderResponseList.addAll(datas); +// page++; +// +// } else { +// if (datas != null) { +// erpOrderResponseList.addAll(datas); +// } +// break; +// } +// } +// List> excelData = new ArrayList<>(); +// for (ErpOrderResponse erpOrderResponse : erpOrderResponseList) { +// for (ErpOrderResponse.SubErpOrder subPurchase : erpOrderResponse.getSubErpOrders()) { +// List rows = new ArrayList<>(); +// rows.add(erpOrderResponse.getBillNo()); +// rows.add(erpOrderResponse.getBilldate()); +// BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByThirdId(erpOrderResponse.getCorpId(), filterThrOrderRequest.getThirdSysFk()); +//// if (basicUnitMaintainEntity != null) +//// rows.add(basicUnitMaintainEntity.getErpId()); +//// else +// rows.add(erpOrderResponse.getCorpId()); +//// rows.add(basicUnitMaintainEntity.getErpId()); +//// rows.add(erpOrderResponse.getCorpId()); +// rows.add(erpOrderResponse.getCorpName()); +// rows.add(getName(bussinessTypeEntities, erpOrderResponse.getBillType())); +//// rows.add(erpOrderResponse.getBillType()); +// rows.add(erpOrderResponse.getBillFlag()); +// rows.add(subPurchase.getProductId()); +// rows.add(subPurchase.getProductName()); +// rows.add(subPurchase.getSpec()); +// rows.add(subPurchase.getBatchNo()); +// rows.add(subPurchase.getProductDate()); +// rows.add(subPurchase.getExpireDate()); +// rows.add(subPurchase.getCount() + ""); +// rows.add(subPurchase.getReCount() + ""); +// rows.add(erpOrderResponse.getOriginType()); +// excelData.add(rows); +// } +// } +// return excelData; +// } +// + public List getThrOrders(FilterThrOrderRequest filterThrOrderRequest) { + ThrSystemDetailEntity thrSystemDetailEntity = thrSystemDetailService.selectByKey("orderQueryUrl", filterThrOrderRequest.getThirdSysFk()); + int page = 1; + int limit = 100; + List erpOrderResponseList = new ArrayList<>(); + while (true) { + List datas = getThrOrders(page, limit, thrSystemDetailEntity.getValue(), filterThrOrderRequest); + if (datas != null && datas.size() >= limit) { + erpOrderResponseList.addAll(datas); + page++; + + } else { + if (datas != null) { + erpOrderResponseList.addAll(datas); + } + break; + } + } + return erpOrderResponseList; + } + + public List getThrOrders(int page, int limit, String orderQueryUrl, FilterThrOrderRequest + filterThrOrderRequest) { + FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); + BeanUtils.copyProperties(filterThrOrderRequest, filterOrderRequest); + filterOrderRequest.setPage(page); + filterOrderRequest.setLimit(limit); + BaseResponse> responseBaseResponse = erpOrderClient.getThrOrderResponse(filterOrderRequest); + if (responseBaseResponse != null && responseBaseResponse.getCode() == 20000) { + List erpOrderResponses = responseBaseResponse.getData().getList(); + if (erpOrderResponses != null && erpOrderResponses.size() > 0) { + return erpOrderResponses; + } + } + + return null; + } +// +// public List> genExcelData(FilterThrOrderRequest filterThrOrderRequest) { +// +// BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); +// bussinessTypeFilterRequest.setEnabled(true); +// List bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest); +// List> excelData = new ArrayList<>(); +// List thrOrderEntities = thrOrderService.filterThrOrder(filterThrOrderRequest); +// for (ThrOrderEntity thrOrderEntity : thrOrderEntities) { +// FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); +// filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); +// List thrOrderDetailEntities = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest); +// if (thrOrderDetailEntities != null) { +// for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { +// List rows = new ArrayList<>(); +// rows.add(thrOrderEntity.getBillNo()); +// rows.add(thrOrderEntity.getBilldate()); +// +//// BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByThirdId(thrOrderEntity.getCorpId(), filterThrOrderRequest.getThirdSysFk()); +//// if (basicUnitMaintainEntity != null) +//// rows.add(basicUnitMaintainEntity.getErpId()); +//// else +// rows.add(thrOrderEntity.getCorpId()); +// +//// rows.add(thrOrderEntity.getCorpId()); +// rows.add(thrOrderEntity.getCorpName()); +// rows.add(getName(bussinessTypeEntities, thrOrderEntity.getBillType())); +// rows.add(thrOrderEntity.getBillFlag()); +// rows.add(thrOrderDetailEntity.getProductId()); +// rows.add(thrOrderDetailEntity.getProductName()); +// rows.add(thrOrderDetailEntity.getSpec()); +// rows.add(thrOrderDetailEntity.getBatchNo()); +// rows.add(thrOrderDetailEntity.getProductDate()); +// rows.add(thrOrderDetailEntity.getExpireDate()); +// rows.add(thrOrderDetailEntity.getCount() + ""); +// rows.add(thrOrderDetailEntity.getReCount() + ""); +// rows.add(thrOrderEntity.getOriginType()); +// excelData.add(rows); +// } +// } +// +// } +// return excelData; +// } +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderDetailServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderDetailServiceImpl.java new file mode 100644 index 000000000..9aa3dd5a4 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderDetailServiceImpl.java @@ -0,0 +1,67 @@ +package com.glxp.api.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.thrsys.ThrOrderDetailDao; +import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; +import com.glxp.api.req.thrsys.FilterThrOrderDetailRequest; +import com.glxp.api.service.thrsys.ThrOrderDetailService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrOrderDetailServiceImpl implements ThrOrderDetailService { + + @Resource + ThrOrderDetailDao thrOrderDetailDao; + + @Override + public List filterThrOrderDetailDetail(FilterThrOrderDetailRequest filterThrOrderDetailRequest) { + if (filterThrOrderDetailRequest == null) { + return Collections.emptyList(); + } + if (filterThrOrderDetailRequest.getPage() != null) { + int offset = (filterThrOrderDetailRequest.getPage() - 1) * filterThrOrderDetailRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrOrderDetailRequest.getLimit()); + } + List data = thrOrderDetailDao.filterThrOrderDetailDetail(filterThrOrderDetailRequest); + return data; + } + + @Override + public boolean insertThrOrderDetail(ThrOrderDetailEntity thrOrderDetailEntity) { + return thrOrderDetailDao.insertThrOrderDetail(thrOrderDetailEntity); + } + + @Override + public boolean insertThrOrderDetails(List thrOrderDetailEntities) { + return thrOrderDetailDao.insertThrOrderDetails(thrOrderDetailEntities); + } + + @Override + public boolean updateThrOrderDetail(ThrOrderDetailEntity thrOrderDetailEntity) { + return thrOrderDetailDao.updateThrOrderDetail(thrOrderDetailEntity); + } + + @Override + public boolean deleteById(String id) { + return thrOrderDetailDao.deleteById(id); + } + + @Override + public boolean deleteByOrderIdFk(String id) { + return thrOrderDetailDao.deleteByOrderIdFk(id); + } + + @Override + public boolean deleteAll() { + return thrOrderDetailDao.deleteAll(); + } + + @Override + public boolean deleteByTime() { + return thrOrderDetailDao.deleteByTime(); + } +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderExportLogServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderExportLogServiceImpl.java new file mode 100644 index 000000000..87ff8fa88 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderExportLogServiceImpl.java @@ -0,0 +1,63 @@ +package com.glxp.api.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.thrsys.ThrOrderExportLogDao; +import com.glxp.api.entity.thrsys.ThrOrderExportLogEntity; +import com.glxp.api.req.thrsys.FilterThrCorpImportLogRequest; +import com.glxp.api.service.thrsys.ThrOrderExportLogService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrOrderExportLogServiceImpl implements ThrOrderExportLogService { + + @Resource + ThrOrderExportLogDao thrOrderExportLogDao; + + @Override + public ThrOrderExportLogEntity selectByGenKey(String genKey) { + FilterThrCorpImportLogRequest filterUdiEpLogRequest = new FilterThrCorpImportLogRequest(); + filterUdiEpLogRequest.setGenKey(genKey); + List thrOrderExportLogEntities = thrOrderExportLogDao.filterThrOrderExportLog(filterUdiEpLogRequest); + if (thrOrderExportLogEntities != null) { + return thrOrderExportLogEntities.get(0); + } + return null; + } + + @Override + public List filterThrOrderExportLog(FilterThrCorpImportLogRequest filterThrCorpImportLogRequest) { + if (filterThrCorpImportLogRequest == null) { + return Collections.emptyList(); + } + if (filterThrCorpImportLogRequest.getPage() != null) { + int offset = (filterThrCorpImportLogRequest.getPage() - 1) * filterThrCorpImportLogRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrCorpImportLogRequest.getLimit()); + } + List data = thrOrderExportLogDao.filterThrOrderExportLog(filterThrCorpImportLogRequest); + return data; + } + + @Override + public boolean insertThrOrderExportLog(ThrOrderExportLogEntity thrOrderExportLogEntity) { + return thrOrderExportLogDao.insertThrOrderExportLog(thrOrderExportLogEntity); + } + + @Override + public boolean updateThrOrderExportLog(ThrOrderExportLogEntity thrOrderExportLogEntity) { + return thrOrderExportLogDao.updateThrOrderExportLog(thrOrderExportLogEntity); + } + + @Override + public boolean deleteById(String id) { + return thrOrderExportLogDao.deleteById(id); + } + + @Override + public boolean deleteByTime() { + return thrOrderExportLogDao.deleteByTime(); + } +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderImportDetailServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderImportDetailServiceImpl.java new file mode 100644 index 000000000..5fd93c049 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderImportDetailServiceImpl.java @@ -0,0 +1,62 @@ +package com.glxp.api.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.thrsys.ThrOrderImportDetailDao; +import com.glxp.api.entity.thrsys.ThrOrderImportDetailEntity; +import com.glxp.api.req.thrsys.FilterThrCorpImportLogRequest; +import com.glxp.api.service.thrsys.ThrOrderImportDetailService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrOrderImportDetailServiceImpl implements ThrOrderImportDetailService { + + @Resource + ThrOrderImportDetailDao thrOrderImportDetailDao; + + @Override + public List filterOrderImportDetail(FilterThrCorpImportLogRequest filterThrCorpImportLogRequest) { + if (filterThrCorpImportLogRequest == null) { + return Collections.emptyList(); + } + if (filterThrCorpImportLogRequest.getPage() != null) { + int offset = (filterThrCorpImportLogRequest.getPage() - 1) * filterThrCorpImportLogRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrCorpImportLogRequest.getLimit()); + } + List data = thrOrderImportDetailDao.filterOrderdDetailImport(filterThrCorpImportLogRequest); + return data; + } + + @Override + public boolean insertOrderImportDetail(ThrOrderImportDetailEntity thrOrderImportDetailEntity) { + return thrOrderImportDetailDao.insertOrderdDetailImport(thrOrderImportDetailEntity); + } + + @Override + public boolean updateOrderImportDetail(ThrOrderImportDetailEntity thrOrderImportDetailEntity) { + return thrOrderImportDetailDao.updateOrderdDetailImport(thrOrderImportDetailEntity); + } + + @Override + public boolean insertOrderImportDetails(List thrOrderImportDetailEntities) { + return thrOrderImportDetailDao.insertOrderdDetailImports(thrOrderImportDetailEntities); + } + + @Override + public boolean deleteById(String id) { + return thrOrderImportDetailDao.deleteById(id); + } + + @Override + public boolean deleteByTime() { + return thrOrderImportDetailDao.deleteByTime(); + } + + @Override + public boolean deleteByGenkey(String genKey) { + return thrOrderImportDetailDao.deleteByGenkey(genKey); + } +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderImportLogServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderImportLogServiceImpl.java new file mode 100644 index 000000000..cf36b1456 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderImportLogServiceImpl.java @@ -0,0 +1,128 @@ +package com.glxp.api.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.constant.BasicProcessStatus; +import com.glxp.api.dao.thrsys.ThrOrderImportLogDao; +import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; +import com.glxp.api.entity.thrsys.ThrOrderEntity; +import com.glxp.api.entity.thrsys.ThrOrderImportDetailEntity; +import com.glxp.api.entity.thrsys.ThrOrderImportLogEntity; +import com.glxp.api.req.thrsys.FilterThrCorpImportLogRequest; +import com.glxp.api.service.thrsys.ThrOrderDetailService; +import com.glxp.api.service.thrsys.ThrOrderImportDetailService; +import com.glxp.api.service.thrsys.ThrOrderImportLogService; +import com.glxp.api.service.thrsys.ThrOrderService; +import org.springframework.beans.BeanUtils; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +@Service +public class ThrOrderImportLogServiceImpl implements ThrOrderImportLogService { + @Resource + ThrOrderImportLogDao thrOrderImportLogDao; + + @Resource + ThrOrderImportLogService thrOrderImportLogService; + @Resource + ThrOrderImportDetailService thrOrderImportDetailService; + @Resource + ThrOrderService thrOrderService; + @Resource + ThrOrderDetailService thrOrderDetailService; + + @Override + public ThrOrderImportLogEntity selectByGenKey(String genKey) { + FilterThrCorpImportLogRequest filterThrCorpImportLogRequest = new FilterThrCorpImportLogRequest(); + filterThrCorpImportLogRequest.setGenKey(genKey); + List data = thrOrderImportLogDao.filterThrOrderImportLog(filterThrCorpImportLogRequest); + if (data != null && data.size() > 0) { + return data.get(0); + } + return null; + } + + @Override + public List filterThrOrderImportLog(FilterThrCorpImportLogRequest filterThrCorpImportLogRequest) { + if (filterThrCorpImportLogRequest == null) { + return Collections.emptyList(); + } + if (filterThrCorpImportLogRequest.getPage() != null) { + int offset = (filterThrCorpImportLogRequest.getPage() - 1) * filterThrCorpImportLogRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrCorpImportLogRequest.getLimit()); + } + List data = thrOrderImportLogDao.filterThrOrderImportLog(filterThrCorpImportLogRequest); + return data; + + } + + @Override + public boolean insertImportLog(ThrOrderImportLogEntity thrOrderImportLogEntity) { + return thrOrderImportLogDao.insertImportLog(thrOrderImportLogEntity); + } + + @Override + public boolean updateImportLog(ThrOrderImportLogEntity thrOrderImportLogEntity) { + return thrOrderImportLogDao.updateImportLog(thrOrderImportLogEntity); + } + + @Override + public boolean deleteById(String id) { + return thrOrderImportLogDao.deleteById(id); + } + + @Override + public boolean deleteByTime() { + return thrOrderImportLogDao.deleteByTime(); + } + + @Async + public void importThrOrder(String genKey) { + ThrOrderImportLogEntity thrOrderImportLogEntity = thrOrderImportLogService.selectByGenKey(genKey); + if (thrOrderImportLogEntity.getStatus() == BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS) { + FilterThrCorpImportLogRequest filterUdiIpLogRequest = new FilterThrCorpImportLogRequest(); + filterUdiIpLogRequest.setGenKey(genKey); + List thrOrderImportDetailEntities = thrOrderImportDetailService.filterOrderImportDetail(filterUdiIpLogRequest); + if (thrOrderImportDetailEntities != null && thrOrderImportDetailEntities.size() > 0) { + Map> map = thrOrderImportDetailEntities.stream().collect(Collectors.groupingBy(ThrOrderImportDetailEntity::getBillNo)); + for (List datas : map.values()) { + ThrOrderImportDetailEntity thrOrderImportDetailEntity = datas.get(0); + ThrOrderEntity thrOrderEntity = new ThrOrderEntity(); + BeanUtils.copyProperties(thrOrderImportDetailEntity, thrOrderEntity); + thrOrderEntity.setUpdateTime(new Date()); +// BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByName(thrOrderEntity.getBillType()); +// if (bussinessTypeEntity != null) { +// thrOrderEntity.setBillType(bussinessTypeEntity.getAction()); +// } + thrOrderService.insertThrOrder(thrOrderEntity); + thrOrderEntity = thrOrderService.findByUnique(thrOrderEntity.getBillNo(), thrOrderEntity.getThirdSysFk()); + ThrOrderEntity finalThrOrderEntity = thrOrderEntity; + List postDatas = datas.stream().map(item -> + { + ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity(); + thrOrderDetailEntity.setUpdateTime(new Date()); + BeanUtils.copyProperties(item, thrOrderDetailEntity); + + thrOrderDetailEntity.setOrderIdFk(finalThrOrderEntity.getId() + ""); + return thrOrderDetailEntity; + }).collect(Collectors.toList()); + thrOrderDetailService.insertThrOrderDetails(postDatas); + + } + + thrOrderImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + thrOrderImportLogService.updateImportLog(thrOrderImportLogEntity); + + } + } + + } + +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderServiceImpl.java new file mode 100644 index 000000000..a12a43b81 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrOrderServiceImpl.java @@ -0,0 +1,191 @@ +package com.glxp.api.service.thrsys.impl; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; + +import com.glxp.api.dao.thrsys.ThrOrderDao; +import com.glxp.api.dao.thrsys.ThrOrderDetailDao; +import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; +import com.glxp.api.entity.thrsys.ThrOrderEntity; +import com.glxp.api.req.thrsys.FilterThrOrderDetailRequest; +import com.glxp.api.req.thrsys.FilterThrOrderRequest; +import com.glxp.api.res.thrsys.ThrErpOrderResponse; +import com.glxp.api.res.thrsys.ThrOrderResponse; +import com.glxp.api.service.thrsys.ThrOrderService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@Service +public class ThrOrderServiceImpl implements ThrOrderService { + @Resource + private ThrOrderDao thrOrderDao; + @Resource + private ThrOrderDetailDao thrOrderDetailDao; + + @Override + public List filterThrOrder(FilterThrOrderRequest filterThrOrderRequest) { + if (filterThrOrderRequest == null) { + return Collections.emptyList(); + } + if (filterThrOrderRequest.getPage() != null) { + int offset = (filterThrOrderRequest.getPage() - 1) * filterThrOrderRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrOrderRequest.getLimit()); + } + List data = thrOrderDao.filterThrOrder(filterThrOrderRequest); + return data; + } + + @Override + public List filterReceiveOrder(FilterThrOrderRequest filterThrOrderRequest) { + if (filterThrOrderRequest == null) { + return Collections.emptyList(); + } + if (filterThrOrderRequest.getPage() != null) { + int offset = (filterThrOrderRequest.getPage() - 1) * filterThrOrderRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrOrderRequest.getLimit()); + } + List data = thrOrderDao.filterReceiveOrder(filterThrOrderRequest); + return data; + } + + + @Override + public List filterAllOrders(List billNos, String thirdSys) { + List erpOrderEntities = new ArrayList<>(); + for (String billNo : billNos) { + FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); + filterThrOrderRequest.setBillNo(billNo); + filterThrOrderRequest.setThirdSysFk(thirdSys); + List data = thrOrderDao.filterThrOrder(filterThrOrderRequest); + if (data != null && data.size() > 0) { + for (ThrOrderEntity thrOrderEntity : data) { + FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); + filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); + List thrOrderDetailEntities = thrOrderDetailDao.filterThrOrderDetailDetail(filterThrOrderDetailRequest); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + ThrErpOrderResponse thrErpOrderResponse = new ThrErpOrderResponse(); + BeanUtils.copyProperties(thrOrderEntity, thrErpOrderResponse); + BeanUtils.copyProperties(thrOrderDetailEntity, thrErpOrderResponse); + thrErpOrderResponse.setCompanyid(thrOrderEntity.getCorpId()); + thrErpOrderResponse.setCompanyname(thrOrderEntity.getCorpName()); + thrErpOrderResponse.setErpOrderId(thrOrderEntity.getBillNo()); + thrErpOrderResponse.setIodtlId(thrOrderEntity.getBillNo()); + thrErpOrderResponse.setErpCount(Integer.valueOf(thrOrderDetailEntity.getCount())); + thrErpOrderResponse.setReCount(Integer.valueOf(thrOrderDetailEntity.getReCount())); + thrErpOrderResponse.setBatchNo(thrOrderDetailEntity.getBatchNo()); + thrErpOrderResponse.setGoodsid(thrOrderDetailEntity.getProductId()); + thrErpOrderResponse.setGoodsname(thrOrderDetailEntity.getProductName()); + thrErpOrderResponse.setCredate(thrOrderDetailEntity.getProductDate()); + thrErpOrderResponse.setExpireDate(thrOrderDetailEntity.getExpireDate()); + thrErpOrderResponse.setPackSpec(thrOrderDetailEntity.getSpec()); + erpOrderEntities.add(thrErpOrderResponse); + } + } + } + } + } + return erpOrderEntities; + } + + @Override + public List filterAllDetail(FilterThrOrderRequest filterThrOrderRequest) { + + List erpOrderResponses = new ArrayList<>(); + List data = filterThrOrder(filterThrOrderRequest); + if (data != null && data.size() > 0) { + for (ThrOrderEntity thrOrderEntity : data) { + FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); + filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); + List thrOrderDetailEntities = thrOrderDetailDao.filterThrOrderDetailDetail(filterThrOrderDetailRequest); + ThrOrderResponse erpOrderResponse = new ThrOrderResponse(); + BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse); + List subErpOrders = new ArrayList<>(); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + ThrOrderResponse.SubErpOrder subErpOrder = new ThrOrderResponse.SubErpOrder(); + BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder); + subErpOrders.add(subErpOrder); + } + } + erpOrderResponse.setSubErpOrders(subErpOrders); + erpOrderResponses.add(erpOrderResponse); + } + } + + return erpOrderResponses; + } + + @Override + public ThrOrderEntity findByUnique(String billNo, String thirdSysFk) { + + if (StrUtil.isEmpty(billNo) || StrUtil.isEmpty(thirdSysFk)) { + return null; + } + + FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); + filterThrOrderRequest.setBillNo(billNo); + filterThrOrderRequest.setThirdSysFk(thirdSysFk); + List thrOrderEntities = filterThrOrder(filterThrOrderRequest); + if (thrOrderEntities != null && thrOrderEntities.size() > 0) { + return thrOrderEntities.get(0); + } + return null; + } + + @Override + public ThrOrderEntity findReceiveOrder(String billNo) { + if (StrUtil.isEmpty(billNo)) { + return null; + } + FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); + filterThrOrderRequest.setBillNo(billNo); + filterThrOrderRequest.setType(1); + List thrOrderEntities = filterThrOrder(filterThrOrderRequest); + if (thrOrderEntities != null && thrOrderEntities.size() > 0) { + return thrOrderEntities.get(0); + } + return null; + } + + @Override + public ThrOrderEntity findById(String id) { + FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); + filterThrOrderRequest.setId(id); + List thrOrderEntities = filterThrOrder(filterThrOrderRequest); + if (thrOrderEntities != null && thrOrderEntities.size() > 0) { + return thrOrderEntities.get(0); + } + return null; + } + + @Override + public boolean insertThrOrder(ThrOrderEntity thrCorpEntity) { + return thrOrderDao.insertThrOrder(thrCorpEntity); + } + + @Override + public boolean insertThrOrders(List thrOrderEntities) { + return thrOrderDao.insertThrOrders(thrOrderEntities); + } + + @Override + public boolean updateThrOrder(ThrOrderEntity thrOrderEntity) { + return thrOrderDao.updateThrOrder(thrOrderEntity); + } + + @Override + public boolean deleteById(String id) { + return thrOrderDao.deleteById(id); + } + + @Override + public boolean deleteAll() { + return thrOrderDao.deleteAll(); + } +} diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrOrderDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrOrderDao.xml new file mode 100644 index 000000000..d6d04aff6 --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/ThrOrderDao.xml @@ -0,0 +1,257 @@ + + + + + + + + + + + + replace + INTO thr_order + (id,billNo, billdate, corpId, corpName, billType, billFlag, thirdSysFk, updateTime, originType, unitIdFk, + startDate, endDate, createUser, reviewUser, address, linkMan, linkTel, remark, remark1, remark2, + remark3, locStorageCode,editStatus,invWarehouseCode,thirdPartyDate,fromSubInvCode,`type`,allocateStatus) + values ( + #{id}, + #{billNo}, + #{billdate}, + #{corpId}, + #{corpName}, + #{billType}, + #{billFlag}, + #{thirdSysFk}, + #{updateTime}, + #{originType}, + #{unitIdFk}, + #{startDate}, + #{endDate}, + #{createUser}, + #{reviewUser}, + #{address}, + #{linkMan}, + #{linkTel}, + #{remark}, + #{remark1}, + #{remark2}, + #{remark3}, + #{locStorageCode}, + #{editStatus}, + #{invWarehouseCode}, + #{thirdPartyDate}, + #{fromSubInvCode}, + #{type}, + #{allocateStatus} + ) + + + + replace + INTO thr_order + (id,billNo, billdate, corpId, corpName, billType, billFlag, thirdSysFk, updateTime, originType, + startDate, endDate, createUser, reviewUser, address, linkMan, linkTel, remark, remark1, remark2, + remark3,invWarehouseCode,fromSubInvCode,`type`,allocateStatus) + values ( + #{id}, + #{billNo}, + #{billdate}, + #{corpId}, + #{corpName}, + #{billType}, + #{billFlag}, + #{thirdSysFk}, + #{updateTime}, + #{originType}, + #{startDate}, + #{endDate}, + #{createUser}, + #{reviewUser}, + #{address}, + #{linkMan}, + #{linkTel}, + #{remark}, + #{remark1}, + #{remark2}, + #{remark3}, + #{invWarehouseCode}, + #{fromSubInvCode}, + #{type}, + #{allocateStatus} + ) + + + + replace INTO thr_order + (billNo, billdate, corpId, corpName, billType, billFlag, thirdSysFk, updateTime, originType, unitIdFk, + startDate, endDate, createUser, reviewUser, address, linkMan, linkTel, remark, remark1, remark2, + remark3,locStorageCode,editStatus,invWarehouseCode,fromSubInvCode,`type`,allocateStatus) + values + + (#{item.billNo}, + #{item.billdate}, + #{item.corpId}, + #{item.corpName}, + #{item.billType}, + #{item.billFlag}, + #{item.thirdSysFk}, #{item.updateTime}, #{item.originType}, #{item.unitIdFk}, + #{item.startDate}, #{item.endDate}, #{item.createUser}, #{item.reviewUser}, + #{item.address}, #{item.linkMan}, #{item.linkTel}, #{item.remark}, #{item.remark1}, + #{item.remark2}, + #{item.remark3},#{item.locStorageCode},#{item.editStatus},#{item.invWarehouseCode},#{item.fromSubInvCode},#{item.type},#{item.allocateStatus} + ) + + + + + DELETE + FROM thr_order + WHERE id = #{id} + + + + DELETE + FROM thr_order + + + + UPDATE thr_order + + billNo=#{billNo}, + billdate=#{billdate}, + corpId=#{corpId}, + corpName=#{corpName}, + billType=#{billType}, + billFlag=#{billFlag}, + thirdSysFk=#{thirdSysFk}, + updateTime=#{updateTime}, + originType=#{originType}, + startDate=#{startDate}, + endDate=#{endDate}, + createUser=#{createUser}, + reviewUser=#{reviewUser}, + address=#{address}, + linkMan=#{linkMan}, + linkTel=#{linkTel}, + remark=#{remark}, + remark1=#{remark1}, + remark2=#{remark2}, + remark3=#{remark3}, + locStorageCode=#{locStorageCode}, + editStatus=#{editStatus}, + invWarehouseCode=#{invWarehouseCode}, + fromSubInvCode=#{fromSubInvCode}, + `type`=#{type}, + `allocateStatus`=#{allocateStatus}, + + + WHERE id = #{id} + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrOrderDetailDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrOrderDetailDao.xml new file mode 100644 index 000000000..3241eab9d --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/ThrOrderDetailDao.xml @@ -0,0 +1,134 @@ + + + + + + + + + + replace + INTO thr_order_detail + (productId, productName, spec, batchNo, expireDate, + productDate, `count`, reCount, orderIdFk, thirdSysFk, updateTime, price, corpName,ylqxzcrbarmc,zczbhhzbapzbh,manufactory) + values ( + #{productId}, + #{productName}, + #{spec}, + #{batchNo}, + #{expireDate}, + #{productDate}, + #{count}, + #{reCount}, + #{orderIdFk}, + #{thirdSysFk}, + #{updateTime}, + #{price}, + #{corpName}, + #{ylqxzcrbarmc}, + #{zczbhhzbapzbh}, + #{manufactory} + ) + + + + replace + INTO thr_order_detail + (id,productId, productName, spec, batchNo, expireDate, + productDate, `count`, reCount, orderIdFk, thirdSysFk, updateTime, price, corpName,ylqxzcrbarmc,zczbhhzbapzbh,manufactory) + values ( + #{id}, + #{productId}, + #{productName}, + #{spec}, + #{batchNo}, + #{expireDate}, + #{productDate}, + #{count}, + #{reCount}, + #{orderIdFk}, + #{thirdSysFk}, + #{updateTime}, + #{price}, + #{corpName}, + #{ylqxzcrbarmc}, + #{zczbhhzbapzbh}, + #{manufactory} + ) + + + + replace INTO thr_order_detail + (productId, productName, spec, batchNo, expireDate, + productDate, `count`, reCount, orderIdFk, thirdSysFk, updateTime + , price, corpName,ylqxzcrbarmc,zczbhhzbapzbh,manufactory) + values + + + (#{item.productId}, #{item.productName}, #{item.spec}, #{item.batchNo}, #{item.expireDate}, + #{item.productDate}, #{item.count}, #{item.reCount}, #{item.orderIdFk}, #{item.thirdSysFk}, + #{item.updateTime}, + #{item.price}, #{item.corpName}, #{item.ylqxzcrbarmc}, #{item.zczbhhzbapzbh}, #{item.manufactory}) + + + + + DELETE + FROM thr_order_detail + WHERE id = #{id} + + + DELETE + FROM thr_order_detail + WHERE orderIdFk = #{orderIdFk} + + + + UPDATE thr_order_detail + + productId=#{productId}, + productName=#{productName}, + spec=#{spec}, + batchNo=#{batchNo}, + expireDate=#{expireDate}, + productDate=#{productDate}, + count=#{count}, + reCount=#{reCount}, + orderIdFk=#{orderIdFk}, + thirdSysFk=#{thirdSysFk}, + updateTime=#{updateTime}, + price=#{price}, + corpName=#{corpName}, + + ylqxzcrbarmc=#{ylqxzcrbarmc}, + zczbhhzbapzbh=#{zczbhhzbapzbh}, + manufactory=#{manufactory}, + + WHERE id = #{id} + + + + DELETE + FROM thr_order_detail + + + + Delete From thr_order_detail + where date(updateTime) <= date(DATE_SUB(NOW(),INTERVAL 30 day)) + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrOrderExportLogDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrOrderExportLogDao.xml new file mode 100644 index 000000000..d09fec7c9 --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/ThrOrderExportLogDao.xml @@ -0,0 +1,59 @@ + + + + + + + + + + insert INTO thr_order_export_log + (genKey,updateTime,dlCount,status,filePath,remark,`type`) + values + ( + #{genKey}, + #{updateTime}, + #{dlCount},#{status},#{filePath},#{remark},#{type} + ) + + + + + DELETE FROM thr_order_export_log WHERE id = #{id} + + + + UPDATE thr_order_export_log + + updateTime=#{updateTime}, + dlCount=#{dlCount}, + status=#{status}, + filePath=#{filePath}, + remark=#{remark}, + + WHERE genKey = #{genKey} + + + + Delete From thr_order_export_log + where date(updateTime) <= date(DATE_SUB(NOW(),INTERVAL 30 day)) + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrOrderImportDetailDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrOrderImportDetailDao.xml new file mode 100644 index 000000000..670a398e3 --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/ThrOrderImportDetailDao.xml @@ -0,0 +1,99 @@ + + + + + + + + + + insert INTO thr_order_import_detail + ( + billNo,billdate,corpId,corpName,billType,billFlag,productId,productName,spec,batchNo,expireDate, + productDate,count,reCount,status,updateTime,remark,genKeyFk,thirdSysFk,originType + ) + values + ( + #{billNo},#{billdate},#{corpId},#{corpName},#{billType},#{billFlag},#{productId},#{productName},#{spec}, + #{batchNo},#{expireDate},#{productDate},#{count},#{reCount},#{status},#{updateTime},#{remark},#{genKeyFk},#{thirdSysFk},#{originType} + ) + + + + insert INTO thr_order_import_detail + ( + billNo,billdate,corpId,corpName,billType,billFlag,productId,productName,spec, + batchNo,expireDate,productDate,count,reCount,status,updateTime,remark,genKeyFk,thirdSysFk,originType + ) + values + + ( + #{item.billNo},#{item.billdate},#{item.corpId},#{item.corpName},#{item.billType}, + #{item.billFlag},#{item.productId},#{item.productName},#{item.spec},#{item.batchNo},#{item.expireDate},#{item.productDate}, + #{item.count},#{item.reCount},#{item.status},#{item.updateTime},#{item.remark},#{item.genKeyFk},#{item.thirdSysFk},#{item.originType} + ) + + + + DELETE FROM thr_order_import_detail WHERE id = #{id} + + + DELETE FROM thr_order_import_detail WHERE genKeyFk = #{genKey} + + + + UPDATE thr_order_import_detail + + billNo=#{billNo}, + billdate=#{billdate}, + corpId=#{corpId}, + corpName=#{corpName}, + billType=#{billType}, + billFlag=#{billFlag}, + productId=#{productId}, + productName=#{productName}, + spec=#{spec}, + expireDate=#{expireDate}, + batchNo=#{batchNo}, + productDate=#{productDate}, + count=#{count}, + reCount=#{reCount}, + status=#{status}, + updateTime=#{updateTime}, + genKeyFk=#{genKeyFk}, + remark=#{remark}, + thirdSysFk=#{thirdSysFk}, + originType=#{originType}, + + + + WHERE id = #{id} + + + + + Delete From thr_order_import_detail + where date(updateTime) <= date(DATE_SUB(NOW(),INTERVAL 30 day)) + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrOrderImportLogDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrOrderImportLogDao.xml new file mode 100644 index 000000000..dc560b65d --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/ThrOrderImportLogDao.xml @@ -0,0 +1,62 @@ + + + + + + + + + + insert INTO thr_order_import_log + (genKey,fromType,updateTime,thirdSysFk,status) + values + ( + #{genKey}, + #{fromType}, + #{updateTime}, + #{thirdSysFk},#{status} + ) + + + + + DELETE FROM thr_order_import_log WHERE id = #{id} + + + + UPDATE thr_order_import_log + + genKey=#{genKey}, + fromType=#{fromType}, + updateTime=#{updateTime}, + thirdSysFk=#{thirdSysFk}, + status=#{status}, + remark=#{remark}, + + WHERE genKey = #{genKey} + + + + Delete From thr_order_import_log + where date(updateTime) <= date(DATE_SUB(NOW(),INTERVAL 30 day)) + + + \ No newline at end of file