diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java new file mode 100644 index 0000000..9e8fdac --- /dev/null +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -0,0 +1,218 @@ +package com.glxp.api.controller.basic; + +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.controller.BaseController; +import com.glxp.api.entity.basic.*; +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.FilterUdiRelRequest; +import com.glxp.api.req.basic.LockUdiRequest; +import com.glxp.api.req.basic.ProductInfoFilterRequest; +import com.glxp.api.req.basic.UdiRelevanceSaveRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.BasicProductThirdSysResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.basic.ProductInfoService; +import com.glxp.api.service.basic.UdiRelevanceService; + +import com.glxp.api.service.system.SystemParamConfigService; + +import com.glxp.api.service.thrsys.ThrDataService; +import com.glxp.api.service.thrsys.ThrSystemService; +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; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +@RestController +public class UdiRelevanceController extends BaseController { + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + private SystemParamConfigService systemParamConfigService; + @Resource + private ThrSystemService thrSystemService; + @Resource + ThrDataService thrDataService; + @Resource + ProductInfoService productInfoService; + + //基础信息-耗材字典-查询页面、业务单据-选入耗材字典-查询页面 + @AuthRuleAnnotation("") + @GetMapping("/directToCpt/udi/udirel/filterUdi") + public BaseResponse filterUdiGp(FilterUdiRelRequest filterUdiRelRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode()) && StrUtil.isEmpty(filterUdiRelRequest.getUnionCode())) { + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()); + filterUdiRelRequest.setNameCode(udiEntity.getUdi()); + } + List temps = udiRelevanceService.filterUdiGp(filterUdiRelRequest); + if (temps != null && temps.size() > 0) { + filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid()); + filterUdiRelRequest.setNameCode(null); + } + } else { + filterUdiRelRequest.setDiType(1); + } + List udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiRelRequest); + PageInfo pageInfo = new PageInfo<>(udiRelevanceResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiRelevanceResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + //获取对照过滤列表 + @AuthRuleAnnotation("") + @GetMapping("/directToCpt/udiwms/udirel/thirdSys/detail") + public BaseResponse getThirdSysDetail(FilterUdiRelRequest filterUdiRelRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + UdiRelevanceEntity udiRelevanceEntity = null; + if (filterUdiRelRequest.getUuid() != null) { + udiRelevanceEntity = udiRelevanceService.selectUpdateByUuid(filterUdiRelRequest.getUuid()); + } else { + udiRelevanceEntity = udiRelevanceService.selectById(filterUdiRelRequest.getId()); + } + + FilterBasicThirdSysRequest filterBasicThirdSysRequest = new FilterBasicThirdSysRequest(); + filterBasicThirdSysRequest.setEnabled(true); + List basicThirdSysEntities = thrSystemService.filterBasicThiSys(filterBasicThirdSysRequest); + List basicProductThirdSysResponses = new ArrayList<>(); + + if (basicThirdSysEntities != null && basicThirdSysEntities.size() > 0) { + for (ThrSystemEntity thrSystemEntity : basicThirdSysEntities) { + if (thrSystemEntity.getThirdId().equals("thirdId")) { + BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse(); + if (StrUtil.isNotEmpty(udiRelevanceEntity.getThirdId())) + basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId()); + basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName()); + basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId()); + if (udiRelevanceEntity.getThirdId() != null && !udiRelevanceEntity.getThirdId().isEmpty()) { + if (udiRelevanceEntity.getThirdId() != null) { + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(udiRelevanceEntity.getThirdId(), "thirdId"); + if (thrProductsEntity != null) { + basicProductThirdSysResponse.setManufactory(thrProductsEntity.getManufactory()); + basicProductThirdSysResponse.setRegisterNo(thrProductsEntity.getRegisterNo()); + basicProductThirdSysResponse.setSpec(thrProductsEntity.getSpec()); + basicProductThirdSysResponse.setThirdName(thrProductsEntity.getName()); + } + } + + } + basicProductThirdSysResponses.add(basicProductThirdSysResponse); + } + if (thrSystemEntity.getThirdId().equals("thirdId1")) { + BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse(); + if (StrUtil.isNotEmpty(udiRelevanceEntity.getThirdId1())) + basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId1()); + basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName()); + basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId()); + if (udiRelevanceEntity.getThirdId1() != null && !udiRelevanceEntity.getThirdId1().isEmpty()) { + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(udiRelevanceEntity.getThirdId1(), "thirdId1"); + if (thrProductsEntity != null) { + basicProductThirdSysResponse.setManufactory(thrProductsEntity.getManufactory()); + basicProductThirdSysResponse.setRegisterNo(thrProductsEntity.getRegisterNo()); + basicProductThirdSysResponse.setSpec(thrProductsEntity.getSpec()); + basicProductThirdSysResponse.setThirdName(thrProductsEntity.getName()); + } + } + basicProductThirdSysResponses.add(basicProductThirdSysResponse); + } + if (thrSystemEntity.getThirdId().equals("thirdId2")) { + BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse(); + if (StrUtil.isNotEmpty(udiRelevanceEntity.getThirdId2())) + basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId2()); + basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName()); + basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId()); + if (udiRelevanceEntity.getThirdId2() != null && !udiRelevanceEntity.getThirdId2().isEmpty()) { + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(udiRelevanceEntity.getThirdId2(), "thirdId2"); + if (thrProductsEntity != null) { + basicProductThirdSysResponse.setManufactory(thrProductsEntity.getManufactory()); + basicProductThirdSysResponse.setRegisterNo(thrProductsEntity.getRegisterNo()); + basicProductThirdSysResponse.setSpec(thrProductsEntity.getSpec()); + basicProductThirdSysResponse.setThirdName(thrProductsEntity.getName()); + } + } + basicProductThirdSysResponses.add(basicProductThirdSysResponse); + } + if (thrSystemEntity.getThirdId().equals("thirdId3")) { + BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse(); + if (StrUtil.isNotEmpty(udiRelevanceEntity.getThirdId3())) + basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId3()); + basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName()); + basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId()); + if (udiRelevanceEntity.getThirdId3() != null && !udiRelevanceEntity.getThirdId3().isEmpty()) { + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(udiRelevanceEntity.getThirdId3(), "thirdId3"); + if (thrProductsEntity != null) { + basicProductThirdSysResponse.setManufactory(thrProductsEntity.getManufactory()); + basicProductThirdSysResponse.setRegisterNo(thrProductsEntity.getRegisterNo()); + basicProductThirdSysResponse.setSpec(thrProductsEntity.getSpec()); + basicProductThirdSysResponse.setThirdName(thrProductsEntity.getName()); + } + } + + basicProductThirdSysResponses.add(basicProductThirdSysResponse); + } + if (thrSystemEntity.getThirdId().equals("thirdId4")) { + BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse(); + if (StrUtil.isNotEmpty(udiRelevanceEntity.getThirdId4())) + basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId4()); + basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName()); + basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId()); + if (udiRelevanceEntity.getThirdId4() != null && !udiRelevanceEntity.getThirdId4().isEmpty()) { + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(udiRelevanceEntity.getThirdId4(), "thirdId4"); + if (thrProductsEntity != null) { + basicProductThirdSysResponse.setManufactory(thrProductsEntity.getManufactory()); + basicProductThirdSysResponse.setRegisterNo(thrProductsEntity.getRegisterNo()); + basicProductThirdSysResponse.setSpec(thrProductsEntity.getSpec()); + basicProductThirdSysResponse.setThirdName(thrProductsEntity.getName()); + + } + } + + basicProductThirdSysResponses.add(basicProductThirdSysResponse); + } + } + } + PageInfo pageInfo; + pageInfo = new PageInfo<>(basicProductThirdSysResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(basicProductThirdSysResponses); + 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 e8bb465..6eedcef 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupCertController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupCertController.java @@ -79,7 +79,7 @@ public class SupCertController { private SystemPDFModuleService systemPDFModuleService; @AuthRuleAnnotation("") - @GetMapping("/sup/company/cert/filter") + @GetMapping("/directToCpt/sup/company/cert/filter") public BaseResponse filterCompanyCert(FilterSupCertRequest filterSupCertRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { @@ -153,7 +153,7 @@ public class SupCertController { @AuthRuleAnnotation("") - @PostMapping("/sup/info/selectAllCert") + @PostMapping("/directToCpt/sup/info/selectAllCert") @Log(title = "资质证书", businessType = BusinessType.INSERT) public BaseResponse selectAllCert(@RequestBody PostSelCertRequest postSelCertRequest) { String customerId = null; @@ -245,7 +245,7 @@ public class SupCertController { } @AuthRuleAnnotation("") - @PostMapping("/sup/info/insertCompanyCert") + @PostMapping("/directToCpt/sup/info/insertCompanyCert") @Log(title = "资质证书", businessType = BusinessType.INSERT) public BaseResponse insertCompanyCert(@RequestBody SupCertEntity supCertEntity) { supCertEntity.setCreateTime(new Date()); @@ -312,7 +312,7 @@ public class SupCertController { SupProductService supProductService; @AuthRuleAnnotation("") - @PostMapping("/sup/info/updateCompanyCert") + @PostMapping("/directToCpt/sup/info/updateCompanyCert") @Log(title = "资质证书", businessType = BusinessType.UPDATE) public BaseResponse updateCompanyCert(@RequestBody PostSupCertRequest postSupCertRequest) { SupCertEntity supCertEntity = new SupCertEntity(); @@ -354,7 +354,7 @@ public class SupCertController { } @AuthRuleAnnotation("") - @PostMapping("/sup/info/deleteCompanyCert") + @PostMapping("/directToCpt/sup/info/deleteCompanyCert") public BaseResponse deleteCompanyCert(@RequestBody DeleteCompanyFileRequest deleteCompanyFileRequest, BindingResult bindingResult) { boolean b = supCertService.deleteById(deleteCompanyFileRequest.getId()); String URL = filePath + "/register/file/image2/" + deleteCompanyFileRequest.getFilePath(); @@ -641,7 +641,7 @@ public class SupCertController { } //首营预览文件 - @PostMapping("/udiwms/image/register/file") + @PostMapping("/directToCpt/udiwms/image/register/file") public BaseResponse uploadRegisterFile(@RequestBody FilterImageRequest filterImageRequest) { List urlList = Arrays.asList(filterImageRequest.getImageUrl().split(",")); List list = new ArrayList<>(); 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 23a3a0e..5709a35 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupCertSetController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupCertSetController.java @@ -32,7 +32,7 @@ public class SupCertSetController { private SupCertSetService supCertSetService; @AuthRuleAnnotation("") - @GetMapping("/sup/cert/set/filter") + @GetMapping("/directToCpt/sup/cert/set/filter") public BaseResponse filterCertSet(FilterCertSetsRequest filterCertSetsRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { 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 4600139..798b37f 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupCompanyController.java @@ -69,7 +69,7 @@ public class SupCompanyController { @Resource BasicCorpService basicCorpService; @AuthRuleAnnotation("") - @GetMapping("/api/pur/getSupComapnys") + @GetMapping("/directToCpt/api/pur/getSupComapnys") public BaseResponse getSupComapnys(FilterSupCompanyRequest companyRequest) { List companyEntities = companyService.filterCompany(companyRequest); PageInfo pageInfo = new PageInfo<>(companyEntities); 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 2a7b6db..44c947e 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupManufacturerController.java @@ -65,7 +65,7 @@ public class SupManufacturerController { } @AuthRuleAnnotation("") - @GetMapping("/sup/manufacturer/getCompanyList") + @GetMapping("/directToCpt/sup/manufacturer/getCompanyList") public BaseResponse getCompanyList(FilterSupManufacturerRequest filterSupManufacturerRequest) { List companyEntities = supManufacturerService.getCompany(filterSupManufacturerRequest); PageInfo pageInfo = new PageInfo<>(companyEntities); @@ -384,7 +384,7 @@ public class SupManufacturerController { @AuthRuleAnnotation("") - @GetMapping("/sup/manufacturer/basic/delete") + @GetMapping("/directToCpt/sup/manufacturer/basic/delete") @Log(title = "资质证书", businessType = BusinessType.DELETE) public BaseResponse deleteContact(DeleteRequest deleteRequest) { boolean b = supManufacturerService.deleteById(deleteRequest.getId()); 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 5fd471f..bb98d08 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupProductController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupProductController.java @@ -72,7 +72,7 @@ public class SupProductController { } @AuthRuleAnnotation("") - @GetMapping("/sup/product/getRegistrationList") + @GetMapping("/directToCpt/sup/product/getRegistrationList") public BaseResponse getRegistrationList(FilterPoductRequest filterPoductRequest) { List companyEntities = supProductService.getRegistration(filterPoductRequest); PageInfo pageInfo = new PageInfo<>(companyEntities); @@ -430,7 +430,7 @@ public class SupProductController { @AuthRuleAnnotation("") - @GetMapping("/sup/product/delete") + @GetMapping("/directToCpt/sup/product/delete") @Log(title = "资质证书", businessType = BusinessType.DELETE) public BaseResponse delete(DeleteCompanyFileRequest deleteCompanyFileRequest) { boolean b = supProductService.deleteById(deleteCompanyFileRequest.getId()); 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 f89abcb..5762701 100644 --- a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java +++ b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java @@ -14,9 +14,109 @@ public interface UdiRelevanceDao extends BaseMapperPlus filterUdiRelevance(FilterUdiRelRequest filterUdiRelRequest); - List batchSelectByIds(@Param("ids") List ids); + + List filterUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest); + + List filterCertUdi(FilterUdiRelRequest filterUdiRelRequest); + + + List filterUdiGp(FilterUdiRelRequest filterUdiRelRequest); + + // UdiRelevanceResponse selectUdiByUUid + List selectByUuid(@Param("uuid") String uuid); + + + List contrastJoinSelect(FilterUdiRelRequest filterUdiRelRequest); + + + UdiRelevanceEntity selectById(@Param("id") Long id); + + UdiRelevanceEntity selectByThirdId(FilterUdiRelRequest filterUdiRelRequest); + + List filterEntity(FilterUdiRelRequest filterUdiRelRequest); + + + boolean insertUdiRelevance(UdiRelevanceEntity udiRelevanceEntity); + + boolean insertUdiRelevanceignore(UdiRelevanceEntity udiRelevanceEntity); boolean updateUdiRelevance(UdiRelevanceEntity udiRelevanceEntity); + boolean deleteById(@Param("id") String id); + + boolean deleteByIds(@Param("ids") List id); + + boolean deleteByUuid(@Param("uuid") String uuid); + + /** + * 根据UUID批量查询信息 + * + * @param uuids + * @return + */ List batchSelectByUuid(@Param("uuids") List uuids); + + + List batchSelectByIds(@Param("ids") List ids); + + /** + * 批量导入数据 + * + * @param udiRelevanceEntities + */ + void importUdiRelevance(@Param("udiRelevanceEntities") List udiRelevanceEntities); + + /** + * /** + * 查找产品UUID + * + * @param relId + * @return + */ + String selectUuidById(@Param("relId") String relId); + + + List selectGroupByNameCode(@Param("nameCode") String nameCode, @Param("isDisable") Boolean isDisable); + + /** + * 根据耗材字典ID查询产品名称 + * + * @param relId + * @return + */ + String selectProductNameByRelId(@Param("relId") Long relId); + + /** + * 查询预警参数 + * + * @param relId + * @return + */ + UdiRelevanceEntity selectRemindParams(@Param("relId") Long relId); + + Boolean updateBatchById(@Param("list") List list); + + /** + * 根据院内分类编码查询 + * + * @param relCode + * @return + */ + Long selectProductByRelCode(@Param("relCode") String relCode); + + /** + * 根据DI查找此产品的id + * + * @param nameCode + * @return + */ + String selectRelIdByNameCode(@Param("nameCode") String nameCode); + + /** + * 查询一条产品信息数据 + * + * @param filterUdiRelRequest + * @return + */ + UdiRelevanceResponse selectOneUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest); } 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 0000000..478f52c --- /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/dao/thrsys/ThrProductsDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrProductsDao.java index b12c1e6..de7235d 100644 --- a/src/main/java/com/glxp/api/dao/thrsys/ThrProductsDao.java +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrProductsDao.java @@ -1,9 +1,9 @@ package com.glxp.api.dao.thrsys; import com.glxp.api.dao.BaseMapperPlus; -import com.glxp.api.entity.thrsys.FilterThrProductsRequest; import com.glxp.api.entity.thrsys.ThrProductsEntity; - +import com.glxp.api.req.thrsys.FilterThrProductsRequest; +import com.glxp.api.res.thrsys.ThrProductsResponse; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -21,6 +21,18 @@ public interface ThrProductsDao extends BaseMapperPlus filterThrProducts(FilterThrProductsRequest filterThrProductsRequest); + List filterThrProducts1(FilterThrProductsRequest filterThrProductsRequest); + + List filterJoinThrProducts(FilterThrProductsRequest filterThrProductsRequest); + + ThrProductsEntity selectById(@Param("id") String id); + + boolean deleteById(@Param("id") String id); + + boolean insertThrProducts(ThrProductsEntity thrProductsEntity); + + List selectThrProducts(FilterThrProductsRequest filterThrProductsRequest); + int insertOrUpdateEntity(ThrProductsEntity record); } diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrSystemDetailDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrSystemDetailDao.java new file mode 100644 index 0000000..25cac97 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrSystemDetailDao.java @@ -0,0 +1,20 @@ +package com.glxp.api.dao.thrsys; + +import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; +import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrSystemDetailDao { + + + boolean updateBasicThirdSysDetail(ThrSystemDetailEntity basicThirdSysEntity); + + ThrSystemDetailEntity selectByKey(@Param("key") String key, @Param("thirdSys") String thirdSys); + + List filterBasicThirdSysDetail(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest); + +} 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 0000000..889f460 --- /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/entity/thrsys/ThrSystemBusApiEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrSystemBusApiEntity.java new file mode 100644 index 0000000..17d57f9 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrSystemBusApiEntity.java @@ -0,0 +1,91 @@ +package com.glxp.api.entity.thrsys; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName(value = "thr_system_bus_api") +public class ThrSystemBusApiEntity { + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @TableField(value = "code") + private String code; + + @TableField(value = "`name`") + private String name; + + /** + * 第三方系统单据类型代码 + */ + @TableField(value = "thirdBuyCode") + private String thirdBuyCode; + + @TableField(value = "thirdSys") + private String thirdSys; + + @TableField(value = "url") + private String url; + + @TableField(value = "`type`") + private Integer type; + + @TableField(value = "remark") + private String remark; + + /** + * 扩展字段,暂未启用 + */ + @TableField(value = "filed") + private String filed; + + @TableField(value = "filed1") + private String filed1; + + @TableField(value = "filed2") + private String filed2; + + @TableField(value = "filed3") + private String filed3; + + @TableField(value = "filed4") + private String filed4; + + + @TableField(exist = false) + private Integer inoutType; + @TableField(exist = false) + private String thirdBuyName; //第三方系统单据类型名称 + + + private static final long serialVersionUID = 1L; + + public static final String COL_ID = "id"; + + public static final String COL_CODE = "code"; + + public static final String COL_NAME = "name"; + + public static final String COL_THIRDBUYCODE = "thirdBuyCode"; + + public static final String COL_THIRDSYS = "thirdSys"; + + public static final String COL_URL = "url"; + + public static final String COL_TYPE = "type"; + + public static final String COL_REMARK = "remark"; + + public static final String COL_FILED = "filed"; + + public static final String COL_FILED1 = "filed1"; + + public static final String COL_FILED2 = "filed2"; + + public static final String COL_FILED3 = "filed3"; + + public static final String COL_FILED4 = "filed4"; +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrSystemDetailEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrSystemDetailEntity.java new file mode 100644 index 0000000..e0918c8 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrSystemDetailEntity.java @@ -0,0 +1,30 @@ +package com.glxp.api.entity.thrsys; + +import lombok.Data; + +@Data +public class ThrSystemDetailEntity { + + private Integer id; + private String key; + private String value; + private Boolean enabled; + private Boolean itrCache; + private String guideUrl; + private String thridUrl; + private String remark; + private String thirdSysFk; + private String name; + private Integer fromType; + private String localAction; + private String thirdAction; + + public String getValue() { + if (value == null) + return null; + else if (thridUrl != null) + return thridUrl + value; + else + return value; + } +} diff --git a/src/main/java/com/glxp/api/http/ErpBasicClient.java b/src/main/java/com/glxp/api/http/ErpBasicClient.java new file mode 100644 index 0000000..4fc0b93 --- /dev/null +++ b/src/main/java/com/glxp/api/http/ErpBasicClient.java @@ -0,0 +1,173 @@ +package com.glxp.api.http; + +import cn.hutool.core.util.StrUtil; +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.thrsys.ThrSystemBusApiEntity; +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.http.req.UdiwmsBusTypeRequest; +import com.glxp.api.http.req.UdiwmsUnitRequest; +import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; +import com.glxp.api.req.thrsys.FilterThrProductsRequest; + +import com.glxp.api.req.thrsys.UdiwmsWarehouseRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.thrsys.ThrCorpsResponse; +import com.glxp.api.res.thrsys.ThrProductsResponse; +import com.glxp.api.res.thrsys.ThrUnitMaintainFilterRequest; +import com.glxp.api.res.thrsys.UdiwmsWarehouseDetail; +import com.glxp.api.service.thrsys.ThrSystemService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 第三方服务HttpClient + */ +@Slf4j +@Service +public class ErpBasicClient { + @Resource + HttpOkClient httpOkClient; + @Resource + private ThrSystemService basicThirdSysService; + + //获取往来单位 + public BaseResponse> getErpCrop(ThrUnitMaintainFilterRequest thrUnitMaintainFilterRequest) { + UdiwmsUnitRequest udiwmsUnitRequest = new UdiwmsUnitRequest(); + BeanUtils.copyProperties(thrUnitMaintainFilterRequest, udiwmsUnitRequest); + udiwmsUnitRequest.setUnitId(thrUnitMaintainFilterRequest.getErpId()); + ThrSystemEntity thrSystemEntity = basicThirdSysService.selectByThirdId(thrUnitMaintainFilterRequest.getThirdSys()); + + try { + String url = thrSystemEntity.getThridUrl() + "/udiwms/erp/getUnits"; + String response = httpOkClient.uCloudPost(url, udiwmsUnitRequest, thrSystemEntity); + if (StrUtil.isBlank(response)) { + return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); + } + BaseResponse> udiDlDeviceResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + return udiDlDeviceResponse; + } catch (Exception e) { + log.error("获取往来单位异常", e); + return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); + } + } + + //获取产品信息 + public BaseResponse> getErpProducts(FilterThrProductsRequest filterThrProductsRequest) { + + ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(filterThrProductsRequest.getThirdSys()); + String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getProducts"; + + try { + String response = httpOkClient.uCloudPost(url, filterThrProductsRequest, basicThirdSysEntity); + if (StrUtil.isBlank(response)) { + return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); + } + BaseResponse> udiDlDeviceResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + return udiDlDeviceResponse; + } catch (Exception e) { + log.error("获取产品信息异常", e); + return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); + } + } + + // //获取单据类型 +// public BaseResponse> getBusTypes(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest) { +// BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(filterBasicThirdSysDetailRequest.getThirdSysFk()); +// String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getOrderType"; +// UdiwmsBusTypeRequest udiwmsBusTypeRequest = new UdiwmsBusTypeRequest(); +// udiwmsBusTypeRequest.setThirdSys(filterBasicThirdSysDetailRequest.getThirdSysFk()); +// udiwmsBusTypeRequest.setPage(filterBasicThirdSysDetailRequest.getPage()); +// udiwmsBusTypeRequest.setLimit(filterBasicThirdSysDetailRequest.getLimit()); +// try { +// String response = httpOkClient.uCloudPost(url, udiwmsBusTypeRequest, basicThirdSysEntity); +// log.info(response); +// BaseResponse> udiDlDeviceResponse = +// JSONObject.parseObject(response, new TypeReference>>() { +// }); +// return udiDlDeviceResponse; +// } catch (Exception e) { +// log.error("获取单据类型异常", e); +// return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); +// } +// } +// +//查询仓库货位号 + public BaseResponse> getWarehouse(UdiwmsWarehouseRequest udiwmsWarehouseRequest) { + ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(udiwmsWarehouseRequest.getThirdSys()); + String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getWarehouse"; + try { + String response = httpOkClient.uCloudPost(url, udiwmsWarehouseRequest); + BaseResponse> listBaseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + + return listBaseResponse; + } catch (Exception e) { + log.error("获取第三方系统的仓库货位码异常", e); + return ResultVOUtils.error(500, "连接第三方系统接口服务出错"); + } + } + + //测试连通性 + public BaseResponse testConnection(ThrSystemEntity thrSystemEntity) { + String response = httpOkClient.uCloudPost(thrSystemEntity.getThridUrl() + "/udispsync/sync/testConnection", "{}"); + log.info(response); + if (StrUtil.isBlank(response)) { + return ResultVOUtils.error(500, "连接失败"); + } + try { + return JSONObject.parseObject(response, BaseResponse.class); + } catch (Exception e) { + log.info("测试第三方服务连通性失败"); + return ResultVOUtils.error(500, "连接失败"); + } + } + + //测试连通性 + public BaseResponse testThridConnect(ThrSystemEntity thrSystemEntity) { + String response = httpOkClient.uCloudPost(thrSystemEntity.getThridUrl() + "/udiwms/erp/testThirdSys", "{}"); + log.info(response); + try { + return JSONObject.parseObject(response, BaseResponse.class); + } catch (Exception e) { + log.info("测试第三方服务接口连通性失败"); + return ResultVOUtils.error(500, "连接失败"); + } + } + + //下载第三方系统单据类型 + public BaseResponse> getBusTypes(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest) { + ThrSystemEntity thrSystemEntity = basicThirdSysService.selectByThirdId(filterBasicThirdSysDetailRequest.getThirdSysFk()); + String url = thrSystemEntity.getThridUrl() + "/udiwms/erp/getOrderType"; + UdiwmsBusTypeRequest udiwmsBusTypeRequest = new UdiwmsBusTypeRequest(); + udiwmsBusTypeRequest.setThirdSys(filterBasicThirdSysDetailRequest.getThirdSysFk()); + udiwmsBusTypeRequest.setPage(filterBasicThirdSysDetailRequest.getPage()); + udiwmsBusTypeRequest.setLimit(filterBasicThirdSysDetailRequest.getLimit()); + try { + String response = httpOkClient.uCloudPost(url, udiwmsBusTypeRequest, thrSystemEntity); + log.info(response); + BaseResponse> udiDlDeviceResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + if(udiDlDeviceResponse!=null){ + return udiDlDeviceResponse; + }else{ + return ResultVOUtils.error(500, "查询第三方数据失败!"); + } + + } catch (Exception e) { + log.error("获取单据类型异常", e); + return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); + } + } +} diff --git a/src/main/java/com/glxp/api/http/req/UdiwmsBusTypeRequest.java b/src/main/java/com/glxp/api/http/req/UdiwmsBusTypeRequest.java new file mode 100644 index 0000000..4b2b6ef --- /dev/null +++ b/src/main/java/com/glxp/api/http/req/UdiwmsBusTypeRequest.java @@ -0,0 +1,41 @@ +package com.glxp.api.http.req; + +import lombok.Data; + +/** + * 下载第三方单据单据类型请求参数 + */ +@Data +public class UdiwmsBusTypeRequest { + + /** + * 数据ID + */ + private String id; + + /** + * 编码 + */ + private String code; + + /** + * 名称 + */ + private String name; + + /** + * 页码 + */ + private Integer page; + + /** + * 数据条数 + */ + private Integer limit; + + /** + * 第三方系统标识 + */ + private String thirdSys; + +} diff --git a/src/main/java/com/glxp/api/http/req/UdiwmsUnitRequest.java b/src/main/java/com/glxp/api/http/req/UdiwmsUnitRequest.java new file mode 100644 index 0000000..536ba1c --- /dev/null +++ b/src/main/java/com/glxp/api/http/req/UdiwmsUnitRequest.java @@ -0,0 +1,12 @@ +package com.glxp.api.http.req; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class UdiwmsUnitRequest extends ListPageRequest { + String key; + private String unitId; + private String name; +} 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 0000000..6e7fe52 --- /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/req/thrsys/FilterBasicThirdSysDetailRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterBasicThirdSysDetailRequest.java new file mode 100644 index 0000000..48949f4 --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/FilterBasicThirdSysDetailRequest.java @@ -0,0 +1,16 @@ +package com.glxp.api.req.thrsys; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class FilterBasicThirdSysDetailRequest extends ListPageRequest { + + private String key; + private String thirdSysFk; + private String code; + private String name; + private Integer type; + private Boolean enabled; + +} diff --git a/src/main/java/com/glxp/api/req/thrsys/UdiwmsWarehouseRequest.java b/src/main/java/com/glxp/api/req/thrsys/UdiwmsWarehouseRequest.java new file mode 100644 index 0000000..1e9fdbb --- /dev/null +++ b/src/main/java/com/glxp/api/req/thrsys/UdiwmsWarehouseRequest.java @@ -0,0 +1,21 @@ +package com.glxp.api.req.thrsys; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +/** + * 仓库货位信息查询参数 + */ +@Data +public class UdiwmsWarehouseRequest extends ListPageRequest { + + //仓库号,支持模糊查询 + private String inventoryCode; + + //货位号,支持模糊查询 + private String warehouseCode; + + //第三方系统ID + private String thirdSys; + +} diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrCorpsResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrCorpsResponse.java new file mode 100644 index 0000000..c8d9eec --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/ThrCorpsResponse.java @@ -0,0 +1,27 @@ +package com.glxp.api.res.thrsys; + +import lombok.Data; + +import java.util.Date; + +@Data +public class ThrCorpsResponse { + + private String id; + private String name; + private String spell; + private String addr; + private String creditNo; + private String contact; + private String mobile; + private Boolean checked; + private String unitId; //必填 往来单位ID + private String thirdSysFk; + private String createUser; + private Date createTime; + private String updateUser; + private Date updateTime; + private String remark; + + +} 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 0000000..f4ed86b --- /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/ThrProductsResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrProductsResponse.java new file mode 100644 index 0000000..584a0a3 --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/ThrProductsResponse.java @@ -0,0 +1,51 @@ +package com.glxp.api.res.thrsys; + +import lombok.Data; + +import java.util.Date; + +@Data +public class ThrProductsResponse { + + private Long id; + private String code; //产品编码 + private String name; + private String measname; //计量单位 + private String spec; //规格型号 + private String registerNo; //注册证号 + private String thirdSysFk; + private String manufactory; //生产厂家 + private String cplb; + private String flbm; + private String qxlb; + private String ybbm; + private String sptm; + private String tyshxydm; + private String zczbhhzbapzbh; + private String ylqxzcrbarmc; + private String ylqxzcrbarywmc; + private String cpms; + private String supName; //配送企业 + private String thirdSysName; + + + //辅助字段 + private boolean isChecked; + private String thirdSys; + + //添加字段 + private String model; //型号 + private String standard; //规格型号,二合一字段 + private String qtbm; //其他编码 + private String zczyxqz; //注册有效期截止时间 + private String price; + private String remark1; //备注1 + private String remark2; //备注2 + private String remark3; //备注3 + private String createUser; + private Date createTime; + private String updateUser; + private Date updateTime; + private String remark; + +} diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrUnitMaintainFilterRequest.java b/src/main/java/com/glxp/api/res/thrsys/ThrUnitMaintainFilterRequest.java new file mode 100644 index 0000000..692ac7e --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/ThrUnitMaintainFilterRequest.java @@ -0,0 +1,30 @@ +package com.glxp.api.res.thrsys; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class ThrUnitMaintainFilterRequest extends ListPageRequest { + + private Integer id; + private String key; + private String unitId; + private String name; + private String thirdSys; + private String thirdSysFk; + + private String thirdId; + private String thirdId1; + private String thirdId2; + private String thirdId3; + private String thirdId4; + private String erpId; + private Integer corpType; + private Integer outType; + private Boolean isDownThrSys; + private String lastUpdateTime; + List thrCorpEntities; +} 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 0000000..cf66673 --- /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/res/thrsys/UdiwmsWarehouseDetail.java b/src/main/java/com/glxp/api/res/thrsys/UdiwmsWarehouseDetail.java new file mode 100644 index 0000000..c7ea51d --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/UdiwmsWarehouseDetail.java @@ -0,0 +1,35 @@ +package com.glxp.api.res.thrsys; + +import lombok.Data; + +import java.util.List; + +@Data +public class UdiwmsWarehouseDetail { + + //货位号 + private String code; + + //货位名称 + private String name; + + //备注 + private String remark; + + private List subWarehouses; + + @Data + public static class SubWarehouse { + //货位号 + private String code; + + //货位名称 + private String name; + + //备注 + private String remark; + + } + + +} 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 9d8a821..d8dadb7 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiRelevanceService.java @@ -9,11 +9,92 @@ import java.util.List; public interface UdiRelevanceService extends IService { - UdiRelevanceResponse selectUdiId(Long id); + List filterUdiRelevance(FilterUdiRelRequest filterUdiRelRequest); + + List filterCertUdi(FilterUdiRelRequest filterUdiRelRequest); + + List filterUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest); + + List filterUdiEntity(FilterUdiRelRequest filterUdiRelRequest); + + UdiRelevanceResponse selectByNameCode(String nameCode); + + /** + * 根据耗材字典ID查询耗材相关数据 + * + * @param relId + * @return + */ + UdiRelevanceResponse selectByRelId(String relId); + + //根据DI查询产品信息 + List selectAllByNameCode(String nameCode); + + + List selectAllByNameCode(String nameCode, String unitFk); + + boolean isExit(); + + List filterUdiGp(FilterUdiRelRequest filterUdiRelRequest); + + boolean isExitByUuid(String uuid); + + List batchSelectByUuid(List uuids); + + List batchSelectByIds(List ids); + + List selectByUuid(String uuid); UdiRelevanceEntity selectById(Long id); + UdiRelevanceResponse selectGroupById(Long id); + + UdiRelevanceResponse selectUdiId(Long id); + + UdiRelevanceResponse selectSupGroupById(Long id, String supId); + + UdiRelevanceEntity selectUpdateByUuid(String uuid); + + UdiRelevanceEntity selectUpdateByThirdId(String thirdId); + + UdiRelevanceEntity selectByMainIdLimitOne(String mainId); + + List selectByMainId(String mainId); + + UdiRelevanceEntity selectUpteaByAll(String uuid, String thirdId); + + UdiRelevanceEntity selectByThirdId(String thirdId, String thirdSys); + + List selectListByThirdId(String thirdId, String thirdSys); + + boolean insertUdiRelevance(UdiRelevanceEntity udiRelevanceEntity); + + boolean insertUdiRelevanceignore(UdiRelevanceEntity udiRelevanceEntity); + boolean updateUdiRelevance(UdiRelevanceEntity udiRelevanceEntity); - List filterUdiRelevance(FilterUdiRelRequest filterUdiRelRequest); + boolean deleteById(String id); + + boolean deleteByIds(List id); + + boolean deleteByUuid(String uuid); + + /** + * 查询产品的uuid + * + * @param relId + * @return + */ + String findUuidById(String relId); + + + List selectGroupByNameCode(String nameCode, Boolean isDisable); + + /** + * 根据UDI码查询耗材字典ID + * + * @param code + * @return + */ + String getRelIdByUdiCode(String code); } 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 354247d..561ca69 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 @@ -1,8 +1,12 @@ package com.glxp.api.service.basic.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.constant.ConstantStatus; import com.glxp.api.dao.basic.UdiRelevanceDao; +import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.entity.thrsys.ThrSystemEntity; @@ -10,6 +14,7 @@ import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.thrsys.ThrSystemService; +import com.glxp.api.util.udi.FilterUdiUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -26,6 +31,174 @@ public class UdiRelevanceServiceImpl extends ServiceImpl filterUdiRelevance(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.filterUdiRelevance(filterUdiRelRequest); + return data; + } + + @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; + + } + + @Override + public List filterUdiJoinSup(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.filterUdiJoinSup(filterUdiRelRequest); + return data; + } + + + @Override + public List filterUdiEntity(FilterUdiRelRequest filterUdiRelRequest) { + + List data = udiRelevanceDao.filterEntity(filterUdiRelRequest); + return data; + } + + @Override + public List selectAllByNameCode(String nameCode) { + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setUniqueNameCode(nameCode); + List udiRelevanceResponses = filterUdiRelevance(filterUdiRelRequest); + return udiRelevanceResponses; + } + + @Override + public UdiRelevanceResponse selectByNameCode(String nameCode) { + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setUniqueNameCode(nameCode); + List udiRelevanceResponses = filterUdiRelevance(filterUdiRelRequest); + if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) + return udiRelevanceResponses.get(0); + return null; + } + + @Override + public UdiRelevanceResponse selectByRelId(String relId) { + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setRelId(relId); + List udiRelevanceResponses = filterUdiRelevance(filterUdiRelRequest); + if (CollUtil.isNotEmpty(udiRelevanceResponses)) { + return udiRelevanceResponses.get(0); + } + return null; + } + + @Override + public List selectAllByNameCode(String nameCode, String unitFk) { + List udiRelevanceResponses; + if (StrUtil.isNotEmpty(unitFk)) { + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setUniqueNameCode(nameCode); + filterUdiRelRequest.setUnitFk(unitFk); + filterUdiRelRequest.setIsDisable(false); + udiRelevanceResponses = filterUdiJoinSup(filterUdiRelRequest); + } else { + udiRelevanceResponses = selectGroupByNameCode(nameCode, false); + } + if (udiRelevanceResponses.size() == 1) { + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0); + if (udiRelevanceResponse == null || udiRelevanceResponse.getProductType() == ConstantStatus.PRODUCT_TYPE_THIRD) { + return selectByMainId(nameCode); + } + } + return udiRelevanceResponses; + + + } + + @Override + public boolean isExit() { + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setPage(1); + filterUdiRelRequest.setLimit(1); + List data = filterUdiRelevance(filterUdiRelRequest); + if (data != null && data.size() > 0) { + return true; + } + return false; + } + + @Override + public List filterUdiGp(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.filterUdiGp(filterUdiRelRequest); + return data; + } + + @Override + public boolean isExitByUuid(String uuid) { + List udiRelevanceEntities = udiRelevanceDao.selectByUuid(uuid); + if (udiRelevanceEntities != null && !udiRelevanceEntities.isEmpty()) { + return true; + } + return false; + } + + @Override + public List batchSelectByUuid(List uuids) { + return udiRelevanceDao.batchSelectByUuid(uuids); + } + + @Override + public List batchSelectByIds(List ids) { + return udiRelevanceDao.batchSelectByIds(ids); + } + + @Override + public List selectByUuid(String uuid) { + return udiRelevanceDao.selectByUuid(uuid); + } + + @Override + public UdiRelevanceEntity selectById(Long id) { + return udiRelevanceDao.selectById(id); + } + + @Override + public UdiRelevanceResponse selectGroupById(Long id) { + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setId(id); + filterUdiRelRequest.setDiType(1); + List data = udiRelevanceDao.filterUdiRelevance(filterUdiRelRequest); + if (data != null && data.size() > 0) + return data.get(0); + return null; + } + @Override public UdiRelevanceResponse selectUdiId(Long id) { FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); @@ -37,8 +210,147 @@ public class UdiRelevanceServiceImpl extends ServiceImpl data = udiRelevanceDao.filterEntity(filterUdiRelRequest); + if (data != null && data.size() > 0) + return data.get(0); + return null; + } + + @Override + public UdiRelevanceEntity selectUpdateByThirdId(String thirdId) { + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + if (thirdId != null) { + ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectMainThrSys(); + String mainSys = basicThirdSysEntity.getThirdId(); + if (mainSys.equals("thirdId")) { + filterUdiRelRequest.setThirdId(thirdId); + } else if (mainSys.equals("thirdId1")) { + filterUdiRelRequest.setThirdId1(thirdId); + } else if (mainSys.equals("thirdId2")) { + filterUdiRelRequest.setThirdId2(thirdId); + } else if (mainSys.equals("thirdId3")) { + filterUdiRelRequest.setThirdId3(thirdId); + } else if (mainSys.equals("thirdId4")) { + filterUdiRelRequest.setThirdId4(thirdId); + } + } + List data = udiRelevanceDao.filterEntity(filterUdiRelRequest); + if (data != null && data.size() > 0) + return data.get(0); + return null; + } + + @Override + public UdiRelevanceEntity selectByMainIdLimitOne(String mainId) { + + if (mainId == null) + return null; + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setMainId(mainId); + return udiRelevanceDao.selectByThirdId(filterUdiRelRequest); + } + + @Override + public List selectByMainId(String mainId) { + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setMainId(mainId); + List udiRelevanceResponses = filterUdiRelevance(filterUdiRelRequest); + return udiRelevanceResponses; + } + + @Override + public UdiRelevanceEntity selectUpteaByAll(String uuid, String thirdId) { + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + if (thirdId != null) { + ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectMainThrSys(); + String mainSys = basicThirdSysEntity.getThirdId(); + filterUdiRelRequest.setUuid(uuid); + if (mainSys.equals("thirdId")) { + filterUdiRelRequest.setThirdId(thirdId); + } else if (mainSys.equals("thirdId1")) { + filterUdiRelRequest.setThirdId1(thirdId); + } else if (mainSys.equals("thirdId2")) { + filterUdiRelRequest.setThirdId2(thirdId); + } else if (mainSys.equals("thirdId3")) { + filterUdiRelRequest.setThirdId3(thirdId); + } else if (mainSys.equals("thirdId4")) { + filterUdiRelRequest.setThirdId4(thirdId); + } + } + + List data = udiRelevanceDao.filterEntity(filterUdiRelRequest); + if (data != null && data.size() > 0) + return data.get(0); + return null; + } + + @Override + public UdiRelevanceEntity selectByThirdId(String thirdId, String thirdSys) { + + if (StrUtil.isEmpty(thirdId) || StrUtil.isEmpty(thirdSys)) { + return null; + } + + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + if ("thirdId".equals(thirdSys)) { + filterUdiRelRequest.setThirdId(thirdId); + } else if ("thirdId1".equals(thirdSys)) { + filterUdiRelRequest.setThirdId1(thirdId); + } else if ("thirdId2".equals(thirdSys)) { + filterUdiRelRequest.setThirdId2(thirdId); + } else if ("thirdId3".equals(thirdSys)) { + filterUdiRelRequest.setThirdId3(thirdId); + } else if ("thirdId4".equals(thirdSys)) { + filterUdiRelRequest.setThirdId4(thirdId); + } + + return udiRelevanceDao.selectByThirdId(filterUdiRelRequest); + } + + @Override + public List selectListByThirdId(String thirdId, String thirdSys) { + if (StrUtil.isEmpty(thirdId) || StrUtil.isEmpty(thirdSys)) { + return null; + } + + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + if ("thirdId".equals(thirdSys)) { + filterUdiRelRequest.setThirdId(thirdId); + } else if ("thirdId1".equals(thirdSys)) { + filterUdiRelRequest.setThirdId1(thirdId); + } else if ("thirdId2".equals(thirdSys)) { + filterUdiRelRequest.setThirdId2(thirdId); + } else if ("thirdId3".equals(thirdSys)) { + filterUdiRelRequest.setThirdId3(thirdId); + } else if ("thirdId4".equals(thirdSys)) { + filterUdiRelRequest.setThirdId4(thirdId); + } + List data = udiRelevanceDao.filterUdiGp(filterUdiRelRequest); + return data; + } + + @Override + public boolean insertUdiRelevance(UdiRelevanceEntity udiRelevanceEntity) { + return udiRelevanceDao.insertUdiRelevance(udiRelevanceEntity); + } + + @Override + public boolean insertUdiRelevanceignore(UdiRelevanceEntity udiRelevanceEntity) { + return udiRelevanceDao.insertUdiRelevanceignore(udiRelevanceEntity); } @Override @@ -60,15 +372,36 @@ public class UdiRelevanceServiceImpl extends ServiceImpl filterUdiRelevance(FilterUdiRelRequest filterUdiRelRequest) { - if (filterUdiRelRequest == null) { - return Collections.emptyList(); - } - if (filterUdiRelRequest.getPage() != null) { - int offset = (filterUdiRelRequest.getPage() - 1) * filterUdiRelRequest.getLimit(); - PageHelper.offsetPage(offset, filterUdiRelRequest.getLimit()); + public boolean deleteById(String id) { + return udiRelevanceDao.deleteById(id); + } + + @Override + public boolean deleteByIds(List ids) { + return udiRelevanceDao.deleteByIds(ids); + } + + @Override + public boolean deleteByUuid(String uuid) { + return udiRelevanceDao.deleteByUuid(uuid); + } + + @Override + public String findUuidById(String relId) { + return udiRelevanceDao.selectUuidById(relId); + } + + @Override + public List selectGroupByNameCode(String nameCode, Boolean isDisable) { + return udiRelevanceDao.selectGroupByNameCode(nameCode, isDisable); + } + + @Override + public String getRelIdByUdiCode(String code) { + if (StrUtil.isBlank(code)) { + return null; } - List data = udiRelevanceDao.filterUdiRelevance(filterUdiRelRequest); - return data; + UdiEntity udi = FilterUdiUtils.getUdi(code); + return udiRelevanceDao.selectRelIdByNameCode(udi.getUdi()); } } diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrDataService.java b/src/main/java/com/glxp/api/service/thrsys/ThrDataService.java new file mode 100644 index 0000000..f9dd39c --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrDataService.java @@ -0,0 +1,69 @@ +package com.glxp.api.service.thrsys; + +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.thrsys.ThrProductsEntity; +import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; +import com.glxp.api.http.ErpBasicClient; +import com.glxp.api.req.thrsys.FilterThrProductsRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.thrsys.ThrProductsResponse; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 根据系统设置,获取对应的第三方数据信息 + */ + +@Service +public class ThrDataService { + + @Resource + private ThrSystemDetailService thrSystemDetailService; + @Resource + private ThrProductsService thrProductsService; + @Resource + private ErpBasicClient erpBasicClient; + + final Logger logger = LoggerFactory.getLogger(ThrDataService.class); + + public ThrProductsEntity getProducts(String code, String thirdSys) { + + ThrSystemDetailEntity thrSystemDetailEntity = thrSystemDetailService.selectByKey("piQueryUrl", thirdSys); + + if (thrSystemDetailEntity == null || !thrSystemDetailEntity.getEnabled()) { + logger.info("第三方系统产品信息接口服务未启用"); + return null; + } + + if (thrSystemDetailEntity.getFromType() == 0) { + FilterThrProductsRequest filterErpGoodsRequest = new FilterThrProductsRequest(); + filterErpGoodsRequest.setCode(code); + filterErpGoodsRequest.setPage(1); + filterErpGoodsRequest.setLimit(1); + BaseResponse> udiDlDeviceResponse = erpBasicClient.getErpProducts(filterErpGoodsRequest); + if (udiDlDeviceResponse.getCode() == 20000) { + List erpProductsResponses = udiDlDeviceResponse.getData().getList(); + if (erpProductsResponses != null) { + ThrProductsEntity thrProductsEntity = new ThrProductsEntity(); + BeanUtils.copyProperties(erpProductsResponses.get(0), thrProductsEntity); + return thrProductsEntity; + } + } + } else { + FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); + filterThrProductsRequest.setCode(code); + filterThrProductsRequest.setThirdSysFk(thirdSys); + List thrProductsEntitys = thrProductsService.filterThrProducts(filterThrProductsRequest); + if (thrProductsEntitys != null && thrProductsEntitys.size() > 0) { + return thrProductsEntitys.get(0); + } + } + return null; + } + +} 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 0000000..f9b1aed --- /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 new file mode 100644 index 0000000..8ba96fb --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrProductsService.java @@ -0,0 +1,39 @@ +package com.glxp.api.service.thrsys; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.glxp.api.entity.thrsys.ThrProductsEntity; +import com.glxp.api.req.thrsys.FilterThrProductsRequest; +import com.glxp.api.res.thrsys.ThrProductsResponse; + +import java.util.List; + +/** + *

+ * 服务类 + *

+ * + * @author ${author} + * @since 2023-01-10 + */ +public interface ThrProductsService extends IService { + + + ThrProductsEntity selectByCode(String code); + + List filterThrProducts(FilterThrProductsRequest filterThrProductsRequest); + + List filterThrProducts1(FilterThrProductsRequest filterThrProductsRequest); + + List filterJoinThrProducts(FilterThrProductsRequest filterThrProductsRequest); + + ThrProductsEntity selectById(String id); + + boolean deleteById(String id); + + boolean insertThrProducts(ThrProductsEntity thrProductsEntity); + + Boolean isExit(String code, String thirdIdFk); + + +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrSystemDetailService.java b/src/main/java/com/glxp/api/service/thrsys/ThrSystemDetailService.java new file mode 100644 index 0000000..fcf1f6d --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrSystemDetailService.java @@ -0,0 +1,24 @@ +package com.glxp.api.service.thrsys; + +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; + +import java.util.List; + +public interface ThrSystemDetailService { + + boolean updateBasicThirdSysDetail(ThrSystemDetailEntity basicThirdSysEntity); + + ThrSystemDetailEntity selectByKey(String key, String thirdSys); + + List filterBasicThirdSysDetail(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest); + + void updateInterfaceStatus(List list); + + /** + * 测试第三方服务连通性 + */ + BaseResponse testThirdService(ThrSystemEntity thrSystemEntity); +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrSystemService.java b/src/main/java/com/glxp/api/service/thrsys/ThrSystemService.java index fd0f2be..8ab08f5 100644 --- a/src/main/java/com/glxp/api/service/thrsys/ThrSystemService.java +++ b/src/main/java/com/glxp/api/service/thrsys/ThrSystemService.java @@ -1,7 +1,38 @@ package com.glxp.api.service.thrsys; import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; +import org.apache.ibatis.annotations.Param; + +import java.util.List; public interface ThrSystemService { + boolean updateBasicThiSys(ThrSystemEntity thrSystemEntity); + + ThrSystemEntity selectByThirdId(String thirdId); + + List filterBasicThiSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); + ThrSystemEntity selectMainThrSys(); + + ThrSystemEntity selectMainThrSys1(FilterBasicThirdSysRequest filterBasicThirdSysRequest); + + /** + * 校验第三方系统名称是否重复 + * + * @param thirdId 第三方系统ID + * @param thirdName 第三方系统名称 + * @return + */ + boolean selectThirdNameExists(String thirdId, String thirdName); + /** + * 根据第三方系统ID查询第三方系统名称 + * + * @param thirdId + * @return + */ + String selectThirdNameByThirdId(@Param("thirdId") String thirdId); + + int countThirdSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); + } 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 0000000..6afe123 --- /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 new file mode 100644 index 0000000..375002a --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java @@ -0,0 +1,117 @@ +package com.glxp.api.service.thrsys.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.thrsys.ThrProductsDao; +import com.glxp.api.entity.thrsys.ThrProductsEntity; +import com.glxp.api.req.thrsys.FilterThrProductsRequest; +import com.glxp.api.res.thrsys.ThrProductsAddDiResponse; +import com.glxp.api.res.thrsys.ThrProductsResponse; +import com.glxp.api.service.thrsys.ThrProductsAddDiService; +import com.glxp.api.service.thrsys.ThrProductsService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author ${author} + * @since 2023-01-10 + */ +@Service +@Transactional(rollbackFor = Exception.class) +public class ThrProductsServiceImpl extends ServiceImpl implements ThrProductsService { + + @Resource + ThrProductsDao thrProductsDao; + @Resource + ThrProductsAddDiService thrProductsAddDiService; + + @Override + public ThrProductsEntity selectByCode(String code) { + if (StrUtil.isEmpty(code)) + return null; + FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); + filterThrProductsRequest.setCode(code); + List thrProductsEntities = thrProductsDao.filterThrProducts(filterThrProductsRequest); + if (CollUtil.isNotEmpty(thrProductsEntities)) { + return thrProductsEntities.get(0); + } + return null; + } + + @Override + public List filterThrProducts(FilterThrProductsRequest filterThrProductsRequest) { + if (filterThrProductsRequest == null) { + return Collections.emptyList(); + } + if (filterThrProductsRequest.getPage() != null) { + int offset = (filterThrProductsRequest.getPage() - 1) * filterThrProductsRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrProductsRequest.getLimit()); + } + List data = thrProductsDao.filterThrProducts(filterThrProductsRequest); + return data; + } + + public List filterThrProducts1(FilterThrProductsRequest filterThrProductsRequest) { + if (filterThrProductsRequest == null) { + return Collections.emptyList(); + } + if (filterThrProductsRequest.getPage() != null) { + int offset = (filterThrProductsRequest.getPage() - 1) * filterThrProductsRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrProductsRequest.getLimit()); + } + List data = thrProductsDao.filterThrProducts1(filterThrProductsRequest); + return data; + } + + @Override + public List filterJoinThrProducts(FilterThrProductsRequest filterThrProductsRequest) { + if (filterThrProductsRequest == null) { + return Collections.emptyList(); + } + if (filterThrProductsRequest.getPage() != null) { + int offset = (filterThrProductsRequest.getPage() - 1) * filterThrProductsRequest.getLimit(); + PageHelper.offsetPage(offset, filterThrProductsRequest.getLimit()); + } + return thrProductsDao.filterJoinThrProducts(filterThrProductsRequest); + } + + @Override + public ThrProductsEntity selectById(String id) { + return thrProductsDao.selectById(id); + } + + @Override + public boolean deleteById(String id) { + return thrProductsDao.deleteById(id); + } + + @Override + public boolean insertThrProducts(ThrProductsEntity thrProductsEntity) { + return thrProductsDao.insertThrProducts(thrProductsEntity); + } + + @Override + public Boolean isExit(String code, String thirdIdFk) { + //判断di表有没有该产品数据 + FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); + filterThrProductsRequest.setThirdSysFk(thirdIdFk); + filterThrProductsRequest.setCode(code); + List filterThrProductsDiList = thrProductsAddDiService.filterThrProductsDiList(filterThrProductsRequest); + List data = thrProductsDao.selectThrProducts(filterThrProductsRequest); + if (CollUtil.isNotEmpty(data) || CollUtil.isNotEmpty(filterThrProductsDiList)) { + return true; + } + return false; + } + +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemDetailServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemDetailServiceImpl.java new file mode 100644 index 0000000..80306a3 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemDetailServiceImpl.java @@ -0,0 +1,65 @@ +package com.glxp.api.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.dao.thrsys.ThrSystemDetailDao; +import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.http.ErpBasicClient; +import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; +import com.glxp.api.service.thrsys.ThrSystemDetailService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class ThrSystemDetailServiceImpl implements ThrSystemDetailService { + + @Resource + ThrSystemDetailDao thrSystemDetailDao; + @Resource + private ErpBasicClient erpBasicClient; + + @Override + public boolean updateBasicThirdSysDetail(ThrSystemDetailEntity basicThirdSysEntity) { + return thrSystemDetailDao.updateBasicThirdSysDetail(basicThirdSysEntity); + } + + @Override + public ThrSystemDetailEntity selectByKey(String key, String thirdSys) { + return thrSystemDetailDao.selectByKey(key, thirdSys); + } + + @Override + public List filterBasicThirdSysDetail(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest) { + if (filterBasicThirdSysDetailRequest == null) { + return Collections.emptyList(); + } + + if (filterBasicThirdSysDetailRequest.getPage() != null) { + int offset = (filterBasicThirdSysDetailRequest.getPage() - 1) * filterBasicThirdSysDetailRequest.getLimit(); + PageHelper.offsetPage(offset, filterBasicThirdSysDetailRequest.getLimit()); + } + List data = thrSystemDetailDao.filterBasicThirdSysDetail(filterBasicThirdSysDetailRequest); + return data; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void updateInterfaceStatus(List list) { + for (ThrSystemDetailEntity thrSystemDetailEntity : list) { + thrSystemDetailDao.updateBasicThirdSysDetail(thrSystemDetailEntity); + } + } + + @Override + public BaseResponse testThirdService(ThrSystemEntity thrSystemEntity) { + return erpBasicClient.testThridConnect(thrSystemEntity); + } +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemServiceImpl.java index e938adc..9f5e252 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemServiceImpl.java @@ -1,19 +1,71 @@ package com.glxp.api.service.thrsys.impl; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.auth.AuthLicenseDao; import com.glxp.api.dao.thrsys.ThrSystemDao; +import com.glxp.api.entity.auth.AuthLicense; import com.glxp.api.entity.thrsys.ThrSystemEntity; import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; import com.glxp.api.service.thrsys.ThrSystemService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Collections; import java.util.List; +@Slf4j @Service +@Transactional(rollbackFor = Exception.class) public class ThrSystemServiceImpl implements ThrSystemService { @Resource private ThrSystemDao thrSystemDao; + @Resource + private AuthLicenseDao authLicenseDao; + + @Override + public boolean updateBasicThiSys(ThrSystemEntity thrSystemEntity) { + try { + //同步更新本系统的授权码和秘钥 + if (StrUtil.isNotBlank(thrSystemEntity.getLicenseApikey()) || StrUtil.isNotBlank(thrSystemEntity.getLicenseSecretkey())) { + authLicenseDao.updateLicenseByName(thrSystemEntity.getLicenseApikey(), thrSystemEntity.getLicenseSecretkey(), "UDI管理系统"); + } + thrSystemDao.updateBasicThiSys(thrSystemEntity); + } catch (Exception e) { + log.error("更新第三方系统信息异常", e); + } + return true; + } + + @Override + public ThrSystemEntity selectByThirdId(String thirdId) { + return thrSystemDao.selectByThirdId(thirdId); + } + + @Override + public List filterBasicThiSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest) { + if (filterBasicThirdSysRequest == null) { + return Collections.emptyList(); + } + + if (filterBasicThirdSysRequest.getPage() != null) { + int offset = (filterBasicThirdSysRequest.getPage() - 1) * filterBasicThirdSysRequest.getLimit(); + PageHelper.offsetPage(offset, filterBasicThirdSysRequest.getLimit()); + } + List data = thrSystemDao.filterBasicThiSys(filterBasicThirdSysRequest); + //查询本系统的授权码 + AuthLicense license = authLicenseDao.selectLicenseByName("UDI管理系统"); + if (null != license) { + data.forEach(basicThirdSysEntity -> { + basicThirdSysEntity.setLicenseApikey(license.getApiKey()); + basicThirdSysEntity.setLicenseSecretkey(license.getSecretKey()); + }); + } + return data; + } @Override public ThrSystemEntity selectMainThrSys() { @@ -25,4 +77,31 @@ public class ThrSystemServiceImpl implements ThrSystemService { } return null; } + + @Override + public ThrSystemEntity selectMainThrSys1(FilterBasicThirdSysRequest filterBasicThirdSysRequest) { + ThrSystemEntity data = thrSystemDao.selectByThirdId(filterBasicThirdSysRequest.getThirdId()); + return data; + + } + + @Override + public boolean selectThirdNameExists(String thirdId, String thirdName) { + ThrSystemEntity thrSystemEntity = thrSystemDao.selectByThirdIdAndThirdName(thirdId, thirdName); + if (null == thrSystemEntity) { + int count = thrSystemDao.selectCountByThirdName(thirdName); + return count > 0; + } + return false; + } + + @Override + public String selectThirdNameByThirdId(String thirdId) { + return thrSystemDao.selectThirdNameByThirdId(thirdId); + } + + @Override + public int countThirdSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest) { + return thrSystemDao.countThirdSys(filterBasicThirdSysRequest); + } } 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 0000000..649f335 --- /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}) + + + + + diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml index 3bd8821..d36cae5 100644 --- a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml @@ -49,5 +49,299 @@ + + + + + + + + + + + DELETE + FROM thr_products + WHERE id = #{id} + + + + replace + INTO thr_products + (id,code, `name`, measname, spec, registerNo, manufactory, + cplb, flbm, qxlb, ybbm, sptm, tyshxydm, zczbhhzbapzbh, ylqxzcrbarmc, ylqxzcrbarywmc, cpms, + thirdSysFk, updateTime, supName, model, standard, qtbm, zczyxqz, remark, remark1, remark2, remark3, price, + createUser, createTime, updateUser) + values ( #{id}, + #{code}, + #{name}, + #{measname}, + #{spec}, + #{registerNo}, + #{manufactory}, + #{cplb}, + #{flbm}, + #{qxlb}, + #{ybbm}, + #{sptm}, + #{tyshxydm}, + #{zczbhhzbapzbh}, + #{ylqxzcrbarmc}, + #{ylqxzcrbarywmc}, + #{cpms}, + #{thirdSysFk}, + #{updateTime}, + #{supName}, + #{model}, + #{standard}, + #{qtbm}, + #{zczyxqz}, + #{remark}, + #{remark1}, + #{remark2}, + #{remark3}, + #{price}, + #{createUser}, + #{createTime}, + #{updateUser}) + + + + + + insert into thr_products + + + id, + + code, + `name`, + measname, + spec, + registerNo, + manufactory, + thirdSysFk, + cplb, + flbm, + qxlb, + ybbm, + sptm, + tyshxydm, + zczbhhzbapzbh, + ylqxzcrbarmc, + ylqxzcrbarywmc, + cpms, + updateTime, + supName, + model, + `standard`, + qtbm, + zczyxqz, + remark, + remark1, + remark2, + remark3, + price, + `createUser`, + createTime, + updateUser, + + values + + + #{id,jdbcType=INTEGER}, + + #{code,jdbcType=VARCHAR}, + #{name,jdbcType=VARCHAR}, + #{measname,jdbcType=VARCHAR}, + #{spec,jdbcType=VARCHAR}, + #{registerNo,jdbcType=VARCHAR}, + #{manufactory,jdbcType=VARCHAR}, + #{thirdSysFk,jdbcType=VARCHAR}, + #{cplb,jdbcType=VARCHAR}, + #{flbm,jdbcType=VARCHAR}, + #{qxlb,jdbcType=VARCHAR}, + #{ybbm,jdbcType=VARCHAR}, + #{sptm,jdbcType=VARCHAR}, + #{tyshxydm,jdbcType=VARCHAR}, + #{zczbhhzbapzbh,jdbcType=VARCHAR}, + #{ylqxzcrbarmc,jdbcType=VARCHAR}, + #{ylqxzcrbarywmc,jdbcType=VARCHAR}, + #{cpms,jdbcType=LONGVARCHAR}, + #{updateTime,jdbcType=TIMESTAMP}, + #{supName,jdbcType=VARCHAR}, + #{model,jdbcType=VARCHAR}, + #{standard,jdbcType=VARCHAR}, + #{qtbm,jdbcType=VARCHAR}, + #{zczyxqz,jdbcType=VARCHAR}, + #{remark,jdbcType=VARCHAR}, + #{remark1,jdbcType=VARCHAR}, + #{remark2,jdbcType=VARCHAR}, + #{remark3,jdbcType=VARCHAR}, + #{price,jdbcType=VARCHAR}, + #{createUser,jdbcType=VARCHAR}, + #{createTime,jdbcType=TIMESTAMP}, + #{updateUser,jdbcType=VARCHAR}, + + on duplicate key update + + + id = #{id,jdbcType=INTEGER}, + + code = #{code,jdbcType=VARCHAR}, + `name` = #{name,jdbcType=VARCHAR}, + measname = #{measname,jdbcType=VARCHAR}, + spec = #{spec,jdbcType=VARCHAR}, + registerNo = #{registerNo,jdbcType=VARCHAR}, + manufactory = #{manufactory,jdbcType=VARCHAR}, + thirdSysFk = #{thirdSysFk,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}, + `createUser` = #{createUser,jdbcType=VARCHAR}, + createTime = #{createTime,jdbcType=TIMESTAMP}, + updateUser = #{updateUser,jdbcType=VARCHAR}, + + diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrSystemDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrSystemDao.xml index 7a60a9e..b00e05f 100644 --- a/src/main/resources/mybatis/mapper/thrsys/ThrSystemDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrSystemDao.xml @@ -73,4 +73,4 @@ - + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrSystemDetailDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrSystemDetailDao.xml new file mode 100644 index 0000000..fbc6227 --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/ThrSystemDetailDao.xml @@ -0,0 +1,47 @@ + + + + + + + UPDATE thr_system_detail + + value=#{value}, + enabled=#{enabled}, + itrCache=#{itrCache}, + guideUrl=#{guideUrl}, + remark=#{remark}, + name=#{name}, + fromType=#{fromType}, + thirdSysFk=#{thirdSysFk}, + + WHERE id=#{id} + + + + + \ No newline at end of file