From b0543b862a195c84e66324b7269d4e8bee57c426 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Fri, 21 Apr 2023 14:51:11 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E8=B5=84=E8=B4=A8=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/basic/BasicCorpController.java | 8 + .../basic/UdiRelevanceController.java | 14 + .../purchase/SupCertController.java | 322 ++++++++----- .../purchase/SupCertRemindMsgController.java | 4 + .../purchase/SupCertSetController.java | 6 +- .../purchase/SupCompanyController.java | 49 +- .../purchase/SupManufacturerController.java | 93 ++-- .../purchase/SupProductController.java | 100 +++-- .../com/glxp/api/dao/basic/BasicCorpDao.java | 2 + .../glxp/api/dao/basic/UdiRelevanceDao.java | 1 + .../system/SystemPDFTemplateRelevanceDao.java | 3 + .../purchase/SupManufacturerEntity.java | 2 + .../api/req/purchase/FilterImageRequest.java | 12 + .../api/req/purchase/FilterPoductRequest.java | 1 + .../api/service/basic/BasicCorpService.java | 5 + .../service/basic/UdiRelevanceService.java | 2 + .../basic/impl/BasicCorpServiceImpl.java | 14 + .../basic/impl/UdiRelevanceServiceImpl.java | 26 ++ .../api/service/purchase/SupCertService.java | 5 +- .../service/purchase/SupCertSetService.java | 5 +- .../service/purchase/SupCompanyService.java | 3 +- .../purchase/SupManufacturerService.java | 5 +- .../service/purchase/SupProductService.java | 10 +- .../purchase/impl/SupCertServiceImpl.java | 21 +- .../purchase/impl/SupCertSetServiceImpl.java | 3 +- .../purchase/impl/SupCompanyServiceImpl.java | 3 +- .../impl/SupManufacturerServiceImpl.java | 3 +- .../purchase/impl/SupProductServiceImpl.java | 35 +- .../system/SystemPDFModuleService.java | 3 + .../impl/SystemPDFModuleServiceImpl.java | 10 + .../mybatis/mapper/basic/BasicCorpDao.xml | 11 + .../mybatis/mapper/basic/UdiRelevanceDao.xml | 170 +++++++ .../mybatis/mapper/purchase/SupCertDao.xml | 23 +- .../mybatis/mapper/purchase/SupCompanyDao.xml | 12 +- .../mapper/purchase/SupManufacturerDao.xml | 8 +- .../mybatis/mapper/purchase/SupProductDao.xml | 425 ++++++++++++------ .../system/SystemPDFTemplateRelevanceDao.xml | 7 + 37 files changed, 1041 insertions(+), 385 deletions(-) create mode 100644 src/main/java/com/glxp/api/req/purchase/FilterImageRequest.java diff --git a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java index e97ca7653..c9dd8147e 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java @@ -510,5 +510,13 @@ public class BasicCorpController { return ResultVOUtils.success(rMap); } + @AuthRuleAnnotation("") + @PostMapping("/udiwms/basic/unit/maintain/getCorpList") + public BaseResponse getCorpList() { + + List getCorpList=basicUnitMaintainService.getCorpList(); + return ResultVOUtils.success(getCorpList); + } + } diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java index 8175aa350..bc2d87f17 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -695,4 +695,18 @@ public class UdiRelevanceController extends BaseController { return ResultVOUtils.success(ggxhList); } + //资质证书选入产品列表 产品名称,生产企业过滤 + @AuthRuleAnnotation("") + @GetMapping("/udi/cert/filterUdi") + public BaseResponse filterCertUdi(FilterUdiRelRequest filterUdiRelRequest) { + List udiRelevanceResponses = udiRelevanceService.filterCertUdi(filterUdiRelRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(udiRelevanceResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiRelevanceResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + } diff --git a/src/main/java/com/glxp/api/controller/purchase/SupCertController.java b/src/main/java/com/glxp/api/controller/purchase/SupCertController.java index 5b662468d..c146736bb 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupCertController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupCertController.java @@ -5,20 +5,20 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.annotation.Log; 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.BusinessType; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.purchase.*; -import com.glxp.api.entity.system.SystemPDFModuleEntity; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.exception.JsonException; import com.glxp.api.req.inout.InspectionPDFTemplateRequest; -import com.glxp.api.req.inout.SystemPDFModuleRequest; import com.glxp.api.req.purchase.*; import com.glxp.api.req.system.DeleteCompanyFileRequest; -import com.glxp.api.req.system.FilterPdfModuleRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.purchase.SupProductResponse; import com.glxp.api.service.auth.AuthAdminService; @@ -83,6 +83,7 @@ public class SupCertController { @AuthRuleAnnotation("") @PostMapping("/sup/info/selectAllCert") + @Log(title = "资质证书", businessType = BusinessType.INSERT) public BaseResponse selectAllCert(@RequestBody PostSelCertRequest postSelCertRequest) { String customerId = null; if (StrUtil.isEmpty(postSelCertRequest.getCustomerId())) @@ -96,6 +97,76 @@ public class SupCertController { if (postSelCertRequest.getCertType() == null) { return ResultVOUtils.error(500, "参数错误!"); } + if (postSelCertRequest.getManufacturerIdFk() == null) { + String errMsg = ""; + ArrayList list = new ArrayList<>(); + int i = postSelCertRequest.getSupCertSetEntities().size(); + for (SupCertSetEntity supCertSetEntity : postSelCertRequest.getSupCertSetEntities()) { + i--; + FilterSupCertRequest supCertRequest = new FilterSupCertRequest(); + supCertRequest.setName(supCertSetEntity.getName()); + supCertRequest.setCustomerId(customerId); + List supCertEntities = supCertService.selectCompanyCert(supCertRequest); + if (supCertEntities.size() != 0) { + list.add(supCertEntities.get(0).getName()); + if (supCertEntities.size() != 0 && i == 0) { + for (String s : list) { + errMsg = errMsg + "," + s; + } + return ResultVOUtils.error(999, errMsg.substring(1) + "已存在!"); + } + } + } + }else{ + if(postSelCertRequest.getProductIdFk()==null) { + String errMsg = ""; + ArrayList list = new ArrayList<>(); + int i = postSelCertRequest.getSupCertSetEntities().size(); + for (SupCertSetEntity supCertSetEntity : postSelCertRequest.getSupCertSetEntities()) { + i--; + FilterSupCertRequest supCertRequest = new FilterSupCertRequest(); + supCertRequest.setName(supCertSetEntity.getName()); + supCertRequest.setCustomerId(customerId); + supCertRequest.setManufacturerIdFk(postSelCertRequest.getManufacturerIdFk()); + supCertRequest.setType(2); + List supCertEntities = supCertService.selectCompanyCert(supCertRequest); + if (supCertEntities.size() != 0) { + list.add(supCertEntities.get(0).getName()); + if (supCertEntities.size() != 0 && i == 0) { + for (String s : list) { + errMsg = errMsg + "," + s; + } + return ResultVOUtils.error(999, errMsg.substring(1) + "已存在!"); + } + } + } + }else{ + String errMsg = ""; + ArrayList list = new ArrayList<>(); + int i = postSelCertRequest.getSupCertSetEntities().size(); + for (SupCertSetEntity supCertSetEntity : postSelCertRequest.getSupCertSetEntities()) { + i--; + FilterSupCertRequest supCertRequest = new FilterSupCertRequest(); + supCertRequest.setName(supCertSetEntity.getName()); + supCertRequest.setCustomerId(customerId); + supCertRequest.setManufacturerIdFk(postSelCertRequest.getManufacturerIdFk()); + supCertRequest.setProductIdFk(postSelCertRequest.getProductIdFk()); + supCertRequest.setType(3); + List supCertEntities = supCertService.selectCompanyCert(supCertRequest); + if (supCertEntities.size() != 0) { + list.add(supCertEntities.get(0).getName()); + if (supCertEntities.size() != 0 && i == 0) { + for (String s : list) { + errMsg = errMsg + "," + s; + } + return ResultVOUtils.error(999, errMsg.substring(1) + "已存在!"); + } + } + } + } + } + + for (SupCertSetEntity supCertSetEntity : postSelCertRequest.getSupCertSetEntities()) { SupCertEntity supCertEntity = new SupCertEntity(); supCertEntity.setName(supCertSetEntity.getName()); @@ -127,9 +198,11 @@ public class SupCertController { @AuthRuleAnnotation("") @PostMapping("/sup/info/insertCompanyCert") + @Log(title = "资质证书", businessType = BusinessType.INSERT) public BaseResponse insertCompanyCert(@RequestBody SupCertEntity supCertEntity) { supCertEntity.setCreateTime(new Date()); supCertEntity.setUpdateTime(new Date()); + supCertEntity.setStatus(0); boolean b = supCertService.insertCompanyCert(supCertEntity); return ResultVOUtils.success("成功"); } @@ -137,6 +210,7 @@ public class SupCertController { @AuthRuleAnnotation("") @PostMapping("/sale/sup/cert/audit") + @Log(title = "资质证书", businessType = BusinessType.UPDATE) public BaseResponse auditSupCert(@RequestBody SupCertEntity supCertEntity) { supCertEntity.setCreateTime(new Date()); supCertEntity.setUpdateTime(new Date()); @@ -144,6 +218,38 @@ public class SupCertController { return ResultVOUtils.success("成功"); } + //撤回单据 + @AuthRuleAnnotation("") + @PostMapping("/sale/sup/cert/revoke") + @Log(title = "单据管理", businessType = BusinessType.UPDATE) + public BaseResponse revokeSupCert(@RequestBody SupCertEntity supCertEntity) { + supCertEntity.setCreateTime(new Date()); + supCertEntity.setUpdateTime(new Date()); + boolean b = supCertService.updateCompanyCert(supCertEntity); + if (supCertEntity.getType() == ConstantStatus.CERT_COMPANY) { + SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(supCertEntity.getCustomerId()); + supCompanyEntity.setAuditStatus(ConstantStatus.AUDIT_UN); + supCompanyEntity.setUpdateTime(new Date()); + supCompanyService.modifyCompany(supCompanyEntity); + } else if (supCertEntity.getType() == ConstantStatus.CERT_MANUFACTURER) { + SupManufacturerEntity supManufacturerEntity = supManufacturerService.findManufacturer(supCertEntity.getManufacturerIdFk()); + supManufacturerEntity.setAuditStatus(ConstantStatus.AUDIT_UN); + supManufacturerEntity.setUpdateTime(new Date()); + supManufacturerService.modifyCompany(supManufacturerEntity); + } else if (supCertEntity.getType() == ConstantStatus.CERT_PRODUCT) { + SupProductResponse supProductResponse = supProductService.findByProductId(supCertEntity.getProductIdFk()); + SupProductEntity supProductEntity = new SupProductEntity(); + supProductEntity.setId(supProductResponse.getId()); + supProductEntity.setUpdateTime(new Date()); + supProductEntity.setAuditStatus(ConstantStatus.AUDIT_UN); + supProductService.modifyRegistration(supProductEntity); + } + + + return ResultVOUtils.success("成功"); + } + + @Resource SupCompanyService supCompanyService; @Resource @@ -153,9 +259,21 @@ public class SupCertController { @AuthRuleAnnotation("") @PostMapping("/sup/info/updateCompanyCert") + @Log(title = "资质证书", businessType = BusinessType.UPDATE) public BaseResponse updateCompanyCert(@RequestBody PostSupCertRequest postSupCertRequest) { SupCertEntity supCertEntity = new SupCertEntity(); BeanUtils.copyProperties(postSupCertRequest, supCertEntity); + + + if(postSupCertRequest.getVailDate() !=null && postSupCertRequest.getExpireDate() != null){ + if(postSupCertRequest.getVailDate().getTime()>postSupCertRequest.getExpireDate().getTime()){ + return ResultVOUtils.error(999,"生效期不能小于失效期!"); + } + } + + + + if (postSupCertRequest.getRepeatUpload() == 1) { //已审核的重新提交 //1.修改对应的资质信息进入变更审核状态, @@ -219,18 +337,17 @@ public class SupCertController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); } //查询模板文件是否存在 - FilterPdfModuleRequest filterPdfModuleRequest = new FilterPdfModuleRequest(); - filterPdfModuleRequest.setId(inspectionPDFTemplateRequest.getModuleId()); - SystemPDFModuleEntity systemPDFModule = systemPDFModuleService.findSystemPDFModule(filterPdfModuleRequest); - if (null == systemPDFModule) { + + SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(inspectionPDFTemplateRequest.getId()); + if (null == sysPdfTemplateRelevanceStatemenEntity) { return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); } - SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(systemPDFModule.getTemplateId())); + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId())); if (null == systemPDFTemplateEntity) { return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); } - return ResultVOUtils.success(systemPDFModule.getTemplateId()); + return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()); } /** @@ -258,27 +375,31 @@ public class SupCertController { int i = 1; if (selectSupCertList != null && selectSupCertList.size() > 0) { for (SupCertEntity obj : selectSupCertList) { - //组装数据 - Map supData = new HashMap<>(); - supData.put("companyName", supCompanyEntity.getCompanyName() == null ? ' ' : supCompanyEntity.getCompanyName()); - supData.put("creditNum", supCompanyEntity.getCreditNum() == null ? ' ' : supCompanyEntity.getCreditNum()); - supData.put("classes", supCompanyEntity.getClasses().equals(1) ? "医院" : "经营企业"); - supData.put("area", supCompanyEntity.getArea() == null ? ' ' : supCompanyEntity.getArea()); - supData.put("contacts", supCompanyEntity.getContacts() == null ? ' ' : supCompanyEntity.getContacts()); - supData.put("detailAddr", supCompanyEntity.getDetailAddr() == null ? ' ' : supCompanyEntity.getDetailAddr()); - supData.put("mobile", supCompanyEntity.getMobile() == null ? ' ' : supCompanyEntity.getMobile()); - supData.put("email", supCompanyEntity.getEmail() == null ? ' ' : supCompanyEntity.getEmail()); - supData.put("index", String.valueOf(i)); - supData.put("name", obj.getName() == null ? ' ' : obj.getName()); - supData.put("code", obj.getCode() == null ? ' ' : obj.getCode()); - supData.put("vaiDate", formatter.format(obj.getVailDate())); - supData.put("expireDate", formatter.format(obj.getExpireDate())); - supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); - supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); - supData.put("remark", obj.getRemark() == null ? ' ' : obj.getRemark()); - supData.put("filePath", "D:/udi/udiwms/udiwmsfile/register/image2/" + obj.getFilePath()); - list.add(supData); - i++; + List urlList = Arrays.asList(obj.getFilePath().split(",")); + for (String url : urlList) { + //组装数据 + Map supData = new HashMap<>(); + supData.put("companyName", supCompanyEntity.getCompanyName() == null ? ' ' : supCompanyEntity.getCompanyName()); + supData.put("creditNum", supCompanyEntity.getCreditNum() == null ? ' ' : supCompanyEntity.getCreditNum()); + supData.put("classes", supCompanyEntity.getClasses().equals(1) ? "医院" : "经营企业"); + supData.put("area", supCompanyEntity.getArea() == null ? ' ' : supCompanyEntity.getArea()); + supData.put("contacts", supCompanyEntity.getContacts() == null ? ' ' : supCompanyEntity.getContacts()); + supData.put("detailAddr", supCompanyEntity.getDetailAddr() == null ? ' ' : supCompanyEntity.getDetailAddr()); + supData.put("mobile", supCompanyEntity.getMobile() == null ? ' ' : supCompanyEntity.getMobile()); + supData.put("email", supCompanyEntity.getEmail() == null ? ' ' : supCompanyEntity.getEmail()); + supData.put("index", String.valueOf(i)); + supData.put("name", obj.getName() == null ? ' ' : obj.getName()); + supData.put("code", obj.getCode() == null ? ' ' : obj.getCode()); + supData.put("vaiDate", obj.getVailDate() == null ? ' ' : formatter.format(obj.getVailDate())); + supData.put("expireDate", obj.getExpireDate() == null ? ' ' : formatter.format(obj.getExpireDate())); + supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); + supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); + supData.put("remark", obj.getRemark() == null ? ' ' : obj.getRemark()); + supData.put("filePath", filePath + "register/image2/" + url); + list.add(supData); + i++; + } + } } @@ -368,29 +489,32 @@ public class SupCertController { int i = 1; if (selectSupCertList != null && selectSupCertList.size() > 0) { for (SupCertEntity obj : selectSupCertList) { - //组装数据 - Map supData = new HashMap<>(); - supData.put("customerName", supManufacturerEntity.getSupName() == null ? ' ' : supManufacturerEntity.getSupName()); - supData.put("companyName", supManufacturerEntity.getCompanyName() == null ? ' ' : supManufacturerEntity.getCompanyName()); - supData.put("companyType", supManufacturerEntity.getCompanyType().equals(1) ? "境内企业" : "境外企业"); - supData.put("creditCode", supManufacturerEntity.getCreditCode() == null ? ' ' : supManufacturerEntity.getCreditCode()); - supData.put("placeArea", supManufacturerEntity.getPlaceArea() == null ? ' ' : supManufacturerEntity.getPlaceArea()); - supData.put("productionArea", supManufacturerEntity.getProductionArea() == null ? ' ' : supManufacturerEntity.getProductionArea()); - supData.put("registerStatus", getRegisterStatus(supManufacturerEntity.getRegisterStatus())); - supData.put("placeAddress", supManufacturerEntity.getPlaceAddress() == null ? ' ' : supManufacturerEntity.getPlaceAddress()); - supData.put("productionAddress", supManufacturerEntity.getProductionAddress() == null ? ' ' : supManufacturerEntity.getProductionAddress()); - supData.put("remark1", supManufacturerEntity.getRemark() == null ? ' ' : supManufacturerEntity.getRemark()); - supData.put("index", String.valueOf(i)); - supData.put("name", obj.getName() == null ? ' ' : obj.getName()); - supData.put("code", obj.getCode() == null ? ' ' : obj.getCode()); - supData.put("vaiDate", formatter.format(obj.getVailDate())); - supData.put("expireDate", formatter.format(obj.getExpireDate())); - supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); - supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); - supData.put("remark2", obj.getRemark() == null ? ' ' : obj.getRemark()); - supData.put("filePath", "d:/1s/udiwms/register/file/image2/" + obj.getFilePath()); - list.add(supData); - i++; + List urlList = Arrays.asList(obj.getFilePath().split(",")); + for (String url : urlList) { + //组装数据 + Map supData = new HashMap<>(); + supData.put("customerName", supManufacturerEntity.getSupName() == null ? ' ' : supManufacturerEntity.getSupName()); + supData.put("companyName", supManufacturerEntity.getCompanyName() == null ? ' ' : supManufacturerEntity.getCompanyName()); + supData.put("companyType", supManufacturerEntity.getCompanyType().equals(1) ? "境内企业" : "境外企业"); + supData.put("creditCode", supManufacturerEntity.getCreditCode() == null ? ' ' : supManufacturerEntity.getCreditCode()); + supData.put("placeArea", supManufacturerEntity.getPlaceArea() == null ? ' ' : supManufacturerEntity.getPlaceArea()); + supData.put("productionArea", supManufacturerEntity.getProductionArea() == null ? ' ' : supManufacturerEntity.getProductionArea()); + supData.put("registerStatus", getRegisterStatus(supManufacturerEntity.getRegisterStatus())); + supData.put("placeAddress", supManufacturerEntity.getPlaceAddress() == null ? ' ' : supManufacturerEntity.getPlaceAddress()); + supData.put("productionAddress", supManufacturerEntity.getProductionAddress() == null ? ' ' : supManufacturerEntity.getProductionAddress()); + supData.put("remark1", supManufacturerEntity.getRemark() == null ? ' ' : supManufacturerEntity.getRemark()); + supData.put("index", String.valueOf(i)); + supData.put("name", obj.getName() == null ? ' ' : obj.getName()); + supData.put("code", obj.getCode() == null ? ' ' : obj.getCode()); + supData.put("vaiDate", obj.getVailDate() == null ? ' ' : formatter.format(obj.getVailDate())); + supData.put("expireDate", obj.getExpireDate() == null ? ' ' : formatter.format(obj.getExpireDate())); + supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); + supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); + supData.put("remark2", obj.getRemark() == null ? ' ' : obj.getRemark()); + supData.put("filePath", filePath + "register/image2/" + url); + list.add(supData); + i++; + } } } @@ -428,31 +552,35 @@ public class SupCertController { int i = 1; if (selectSupCertList != null && selectSupCertList.size() > 0) { for (SupCertEntity obj : selectSupCertList) { - //组装数据 - Map supData = new HashMap<>(); - supData.put("customerName", supManufacturerEntity.getSupName() == null ? ' ' : supManufacturerEntity.getSupName()); - supData.put("manufacturerldFk", supManufacturerEntity.getCompanyName() == null ? ' ' : supManufacturerEntity.getCompanyName()); - supData.put("recordProductName", supProductEntity.getRecordProductName() == null ? ' ' : supProductEntity.getRecordProductName()); - supData.put("recordCode", supProductEntity.getRecordCode() == null ? ' ' : supProductEntity.getRecordCode()); - supData.put("recordPeopleName", supProductEntity.getRecordPeopleName() == null ? ' ' : supProductEntity.getRecordPeopleName()); - supData.put("hchzsb", supProductEntity.getHchzsb() == null ? ' ' : supProductEntity.getHchzsb()); - supData.put("productType", supProductEntity.getProductType() == null ? ' ' : supProductEntity.getProductType()); - supData.put("productDirectoryCode", supProductEntity.getProductDirectoryCode() == null ? ' ' : supProductEntity.getProductDirectoryCode()); - supData.put("specification", supProductEntity.getSpecification() == null ? ' ' : supProductEntity.getSpecification()); - supData.put("cpms", supProductEntity.getCpms() == null ? ' ' : supProductEntity.getCpms()); - supData.put("remark1", supProductEntity.getRemark() == null ? ' ' : supProductEntity.getRemark()); - - supData.put("index", String.valueOf(i)); - supData.put("name", obj.getName() == null ? ' ' : obj.getName()); - supData.put("code", obj.getCode() == null ? ' ' : obj.getCode()); - supData.put("vaiDate", formatter.format(obj.getVailDate())); - supData.put("expireDate", formatter.format(obj.getExpireDate())); - supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); - supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); - supData.put("remark2", obj.getRemark() == null ? ' ' : obj.getRemark()); - supData.put("filePath", "d:/1s/udiwms/register/file/image2/" + obj.getFilePath()); - list.add(supData); - i++; + + List urlList = Arrays.asList(obj.getFilePath().split(",")); + for (String url : urlList) { + //组装数据 + Map supData = new HashMap<>(); + supData.put("customerName", supManufacturerEntity.getSupName() == null ? ' ' : supManufacturerEntity.getSupName()); + supData.put("manufacturerldFk", supManufacturerEntity.getCompanyName() == null ? ' ' : supManufacturerEntity.getCompanyName()); + supData.put("recordProductName", supProductEntity.getRecordProductName() == null ? ' ' : supProductEntity.getRecordProductName()); + supData.put("recordCode", supProductEntity.getRecordCode() == null ? ' ' : supProductEntity.getRecordCode()); + supData.put("recordPeopleName", supProductEntity.getRecordPeopleName() == null ? ' ' : supProductEntity.getRecordPeopleName()); + supData.put("hchzsb", supProductEntity.getHchzsb() == null ? ' ' : supProductEntity.getHchzsb()); + supData.put("productType", supProductEntity.getProductType() == null ? ' ' : supProductEntity.getProductType()); + supData.put("productDirectoryCode", supProductEntity.getProductDirectoryCode() == null ? ' ' : supProductEntity.getProductDirectoryCode()); + supData.put("specification", supProductEntity.getSpecification() == null ? ' ' : supProductEntity.getSpecification()); +// supData.put("cpms", supProductEntity.getCpms() == null ? ' ' : supProductEntity.getCpms()); + supData.put("remark1", supProductEntity.getRemark() == null ? ' ' : supProductEntity.getRemark()); + + supData.put("index", String.valueOf(i)); + supData.put("name", obj.getName() == null ? ' ' : obj.getName()); + supData.put("code", obj.getCode() == null ? ' ' : obj.getCode()); + supData.put("vaiDate", obj.getVailDate() == null ? ' ' : formatter.format(obj.getVailDate())); + supData.put("expireDate", obj.getExpireDate() == null ? ' ' : formatter.format(obj.getExpireDate())); + supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); + supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); + supData.put("remark2", obj.getRemark() == null ? ' ' : obj.getRemark()); + supData.put("filePath", filePath + "register/image2/" + url); + list.add(supData); + i++; + } } } @@ -460,35 +588,17 @@ public class SupCertController { JasperUtils.jasperReport(request, response, param, systemPDFTemplateEntity.getPath(), "pdf"); } - - //撤回单据 - @AuthRuleAnnotation("") - @PostMapping("/sale/sup/cert/revoke") - public BaseResponse revokeSupCert(@RequestBody SupCertEntity supCertEntity) { - supCertEntity.setCreateTime(new Date()); - supCertEntity.setUpdateTime(new Date()); - boolean b = supCertService.updateCompanyCert(supCertEntity); - if (supCertEntity.getType() == ConstantStatus.CERT_COMPANY) { - SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(supCertEntity.getCustomerId()); - supCompanyEntity.setAuditStatus(ConstantStatus.AUDIT_UN); - supCompanyEntity.setUpdateTime(new Date()); - supCompanyService.modifyCompany(supCompanyEntity); - } else if (supCertEntity.getType() == ConstantStatus.CERT_MANUFACTURER) { - SupManufacturerEntity supManufacturerEntity = supManufacturerService.findManufacturer(supCertEntity.getManufacturerIdFk()); - supManufacturerEntity.setAuditStatus(ConstantStatus.AUDIT_UN); - supManufacturerEntity.setUpdateTime(new Date()); - supManufacturerService.modifyCompany(supManufacturerEntity); - } else if (supCertEntity.getType() == ConstantStatus.CERT_PRODUCT) { - SupProductResponse supProductResponse = supProductService.findByProductId(supCertEntity.getProductIdFk()); - SupProductEntity supProductEntity = new SupProductEntity(); - supProductEntity.setId(supProductResponse.getId()); - supProductEntity.setUpdateTime(new Date()); - supProductEntity.setAuditStatus(ConstantStatus.AUDIT_UN); - supProductService.modifyRegistration(supProductEntity); + //首营预览文件 + @PostMapping("/udiwms/image/register/file") + public BaseResponse uploadRegisterFile(@RequestBody FilterImageRequest filterImageRequest) { + List urlList = Arrays.asList(filterImageRequest.getImageUrl().split(",")); + List list = new ArrayList<>(); + for (String obj : urlList) { + String url = filterImageRequest.getCertFileUrl() + obj; + list.add(url); } - - - return ResultVOUtils.success("成功"); + return ResultVOUtils.success(list); } + } diff --git a/src/main/java/com/glxp/api/controller/purchase/SupCertRemindMsgController.java b/src/main/java/com/glxp/api/controller/purchase/SupCertRemindMsgController.java index 74c0336b2..a42ef4e9b 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupCertRemindMsgController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupCertRemindMsgController.java @@ -2,9 +2,11 @@ package com.glxp.api.controller.purchase; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.Log; 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.BusinessType; import com.glxp.api.req.purchase.FilterCertRemindMsgRequest; import com.glxp.api.res.purchase.SupCertRemindMsgResponse; import com.glxp.api.service.purchase.SupCertRemindMsgService; @@ -46,6 +48,7 @@ public class SupCertRemindMsgController { * @return */ @GetMapping("/sup/cert/remind/msg/confirmMsg") + @Log(title = "资质预警", businessType = BusinessType.UPDATE) public BaseResponse confirmMsg(Integer id, String handleMsg) { if (null == id || StrUtil.isBlank(handleMsg)) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); @@ -61,6 +64,7 @@ public class SupCertRemindMsgController { * @return */ @GetMapping("/sup/cert/remind/msg/ignoreMsg") + @Log(title = "资质预警", businessType = BusinessType.UPDATE) public BaseResponse ignoreMsg(Integer id, Integer ignoreStatus) { if (null == id || null == ignoreStatus) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); diff --git a/src/main/java/com/glxp/api/controller/purchase/SupCertSetController.java b/src/main/java/com/glxp/api/controller/purchase/SupCertSetController.java index dc0d134fd..677d958a6 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupCertSetController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupCertSetController.java @@ -2,11 +2,12 @@ package com.glxp.api.controller.purchase; import cn.hutool.core.collection.CollUtil; import com.github.pagehelper.PageInfo; - import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.annotation.Log; 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.BusinessType; import com.glxp.api.entity.purchase.SupCertSetEntity; import com.glxp.api.req.purchase.FilterCertSetsRequest; import com.glxp.api.req.system.DeleteRequest; @@ -51,6 +52,7 @@ public class SupCertSetController { @AuthRuleAnnotation("") @PostMapping("/sup/cert/set/add") + @Log(title = "资质证书", businessType = BusinessType.INSERT) public BaseResponse addCertSet(@RequestBody SupCertSetEntity supCertSetEntity) { if (supCertSetEntity == null) { supCertSetEntity = new SupCertSetEntity(); @@ -77,6 +79,7 @@ public class SupCertSetController { @AuthRuleAnnotation("") @PostMapping("/sup/cert/set/update") + @Log(title = "资质证书", businessType = BusinessType.UPDATE) public BaseResponse updateCertSet(@RequestBody SupCertSetEntity supCertSetEntity) { if (CollUtil.isNotEmpty(supCertSetEntity.getFlbmList())) { String flbm = supCertSetEntity.getFlbmList().stream().collect(Collectors.joining(",")); @@ -99,6 +102,7 @@ public class SupCertSetController { @AuthRuleAnnotation("") @PostMapping("/sup/cert/set/delete") + @Log(title = "资质证书", businessType = BusinessType.DELETE) public BaseResponse deleteCertSet(@RequestBody DeleteRequest deleteRequest) { boolean b = supCertSetService.deleteById(deleteRequest.getId()); diff --git a/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java b/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java index b6584ea13..e6836e322 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java @@ -5,9 +5,11 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.extra.pinyin.PinyinUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.annotation.Log; 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.BusinessType; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.basic.BasicCorpEntity; @@ -65,6 +67,7 @@ public class SupCompanyController { SupCompanyService supCompanyService; + @AuthRuleAnnotation("") @GetMapping("/api/pur/getSupComapnys") public BaseResponse getSupComapnys(FilterSupCompanyRequest companyRequest) { @@ -79,14 +82,16 @@ public class SupCompanyController { @AuthRuleAnnotation("") @PostMapping("/api/pur/addCompany") + @Log(title = "资质证书", businessType = BusinessType.INSERT) public BaseResponse insertCompany(@RequestBody SupCompanyEntity companyEntity) { //判断是不是存在草稿 - if(companyEntity.getAuditStatus()==6){ - List supCertEntityList = supCertService.findAll(companyEntity.getCustomerId()); for(SupCertEntity obj:supCertEntityList){ - if(obj.getAuditStatus()==0){ - return ResultVOUtils.error(999,"证书中存在草稿不允许提交!"); + if (companyEntity.getAuditStatus() == 6) { + List supCertEntityList = supCertService.findAll(companyEntity.getCustomerId()); + for (SupCertEntity obj : supCertEntityList) { + if (obj.getAuditStatus() == 0) { + return ResultVOUtils.error(999, "证书中存在草稿不允许提交!"); } } @@ -122,18 +127,16 @@ public class SupCompanyController { } - - String customerId = CustomUtil.getId(); //重新生成customerId CustomerContactEntity customerContactEntity = new CustomerContactEntity(); customerContactEntity.setTel(companyEntity.getTel()); customerContactEntity.setMobile(companyEntity.getMobile()); customerContactEntity.setEmail(companyEntity.getEmail()); customerContactEntity.setContacts(companyEntity.getContacts()); - customerContactEntity.setCustomerId(customerId); + customerContactEntity.setCustomerId(companyEntity.getCustomerId()); customerContactService.insertCustomerContact(customerContactEntity); //更新相关证书对应的customerId - supCertService.updateCustomerId(companyEntity.getCustomerId(), customerId,ConstantStatus.AUDIT_UN); - companyEntity.setCustomerId(customerId); + supCertService.updateCustomerId(companyEntity.getCustomerId(), companyEntity.getCustomerId(), ConstantStatus.AUDIT_UN); + companyEntity.setCustomerId(companyEntity.getCustomerId()); companyEntity.setCreateTime(new Date()); companyEntity.setUpdateTime(new Date()); @@ -146,14 +149,15 @@ public class SupCompanyController { @AuthRuleAnnotation("") @PostMapping("/api/pur/modifyCompany") + @Log(title = "资质证书", businessType = BusinessType.UPDATE) public BaseResponse modifyCompany(@RequestBody SupCompanyEntity companyEntity) { if (companyEntity.getAuditStatus() == ConstantStatus.AUDIT_UN || companyEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE) { //判断是不是存在草稿 List supCertEntityList = supCertService.findAll(companyEntity.getCustomerId()); - for(SupCertEntity obj:supCertEntityList){ - if(obj.getAuditStatus()==0){ - return ResultVOUtils.error(999,"证书中存在草稿不允许提交!"); + for (SupCertEntity obj : supCertEntityList) { + if (obj.getAuditStatus() == 0) { + return ResultVOUtils.error(999, "证书中存在草稿不允许提交!"); } } @@ -204,10 +208,11 @@ public class SupCompanyController { @AuthRuleAnnotation("") @PostMapping("/api/pur/auditCompany") + @Log(title = "资质证书", businessType = BusinessType.UPDATE) public BaseResponse auditCompany(@RequestBody SupCompanyEntity companyEntity) { - if(companyEntity.getAuditStatus()==1){ + if (companyEntity.getAuditStatus() == 1) { //查询用户上传的证书 FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); filterSupCertRequest.setCustomerId(companyEntity.getCustomerId()); @@ -241,7 +246,7 @@ public class SupCompanyController { return ResultVOUtils.error(500, "必传证书不齐全!"); } } - + String msg = ""; //查询是否包含审核未通过的证书 if (companyEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || companyEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS) { @@ -252,18 +257,22 @@ public class SupCompanyController { List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); if (CollUtil.isNotEmpty(supCertEntityList)) { for (SupCertEntity supCertEntity : supCertEntityList) { - supCertEntity.setAuditStatus(ConstantStatus.AUDIT_PASS); - supCertService.updateCompanyCert(supCertEntity); + msg += supCertEntity.getName() + ","; } -// return ResultVOUtils.error(500, "审核失败,剩余" + supCertEntityList.size() + "个证书还未审核或审核未通过!"); + return ResultVOUtils.error(500, "审核失败,还有必须提交证书未确认(" + msg.substring(0, msg.length() - 1) + ")"); } } + + AuthAdmin authAdmin = getUser(); companyEntity.setAuditor(authAdmin.getId() + ""); companyEntity.setAuditTime(new Date()); companyEntity.setUpdateTime(new Date()); + if(companyEntity.getAuditComment() == null){ + companyEntity.setAuditComment(""); + } boolean b = companyService.modifyCompany(companyEntity); CustomerContactEntity customerContactEntity = new CustomerContactEntity(); customerContactEntity.setTel(companyEntity.getTel()); @@ -283,7 +292,7 @@ public class SupCompanyController { basicCorpEntity.setMobile(companyEntity.getMobile()); basicCorpEntity.setCorpType(ConstantStatus.CORP_SP); basicCorpEntity.setUpdateTime(new Date()); - basicCorpService.insertBasicUnitMaintain(basicCorpEntity); + basicCorpService.updateByErpId(basicCorpEntity); return ResultVOUtils.success("修改成功"); } @@ -307,6 +316,7 @@ public class SupCompanyController { @AuthRuleAnnotation("") @PostMapping("api/pur/supCompany/delete") + @Log(title = "资质证书", businessType = BusinessType.DELETE) public BaseResponse deleteSupCompany(@RequestBody DeleteRequest deleteRequest) { boolean b = supCompanyService.deleteCompany(deleteRequest.getId()); if (b) @@ -316,6 +326,9 @@ public class SupCompanyController { } } + + + public String getCustomerId() { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); if (attributes == null) { diff --git a/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java b/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java index 78dda0076..20127a48e 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java @@ -4,9 +4,11 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.annotation.Log; 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.BusinessType; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.purchase.SupCertEntity; @@ -91,29 +93,30 @@ public class SupManufacturerController { @AuthRuleAnnotation("") @PostMapping("/sup/manufacturer/addCompany") + @Log(title = "资质证书", businessType = BusinessType.INSERT) public BaseResponse addCompany(@RequestBody SupManufacturerEntity supManufacturerEntity) { //判断用户名和社会信用代码不能重复 - FilterSupManufacturerRequest filterSupManufacturerRequest=new FilterSupManufacturerRequest(); + FilterSupManufacturerRequest filterSupManufacturerRequest = new FilterSupManufacturerRequest(); filterSupManufacturerRequest.setCompanyName(supManufacturerEntity.getCompanyName()); filterSupManufacturerRequest.setCustomerId(getCustomerId()); List companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); - if(companyEntities.size()>0){ - return ResultVOUtils.error(999,"企业名称不能重复!"); + if (companyEntities.size() > 0) { + return ResultVOUtils.error(999, "企业名称不能重复!"); } - filterSupManufacturerRequest=new FilterSupManufacturerRequest(); + filterSupManufacturerRequest = new FilterSupManufacturerRequest(); filterSupManufacturerRequest.setCustomerId(getCustomerId()); filterSupManufacturerRequest.setCreditCode(supManufacturerEntity.getCreditCode()); companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); - if(companyEntities.size()>0){ - return ResultVOUtils.error(999,"统一社会信用代码不能重复!"); + if (companyEntities.size() > 0) { + return ResultVOUtils.error(999, "统一社会信用代码不能重复!"); } //提交审核 if (supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE || supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_UN) { //判断是否上级供应商是否审核通过 SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(supManufacturerEntity.getCustomerId()); - if (supCompanyEntity.getAuditStatus() != ConstantStatus.AUDIT_PASS - ) { + if (supCompanyEntity.getAuditStatus() == null || supCompanyEntity.getAuditStatus() != ConstantStatus.AUDIT_PASS + ) { return ResultVOUtils.error(500, "所属配送企业资质未通过审核,暂时无法提交!"); } @@ -124,27 +127,27 @@ public class SupManufacturerController { List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); List supCertEntityList = supCertService.findAll(supManufacturerEntity.getCustomerId(), supManufacturerEntity.getManufacturerId()); //判断存在有草稿的未提交的就不能通过 - for(SupCertEntity obj:supCertEntityList){ + for (SupCertEntity obj : supCertEntityList) { if (obj.getAuditStatus() == 0.) { - return ResultVOUtils.error(999,"资质证书存在草稿不能提交!"); + return ResultVOUtils.error(999, "资质证书存在草稿不能提交!"); } } ListIterator iterable = supCertSetEntities.listIterator(); while (iterable.hasNext()) { SupCertSetEntity supCertSetEntity = iterable.next(); - if (( supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 2 + if ((supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 2 && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) || ( supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 1 && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) || - ( supCertSetEntity.getForeign() != null + (supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 1 && supManufacturerEntity.getCompanyType().equals("1")) || - ( supCertSetEntity.getForeign() != null + (supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 3 && supManufacturerEntity.getCompanyType().equals("1"))) { for (SupCertEntity supCertEntity : supCertEntityList) { @@ -186,34 +189,36 @@ public class SupManufacturerController { @AuthRuleAnnotation("") @PostMapping("/sup/manufacturer/modifyCompany") + @Log(title = "资质证书", businessType = BusinessType.UPDATE) public BaseResponse modifyCompany(@RequestBody SupManufacturerEntity supManufacturerEntity) { if (StrUtil.isEmpty(supManufacturerEntity.getManufacturerId()) || StrUtil.isEmpty(supManufacturerEntity.getCustomerId())) { return ResultVOUtils.error(500, "参数错误!"); } - - //判断用户名和社会信用代码不能重复 - FilterSupManufacturerRequest filterSupManufacturerRequest=new FilterSupManufacturerRequest(); - filterSupManufacturerRequest.setCompanyName(supManufacturerEntity.getCompanyName()); - filterSupManufacturerRequest.setCustomerId(getCustomerId()); - List companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); - if(companyEntities.size()>0){ - return ResultVOUtils.error(999,"企业名称不能重复!"); - } - filterSupManufacturerRequest=new FilterSupManufacturerRequest(); - filterSupManufacturerRequest.setCustomerId(getCustomerId()); - filterSupManufacturerRequest.setCreditCode(supManufacturerEntity.getCreditCode()); - companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); - if(companyEntities.size()>0){ - return ResultVOUtils.error(999,"统一社会信用代码不能重复!"); + if (supManufacturerEntity.getId() == 0) {//新增 + //判断用户名和社会信用代码不能重复 + FilterSupManufacturerRequest filterSupManufacturerRequest = new FilterSupManufacturerRequest(); + filterSupManufacturerRequest.setCompanyName(supManufacturerEntity.getCompanyName()); + filterSupManufacturerRequest.setCustomerId(getCustomerId()); + List companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); + if (companyEntities.size() > 0) { + return ResultVOUtils.error(999, "企业名称不能重复!"); + } + filterSupManufacturerRequest = new FilterSupManufacturerRequest(); + filterSupManufacturerRequest.setCustomerId(getCustomerId()); + filterSupManufacturerRequest.setCreditCode(supManufacturerEntity.getCreditCode()); + companyEntities = supManufacturerService.getCompanyByNameAndCode(filterSupManufacturerRequest); + if (companyEntities.size() > 0) { + return ResultVOUtils.error(999, "统一社会信用代码不能重复!"); + } } //提交审核 if (supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE || supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_UN) { //判断是否上级供应商是否审核通过 SupCompanyEntity supCompanyEntity = supCompanyService.findCompany(supManufacturerEntity.getCustomerId()); - if (supCompanyEntity.getAuditStatus() == ConstantStatus.AUDIT_UN - || supCompanyEntity.getAuditStatus() == ConstantStatus.AUDIT_DRAFT) { + if (supCompanyEntity.getAuditStatus() == ConstantStatus.AUDIT_UN || supCompanyEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_REJECT + || supCompanyEntity.getAuditStatus() == ConstantStatus.AUDIT_DRAFT || supCompanyEntity.getAuditStatus() == ConstantStatus.AUDIT_REJECT) { return ResultVOUtils.error(500, "所属配送企业资质未通过审核,暂时无法提交!"); } @@ -224,27 +229,27 @@ public class SupManufacturerController { List supCertSetEntities = supCertSetService.filterCertSets(filterCertSetsRequest); List supCertEntityList = supCertService.findAll(supManufacturerEntity.getCustomerId(), supManufacturerEntity.getManufacturerId()); //判断存在有草稿的未提交的就不能通过 - for(SupCertEntity obj:supCertEntityList){ + for (SupCertEntity obj : supCertEntityList) { if (obj.getAuditStatus() == 0.) { - return ResultVOUtils.error(999,"资质证书存在草稿不能提交!"); + return ResultVOUtils.error(999, "资质证书存在草稿不能提交!"); } } ListIterator iterable = supCertSetEntities.listIterator(); while (iterable.hasNext()) { SupCertSetEntity supCertSetEntity = iterable.next(); - if (( supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 2 + if ((supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 2 && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) || ( supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 1 && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) || - ( supCertSetEntity.getForeign() != null + (supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 1 && supManufacturerEntity.getCompanyType().equals("1")) || - ( supCertSetEntity.getForeign() != null + (supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 3 && supManufacturerEntity.getCompanyType().equals("1"))) { for (SupCertEntity supCertEntity : supCertEntityList) { @@ -290,6 +295,7 @@ public class SupManufacturerController { @AuthRuleAnnotation("") @PostMapping("/udiwms/sup/manufacturer/audit") + @Log(title = "资质证书", businessType = BusinessType.UPDATE) public BaseResponse auditMmanufacturer(@RequestBody SupManufacturerEntity supManufacturerEntity) { if (StrUtil.isEmpty(supManufacturerEntity.getManufacturerId()) || StrUtil.isEmpty(supManufacturerEntity.getCustomerId())) { @@ -297,8 +303,7 @@ public class SupManufacturerController { } - - if(supManufacturerEntity.getAuditStatus()==1 || supManufacturerEntity.getAuditStatus()==4){ + if (supManufacturerEntity.getAuditStatus() == 1 || supManufacturerEntity.getAuditStatus() == 4) { //查询上传的资质证书 FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); filterSupCertRequest.setCustomerId(supManufacturerEntity.getCustomerId()); @@ -314,18 +319,18 @@ public class SupManufacturerController { while (iterable.hasNext()) { SupCertSetEntity supCertSetEntity = iterable.next(); - if (( supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 2 + if ((supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 2 && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) || ( supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 1 && StrUtil.trimToEmpty(supManufacturerEntity.getCompanyType()).equals("2")) || - ( supCertSetEntity.getForeign() != null + (supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 1 && supManufacturerEntity.getCompanyType().equals("1")) || - ( supCertSetEntity.getForeign() != null + (supCertSetEntity.getForeign() != null && supCertSetEntity.getForeign() == 3 && supManufacturerEntity.getCompanyType().equals("1"))) { for (SupCertEntity supCertEntity : supCertEntityList) { @@ -347,7 +352,7 @@ public class SupManufacturerController { } } - + String msg = ""; // 查询是否包含审核未通过的证书 if (supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || supManufacturerEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS) { @@ -359,10 +364,9 @@ public class SupManufacturerController { List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); if (CollUtil.isNotEmpty(supCertEntityList)) { for (SupCertEntity supCertEntity : supCertEntityList) { - supCertEntity.setAuditStatus(ConstantStatus.AUDIT_PASS); - supCertService.updateCompanyCert(supCertEntity); + msg += supCertEntity.getName() + ","; } -// return ResultVOUtils.error(500, "审核失败,剩余" + supCertEntityList.size() + "个证书还未审核或审核未通过!"); + return ResultVOUtils.error(500, "审核失败,还有必须提交证书未确认(" + msg.substring(0, msg.length() - 1) + ")"); } } @@ -382,6 +386,7 @@ public class SupManufacturerController { @AuthRuleAnnotation("") @GetMapping("/sup/manufacturer/basic/delete") + @Log(title = "资质证书", businessType = BusinessType.DELETE) public BaseResponse deleteContact(DeleteRequest deleteRequest) { boolean b = supManufacturerService.deleteById(deleteRequest.getId()); if (b) diff --git a/src/main/java/com/glxp/api/controller/purchase/SupProductController.java b/src/main/java/com/glxp/api/controller/purchase/SupProductController.java index e5588a4d6..be7e3525d 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupProductController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupProductController.java @@ -3,13 +3,15 @@ package com.glxp.api.controller.purchase; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; - import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.annotation.Log; 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.BusinessType; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.entity.purchase.SupCertEntity; import com.glxp.api.entity.purchase.SupCertSetEntity; import com.glxp.api.entity.purchase.SupManufacturerEntity; @@ -29,9 +31,6 @@ import com.glxp.api.service.purchase.SupCertService; import com.glxp.api.service.purchase.SupCertSetService; import com.glxp.api.service.purchase.SupManufacturerService; import com.glxp.api.service.purchase.SupProductService; -import com.glxp.api.service.thrsys.ThrProductsService; -import com.glxp.api.service.thrsys.ThrSystemService; -import com.glxp.api.util.GennerOrderUtils; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -84,6 +83,7 @@ public class SupProductController { @AuthRuleAnnotation("") @PostMapping("/sup/product/addRegistration") + @Log(title = "资质证书", businessType = BusinessType.INSERT) public BaseResponse addRegistration(@RequestBody SupProductEntity supProductEntity) { //提交审核 @@ -105,14 +105,14 @@ public class SupProductController { ListIterator iterable = supCertSetEntities.listIterator(); while (iterable.hasNext()) { SupCertSetEntity supCertSetEntity = iterable.next(); - if (supCertSetEntity.getImports()!=null && supCertSetEntity.getImports() == 1 || StrUtil.isNotEmpty(supCertSetEntity.getCplx()) && supCertSetEntity.getCplx().equals("全部") + if (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 1 || StrUtil.isNotEmpty(supCertSetEntity.getCplx()) && supCertSetEntity.getCplx().equals("全部") || StrUtil.isNotEmpty(supCertSetEntity.getHchzsb()) && supCertSetEntity.getHchzsb().equals("全部") || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 2 && StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 3 && !StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) || (StrUtil.trimToEmpty(supProductEntity.getProductType()).equals(supCertSetEntity.getCplx())) || (StrUtil.trimToEmpty(supProductEntity.getHchzsb()).equals(supCertSetEntity.getHchzsb())) - || StrUtil.isNotEmpty(supCertSetEntity.getFlbm()) &&(supCertSetEntity.getFlbm().contains(StrUtil.trimToEmpty(supProductEntity.getProductDirectoryCode()))) + || StrUtil.isNotEmpty(supCertSetEntity.getFlbm()) && (supCertSetEntity.getFlbm().contains(StrUtil.trimToEmpty(supProductEntity.getProductDirectoryCode()))) ) { for (SupCertEntity supCertEntity : supCertEntityList) { if (supCertEntity.getName().equals(supCertSetEntity.getName())) { @@ -149,25 +149,30 @@ public class SupProductController { @PostMapping("/sup/product/selectBind") public BaseResponse selectBind(@RequestBody SelectProductBindRequest selectProductBindRequest) { + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectUdiId(Long.valueOf(selectProductBindRequest.getRelIdFk())); + SupProductEntity supProductEntity = supProductService.findByManufactury(udiRelevanceResponse.getCpmctymc(), udiRelevanceResponse.getManufactory(),selectProductBindRequest.getManufacturerId()); + if (supProductEntity != null) { + return ResultVOUtils.error(500, "该产品资质已存在,请勿重复添加!"); + }else{ + supProductEntity = new SupProductEntity(); + BeanUtils.copyProperties(udiRelevanceResponse, supProductEntity); + supProductEntity.setProductId(selectProductBindRequest.getProductId()); + supProductEntity.setRecordCode(udiRelevanceResponse.getZczbhhzbapzbh()); + supProductEntity.setRelIdFk(udiRelevanceResponse.getId() + ""); + supProductEntity.setRecordProductName(udiRelevanceResponse.getCpmctymc()); + supProductEntity.setProductType(udiRelevanceResponse.getQxlb()); + supProductEntity.setProductDirectoryCode(udiRelevanceResponse.getFlbm()); + supProductEntity.setRecordPeopleName(udiRelevanceResponse.getYlqxzcrbarmc()); + supProductEntity.setSpecification(udiRelevanceResponse.getGgxh()); + supProductEntity.setCreateTime(new Date()); + supProductEntity.setUpdateTime(new Date()); + supProductEntity.setManufacturerIdFk(selectProductBindRequest.getManufacturerId()); + supProductEntity.setCustomerId(selectProductBindRequest.getCustomerId()); + supProductEntity.setHchzsb(udiRelevanceResponse.getCplb()); +// supProductEntity.setCompanyName(selectProductBindRequest.getCompanyName()); + supProductEntity.setAuditStatus(selectProductBindRequest.getAuditStatus()); + } - UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(Long.valueOf(selectProductBindRequest.getRelIdFk())); - - SupProductEntity supProductEntity = new SupProductEntity(); - BeanUtils.copyProperties(udiRelevanceResponse, supProductEntity); - supProductEntity.setProductId(selectProductBindRequest.getProductId()); - supProductEntity.setRecordCode(udiRelevanceResponse.getZczbhhzbapzbh()); - supProductEntity.setRelIdFk(selectProductBindRequest.getRelIdFk()); - supProductEntity.setRecordProductName(udiRelevanceResponse.getCpmctymc()); - supProductEntity.setProductType(udiRelevanceResponse.getQxlb()); - supProductEntity.setProductDirectoryCode(udiRelevanceResponse.getFlbm()); - supProductEntity.setRecordPeopleName(udiRelevanceResponse.getYlqxzcrbarmc()); - supProductEntity.setSpecification(udiRelevanceResponse.getGgxh()); - supProductEntity.setCreateTime(new Date()); - supProductEntity.setUpdateTime(new Date()); - supProductEntity.setManufacturerIdFk(selectProductBindRequest.getManufacturerId()); - supProductEntity.setCustomerId(selectProductBindRequest.getCustomerId()); - supProductEntity.setHchzsb(udiRelevanceResponse.getCplb()); - supProductEntity.setAuditStatus(selectProductBindRequest.getAuditStatus()); return ResultVOUtils.success(supProductEntity); // boolean b = supProductService.insertRegistration(supProductEntity); @@ -181,19 +186,23 @@ public class SupProductController { @AuthRuleAnnotation("") @PostMapping("/sup/product/modifyRegistration") + @Log(title = "资质证书", businessType = BusinessType.UPDATE) public BaseResponse modifyRegistration(@RequestBody SupProductEntity supProductEntity) { if (StrUtil.isEmpty(supProductEntity.getProductId()) || StrUtil.isEmpty(supProductEntity.getManufacturerIdFk()) || StrUtil.isEmpty(supProductEntity.getCustomerId())) { return ResultVOUtils.error(500, "参数错误!"); } - //判断是不是存在草稿 - List supCertEntityList1 = supCertService.findAll(supProductEntity.getCustomerId(), supProductEntity.getManufacturerIdFk(), supProductEntity.getProductId()); - for(SupCertEntity obj:supCertEntityList1){ - if(obj.getAuditStatus()==0){ - return ResultVOUtils.error(999,"证书中存在草稿不允许提交!"); - } - } + //提交审核 + if (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE || supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_UN) { + + //判断是不是存在草稿 + List supCertEntityList1 = supCertService.findAll(supProductEntity.getCustomerId(), supProductEntity.getManufacturerIdFk(), supProductEntity.getProductId()); + for (SupCertEntity obj : supCertEntityList1) { + if (obj.getAuditStatus() == 0) { + return ResultVOUtils.error(999, "证书中存在草稿不允许提交!"); + } + } //判断是否上级供应商是否审核通过 @@ -212,14 +221,14 @@ public class SupProductController { while (iterable.hasNext()) { SupCertSetEntity supCertSetEntity = iterable.next(); - if (supCertSetEntity.getImports()!=null && supCertSetEntity.getImports() == 1 || StrUtil.isNotEmpty(supCertSetEntity.getCplx()) && supCertSetEntity.getCplx().equals("全部") + if (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 1 || StrUtil.isNotEmpty(supCertSetEntity.getCplx()) && supCertSetEntity.getCplx().equals("全部") || StrUtil.isNotEmpty(supCertSetEntity.getHchzsb()) && supCertSetEntity.getHchzsb().equals("全部") || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 2 && StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 3 && !StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) || (StrUtil.trimToEmpty(supProductEntity.getProductType()).equals(supCertSetEntity.getCplx())) || (StrUtil.trimToEmpty(supProductEntity.getHchzsb()).equals(supCertSetEntity.getHchzsb())) - || StrUtil.isNotEmpty(supCertSetEntity.getFlbm()) &&(supCertSetEntity.getFlbm().contains(StrUtil.trimToEmpty(supProductEntity.getProductDirectoryCode()))) + || StrUtil.isNotEmpty(supCertSetEntity.getFlbm()) && (supCertSetEntity.getFlbm().contains(StrUtil.trimToEmpty(supProductEntity.getProductDirectoryCode()))) ) { for (SupCertEntity supCertEntity : supCertEntityList) { if (supCertEntity.getName().equals(supCertSetEntity.getName())) { @@ -241,7 +250,7 @@ public class SupProductController { return ResultVOUtils.error(500, errMsg.substring(1) + "等证书未上传,无法提交审核!"); } - + } supProductEntity.setUpdateTime(new Date()); SupProductResponse originEntity = supProductService.findByProductId(supProductEntity.getProductId()); supCertService.updateProductId(originEntity.getCustomerId(), supProductEntity.getCustomerId(), originEntity.getManufacturerIdFk(), @@ -262,7 +271,7 @@ public class SupProductController { if (supProductEntity.getAuditStatus() == null) { return ResultVOUtils.error(500, "参数错误!"); } - if(supProductEntity.getAuditStatus()==1){ + if (supProductEntity.getAuditStatus() == 1) { //查询用户上传的证书 FilterSupCertRequest filterSupCertRequest = new FilterSupCertRequest(); filterSupCertRequest.setCustomerId(supProductEntity.getCustomerId()); @@ -280,14 +289,14 @@ public class SupProductController { while (iterable.hasNext()) { SupCertSetEntity supCertSetEntity = iterable.next(); - if (supCertSetEntity.getImports()!=null && supCertSetEntity.getImports() == 1 || StrUtil.isNotEmpty(supCertSetEntity.getCplx()) && supCertSetEntity.getCplx().equals("全部") + if (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 1 || StrUtil.isNotEmpty(supCertSetEntity.getCplx()) && supCertSetEntity.getCplx().equals("全部") || StrUtil.isNotEmpty(supCertSetEntity.getHchzsb()) && supCertSetEntity.getHchzsb().equals("全部") || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 2 && StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) || (supCertSetEntity.getImports() != null && supCertSetEntity.getImports() == 3 && !StrUtil.trimToEmpty(supProductEntity.getRecordCode()).contains("进")) || (StrUtil.trimToEmpty(supProductEntity.getProductType()).equals(supCertSetEntity.getCplx())) || (StrUtil.trimToEmpty(supProductEntity.getHchzsb()).equals(supCertSetEntity.getHchzsb())) - || StrUtil.isNotEmpty(supCertSetEntity.getFlbm()) &&(supCertSetEntity.getFlbm().contains(StrUtil.trimToEmpty(supProductEntity.getProductDirectoryCode()))) + || StrUtil.isNotEmpty(supCertSetEntity.getFlbm()) && (supCertSetEntity.getFlbm().contains(StrUtil.trimToEmpty(supProductEntity.getProductDirectoryCode()))) ) { for (SupCertEntity supCertEntity : supCertEntityList) { if (supCertEntity.getName().equals(supCertSetEntity.getName())) { @@ -309,7 +318,7 @@ public class SupProductController { return ResultVOUtils.error(500, "必传证书不齐全"); } } - + String msg = ""; // 查询是否包含审核未通过的证书 if (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS) { @@ -322,17 +331,23 @@ public class SupProductController { List supCertEntityList = supCertService.filterCompanyCert(filterSupCertRequest); if (CollUtil.isNotEmpty(supCertEntityList)) { for (SupCertEntity supCertEntity : supCertEntityList) { - supCertEntity.setAuditStatus(ConstantStatus.AUDIT_PASS); - supCertService.updateCompanyCert(supCertEntity); + msg += supCertEntity.getName() + ","; } - -// return ResultVOUtils.error(500, "审核失败,剩余" + supCertEntityList.size() + "个证书还未审核或审核未通过!"); + return ResultVOUtils.error(500, "审核失败,还有必须提交证书未确认(" + msg.substring(0, msg.length() - 1) + ")"); } } supProductEntity.setUpdateTime(new Date()); boolean b = supProductService.modifyRegistration(supProductEntity); + if (StrUtil.isNotEmpty(supProductEntity.getRelIdFk())) { + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(Long.parseLong(supProductEntity.getRelIdFk())); + if (udiRelevanceEntity != null) { + udiRelevanceEntity.setDispatch(true); + udiRelevanceService.updateUdiRelevance(udiRelevanceEntity); + } + + } // if (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS) { // SupProductResponse supProductResponse = supProductService.findJoinRegistration(supProductEntity.getId()); @@ -414,6 +429,7 @@ public class SupProductController { @AuthRuleAnnotation("") @GetMapping("/sup/product/delete") + @Log(title = "资质证书", businessType = BusinessType.DELETE) public BaseResponse delete(DeleteCompanyFileRequest deleteCompanyFileRequest) { boolean b = supProductService.deleteById(deleteCompanyFileRequest.getId()); if (b) diff --git a/src/main/java/com/glxp/api/dao/basic/BasicCorpDao.java b/src/main/java/com/glxp/api/dao/basic/BasicCorpDao.java index 879d5438f..0f9d411f7 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicCorpDao.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicCorpDao.java @@ -63,4 +63,6 @@ public interface BasicCorpDao extends BaseMapperPlus getCorpList(); } diff --git a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java index 576270101..27db8099d 100644 --- a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java +++ b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java @@ -19,6 +19,7 @@ public interface UdiRelevanceDao extends BaseMapperPlus filterCertUdi(FilterUdiRelRequest filterUdiRelRequest); + List filterCertUdi(FilterUdiRelRequest filterUdiRelRequest); List filterUdiGp(FilterUdiRelRequest filterUdiRelRequest); diff --git a/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java b/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java index 1f7c16a46..d2ba6779e 100644 --- a/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java +++ b/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java @@ -1,5 +1,6 @@ package com.glxp.api.dao.system; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFTemplateRelevanceEntity; import com.glxp.api.req.system.FilterPdfTemplateRelevanceRequest; import com.glxp.api.res.system.SystemPDFTemplateRelevanceResponse; @@ -60,4 +61,6 @@ public interface SystemPDFTemplateRelevanceDao { boolean udpateRl(SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity); SystemPDFTemplateRelevanceEntity selectModuleldAndAction(@Param("moduleId") Integer moduleId,@Param("localAction") String localAction); + + SysPdfTemplateRelevanceStatemenEntity selectByStatemenId(String id); } diff --git a/src/main/java/com/glxp/api/entity/purchase/SupManufacturerEntity.java b/src/main/java/com/glxp/api/entity/purchase/SupManufacturerEntity.java index 04511a341..176efe79e 100644 --- a/src/main/java/com/glxp/api/entity/purchase/SupManufacturerEntity.java +++ b/src/main/java/com/glxp/api/entity/purchase/SupManufacturerEntity.java @@ -199,5 +199,7 @@ public class SupManufacturerEntity{ private String failCout; @TableField(exist = false) private String passCout; + @TableField("agentName") + private String agentName; } diff --git a/src/main/java/com/glxp/api/req/purchase/FilterImageRequest.java b/src/main/java/com/glxp/api/req/purchase/FilterImageRequest.java new file mode 100644 index 000000000..10caa21a2 --- /dev/null +++ b/src/main/java/com/glxp/api/req/purchase/FilterImageRequest.java @@ -0,0 +1,12 @@ +package com.glxp.api.req.purchase; + + +import lombok.Data; + +@Data +public class FilterImageRequest { + + private String imageUrl; + private String certFileUrl; + +} diff --git a/src/main/java/com/glxp/api/req/purchase/FilterPoductRequest.java b/src/main/java/com/glxp/api/req/purchase/FilterPoductRequest.java index bffdef85a..57fc3a7fa 100644 --- a/src/main/java/com/glxp/api/req/purchase/FilterPoductRequest.java +++ b/src/main/java/com/glxp/api/req/purchase/FilterPoductRequest.java @@ -19,4 +19,5 @@ public class FilterPoductRequest extends ListPageRequest { private String customerId; private Integer auditStatus; private String lastUpdateTime; + private String relIdFk; } diff --git a/src/main/java/com/glxp/api/service/basic/BasicCorpService.java b/src/main/java/com/glxp/api/service/basic/BasicCorpService.java index d93396b76..e96da293a 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicCorpService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicCorpService.java @@ -16,6 +16,8 @@ public interface BasicCorpService { boolean updateById(BasicCorpEntity basicCorpEntity); + boolean updateByErpId(BasicCorpEntity basicCorpEntity); + boolean insert(BasicCorpEntity basicUnitMaintainEntity); // boolean updateById(BasicUnitMaintainSaveRequest basicUnitMaintainSaveRequest); @@ -48,4 +50,7 @@ public interface BasicCorpService { * @return */ boolean verifyExists(BasicCorpEntity basicCorpEntity); + + List getCorpList(); + } diff --git a/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java b/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java index b89b809b4..0db9b7b55 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java @@ -91,6 +91,8 @@ public interface UdiRelevanceService extends IService { */ String findUuidById(String relId); + UdiRelevanceResponse selectUdiId(Long id); + List selectGroupByNameCode(String nameCode, Boolean isDisable); diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java index f9a60e5eb..87accbbce 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java @@ -1,6 +1,7 @@ package com.glxp.api.service.basic.impl; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.basic.BasicCorpDao; import com.glxp.api.entity.basic.BasicCorpEntity; @@ -58,6 +59,14 @@ public class BasicCorpServiceImpl implements BasicCorpService { return basicCorpDao.customUpdateById(basicUnitMaintainSaveRequest)>0?true:false; } + @Override + public boolean updateByErpId(BasicCorpEntity basicCorpEntity) { + basicCorpEntity.setUpdateTime(new Date()); + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("erpId",basicCorpEntity.getErpId()); + return basicCorpDao.update(basicCorpEntity,ew)>0?true:false; + } + @Override public boolean deleteById(String id) { return basicCorpDao.deleteById(id); @@ -114,6 +123,11 @@ public class BasicCorpServiceImpl implements BasicCorpService { return false; } + @Override + public List getCorpList() { + return basicCorpDao.getCorpList(); + } + @Override public BasicCorpEntity selectById(String id) { return basicCorpDao.selectById(id); diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java index 6f571bf09..6fe156188 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java @@ -400,4 +400,30 @@ public class UdiRelevanceServiceImpl extends ServiceImpl data = udiRelevanceDao.filterUdiRelevance(filterUdiRelRequest); + if (data != null && data.size() > 0) + return data.get(0); + return null; + } + + @Override + public List filterCertUdi(FilterUdiRelRequest filterUdiRelRequest) { + + + if (filterUdiRelRequest == null) { + return Collections.emptyList(); + } + if (filterUdiRelRequest.getPage() != null) { + int offset = (filterUdiRelRequest.getPage() - 1) * filterUdiRelRequest.getLimit(); + PageHelper.offsetPage(offset, filterUdiRelRequest.getLimit()); + } + List data = udiRelevanceDao.filterCertUdi(filterUdiRelRequest); + return data; + + } } diff --git a/src/main/java/com/glxp/api/service/purchase/SupCertService.java b/src/main/java/com/glxp/api/service/purchase/SupCertService.java index c6d1f9378..ec2c80ce5 100644 --- a/src/main/java/com/glxp/api/service/purchase/SupCertService.java +++ b/src/main/java/com/glxp/api/service/purchase/SupCertService.java @@ -3,13 +3,14 @@ package com.glxp.api.service.purchase; +import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.purchase.SupCertEntity; import com.glxp.api.req.purchase.FilterSupCertRequest; import com.glxp.api.req.purchase.purPlanPrintRequest; import java.util.List; -public interface SupCertService { +public interface SupCertService extends IService { List filterCompanyCert(FilterSupCertRequest filterSupCertRequest); @@ -21,6 +22,8 @@ public interface SupCertService { List findAll(String customerId, String manufacturerId, String productId); + List selectCompanyCert(FilterSupCertRequest filterSupCertRequest); + List getCompanyCert(FilterSupCertRequest filterSupCertRequest); diff --git a/src/main/java/com/glxp/api/service/purchase/SupCertSetService.java b/src/main/java/com/glxp/api/service/purchase/SupCertSetService.java index 30d345d3f..b25a1ca84 100644 --- a/src/main/java/com/glxp/api/service/purchase/SupCertSetService.java +++ b/src/main/java/com/glxp/api/service/purchase/SupCertSetService.java @@ -1,14 +1,13 @@ package com.glxp.api.service.purchase; - - +import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.purchase.SupCertSetEntity; import com.glxp.api.req.purchase.FilterCertSetsRequest; import java.util.List; -public interface SupCertSetService { +public interface SupCertSetService extends IService { List filterCertSets(FilterCertSetsRequest filterCertSetsRequest); diff --git a/src/main/java/com/glxp/api/service/purchase/SupCompanyService.java b/src/main/java/com/glxp/api/service/purchase/SupCompanyService.java index 7f5ba1f5d..a71f11f17 100644 --- a/src/main/java/com/glxp/api/service/purchase/SupCompanyService.java +++ b/src/main/java/com/glxp/api/service/purchase/SupCompanyService.java @@ -2,12 +2,13 @@ package com.glxp.api.service.purchase; +import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.purchase.SupCompanyEntity; import com.glxp.api.req.purchase.FilterSupCompanyRequest; import java.util.List; -public interface SupCompanyService { +public interface SupCompanyService extends IService { SupCompanyEntity findCompanyByUnitFk(String unitFk); diff --git a/src/main/java/com/glxp/api/service/purchase/SupManufacturerService.java b/src/main/java/com/glxp/api/service/purchase/SupManufacturerService.java index e868eb176..92565da47 100644 --- a/src/main/java/com/glxp/api/service/purchase/SupManufacturerService.java +++ b/src/main/java/com/glxp/api/service/purchase/SupManufacturerService.java @@ -1,14 +1,13 @@ package com.glxp.api.service.purchase; - - +import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.purchase.SupManufacturerEntity; import com.glxp.api.req.purchase.FilterSupManufacturerRequest; import java.util.List; -public interface SupManufacturerService { +public interface SupManufacturerService extends IService { SupManufacturerEntity findCompany(Long id); diff --git a/src/main/java/com/glxp/api/service/purchase/SupProductService.java b/src/main/java/com/glxp/api/service/purchase/SupProductService.java index 461e5a72c..d27a20df5 100644 --- a/src/main/java/com/glxp/api/service/purchase/SupProductService.java +++ b/src/main/java/com/glxp/api/service/purchase/SupProductService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.purchase; +import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.purchase.SupProductEntity; import com.glxp.api.req.purchase.FilterPoductRequest; import com.glxp.api.res.purchase.SupProductResponse; @@ -8,12 +9,17 @@ import org.apache.ibatis.annotations.Param; import java.util.List; -public interface SupProductService { +public interface SupProductService extends IService { SupProductEntity findRegistration(Long id); SupProductResponse findByProductId(String productId); + SupProductEntity findByRelIdFk(String relIdFk); + + + SupProductEntity findByManufactury(String cpmctymc, String manufactory,String manufacturerIdFk); + SupProductResponse findByPassByReCert(String registerCert); SupProductResponse findJoinRegistration(Long id); @@ -31,4 +37,4 @@ public interface SupProductService { boolean deleteById(@Param("id") String id); boolean deleteByEnterpriseId(@Param("enterpriseId") String enterpriseId); -} \ No newline at end of file +} diff --git a/src/main/java/com/glxp/api/service/purchase/impl/SupCertServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/SupCertServiceImpl.java index 8eed10568..c11da8077 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/SupCertServiceImpl.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/SupCertServiceImpl.java @@ -1,6 +1,7 @@ package com.glxp.api.service.purchase.impl; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.dao.purchase.SupCertDao; @@ -17,7 +18,7 @@ import java.util.List; @Service @Transactional(rollbackFor = Exception.class) -public class SupCertServiceImpl implements SupCertService { +public class SupCertServiceImpl extends ServiceImpl implements SupCertService { @Resource SupCertDao supCertDao; @@ -34,6 +35,20 @@ public class SupCertServiceImpl implements SupCertService { return supCertDao.filterCompanyCert(filterSupCertRequest); } + @Override + public List selectCompanyCert(FilterSupCertRequest filterSupCertRequest) { + if (filterSupCertRequest == null) { + return Collections.emptyList(); + } + if (filterSupCertRequest.getPage() != null) { + int offset = (filterSupCertRequest.getPage() - 1) * filterSupCertRequest.getLimit(); + PageHelper.offsetPage(offset, filterSupCertRequest.getLimit()); + } + + List companyEntities = supCertDao.getCompanyCert(filterSupCertRequest); + return companyEntities; + } + @Override public List getCompanyCert(FilterSupCertRequest filterSupCertRequest) { @@ -97,8 +112,8 @@ public class SupCertServiceImpl implements SupCertService { } @Override - public boolean updateCustomerId(String oldId, String newId,Integer auditStatus) { - return supCertDao.updateCustomerId(oldId, newId,auditStatus); + public boolean updateCustomerId(String oldId, String newId, Integer auditStatus) { + return supCertDao.updateCustomerId(oldId, newId, auditStatus); } @Override diff --git a/src/main/java/com/glxp/api/service/purchase/impl/SupCertSetServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/SupCertSetServiceImpl.java index 64e460b5f..ce8be5769 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/SupCertSetServiceImpl.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/SupCertSetServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.service.purchase.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.purchase.SupCertSetDao; import com.glxp.api.entity.purchase.SupCertSetEntity; @@ -14,7 +15,7 @@ import java.util.List; @Service @Transactional(rollbackFor = Exception.class) -public class SupCertSetServiceImpl implements SupCertSetService { +public class SupCertSetServiceImpl extends ServiceImpl implements SupCertSetService { @Resource SupCertSetDao supCertSetDao; diff --git a/src/main/java/com/glxp/api/service/purchase/impl/SupCompanyServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/SupCompanyServiceImpl.java index a53f54bbc..d9554d6b1 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/SupCompanyServiceImpl.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/SupCompanyServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.service.purchase.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.purchase.SupCompanyDao; import com.glxp.api.entity.purchase.SupCompanyEntity; @@ -14,7 +15,7 @@ import java.util.List; @Service @Transactional(rollbackFor = Exception.class) -public class SupCompanyServiceImpl implements SupCompanyService { +public class SupCompanyServiceImpl extends ServiceImpl implements SupCompanyService { @Resource SupCompanyDao supCompanyDao; diff --git a/src/main/java/com/glxp/api/service/purchase/impl/SupManufacturerServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/SupManufacturerServiceImpl.java index cd7d5dc15..d75d7b3c9 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/SupManufacturerServiceImpl.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/SupManufacturerServiceImpl.java @@ -2,6 +2,7 @@ package com.glxp.api.service.purchase.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.purchase.SupManufacturerDao; import com.glxp.api.entity.purchase.SupManufacturerEntity; @@ -16,7 +17,7 @@ import java.util.List; @Service @Transactional(rollbackFor = Exception.class) -public class SupManufacturerServiceImpl implements SupManufacturerService { +public class SupManufacturerServiceImpl extends ServiceImpl implements SupManufacturerService { @Resource SupManufacturerDao supManufacturerDao; diff --git a/src/main/java/com/glxp/api/service/purchase/impl/SupProductServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/SupProductServiceImpl.java index a8f4ec69c..8188e72d3 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/SupProductServiceImpl.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/SupProductServiceImpl.java @@ -2,6 +2,8 @@ package com.glxp.api.service.purchase.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.dao.purchase.SupProductDao; @@ -18,7 +20,7 @@ import java.util.List; @Service @Transactional(rollbackFor = Exception.class) -public class SupProductServiceImpl implements SupProductService { +public class SupProductServiceImpl extends ServiceImpl implements SupProductService { @Resource SupProductDao supProductDao; @@ -69,6 +71,37 @@ public class SupProductServiceImpl implements SupProductService { return null; } + @Override + public SupProductEntity findByRelIdFk(String relIdFk) { + + List supProductEntities = supProductDao.selectList(new QueryWrapper().eq("relIdFk", relIdFk) + .and(tmp -> tmp.eq("auditStatus", ConstantStatus.AUDIT_PASS).or().eq("auditStatus", ConstantStatus.AUDIT_PASS)) + .last("LIMIT 1")); + if (CollUtil.isNotEmpty(supProductEntities)) + return supProductEntities.get(0); + else return null; + } + + @Override + public SupProductEntity findByManufactury(String cpmctymc, String manufactory, String manufacturerIdFk) { + + QueryWrapper ew = new QueryWrapper<>(); + if (StrUtil.isNotEmpty(manufactory)) { + ew.eq("manufactory", manufactory); + } + if (StrUtil.isNotEmpty(cpmctymc)) { + ew.eq("recordProductName", cpmctymc); + } + if (StrUtil.isNotEmpty(manufacturerIdFk)) { + ew.eq("manufacturerIdFk", manufacturerIdFk); + } + ew.last("limit 1"); + List supProductEntities = supProductDao.selectList(ew); + if (CollUtil.isNotEmpty(supProductEntities)) + return supProductEntities.get(0); + else return null; + } + @Override public SupProductEntity findRegistrationByName(String recordProductName) { return supProductDao.findRegistrationByName(recordProductName); diff --git a/src/main/java/com/glxp/api/service/system/SystemPDFModuleService.java b/src/main/java/com/glxp/api/service/system/SystemPDFModuleService.java index cfcdf4a9f..70c2a92d0 100644 --- a/src/main/java/com/glxp/api/service/system/SystemPDFModuleService.java +++ b/src/main/java/com/glxp/api/service/system/SystemPDFModuleService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.system; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFModuleEntity; import com.glxp.api.req.system.FilterPdfModuleRequest; import com.glxp.api.req.system.SysPdfModuleSaveRequest; @@ -26,4 +27,6 @@ public interface SystemPDFModuleService { boolean deleteById(Integer id); List findByLastTime(Date lastUpdateTime); + + SysPdfTemplateRelevanceStatemenEntity selectByStatemenId(String id); } diff --git a/src/main/java/com/glxp/api/service/system/impl/SystemPDFModuleServiceImpl.java b/src/main/java/com/glxp/api/service/system/impl/SystemPDFModuleServiceImpl.java index a9734e635..8e678373a 100644 --- a/src/main/java/com/glxp/api/service/system/impl/SystemPDFModuleServiceImpl.java +++ b/src/main/java/com/glxp/api/service/system/impl/SystemPDFModuleServiceImpl.java @@ -2,6 +2,8 @@ package com.glxp.api.service.system.impl; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.system.SystemPDFModuleDao; +import com.glxp.api.dao.system.SystemPDFTemplateRelevanceDao; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFModuleEntity; import com.glxp.api.req.system.FilterPdfModuleRequest; import com.glxp.api.req.system.SysPdfModuleSaveRequest; @@ -19,6 +21,9 @@ public class SystemPDFModuleServiceImpl implements SystemPDFModuleService { @Resource SystemPDFModuleDao systemPDFModuleDao; + @Resource + SystemPDFTemplateRelevanceDao systemPDFTemplateRelevanceDao; + @Override public List queryPage(FilterPdfModuleRequest FilterPDFModuleRequest) { int offset = (FilterPDFModuleRequest.getPage() - 1) * FilterPDFModuleRequest.getLimit(); @@ -67,4 +72,9 @@ public class SystemPDFModuleServiceImpl implements SystemPDFModuleService { public List findByLastTime(Date lastUpdateTime) { return systemPDFModuleDao.selectByLastTime(lastUpdateTime); } + + @Override + public SysPdfTemplateRelevanceStatemenEntity selectByStatemenId(String id) { + return systemPDFTemplateRelevanceDao.selectByStatemenId(id); + } } diff --git a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml index 9dcb7e49a..e8e61b424 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml @@ -312,4 +312,15 @@ + + + diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index b7caca542..dc5520f12 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -1248,4 +1248,174 @@ limit 1 + + + diff --git a/src/main/resources/mybatis/mapper/purchase/SupCertDao.xml b/src/main/resources/mybatis/mapper/purchase/SupCertDao.xml index b7eb1c4fe..3c09c06da 100644 --- a/src/main/resources/mybatis/mapper/purchase/SupCertDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/SupCertDao.xml @@ -36,6 +36,20 @@ ORDER BY id DESC + + @@ -170,4 +189,4 @@ ORDER BY id DESC - \ No newline at end of file + diff --git a/src/main/resources/mybatis/mapper/purchase/SupCompanyDao.xml b/src/main/resources/mybatis/mapper/purchase/SupCompanyDao.xml index 093b93fe8..109e69d1a 100644 --- a/src/main/resources/mybatis/mapper/purchase/SupCompanyDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/SupCompanyDao.xml @@ -15,10 +15,10 @@ - select companyName from sup_company where customerId = #{customerId} - - \ No newline at end of file + + diff --git a/src/main/resources/mybatis/mapper/purchase/SupManufacturerDao.xml b/src/main/resources/mybatis/mapper/purchase/SupManufacturerDao.xml index 513170d97..b04df4abd 100644 --- a/src/main/resources/mybatis/mapper/purchase/SupManufacturerDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/SupManufacturerDao.xml @@ -99,6 +99,7 @@ manufacturerId=#{manufacturerId}, auditStatus=#{auditStatus}, auditComment=#{auditComment}, + agentName=#{agentName}, @@ -114,7 +115,7 @@ registerStatus, productionLicenceNum, productionLicenceDate, productionRecordNum, productionRecordSection, productionRecordDate, remark, createTime, updateTime, customerId, manufacturerId, - auditStatus, auditComment) + auditStatus, auditComment,agentName) values (#{companyName}, #{creditCode}, #{companyType}, #{placeArea}, #{placeAreaCode}, #{placeAddress}, #{legalPersonName}, #{legalPersonPapersType}, #{legalPersonPapersCode}, @@ -122,7 +123,7 @@ #{registerStatus}, #{productionLicenceNum}, #{productionLicenceDate}, #{productionRecordNum}, #{productionRecordSection}, #{productionRecordDate}, #{remark}, #{createTime}, #{updateTime}, #{customerId}, #{manufacturerId}, #{auditStatus}, - #{auditComment}) + #{auditComment},#{agentName}) @@ -157,7 +158,4 @@ - \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/purchase/SupProductDao.xml b/src/main/resources/mybatis/mapper/purchase/SupProductDao.xml index c32ac8ba7..8fe545e1c 100644 --- a/src/main/resources/mybatis/mapper/purchase/SupProductDao.xml +++ b/src/main/resources/mybatis/mapper/purchase/SupProductDao.xml @@ -2,7 +2,6 @@ - - SELECT sup_product.* FROM sup_product + SELECT sup_product.* + FROM sup_product and sup_product.id = #{id} @@ -30,14 +30,21 @@ and sup_product.enterpriseId = #{enterpriseId} + + and sup_product.relIdFk = #{relIdFk} + + + and sup_product.manufactory = #{manufactory} + + - and sup_product.recordCode like concat('%',#{recordCode},'%') + and sup_product.recordCode like concat('%', #{recordCode}, '%') - and sup_product.recordProductName like concat('%',#{recordProductName},'%') + and sup_product.recordProductName like concat('%', #{recordProductName}, '%') - and sup_product.recordPeopleName like concat('%',#{recordPeopleName},'%') + and sup_product.recordPeopleName like concat('%', #{recordPeopleName}, '%') and sup_product.manufacturerIdFk = #{manufacturerIdFk} @@ -45,24 +52,24 @@ and sup_product.customerId = #{customerId} - + and sup_product.auditStatus = #{auditStatus} - - and sup_product.manufactory = #{manufactory} - - - and (sup_product.auditStatus = 0 or sup_product.auditStatus=5 or - sup_product.auditStatus=2) + + and (sup_product.auditStatus = 0 or sup_product.auditStatus = 5 or + sup_product.auditStatus = 2) - - and 0 ]]> + + and 0 + ]]> - - and (sup_product.auditStatus = 1 or sup_product.auditStatus=4 ) + + and (sup_product.auditStatus = 1 or sup_product.auditStatus = 4) - - = DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]> + + = DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') + ]]> @@ -70,19 +77,68 @@ - UPDATE sup_product - enterpriseId=#{enterpriseId}, - recordCode=#{recordCode}, - recordProductName=#{recordProductName}, - productManageType=#{productManageType}, - recordPeopleName=#{recordPeopleName}, - recordPeopleArea=#{recordPeopleArea}, - recordPeopleAreaCode=#{recordPeopleAreaCode}, - recordPeopleAddress=#{recordPeopleAddress}, - productType=#{productType}, - productDirectoryCode=#{productDirectoryCode}, - agentName=#{agentName}, - agentArea=#{agentArea}, - agentAreaCode=#{agentAreaCode}, - agentAddress=#{agentAddress}, - instructions=#{instructions}, - productAddress=#{productAddress}, - recordText=#{recordText}, - placeOrigin=#{placeOrigin}, - productionRegion=#{productionRegion}, - productionCompanyName=#{productionCompanyName}, - afterSale=#{afterSale}, - specification=#{specification}, - structure=#{structure}, - scope=#{scope}, - other=#{other}, - filePath=#{filePath}, - remark=#{remark}, - createTime=#{createTime}, - updateTime=#{updateTime}, - manufacturerIdFk=#{manufacturerIdFk}, - customerId=#{customerId}, - productId=#{productId}, - auditStatus=#{auditStatus}, - auditComment=#{auditComment}, - sptm=#{sptm}, - ybbm=#{ybbm}, - measname=#{measname}, - cpms=#{cpms}, - hchzsb=#{hchzsb}, - relIdFk=#{relIdFk}, - manufactory=#{manufactory}, - allowNoBatch=#{allowNoBatch}, - allowNoExpire=#{allowNoExpire}, - allowNoProduct=#{allowNoProduct}, - allowNoSerial=#{allowNoSerial}, - + + enterpriseId=#{enterpriseId}, + + + recordCode=#{recordCode}, + + + recordProductName=#{recordProductName}, + + + productManageType=#{productManageType}, + + + recordPeopleName=#{recordPeopleName}, + + + recordPeopleArea=#{recordPeopleArea}, + + + recordPeopleAreaCode=#{recordPeopleAreaCode}, + + + recordPeopleAddress=#{recordPeopleAddress}, + + + productType=#{productType}, + + + productDirectoryCode=#{productDirectoryCode}, + + + agentName=#{agentName}, + + + agentArea=#{agentArea}, + + + agentAreaCode=#{agentAreaCode}, + + + agentAddress=#{agentAddress}, + + + instructions=#{instructions}, + + + productAddress=#{productAddress}, + + + recordText=#{recordText}, + + + placeOrigin=#{placeOrigin}, + + + productionRegion=#{productionRegion}, + + + productionCompanyName=#{productionCompanyName}, + + + afterSale=#{afterSale}, + + + specification=#{specification}, + + + structure=#{structure}, + + + scope=#{scope}, + + + other=#{other}, + + + filePath=#{filePath}, + + + remark=#{remark}, + + + createTime=#{createTime}, + + + updateTime=#{updateTime}, + + + manufacturerIdFk=#{manufacturerIdFk}, + + + customerId=#{customerId}, + + + productId=#{productId}, + + + auditStatus=#{auditStatus}, + + + auditComment=#{auditComment}, + + + sptm=#{sptm}, + + + ybbm=#{ybbm}, + + + measname=#{measname}, + + + hchzsb=#{hchzsb}, + + + relIdFk=#{relIdFk}, + + + manufactory=#{manufactory}, + + + allowNoBatch=#{allowNoBatch}, + + + allowNoExpire=#{allowNoExpire}, + + + allowNoProduct=#{allowNoProduct}, + + + allowNoSerial=#{allowNoSerial}, + - WHERE id=#{id} - + WHERE id = #{id} replace - INTO sup_product(enterpriseId, recordCode, recordProductName, - productManageType, recordPeopleName, recordPeopleArea, - recordPeopleAreaCode, recordPeopleAddress, productType, - productDirectoryCode, agentName, agentArea, - agentAreaCode, agentAddress, instructions, - productAddress, recordText, placeOrigin, - productionRegion, productionCompanyName, afterSale, - specification, structure, `scope`, - other, filePath, remark, - createTime, updateTime, manufacturerIdFk, customerId, productId - , auditStatus, auditComment, sptm, ybbm, measname, cpms, hchzsb,relIdFk,manufactory, allowNoBatch, + INTO sup_product(enterpriseId, recordCode, recordProductName, + productManageType, recordPeopleName, recordPeopleArea, + recordPeopleAreaCode, recordPeopleAddress, productType, + productDirectoryCode, agentName, agentArea, + agentAreaCode, agentAddress, instructions, + productAddress, recordText, placeOrigin, + productionRegion, productionCompanyName, afterSale, + specification, structure, `scope`, + other, filePath, remark, + createTime, updateTime, manufacturerIdFk, customerId, productId + , auditStatus, auditComment, sptm, ybbm, measname, hchzsb, relIdFk, manufactory, allowNoBatch, allowNoExpire, allowNoProduct, allowNoSerial) - values ( - #{enterpriseId}, - #{recordCode}, - #{recordProductName}, - #{productManageType}, - #{recordPeopleName}, - #{recordPeopleArea}, - #{recordPeopleAreaCode}, - #{recordPeopleAddress}, - #{productType}, - #{productDirectoryCode}, - #{agentName}, - #{agentArea}, - #{agentAreaCode}, - #{agentAddress}, - #{instructions}, - #{productAddress}, - #{recordText}, - #{placeOrigin}, - #{productionRegion}, - #{productionCompanyName}, - #{afterSale}, - #{specification}, - #{structure}, - #{scope}, - #{other}, - #{filePath}, - #{remark}, - #{createTime}, - #{updateTime}, - #{manufacturerIdFk}, - #{customerId}, - #{productId}, - #{auditStatus}, - #{auditComment}, - #{sptm}, - #{ybbm}, - #{measname}, - #{cpms}, - #{hchzsb}, - #{relIdFk}, - #{manufactory}, #{allowNoBatch}, #{allowNoExpire}, #{allowNoProduct}, - #{allowNoSerial} - ) + values (#{enterpriseId}, + #{recordCode}, + #{recordProductName}, + #{productManageType}, + #{recordPeopleName}, + #{recordPeopleArea}, + #{recordPeopleAreaCode}, + #{recordPeopleAddress}, + #{productType}, + #{productDirectoryCode}, + #{agentName}, + #{agentArea}, + #{agentAreaCode}, + #{agentAddress}, + #{instructions}, + #{productAddress}, + #{recordText}, + #{placeOrigin}, + #{productionRegion}, + #{productionCompanyName}, + #{afterSale}, + #{specification}, + #{structure}, + #{scope}, + #{other}, + #{filePath}, + #{remark}, + #{createTime}, + #{updateTime}, + #{manufacturerIdFk}, + #{customerId}, + #{productId} + , + #{auditStatus}, + #{auditComment}, + #{sptm}, + #{ybbm}, + #{measname}, + #{hchzsb}, #{relIdFk}, #{manufactory}, #{allowNoBatch}, #{allowNoExpire}, #{allowNoProduct}, + #{allowNoSerial}) @@ -249,5 +389,4 @@ FROM sup_product WHERE enterpriseId = #{enterpriseId} - - \ No newline at end of file + diff --git a/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml b/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml index c27c54cbe..0c2c30fe0 100644 --- a/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml @@ -128,4 +128,11 @@ + + From 02f1ce16c6a272d10f8f8a3e477865e2eb40a7d4 Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 21 Apr 2023 14:51:37 +0800 Subject: [PATCH 2/5] =?UTF-8?q?1.=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../com/glxp/api/dao/inout/IoOrderDao.java | 7 ++ .../glxp/api/dao/thrsys/ThrProductsDao.java | 12 +++ .../api/service/inout/IoOrderService.java | 9 +++ .../inout/impl/IoOrderServiceImpl.java | 15 ++++ .../impl/ThrBusTypeOriginServiceImpl.java | 20 ++--- .../thrsys/impl/ThrCorpServiceImpl.java | 40 +++------ .../impl/ThrInvWarehouseServiceImpl.java | 15 ++-- .../thrsys/impl/ThrProductsServiceImpl.java | 81 ++++++++++++++++++- .../glxp/api/task/ThirdSysInterfaceTask.java | 10 ++- .../mybatis/mapper/inout/IoOrderDao.xml | 4 + .../mybatis/mapper/thrsys/ThrProductsDao.xml | 74 +++++++++++++++++ 12 files changed, 233 insertions(+), 56 deletions(-) diff --git a/pom.xml b/pom.xml index e06eef846..b0139781f 100644 --- a/pom.xml +++ b/pom.xml @@ -220,7 +220,7 @@ cn.hutool hutool-all - 5.7.9 + 5.8.18 com.belerweb diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java index 46a59feb3..214169688 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java @@ -59,4 +59,11 @@ public interface IoOrderDao extends BaseMapperPlus selectWaitSubmitOrder(String thirdSys); } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrProductsDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrProductsDao.java index 069211918..b7939422a 100644 --- a/src/main/java/com/glxp/api/dao/thrsys/ThrProductsDao.java +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrProductsDao.java @@ -20,6 +20,7 @@ public interface ThrProductsDao { List filterThrProducts(FilterThrProductsRequest filterThrProductsRequest); + List filterThrProducts1(FilterThrProductsRequest filterThrProductsRequest); List filterJoinThrProducts(FilterThrProductsRequest filterThrProductsRequest); @@ -33,4 +34,15 @@ public interface ThrProductsDao { boolean insertThrProductsList(List list); List selectByLastTime(@Param("lastUpdateTime") Date lastUpdateTime); + + /** + * 查询下载第三方产品校验字段 + * + * @param code + * @param thirdSysFk + * @return + */ + ThrProductsEntity selectByCodeAndThird(@Param("code") String code, @Param("thirdSysFk") String thirdSysFk); + + boolean updateById(ThrProductsEntity thrProductsEntity); } diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderService.java b/src/main/java/com/glxp/api/service/inout/IoOrderService.java index 4db6ed140..7eb96125a 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderService.java @@ -2,6 +2,7 @@ package com.glxp.api.service.inout; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.entity.inout.IoOrderEntity; +import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.req.inout.FilterUploadOrderRequest; import com.glxp.api.req.inout.OrderEditRequest; @@ -124,4 +125,12 @@ public interface IoOrderService { boolean isExitByAction(String action); + + /** + * 定时任务自动提交单据到第三方系统 + * + * @param thrSystemDetailEntity + * @return + */ + BaseResponse submitOrderToThrSys(ThrSystemDetailEntity thrSystemDetailEntity); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java index 5c8c27d72..299ab7222 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java @@ -26,6 +26,7 @@ import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inv.*; import com.glxp.api.entity.system.SyncDataBustypeEntity; import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; +import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; import com.glxp.api.entity.thrsys.ThrSystemEntity; import com.glxp.api.http.HttpOkClient; import com.glxp.api.req.inout.FilterOrderRequest; @@ -745,6 +746,20 @@ public class IoOrderServiceImpl implements IoOrderService { return orderDao.exists(new QueryWrapper().eq("action", action)); } + @Override + public BaseResponse submitOrderToThrSys(ThrSystemDetailEntity thrSystemDetailEntity) { + //查询可以提交到第三方系统的单据 + List billNos = orderDao.selectWaitSubmitOrder(thrSystemDetailEntity.getThirdSysFk()); + if (CollUtil.isNotEmpty(billNos)) { + log.info("开始提交单据到第三方系统,本次提交单据数量:{}", billNos.size()); + for (String billNo : billNos) { + submitToThrSys(billNo); + } + log.info("单据提交完成"); + } + return ResultVOUtils.success("单据提交完成"); + } + /** * 查询此单据关联的所有单据 * diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrBusTypeOriginServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrBusTypeOriginServiceImpl.java index a3b533396..c784d7317 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrBusTypeOriginServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrBusTypeOriginServiceImpl.java @@ -28,7 +28,6 @@ import javax.annotation.Resource; import java.util.Collections; import java.util.Date; import java.util.List; -import java.util.Objects; @Slf4j @Service @@ -215,18 +214,11 @@ public class ThrBusTypeOriginServiceImpl implements IThrBusTypeOriginService { * @return */ private boolean verifyDataChange(ThrBusTypeOriginEntity thrBusTypeOriginEntity, ThrSystemBusApiEntity thrSystemBusApi) { - if (!StrUtil.equals(thrBusTypeOriginEntity.getName(), thrSystemBusApi.getName())) { - thrBusTypeOriginEntity.setName(thrSystemBusApi.getName()); - return true; - } - if (!Objects.equals(thrBusTypeOriginEntity.getInoutType(), thrSystemBusApi.getInoutType())) { - thrBusTypeOriginEntity.setInoutType(thrSystemBusApi.getInoutType()); - return true; - } - if (!StrUtil.equals(thrBusTypeOriginEntity.getRemark(), thrSystemBusApi.getRemark())) { - thrBusTypeOriginEntity.setRemark(thrSystemBusApi.getRemark()); - return true; - } - return false; + ThrBusTypeOriginEntity oldData = new ThrBusTypeOriginEntity(); + BeanUtil.copyProperties(thrBusTypeOriginEntity, oldData); + thrBusTypeOriginEntity.setName(thrSystemBusApi.getName()); + thrBusTypeOriginEntity.setInoutType(thrSystemBusApi.getInoutType()); + thrBusTypeOriginEntity.setRemark(thrSystemBusApi.getRemark()); + return !thrBusTypeOriginEntity.equals(oldData); } } diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrCorpServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrCorpServiceImpl.java index 845fade20..fc2a50a41 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrCorpServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrCorpServiceImpl.java @@ -1,7 +1,6 @@ package com.glxp.api.service.thrsys.impl; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -157,35 +156,16 @@ public class ThrCorpServiceImpl implements ThrCorpService { * @return */ private boolean verifyDataChange(ThrCorpEntity thrCorpEntity, ThrCorpsResponse thrCorpsResponse) { - if (!StrUtil.equals(thrCorpEntity.getSpell(), thrCorpsResponse.getSpell())) { - thrCorpEntity.setSpell(thrCorpsResponse.getSpell()); - return true; - } - if (!StrUtil.equals(thrCorpEntity.getAddr(), thrCorpsResponse.getAddr())) { - thrCorpEntity.setAddr(thrCorpsResponse.getAddr()); - return true; - } - if (!StrUtil.equals(thrCorpEntity.getCreditNo(), thrCorpsResponse.getCreditNo())) { - thrCorpEntity.setContact(thrCorpsResponse.getCreditNo()); - return true; - } - if (!StrUtil.equals(thrCorpEntity.getContact(), thrCorpsResponse.getContact())) { - thrCorpEntity.setContact(thrCorpsResponse.getContact()); - return true; - } - if (!StrUtil.equals(thrCorpEntity.getMobile(), thrCorpsResponse.getMobile())) { - thrCorpEntity.setMobile(thrCorpsResponse.getMobile()); - return true; - } - if (!StrUtil.equals(thrCorpEntity.getName(), thrCorpsResponse.getName())) { - thrCorpEntity.setName(thrCorpsResponse.getName()); - return true; - } - if (!StrUtil.equals(thrCorpEntity.getRemark(), thrCorpsResponse.getRemark())) { - thrCorpEntity.setRemark(thrCorpsResponse.getRemark()); - return true; - } - return false; + ThrCorpEntity oldData = new ThrCorpEntity(); + BeanUtil.copyProperties(thrCorpEntity, oldData); + thrCorpEntity.setSpell(thrCorpsResponse.getSpell()); + thrCorpEntity.setAddr(thrCorpsResponse.getAddr()); + thrCorpEntity.setContact(thrCorpsResponse.getCreditNo()); + thrCorpEntity.setContact(thrCorpsResponse.getContact()); + thrCorpEntity.setMobile(thrCorpsResponse.getMobile()); + thrCorpEntity.setName(thrCorpsResponse.getName()); + thrCorpEntity.setRemark(thrCorpsResponse.getRemark()); + return !thrCorpEntity.equals(oldData); } } diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvWarehouseServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvWarehouseServiceImpl.java index b32e30b7e..29a84e44f 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvWarehouseServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvWarehouseServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.service.thrsys.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; @@ -184,15 +185,11 @@ public class ThrInvWarehouseServiceImpl implements ThrInvWarehouseService { * @return */ private boolean verifyDataChange(ThrInvWarehouseEntity thrInvWarehouseEntity, UdiwmsWarehouseDetail udiwmsWarehouseDetail) { - if (!StrUtil.equals(thrInvWarehouseEntity.getName(), udiwmsWarehouseDetail.getName())) { - thrInvWarehouseEntity.setName(udiwmsWarehouseDetail.getName()); - return true; - } - if (!StrUtil.equals(thrInvWarehouseEntity.getRemark(), udiwmsWarehouseDetail.getRemark())) { - thrInvWarehouseEntity.setRemark(udiwmsWarehouseDetail.getRemark()); - return true; - } - return false; + ThrInvWarehouseEntity oldData = new ThrInvWarehouseEntity(); + BeanUtil.copyProperties(thrInvWarehouseEntity, oldData); + thrInvWarehouseEntity.setName(udiwmsWarehouseDetail.getName()); + thrInvWarehouseEntity.setRemark(udiwmsWarehouseDetail.getRemark()); + return !thrInvWarehouseEntity.equals(oldData); } } diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java index b2ec40905..b457d84a2 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java @@ -13,6 +13,7 @@ import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; import com.glxp.api.http.ErpBasicClient; import com.glxp.api.req.thrsys.FilterThrProductsRequest; import com.glxp.api.req.thrsys.PostThrProductsRequest; +import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.thrsys.ThrProductsResponse; import com.glxp.api.service.thrsys.ThrProductsService; import lombok.extern.slf4j.Slf4j; @@ -160,8 +161,86 @@ public class ThrProductsServiceImpl implements ThrProductsService { @Override public BaseResponse downloadThrPi(ThrSystemDetailEntity thrSystemDetailEntity) { + int page = 1; + int limit = 200; + FilterThrProductsRequest request = new FilterThrProductsRequest(); + request.setThirdSysFk(thrSystemDetailEntity.getThirdSysFk()); + request.setLimit(limit); + while (true) { + request.setPage(page); + + BaseResponse> baseResponse = erpBasicClient.getErpProducts(request); + if (baseResponse.getCode() == 20000) { + List list = baseResponse.getData().getList(); + list.forEach(item -> { + ThrProductsEntity thrProductsEntity = thrProductsDao.selectByCodeAndThird(item.getCode(), item.getThirdSys()); + if (null == thrProductsEntity) { + thrProductsEntity = new ThrProductsEntity(); + BeanUtil.copyProperties(item, thrProductsEntity); + thrProductsEntity.setCreateTime(new Date()); + thrProductsEntity.setUpdateTime(new Date()); + } else { + boolean isChange = verifyDataChange(thrProductsEntity, item); + if (isChange) { + thrProductsEntity.setUpdateTime(new Date()); + thrProductsDao.updateById(thrProductsEntity); + } + } + }); + + + if (list.size() >= limit) { + page++; + } else { + break; + } + } else { + return ResultVOUtils.error(500, "下载第三方系统产品信息异常"); + } + } + return ResultVOUtils.success("下载成功"); + } - return null; + /** + * 校验拉取的第三方数据是否有更新 + * + * @param thrProductsEntity + * @param thrProductsResponse + * @return + */ + private boolean verifyDataChange(ThrProductsEntity thrProductsEntity, ThrProductsResponse thrProductsResponse) { + ThrProductsEntity oldData = new ThrProductsEntity(); + BeanUtil.copyProperties(thrProductsEntity, oldData); + + //将关键字段的值设置为新数据的值 + thrProductsEntity.setName(thrProductsResponse.getName()); + thrProductsEntity.setMeasname(thrProductsResponse.getMeasname()); + thrProductsEntity.setSpec(thrProductsResponse.getSpec()); + thrProductsEntity.setRegisterNo(thrProductsResponse.getRegisterNo()); + thrProductsEntity.setManufactory(thrProductsResponse.getManufactory()); + thrProductsEntity.setCplb(thrProductsResponse.getCplb()); + thrProductsEntity.setFlbm(thrProductsResponse.getFlbm()); + thrProductsEntity.setQtbm(thrProductsResponse.getQtbm()); + thrProductsEntity.setSptm(thrProductsResponse.getSptm()); + thrProductsEntity.setYbbm(thrProductsResponse.getYbbm()); + thrProductsEntity.setTyshxydm(thrProductsResponse.getTyshxydm()); + thrProductsEntity.setZczbhhzbapzbh(thrProductsResponse.getZczbhhzbapzbh()); + thrProductsEntity.setYlqxzcrbarmc(thrProductsResponse.getYlqxzcrbarmc()); + thrProductsEntity.setYlqxzcrbarywmc(thrProductsResponse.getYlqxzcrbarywmc()); + thrProductsEntity.setCpms(thrProductsResponse.getCpms()); + thrProductsEntity.setSupName(thrProductsResponse.getSupName()); + thrProductsEntity.setModel(thrProductsResponse.getModel()); + thrProductsEntity.setStandard(thrProductsResponse.getStandard()); + thrProductsEntity.setQtbm(thrProductsResponse.getQtbm()); + thrProductsEntity.setZczyxqz(thrProductsResponse.getZczyxqz()); + thrProductsEntity.setRemark(thrProductsResponse.getRemark()); + thrProductsEntity.setRemark1(thrProductsResponse.getRemark1()); + thrProductsEntity.setRemark2(thrProductsResponse.getRemark2()); + thrProductsEntity.setRemark3(thrProductsResponse.getRemark3()); + thrProductsEntity.setPrice(thrProductsResponse.getPrice()); + + //比对更新完的对象和原对象是否发生变化,若有变化则说明书有更新 + return !thrProductsEntity.equals(oldData); } } diff --git a/src/main/java/com/glxp/api/task/ThirdSysInterfaceTask.java b/src/main/java/com/glxp/api/task/ThirdSysInterfaceTask.java index ff921b2cb..5cb05089d 100644 --- a/src/main/java/com/glxp/api/task/ThirdSysInterfaceTask.java +++ b/src/main/java/com/glxp/api/task/ThirdSysInterfaceTask.java @@ -114,7 +114,15 @@ public class ThirdSysInterfaceTask { * @param thrSystemDetailEntity */ private void submitOrder(ThrSystemDetailEntity thrSystemDetailEntity) { - + //校验任务并更新redis数据执行标识 + if (verifyTask(thrSystemDetailEntity)) { + getExecutor().submit(() -> { + log.info("开始提交单据到第三方系统"); + orderService.submitOrderToThrSys(thrSystemDetailEntity); + updateTask(getTaskKey(thrSystemDetailEntity)); + log.info("提交单据到第三方系统完成"); + }); + } } /** diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index e23840d48..4922ca64a 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -264,4 +264,8 @@ from io_order where billNo = #{billNo} + + diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml index c3b2d59bd..18452a296 100644 --- a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml @@ -238,4 +238,78 @@ #{item.updateUser} + + + + + update thr_products + + code = #{code,jdbcType=VARCHAR}, + name = #{name,jdbcType=VARCHAR}, + measname = #{measname,jdbcType=VARCHAR}, + spec = #{spec,jdbcType=VARCHAR}, + registerNo = #{registerNo,jdbcType=VARCHAR}, + manufactory = #{manufactory,jdbcType=VARCHAR}, + cplb = #{cplb,jdbcType=VARCHAR}, + flbm = #{flbm,jdbcType=VARCHAR}, + qxlb = #{qxlb,jdbcType=VARCHAR}, + ybbm = #{ybbm,jdbcType=VARCHAR}, + sptm = #{sptm,jdbcType=VARCHAR}, + tyshxydm = #{tyshxydm,jdbcType=VARCHAR}, + zczbhhzbapzbh = #{zczbhhzbapzbh,jdbcType=VARCHAR}, + ylqxzcrbarmc = #{ylqxzcrbarmc,jdbcType=VARCHAR}, + ylqxzcrbarywmc = #{ylqxzcrbarywmc,jdbcType=VARCHAR}, + cpms = #{cpms,jdbcType=LONGVARCHAR}, + updateTime = #{updateTime,jdbcType=TIMESTAMP}, + supName = #{supName,jdbcType=VARCHAR}, + model = #{model,jdbcType=VARCHAR}, + standard = #{standard,jdbcType=VARCHAR}, + qtbm = #{qtbm,jdbcType=VARCHAR}, + zczyxqz = #{zczyxqz,jdbcType=VARCHAR}, + remark = #{remark,jdbcType=VARCHAR}, + remark1 = #{remark1,jdbcType=VARCHAR}, + remark2 = #{remark2,jdbcType=VARCHAR}, + remark3 = #{remark3,jdbcType=VARCHAR}, + price = #{price,jdbcType=VARCHAR} + + where id = #{id,jdbcType=INTEGER} + From 1524185bc6025e3122afbcf6947207192855c20c Mon Sep 17 00:00:00 2001 From: wangwei <1610949092@qq.com> Date: Fri, 21 Apr 2023 15:11:40 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=90=8C=E6=AD=A5=20=E5=86=85=E9=83=A8?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/api/constant/AsyncDiDlHelper.java | 151 ++++++ .../glxp/api/controller/BaseController.java | 8 + .../basic/UdiRelevanceController.java | 17 +- .../controller/basic/UdiRlSupController.java | 12 +- .../controller/basic/UdiSyncController.java | 5 + .../controller/inv/InnerOrderController.java | 42 +- .../inv/InvInnerOrderPrintController.java | 86 ++-- .../api/dao/basic/BasicProductSetDao.java | 17 + .../glxp/api/dao/basic/UdiRelevanceDao.java | 2 - .../system/SystemPDFTemplateRelevanceDao.java | 9 +- .../api/dao/thrsys/ThrProductsAddDiDao.java | 48 ++ .../entity/basic/BasicProductSetEntity.java | 25 + .../entity/thrsys/ThrProductsAddDiEntity.java | 101 ++++ .../basic/FilterBasicProductSetrequest.java | 14 + .../glxp/api/req/basic/SupplementRequest.java | 25 + .../api/req/basic/UdiInfoExportRequest.java | 2 + .../inout/InspectionPDFTemplateRequest.java | 3 + .../api/req/inv/InnerOrderDetailRequest.java | 1 + ...nnerOrderQRCodeTextPDFTemplateRequest.java | 1 + .../req/thrsys/AddThrDiProductsRequest.java | 49 ++ .../res/thrsys/ThrProductsAddDiResponse.java | 50 ++ .../glxp/api/res/thrsys/UdiInfoResponse.java | 443 ++++++++++++++++++ .../service/basic/BasicProductSetService.java | 19 + .../service/basic/UdiRelevanceService.java | 3 - .../impl/BasicProductSetServiceImpl.java | 60 +++ .../basic/impl/UdiRelevanceServiceImpl.java | 25 - .../system/SystemPDFModuleService.java | 7 +- .../impl/SystemPDFModuleServiceImpl.java | 10 +- .../thrsys/ThrProductsAddDiService.java | 41 ++ .../service/thrsys/ThrProductsService.java | 1 + .../impl/ThrProductsAddDiServiceImpl.java | 175 +++++++ .../thrsys/impl/ThrProductsServiceImpl.java | 5 + .../java/com/glxp/api/task/SyncHeartTask.java | 4 +- .../com/glxp/api/task/TaskExecutorConfig.java | 4 +- .../com/glxp/api/util/SupplementVailUtil.java | 175 +++++++ .../mapper/basic/BasicProductSetDao.xml | 42 ++ .../mybatis/mapper/basic/UdiProductDao.xml | 1 + .../mybatis/mapper/basic/UdiRelevanceDao.xml | 316 +++---------- .../system/SystemPDFTemplateRelevanceDao.xml | 76 +-- .../mapper/thrsys/ThrProductsAddDiDao.xml | 270 +++++++++++ 40 files changed, 1989 insertions(+), 356 deletions(-) create mode 100644 src/main/java/com/glxp/api/constant/AsyncDiDlHelper.java create mode 100644 src/main/java/com/glxp/api/dao/basic/BasicProductSetDao.java create mode 100644 src/main/java/com/glxp/api/dao/thrsys/ThrProductsAddDiDao.java create mode 100644 src/main/java/com/glxp/api/entity/basic/BasicProductSetEntity.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java create mode 100644 src/main/java/com/glxp/api/req/basic/FilterBasicProductSetrequest.java create mode 100644 src/main/java/com/glxp/api/req/basic/SupplementRequest.java create mode 100644 src/main/java/com/glxp/api/req/thrsys/AddThrDiProductsRequest.java create mode 100644 src/main/java/com/glxp/api/res/thrsys/ThrProductsAddDiResponse.java create mode 100644 src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java create mode 100644 src/main/java/com/glxp/api/service/basic/BasicProductSetService.java create mode 100644 src/main/java/com/glxp/api/service/basic/impl/BasicProductSetServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrProductsAddDiService.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsAddDiServiceImpl.java create mode 100644 src/main/java/com/glxp/api/util/SupplementVailUtil.java create mode 100644 src/main/resources/mybatis/mapper/basic/BasicProductSetDao.xml create mode 100644 src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml diff --git a/src/main/java/com/glxp/api/constant/AsyncDiDlHelper.java b/src/main/java/com/glxp/api/constant/AsyncDiDlHelper.java new file mode 100644 index 000000000..411714e87 --- /dev/null +++ b/src/main/java/com/glxp/api/constant/AsyncDiDlHelper.java @@ -0,0 +1,151 @@ +package com.glxp.api.constant; + +import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.basic.ProductInfoEntity; +import com.glxp.api.entity.basic.UdiCompanyEntity; +import com.glxp.api.service.basic.ProductInfoService; +import com.glxp.api.util.HttpClient; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Slf4j +@Service +public class AsyncDiDlHelper { + @Value("${UDI_SERVER_URL}") + private String udiUrl; + + public List dlByTime(String udiUrl, int page, int limit, String updateTime) { + Map paramMap = new HashMap<>(16); + paramMap.put("page", page); + paramMap.put("limit", limit); + paramMap.put("updateTime", updateTime); + String response = HttpClient.mipsGet(udiUrl + "/udidl/udiwms/syncUdi", paramMap); + try { + BaseResponse> udiDlDeviceResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + List udiInfoEntities = udiDlDeviceResponse.getData(); + return udiInfoEntities; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + + public List dlCompanyByTime(String udiUrl, int page, int limit, String updateTime) { + Map paramMap = new HashMap<>(16); + paramMap.put("page", page); + paramMap.put("limit", limit); + paramMap.put("updateTime", updateTime); + String response = HttpClient.mipsGet(udiUrl + "/udidl/udiwms/syncCompany", paramMap); + try { + BaseResponse> baseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + + + List udiCompanyEntities = baseResponse.getData(); + return udiCompanyEntities; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + + public List dlByDi(String deviceId) { + Map paramMap = new HashMap<>(16); + paramMap.put("deviceId", deviceId); + String response = HttpClient.mipsGet(udiUrl + "/udidl/device/serchDlByDi", paramMap); + try { + BaseResponse> baseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + if (baseResponse.getCode() == 200000) { + List productInfoEntityList = baseResponse.getData(); + return productInfoEntityList; + } else { + return null; + } + + + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + public BaseResponse> dlByDiRes(String deviceId) { + Map paramMap = new HashMap<>(16); + paramMap.put("deviceId", deviceId); + String response = HttpClient.mipsGet(udiUrl + "/udidl/device/serchDlByDi", paramMap); + try { + BaseResponse> baseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + return baseResponse; + + } catch (Exception e) { + e.printStackTrace(); + return ResultVOUtils.error(500, "连接UDI国家数据库下载出错!"); + } + } + + public BaseResponse> dlLastVersionByDi(String deviceId) { + Map paramMap = new HashMap<>(16); + paramMap.put("deviceId", deviceId); + String response = HttpClient.mipsGet(udiUrl + "/udidl/device/dlLastVersionByDi", paramMap); + try { + BaseResponse> baseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + return baseResponse; + + } catch (Exception e) { + e.printStackTrace(); + return ResultVOUtils.error(500, "连接UDI国家数据库下载出错!"); + } + } + + + @Resource + ProductInfoService productInfoService; + + @Async + public void dlByUuid(String uuid) { + + + Map paramMap = new HashMap<>(16); + paramMap.put("uuid", uuid); + String response = HttpClient.mipsGet(udiUrl + "/udidl/device/searchDlByUuid", paramMap); + try { + BaseResponse> baseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + if (baseResponse != null && baseResponse.getCode() == 20000) { + List productInfoEntityList = baseResponse.getData(); + if (CollUtil.isNotEmpty(productInfoEntityList)) { + productInfoService.insertProductInfos(productInfoEntityList); + } + + } else { + log.error("下载出错"); + } + } catch (Exception e) { + e.printStackTrace(); + } + + } +} diff --git a/src/main/java/com/glxp/api/controller/BaseController.java b/src/main/java/com/glxp/api/controller/BaseController.java index 7c7984e72..ca5e71431 100644 --- a/src/main/java/com/glxp/api/controller/BaseController.java +++ b/src/main/java/com/glxp/api/controller/BaseController.java @@ -42,4 +42,12 @@ public class BaseController { return authAdmin.getCustomerId() + ""; } + public boolean isHosUser() { + String customerId = getCustomerId(); + if (customerId.equals("110")) { + return true; + } + return false; + } + } diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java index bc2d87f17..d1b091e2c 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -12,13 +12,12 @@ import com.glxp.api.constant.BusinessType; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.basic.*; -import com.glxp.api.entity.inv.InvProductEntity; import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.entity.thrsys.ThrSystemEntity; -import com.glxp.api.req.basic.UdiCombineRequest; import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.LockUdiRequest; +import com.glxp.api.req.basic.UdiCombineRequest; import com.glxp.api.req.basic.UdiRelevanceSaveRequest; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; @@ -35,7 +34,6 @@ import com.glxp.api.service.thrsys.ThrDataService; import com.glxp.api.service.thrsys.ThrSystemService; import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.udi.FilterUdiUtils; -import com.glxp.api.util.udi.UdiInfoUtil; import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; @@ -695,18 +693,5 @@ public class UdiRelevanceController extends BaseController { return ResultVOUtils.success(ggxhList); } - //资质证书选入产品列表 产品名称,生产企业过滤 - @AuthRuleAnnotation("") - @GetMapping("/udi/cert/filterUdi") - public BaseResponse filterCertUdi(FilterUdiRelRequest filterUdiRelRequest) { - List udiRelevanceResponses = udiRelevanceService.filterCertUdi(filterUdiRelRequest); - PageInfo pageInfo; - pageInfo = new PageInfo<>(udiRelevanceResponses); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(udiRelevanceResponses); - return ResultVOUtils.success(pageSimpleResponse); - } - } diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java index 2f89ee145..1705a15cc 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java @@ -11,8 +11,10 @@ import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.auth.AuthAdmin; -import com.glxp.api.entity.basic.*; -import com.glxp.api.entity.system.CompanyEntity; +import com.glxp.api.entity.basic.BasicCorpEntity; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.basic.UdiRelevanceEntity; +import com.glxp.api.entity.basic.UdiRlSupEntity; import com.glxp.api.exception.JsonException; import com.glxp.api.req.basic.CompanyProductRelevanceRequest; import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest; @@ -22,13 +24,13 @@ import com.glxp.api.req.system.CompanyRequest; import com.glxp.api.req.system.DeleteCompanyFileRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.CompanyProductRelevanceResponse; -import com.glxp.api.res.basic.UdiRlSupResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.basic.UdiRlSupResponse; import com.glxp.api.service.auth.AuthAdminService; import com.glxp.api.service.basic.*; import com.glxp.api.service.system.CompanyService; +import com.glxp.api.util.SupplementVailUtil; import com.glxp.api.util.udi.FilterUdiUtils; -import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -64,6 +66,8 @@ public class UdiRlSupController extends BaseController { @Resource private CompanyProductRelevanceService companyProductRelevanceService; @Resource + private SupplementVailUtil supplementVailUtil; + @Resource private UdiProductService udiProductService; @AuthRuleAnnotation("") diff --git a/src/main/java/com/glxp/api/controller/basic/UdiSyncController.java b/src/main/java/com/glxp/api/controller/basic/UdiSyncController.java index c4e5ad8c6..620d440be 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiSyncController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiSyncController.java @@ -6,7 +6,9 @@ import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.AsyncDiDlHelper; import com.glxp.api.entity.basic.*; +import com.glxp.api.req.basic.*; import com.glxp.api.http.sync.SpGetHttpClient; import com.glxp.api.req.basic.*; import com.glxp.api.res.PageSimpleResponse; @@ -36,6 +38,8 @@ public class UdiSyncController { @Resource SyncUdiService syncUdiService; @Resource + AsyncDiDlHelper asyncDiDlHelper; + @Resource ProductInfoService productInfoService; @Resource UdiCompanyService udiCompanyService; @@ -180,3 +184,4 @@ public class UdiSyncController { } } + diff --git a/src/main/java/com/glxp/api/controller/inv/InnerOrderController.java b/src/main/java/com/glxp/api/controller/inv/InnerOrderController.java index d059d9918..5365dbb49 100644 --- a/src/main/java/com/glxp/api/controller/inv/InnerOrderController.java +++ b/src/main/java/com/glxp/api/controller/inv/InnerOrderController.java @@ -3,18 +3,23 @@ package com.glxp.api.controller.inv; import cn.hutool.core.collection.CollUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.annotation.Log; import com.glxp.api.annotation.RepeatSubmit; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BusinessType; import com.glxp.api.constant.Constant; import com.glxp.api.entity.inv.InnerOrderDetailEntity; import com.glxp.api.entity.inv.InnerOrderEntity; +import com.glxp.api.req.inout.FilterOrderDetailBizRequest; import com.glxp.api.req.inv.InnerOrderDetailRequest; import com.glxp.api.req.inv.InnerOrderRequest; import com.glxp.api.req.inv.PostInnerOrderRequest; import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.inout.IoOrderDetailBizResponse; import com.glxp.api.res.inv.innerOrderDetailResponse; import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inv.InnerOrderDetailService; import com.glxp.api.service.inv.InnerOrderService; import com.glxp.api.util.GennerOrderUtils; @@ -50,6 +55,8 @@ public class InnerOrderController { CustomerService customerService; @Resource GennerOrderUtils gennerOrderUtils; + @Resource + IoOrderDetailBizService ioOrderDetailBizService; /** * 新增内部码打印单 @@ -57,6 +64,7 @@ public class InnerOrderController { @RepeatSubmit() @AuthRuleAnnotation("") @PostMapping("/postOrder") + @Log(title = "内部码", businessType = BusinessType.INSERT) public BaseResponse postOrder(@RequestBody PostInnerOrderRequest postInnerOrderRequest) { long userId = customerService.getUserId(); @@ -74,7 +82,7 @@ public class InnerOrderController { } else { innerOrderService.update(innerOrderEntity); } - return ResultVOUtils.success(innerOrderEntity.getId()); + return ResultVOUtils.success(innerOrderEntity); } @@ -100,6 +108,7 @@ public class InnerOrderController { */ @RepeatSubmit() @PostMapping() + @Log(title = "内部码", businessType = BusinessType.INSERT) public BaseResponse add(@RequestBody InnerOrderEntity innerOrderEntity) { innerOrderService.insert(innerOrderEntity); @@ -111,6 +120,7 @@ public class InnerOrderController { */ @RepeatSubmit() @PutMapping() + @Log(title = "内部码", businessType = BusinessType.UPDATE) public BaseResponse edit(@RequestBody InnerOrderEntity innerOrderEntity) { innerOrderService.update(innerOrderEntity); return ResultVOUtils.success("删除成功"); @@ -122,6 +132,7 @@ public class InnerOrderController { * @param ids 主键串 */ @DeleteMapping("/{ids}") + @Log(title = "内部码", businessType = BusinessType.DELETE) public BaseResponse remove(@NotEmpty(message = "主键不能为空") @PathVariable String[] ids) { List idArray = Arrays.asList(ids); @@ -158,17 +169,45 @@ public class InnerOrderController { */ @RepeatSubmit() @PostMapping("/insertDetail") + @Log(title = "内部码", businessType = BusinessType.INSERT) public BaseResponse detailAdd(@RequestBody InnerOrderDetailEntity innerOrderDetailEntity) { innerOrderDetailService.insert(innerOrderDetailEntity); return ResultVOUtils.success(""); } + /** + * 新增内部码打印单 + */ + @RepeatSubmit() + @PostMapping("/orderDetailAdd") + @Log(title = "内部码", businessType = BusinessType.INSERT) + public BaseResponse orderDetailAdd(@RequestBody InnerOrderDetailRequest innerOrderDetailRequest) { + InnerOrderDetailEntity innerOrderDetailEntity=new InnerOrderDetailEntity(); + + //查询业务单 + FilterOrderDetailBizRequest filterOrderDetailBizRequest=new FilterOrderDetailBizRequest(); + filterOrderDetailBizRequest.setOrderIdFk(innerOrderDetailRequest.getBillNo()); + List ioOrderDetailBizResponseList = ioOrderDetailBizService.filterList(filterOrderDetailBizRequest); + for (IoOrderDetailBizResponse ioOrderDetailBizResponse : ioOrderDetailBizResponseList) { + innerOrderDetailEntity.setOrderIdFk(innerOrderDetailRequest.getOrderIdFk()); + innerOrderDetailEntity.setProductId(ioOrderDetailBizResponse.getBindRlFk()+""); + innerOrderDetailEntity.setProductName(ioOrderDetailBizResponse.getCoName()); + innerOrderDetailEntity.setProductDate(ioOrderDetailBizResponse.getProductDate()); + innerOrderDetailEntity.setExpireDate(ioOrderDetailBizResponse.getExpireDate()); + innerOrderDetailEntity.setBatchNo(ioOrderDetailBizResponse.getBatchNo()); + innerOrderDetailEntity.setCount(ioOrderDetailBizResponse.getCount()); + innerOrderDetailService.insert(innerOrderDetailEntity); + } + return ResultVOUtils.success(""); + } + /** * 修改内部码打印单 */ @RepeatSubmit() @PostMapping("/updateDetail") + @Log(title = "内部码", businessType = BusinessType.UPDATE) public BaseResponse detailEdit(@RequestBody InnerOrderDetailEntity innerOrderDetailEntity) { innerOrderDetailService.update(innerOrderDetailEntity); return ResultVOUtils.success("更新成功"); @@ -180,6 +219,7 @@ public class InnerOrderController { * @param ids 主键串 */ @DeleteMapping("/detail/{ids}") + @Log(title = "内部码", businessType = BusinessType.DELETE) public BaseResponse detailRemove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { diff --git a/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java b/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java index 6f6badb10..49a2cc13f 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java @@ -2,17 +2,24 @@ package com.glxp.api.controller.inv; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.annotation.Log; 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.entity.inv.InvInnerOrderPdfTempEntity; +import com.glxp.api.constant.BusinessType; +import com.glxp.api.entity.inout.IoOrderEntity; +import com.glxp.api.entity.inv.InnerOrderEntity; import com.glxp.api.entity.inv.InvInnerOrderPrintEntity; +import com.glxp.api.entity.inv.InvInnerOrderPdfTempEntity; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; import com.glxp.api.entity.system.SystemPDFModuleEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.req.inout.InspectionPDFTemplateRequest; import com.glxp.api.req.inv.*; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inv.InnerOrderPrintResponse; +import com.glxp.api.service.inout.IoOrderService; +import com.glxp.api.service.inv.InnerOrderService; import com.glxp.api.service.inv.InvInnerOrderPdfTempService; import com.glxp.api.service.inv.InvInnerOrderPrintService; import com.glxp.api.service.inv.JaspaperService; @@ -33,10 +40,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController public class InvInnerOrderPrintController { @@ -54,19 +58,24 @@ public class InvInnerOrderPrintController { private JaspaperService jaspaperService; @Resource private InvInnerOrderPdfTempService innerOrderPdfTempService; + @Resource + private IoOrderService ioOrderService; + @Resource + private InnerOrderService innerOrderService; @GetMapping("/udiwms/innerOrderPrint/filter") public BaseResponse filterList(FilterinnerOrderprintRequest filterinnerOrderprintRequest) { - List list = invInnerOrderPrintService.filterOrderPrintList(filterinnerOrderprintRequest); - PageInfo pageInfo = new PageInfo<>(list); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + List list = invInnerOrderPrintService.filterJoinInnerPrint(filterinnerOrderprintRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(pageInfo.getList()); return ResultVOUtils.success(pageSimpleResponse); } @PostMapping("/udiwms/innerOrderPrint/addOrderPrint") + @Log(title = "内部码", businessType = BusinessType.INSERT) public BaseResponse addOrderPrint(@RequestBody invInnerOrderprintReques invInnerOrderprintReques) { if (invInnerOrderprintReques.getOrderIdFk() != null) { @@ -84,12 +93,12 @@ public class InvInnerOrderPrintController { public BaseResponse inspectionStockQRCodeTextPDFFromTemplateFile( @RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) throws Exception { - if (inspectionPDFTemplateRequest.getModuleId() == null) - inspectionPDFTemplateRequest.setModuleId(3); - SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(inspectionPDFTemplateRequest.getModuleId() + ""); - if (systemPDFModuleEntity == null) return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); + SysPdfTemplateRelevanceLabelEntity sysPdfTemplateRelevanceLabelEntity = systemPDFModuleService.selectByLabelId(inspectionPDFTemplateRequest.getLabelId() + ""); + + if (sysPdfTemplateRelevanceLabelEntity == null) return ResultVOUtils.error(500, "未找到单据模板模块设置,请检查"); + SystemPDFTemplateEntity systemPDFTemplateEntity = - systemPDFTemplateService.selectById(String.valueOf(systemPDFModuleEntity.getTemplateId())); + systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceLabelEntity.getTemplateId())); if (systemPDFTemplateEntity == null) return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); return ResultVOUtils.success(); @@ -100,13 +109,15 @@ public class InvInnerOrderPrintController { public BaseResponse stockQRCodeTextPDFFromTemplateFile( @RequestBody InnerOrderQRCodeTextPDFTemplateRequest stockQRCodeTextPDFTemplateRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { - if (stockQRCodeTextPDFTemplateRequest.getModuleId() == null) - stockQRCodeTextPDFTemplateRequest.setModuleId(3); - SystemPDFModuleEntity systemPDFModuleEntity = systemPDFModuleService.selectById(stockQRCodeTextPDFTemplateRequest.getModuleId() + ""); - if (systemPDFModuleEntity == null) return ResultVOUtils.error(500, "未找到单据模板模块设置,请检查"); + + SysPdfTemplateRelevanceLabelEntity sysPdfTemplateRelevanceLabelEntity = systemPDFModuleService.selectByLabelId(stockQRCodeTextPDFTemplateRequest.getLabelId() + ""); + + if (sysPdfTemplateRelevanceLabelEntity == null) return ResultVOUtils.error(500, "未找到单据模板模块设置,请检查"); + SystemPDFTemplateEntity systemPDFTemplateEntity = - systemPDFTemplateService.selectById(String.valueOf(systemPDFModuleEntity.getTemplateId())); - if (systemPDFTemplateEntity == null) return null; + systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceLabelEntity.getTemplateId())); + if (systemPDFTemplateEntity == null) return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + List printEntities = new ArrayList<>(); List mStockPrintEntities = new ArrayList<>(); FilterinnerOrderprintRequest filterinnerOrderprintRequest = new FilterinnerOrderprintRequest(); @@ -119,16 +130,16 @@ public class InvInnerOrderPrintController { if (stockPrintEntities != null && stockPrintEntities.size() > 0) { mStockPrintEntities.addAll(stockPrintEntities); } - for (InnerOrderPrintResponse innerOrderPrintRequest : mStockPrintEntities) { - PdfPrintCountEntity pdfPrintCount = getCount(stockQRCodeTextPDFTemplateRequest.getCountList(), innerOrderPrintRequest); + for (InnerOrderPrintResponse InnerOrderPrintResponse : mStockPrintEntities) { + PdfPrintCountEntity pdfPrintCount = getCount(stockQRCodeTextPDFTemplateRequest.getCountList(), InnerOrderPrintResponse); if (pdfPrintCount != null && pdfPrintCount.getRowCount() > 0) { for (int i = 0; i < pdfPrintCount.getRowCount(); i++) { InnerOrderPrintResponse clone = new InnerOrderPrintResponse(); - BeanUtils.copyProperties(innerOrderPrintRequest, clone); + BeanUtils.copyProperties(InnerOrderPrintResponse, clone); printEntities.add(clone); } } else { - printEntities.add(innerOrderPrintRequest); + printEntities.add(InnerOrderPrintResponse); } } @@ -175,19 +186,40 @@ public class InvInnerOrderPrintController { } - for (InnerOrderPrintResponse innerOrderPrintRequest : mStockPrintEntities) { + String orderId=""; + for (InnerOrderPrintResponse InnerOrderPrintResponse : mStockPrintEntities) { InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity(); innerOrderPrintEntity.setStatus(1); - innerOrderPrintEntity.setId(innerOrderPrintRequest.getId()); + innerOrderPrintEntity.setId(InnerOrderPrintResponse.getId()); invInnerOrderPrintService.updateOrder(innerOrderPrintEntity); + orderId=InnerOrderPrintResponse.getId()+""; } + + //查询订单id + InvInnerOrderPrintEntity innerOrderPrintEntity=invInnerOrderPrintService.selectById(orderId); + + + //更新内部码状态 + + InnerOrderEntity innerOrderEntity=innerOrderService.findByRecordKey(innerOrderPrintEntity.getOrderIdFk()); + if(innerOrderEntity!=null){ + innerOrderEntity.setGenStatus(2); + innerOrderEntity.setId(innerOrderEntity.getId()); + innerOrderService.update(innerOrderEntity); + } + + + IoOrderEntity ioOrderEntity=new IoOrderEntity(); + ioOrderEntity.setInCodeStatus(1); + ioOrderEntity.setBillNo(innerOrderPrintEntity.getOrderIdFk()); + ioOrderService.updateByBillNo(ioOrderEntity); return null; } - public PdfPrintCountEntity getCount(List countList, InnerOrderPrintResponse innerOrderPrintRequest) { + public PdfPrintCountEntity getCount(List countList, InnerOrderPrintResponse InnerOrderPrintResponse) { for (PdfPrintCountEntity pdfPrintCount : countList) { - if (pdfPrintCount.getQueryId().equals(innerOrderPrintRequest.getId() + "")) { + if (pdfPrintCount.getQueryId().equals(InnerOrderPrintResponse.getId() + "")) { return pdfPrintCount; } } diff --git a/src/main/java/com/glxp/api/dao/basic/BasicProductSetDao.java b/src/main/java/com/glxp/api/dao/basic/BasicProductSetDao.java new file mode 100644 index 000000000..fda61c2cd --- /dev/null +++ b/src/main/java/com/glxp/api/dao/basic/BasicProductSetDao.java @@ -0,0 +1,17 @@ +package com.glxp.api.dao.basic; + + +import com.glxp.api.entity.basic.BasicProductSetEntity; +import com.glxp.api.req.basic.FilterBasicProductSetrequest; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface BasicProductSetDao { + + List filterSetup(FilterBasicProductSetrequest filterBasicProductSetrequest); + + boolean updateSetup(BasicProductSetEntity basicProductSetEntity); + +} diff --git a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java index 27db8099d..e9193b093 100644 --- a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java +++ b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java @@ -19,8 +19,6 @@ public interface UdiRelevanceDao extends BaseMapperPlus filterCertUdi(FilterUdiRelRequest filterUdiRelRequest); - List filterCertUdi(FilterUdiRelRequest filterUdiRelRequest); - List filterUdiGp(FilterUdiRelRequest filterUdiRelRequest); // UdiRelevanceResponse selectUdiByUUid diff --git a/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java b/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java index d2ba6779e..4bab581ff 100644 --- a/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java +++ b/src/main/java/com/glxp/api/dao/system/SystemPDFTemplateRelevanceDao.java @@ -1,5 +1,7 @@ package com.glxp.api.dao.system; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceCodeEntity; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFTemplateRelevanceEntity; import com.glxp.api.req.system.FilterPdfTemplateRelevanceRequest; @@ -50,6 +52,11 @@ public interface SystemPDFTemplateRelevanceDao { boolean insert(SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity); + SysPdfTemplateRelevanceLabelEntity selectByLabelId(String id); + + SysPdfTemplateRelevanceStatemenEntity selectByStatemenId(String id); + + /** * 根据 customerId 删除 @@ -62,5 +69,5 @@ public interface SystemPDFTemplateRelevanceDao { SystemPDFTemplateRelevanceEntity selectModuleldAndAction(@Param("moduleId") Integer moduleId,@Param("localAction") String localAction); - SysPdfTemplateRelevanceStatemenEntity selectByStatemenId(String id); + SysPdfTemplateRelevanceCodeEntity selectNameAndAction(@Param("name") String name, @Param("localAction") String localAction); } diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrProductsAddDiDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrProductsAddDiDao.java new file mode 100644 index 000000000..478f52cdc --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrProductsAddDiDao.java @@ -0,0 +1,48 @@ +package com.glxp.api.dao.thrsys; + + +import com.glxp.api.entity.thrsys.ThrProductsAddDiEntity; +import com.glxp.api.req.thrsys.FilterThrProductsRequest; +import com.glxp.api.res.thrsys.ThrProductsAddDiResponse; +import com.glxp.api.res.thrsys.UdiInfoResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrProductsAddDiDao { + + /** + * 添加产品信息 + * + * @param list + * @return + */ + boolean insertThrDiProducts(@Param("list") List list); + + /** + * 根据ID删除 + * + * @param id + * @return + */ + boolean deleteById(Long id); + + List filterThrProductsList(FilterThrProductsRequest filterThrProductsRequest); + + boolean updateDiProduct(ThrProductsAddDiEntity thrProductsAddDiEntity); + + UdiInfoResponse getDiProductDetail(@Param("uuid") String uuid); + + /** 根据ID查询 */ + ThrProductsAddDiEntity filterThrProductsGetId(@Param("id") Integer id); + ThrProductsAddDiEntity filterThrProductsGetUuid(@Param("uuid") String uuid); + + + boolean insert(ThrProductsAddDiEntity thrProductsAddDiEntity); + + List filterThrProductsDiList(FilterThrProductsRequest filterThrProductsRequest); + + List filterThrProductsDiLists(FilterThrProductsRequest filterThrProductsRequest); +} diff --git a/src/main/java/com/glxp/api/entity/basic/BasicProductSetEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicProductSetEntity.java new file mode 100644 index 000000000..8863866bc --- /dev/null +++ b/src/main/java/com/glxp/api/entity/basic/BasicProductSetEntity.java @@ -0,0 +1,25 @@ +package com.glxp.api.entity.basic; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName(value = "basic_product_set") +public class BasicProductSetEntity { + + @TableId(type = IdType.AUTO) + private Integer id; + private String parmName; + private String parmKey; + private boolean enable; + private boolean supSelect; + private boolean supAdd; + private boolean localAdd; + private boolean localEdit; + private String remark; + private Integer sort; + + +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java new file mode 100644 index 000000000..889f4602d --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java @@ -0,0 +1,101 @@ +package com.glxp.api.entity.thrsys; + +import lombok.Data; + +import java.util.Date; + +/** + * 供应商新增DI产品实体类 + */ +@Data +public class ThrProductsAddDiEntity { + + private Long id; + + /** + * 国家库产品UUID + */ + private String uuid; + + /** + * 添加此产品的客户ID + */ + private String customerId; + + /** + * 添加时间 + */ + private Date createTime; + + /** + * 审核时间 + */ + private Date auditTime; + + /** + * 审核人 + */ + private String auditUser; + + /** + * 审核状态 + */ + private int status; + + /** + * 备注 + */ + private String remark; + + + private String thirdSysFk; + private String code; + private String sptm; + private String ybbm; + private String measname; + private String manufactory; + private String spmc; + private String cpms; + private String selectThridSysStr; + + private String price; + private String basicPrductRemak1; + private String basicPrductRemak2; + private String basicPrductRemak3; + private String basicPrductRemak4; + private String basicPrductRemak5; + private String basicPrductRemak6; + private String basicPrductRemak7; + private String basicPrductRemak8; + + + + private String name; + private String spec; + private String registerNo; + private String thirdName; + private String cplb; + private String flbm; + private String qxlb; + private String tyshxydm; + private String zczbhhzbapzbh; + private String ylqxzcrbarmc; + private String ylqxzcrbarywmc; + private Date updateTime; + private String supName; + private boolean isChecked; + private String corpName; + + //添加字段 + private String model; //型号 + private String standard; //规格型号,二合一字段 + private String qtbm; //其他编码 + private String zczyxqz; //注册有效期截止时间 + private Integer checkStatus; + private String thirdSys; + private String relId; + private String nameCode; + private Integer type; + + +} diff --git a/src/main/java/com/glxp/api/req/basic/FilterBasicProductSetrequest.java b/src/main/java/com/glxp/api/req/basic/FilterBasicProductSetrequest.java new file mode 100644 index 000000000..69a5c3d23 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/FilterBasicProductSetrequest.java @@ -0,0 +1,14 @@ +package com.glxp.api.req.basic; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class FilterBasicProductSetrequest extends ListPageRequest { + + + String parmName; + Boolean enable; + +} diff --git a/src/main/java/com/glxp/api/req/basic/SupplementRequest.java b/src/main/java/com/glxp/api/req/basic/SupplementRequest.java new file mode 100644 index 000000000..de5f59eaf --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/SupplementRequest.java @@ -0,0 +1,25 @@ +package com.glxp.api.req.basic; + +import lombok.Data; + +//选入产品补充信息 +@Data +public class SupplementRequest { + + //补充信息: + private String basicPrductRemak1; + private String basicPrductRemak2; + private String basicPrductRemak3; + private String basicPrductRemak4; + private String basicPrductRemak5; + private String basicPrductRemak6; + private String basicPrductRemak7; + private String basicPrductRemak8; + private String sptm; + private String ybbm; + private String measname; + private String manufactory; + private String spmc; + private String cpms; + private String price; +} diff --git a/src/main/java/com/glxp/api/req/basic/UdiInfoExportRequest.java b/src/main/java/com/glxp/api/req/basic/UdiInfoExportRequest.java index e58999e35..6c3e8d53b 100644 --- a/src/main/java/com/glxp/api/req/basic/UdiInfoExportRequest.java +++ b/src/main/java/com/glxp/api/req/basic/UdiInfoExportRequest.java @@ -23,5 +23,7 @@ public class UdiInfoExportRequest extends ListPageRequest { private String thirdId2; private String thirdId3; private String thirdId4; + private String price; + private SupplementRequest supplementRequest; } diff --git a/src/main/java/com/glxp/api/req/inout/InspectionPDFTemplateRequest.java b/src/main/java/com/glxp/api/req/inout/InspectionPDFTemplateRequest.java index 3b0442004..d07772109 100644 --- a/src/main/java/com/glxp/api/req/inout/InspectionPDFTemplateRequest.java +++ b/src/main/java/com/glxp/api/req/inout/InspectionPDFTemplateRequest.java @@ -13,6 +13,9 @@ public class InspectionPDFTemplateRequest { private String orderId; private Long customerId; private Integer moduleId; + private String modelKey; + private Integer labelId; + } diff --git a/src/main/java/com/glxp/api/req/inv/InnerOrderDetailRequest.java b/src/main/java/com/glxp/api/req/inv/InnerOrderDetailRequest.java index 03092dbe4..bc8197b4f 100644 --- a/src/main/java/com/glxp/api/req/inv/InnerOrderDetailRequest.java +++ b/src/main/java/com/glxp/api/req/inv/InnerOrderDetailRequest.java @@ -8,5 +8,6 @@ public class InnerOrderDetailRequest extends ListPageRequest { private String orderIdFk; private String productId; + private String billNo; } diff --git a/src/main/java/com/glxp/api/req/inv/InnerOrderQRCodeTextPDFTemplateRequest.java b/src/main/java/com/glxp/api/req/inv/InnerOrderQRCodeTextPDFTemplateRequest.java index 535eed371..70a9756a6 100644 --- a/src/main/java/com/glxp/api/req/inv/InnerOrderQRCodeTextPDFTemplateRequest.java +++ b/src/main/java/com/glxp/api/req/inv/InnerOrderQRCodeTextPDFTemplateRequest.java @@ -23,5 +23,6 @@ public class InnerOrderQRCodeTextPDFTemplateRequest { private String orderName; private Integer moduleId; + private Integer labelId; } diff --git a/src/main/java/com/glxp/api/req/thrsys/AddThrDiProductsRequest.java b/src/main/java/com/glxp/api/req/thrsys/AddThrDiProductsRequest.java new file mode 100644 index 000000000..6e7fe528f --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/AddThrDiProductsRequest.java @@ -0,0 +1,49 @@ +package com.glxp.api.req.thrsys; + +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * 供应商添加DI产品信息接口参数 + */ +@Data +public class AddThrDiProductsRequest { + + /** + * 产品UUID + */ + @NotEmpty(message = "请选择需要添加的产品") + private List uuids; + + /** + * 客户ID + */ + @NotNull(message = "参数错误") + private Long customerId; + + + private String thirdSysFk; + private String code; + private String sptm; + private String ybbm; + private String measname; + private String manufactory; + private String spmc; + private String cpms; + private String price; + private List selectThirdSys; + + private String basicPrductRemak1; + private String basicPrductRemak2; + private String basicPrductRemak3; + private String basicPrductRemak4; + private String basicPrductRemak5; + private String basicPrductRemak6; + private String basicPrductRemak7; + private String basicPrductRemak8; + + +} diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrProductsAddDiResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrProductsAddDiResponse.java new file mode 100644 index 000000000..f4ed86b06 --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/ThrProductsAddDiResponse.java @@ -0,0 +1,50 @@ +package com.glxp.api.res.thrsys; + + +import com.glxp.api.entity.thrsys.ThrProductsAddDiEntity; +import lombok.Data; + +/** + * 供应商添加DI产品信息数据响应类 + */ +@Data +public class ThrProductsAddDiResponse extends ThrProductsAddDiEntity { + + private Long id; + + private String uuid; + + private String nameCode; + + private String cpmctymc; + + private String ggxh; + + private String ylqxzcrbarmc; + + private String zczbhhzbapzbh; + + private int status; + + private String customerId; + + private String remark; + + private String companyName; + + /** + * 规格型号 + */ + private String standard; + + private String price; + private String basicPrductRemak1; + private String basicPrductRemak2; + private String basicPrductRemak3; + private String basicPrductRemak4; + private String basicPrductRemak5; + private String basicPrductRemak6; + private String basicPrductRemak7; + private String basicPrductRemak8; + +} diff --git a/src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java b/src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java new file mode 100644 index 000000000..cf6667325 --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java @@ -0,0 +1,443 @@ +package com.glxp.api.res.thrsys; + +import cn.hutool.core.util.StrUtil; +import lombok.Data; + +@Data +public class UdiInfoResponse { + + private Integer id; + private String nameCode; + private String packRatio; + private String packLevel; + private Integer bhxjsl; + private Integer bhzxxsbzsl; + private Integer zxxsbzbhsydysl; + private String bhxjcpbm; + private String sjcpbm; // + private String bzcj; + private String addType; + private String deviceRecordKey; + private String cpmctymc; + private String cplb; + private String flbm; + private String ggxh; + private String qxlb; + private String tyshxydm; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private String ylqxzcrbarywmc; + private String sydycpbs; + private String uuid; + private Integer versionNumber; + private Integer diType; + private String thirdId; + private String thirdName; + private String ybbm; + private String sptm; + private String manufactory; + private String measname; + private Integer productType; + private String scbssfbhph; + private String scbssfbhxlh; + private String scbssfbhscrq; + private String scbssfbhsxrq; + private String cpms; + private String spmc; + private String originUuid; + + //本地生成信息 + private String batchNo; + private String produceDate; + private String expireDate; + private String serialNo; + private String udi; + private String code; + private Integer count; + private String warehouseCode; + private String udplatCode; + private String relId;//关联ID主键 + private Integer status; + private String supId; + private boolean isAdavence; + private boolean isDisable; + private boolean useMuti; + + private Boolean isCheck; + private boolean allowNoBatch; + private boolean allowNoExpire; + private boolean allowNoProduct; + private boolean allowNoSerial; + + private String price; + private String cplx; + private String hchzsb; + + //产品代理商 + private String cpdls; + + + private String basicPrductRemak1; + private String basicPrductRemak2; + private String basicPrductRemak3; + private String basicPrductRemak4; + private String basicPrductRemak5; + private String basicPrductRemak6; + private String basicPrductRemak7; + private String basicPrductRemak8; + private String remark; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getNameCode() { + return nameCode; + } + + public void setNameCode(String nameCode) { + this.nameCode = nameCode; + } + + public String getPackRatio() { + return packRatio; + } + + public void setPackRatio(String packRatio) { + this.packRatio = packRatio; + } + + public String getPackLevel() { + return packLevel; + } + + public void setPackLevel(String packLevel) { + this.packLevel = packLevel; + } + + public Integer getBhxjsl() { + if (bhxjsl == null || bhxjsl == 0) { + return 1; + } + return bhxjsl; + } + + public void setBhxjsl(Integer bhxjsl) { + this.bhxjsl = bhxjsl; + } + + public Integer getBhzxxsbzsl() { + if (bhzxxsbzsl == null || bhzxxsbzsl == 0) { + return 1; + } + return bhzxxsbzsl; + } + + public String getSptm() { + return sptm; + } + + public void setSptm(String sptm) { + this.sptm = sptm; + } + + public String getManufactory() { + return manufactory; + } + + public void setManufactory(String manufactory) { + this.manufactory = manufactory; + } + + public String getMeasname() { + return measname; + } + + public void setMeasname(String measname) { + this.measname = measname; + } + + public void setBhzxxsbzsl(Integer bhzxxsbzsl) { + this.bhzxxsbzsl = bhzxxsbzsl; + } + + public Integer getZxxsbzbhsydysl() { + if (zxxsbzbhsydysl == null || zxxsbzbhsydysl == 0) { + return 1; + } + return zxxsbzbhsydysl; + } + + public void setZxxsbzbhsydysl(Integer zxxsbzbhsydysl) { + this.zxxsbzbhsydysl = zxxsbzbhsydysl; + } + + public String getBhxjcpbm() { + return bhxjcpbm; + } + + public void setBhxjcpbm(String bhxjcpbm) { + this.bhxjcpbm = bhxjcpbm; + } + + public String getSjcpbm() { + return sjcpbm; + } + + public void setSjcpbm(String sjcpbm) { + this.sjcpbm = sjcpbm; + } + + public String getBzcj() { + return bzcj; + } + + public void setBzcj(String bzcj) { + this.bzcj = bzcj; + } + + public String getAddType() { + return addType; + } + + public void setAddType(String addType) { + this.addType = addType; + } + + public String getDeviceRecordKey() { + return deviceRecordKey; + } + + public void setDeviceRecordKey(String deviceRecordKey) { + this.deviceRecordKey = deviceRecordKey; + } + + + public String getCpmctymc() { + return cpmctymc; + } + + public void setCpmctymc(String cpmctymc) { + this.cpmctymc = cpmctymc; + } + + public String getCplb() { + return cplb; + } + + public void setCplb(String cplb) { + this.cplb = cplb; + } + + public String getFlbm() { + return flbm; + } + + public void setFlbm(String flbm) { + this.flbm = flbm; + } + + public String getGgxh() { + return ggxh; + } + + public void setGgxh(String ggxh) { + this.ggxh = ggxh; + } + + public String getQxlb() { + return qxlb; + } + + public void setQxlb(String qxlb) { + this.qxlb = qxlb; + } + + public String getTyshxydm() { + return tyshxydm; + } + + public void setTyshxydm(String tyshxydm) { + this.tyshxydm = tyshxydm; + } + + public String getYlqxzcrbarmc() { + return ylqxzcrbarmc; + } + + public void setYlqxzcrbarmc(String ylqxzcrbarmc) { + this.ylqxzcrbarmc = ylqxzcrbarmc; + } + + public String getZczbhhzbapzbh() { + return zczbhhzbapzbh; + } + + public void setZczbhhzbapzbh(String zczbhhzbapzbh) { + this.zczbhhzbapzbh = zczbhhzbapzbh; + } + + public String getYlqxzcrbarywmc() { + return ylqxzcrbarywmc; + } + + public void setYlqxzcrbarywmc(String ylqxzcrbarywmc) { + this.ylqxzcrbarywmc = ylqxzcrbarywmc; + } + + public String getSydycpbs() { + return sydycpbs; + } + + public void setSydycpbs(String sydycpbs) { + this.sydycpbs = sydycpbs; + } + + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } + + public Integer getVersionNumber() { + return versionNumber; + } + + public void setVersionNumber(Integer versionNumber) { + this.versionNumber = versionNumber; + } + + public Integer getDiType() { + return diType; + } + + public void setDiType(Integer diType) { + this.diType = diType; + } + + public String getThirdId() { + return thirdId; + } + + public void setThirdId(String thirdId) { + this.thirdId = thirdId; + } + + public String getThirdName() { + return thirdName; + } + + public void setThirdName(String thirdName) { + this.thirdName = thirdName; + } + + public String getBatchNo() { + return batchNo; + } + + public void setBatchNo(String batchNo) { + this.batchNo = batchNo; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getExpireDate() { + return expireDate; + } + + public void setExpireDate(String expireDate) { + this.expireDate = expireDate; + } + + public String getSerialNo() { + return serialNo; + } + + public void setSerialNo(String serialNo) { + this.serialNo = serialNo; + } + + public String getUdi() { + return udi; + } + + public void setUdi(String udi) { + this.udi = udi; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public Integer getCount() { + if (count == null) + return 1; + return count; + } + + public void setCount(Integer count) { + this.count = count; + } + + public String getWarehouseCode() { + return warehouseCode; + } + + public void setWarehouseCode(String warehouseCode) { + this.warehouseCode = warehouseCode; + } + + public String getYbbm() { + return ybbm; + } + + public void setYbbm(String ybbm) { + this.ybbm = ybbm; + } + + public Boolean getCheck() { + return isCheck; + } + + public void setCheck(Boolean check) { + isCheck = check; + } + + public Integer getProductType() { + return productType; + } + + public void setProductType(Integer productType) { + this.productType = productType; + } + + + public static UdiInfoResponse initUdiInfoEntity(UdiInfoResponse udiInfoEntity) { + if (StrUtil.isNotEmpty(udiInfoEntity.getScbssfbhph()) && "否".equals(udiInfoEntity.getScbssfbhph())) { + udiInfoEntity.setAllowNoBatch(true); + } + if (StrUtil.isNotEmpty(udiInfoEntity.getScbssfbhscrq()) && "否".equals(udiInfoEntity.getScbssfbhscrq())) { + udiInfoEntity.setAllowNoProduct(true); + } + if (StrUtil.isNotEmpty(udiInfoEntity.getScbssfbhsxrq()) && "否".equals(udiInfoEntity.getScbssfbhsxrq())) { + udiInfoEntity.setAllowNoExpire(true); + } + return udiInfoEntity; + } +} diff --git a/src/main/java/com/glxp/api/service/basic/BasicProductSetService.java b/src/main/java/com/glxp/api/service/basic/BasicProductSetService.java new file mode 100644 index 000000000..5d1ca9aab --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/BasicProductSetService.java @@ -0,0 +1,19 @@ +package com.glxp.api.service.basic; + + +import com.glxp.api.entity.basic.BasicProductSetEntity; +import com.glxp.api.req.basic.FilterBasicProductSetrequest; + +import java.util.List; +import java.util.Map; + +public interface BasicProductSetService { + + List filterSetup(FilterBasicProductSetrequest filterBasicProductSetrequest); + + Map filterAllEnable(); + + + boolean updateSetup(BasicProductSetEntity basicProductSetEntity); + +} diff --git a/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java b/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java index 0db9b7b55..91ce2aca4 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java @@ -91,9 +91,6 @@ public interface UdiRelevanceService extends IService { */ String findUuidById(String relId); - UdiRelevanceResponse selectUdiId(Long id); - - List selectGroupByNameCode(String nameCode, Boolean isDisable); /** diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicProductSetServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicProductSetServiceImpl.java new file mode 100644 index 000000000..1ff5fc51f --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicProductSetServiceImpl.java @@ -0,0 +1,60 @@ +package com.glxp.api.service.basic.impl; + +import cn.hutool.core.collection.CollUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.basic.BasicProductSetDao; +import com.glxp.api.entity.basic.BasicProductSetEntity; +import com.glxp.api.req.basic.FilterBasicProductSetrequest; +import com.glxp.api.service.basic.BasicProductSetService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +@Transactional(rollbackFor = Exception.class) +public class BasicProductSetServiceImpl implements BasicProductSetService { + @Resource + BasicProductSetDao basicProductSetDao; + + @Override + public List filterSetup(FilterBasicProductSetrequest filterBasicProductSetrequest) { + if (filterBasicProductSetrequest == null) { + return Collections.emptyList(); + } + if (filterBasicProductSetrequest.getPage() != null) { + int offset = (filterBasicProductSetrequest.getPage() - 1) * filterBasicProductSetrequest.getLimit(); + PageHelper.offsetPage(offset, filterBasicProductSetrequest.getLimit()); + } + return basicProductSetDao.filterSetup(filterBasicProductSetrequest); + } + + @Override + public Map filterAllEnable() { + + FilterBasicProductSetrequest filterBasicProductSetrequest = new FilterBasicProductSetrequest(); + filterBasicProductSetrequest.setEnable(true); + List basicProductSetEntities = basicProductSetDao.filterSetup(filterBasicProductSetrequest); + + Map basicProductSetEntityMap = new HashMap<>(); + + if (CollUtil.isNotEmpty(basicProductSetEntities)) { + for (BasicProductSetEntity basicProductSetEntity : basicProductSetEntities) { + basicProductSetEntityMap.put(basicProductSetEntity.getParmKey(), basicProductSetEntity); + } + } + + return basicProductSetEntityMap; + + + } + + @Override + public boolean updateSetup(BasicProductSetEntity basicProductSetEntity) { + return basicProductSetDao.updateSetup(basicProductSetEntity); + } +} diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java index 6fe156188..9ef75a4ec 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiRelevanceServiceImpl.java @@ -197,16 +197,6 @@ public class UdiRelevanceServiceImpl extends ServiceImpl data = udiRelevanceDao.filterUdiRelevance(filterUdiRelRequest); - if (data != null && data.size() > 0) - return data.get(0); - return null; - } - @Override public UdiRelevanceResponse selectSupGroupById(Long id) { FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); @@ -411,19 +401,4 @@ public class UdiRelevanceServiceImpl extends ServiceImpl filterCertUdi(FilterUdiRelRequest filterUdiRelRequest) { - - - if (filterUdiRelRequest == null) { - return Collections.emptyList(); - } - if (filterUdiRelRequest.getPage() != null) { - int offset = (filterUdiRelRequest.getPage() - 1) * filterUdiRelRequest.getLimit(); - PageHelper.offsetPage(offset, filterUdiRelRequest.getLimit()); - } - List data = udiRelevanceDao.filterCertUdi(filterUdiRelRequest); - return data; - - } } diff --git a/src/main/java/com/glxp/api/service/system/SystemPDFModuleService.java b/src/main/java/com/glxp/api/service/system/SystemPDFModuleService.java index 70c2a92d0..b7d6d73a6 100644 --- a/src/main/java/com/glxp/api/service/system/SystemPDFModuleService.java +++ b/src/main/java/com/glxp/api/service/system/SystemPDFModuleService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.system; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFModuleEntity; import com.glxp.api.req.system.FilterPdfModuleRequest; @@ -20,6 +21,11 @@ public interface SystemPDFModuleService { SystemPDFModuleEntity selectById(String id); + SysPdfTemplateRelevanceLabelEntity selectByLabelId(String id); + + SysPdfTemplateRelevanceStatemenEntity selectByStatemenId(String id); + + boolean updateById(SysPdfModuleSaveRequest sysPdfModuleSaveRequest); boolean insert(SystemPDFModuleEntity systemPDFModuleEntity); @@ -28,5 +34,4 @@ public interface SystemPDFModuleService { List findByLastTime(Date lastUpdateTime); - SysPdfTemplateRelevanceStatemenEntity selectByStatemenId(String id); } diff --git a/src/main/java/com/glxp/api/service/system/impl/SystemPDFModuleServiceImpl.java b/src/main/java/com/glxp/api/service/system/impl/SystemPDFModuleServiceImpl.java index 8e678373a..185847696 100644 --- a/src/main/java/com/glxp/api/service/system/impl/SystemPDFModuleServiceImpl.java +++ b/src/main/java/com/glxp/api/service/system/impl/SystemPDFModuleServiceImpl.java @@ -3,6 +3,7 @@ package com.glxp.api.service.system.impl; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.system.SystemPDFModuleDao; import com.glxp.api.dao.system.SystemPDFTemplateRelevanceDao; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFModuleEntity; import com.glxp.api.req.system.FilterPdfModuleRequest; @@ -22,7 +23,7 @@ public class SystemPDFModuleServiceImpl implements SystemPDFModuleService { SystemPDFModuleDao systemPDFModuleDao; @Resource - SystemPDFTemplateRelevanceDao systemPDFTemplateRelevanceDao; + SystemPDFTemplateRelevanceDao systemPDFTemplateRelevanceDao; @Override public List queryPage(FilterPdfModuleRequest FilterPDFModuleRequest) { @@ -44,7 +45,7 @@ public class SystemPDFModuleServiceImpl implements SystemPDFModuleService { @Override public SystemPDFModuleEntity findSystemPDFModule(FilterPdfModuleRequest filterPDFModuleRequest) { - return systemPDFModuleDao.findSystemPDFModule(filterPDFModuleRequest); + return systemPDFModuleDao.findSystemPDFModuleByKey(filterPDFModuleRequest); } @Override @@ -52,6 +53,11 @@ public class SystemPDFModuleServiceImpl implements SystemPDFModuleService { return systemPDFModuleDao.selectById(id); } + @Override + public SysPdfTemplateRelevanceLabelEntity selectByLabelId(String id) { + return systemPDFTemplateRelevanceDao.selectByLabelId(id); + } + @Override public boolean updateById(SysPdfModuleSaveRequest sysPdfModuleSaveRequest) { diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrProductsAddDiService.java b/src/main/java/com/glxp/api/service/thrsys/ThrProductsAddDiService.java new file mode 100644 index 000000000..f9b1aedcc --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrProductsAddDiService.java @@ -0,0 +1,41 @@ +package com.glxp.api.service.thrsys; + + +import com.glxp.api.entity.thrsys.ThrProductsAddDiEntity; +import com.glxp.api.req.thrsys.AddThrDiProductsRequest; +import com.glxp.api.req.thrsys.FilterThrProductsRequest; +import com.glxp.api.res.thrsys.ThrProductsAddDiResponse; +import com.glxp.api.res.thrsys.UdiInfoResponse; + +import java.util.List; + +public interface ThrProductsAddDiService { + + List filterThrProductsList(FilterThrProductsRequest filterThrProductsRequest); + + ThrProductsAddDiResponse selecById(Long id); + + ThrProductsAddDiResponse selecByUuid(String uuid); + + /** + * 删除DI产品信息 + * + * @param id + */ + boolean delThrDiProducts(Long id); + + boolean updateDiProduct(ThrProductsAddDiEntity thrProductsAddDiEntity); + + boolean addThrAddDiProducts(AddThrDiProductsRequest thrDiProductsRequest); + + UdiInfoResponse getDiProductDetail(String uuid); + + /** 根据ID查询 */ + ThrProductsAddDiEntity filterThrProductsGetId( Integer id); + + boolean insertThrProducts(ThrProductsAddDiEntity thrProductsAddDiEntity); + + List filterThrProductsDiList(FilterThrProductsRequest filterThrProductsRequest); + + List filterThrProductsDiLists(FilterThrProductsRequest filterThrProductsRequest); +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrProductsService.java b/src/main/java/com/glxp/api/service/thrsys/ThrProductsService.java index a3e2e14b9..2d15691f3 100644 --- a/src/main/java/com/glxp/api/service/thrsys/ThrProductsService.java +++ b/src/main/java/com/glxp/api/service/thrsys/ThrProductsService.java @@ -37,6 +37,7 @@ public interface ThrProductsService { boolean insertThrProducts(ThrProductsEntity thrProductsEntity); + Boolean isExit(String code, String thirdIdFk); List findByLastTime(Date lastUpdateTime); diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsAddDiServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsAddDiServiceImpl.java new file mode 100644 index 000000000..6afe12389 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsAddDiServiceImpl.java @@ -0,0 +1,175 @@ +package com.glxp.api.service.thrsys.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.thrsys.ThrProductsAddDiDao; +import com.glxp.api.entity.basic.ProductInfoEntity; +import com.glxp.api.entity.thrsys.ThrProductsAddDiEntity; +import com.glxp.api.req.thrsys.AddThrDiProductsRequest; +import com.glxp.api.req.thrsys.FilterThrProductsRequest; +import com.glxp.api.res.thrsys.ThrProductsAddDiResponse; +import com.glxp.api.res.thrsys.UdiInfoResponse; +import com.glxp.api.service.basic.ProductInfoService; +import com.glxp.api.service.thrsys.ThrProductsAddDiService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Service +@Transactional(rollbackFor = Exception.class) +public class ThrProductsAddDiServiceImpl implements ThrProductsAddDiService { + + @Resource + private ThrProductsAddDiDao thrProductsAddDiDao; + @Resource + private ProductInfoService productInfoService; + + @Override + public List filterThrProductsList(FilterThrProductsRequest filterThrProductsRequest) { + if (null != filterThrProductsRequest && filterThrProductsRequest.getPage() != null) { + int offset = (filterThrProductsRequest.getPage() - 1) * filterThrProductsRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrProductsRequest.getLimit()); + } + List thrProductsAddDiResponses = thrProductsAddDiDao.filterThrProductsList(filterThrProductsRequest); + + if (CollUtil.isNotEmpty(thrProductsAddDiResponses)) { + thrProductsAddDiResponses.forEach(thrProductsAddDiResponse -> { + thrProductsAddDiResponse.setStandard(thrProductsAddDiResponse.getSpec()); + thrProductsAddDiResponse.setZczbhhzbapzbh(thrProductsAddDiResponse.getRegisterNo()); + }); + } + return thrProductsAddDiResponses; + } + + @Override + public ThrProductsAddDiResponse selecById(Long id) { + FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); + filterThrProductsRequest.setId(id); + List thrProductsAddDiResponses = thrProductsAddDiDao.filterThrProductsList(filterThrProductsRequest); + if (CollUtil.isNotEmpty(thrProductsAddDiResponses)) { + return thrProductsAddDiResponses.get(0); + } + return null; + } + + @Override + public ThrProductsAddDiResponse selecByUuid(String uuid) { + if (StrUtil.isEmpty(uuid)) { + return null; + } + FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); + filterThrProductsRequest.setUuid(uuid); + List thrProductsAddDiResponses = thrProductsAddDiDao.filterThrProductsList(filterThrProductsRequest); + if (CollUtil.isNotEmpty(thrProductsAddDiResponses)) { + return thrProductsAddDiResponses.get(0); + } + return null; + } + + @Override + public boolean delThrDiProducts(Long id) { + return thrProductsAddDiDao.deleteById(id); + } + + @Override + public boolean updateDiProduct(ThrProductsAddDiEntity thrProductsAddDiEntity) { + return thrProductsAddDiDao.updateDiProduct(thrProductsAddDiEntity); + } + + @Override + public boolean addThrAddDiProducts(AddThrDiProductsRequest thrDiProductsRequest) { + + List uuids = thrDiProductsRequest.getUuids(); + Long customerId = thrDiProductsRequest.getCustomerId(); + List list = new ArrayList<>(uuids.size()); + Date date = new Date(); + for (String uuid : uuids) { + ProductInfoEntity productInfoEntity = productInfoService.selectByUuid(uuid).get(0); + ThrProductsAddDiEntity thrProductsAddDiEntity = new ThrProductsAddDiEntity(); + BeanUtils.copyProperties(thrDiProductsRequest, thrProductsAddDiEntity); + thrProductsAddDiEntity.setCustomerId(customerId + ""); + thrProductsAddDiEntity.setUuid(uuid); + thrProductsAddDiEntity.setType(1); + thrProductsAddDiEntity.setYlqxzcrbarywmc(productInfoEntity.getYlqxzcrbarywmc()); + thrProductsAddDiEntity.setCplb(productInfoEntity.getCplb()); + thrProductsAddDiEntity.setCpms(productInfoEntity.getCpms()); + thrProductsAddDiEntity.setFlbm(productInfoEntity.getFlbm()); + thrProductsAddDiEntity.setQxlb(productInfoEntity.getQxlb()); + thrProductsAddDiEntity.setTyshxydm(productInfoEntity.getTyshxydm()); + thrProductsAddDiEntity.setCode(productInfoEntity.getNameCode()); + thrProductsAddDiEntity.setName(productInfoEntity.getCpmctymc()); + thrProductsAddDiEntity.setStandard(productInfoEntity.getGgxh()); + thrProductsAddDiEntity.setSpec(productInfoEntity.getGgxh()); + thrProductsAddDiEntity.setRegisterNo(productInfoEntity.getZczbhhzbapzbh()); + thrProductsAddDiEntity.setYlqxzcrbarmc(productInfoEntity.getYlqxzcrbarmc()); + thrProductsAddDiEntity.setZczbhhzbapzbh(productInfoEntity.getZczbhhzbapzbh()); + + //设置编辑区参数 + thrProductsAddDiEntity.setSptm(thrDiProductsRequest.getSptm()); + thrProductsAddDiEntity.setYbbm(thrDiProductsRequest.getYbbm()); + thrProductsAddDiEntity.setMeasname(thrDiProductsRequest.getMeasname()); + thrProductsAddDiEntity.setManufactory(thrDiProductsRequest.getManufactory()); + thrProductsAddDiEntity.setSpmc(thrDiProductsRequest.getSpmc()); + thrProductsAddDiEntity.setCpms(thrDiProductsRequest.getCpms()); + thrProductsAddDiEntity.setPrice(thrDiProductsRequest.getPrice()); + + thrProductsAddDiEntity.setCreateTime(date); + thrProductsAddDiEntity.setUpdateTime(new Date()); + thrProductsAddDiEntity.setStatus(1); //未审核 + thrProductsAddDiEntity.setSelectThridSysStr(JSONUtil.toJsonStr(thrDiProductsRequest.getSelectThirdSys())); + list.add(thrProductsAddDiEntity); + } + return thrProductsAddDiDao.insertThrDiProducts(list); + } + + @Override + public UdiInfoResponse getDiProductDetail(String uuid) { + ThrProductsAddDiEntity thrProductsAddDiEntity = thrProductsAddDiDao.filterThrProductsGetUuid(uuid); + UdiInfoResponse udiInfoResponse = thrProductsAddDiDao.getDiProductDetail(uuid); + if(udiInfoResponse!=null){ + udiInfoResponse.setSptm(thrProductsAddDiEntity.getSptm()); + udiInfoResponse.setYbbm(thrProductsAddDiEntity.getYbbm()); + udiInfoResponse.setManufactory(thrProductsAddDiEntity.getManufactory()); + udiInfoResponse.setCpms(thrProductsAddDiEntity.getCpms()); + udiInfoResponse.setMeasname(thrProductsAddDiEntity.getMeasname()); + udiInfoResponse.setManufactory(thrProductsAddDiEntity.getManufactory()); + udiInfoResponse.setPrice(thrProductsAddDiEntity.getPrice()); + udiInfoResponse.setBasicPrductRemak1(thrProductsAddDiEntity.getBasicPrductRemak1()); + udiInfoResponse.setBasicPrductRemak2(thrProductsAddDiEntity.getBasicPrductRemak2()); + udiInfoResponse.setBasicPrductRemak3(thrProductsAddDiEntity.getBasicPrductRemak3()); + udiInfoResponse.setBasicPrductRemak4(thrProductsAddDiEntity.getBasicPrductRemak4()); + udiInfoResponse.setBasicPrductRemak5(thrProductsAddDiEntity.getBasicPrductRemak5()); + udiInfoResponse.setBasicPrductRemak6(thrProductsAddDiEntity.getBasicPrductRemak6()); + udiInfoResponse.setBasicPrductRemak7(thrProductsAddDiEntity.getBasicPrductRemak7()); + udiInfoResponse.setBasicPrductRemak8(thrProductsAddDiEntity.getBasicPrductRemak8()); + } + return udiInfoResponse; + } + + @Override + public ThrProductsAddDiEntity filterThrProductsGetId(Integer id) { + return thrProductsAddDiDao.filterThrProductsGetId(id); + } + + @Override + public boolean insertThrProducts(ThrProductsAddDiEntity thrProductsAddDiEntity) { + return thrProductsAddDiDao.insert(thrProductsAddDiEntity); + } + + @Override + public List filterThrProductsDiList(FilterThrProductsRequest filterThrProductsRequest) { + return thrProductsAddDiDao.filterThrProductsDiList(filterThrProductsRequest); + } + + @Override + public List filterThrProductsDiLists(FilterThrProductsRequest filterThrProductsRequest) { + return thrProductsAddDiDao.filterThrProductsDiLists(filterThrProductsRequest); + } +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java index b457d84a2..7f70976bc 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java @@ -116,6 +116,11 @@ public class ThrProductsServiceImpl implements ThrProductsService { return thrProductsDao.insertThrProducts(thrProductsEntity); } + @Override + public Boolean isExit(String code, String thirdIdFk) { + return null; + } + @Override public List findByLastTime(Date lastUpdateTime) { return thrProductsDao.selectByLastTime(lastUpdateTime); diff --git a/src/main/java/com/glxp/api/task/SyncHeartTask.java b/src/main/java/com/glxp/api/task/SyncHeartTask.java index ed5f529e9..9e52f1b92 100644 --- a/src/main/java/com/glxp/api/task/SyncHeartTask.java +++ b/src/main/java/com/glxp/api/task/SyncHeartTask.java @@ -20,8 +20,8 @@ import javax.annotation.Resource; import java.util.Arrays; -@Component -@EnableScheduling +//@Component +//@EnableScheduling public class SyncHeartTask implements SchedulingConfigurer { final Logger logger = LoggerFactory.getLogger(SyncHeartTask.class); diff --git a/src/main/java/com/glxp/api/task/TaskExecutorConfig.java b/src/main/java/com/glxp/api/task/TaskExecutorConfig.java index bb47f7d29..959500cea 100644 --- a/src/main/java/com/glxp/api/task/TaskExecutorConfig.java +++ b/src/main/java/com/glxp/api/task/TaskExecutorConfig.java @@ -12,8 +12,8 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import java.lang.reflect.Method; import java.util.concurrent.Executor; -@EnableAsync -@Configuration +//@EnableAsync +//@Configuration @ConditionalOnProperty(prefix = "spring.sgrain.async-thread-pool", name = "enable", havingValue = "true", matchIfMissing = false) public class TaskExecutorConfig implements AsyncConfigurer { diff --git a/src/main/java/com/glxp/api/util/SupplementVailUtil.java b/src/main/java/com/glxp/api/util/SupplementVailUtil.java new file mode 100644 index 000000000..179126805 --- /dev/null +++ b/src/main/java/com/glxp/api/util/SupplementVailUtil.java @@ -0,0 +1,175 @@ +package com.glxp.api.util; + +import cn.hutool.core.util.StrUtil; +import com.glxp.api.entity.basic.BasicProductSetEntity; +import com.glxp.api.entity.system.SystemParamConfigEntity; +import com.glxp.api.req.basic.SupplementRequest; +import com.glxp.api.service.basic.BasicProductSetService; +import com.glxp.api.service.system.SystemParamConfigService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Map; + +@Service +public class SupplementVailUtil { + + @Resource + BasicProductSetService basicProductSetService; + @Resource + SystemParamConfigService systemParamConfigService; + + + public static final int SUP_SELECT = 1; + public static final int SUP_ADD = 2; + public static final int LOCAL_ADD = 3; + public static final int LOCAL_EIDT = 4; + + + public String vail(SupplementRequest supplementRequest, int type) { + //验证产品信息是否必填 + Map basicProductSetEntityMap = basicProductSetService.filterAllEnable(); + Map systemParamConfigEntityMap = systemParamConfigService.findBasicAll(); + if (basicProductSetEntityMap.size() > 0) { + BasicProductSetEntity basicProductSetEntity = null; + + basicProductSetEntity = basicProductSetEntityMap.get("sptm"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmpty(supplementRequest.getSptm())) { + return "商品条码不能为空"; + } + } + basicProductSetEntity = basicProductSetEntityMap.get("ybbm"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmpty(supplementRequest.getYbbm())) { + return "医保编码不能为空"; + } + } + basicProductSetEntity = basicProductSetEntityMap.get("measname"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmptyIfStr(supplementRequest.getMeasname())) { + return "计量单位不能为空"; + } + } + basicProductSetEntity = basicProductSetEntityMap.get("manufactory"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmptyIfStr(supplementRequest.getManufactory())) { + return "生产厂家不能为空"; + } + } + + basicProductSetEntity = basicProductSetEntityMap.get("spmc"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmptyIfStr(supplementRequest.getSpmc())) { + return "商品名称不能为空"; + } + } + + basicProductSetEntity = basicProductSetEntityMap.get("cpms"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmptyIfStr(supplementRequest.getCpms())) { + return "产品描述不能为空"; + } + } + basicProductSetEntity = basicProductSetEntityMap.get("price"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmptyIfStr(supplementRequest.getPrice())) { + return "产品价格不能为空"; + } + } + + + basicProductSetEntity = basicProductSetEntityMap.get("basicPrductRemak1"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmpty(supplementRequest.getBasicPrductRemak1())) { + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigEntityMap.get("basicPrductRemak1"); + if (!systemParamConfigEntity.getParamValue().equals("0")) { + return systemParamConfigEntity.getParamValue() + "不能为空"; + } + } + } + basicProductSetEntity = basicProductSetEntityMap.get("basicPrductRemak2"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmpty(supplementRequest.getBasicPrductRemak2())) { + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigEntityMap.get("basicPrductRemak2"); + if (!systemParamConfigEntity.getParamValue().equals("0")) { + return systemParamConfigEntity.getParamValue() + "不能为空"; + } + } + } + basicProductSetEntity = basicProductSetEntityMap.get("basicPrductRemak3"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmpty(supplementRequest.getBasicPrductRemak3())) { + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigEntityMap.get("basicPrductRemak3"); + if (!systemParamConfigEntity.getParamValue().equals("0")) { + return systemParamConfigEntity.getParamValue() + "不能为空"; + } + } + } + basicProductSetEntity = basicProductSetEntityMap.get("basicPrductRemak4"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmpty(supplementRequest.getBasicPrductRemak4())) { + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigEntityMap.get("basicPrductRemak4"); + if (!systemParamConfigEntity.getParamValue().equals("0")) { + return systemParamConfigEntity.getParamValue() + "不能为空"; + } + } + } + basicProductSetEntity = basicProductSetEntityMap.get("basicPrductRemak5"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmpty(supplementRequest.getBasicPrductRemak5())) { + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigEntityMap.get("basicPrductRemak5"); + if (!systemParamConfigEntity.getParamValue().equals("0")) { + return systemParamConfigEntity.getParamValue() + "不能为空"; + } + } + } + basicProductSetEntity = basicProductSetEntityMap.get("basicPrductRemak6"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmpty(supplementRequest.getBasicPrductRemak6())) { + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigEntityMap.get("basicPrductRemak6"); + if (!systemParamConfigEntity.getParamValue().equals("0")) { + return systemParamConfigEntity.getParamValue() + "不能为空"; + } + } + } + basicProductSetEntity = basicProductSetEntityMap.get("basicPrductRemak7"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmpty(supplementRequest.getBasicPrductRemak7())) { + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigEntityMap.get("basicPrductRemak7"); + if (!systemParamConfigEntity.getParamValue().equals("0")) { + return systemParamConfigEntity.getParamValue() + "不能为空"; + } + } + } + basicProductSetEntity = basicProductSetEntityMap.get("basicPrductRemak8"); + if (isMustFill(type, basicProductSetEntity)) { + if (StrUtil.isEmpty(supplementRequest.getBasicPrductRemak8())) { + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigEntityMap.get("basicPrductRemak8"); + if (!systemParamConfigEntity.getParamValue().equals("0")) { + return systemParamConfigEntity.getParamValue() + "不能为空"; + } + } + } + } + return null; + } + + + public boolean isMustFill(int type, BasicProductSetEntity basicProductSetEntity) { + if (basicProductSetEntity == null) + return false; + if (type == SUP_SELECT && basicProductSetEntity.isSupSelect()) { + return true; + } else if (type == SUP_ADD && basicProductSetEntity.isSupAdd()) { + return true; + } else if (type == LOCAL_ADD && basicProductSetEntity.isLocalAdd()) { + return true; + } else if (type == LOCAL_EIDT && basicProductSetEntity.isLocalEdit()) { + return true; + } + return false; + + } + +} diff --git a/src/main/resources/mybatis/mapper/basic/BasicProductSetDao.xml b/src/main/resources/mybatis/mapper/basic/BasicProductSetDao.xml new file mode 100644 index 000000000..de5fb44cc --- /dev/null +++ b/src/main/resources/mybatis/mapper/basic/BasicProductSetDao.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + replace + INTO basic_product_set(parmName, + parmKey,enable,supSelect,supAdd,localAdd,remark,sort,localEdit) values + ( + #{parmName}, + #{parmKey}, + #{enable} , + #{supSelect}, + #{supAdd}, + #{localAdd}, + #{remark}, + #{sort}, + #{localEdit} + ) + + + + diff --git a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml index 18bd0d96b..2a8e2ad76 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml @@ -128,6 +128,7 @@ AND originUuid = #{originUuid} + ORDER BY updateTime DESC diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index dc5520f12..7e5b9db52 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -420,68 +420,67 @@ ORDER BY modifyTime DESC - @@ -1103,7 +1104,7 @@ @@ -1248,174 +1249,5 @@ limit 1 - - diff --git a/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml b/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml index 0c2c30fe0..a4f95513f 100644 --- a/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/system/SystemPDFTemplateRelevanceDao.xml @@ -11,20 +11,20 @@ + select * + FROM sys_pdf_template_relevance_label + WHERE id = #{id} + + + insert - ignore + ignore INTO sys_pdf_template_relevance (templateId, customerId, adminId, moduleId, localAction, remark1, remark2, remark3, printType) values (#{templateId}, - #{customerId}, - #{adminId}, - #{moduleId}, - #{localAction}, - #{remark1}, - #{remark2}, - #{remark3}, - #{printType}) + #{customerId}, + #{adminId}, + #{moduleId}, + #{localAction}, + #{remark1}, + #{remark2}, + #{remark3}, + #{printType}) UPDATE sys_pdf_template_relevance @@ -129,10 +142,17 @@ - + SELECT * + FROM sys_pdf_template_relevance_code + + + AND `name` = #{name} + + + AND `localAction` = #{localAction} + + + diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml new file mode 100644 index 000000000..0a1b19755 --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml @@ -0,0 +1,270 @@ + + + + + + insert into thr_products_add_di (uuid, customerId, createTime, + auditTime, remark, auditUser, + `status`, thirdSysFk, code, + sptm, ybbm, measname, + manufactory, spmc, cpms, + price, selectThridSysStr, basicPrductRemak1, + basicPrductRemak2, basicPrductRemak3, basicPrductRemak4, + basicPrductRemak5, basicPrductRemak6, basicPrductRemak7, + basicPrductRemak8, `name`, spec, + registerNo, cplb, flbm, + qxlb, tyshxydm, zczbhhzbapzbh, + ylqxzcrbarmc, ylqxzcrbarywmc, updateTime, + supName, model, `standard`, + qtbm, zczyxqz, relId, type) + values + + (#{item.uuid}, + #{item.customerId}, + #{item.createTime}, + #{item.auditTime}, + #{item.remark}, + #{item.auditUser}, + #{item.status}, + #{item.thirdSysFk}, + #{item.code}, + #{item.sptm}, + #{item.ybbm}, + #{item.measname}, + #{item.manufactory}, + #{item.spmc}, + #{item.cpms}, #{item.price}, #{item.selectThridSysStr} + , #{item.basicPrductRemak1}, #{item.basicPrductRemak2}, #{item.basicPrductRemak3}, + #{item.basicPrductRemak4} + , #{item.basicPrductRemak5}, #{item.basicPrductRemak6}, #{item.basicPrductRemak7}, + #{item.basicPrductRemak8} + , #{item.name}, #{item.spec}, #{item.registerNo}, #{item.cplb} + , #{item.flbm}, #{item.qxlb}, #{item.tyshxydm}, #{item.zczbhhzbapzbh} + , #{item.ylqxzcrbarmc}, #{item.ylqxzcrbarywmc}, #{item.updateTime}, #{item.supName}, #{item.model} + , #{item.standard}, #{item.qtbm}, #{item.standard}, #{item.zczyxqz}, #{item.type}) + + + + + update thr_products_add_di + + + uuid=#{uuid}, + + + customerId=#{customerId}, + + + createTime=#{createTime}, + + + auditTime=#{auditTime}, + + + remark=#{remark}, + + + auditUser=#{auditUser}, + + + `thirdSysFk`=#{thirdSysFk}, + + + `code`=#{code}, + + + `sptm`=#{sptm}, + + + `ybbm`=#{ybbm}, + + + `measname`=#{measname}, + + + `manufactory`=#{manufactory}, + + + `spmc`=#{spmc}, + + + `cpms`=#{cpms}, + + + `status`=#{status}, + + + `price`=#{price}, + + + `basicPrductRemak1`=#{basicPrductRemak1}, + + + `basicPrductRemak2`=#{basicPrductRemak2}, + + + `basicPrductRemak3`=#{basicPrductRemak3}, + + + `basicPrductRemak4`=#{basicPrductRemak4}, + + + `basicPrductRemak5`=#{basicPrductRemak5}, + + + `basicPrductRemak6`=#{basicPrductRemak6}, + + + `basicPrductRemak7`=#{basicPrductRemak7}, + + + `basicPrductRemak8`=#{basicPrductRemak8}, + + + `selectThridSysStr`=#{selectThridSysStr}, + + + WHERE id = #{id} + + + + delete + from thr_products_add_di + where id = #{id} + + + + + + + + + + + + + + insert into thr_products_add_di (uuid, customerId, createTime, + auditTime, remark, auditUser, + `status`, thirdSysFk, code, + sptm, ybbm, measname, + manufactory, spmc, cpms, + price, selectThridSysStr, basicPrductRemak1, + basicPrductRemak2, basicPrductRemak3, basicPrductRemak4, + basicPrductRemak5, basicPrductRemak6, basicPrductRemak7, + basicPrductRemak8, `name`, spec, + registerNo, cplb, flbm, + qxlb, tyshxydm, zczbhhzbapzbh, + ylqxzcrbarmc, ylqxzcrbarywmc, updateTime, + supName, model, `standard`, + qtbm, zczyxqz, relId, type) + values (#{uuid,jdbcType=VARCHAR}, #{customerId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, + #{auditTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR}, #{auditUser,jdbcType=VARCHAR}, + #{status,jdbcType=INTEGER}, #{thirdSysFk,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, + #{sptm,jdbcType=VARCHAR}, #{ybbm,jdbcType=VARCHAR}, #{measname,jdbcType=VARCHAR}, + #{manufactory,jdbcType=VARCHAR}, #{spmc,jdbcType=VARCHAR}, #{cpms,jdbcType=VARCHAR}, + #{price,jdbcType=VARCHAR}, #{selectThridSysStr,jdbcType=VARCHAR}, #{basicPrductRemak1,jdbcType=VARCHAR}, + #{basicPrductRemak2,jdbcType=VARCHAR}, #{basicPrductRemak3,jdbcType=VARCHAR}, + #{basicPrductRemak4,jdbcType=VARCHAR}, + #{basicPrductRemak5,jdbcType=VARCHAR}, #{basicPrductRemak6,jdbcType=VARCHAR}, + #{basicPrductRemak7,jdbcType=VARCHAR}, + #{basicPrductRemak8,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{spec,jdbcType=VARCHAR}, + #{registerNo,jdbcType=VARCHAR}, #{cplb,jdbcType=VARCHAR}, #{flbm,jdbcType=VARCHAR}, + #{qxlb,jdbcType=VARCHAR}, #{tyshxydm,jdbcType=VARCHAR}, #{zczbhhzbapzbh,jdbcType=VARCHAR}, + #{ylqxzcrbarmc,jdbcType=VARCHAR}, #{ylqxzcrbarywmc,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, + #{supName,jdbcType=VARCHAR}, #{model,jdbcType=VARCHAR}, #{standard,jdbcType=VARCHAR}, + #{qtbm,jdbcType=VARCHAR}, #{zczyxqz,jdbcType=VARCHAR}, #{relId,jdbcType=VARCHAR}, + #{type,jdbcType=VARCHAR}) + + + + + From f6ca9ee95b57f44a7ff69160f4906e186b017a65 Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 21 Apr 2023 15:12:50 +0800 Subject: [PATCH 4/5] =?UTF-8?q?1.=E5=88=9D=E6=AD=A5=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E7=B3=BB=E7=BB=9F=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/dao/inout/IoOrderDao.java | 2 +- .../mybatis/mapper/inout/IoOrderDao.xml | 74 ++++++++++--------- 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java index 214169688..7bddac727 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java @@ -65,5 +65,5 @@ public interface IoOrderDao extends BaseMapperPlus selectWaitSubmitOrder(String thirdSys); + List selectWaitSubmitOrder(@Param("thirdSys") String thirdSys); } \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index 4922ca64a..9bd2c4491 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -3,17 +3,17 @@ @@ -179,7 +178,7 @@ AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and - date_format(#{endTime}, '%Y-%m-%d') + date_format(#{endTime}, '%Y-%m-%d') select io.*, - (select name from basic_bussiness_type bus where bus.action = io.action) billTypeName, - (select name from auth_dept ad where ad.code = io.deptCode) deptName, - (select name from auth_warehouse aw where aw.code = io.invCode) invName, - (select employeeName from auth_user au where au.id = io.createUser) createUserName, - (select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName, - (select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName, - (select employeeName from auth_user au4 where au4.id = io.checkUser) checkUserName, - (select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName, - (select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName, - (select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName, - (select name from basic_corp bc where bc.erpId = io.customerId) customerName + (select name from basic_bussiness_type bus where bus.action = io.action) billTypeName, + (select name from auth_dept ad where ad.code = io.deptCode) deptName, + (select name from auth_warehouse aw where aw.code = io.invCode) invName, + (select employeeName from auth_user au where au.id = io.createUser) createUserName, + (select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName, + (select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName, + (select employeeName from auth_user au4 where au4.id = io.checkUser) checkUserName, + (select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName, + (select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName, + (select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName, + (select name from basic_corp bc where bc.erpId = io.customerId) customerName from io_order as io io.dealStatus = 3 @@ -241,7 +240,7 @@ AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and - date_format(#{endTime}, '%Y-%m-%d') + date_format(#{endTime}, '%Y-%m-%d') AND date_format(createTime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') @@ -266,6 +265,15 @@ From cdfda6af2a9bbfc829f5c32b995897af13428c16 Mon Sep 17 00:00:00 2001 From: wj <1285151836@qq.com> Date: Fri, 21 Apr 2023 15:26:39 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E7=94=B1=E5=86=85=E5=90=91=E5=A4=96?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/config/TaskPoolConfig.java | 38 ++ .../api/constant/BasicExportStatusEnum.java | 25 + .../constant/BasicExportStatusTimeEnum.java | 60 +++ .../api/constant/BasicExportTypeEnum.java | 7 +- .../glxp/api/dao/sync/BasicExportTimeDao.java | 3 +- .../entity/sync/BasicExportStatusEntity.java | 11 +- .../sync/BasicExportStatusTimeEntity.java | 6 + .../glxp/api/http/sync/SpGetHttpClient.java | 8 + .../glxp/api/req/sync/SyncUpLoadRequest.java | 19 + .../basic/IBasicBusTypeChangeService.java | 3 +- .../basic/IBasicBussinessTypeService.java | 3 +- .../impl/BasicBusTypeChangeServiceImpl.java | 3 +- .../impl/BasicBussinessTypeServiceImpl.java | 3 +- .../service/sync/BasicExportTimeService.java | 3 +- .../glxp/api/service/sync/HeartService.java | 433 +++++++++++++++++- .../service/sync/SyncDataBustypeService.java | 3 +- .../glxp/api/service/sync/UpBasicService.java | 1 + .../sync/impl/BasicExportTimeServiceImpl.java | 3 +- .../sync/impl/SyncDataBustypeServiceImpl.java | 3 +- .../thrsys/IThrBusTypeOriginService.java | 3 +- .../impl/ThrBusTypeOriginServiceImpl.java | 3 +- .../java/com/glxp/api/task/SyncHeartTask.java | 3 + .../java/com/glxp/api/util/RedisUtil.java | 18 + 23 files changed, 641 insertions(+), 21 deletions(-) create mode 100644 src/main/java/com/glxp/api/config/TaskPoolConfig.java create mode 100644 src/main/java/com/glxp/api/constant/BasicExportStatusEnum.java create mode 100644 src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java create mode 100644 src/main/java/com/glxp/api/req/sync/SyncUpLoadRequest.java diff --git a/src/main/java/com/glxp/api/config/TaskPoolConfig.java b/src/main/java/com/glxp/api/config/TaskPoolConfig.java new file mode 100644 index 000000000..06f722079 --- /dev/null +++ b/src/main/java/com/glxp/api/config/TaskPoolConfig.java @@ -0,0 +1,38 @@ +package com.glxp.api.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.ThreadPoolExecutor; + +/** + * 配置线程池 + */ +@Configuration +@EnableAsync +public class TaskPoolConfig { + + @Bean(name = "taskExecutor") + public ThreadPoolTaskExecutor taskExecutor() { + // 获取当前主机的cpu核心数 + int threadCount = Runtime.getRuntime().availableProcessors(); + ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); + //核心池的大小 + taskExecutor.setCorePoolSize(threadCount); + //线程池最大线程数 + taskExecutor.setMaxPoolSize(threadCount * 2); + //队列最大长度 + taskExecutor.setQueueCapacity(200); + //线程空闲时间 + taskExecutor.setKeepAliveSeconds(60); + //配置线程前缀 + taskExecutor.setThreadNamePrefix("custom_executor"); + //配置拒绝策略 + taskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + //执行初始化 + taskExecutor.initialize(); + return taskExecutor; + } +} diff --git a/src/main/java/com/glxp/api/constant/BasicExportStatusEnum.java b/src/main/java/com/glxp/api/constant/BasicExportStatusEnum.java new file mode 100644 index 000000000..2f5c908ff --- /dev/null +++ b/src/main/java/com/glxp/api/constant/BasicExportStatusEnum.java @@ -0,0 +1,25 @@ +package com.glxp.api.constant; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum BasicExportStatusEnum { + + /** + * 接收失败 + */ + FAILED(1, "接收失败"), + + /** + * 接收成功 + */ + SUCCESS(2, "接收成功"), + ; + @EnumValue + private Integer code; + + private String remark; +} diff --git a/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java b/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java new file mode 100644 index 000000000..93438257d --- /dev/null +++ b/src/main/java/com/glxp/api/constant/BasicExportStatusTimeEnum.java @@ -0,0 +1,60 @@ +package com.glxp.api.constant; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum BasicExportStatusTimeEnum { + + /** + * 耗材字典 + */ + BASIC_PRODUCTS("basic_products", "耗材字典"), + + /** + * 往来单位字典 + */ + BASIC_CORP("basic_corp", "往来单位字典"), + + /** + * 国家库DI数据 + */ + DB_DI_PRODUCTS("db_di_products", "国家库DI数据"), + + /** + * 首营资质 + */ + SUP_CERT("sup_cert", "首营资质"), + + /** + * UDI码补齐 + */ + IO_CODE_LOST("io_code_lost", "UDI码补齐"), + + /** + * UDI码关联关系 + */ + IO_CODE_REL("io_code_rel", "UDI码关联关系"), + + /** + * 业务单据类型 + */ + BASIC_BUSSINESS_TYPE("basic_bussiness_type","扫码单据类型"), + + /** + * 扫码单据类型 + */ + BASIC_BUSTYPE_CHANGE("basic_bustype_change","业务单据类型"), + + /** + * 业务单据类型 + */ + THR_BUSTYPE_ORIGIN("thr_bustype_origin","第三方单据类型"), + ; + @EnumValue + private String key; + + private String remark; +} diff --git a/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java b/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java index 4740ad1ad..bf7a40bc4 100644 --- a/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java +++ b/src/main/java/com/glxp/api/constant/BasicExportTypeEnum.java @@ -15,7 +15,12 @@ public enum BasicExportTypeEnum { /** * 国家库DI数据 */ -// COUNTRY_DI_DATA("country_di_data", "国家库DI数据"), + COUNTRY_DI_DATA("country_di_data", "国家库DI数据"), + + /** + * 单据类型 + */ + DOCUMENT_TYPE("document_type", "单据类型"), /** * 其他数据 diff --git a/src/main/java/com/glxp/api/dao/sync/BasicExportTimeDao.java b/src/main/java/com/glxp/api/dao/sync/BasicExportTimeDao.java index aa615cca7..a396c24ab 100644 --- a/src/main/java/com/glxp/api/dao/sync/BasicExportTimeDao.java +++ b/src/main/java/com/glxp/api/dao/sync/BasicExportTimeDao.java @@ -1,5 +1,6 @@ package com.glxp.api.dao.sync; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.req.sync.BasicExportTimeRequest; import org.apache.ibatis.annotations.Mapper; @@ -7,7 +8,7 @@ import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper -public interface BasicExportTimeDao { +public interface BasicExportTimeDao extends BaseMapperPlus { List filterExportStatus(BasicExportTimeRequest basicExportStatusRequest); diff --git a/src/main/java/com/glxp/api/entity/sync/BasicExportStatusEntity.java b/src/main/java/com/glxp/api/entity/sync/BasicExportStatusEntity.java index 621b094a5..96eefbe77 100644 --- a/src/main/java/com/glxp/api/entity/sync/BasicExportStatusEntity.java +++ b/src/main/java/com/glxp/api/entity/sync/BasicExportStatusEntity.java @@ -2,9 +2,16 @@ package com.glxp.api.entity.sync; import java.util.Date; +import com.glxp.api.constant.BasicExportStatusEnum; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; @Data +@AllArgsConstructor +@NoArgsConstructor +@Builder public class BasicExportStatusEntity { private String id; @@ -19,8 +26,8 @@ public class BasicExportStatusEntity { private String cacheFilePath; /** - * 接收状态 -1:接收失败 0:等待接收 1:接收成功 + * 接收状态 1:接收失败 2:接收成功 */ - private String receiveStatus; + private Integer receiveStatus; } diff --git a/src/main/java/com/glxp/api/entity/sync/BasicExportStatusTimeEntity.java b/src/main/java/com/glxp/api/entity/sync/BasicExportStatusTimeEntity.java index fc5164266..b044f812d 100644 --- a/src/main/java/com/glxp/api/entity/sync/BasicExportStatusTimeEntity.java +++ b/src/main/java/com/glxp/api/entity/sync/BasicExportStatusTimeEntity.java @@ -1,8 +1,14 @@ package com.glxp.api.entity.sync; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; @Data +@AllArgsConstructor +@NoArgsConstructor +@Builder public class BasicExportStatusTimeEntity { private Integer id; diff --git a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java index be720400d..1cd42e2c0 100644 --- a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java @@ -13,6 +13,7 @@ import com.glxp.api.req.inout.ReviewFinishRequest; import com.glxp.api.req.inout.ReviewSpmsRequest; import com.glxp.api.req.sync.BasicExportStatusRequest; import com.glxp.api.req.sync.OrderStatusFilterRequest; +import com.glxp.api.req.sync.SyncUpLoadRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.sync.*; import com.glxp.api.res.system.SyncDataSetResponse; @@ -51,6 +52,13 @@ public class SpGetHttpClient { return headers; } + public BaseResponse postData(BasicExportTypeEnum exportType, Object data) { + SyncUpLoadRequest build = SyncUpLoadRequest.builder().exportType(exportType).data(data).build(); + String result = okHttpCli.doPostJson(getIpUrl() + "sps/sync/upload/data", JSONUtil.toJsonStr(build), buildHeader()); + return JSONObject.parseObject(result, new TypeReference>() { + }); + } + //上传扫码单据 public BaseResponse postAllOrder(SpsSyncOrderResponse spsSyncOrderResponse) { diff --git a/src/main/java/com/glxp/api/req/sync/SyncUpLoadRequest.java b/src/main/java/com/glxp/api/req/sync/SyncUpLoadRequest.java new file mode 100644 index 000000000..37baf9281 --- /dev/null +++ b/src/main/java/com/glxp/api/req/sync/SyncUpLoadRequest.java @@ -0,0 +1,19 @@ +package com.glxp.api.req.sync; + +import com.glxp.api.constant.BasicExportTypeEnum; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class SyncUpLoadRequest { + + private BasicExportTypeEnum exportType; + + private Object data; + +} diff --git a/src/main/java/com/glxp/api/service/basic/IBasicBusTypeChangeService.java b/src/main/java/com/glxp/api/service/basic/IBasicBusTypeChangeService.java index b8cbac5eb..887e373b4 100644 --- a/src/main/java/com/glxp/api/service/basic/IBasicBusTypeChangeService.java +++ b/src/main/java/com/glxp/api/service/basic/IBasicBusTypeChangeService.java @@ -1,5 +1,6 @@ package com.glxp.api.service.basic; +import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; import com.glxp.api.req.basic.FilterBusTypeChangeRequest; import com.glxp.api.res.basic.BasicBusTypeChangeResponse; @@ -10,7 +11,7 @@ import java.util.List; /** * 单据生成设置Service */ -public interface IBasicBusTypeChangeService { +public interface IBasicBusTypeChangeService extends IService { BasicBusTypeChangeEntity selectByOriginAction(String action); diff --git a/src/main/java/com/glxp/api/service/basic/IBasicBussinessTypeService.java b/src/main/java/com/glxp/api/service/basic/IBasicBussinessTypeService.java index 6eb767322..933cf2bb4 100644 --- a/src/main/java/com/glxp/api/service/basic/IBasicBussinessTypeService.java +++ b/src/main/java/com/glxp/api/service/basic/IBasicBussinessTypeService.java @@ -1,5 +1,6 @@ package com.glxp.api.service.basic; +import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.req.basic.FilterBussinessTypeRequest; import com.glxp.api.res.basic.BasicBussinessTypeResponse; @@ -10,7 +11,7 @@ import java.util.List; /** * 单据类型Service */ -public interface IBasicBussinessTypeService { +public interface IBasicBussinessTypeService extends IService { /** * 查询单据类型列表 diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicBusTypeChangeServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicBusTypeChangeServiceImpl.java index 7812a8b36..72dfa7b1a 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicBusTypeChangeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicBusTypeChangeServiceImpl.java @@ -2,6 +2,7 @@ package com.glxp.api.service.basic.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.basic.BasicBusTypeChangeDao; import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; @@ -21,7 +22,7 @@ import java.util.List; @Slf4j @Service @Transactional(rollbackFor = Exception.class) -public class BasicBusTypeChangeServiceImpl implements IBasicBusTypeChangeService { +public class BasicBusTypeChangeServiceImpl extends ServiceImpl implements IBasicBusTypeChangeService { @Resource private CustomerService customerService; diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java index 981bcaa08..717fa7ecf 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java @@ -3,6 +3,7 @@ package com.glxp.api.service.basic.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.constant.Constant; import com.glxp.api.constant.ConstantStatus; @@ -27,7 +28,7 @@ import java.util.stream.Collectors; @Slf4j @Service @Transactional(rollbackFor = Exception.class) -public class BasicBussinessTypeServiceImpl implements IBasicBussinessTypeService { +public class BasicBussinessTypeServiceImpl extends ServiceImpl implements IBasicBussinessTypeService { @Resource private CustomerService customerService; diff --git a/src/main/java/com/glxp/api/service/sync/BasicExportTimeService.java b/src/main/java/com/glxp/api/service/sync/BasicExportTimeService.java index 3147fc9ef..a9cbac902 100644 --- a/src/main/java/com/glxp/api/service/sync/BasicExportTimeService.java +++ b/src/main/java/com/glxp/api/service/sync/BasicExportTimeService.java @@ -2,12 +2,13 @@ package com.glxp.api.service.sync; +import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.req.sync.BasicExportTimeRequest; import java.util.List; -public interface BasicExportTimeService { +public interface BasicExportTimeService extends IService { BasicExportStatusTimeEntity findByKey(String key); diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index e7d385125..800eaa7fc 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -3,17 +3,14 @@ package com.glxp.api.service.sync; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.lang.Dict; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; -import com.glxp.api.common.enums.ResultEnum; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; -import com.glxp.api.constant.BasicExportTypeEnum; -import com.glxp.api.constant.BasicProcessStatus; -import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.constant.*; import com.glxp.api.dao.basic.*; import com.glxp.api.dao.inout.IoCodeLostMapper; import com.glxp.api.dao.inout.IoCodeRelMapper; @@ -25,13 +22,19 @@ import com.glxp.api.entity.purchase.*; import com.glxp.api.entity.sync.BasicDownloadStatusEntity; import com.glxp.api.entity.sync.BasicExportStatusEntity; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; +import com.glxp.api.entity.system.SyncDataBustypeEntity; +import com.glxp.api.entity.system.SyncDataSetEntity; +import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity; import com.glxp.api.http.sync.SpGetHttpClient; import com.glxp.api.req.sync.SpsSyncDataRequest; import com.glxp.api.res.sync.*; +import com.glxp.api.service.basic.IBasicBusTypeChangeService; +import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; +import com.glxp.api.service.thrsys.IThrBusTypeOriginService; import com.glxp.api.util.CustomUtil; import com.glxp.api.util.DateUtil; -import com.glxp.api.util.JsonUtils; +import com.glxp.api.util.RedisUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.session.ExecutorType; @@ -44,8 +47,8 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.io.IOException; import java.util.*; +import java.util.function.Function; @Slf4j @Service @@ -199,6 +202,422 @@ public class HeartService { return ResultVOUtils.success(); } + private final RedisUtil redisUtil; + + + @Transactional + public void chooseData(SyncDataSetEntity info, Date syncTime, BasicExportTypeEnum exportType) { + + Date now = new Date(); + String taskId = CustomUtil.getId(); + switch (exportType) { + case BASIC_DATA: + if (needExec(info.getBasicProducts(), info.getBasicCorp(), info.getSupCert())) { + uploadData(exportType, taskId, x -> x.getBasicData(info, taskId, now, syncTime)); + } + break; + case OTHER_DATA: + if (needExec(info.getUdiCodeLost(), info.getUdiCodeRel())) { + uploadData(exportType, taskId, x -> x.getOtherData(info, taskId, now, syncTime)); + } + break; + case DOCUMENT_TYPE: + if (needExec(info.getTypeBus(), info.getTypeScan(), info.getTypeThird())) { + uploadData(exportType, taskId, x -> x.getDocumentTypeData(info, taskId, now, syncTime)); + } + break; + case COUNTRY_DI_DATA: + } + } + + + /** + * 获取基础数据模块数据 + * + * @param info 同步设置 + * @param now 当前时间 + * @param syncTime 同步时间 -- 传入时不操作exportTime表 + * @return + */ + public SpsSyncBasicDataResponse getBasicData(SyncDataSetEntity info, String taskId, Date now, Date syncTime) { + SpsSyncBasicDataResponse dataResponse = null; + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + syncTimeMap.put("oldDate", syncTime); + //确认有开启物资字典同步 + if (needExec(info.getBasicProducts())) { + Map map; + if (syncTime == null) { + map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.BASIC_PRODUCTS); + } else { + map = syncTimeMap; + } + List hospTypeList = basicHospTypeDao.selectList(Wrappers.lambdaQuery(BasicHospTypeEntity.class) + .le((boolean) map.get("isNew"), BasicHospTypeEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), BasicHospTypeEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(hospTypeList)) { + dataResponse = new SpsSyncBasicDataResponse(); + dataResponse.setHospTypeList(hospTypeList); + } + List udiRelevanceList = udiRelevanceDao.selectList(Wrappers.lambdaQuery(UdiRelevanceEntity.class) + .le((boolean) map.get("isNew"), UdiRelevanceEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), UdiRelevanceEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(udiRelevanceList)) { + if (dataResponse == null) { + dataResponse = new SpsSyncBasicDataResponse(); + } + dataResponse.setUdiRelevanceList(udiRelevanceList); + } + List productsList = basicProductsDao.selectList(Wrappers.lambdaQuery(BasicProductsEntity.class) + .le((boolean) map.get("isNew"), BasicProductsEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), BasicProductsEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(productsList)) { + if (dataResponse == null) { + dataResponse = new SpsSyncBasicDataResponse(); + } + dataResponse.setProductsList(productsList); + } + List relevanceList = relevanceDao.selectList(Wrappers.lambdaQuery(CompanyProductRelevanceEntity.class) + .le((boolean) map.get("isNew"), CompanyProductRelevanceEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), CompanyProductRelevanceEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(relevanceList)) { + if (dataResponse == null) { + dataResponse = new SpsSyncBasicDataResponse(); + } + dataResponse.setRelevanceList(relevanceList); + } + } + //确认有开启往来单位字典同步 + if (needExec(info.getBasicCorp())) { + Map map; + if (syncTime == null) { + map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.BASIC_CORP); + } else { + map = syncTimeMap; + } + List corpList = corpDao.selectList(Wrappers.lambdaQuery(BasicCorpEntity.class) + .le((boolean) map.get("isNew"), BasicCorpEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), BasicCorpEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(corpList)) { + if (dataResponse == null) { + dataResponse = new SpsSyncBasicDataResponse(); + } + dataResponse.setCorpList(corpList); + } + } + + //确认有开启首营资质同步 + if (info.getSupCert() == 2) { + Map map; + if (syncTime == null) { + map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.SUP_CERT); + } else { + map = syncTimeMap; + } + List supCertList = supCertDao.selectList(Wrappers.lambdaQuery(SupCertEntity.class) + .le((boolean) map.get("isNew"), SupCertEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), SupCertEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(supCertList)) { + if (dataResponse == null) { + dataResponse = new SpsSyncBasicDataResponse(); + } + dataResponse.setSupCertList(supCertList); + } + List supCertSetList = supCertSetDao.selectList(Wrappers.lambdaQuery(SupCertSetEntity.class) + .le((boolean) map.get("isNew"), SupCertSetEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), SupCertSetEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(supCertSetList)) { + if (dataResponse == null) { + dataResponse = new SpsSyncBasicDataResponse(); + } + dataResponse.setSupCertSetList(supCertSetList); + } + List supCompanyList = supCompanyDao.selectList(Wrappers.lambdaQuery(SupCompanyEntity.class) + .le((boolean) map.get("isNew"), SupCompanyEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), SupCompanyEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(supCompanyList)) { + if (dataResponse == null) { + dataResponse = new SpsSyncBasicDataResponse(); + } + dataResponse.setSupCompanyList(supCompanyList); + } + List supManufacturerList = supManufacturerDao.selectList(Wrappers.lambdaQuery(SupManufacturerEntity.class) + .le((boolean) map.get("isNew"), SupManufacturerEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), SupManufacturerEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(supManufacturerList)) { + if (dataResponse == null) { + dataResponse = new SpsSyncBasicDataResponse(); + } + dataResponse.setSupManufacturerList(supManufacturerList); + } + List supProductList = supProductDao.selectList(Wrappers.lambdaQuery(SupProductEntity.class) + .le((boolean) map.get("isNew"), SupProductEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), SupProductEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(supProductList)) { + if (dataResponse == null) { + dataResponse = new SpsSyncBasicDataResponse(); + } + dataResponse.setSupProductList(supProductList); + } + + } + if (dataResponse != null) { + dataResponse.setTaskId(taskId); + } + + return dataResponse; + } + + + /** + * 获取其他数据模块数据 + * + * @param info 同步设置 + * @param now 当前时间 + * @param syncTime 同步时间 -- 传入时不操作exportTime表 + * @return + */ + public SpsSyncOtherDataResponse getOtherData(SyncDataSetEntity info, String taskId, Date now, Date syncTime) { + + SpsSyncOtherDataResponse dataResponse = null; + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + syncTimeMap.put("oldDate", syncTime); + //确认有开启udi码补齐同步 + if (needExec(info.getUdiCodeLost())) { + Map map; + if (syncTime == null) { + map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.BASIC_PRODUCTS); + } else { + map = syncTimeMap; + } + List ioCodeLostList = ioCodeLostMapper.selectList(Wrappers.lambdaQuery(IoCodeLostEntity.class) + .le((boolean) map.get("isNew"), IoCodeLostEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), IoCodeLostEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(ioCodeLostList)) { + dataResponse = new SpsSyncOtherDataResponse(); + dataResponse.setIoCodeLostList(ioCodeLostList); + } + } + //确认有开启udi关联关系同步 + if (needExec(info.getUdiCodeRel())) { + Map map; + if (syncTime == null) { + map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.IO_CODE_REL); + } else { + map = syncTimeMap; + } + List ioCodeRelList = ioCodeRelMapper.selectList(Wrappers.lambdaQuery(IoCodeRelEntity.class) + .le((boolean) map.get("isNew"), IoCodeRelEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), IoCodeRelEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(ioCodeRelList)) { + if (dataResponse == null) { + dataResponse = new SpsSyncOtherDataResponse(); + } + dataResponse.setIoCodeRelList(ioCodeRelList); + } + } + if (dataResponse != null) { + dataResponse.setTaskId(taskId); + } + + return dataResponse; + } + + private final IBasicBussinessTypeService bussinessTypeService; + private final IBasicBusTypeChangeService busTypeChangeService; + private final IThrBusTypeOriginService thrBusTypeOriginService; + + /** + * 获取单据类型数据 + * + * @param info 同步设置 + * @param now 当前时间 + * @param syncTime 同步时间 -- 传入时不操作exportTime表 + * @return + */ + public SpsSyncBusResponse getDocumentTypeData(SyncDataSetEntity info, String taskId, Date now, Date syncTime) { + SpsSyncBusResponse dataResponse = null; + Map syncTimeMap = new WeakHashMap<>(3); + syncTimeMap.put("isNew", true); + syncTimeMap.put("oldDate", syncTime); + + //确认有开启业务单据类型同步 + if (needExec(info.getTypeBus())) { + Map map; + if (syncTime == null) { + map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.BASIC_BUSSINESS_TYPE); + } else { + map = syncTimeMap; + } + List bussinessTypeEntities = bussinessTypeService.list(Wrappers.lambdaQuery(BasicBussinessTypeEntity.class) + .le((boolean) map.get("isNew"), BasicBussinessTypeEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), BasicBussinessTypeEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(bussinessTypeEntities)) { + dataResponse = new SpsSyncBusResponse(); + dataResponse.setBussinessTypeEntities(bussinessTypeEntities); + } + } + + //确认有开启扫码单据类型同步 + if (needExec(info.getTypeScan())) { + Map map; + if (syncTime == null) { + map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.BASIC_BUSTYPE_CHANGE); + } else { + map = syncTimeMap; + } + List busTypeChangeList = busTypeChangeService.list(Wrappers.lambdaQuery(BasicBusTypeChangeEntity.class) + .le((boolean) map.get("isNew"), BasicBusTypeChangeEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), BasicBusTypeChangeEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(busTypeChangeList)) { + if(dataResponse==null){ + dataResponse = new SpsSyncBusResponse(); + } + dataResponse.setBusTypeChangeEntities(busTypeChangeList); + } + } + + //确认有开启第三方单据类型同步 + if (needExec(info.getTypeThird())) { + Map map; + if (syncTime == null) { + map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.THR_BUSTYPE_ORIGIN); + } else { + map = syncTimeMap; + } + List thrBusTypeOriginEntities = thrBusTypeOriginService.list(Wrappers.lambdaQuery(ThrBusTypeOriginEntity.class) + .le((boolean) map.get("isNew"), ThrBusTypeOriginEntity::getUpdateTime, now) + .between(!(boolean) map.get("isNew"), ThrBusTypeOriginEntity::getUpdateTime + , map.get("oldDate"), now) + ); + if (CollectionUtil.isNotEmpty(thrBusTypeOriginEntities)) { + if(dataResponse==null){ + dataResponse = new SpsSyncBusResponse(); + } + dataResponse.setThrBusTypeOriginEntities(thrBusTypeOriginEntities); + } + } + + if (dataResponse != null) { + dataResponse.setTaskId(taskId); + } + return dataResponse; + } + + /** + * 判断是否需要执行 由内向外 + * + * @param set 需要判断的数据 + * @return + */ + private boolean needExec(int... set) { + return CollectionUtil.contains(Collections.singleton(set), 1); + } + + public void uploadData(BasicExportTypeEnum exportType, String taskId, Function dataMethod) { + Integer status = BasicExportStatusEnum.SUCCESS.getCode(); + Object data = dataMethod.apply(this); + if (data == null) { + return; + } + BaseResponse baseResponse = spGetHttp.postData(exportType, data); + if (baseResponse.getCode() != 20000) { + status = BasicExportStatusEnum.FAILED.getCode(); + } + BasicExportStatusEntity exportStatus = BasicExportStatusEntity.builder() + .id(taskId) + .status(status) + .idDatas(exportType.getKey()) + .type(exportType.getRemark()) + .startTime(new Date()) + .endTime(new Date()) + .updateTime(new Date()) + .receiveStatus(status) + .scheduleType(BasicProcessStatus.SCHEDULE_NORMAL) + .build(); + this.insertExportStatus(exportStatus); + } + + @Transactional(propagation = Propagation.REQUIRES_NEW) + public void insertExportStatus(BasicExportStatusEntity exportStatus) { + basicExportService.insertExportStatus(exportStatus); + } + + + /** + * 插入 basicExportStatusTime表 + * + * @param date 当前时间 + * @param exportStatusTimeEnum key枚举 + * @return 最后一次同步时间 返回值需与参数 date 比较,判断是否相等 + * @throws Exception + */ + public Map basicExportStatusTimeInfo(Date date, BasicExportStatusTimeEnum exportStatusTimeEnum) { + //防止出现同时调用问题 + String redisKey = String.format("spsm-sync-task:%s", exportStatusTimeEnum.getKey()); + boolean result = redisUtil.setIfAbsent(redisKey, 1, 10); + if (!result) { + String errorMsg = String.format("syncIdcSps----process------------同步[%s]重复进入", exportStatusTimeEnum.getRemark()); +// logger.info(errorMsg); + throw new RuntimeException(errorMsg); + } + boolean isNew = true; + BasicExportStatusTimeEntity timeInfo = basicExportTimeService.getOne(Wrappers.lambdaQuery(BasicExportStatusTimeEntity.class) + .eq(BasicExportStatusTimeEntity::getKey, exportStatusTimeEnum.getKey())); + if (timeInfo == null) { + timeInfo = BasicExportStatusTimeEntity.builder() + .key(exportStatusTimeEnum.getKey()) + .lastUpdateTime(DateUtil.formatDateTime(date)) + .remark(exportStatusTimeEnum.getRemark()) + .build(); + basicExportTimeService.save(timeInfo); + } else { + if (StrUtil.isNotEmpty(timeInfo.getLastUpdateTime())) { + isNew = false; + } + basicExportTimeService.update(Wrappers.lambdaUpdate(BasicExportStatusTimeEntity.class) + .set(BasicExportStatusTimeEntity::getLastUpdateTime, DateUtil.formatDateTime(date)) + .eq(BasicExportStatusTimeEntity::getKey, exportStatusTimeEnum.getKey()) + ); + } + redisUtil.del(redisKey); + WeakHashMap returnMap = new WeakHashMap<>(10); + returnMap.put("isNew", isNew); + returnMap.put("oldDate", isNew ? null : timeInfo.getLastUpdateTime()); + returnMap.put("id", timeInfo.getId()); + + return returnMap; + } + //上传最近更新单据类型 public BaseResponse uploadAllBus(String syncTime) { SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest(); diff --git a/src/main/java/com/glxp/api/service/sync/SyncDataBustypeService.java b/src/main/java/com/glxp/api/service/sync/SyncDataBustypeService.java index fd3e15c2a..4eb141808 100644 --- a/src/main/java/com/glxp/api/service/sync/SyncDataBustypeService.java +++ b/src/main/java/com/glxp/api/service/sync/SyncDataBustypeService.java @@ -1,10 +1,11 @@ package com.glxp.api.service.sync; +import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.system.SyncDataBustypeEntity; import java.util.List; -public interface SyncDataBustypeService { +public interface SyncDataBustypeService extends IService { List findAll(Integer direct); diff --git a/src/main/java/com/glxp/api/service/sync/UpBasicService.java b/src/main/java/com/glxp/api/service/sync/UpBasicService.java index 9cfecdfa4..4e1003ecd 100644 --- a/src/main/java/com/glxp/api/service/sync/UpBasicService.java +++ b/src/main/java/com/glxp/api/service/sync/UpBasicService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.sync; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.entity.auth.*; import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; diff --git a/src/main/java/com/glxp/api/service/sync/impl/BasicExportTimeServiceImpl.java b/src/main/java/com/glxp/api/service/sync/impl/BasicExportTimeServiceImpl.java index 739993cbb..2e1030de6 100644 --- a/src/main/java/com/glxp/api/service/sync/impl/BasicExportTimeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/sync/impl/BasicExportTimeServiceImpl.java @@ -1,6 +1,7 @@ package com.glxp.api.service.sync.impl; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.sync.BasicExportTimeDao; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.req.sync.BasicExportTimeRequest; @@ -14,7 +15,7 @@ import java.util.List; @Service @Transactional(rollbackFor = Exception.class) -public class BasicExportTimeServiceImpl implements BasicExportTimeService { +public class BasicExportTimeServiceImpl extends ServiceImpl implements BasicExportTimeService { @Resource BasicExportTimeDao basicExportTimeDao; diff --git a/src/main/java/com/glxp/api/service/sync/impl/SyncDataBustypeServiceImpl.java b/src/main/java/com/glxp/api/service/sync/impl/SyncDataBustypeServiceImpl.java index dab28c92a..9843187b8 100644 --- a/src/main/java/com/glxp/api/service/sync/impl/SyncDataBustypeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/sync/impl/SyncDataBustypeServiceImpl.java @@ -1,6 +1,7 @@ package com.glxp.api.service.sync.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.sync.SyncDataBustypeDao; import com.glxp.api.entity.system.SyncDataBustypeEntity; import com.glxp.api.service.sync.SyncDataBustypeService; @@ -12,7 +13,7 @@ import java.util.List; @Service @Transactional(rollbackFor = Exception.class) -public class SyncDataBustypeServiceImpl implements SyncDataBustypeService { +public class SyncDataBustypeServiceImpl extends ServiceImpl implements SyncDataBustypeService { @Resource SyncDataBustypeDao syncDataBustypeDao; diff --git a/src/main/java/com/glxp/api/service/thrsys/IThrBusTypeOriginService.java b/src/main/java/com/glxp/api/service/thrsys/IThrBusTypeOriginService.java index ff222a5e1..17f3f521a 100644 --- a/src/main/java/com/glxp/api/service/thrsys/IThrBusTypeOriginService.java +++ b/src/main/java/com/glxp/api/service/thrsys/IThrBusTypeOriginService.java @@ -1,5 +1,6 @@ package com.glxp.api.service.thrsys; +import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity; import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; @@ -12,7 +13,7 @@ import java.util.List; /** * 第三方单据类型Service */ -public interface IThrBusTypeOriginService { +public interface IThrBusTypeOriginService extends IService { /** * 查询启用的第三方单据类型列表 diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrBusTypeOriginServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrBusTypeOriginServiceImpl.java index 00772815e..907c4df4c 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrBusTypeOriginServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrBusTypeOriginServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -32,7 +33,7 @@ import java.util.List; @Slf4j @Service @Transactional(rollbackFor = Exception.class) -public class ThrBusTypeOriginServiceImpl implements IThrBusTypeOriginService { +public class ThrBusTypeOriginServiceImpl extends ServiceImpl implements IThrBusTypeOriginService { @Resource private CustomerService customerService; diff --git a/src/main/java/com/glxp/api/task/SyncHeartTask.java b/src/main/java/com/glxp/api/task/SyncHeartTask.java index ee55b14fc..5c57283d2 100644 --- a/src/main/java/com/glxp/api/task/SyncHeartTask.java +++ b/src/main/java/com/glxp/api/task/SyncHeartTask.java @@ -75,6 +75,9 @@ public class SyncHeartTask implements SchedulingConfigurer { heartService.uploadThrData(null); heartService.uploadThrProducts(null); heartService.uploadSysSetting(null); + Arrays.stream(BasicExportTypeEnum.values()).forEach(i -> { + heartService.chooseData(syncDataSetEntity, null, i); + }); redisUtil.set("SPS_SYNC_UPLOAD_DATA", curTime1); } } catch (Exception e) { diff --git a/src/main/java/com/glxp/api/util/RedisUtil.java b/src/main/java/com/glxp/api/util/RedisUtil.java index bb399da61..4411ddcff 100644 --- a/src/main/java/com/glxp/api/util/RedisUtil.java +++ b/src/main/java/com/glxp/api/util/RedisUtil.java @@ -601,4 +601,22 @@ public class RedisUtil { } } + + + + /** + * 不存在key则缓存放入并设置时间 + * + * @param key 键 + * @param value 值 + * @param time 过期时间 (秒) + * @return boolean true为set成功,false为key已存在set失败 + */ + public boolean setIfAbsent(String key, Object value, long time) { + if (StrUtil.isEmpty(key)) { + return false; + } + return Boolean.TRUE.equals(redisTemplate.opsForValue().setIfAbsent(key, value, time, TimeUnit.SECONDS)); + } + }