diff --git a/pom.xml b/pom.xml index caecc4254..2ee2eb4fc 100644 --- a/pom.xml +++ b/pom.xml @@ -314,6 +314,12 @@ 1.0.47_1 + + commons-fileupload + commons-fileupload + 1.3.1 + + diff --git a/src/main/java/com/glxp/api/controller/auth/LoginController.java b/src/main/java/com/glxp/api/controller/auth/LoginController.java index 9367112da..d9c918a33 100644 --- a/src/main/java/com/glxp/api/controller/auth/LoginController.java +++ b/src/main/java/com/glxp/api/controller/auth/LoginController.java @@ -14,6 +14,7 @@ import com.glxp.api.req.auth.PCLoginRequest; import com.glxp.api.req.auth.UpdatePasswordRequest; import com.glxp.api.res.auth.LoginResponse; import com.glxp.api.res.auth.LoginUserInfoResponse; +import com.glxp.api.res.auth.WebTitleResponse; import com.glxp.api.service.system.CompanyService; import com.glxp.api.service.monitor.LogininforService; import com.glxp.api.common.enums.ResultEnum; @@ -24,6 +25,7 @@ import com.glxp.api.util.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -294,4 +296,16 @@ public class LoginController extends BaseController { return ResultVOUtils.error(ResultEnum.DATA_CHANGE); } + + @Value("${WEB_TITLE}") + private String WEB_TITLE; + + @GetMapping("/spms/getTitleConfig") + public BaseResponse getTitleConfig() { + WebTitleResponse webTitleResponse = new WebTitleResponse(); + webTitleResponse.setTitle(WEB_TITLE); + return ResultVOUtils.success(webTitleResponse); + } + + } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java index 549b79918..c9362f972 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicCorpController.java @@ -522,5 +522,12 @@ public class BasicCorpController { return ResultVOUtils.success(getCorpList); } + @AuthRuleAnnotation("") + @GetMapping("/udiwms/basic/unit/maintain/getCorpLists") + public BaseResponse getCorpLists() { + List getCorpList = basicUnitMaintainService.getCorpLists(); + return ResultVOUtils.success(getCorpList); + } + } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicProductCategoryController.java b/src/main/java/com/glxp/api/controller/basic/BasicProductCategoryController.java new file mode 100644 index 000000000..970124695 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/basic/BasicProductCategoryController.java @@ -0,0 +1,361 @@ +package com.glxp.api.controller.basic; + + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.Log; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BusinessType; +import com.glxp.api.entity.basic.BasicHospTypeEntity; +import com.glxp.api.entity.basic.BasicProductCategory; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.req.basic.*; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.BasicProductCategoryTypeResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.service.basic.BasicHospTypeService; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.basic.impl.BasicProductCategoryService; +import com.glxp.api.util.StringUtils; +import com.glxp.api.util.udi.FilterUdiUtils; +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.util.ArrayList; +import java.util.List; + +@RestController +public class BasicProductCategoryController { + + @Resource + BasicHospTypeService basicHospTypeService; + @Resource + BasicProductCategoryService basicProductCategoryService; + + @GetMapping("/udiwms/basic/product/category/filter") + public BaseResponse filterBasicUnitMaintain(BasicHospTypeFilterRequest basicHospTypeFilterRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List basicHospTypeEntities = basicHospTypeService.filterHospTypeList(basicHospTypeFilterRequest); + PageInfo pageInfo = new PageInfo<>(basicHospTypeEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(basicHospTypeEntities); + + return ResultVOUtils.success(pageSimpleResponse); + } + + @PostMapping("/udiwms/basic/product/category/selectList") + public BaseResponse menuList(@RequestBody BasicProductTypeFilterRequest basicProductTypeFilterRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + List menuList = basicProductCategoryService.getMenuList(basicProductTypeFilterRequest); + return ResultVOUtils.success(menuList); + } + + @PostMapping("/udiwms/basic/product/category/menuAllList") + public BaseResponse menuAllList(@RequestBody BasicHospTypeFilterRequest basicHospTypeFilterRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List basicHospTypeEntities = basicHospTypeService.getAllMenuList(basicHospTypeFilterRequest); + return ResultVOUtils.success(basicHospTypeEntities); + } + + @GetMapping("/udiwms/basic/product/category/getOneName") + public BaseResponse getOneName() { + + BasicProductCategory basicProductCategory = basicProductCategoryService.selectBasicHospTypeEntity(); + return ResultVOUtils.success(basicProductCategory); + } + + @PostMapping("/udiwms/basic/product/category/save") + public BaseResponse save(@RequestBody BasicProductTypeRequest basicProductTypeRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + if(StrUtil.isEmpty(basicProductTypeRequest.getName())){ + return ResultVOUtils.error(999, "名字不能为空!"); + } + Boolean falg = basicProductCategoryService.checkName(basicProductTypeRequest, 1); + if(falg==false){ + return ResultVOUtils.error(999, "院内分类名字已存在!"); + } + falg = basicProductCategoryService.saveBasicHospType(basicProductTypeRequest); + if (!falg) { + return ResultVOUtils.error(999, "插入失败!"); + } + return ResultVOUtils.success(); + } + + + @PostMapping("/udiwms/basic/product/category/update") + @Log(title = "单据管理", businessType = BusinessType.UPDATE) + public BaseResponse update(@RequestBody BasicProductTypeRequest basicProductTypeRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if(StrUtil.isEmpty(basicProductTypeRequest.getName())){ + return ResultVOUtils.error(999, "名字不能为空!"); + } + + if(basicProductTypeRequest.getCode().equals(basicProductTypeRequest.getParentCode())){ + return ResultVOUtils.error(999, "上级菜单不能选择自己!"); + } + + Boolean falg = basicProductCategoryService.checkName(basicProductTypeRequest, 2); + if(falg==false){ + return ResultVOUtils.error(999, "院内分类名字已存在!"); + } + falg = basicProductCategoryService.updateBasicHospType(basicProductTypeRequest); + + if (!falg) { + return ResultVOUtils.error(999, "更新失败!"); + } + return ResultVOUtils.success(); + } + + @GetMapping("/udiwms/basic/product/category/delect") + @Log(title = "单据管理", businessType = BusinessType.DELETE) + public BaseResponse delect(BasicProductTypeRequest basicProductTypeRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + String msg = basicProductCategoryService.delectBasicHospType(basicProductTypeRequest); + + if (StringUtils.isNotBlank(msg)) { + return ResultVOUtils.error(999, msg); + } + return ResultVOUtils.success(); + } + + @GetMapping("/udiwms/basic/product/category/getTree") + public BaseResponse getTree() { + List treeList = basicProductCategoryService.getTreeList(); + return ResultVOUtils.success(treeList); + } + + @PostMapping("/udiwms/basic/product/category/bindRel") + public BaseResponse saveRel(@RequestBody BasicProductTypeRequest basicProductTypeRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + basicProductCategoryService.insertCateRel(basicProductTypeRequest); + return ResultVOUtils.success(); + } + + @Resource + UdiRelevanceService udiRelevanceService; + + @GetMapping("/udiwms/basic/product/category/bindList") + public BaseResponse bindList(FilterUdiProductRequest filterUdiProductRequest) { + + if (StrUtil.isNotEmpty(filterUdiProductRequest.getUdiCode())) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiProductRequest.getUdiCode()); + if (udiEntity != null) { + filterUdiProductRequest.setNameCode(udiEntity.getUdi()); + filterUdiProductRequest.setUnionCode(udiEntity.getUdi()); + } + } + //如果输入DI标识,精确找到不同层级对应的产品信息 + if (StrUtil.isNotEmpty(filterUdiProductRequest.getUnionCode())) { + FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest(); + filterUdiInfoRequest.setNameCode(filterUdiProductRequest.getUnionCode()); + List temps = basicHospTypeService.filterUdiGp(filterUdiInfoRequest); + if (temps != null && temps.size() > 0) { + filterUdiProductRequest.setOriginUuid(temps.get(0).getOriginUuid()); + filterUdiProductRequest.setNameCode(filterUdiInfoRequest.getNameCode()); + filterUdiProductRequest.setUnionCode(null); + } + } else { + //只查找主标识产品信息 + filterUdiProductRequest.setDiType(1); + } + + List list= basicProductCategoryService.selectAll(filterUdiProductRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/basic/product/category/productList") + public BaseResponse productList(FilterUdiRelRequest filterUdiRelRequest) { + + //是否是一级分类 + BasicProductCategory category = basicProductCategoryService.checkCode(filterUdiRelRequest.getParentCode()); + //过滤已被选入的产品 + FilterUdiProductRequest request = new FilterUdiProductRequest(); + if("10000".equals(category.getParentCode())) { + request.setCode(filterUdiRelRequest.getParentCode()); + }else{ + request.setCode(category.getCode()); + } + List udiRelevanceResponses1 = basicProductCategoryService.selectAll(request); + ArrayList list = new ArrayList<>(); + for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses1) { + list.add(udiRelevanceResponse.getId()); + } + filterUdiRelRequest.setExistid(list); + List udiRelevanceResponses=null; + + + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()); + if (udiEntity != null) { + filterUdiRelRequest.setNameCode(udiEntity.getUdi()); + filterUdiRelRequest.setUnionCode(udiEntity.getUdi()); + } + } + //如果输入DI标识,精确找到不同层级对应的产品信息 + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) { + FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest(); + filterUdiInfoRequest.setNameCode(filterUdiRelRequest.getUnionCode()); + List temps = basicHospTypeService.filterUdiGp(filterUdiInfoRequest); + if (temps != null && temps.size() > 0) { + filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid()); + filterUdiRelRequest.setNameCode(filterUdiInfoRequest.getNameCode()); + filterUdiRelRequest.setUnionCode(null); + } + } else { + //只查找主标识产品信息 + filterUdiRelRequest.setDiType(1); + } + if("10000".equals(category.getParentCode())) { + //查全部 + udiRelevanceResponses= basicHospTypeService.filterUdiGpexist(filterUdiRelRequest); + + }else{ + // 查上级 + FilterUdiProductRequest filterUdiProductRequest = new FilterUdiProductRequest(); + filterUdiProductRequest.setCode(category.getParentCode()); + filterUdiProductRequest.setCpmctymc(filterUdiRelRequest.getCpmctymc()); + filterUdiProductRequest.setGgxh(filterUdiRelRequest.getGgxh()); + filterUdiProductRequest.setYlqxzcrbarmc(filterUdiRelRequest.getYlqxzcrbarmc()); + filterUdiProductRequest.setUnionCode(filterUdiRelRequest.getUnionCode()); + filterUdiProductRequest.setThrPiId(filterUdiRelRequest.getThrPiId()); + filterUdiProductRequest.setNameCode(filterUdiRelRequest.getNameCode()); + filterUdiProductRequest.setExistid(list); + udiRelevanceResponses= basicProductCategoryService.selectAll(filterUdiProductRequest); + + } + + PageInfo pageInfo = new PageInfo<>(udiRelevanceResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiRelevanceResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + + + @GetMapping("/udiwms/basic/product/category/SelcetproductList") + public BaseResponse SelectproductList(FilterUdiRelRequest filterUdiRelRequest) { + + + + List udiRelevanceResponses=null; + + + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()); + if (udiEntity != null) { + filterUdiRelRequest.setNameCode(udiEntity.getUdi()); + filterUdiRelRequest.setUnionCode(udiEntity.getUdi()); + } + } + //如果输入DI标识,精确找到不同层级对应的产品信息 + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) { + FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest(); + filterUdiInfoRequest.setNameCode(filterUdiRelRequest.getUnionCode()); + List temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + if (temps != null && temps.size() > 0) { + filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid()); + filterUdiRelRequest.setNameCode(filterUdiInfoRequest.getNameCode()); + filterUdiRelRequest.setUnionCode(null); + } + } else { + //只查找主标识产品信息 + filterUdiRelRequest.setDiType(1); + } + //是否是一级分类 + BasicProductCategory category = basicProductCategoryService.checkCode(filterUdiRelRequest.getParentCode()); + if("10000".equals(category.getParentCode())) { + //查全部 + udiRelevanceResponses= basicHospTypeService.filterUdiGp(filterUdiRelRequest); + }else{ + // 查上级 + FilterUdiProductRequest filterUdiProductRequest = new FilterUdiProductRequest(); + filterUdiProductRequest.setCode(category.getParentCode()); + filterUdiProductRequest.setCpmctymc(filterUdiRelRequest.getCpmctymc()); + filterUdiProductRequest.setGgxh(filterUdiRelRequest.getGgxh()); + filterUdiProductRequest.setYlqxzcrbarmc(filterUdiRelRequest.getYlqxzcrbarmc()); + filterUdiProductRequest.setUnionCode(filterUdiRelRequest.getUnionCode()); + filterUdiProductRequest.setThrPiId(filterUdiRelRequest.getThrPiId()); + filterUdiProductRequest.setNameCode(filterUdiRelRequest.getNameCode()); + + udiRelevanceResponses= basicProductCategoryService.selectAll(filterUdiProductRequest); + + } + //循环插入 + BasicProductTypeRequest basicProductTypeRequest = new BasicProductTypeRequest(); + basicProductTypeRequest.setCode(filterUdiRelRequest.getParentCode()); + List list = new ArrayList<>(); + + for (UdiRelevanceResponse udiRelevanceRespons : udiRelevanceResponses) { + list.add(udiRelevanceRespons.getId()+""); + } + basicProductTypeRequest.setIds(list); + basicProductCategoryService.insertCateRel(basicProductTypeRequest); + + return ResultVOUtils.success(); + } + + + + @GetMapping("/udiwms/basic/product/category/deleterel") + public BaseResponse deleterel(Integer id){ + basicProductCategoryService.deleterelByid(id); + return ResultVOUtils.success(); + } + + + + + + + + + @PostMapping("/udiwms/basic/product/category/unbindRel") + @Log(title = "单据管理", businessType = BusinessType.UPDATE) + public BaseResponse unbindRel(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + Boolean falg = basicHospTypeService.unbindHospProduct(basicHospTypeRequest); + return ResultVOUtils.success(); + } + +} diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java index 44203cf3d..377ebc9b6 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRlSupController.java @@ -126,7 +126,7 @@ public class UdiRlSupController extends BaseController { @AuthRuleAnnotation("") @GetMapping("/sale/info/company/product/plan/relevance/filter") public BaseResponse filterCompanyProductPlanRelevance(CompanyProductRelevanceRequest companyProductRelevanceRequest, - BindingResult bindingResult) { + BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } @@ -160,12 +160,12 @@ public class UdiRlSupController extends BaseController { companyProductRelevanceRequest.setDiType(1); } //查询详情id过滤 - List purApplyDetailEntityList= purApplyDetailService.findByOrderId(companyProductRelevanceRequest.getId()); + List purApplyDetailEntityList = purApplyDetailService.findByOrderId(companyProductRelevanceRequest.getId()); List idList = purApplyDetailEntityList.stream().map(PurApplyDetailEntity::getProductId).collect(Collectors.toList()); List basicInstrumentMaintainRelevanceResponses = null; - FilterUdiRelRequest filterUdiRelRequest=new FilterUdiRelRequest(); - BeanCopyUtils.copy(companyProductRelevanceRequest,filterUdiRelRequest); + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + BeanCopyUtils.copy(companyProductRelevanceRequest, filterUdiRelRequest); filterUdiRelRequest.setIds(idList); basicInstrumentMaintainRelevanceResponses = udiRelevanceService.filterUdiJoinSup(filterUdiRelRequest); PageInfo pageInfo; diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index e2bfce670..97b3f21d2 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -575,11 +575,11 @@ public class IoCodeTempController extends BaseController { BaseResponse invRes = null; if (bussinessTypeEntity.isScanPreIn()) { //校验预验收库存 - invRes = checkPreInInv(bussinessTypeEntity, exitLocalEntity); + invRes = checkPreInInv(bussinessTypeEntity, genDetaiEntity); } else if (bussinessTypeEntity.isAdvancePreIn()) { //校验寄售库存 - invRes = checkPreInv(bussinessTypeEntity, exitLocalEntity); + invRes = checkPreInv(bussinessTypeEntity, genDetaiEntity); } else { - invRes = checkInv(bussinessTypeEntity, exitLocalEntity); + invRes = checkInv(bussinessTypeEntity, genDetaiEntity); } if (invRes != null) { return invRes; @@ -791,15 +791,15 @@ public class IoCodeTempController extends BaseController { InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_ADVANCE); int count = 0; if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) { - if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { - count = invPreProductDetailService.vailStockCountByCode(null, invWarehouseEntity.getCode(), null, codeTempEntity.getCode()); - } else - count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), null); +// if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { +// count = invPreProductDetailService.vailStockCountByCode(null, invWarehouseEntity.getCode(), null, codeTempEntity.getCode()); +// } else + count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), null); } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) { - if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { - count = invPreProductDetailService.vailStockCountByCode(null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode(), codeTempEntity.getCode()); - } else - count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode()); +// if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { +// count = invPreProductDetailService.vailStockCountByCode(null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode(), codeTempEntity.getCode()); +// } else + count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode()); } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) { //按指定货位出库 if (StrUtil.isEmpty(codeTempEntity.getPreSpaceCode())) { @@ -816,35 +816,38 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.error(500, "添加失败,该产品未上架货位!"); } } else { - if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { - count = invPreProductDetailService.vailStockCountByCode(null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode(), codeTempEntity.getCode()); - } else - count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode()); +// if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { +// count = invPreProductDetailService.vailStockCountByCode(null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode(), codeTempEntity.getCode()); +// } else + count = invPreProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), codeTempEntity.getPreSpaceCode()); } } - InvPreProductDetailEntity invPreinDetailEntity = invPreProductDetailService.findUseOneByCode(codeTempEntity.getCode()); +// InvPreProductDetailEntity invPreinDetailEntity = invPreProductDetailService.findUseOneByCode(codeTempEntity.getCode()); if (count <= 0) { return ResultVOUtils.error(500, "寄售库存数量不足!"); } else { - if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(codeTempEntity.getBatchNo()) - && !invPreinDetailEntity.getBatchNo().equals(codeTempEntity.getBatchNo())) { - return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!"); - } - if (StrUtil.isNotEmpty(codeTempEntity.getOrderId())) {//非首次添加 - if (StrUtil.isEmpty(codeTempEntity.getSerialNo())) {//该单据已有该产品 - //无序列号,则可能存在多个预验收入库单 - IoCodeTempEntity tempEntity = codeTempService.findByUnique(codeTempEntity.getOrderId(), codeTempEntity.getCode()); - if (tempEntity != null) { - if (count < (tempEntity.getMyCount() + 1)) { - return ResultVOUtils.error(500, "超出寄售库存数量"); - } - } - } else { - if (count < 1) { - return ResultVOUtils.error(500, "寄售库存数量不足"); - } - } +// if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(codeTempEntity.getBatchNo()) +// && !invPreinDetailEntity.getBatchNo().equals(codeTempEntity.getBatchNo())) { +// return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!"); +// } +// if (StrUtil.isNotEmpty(codeTempEntity.getOrderId())) {//非首次添加 +// if (StrUtil.isEmpty(codeTempEntity.getSerialNo())) {//该单据已有该产品 +// IoCodeTempEntity tempEntity = codeTempService.findByUnique(codeTempEntity.getOrderId(), codeTempEntity.getCode()); +// if (tempEntity != null) { +// if (count < (tempEntity.getMyCount() + 1)) { +// return ResultVOUtils.error(500, "超出寄售库存数量"); +// } +// } +// } else { +// if (count < 1) { +// return ResultVOUtils.error(500, "寄售库存数量不足"); +// } +// } +// } + int exitCount = IntUtil.value(codeTempService.selectExitCount(codeTempEntity.getOrderId(), codeTempEntity.getBatchNo(), codeTempEntity.getRelId(), codeTempEntity.getSupId())); + if ((codeTempEntity.getMyReCount() + exitCount) > count) { + return ResultVOUtils.error(500, "寄售库存数量不足"); } } return null; @@ -908,7 +911,7 @@ public class IoCodeTempController extends BaseController { } } else { if (count < 1) { - return ResultVOUtils.error(500, "寄售预验收数量不足"); + return ResultVOUtils.error(500, "预验收库存数量不足"); } } } @@ -1058,15 +1061,15 @@ public class IoCodeTempController extends BaseController { if (bussinessTypeEntity.isVailInv() && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { int count = 0; if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) { - if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { - count = invProductDetailService.vailStockCountByCode(codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), null, codeTempEntity.getCode()); - } else - count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), null); +// if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { +// count = invProductDetailService.vailStockCountByCode(codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), null, codeTempEntity.getCode()); +// } else + count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), null); } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) { - if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { - count = invProductDetailService.vailStockCountByCode(codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode(), codeTempEntity.getCode()); - } else - count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode()); +// if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { +// count = invProductDetailService.vailStockCountByCode(codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode(), codeTempEntity.getCode()); +// } else + count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode()); } else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) { //按指定货位出库 if (StrUtil.isEmpty(codeTempEntity.getWarehouseCode())) { @@ -1082,17 +1085,18 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.error(500, "添加失败,该产品未上架货位!"); } } else { - if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { - count = invProductDetailService.vailStockCountByCode(codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode(), codeTempEntity.getCode()); - } else - count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode()); +// if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) { +// count = invProductDetailService.vailStockCountByCode(codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode(), codeTempEntity.getCode()); +// } else + count = invProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), codeTempEntity.getDeptCode(), codeTempEntity.getInvCode(), codeTempEntity.getWarehouseCode()); } } if (count <= 0) { return ResultVOUtils.error(500, "当前库存不足"); } else { //查询此单据已扫描的条码数量 - if (codeTempEntity.getMyReCount() > count) { + int exitCount = IntUtil.value(codeTempService.selectExitCount(codeTempEntity.getOrderId(), codeTempEntity.getBatchNo(), codeTempEntity.getRelId(), codeTempEntity.getSupId())); + if ((codeTempEntity.getMyReCount() + exitCount) > count) { return ResultVOUtils.error(500, "当前库存不足"); } } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index b8defb26c..6c8132534 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -15,6 +15,7 @@ import com.glxp.api.constant.BusinessType; import com.glxp.api.constant.Constant; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.controller.BaseController; +import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.InvBusUserEntity; import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; @@ -28,9 +29,9 @@ import com.glxp.api.req.inout.*; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse; -import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inout.PdaBusOrderResponse; +import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.InvBusUserService; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.BasicCorpService; @@ -47,13 +48,10 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; - import static com.glxp.api.constant.ConstantStatus.ORDER_STATUS_CHECK_PROCESS; -import static com.glxp.api.constant.ConstantStatus.ORDER_STATUS_PROCESSING; @Slf4j @@ -80,6 +78,8 @@ public class IoOrderController extends BaseController { BasicCorpService basicCorpService; @Resource IoOrderInvoiceService orderInvoiceService; + @Resource + CustomerService customerService; /** * 查询单据列表 @@ -829,4 +829,14 @@ public class IoOrderController extends BaseController { return ResultVOUtils.success(); } + @GetMapping ("/udiwms/inout/order/getUserBean") + public BaseResponse getUserBean(){ + AuthAdmin userBean = customerService.getUserBean(); + + + return ResultVOUtils.success(userBean); + } + + + } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index e77dc42f7..d7df4709b 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -9,20 +9,17 @@ 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.ConstantType; -import com.glxp.api.constant.FileConstant; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderEntity; -import com.glxp.api.entity.system.SysPdfTemplateRelevanceCodeEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; -import com.glxp.api.req.basic.FilterOrderPrintRequest; -import com.glxp.api.req.inout.*; -import com.glxp.api.req.purchase.purPlanPrintRequest; -import com.glxp.api.res.inout.IoCodeResponse; +import com.glxp.api.req.inout.FilterOrderDetailResultRequest; +import com.glxp.api.req.inout.FilterOrderRequest; +import com.glxp.api.req.inout.InspectionPDFTemplateRequest; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.basic.IBasicBussinessTypeService; @@ -113,6 +110,10 @@ public class IoOrderDetailResultController extends BaseController { orderDetailResultResponse.setOutCount(0); orderDetailResultResponse.setInCount(orderDetailResultResponse.getReCount()); } + String fromName = orderDetailResultResponse.getFromName(); + orderDetailResultResponse.setFromName(fromName); + + } PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); @@ -252,7 +253,8 @@ public class IoOrderDetailResultController extends BaseController { i++; } - String param = JSON.toJSONString(list); + data.put("data", list); + String param = JSON.toJSONString(data); JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); return ResultVOUtils.success(); } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java index 82562e630..852697311 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java @@ -281,6 +281,8 @@ public class IoOrderReviewController extends BaseController { GennerOrderUtils gennerOrderUtils; @Resource SystemParamConfigService systemParamConfigService; + @Resource + IoAddInoutService addInoutService; public void transferOrder(IoOrderEntity orderEntity, EntrustReceEntity entrustReceEntity) { List warehouseEntities = codeService.findByOrderId(orderEntity.getBillNo()); @@ -292,16 +294,8 @@ public class IoOrderReviewController extends BaseController { String supplementOrderNo = orderNo; supplementOrder.setOriginUllageSupNo(orderEntity.getBillNo()); supplementOrder.setBillNo(supplementOrderNo); - -// SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); -// if ("1".equals(systemParamConfigEntity.getParamValue())) { -// supplementOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); //设置状态为补录单据 -// } else { -// supplementOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); //设置状态为补录单据 -// } - - supplementOrder.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); //设置导出状态为未导出 + supplementOrder.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT); supplementOrder.setCorpOrderId(CustomUtil.getId() + "x"); //修改往来单位及当前库存号 supplementOrder.setFromCorp(null); @@ -335,6 +329,9 @@ public class IoOrderReviewController extends BaseController { orderEntity.setUllageSupNo(supplementOrder.getBillNo()); orderService.update(orderEntity); codeTempService.insertBatch(supplementCodes); + for (IoCodeTempEntity codeTempEntity : supplementCodes) { + addInoutService.genOrderDetailCode(supplementOrder, codeTempEntity); + } } @@ -543,8 +540,6 @@ public class IoOrderReviewController extends BaseController { return ResultVOUtils.success(acceptOrderEntity); } - @Resource - IoAddInoutService addInoutService; @Resource InvBusUserService invBusUserService; diff --git a/src/main/java/com/glxp/api/controller/inout/PlatformController.java b/src/main/java/com/glxp/api/controller/inout/PlatformController.java new file mode 100644 index 000000000..3326e6ea0 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inout/PlatformController.java @@ -0,0 +1,251 @@ +package com.glxp.api.controller.inout; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.inout.UnitMaintainPlatformEntity; +import com.glxp.api.entity.system.PlatformEntity; +import com.glxp.api.req.inout.PlatformLinkRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.req.system.PlatformUserInfoRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.inout.PlatformLinkResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.inout.PlatformService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.client.RestTemplate; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@Slf4j +public class PlatformController { + + @Resource + private PlatformService platformService; + @Resource + private CustomerService customerService; + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/platform/remove") + public BaseResponse remove(@RequestBody PlatformEntity platformEntity) { + if (platformService.remove(platformEntity.getId()) > 0) { + ResultVOUtils.success("删除成功"); + } + return ResultVOUtils.error(500, "删除失败"); + } + + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/platform/update") + public BaseResponse update(@RequestBody PlatformEntity platformEntity) { + if (StrUtil.isBlank(platformEntity.getName()) || StrUtil.isBlank(platformEntity.getHost())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空"); + } + return platformService.update(platformEntity); + } + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/platform/list") + public BaseResponse list(@RequestParam Map params) { + List list = platformService.list(params); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(pageInfo.getList()); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 测试账号连通性 + * + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udiwms/platform/testUserInfo") + public BaseResponse testUserInfo(@RequestBody PlatformUserInfoRequest platformUserInfoRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + PlatformEntity platformEntity = platformService.getPlatformById(platformUserInfoRequest.getPlatformId()); + if (null == platformEntity || StrUtil.isBlank(platformEntity.getHost())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + + String url = platformEntity.getHost() + "/verify"; + Map map = new HashMap<>(); + map.put("username", platformUserInfoRequest.getUsername()); + map.put("password", platformUserInfoRequest.getPassword()); + + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON_UTF8); + + HttpEntity request = new HttpEntity<>(JSON.toJSONString(map), headers); + RestTemplate restTemplate = new RestTemplate(); + log.error(url); + + String result = restTemplate.postForObject(url, request, String.class, map); + log.error(result); + Map object = JSON.parseObject(result, Map.class); + if (!String.valueOf(object.get("code")).equals("20000")) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, String.valueOf(object.get("message"))); + } + Map data = JSON.parseObject(JSON.toJSONString(object.get("data")), Map.class); + + ObjectMapper mapper = new ObjectMapper(); + UnitMaintainPlatformEntity unitMaintainPlatformEntity = mapper.convertValue(data, UnitMaintainPlatformEntity.class); + return ResultVOUtils.success(unitMaintainPlatformEntity); + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/platform/link") + public BaseResponse update(@RequestBody PlatformLinkRequest platformLinkRequest) { + //判断此数据是否重复 + String verifyResult = platformService.verifyUnitMaintainPlatform(platformLinkRequest); + if (!verifyResult.equals("success")) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, verifyResult); + } + UnitMaintainPlatformEntity unitMaintainPlatform = new UnitMaintainPlatformEntity(); + BeanUtil.copyProperties(platformLinkRequest, unitMaintainPlatform); + unitMaintainPlatform.setCustomerId(Long.valueOf(unitMaintainPlatform.getUnitId())); + platformService.saveUnitPlatform(unitMaintainPlatform); + return ResultVOUtils.success("关联成功"); + } + + /** + * 获取往来单位与自助平台关联数据 + */ + @AuthRuleAnnotation("") + @GetMapping("/udiwms/platform/getLinkPlatformList") + public BaseResponse getLinkPlatformList(PlatformLinkRequest platformLinkRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + platformLinkRequest.setCustomerId(String.valueOf(customerService.getUserBean().getCustomerId())); + List list = platformService.getLinkPlatformList(platformLinkRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(pageInfo.getList()); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 解绑往来单位和自助平台的关联 + * + * @param deleteRequest + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udiwms/platform/unbind") + public BaseResponse unbindPlatform(DeleteRequest deleteRequest) { + if (StrUtil.isBlank(deleteRequest.getId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + platformService.unbindPlatform(deleteRequest.getId()); + return ResultVOUtils.success(); + } + + /** + * 获取对应平台单据类型 + * + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("/udiwms/platform/getTargetActions") + public BaseResponse getTargetActions(String platformId, String invSubCode, String apiKey, String apiSecret) { + if (StrUtil.isBlank(platformId)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return platformService.getTargetActions(platformId, invSubCode, apiKey, apiSecret); + } + + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/platform/getTargetInv") + public BaseResponse getTargetInv(String platformId, String apiKey, String apiSecret) { + if (StrUtil.isBlank(platformId)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return platformService.getTargetInv(platformId, apiKey, apiSecret); + } + + @AuthRuleAnnotation("") + @GetMapping("/udiwms/platform/getTargetSubInv") + public BaseResponse getTargetSubInv(String platformId, String invCode, String apiKey, String apiSecret) { + if (StrUtil.isBlank(platformId)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return platformService.getTargetSubInv(platformId, invCode, apiKey, apiSecret); + } + + /** + * 测试自助平台连通性 + * + * @param host + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("udiwms/platform/testPlatformConnection") + public BaseResponse testPlatformConnection(String host) { + if (StrUtil.isBlank(host)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return platformService.testPlatformConnection(host); + } + + /** + * 获取客户详情 + * + * @param platformLinkRequest + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udiwms/platform/getPlatFormDelect") + public BaseResponse getPlatFormDelect(@RequestBody PlatformLinkRequest platformLinkRequest) { + + List platformLinkResponses = platformService.selectDelectList(platformLinkRequest); + PageInfo pageInfo = new PageInfo<>(platformLinkResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(pageInfo.getList()); + + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 上传单据到自助 + * + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("/udiwms/platform/uploadOrder") + public BaseResponse uploadOrder(String orderId) throws JsonProcessingException { + if (StrUtil.isBlank(orderId)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return platformService.uploadOrder(orderId); + } + + + + + +} diff --git a/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java b/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java index 64cdbff07..9cb8319a7 100644 --- a/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java +++ b/src/main/java/com/glxp/api/controller/purchase/IoPurChangeService.java @@ -291,8 +291,13 @@ public class IoPurChangeService { ioOrderEntity.setAction(basicBusTypeChangeEntity.getTargetAction()); ioOrderEntity.setFromCorp(m.getKey()); ioOrderEntity.setFromType(ConstantStatus.FROM_PLAN); - ioOrderEntity.setStatus(1); - ioOrderEntity.setDealStatus(1); + if (basicBusTypeChangeEntity.getAuditStatus() == 1) { + ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); + ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT); + } else { + ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); + ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); + } ioOrderEntity.setOrderType(1); ioOrderEntity.setCreateTime(new Date()); ioOrderEntity.setCreateUser(purReceiveEntity.getCreateUser()); @@ -325,8 +330,6 @@ public class IoPurChangeService { ioOrderDetailBizService.insert(ioOrderDetailBizEntity); } } -// purReceiveEntity.se(billNo.substring(0, billNo.length() - 1)); -// receiveService.update(purPlanEntity1); } } diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java index 31dc2c92e..6a83ee3d8 100644 --- a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java @@ -176,6 +176,23 @@ public class ThrProductsController { } + /** + * 编辑第三方产品信息 + * + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udiwms/udiinfo/erp/products/update") + public BaseResponse updateProduct(@RequestBody ThrProductsEntity thrProductsEntity) { + + if (null == thrProductsEntity) + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + thrProductsEntity.setUpdateTime(new Date()); + thrProductsService.updateById(thrProductsEntity); + return ResultVOUtils.success("修改成功!"); + } + + /** * 第三方产品信息导入 * diff --git a/src/main/java/com/glxp/api/dao/basic/BasicCorpDao.java b/src/main/java/com/glxp/api/dao/basic/BasicCorpDao.java index 2656ad80c..c9874040c 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicCorpDao.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicCorpDao.java @@ -63,4 +63,7 @@ public interface BasicCorpDao extends BaseMapperPlus getCorpList(); + + List getCorpLists(); + } diff --git a/src/main/java/com/glxp/api/dao/basic/BasicProductCategoryMapper.java b/src/main/java/com/glxp/api/dao/basic/BasicProductCategoryMapper.java new file mode 100644 index 000000000..ed4240be8 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/basic/BasicProductCategoryMapper.java @@ -0,0 +1,17 @@ +package com.glxp.api.dao.basic; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.basic.BasicProductCategory; +import com.glxp.api.res.basic.BasicProductCategoryTypeResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BasicProductCategoryMapper extends BaseMapper { + List getTreeList(); + List selectLowTypeAll(@Param("code") String code); + + Long selectProductByRelCode(@Param("relCode") String relCode); +} diff --git a/src/main/java/com/glxp/api/dao/basic/BasicProductCategoryRelMapper.java b/src/main/java/com/glxp/api/dao/basic/BasicProductCategoryRelMapper.java new file mode 100644 index 000000000..81d2a72ef --- /dev/null +++ b/src/main/java/com/glxp/api/dao/basic/BasicProductCategoryRelMapper.java @@ -0,0 +1,15 @@ +package com.glxp.api.dao.basic; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.basic.BasicProductCategoryRel; +import com.glxp.api.req.basic.FilterUdiProductRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface BasicProductCategoryRelMapper extends BaseMapper { + + List selectAll(FilterUdiProductRequest filterUdiProductRequest); +} 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 0667bd3d3..6580c5dda 100644 --- a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java +++ b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java @@ -21,6 +21,8 @@ public interface UdiRelevanceDao extends BaseMapperPlus filterUdiGp(FilterUdiRelRequest filterUdiRelRequest); + List filterUdiGpexist(FilterUdiRelRequest filterUdiRelRequest); + // UdiRelevanceResponse selectUdiByUUid List selectByUuid(@Param("uuid") String uuid); diff --git a/src/main/java/com/glxp/api/dao/inout/IoCodeTempDao.java b/src/main/java/com/glxp/api/dao/inout/IoCodeTempDao.java index 38a66c9d7..95f7a691a 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoCodeTempDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoCodeTempDao.java @@ -16,4 +16,6 @@ public interface IoCodeTempDao extends BaseMapperPlus selectCodeList(FilterCodeRequest filterCodeRequest); + + Integer selectExitCount(FilterCodeRequest filterCodeRequest); } diff --git a/src/main/java/com/glxp/api/dao/inout/PlatformDao.java b/src/main/java/com/glxp/api/dao/inout/PlatformDao.java new file mode 100644 index 000000000..0101cdcd9 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inout/PlatformDao.java @@ -0,0 +1,40 @@ +package com.glxp.api.dao.inout; + + +import com.glxp.api.entity.system.PlatformEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface PlatformDao { + + int batchSave(List list); + + List list( Map map); + + int count(Map map); + + PlatformEntity get(String id); + + /** + * 根据名称和访问地址查询平台信息 + * + * @param name + * @param host + * @return + */ + List selectByNameAndHost(@Param("name") String name, @Param("host") String host); + + PlatformEntity selectById(@Param("platformId") String platformId); + + int insert(PlatformEntity platformEntity); + + List selectList(@Param("id") String id, @Param("name") String name, @Param("host") String host); + + int deleteById(@Param("id") String id); + + void updateById(PlatformEntity platformEntity); +} diff --git a/src/main/java/com/glxp/api/dao/inout/UnitMaintainPlatformDao.java b/src/main/java/com/glxp/api/dao/inout/UnitMaintainPlatformDao.java new file mode 100644 index 000000000..f70ad117b --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inout/UnitMaintainPlatformDao.java @@ -0,0 +1,48 @@ +package com.glxp.api.dao.inout; + + +import com.glxp.api.entity.inout.UnitMaintainPlatformEntity; +import com.glxp.api.req.inout.PlatformLinkRequest; +import com.glxp.api.res.inout.PlatformLinkResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface UnitMaintainPlatformDao { + + /** + * 查询医院客户列表 + * + * @param page + * @param customerId + * @param key + * @return + */ + List getLinkPlatformList(@Param("customerId") String customerId, @Param("key") String key); + + /** + * 根据客户ID查询关联数据 + * + * @param customerId + * @return + */ + List selectByCustomerId(@Param("customerId") Long customerId); + + void updateById(UnitMaintainPlatformEntity maintainPlatform); + + void insert(UnitMaintainPlatformEntity unitMaintainPlatformEntity); + + List selectList(PlatformLinkRequest platformLinkRequest); + + UnitMaintainPlatformEntity findLinkData(@Param("customerId") long customerId, @Param("action") String action, @Param("unitId") String unitId); + + void deleteById(String id); + + Long selectCount(@Param("unitId") String unitId, @Param("action") String action); + + List selectDelectList(@Param("platformId") String platformId); + + PlatformLinkResponse selectByUnitld(@Param("unitld") String unitld); +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java index f3545ec23..4a4859a87 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java @@ -44,7 +44,7 @@ public interface InvPreInProductDetailDao extends BaseMapperPlus getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest); - Integer getInventoryQuantity(@Param("code") String code); + Integer getInventoryQuantity(@Param("code") String code,@Param("invCode") String invCode); //用货架查询 List filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest); diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java index 6219b6530..c08e43c5c 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java @@ -44,7 +44,7 @@ public interface InvPreProductDetailDao extends BaseMapperPlus getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest); - Integer getInventoryQuantity(@Param("code") String code); + Integer getInventoryQuantity(@Param("code") String code,@Param("invCode") String invCode); //用货架查询 List filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest); diff --git a/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java index d86aa5fb8..a5c680ad7 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java @@ -97,7 +97,7 @@ public interface InvProductDetailDao extends BaseMapperPlus getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest); - Integer getInventoryQuantity(@Param("code") String code); + Integer getInventoryQuantity(@Param("code") String code,@Param("invCode") String invCode); //用货架查询 List filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest); diff --git a/src/main/java/com/glxp/api/entity/basic/BasicProductCategory.java b/src/main/java/com/glxp/api/entity/basic/BasicProductCategory.java new file mode 100644 index 000000000..43d6c85af --- /dev/null +++ b/src/main/java/com/glxp/api/entity/basic/BasicProductCategory.java @@ -0,0 +1,66 @@ +package com.glxp.api.entity.basic; + +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 java.util.Date; +import lombok.Data; + +/** + * 物资类别表 + */ +@Data +@TableName(value = "basic_product_category") +public class BasicProductCategory { + @TableId(value = "id", type = IdType.INPUT) + private Long id; + + /** + * 物资类别编码 + */ + @TableField(value = "code") + private String code; + + /** + * 父级编码 + */ + @TableField(value = "parentCode") + private String parentCode; + + /** + * 物资类别名称 + */ + @TableField(value = "`name`") + private String name; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + /** + * 创建时间 + */ + @TableField(value = "createTime") + private Date createTime; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private Date updateTime; + + /** + * 创建人 + */ + @TableField(value = "`createUser`") + private String createUser; + + /** + * 更新人 + */ + @TableField(value = "updateUser") + private String updateUser; +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/basic/BasicProductCategoryRel.java b/src/main/java/com/glxp/api/entity/basic/BasicProductCategoryRel.java new file mode 100644 index 000000000..a2419405d --- /dev/null +++ b/src/main/java/com/glxp/api/entity/basic/BasicProductCategoryRel.java @@ -0,0 +1,26 @@ +package com.glxp.api.entity.basic; + +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 = "basic_product_category_rel") +public class BasicProductCategoryRel { + @TableId(value = "id", type = IdType.INPUT) + private Integer id; + + /** + * 院内编码 + */ + @TableField(value = "code") + private String code; + + /** + * 耗材字典ID主键 + */ + @TableField(value = "relId") + private String relId; +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inout/ExcelVO.java b/src/main/java/com/glxp/api/entity/inout/ExcelVO.java index 604ac89cd..740b0c05b 100644 --- a/src/main/java/com/glxp/api/entity/inout/ExcelVO.java +++ b/src/main/java/com/glxp/api/entity/inout/ExcelVO.java @@ -34,6 +34,10 @@ public class ExcelVO { @ApiModelProperty(value = "批次号") private String batchNo; + @ExcelProperty("仓库") + @ApiModelProperty(value = "仓库") + private String deptName; + @ExcelProperty({"期初","数量"}) @ApiModelProperty(value = "数量") private Integer beginCount; @@ -83,6 +87,8 @@ public class ExcelVO { @ApiModelProperty(value = "金额") private BigDecimal balanceAmount; + + //无需导出字段使用此注解 //@JsonSerialize(using = ToStringSerializer.class) diff --git a/src/main/java/com/glxp/api/entity/inout/UnitMaintainPlatformEntity.java b/src/main/java/com/glxp/api/entity/inout/UnitMaintainPlatformEntity.java new file mode 100644 index 000000000..78d30c5b7 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/inout/UnitMaintainPlatformEntity.java @@ -0,0 +1,71 @@ +package com.glxp.api.entity.inout; + +import lombok.Data; + +/** + * 医院客户表 + */ +@Data +public class UnitMaintainPlatformEntity { + + private Integer id; + + /** + * 往来单位ID + */ + private String unitId; + + /** + * 客户ID + */ + private Long customerId; + + /** + * 平台ID + */ + private String platformId; + + /** + * 源单据类型 + */ + private String sourceAction; + + /** + * 目标单据类型 + */ + private String targetAction; + + /** + * 仓库码 + */ + private String invCode; + + /** + * 分库码 + */ + private String invSubCode; + + /** + * 应用名称 + */ + private String appid; + + /** + * 秘钥 + */ + private String secretKey; + + /** + * 应用ID + */ + private String apiKey; + + + //目标单据类型 + private String targetName; + + private String invName; + + private String invSubName; + +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/req/basic/BasicProductTypeFilterRequest.java b/src/main/java/com/glxp/api/req/basic/BasicProductTypeFilterRequest.java new file mode 100644 index 000000000..4a0312316 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/BasicProductTypeFilterRequest.java @@ -0,0 +1,12 @@ +package com.glxp.api.req.basic; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class BasicProductTypeFilterRequest extends ListPageRequest { + + private String name; + private Integer type; + private String code; +} diff --git a/src/main/java/com/glxp/api/req/basic/BasicProductTypeRequest.java b/src/main/java/com/glxp/api/req/basic/BasicProductTypeRequest.java new file mode 100644 index 000000000..7f262a46b --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/BasicProductTypeRequest.java @@ -0,0 +1,16 @@ +package com.glxp.api.req.basic; + +import lombok.Data; + +import java.util.List; + +@Data +public class BasicProductTypeRequest { + + private Long id; + private String code; + private String parentCode; + private String name; + private String remark; + List ids; +} diff --git a/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java b/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java index 2b54dab8f..286bca11b 100644 --- a/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java +++ b/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java @@ -55,4 +55,14 @@ public class CompanyProductRelevanceRequest extends ListPageRequest { private String manufactory; private String flbm; private List uuids; + + 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/basic/FilterUdiProductRequest.java b/src/main/java/com/glxp/api/req/basic/FilterUdiProductRequest.java new file mode 100644 index 000000000..98fa46517 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/FilterUdiProductRequest.java @@ -0,0 +1,28 @@ +package com.glxp.api.req.basic; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class FilterUdiProductRequest extends ListPageRequest { + + private String ylqxzcrbarmc; + private String cpmctymc; + private String ggxh; + private String udiCode; + private String unionCode; + private String zczbhhzbapzbh; + private String manufactory; + private String code; + private String parentCode; + private String nameCode; + private String thrPiId; + private String originUuid; + private Integer diType; + private List existid; + + + +} diff --git a/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java b/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java index 02dcd5293..bea9e34eb 100644 --- a/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java +++ b/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java @@ -76,5 +76,16 @@ public class FilterUdiRelRequest extends ListPageRequest { private List uuids; private List ids; private String flbm; + private String parentCode; + private List existid; + + 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/inout/FilterOrderDetailResultRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java index 61e7ef2a2..f7ce7869b 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java @@ -50,4 +50,6 @@ public class FilterOrderDetailResultRequest extends ListPageRequest { private String templateId; private List actions; private List list; + private String action; + private String mainAction; } diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java index b84784f3b..b1b3c9e94 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java @@ -190,4 +190,6 @@ public class FilterOrderRequest extends ListPageRequest { private List invoiceActions2; private String orderBy; + private String uploadKey; + } diff --git a/src/main/java/com/glxp/api/req/inout/PlatformLinkRequest.java b/src/main/java/com/glxp/api/req/inout/PlatformLinkRequest.java new file mode 100644 index 000000000..0c46aecca --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/PlatformLinkRequest.java @@ -0,0 +1,46 @@ +package com.glxp.api.req.inout; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +/** + * 医院客户请求参数 + */ +@Data +public class PlatformLinkRequest extends ListPageRequest { + + private Integer id; + + private String unitId; + + private String corpName; + + private String platformId; + + private String platformUsername; + + private String platformPassword; + + private String appid; + + private String apiKey; + + private String secretKey; + + private String sourceAction; + + private String targetAction; + + private String invCode; + + private String invSubCode; + + private String key; + + private String customerId; + + private String invName; + private String invSubName; + private String targetName; +} diff --git a/src/main/java/com/glxp/api/res/auth/WebTitleResponse.java b/src/main/java/com/glxp/api/res/auth/WebTitleResponse.java new file mode 100644 index 000000000..200501e5f --- /dev/null +++ b/src/main/java/com/glxp/api/res/auth/WebTitleResponse.java @@ -0,0 +1,10 @@ +package com.glxp.api.res.auth; + +import lombok.Data; + +@Data +public class WebTitleResponse { + + private String title; + +} diff --git a/src/main/java/com/glxp/api/res/basic/BasicProductCategoryTypeResponse.java b/src/main/java/com/glxp/api/res/basic/BasicProductCategoryTypeResponse.java new file mode 100644 index 000000000..d777c6ee1 --- /dev/null +++ b/src/main/java/com/glxp/api/res/basic/BasicProductCategoryTypeResponse.java @@ -0,0 +1,22 @@ +package com.glxp.api.res.basic; + +import lombok.Data; + +import java.util.Date; + +@Data +public class BasicProductCategoryTypeResponse { + + private Long id; + private String code; + private String parentCode; + private String name; + private String remark; + private Date createTime; + private Date updateTime; + private String createUser; + private String updateUser; + private String label; + + +} diff --git a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java index a3b076167..9e7ca9632 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java @@ -114,6 +114,8 @@ public class UdiRelevanceResponse { private String customerId; + private Integer bpcrid; + public int getBhzxxsbzsl() { if (bhzxxsbzsl == null || bhzxxsbzsl == 0) { return 1; diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailResultResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailResultResponse.java index 56e2da9f7..8c18e19e1 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailResultResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailResultResponse.java @@ -1,5 +1,6 @@ package com.glxp.api.res.inout; +import cn.hutool.core.util.StrUtil; import lombok.Data; import java.math.BigDecimal; @@ -161,6 +162,17 @@ public class IoOrderDetailResultResponse { private String billTypeName; private String mainAction; private Date auditTime; + private String fromInvName; + private String fromName; + + public String getFromName() { + if (StrUtil.isNotEmpty(fromInvName)) + return fromInvName; + if (StrUtil.isNotEmpty(fromCorpName)) + return fromCorpName; + + return fromName; + } } diff --git a/src/main/java/com/glxp/api/res/inout/IoUploadOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoUploadOrderResponse.java new file mode 100644 index 000000000..a9849c649 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoUploadOrderResponse.java @@ -0,0 +1,19 @@ +package com.glxp.api.res.inout; + +import com.glxp.api.entity.inout.*; +import lombok.Data; + +import java.util.List; + +@Data +public class IoUploadOrderResponse { + + private List ioOrderDetailCodeEntityList; + private List ioCodeTempEntityList; + private IoOrderEntity ioOrderEntity; + private PlatformLinkResponse platformLinkRespons; + private List ioOrderDetailBizEntityList; + private List ioOrderDetailResultEntityList; + private List ioOrderInvoiceEntityList; + +} diff --git a/src/main/java/com/glxp/api/res/inout/PlatformLinkResponse.java b/src/main/java/com/glxp/api/res/inout/PlatformLinkResponse.java new file mode 100644 index 000000000..29c43fddf --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/PlatformLinkResponse.java @@ -0,0 +1,44 @@ +package com.glxp.api.res.inout; + +import lombok.Data; + +/** + * 往来单位关联自助平台数据实体类 + */ +@Data +public class PlatformLinkResponse { + + //往来单位ID + private Long id; + //往来单位编码 + private String unitId; + //往来单位名称 + private String corpName; + //往来单位类型 + private Integer corpType; + //拼音码 + private String pinyinCode; + //自助平台名称 + private String platformName; + //自助平台ID + private String platformId; + + private String socurceName; + + //本地单据类型 + private String sourceAction; + private String sourceName; + //目标单据类型 + private String targetAction; + private String targetName; + + private String invCode; + private String invName; + private String invSubCode; + private String invSubName; + + private String name; + private String host; + private String appid; + private String secretKey; +} diff --git a/src/main/java/com/glxp/api/service/basic/BasicCorpService.java b/src/main/java/com/glxp/api/service/basic/BasicCorpService.java index c1ef129ea..5dc88a603 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicCorpService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicCorpService.java @@ -55,4 +55,6 @@ public interface BasicCorpService { List selectCorpList(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest); + List getCorpLists(); + } diff --git a/src/main/java/com/glxp/api/service/basic/BasicHospTypeService.java b/src/main/java/com/glxp/api/service/basic/BasicHospTypeService.java index bba6e0f9d..fc0ebceaf 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicHospTypeService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicHospTypeService.java @@ -35,6 +35,8 @@ public interface BasicHospTypeService extends IService { List filterUdiGp(FilterUdiRelRequest filterUdiRelRequest); + List filterUdiGpexist(FilterUdiRelRequest filterUdiRelRequest); + Boolean checkName(BasicHospTypeRequest basicHospTypeRequest, Integer type); diff --git a/src/main/java/com/glxp/api/service/basic/BasicProductCategoryRelService.java b/src/main/java/com/glxp/api/service/basic/BasicProductCategoryRelService.java new file mode 100644 index 000000000..16c4f88b0 --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/BasicProductCategoryRelService.java @@ -0,0 +1,12 @@ +package com.glxp.api.service.basic; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.glxp.api.dao.basic.BasicProductCategoryRelMapper; +import com.glxp.api.entity.basic.BasicProductCategoryRel; +import org.springframework.stereotype.Service; + +@Service +public class BasicProductCategoryRelService extends ServiceImpl { + + +} diff --git a/src/main/java/com/glxp/api/service/basic/BasicProductCategoryServiceImpl.java b/src/main/java/com/glxp/api/service/basic/BasicProductCategoryServiceImpl.java new file mode 100644 index 000000000..85755c75b --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/BasicProductCategoryServiceImpl.java @@ -0,0 +1,191 @@ +package com.glxp.api.service.basic; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.basic.BasicProductCategoryMapper; +import com.glxp.api.dao.basic.BasicProductCategoryRelMapper; +import com.glxp.api.entity.basic.BasicProductCategory; +import com.glxp.api.entity.basic.BasicProductCategoryRel; +import com.glxp.api.req.basic.BasicProductTypeFilterRequest; +import com.glxp.api.req.basic.BasicProductTypeRequest; +import com.glxp.api.req.basic.FilterUdiProductRequest; +import com.glxp.api.res.basic.BasicProductCategoryTypeResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.basic.impl.BasicProductCategoryService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class BasicProductCategoryServiceImpl implements BasicProductCategoryService { + + @Resource + private BasicProductCategoryMapper basicProductCategoryMapper; + + @Resource + CustomerService customerService; + + @Resource + BasicProductCategoryRelMapper basicProductCategoryRelMapper; + + + + @Override + public List getTreeList() { + + return basicProductCategoryMapper.getTreeList(); + } + + @Override + public BasicProductCategory selectBasicHospTypeEntity() { + QueryWrapper Wrapper = new QueryWrapper<>(); + Wrapper.eq("code",10000); + return basicProductCategoryMapper.selectOne(Wrapper); + } + + @Override + public List getMenuList(BasicProductTypeFilterRequest basicProductTypeFilterRequest) { + QueryWrapper ew=new QueryWrapper<>(); + ew.ne("code",10000); + if(basicProductTypeFilterRequest.getType()!=null && basicProductTypeFilterRequest.getType()==1 && StrUtil.isNotEmpty(basicProductTypeFilterRequest.getCode())){ + List basicProductCategories = basicProductCategoryMapper.selectLowTypeAll(basicProductTypeFilterRequest.getCode()); + List ids = basicProductCategories.stream().map(BasicProductCategory::getId).collect(Collectors.toList()); + ew.notIn("id",ids); + } + List list = basicProductCategoryMapper.selectList(ew); + return list; + } + + @Override + public Boolean checkName(BasicProductTypeRequest basicProductTypeRequest, Integer type) { + Long sum=null; + //1添加 + if(type==1){ + //查看名字是不是重复 + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("name",basicProductTypeRequest.getName()); + sum=basicProductCategoryMapper.selectCount(ew); + }else{ + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("name",basicProductTypeRequest.getName()); + ew.ne("id",basicProductTypeRequest.getId()); + sum=basicProductCategoryMapper.selectCount(ew); + } + if(sum>0){ + return false; + }else{ + return true; + } + } + + @Override + public boolean updateBasicHospType(BasicProductTypeRequest basicProductTypeRequest) { + boolean falg=true; + BasicProductCategory basicProductCategory = new BasicProductCategory(); + basicProductCategory.setId(basicProductTypeRequest.getId()); + basicProductCategory.setCreateTime(new Date()); + basicProductCategory.setUpdateTime(new Date()); + basicProductCategory.setName(basicProductTypeRequest.getName()); + basicProductCategory.setParentCode(basicProductTypeRequest.getParentCode()); + basicProductCategory.setRemark(basicProductTypeRequest.getRemark()); + Long userId=customerService.getUserId(); + basicProductCategory.setCreateUser(userId+""); + basicProductCategory.setUpdateUser(userId+""); + int i = basicProductCategoryMapper.updateById(basicProductCategory); + if(i == 0){ + falg=false; + } + return falg; + } + + @Override + public Boolean saveBasicHospType(BasicProductTypeRequest basicProductTypeRequest) { + boolean falg=true; + BasicProductCategory basicProductCategory = new BasicProductCategory(); + basicProductCategory.setId(basicProductTypeRequest.getId()); + basicProductCategory.setCreateTime(new Date()); + basicProductCategory.setUpdateTime(new Date()); + basicProductCategory.setName(basicProductTypeRequest.getName()); + basicProductCategory.setParentCode(basicProductTypeRequest.getParentCode()); + basicProductCategory.setRemark(basicProductTypeRequest.getRemark()); + Long userId=customerService.getUserId(); + basicProductCategory.setCreateUser(userId+""); + basicProductCategory.setUpdateUser(userId+""); + //获取数据库最大的code + QueryWrapper ew=new QueryWrapper<>(); + ew.select("max(code) as code"); + BasicProductCategory basicProductCategory1 = basicProductCategoryMapper.selectOne(ew); + basicProductCategory.setCode(Integer.valueOf(basicProductCategory1.getCode())+1+""); + basicProductCategory.setId(IdUtil.getSnowflakeNextId()); + int insert = basicProductCategoryMapper.insert(basicProductCategory); + if(insert == 0){ + falg=false; + } + return falg; + } + + @Override + public String delectBasicHospType(BasicProductTypeRequest basicProductTypeRequest) { + //查询是否有自己的子集 + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("parentCode",basicProductTypeRequest.getCode()); + Long count=basicProductCategoryMapper.selectCount(ew); + if(count>0){ + return "请先删除该节点底下的数据!"; + } + //查询是否有绑定产品 + count = basicProductCategoryMapper.selectProductByRelCode(basicProductTypeRequest.getCode()); + if(count >0){ + return "该节点还存在产品,请先删除!"; + } + basicProductCategoryMapper.deleteById(basicProductTypeRequest.getId()); + + return ""; + } + + @Override + public List selectAll(FilterUdiProductRequest filterUdiProductRequest) { + if (filterUdiProductRequest == null) { + return Collections.emptyList(); + } + if (filterUdiProductRequest.getPage() != null) { + int offset = (filterUdiProductRequest.getPage() - 1) * filterUdiProductRequest.getLimit(); + PageHelper.offsetPage(offset, filterUdiProductRequest.getLimit()); + } + + return basicProductCategoryRelMapper.selectAll(filterUdiProductRequest); + } + + @Override + public boolean insertCateRel(BasicProductTypeRequest basicProductTypeRequest) { + BasicProductCategoryRel basicProductCategoryRel = new BasicProductCategoryRel(); + int insert =0; + for (String id : basicProductTypeRequest.getIds()) { + basicProductCategoryRel.setRelId(id); + basicProductCategoryRel.setCode(basicProductTypeRequest.getCode()); + insert = basicProductCategoryRelMapper.insert(basicProductCategoryRel); + } + + return insert>0; + + } + + @Override + public BasicProductCategory checkCode(String parentCode) { + return basicProductCategoryMapper.selectOne(new QueryWrapper().eq("code",parentCode)); + } + + @Override + public boolean deleterelByid(Integer id) { + + return basicProductCategoryRelMapper.deleteById(id)>0; + } +} + diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java index 4c6638100..50e57fc33 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java @@ -167,4 +167,9 @@ public class BasicCorpServiceImpl implements BasicCorpService { } return false; } + + @Override + public List getCorpLists() { + return basicCorpDao.getCorpLists(); + } } diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicHospTypeServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicHospTypeServiceImpl.java index 7ba10f5f0..8c5d071cb 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicHospTypeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicHospTypeServiceImpl.java @@ -8,7 +8,6 @@ import com.github.pagehelper.PageHelper; import com.glxp.api.dao.basic.BasicHospTypeDao; import com.glxp.api.dao.basic.UdiRelevanceDao; import com.glxp.api.entity.basic.BasicHospTypeEntity; -import com.glxp.api.entity.basic.BasicHospTypeRelEntity; import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.req.basic.BasicHospTypeFilterRequest; import com.glxp.api.req.basic.BasicHospTypeRequest; @@ -203,6 +202,20 @@ public class BasicHospTypeServiceImpl extends ServiceImpl filterUdiGpexist(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.filterUdiGpexist(filterUdiRelRequest); + return data; + } + @Override public Boolean checkName(BasicHospTypeRequest basicHospTypeRequest, Integer type) { Long sum = null; diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicProductCategoryService.java b/src/main/java/com/glxp/api/service/basic/impl/BasicProductCategoryService.java new file mode 100644 index 000000000..1790a78de --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicProductCategoryService.java @@ -0,0 +1,40 @@ +package com.glxp.api.service.basic.impl; + +import com.glxp.api.entity.basic.BasicProductCategory; +import com.glxp.api.req.basic.BasicProductTypeFilterRequest; +import com.glxp.api.req.basic.BasicProductTypeRequest; +import com.glxp.api.req.basic.FilterUdiProductRequest; +import com.glxp.api.res.basic.BasicProductCategoryTypeResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; + +import java.util.List; + +public interface BasicProductCategoryService { + + List getTreeList(); + + BasicProductCategory selectBasicHospTypeEntity(); + + List getMenuList(BasicProductTypeFilterRequest basicProductTypeFilterRequest); + + Boolean checkName(BasicProductTypeRequest basicProductTypeRequest, Integer type); + + boolean updateBasicHospType(BasicProductTypeRequest basicProductTypeRequest); + + Boolean saveBasicHospType(BasicProductTypeRequest basicProductTypeRequest); + + String delectBasicHospType(BasicProductTypeRequest basicProductTypeRequest); + + + List selectAll(FilterUdiProductRequest filterUdiProductRequest); + + boolean insertCateRel(BasicProductTypeRequest basicProductTypeRequest); + + BasicProductCategory checkCode(String parentCode); + + boolean deleterelByid(Integer id); + + + +} + diff --git a/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java b/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java index e1c3137c5..f39684883 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCodeTempService.java @@ -40,4 +40,6 @@ public interface IoCodeTempService { List findCodeList(FilterCodeRequest filterCodeRequest); boolean isExit(String orderId); + + Integer selectExitCount(String orderId, String bacthNo, Long relId, String supId); } diff --git a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java index c35f1b330..7247a3507 100644 --- a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java @@ -134,7 +134,7 @@ public class IoGenInvService { //生成库存产品表 for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) { - InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(),orderEntity.getCreateUser(),ConstantStatus.ACTION_TYPE_NORMAL); + InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(), orderEntity.getCreateUser(), ConstantStatus.ACTION_TYPE_NORMAL); if (invUserProductEntity == null) { invUserProductEntity = new InvUserProductEntity(); invUserProductEntity.setRelIdFk(orderDetailResultEntity.getBindRlFk()); @@ -185,7 +185,6 @@ public class IoGenInvService { } - @Resource InvPreProductService invPreProductService; @Resource @@ -260,7 +259,7 @@ public class IoGenInvService { //生成库存产品表 for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) { - InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(),orderEntity.getCreateUser(),ConstantStatus.ACTION_TYPE_PREIN); + InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(), orderEntity.getCreateUser(), ConstantStatus.ACTION_TYPE_PREIN); if (invUserProductEntity == null) { invUserProductEntity = new InvUserProductEntity(); invUserProductEntity.setRelIdFk(orderDetailResultEntity.getBindRlFk()); @@ -312,7 +311,6 @@ public class IoGenInvService { } - @Resource InvPreinProductService invPreinProductService; @@ -381,7 +379,11 @@ public class IoGenInvService { invProductDetailEntity.setRelId(codeEntity.getRelId()); invProductDetailEntity.setUpdateTime(new Date()); invProductDetailEntity.setId(null); - invProductDetailEntity.setInvSpaceCode(codeEntity.getPreInSpaceCode()); + if (StrUtil.isNotEmpty(codeEntity.getPreInSpaceCode())) { + invProductDetailEntity.setInvSpaceCode(codeEntity.getPreInSpaceCode()); + } else { + invProductDetailEntity.setInvSpaceCode(codeEntity.getWarehouseCode()); + } invProductDetailEntity.setPurchaseType(ConstantStatus.PRUCHASE_COMMON); if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { invProductDetailEntity.setInCount(invProductDetailEntity.getReCount()); @@ -405,7 +407,7 @@ public class IoGenInvService { List codeEnttities = codeService.findByOrderId(orderId); //生成库存产品表 for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) { - InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(),orderEntity.getCreateUser(),ConstantStatus.ACTION_TYPE_ADVANCE); + InvUserProductEntity invUserProductEntity = invUserProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode(), orderEntity.getCreateUser(), ConstantStatus.ACTION_TYPE_ADVANCE); if (invUserProductEntity == null) { invUserProductEntity = new InvUserProductEntity(); invUserProductEntity.setRelIdFk(orderDetailResultEntity.getBindRlFk()); diff --git a/src/main/java/com/glxp/api/service/inout/PlatformService.java b/src/main/java/com/glxp/api/service/inout/PlatformService.java new file mode 100644 index 000000000..7b598b769 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inout/PlatformService.java @@ -0,0 +1,117 @@ +package com.glxp.api.service.inout; + + + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.inout.UnitMaintainPlatformEntity; +import com.glxp.api.entity.system.PlatformEntity; +import com.glxp.api.req.inout.PlatformLinkRequest; +import com.glxp.api.res.inout.PlatformLinkResponse; + +import java.util.List; +import java.util.Map; + +public interface PlatformService { + + + public int save(PlatformEntity platformEntity); + + public int remove(String id); + + public BaseResponse update(PlatformEntity platformEntity); + + List list(Map map); + + int count(Map map); + + PlatformEntity get(String id); + + /** + * 查询往来单位和自助平台关联数据 + * + * @param platformLinkRequest + * @return + */ + List getLinkPlatformList(PlatformLinkRequest platformLinkRequest); + + /** + * 往来单位和自助平台解绑 + * + * @param id + */ + void unbindPlatform(String id); + + /** + * 获取自助平台单据类型 + * + * @param platformId + * @return + */ + BaseResponse getTargetActions(String platformId, String invSubCode,String apiKey,String apiSecret); + + + //获取自助平台一级仓库 + BaseResponse getTargetInv(String platformId,String apiKey,String apiSecret); + + + //获取自助平台一级仓库所属分库 + BaseResponse getTargetSubInv(String platformId, String invCode,String apiKey,String apiSecret); + + /** + * 测试自助平台连通性 + * + * @param host + * @return + */ + BaseResponse testPlatformConnection(String host); + + /** + * 根据ID查询自助平台信息 + * + * @param platformId + * @return + */ + PlatformEntity getPlatformById(String platformId); + + /** + * 保存医院客户关联关系 + * + * @param unitMaintainPlatform + */ + void saveUnitPlatform(UnitMaintainPlatformEntity unitMaintainPlatform); + + /** + * 校验关联数据 + * + * @param platformLinkRequest + * @return + */ + public String verifyUnitMaintainPlatform(PlatformLinkRequest platformLinkRequest); + + /** + * 查询关联数据 + * + * @param customerId + * @param action + * @param unitId + * @return + */ + UnitMaintainPlatformEntity findLinkData(long customerId, String action, String unitId); + + /** + * 获取客户关联详情 + * @param platformId + * @return + */ + List selectDelectList(PlatformLinkRequest platformLinkRequest); + + /** + * 上传单据到自助 + * + * @return + */ + BaseResponse uploadOrder(String orderId) throws JsonProcessingException; + + +} diff --git a/src/main/java/com/glxp/api/service/inout/impl/ExcelServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/ExcelServiceImpl.java index f3563b913..b8186f553 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/ExcelServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/ExcelServiceImpl.java @@ -196,6 +196,7 @@ public class ExcelServiceImpl implements ExcelService { vo.setId(i+1); vo.setProductName(ioStatDayEntities.get(i).getProductName()); vo.setGgxh(ioStatDayEntities.get(i).getGgxh()); + vo.setDeptName(ioStatDayEntities.get(i).getDeptName()); vo.setBatchNo(ioStatDayEntities.get(i).getBatchNo()); vo.setBeginCount(ioStatDayEntities.get(i).getBeginCount()); vo.setBeginPrice(ioStatDayEntities.get(i).getBeginPrice()); @@ -219,6 +220,7 @@ public class ExcelServiceImpl implements ExcelService { vo.setProductName(ioStatMonthEntities.get(i).getProductName()); vo.setGgxh(ioStatMonthEntities.get(i).getGgxh()); vo.setBatchNo(ioStatMonthEntities.get(i).getBatchNo()); + vo.setDeptName(ioStatMonthEntities.get(i).getDeptName()); vo.setBeginCount(ioStatMonthEntities.get(i).getBeginCount()); vo.setBeginPrice(ioStatMonthEntities.get(i).getBeginPrice()); vo.setBeginAmount(ioStatMonthEntities.get(i).getBeginAmount()); @@ -241,6 +243,7 @@ public class ExcelServiceImpl implements ExcelService { vo.setProductName(ioStatQuarterEntities.get(i).getProductName()); vo.setGgxh(ioStatQuarterEntities.get(i).getGgxh()); vo.setBatchNo(ioStatQuarterEntities.get(i).getBatchNo()); + vo.setDeptName(ioStatQuarterEntities.get(i).getDeptName()); vo.setBeginCount(ioStatQuarterEntities.get(i).getBeginCount()); vo.setBeginPrice(ioStatQuarterEntities.get(i).getBeginPrice()); vo.setBeginAmount(ioStatQuarterEntities.get(i).getBeginAmount()); @@ -263,6 +266,7 @@ public class ExcelServiceImpl implements ExcelService { vo.setProductName(ioStatYearEntities.get(i).getProductName()); vo.setGgxh(ioStatYearEntities.get(i).getGgxh()); vo.setBatchNo(ioStatYearEntities.get(i).getBatchNo()); + vo.setDeptName(ioStatYearEntities.get(i).getDeptName()); vo.setBeginCount(ioStatYearEntities.get(i).getBeginCount()); vo.setBeginPrice(ioStatYearEntities.get(i).getBeginPrice()); vo.setBeginAmount(ioStatYearEntities.get(i).getBeginAmount()); diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java index ca44942ee..c9a743ae5 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java @@ -92,4 +92,14 @@ public class IoCodeTempServiceImpl implements IoCodeTempService { return ioCodeTempDao.exists(new QueryWrapper().eq("orderId", orderId)); } + @Override + public Integer selectExitCount(String orderId, String bacthNo, Long relId, String supId) { + FilterCodeRequest filterCodeRequest = new FilterCodeRequest(); + filterCodeRequest.setOrderId(orderId); + filterCodeRequest.setBatchNo(bacthNo); + filterCodeRequest.setRelId(relId + ""); + filterCodeRequest.setSupId(supId); + return ioCodeTempDao.selectExitCount(filterCodeRequest); + } + } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoStatQuarterServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoStatQuarterServiceImpl.java index 98d6b0ce9..852e3827d 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoStatQuarterServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoStatQuarterServiceImpl.java @@ -139,7 +139,8 @@ public class IoStatQuarterServiceImpl implements IoStatQuarterService { String orderNo = gennerOrderUtils.createStatOrderNo(orderNoTypeBean); statOrderEntity.setRecordKey(orderNo); statOrderEntity.setType(2); - statOrderEntity.setDate(yesterday); + DateTime dateTime=DateUtil.offsetDay(yesterday,+1); + statOrderEntity.setDate(dateTime); statOrderEntity.setTitle(yesterday.year() + " 年 " + yesterday.quarter() + " 季度出入库汇总"); Date updateTime = new Date(); diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoStatYearServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoStatYearServiceImpl.java index fd195640c..cb84cbb14 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoStatYearServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoStatYearServiceImpl.java @@ -130,7 +130,8 @@ public class IoStatYearServiceImpl implements IoStatYearService { String orderNo = gennerOrderUtils.createStatOrderNo(orderNoTypeBean); statOrderEntity.setRecordKey(orderNo); statOrderEntity.setType(1); - statOrderEntity.setDate(yesterday); + DateTime dateTime=DateUtil.offsetDay(yesterday,+1); + statOrderEntity.setDate(dateTime); statOrderEntity.setTitle(yesterday.year() + " 年度出入库汇总"); Date updateTime = new Date(); diff --git a/src/main/java/com/glxp/api/service/inout/impl/PlatformServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/PlatformServiceImpl.java new file mode 100644 index 000000000..4deeda1a7 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inout/impl/PlatformServiceImpl.java @@ -0,0 +1,436 @@ +package com.glxp.api.service.inout.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpUtil; +import cn.hutool.json.JSONUtil; + +import com.alibaba.fastjson2.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.github.pagehelper.PageHelper; + +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.dao.inout.*; +import com.glxp.api.entity.inout.*; +import com.glxp.api.entity.system.PlatformEntity; +import com.glxp.api.idc.service.FileService; +import com.glxp.api.req.inout.PlatformLinkRequest; +import com.glxp.api.res.inout.IoUploadOrderResponse; +import com.glxp.api.res.inout.PlatformLinkResponse; +import com.glxp.api.service.inout.*; +import com.glxp.api.util.OkHttpCli; +import lombok.extern.slf4j.Slf4j; +import okhttp3.*; +import org.apache.commons.lang3.StringUtils; +import org.apache.tools.ant.util.DateUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.io.File; +import java.io.IOException; +import java.util.*; +import java.util.concurrent.TimeUnit; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class PlatformServiceImpl implements PlatformService { + + @Resource + private PlatformDao platformDao; + @Resource + private UnitMaintainPlatformDao unitMaintainPlatformDao; + @Resource + private OkHttpCli okHttpCli; + @Resource + IoOrderService ioOrderService; + @Resource + IoOrderDetailCodeService ioOrderDetailCodeService; + @Resource + IoCodeTempService ioCodeTempService; + @Resource + IoOrderDetailBizDao ioOrderDetailBizDao; + @Resource + IoOrderDetailResultDao ioOrderDetailResultDao; + @Resource + IoOrderInvoiceMapper ioOrderInvoiceMapper; + @Value("${file_path}") + private String filePath; + @Value("${API_KEY}") + private String apiKey; + @Value("${API_SECRET}") + private String apiSecret; + + public int save(PlatformEntity platformEntity) { + if (StringUtils.isEmpty(platformEntity.getId())) { + platformEntity.setId(String.valueOf(IdUtil.getSnowflake().nextId())); + } + return platformDao.insert(platformEntity); + } + + public int remove(String id) { + return platformDao.deleteById(id); + } + + public BaseResponse update(PlatformEntity platformEntity) { + if (StrUtil.isBlank(platformEntity.getId())) { + if (!verifyPlatformExist(platformEntity)) { + save(platformEntity); + return ResultVOUtils.success("添加成功"); + } else { + return ResultVOUtils.error(500, "已存在相同数据"); + } + } + platformDao.updateById(platformEntity); + return ResultVOUtils.success("更新成功"); + } + + private boolean verifyPlatformExist(PlatformEntity platformEntity) { + //校验名称和地址是否重复 + List list = platformDao.selectByNameAndHost(platformEntity.getName(), platformEntity.getHost()); + if (CollUtil.isEmpty(list)) { + return false; + } + return true; + } + + public List list(Map map) { + if (map.get("page") != null && map.get("limit") != null) { + Integer page = Integer.valueOf(String.valueOf(map.get("page"))); + Integer limit = Integer.valueOf(String.valueOf(map.get("limit"))); + PageHelper.offsetPage((page - 1) * limit, limit); + } + List list = platformDao.selectList(String.valueOf(map.get("id")), String.valueOf(map.get("name")), String.valueOf(map.get("host"))); + return list; + } + + public int count(Map map) { + return platformDao.count(map); + } + + public PlatformEntity get(String id) { + return platformDao.get(id); + } + + /** + * 查询往来单位和自助平台关联数据 + * + * @param platformLinkRequest + * @return + */ + public List getLinkPlatformList(PlatformLinkRequest platformLinkRequest) { + if (null == platformLinkRequest) { + return Collections.emptyList(); + } + if (null != platformLinkRequest.getPage() && null != platformLinkRequest.getLimit()) { + PageHelper.offsetPage((platformLinkRequest.getPage() - 1) * platformLinkRequest.getLimit(), platformLinkRequest.getLimit()); + } + return unitMaintainPlatformDao.getLinkPlatformList(platformLinkRequest.getCustomerId(), platformLinkRequest.getKey()); + } + + /** + * 往来单位和自助平台解绑 + * + * @param id + */ + public void unbindPlatform(String id) { + unitMaintainPlatformDao.deleteById(id); + } + + /** + * 获取自助平台单据类型 + * + * @param platformId + * @return + */ + public BaseResponse getTargetActions(String platformId, String invSubCode, String apiKey, String apiSecret) { + PlatformEntity platformEntity = platformDao.get(platformId); + if (null == platformEntity) { + return ResultVOUtils.success(); + } + String host = platformEntity.getHost(); + Map paramMap = new HashMap<>(); + paramMap.put("invSubCode", invSubCode); + String resp = okHttpCli.doGet(host + "/udiwms/bussinessType/udimsFilter", paramMap, buildHeader(apiKey, apiSecret)); + if (StrUtil.isNotBlank(resp) && resp.contains("20000")) { + return JSON.parseObject(resp, BaseResponse.class); + } else { + log.error("获取自助平台单据类型异常"); + return ResultVOUtils.error(500, "获取自助平台接口异常"); + } + } + + //获取自助平台一级仓库 + public BaseResponse getTargetInv(String platformId, String apiKey, String apiSecret) { + PlatformEntity platformEntity = platformDao.get(platformId); + if (null == platformEntity) { + return ResultVOUtils.success(); + } + String host = platformEntity.getHost(); + String url = host + "/spms/inv/warehouse/filterInv/forUdims"; + log.info("拉取自助平台仓库数据:" + url); + String resp = okHttpCli.doGet(url, buildHeader(apiKey, apiSecret)); + log.info("拉取结果:" + resp); + if (StrUtil.isNotBlank(resp) && resp.contains("20000")) { + try { + return JSON.parseObject(resp, BaseResponse.class); + } catch (Exception e) { + log.error("格式化自助平台仓库信息异常", e); + return ResultVOUtils.error(500, "调用自助平台接口异常"); + } + } else { + log.error("获取自助平台仓库失败"); + return ResultVOUtils.error(500, "调用自助平台接口异常"); + } + } + + + //获取自助平台一级仓库所属分库 + public BaseResponse getTargetSubInv(String platformId, String invCode, String apiKey, String apiSecret) { + PlatformEntity platformEntity = platformDao.get(platformId); + if (null == platformEntity) { + return ResultVOUtils.success(); + } + String host = platformEntity.getHost(); + Map paramMap = new HashMap<>(); + paramMap.put("invCode", invCode); + String resp = okHttpCli.doGet(host + "/spms/sub/inv/warehouse/getSubInvForUdims", paramMap, buildHeader(apiKey, apiSecret)); + if (StrUtil.isNotBlank(resp) && resp.contains("20000")) { + return JSON.parseObject(resp, BaseResponse.class); + } else { + log.error("获取自助平台分库失败"); + return ResultVOUtils.error(500, "获取自助平台接口异常"); + } + } + + /** + * 测试自助平台连通性 + * + * @param host + * @return + */ + public BaseResponse testPlatformConnection(String host) { + String testUrl = host + "/udiwms/auth/device/connect"; + String response = HttpUtil.get(testUrl); + if (StrUtil.isNotBlank(response)) { + try { + BaseResponse result = JSONUtil.toBean(response, BaseResponse.class); + if (result.getCode() == 20000) { + return ResultVOUtils.success(); + } + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } catch (Exception e) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + } else { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + } + + /** + * 根据ID查询自助平台信息 + * + * @param platformId + * @return + */ + public PlatformEntity getPlatformById(String platformId) { + return platformDao.selectById(platformId); + } + + /** + * 保存医院客户关联关系 + * + * @param unitMaintainPlatformEntity + */ + public void saveUnitPlatform(UnitMaintainPlatformEntity unitMaintainPlatformEntity) { + if (null != unitMaintainPlatformEntity.getId()) { + unitMaintainPlatformDao.updateById(unitMaintainPlatformEntity); + } else { + unitMaintainPlatformDao.insert(unitMaintainPlatformEntity); + } + + //更新当前客户关联数据的所有key + List list = unitMaintainPlatformDao.selectByCustomerId(unitMaintainPlatformEntity.getCustomerId()); + if (CollUtil.isNotEmpty(list)) { + for (UnitMaintainPlatformEntity maintainPlatform : list) { + maintainPlatform.setAppid(unitMaintainPlatformEntity.getAppid()); + maintainPlatform.setApiKey(unitMaintainPlatformEntity.getApiKey()); + maintainPlatform.setSecretKey(unitMaintainPlatformEntity.getSecretKey()); + unitMaintainPlatformDao.updateById(maintainPlatform); + } + } + + } + + @Override + public String verifyUnitMaintainPlatform(PlatformLinkRequest platformLinkRequest) { + List list = unitMaintainPlatformDao.selectList(platformLinkRequest); + if (CollUtil.isEmpty(list)) { + return "success"; + } else { + for (UnitMaintainPlatformEntity maintainPlatform : list) { + if (maintainPlatform.getId().equals(platformLinkRequest.getId())) { + return "success"; + } else { + return "重复添加"; + } + } + } + return "重复添加"; + } + + /** + * 查询关联数据 + * + * @param customerId + * @param action + * @param unitId + * @return + */ + public UnitMaintainPlatformEntity findLinkData(long customerId, String action, String unitId) { + return unitMaintainPlatformDao.findLinkData(customerId, action, unitId); + } + + @Override + public List selectDelectList(PlatformLinkRequest platformLinkRequest) { + if (null == platformLinkRequest) { + return Collections.emptyList(); + } + if (null != platformLinkRequest.getPage() && null != platformLinkRequest.getLimit()) { + PageHelper.offsetPage((platformLinkRequest.getPage() - 1) * platformLinkRequest.getLimit(), platformLinkRequest.getLimit()); + } + return unitMaintainPlatformDao.selectDelectList(platformLinkRequest.getPlatformId()); + } + + @Override + public BaseResponse uploadOrder(String orderId) throws JsonProcessingException { + + //查询单据信息 + IoOrderEntity ioOrderEntity = ioOrderService.findByBillNo(orderId); + if (ioOrderEntity == null) { + return ResultVOUtils.error(999, "该单据不存在!"); + } + //查询客户关联信息 + PlatformLinkResponse platformLinkRespons = unitMaintainPlatformDao.selectByUnitld(ioOrderEntity.getFromCorp()); + if(platformLinkRespons == null){ + return ResultVOUtils.error(999, "该单没有设置补单条件!"); + } + //获取单据详情 + List ioOrderDetailCodeEntityList=ioOrderDetailCodeService.findByOrderId(orderId); + List ioCodeTempEntityList = ioCodeTempService.findByOrderId(orderId); + for (IoCodeTempEntity ioCodeTempEntity : ioCodeTempEntityList) { + Map jsonMap = new HashMap<>(); + jsonMap.put("code", ioCodeTempEntity.getCode()); + ObjectMapper mapper = new ObjectMapper(); + String json = mapper.writeValueAsString(jsonMap); + ioCodeTempEntity.setCode(json); + } + //获取业务单 + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderIdFk",orderId); + List ioOrderDetailBizEntityList=ioOrderDetailBizDao.selectList(ew); + + //获取结果单 + QueryWrapper ew1=new QueryWrapper<>(); + ew1.eq("orderIdFk",orderId); + List ioOrderDetailResultEntityList=ioOrderDetailResultDao.selectList(ew1); + + //获取发票 + QueryWrapper ew2=new QueryWrapper<>(); + ew2.eq("orderIdFk",orderId); + List ioOrderInvoiceEntityList=ioOrderInvoiceMapper.selectList(ew2); + ArrayList list=new ArrayList<>(); + for (IoOrderInvoiceEntity ioOrderInvoiceEntity : ioOrderInvoiceEntityList) { + if(StrUtil.isNotBlank(ioOrderInvoiceEntity.getLicenseUrl())){ + list.add(filePath + "/register/image2/" + ioOrderInvoiceEntity.getLicenseUrl()); + ioOrderInvoiceEntity.setLicenseUrl("as" + ioOrderInvoiceEntity.getLicenseUrl()); + } + } + relayFile(list,platformLinkRespons.getHost()); + + //组装数据 + String host = platformLinkRespons.getHost(); + IoUploadOrderResponse ioUploadOrderResponse=new IoUploadOrderResponse(); + ioUploadOrderResponse.setIoOrderEntity(ioOrderEntity); + ioUploadOrderResponse.setPlatformLinkRespons(platformLinkRespons); + ioUploadOrderResponse.setIoCodeTempEntityList(ioCodeTempEntityList); + ioUploadOrderResponse.setIoOrderDetailCodeEntityList(ioOrderDetailCodeEntityList); + ioUploadOrderResponse.setIoOrderDetailResultEntityList(ioOrderDetailResultEntityList); + ioUploadOrderResponse.setIoOrderDetailBizEntityList(ioOrderDetailBizEntityList); + ioUploadOrderResponse.setIoOrderInvoiceEntityList(ioOrderInvoiceEntityList); + String resp = okHttpCli.doPostJson(host + "/spms/sub/inv/warehouse/addOrder", + JSON.toJSONString(ioUploadOrderResponse), buildHeader(platformLinkRespons.getAppid(), platformLinkRespons.getSecretKey())); + //回调结果 返回信息 + if (StrUtil.isNotBlank(resp) && resp.contains("20000")) { + return JSON.parseObject(resp, BaseResponse.class); + } else { + log.error("获取自助平台分库失败"); + return ResultVOUtils.error(500, "获取自助平台接口异常"); + } + } + + public String[] buildHeader(String apiKey, String apiSecret) { + String[] headers = {"api_key", apiKey, "secret_key", apiSecret}; + return headers; + } + + + /*转发图片*/ + private String relayFile(ArrayList files, String ip) { + String host = ip; + String result = ""; + + if (!StringUtils.isEmpty(host)) { + host += "/udiwms/file/uploadFile"; + OkHttpClient client = new OkHttpClient().newBuilder() + .connectTimeout(30, TimeUnit.SECONDS)//设置连接超时时间 + .readTimeout(30, TimeUnit.SECONDS)//设置读取超时时间 + .build(); + MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); + + MultipartBody.Builder builder = new MultipartBody.Builder(); + builder.setType(MultipartBody.FORM); + String fileType = "application/octet-stream"; + if (files != null && files.size() > 0) { + for (int i = 0; i < files.size(); i++) { + if (!StringUtils.isEmpty(files.get(i))) { + File file = new File(files.get(i)); + String fileName = files.get(i); + fileName = "as"+ fileName.substring(fileName.lastIndexOf("/")+1); + builder.addFormDataPart("files", fileName, + RequestBody.create(MediaType.parse(fileType), file)); + } + } + } + + RequestBody body = builder.build(); + + Request req = new Request.Builder() + .url(host) + .method("POST", body) + .addHeader("Content-Type", "application/x-www-form-urlencoded") + .addHeader("format", "json") + .addHeader("apiKey", apiKey) + .addHeader("secretKey", apiSecret) + .addHeader("timestamp", DateUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss")) + .addHeader("Access-Control-Allow-Headers", "Authorization, Origin, X-Requested-With, Content-Type, Accept") + .build(); + try { + Response response = client.newCall(req).execute(); + result = response.body().string(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + return result; + } + +} diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java index dc2f17495..a60037533 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java @@ -269,6 +269,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("orderId", bindInvSpaceRequest.getOId()); + ew.eq("invCode", bindInvSpaceRequest.getInvCode()); ew.eq("mainAction", "WareHouseIn"); List invPreInProductDetailEntityList = invPreInProductDetailDao.selectList(ew); if (invPreInProductDetailEntityList.size() == 0) { @@ -291,6 +292,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("orderId", bindInvSpaceRequest.getOId()); + ew.eq("invCode", bindInvSpaceRequest.getInvCode()); ew.eq("mainAction", "WareHouseIn"); List invPreProductDetailEntityList = invPreProductDetailDao.selectList(ew); for (InvPreProductDetailEntity invPreProductDetailEntity : invPreProductDetailEntityList) { @@ -309,6 +311,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("orderId", bindInvSpaceRequest.getOId()); + ew.eq("invCode", bindInvSpaceRequest.getInvCode()); ew.eq("mainAction", "WareHouseIn"); List invProductDetailEntityList = invProductDetailDao.selectList(ew); for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntityList) { diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java index a9380d487..0ddf724d2 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java @@ -515,7 +515,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { return "该产品库存不足!"; } } else { - count = invPreInProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + count = invPreInProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode(),bindInvSpaceRequest.getInvCode()); } if (count == null || count <= 0) { return "该产品库存不足!"; @@ -545,7 +545,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { } count = invPreProductDetailEntity.getInCount(); } else { - count = invPreProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + count = invPreProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode(),bindInvSpaceRequest.getInvCode()); } if (count == null || count <= 0) { @@ -576,7 +576,7 @@ public class InvPlaceServiceImpl implements InvPlaceService { } count = invProductDetailEntity.getInCount(); } else { - count = invProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode()); + count = invProductDetailDao.getInventoryQuantity(bindInvSpaceRequest.getCode(),bindInvSpaceRequest.getInvCode()); } if (count == null || count <= 0) { diff --git a/src/main/java/com/glxp/api/task/SyncHeartTask.java b/src/main/java/com/glxp/api/task/SyncHeartTask.java index 2dcc0989d..61fdbc44a 100644 --- a/src/main/java/com/glxp/api/task/SyncHeartTask.java +++ b/src/main/java/com/glxp/api/task/SyncHeartTask.java @@ -21,8 +21,8 @@ import javax.annotation.Resource; import java.util.Arrays; -@Component -@EnableScheduling +//@Component +//@EnableScheduling public class SyncHeartTask implements SchedulingConfigurer { final Logger logger = LoggerFactory.getLogger(SyncHeartTask.class); diff --git a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java index d10c44f95..d9d212812 100644 --- a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java +++ b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java @@ -34,7 +34,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutorService; @Component -@EnableScheduling +//@EnableScheduling @Slf4j public class SyncThirdSysTask implements SchedulingConfigurer { @@ -256,6 +256,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer { private void updateTask(String taskKey) { ThirdSysInterfaceExecuteVo vo = getLastResult(taskKey); vo.setFinished(true); + vo.setNextTime(new Date().getTime()); redisUtil.set(taskKey, vo); } @@ -269,12 +270,13 @@ public class SyncThirdSysTask implements SchedulingConfigurer { String taskKey = getTaskKey(thrSystemDetailEntity); ThirdSysInterfaceExecuteVo vo = getLastResult(taskKey); if (null != vo && !vo.isFinished()) { - log.info("有任务尚未执行完成,当前任务key:{}", taskKey); + log.info(vo.getKey() + "有任务尚未执行完成,当前任务key:{}", taskKey); return false; } - long nextTime = DateUtil.offsetMonth(new Date(), thrSystemDetailEntity.getTime()).getTime(); + long curTime = new Date().getTime(); if (vo != null) { - if (vo.getNextTime() - new Date().getTime() > thrSystemDetailEntity.getTime() * 1000 * 60) { + long lastTime = vo.getNextTime(); + if (curTime - lastTime < thrSystemDetailEntity.getTime().intValue() * 1000 * 60) { log.info("定时任务时间未到", taskKey); return false; } else { @@ -283,7 +285,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer { } else { vo = Optional.ofNullable(vo).orElse(new ThirdSysInterfaceExecuteVo()); vo.setKey(taskKey); - vo.setNextTime(nextTime); + vo.setNextTime(curTime); vo.setFinished(false); redisUtil.set(taskKey, vo); } diff --git a/src/main/java/com/glxp/api/util/MultipartFileTest.java b/src/main/java/com/glxp/api/util/MultipartFileTest.java new file mode 100644 index 000000000..a3f32642c --- /dev/null +++ b/src/main/java/com/glxp/api/util/MultipartFileTest.java @@ -0,0 +1,79 @@ +package com.glxp.api.util; + +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.FileItemFactory; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.MediaType; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; + + +import java.io.*; + +public class MultipartFileTest { + + private static final Logger log = LoggerFactory.getLogger(MultipartFileTest.class); + + private MultipartFileTest() { } + + + public static void main(String[] args) { + // 本地文件转为MultipartFile类型 + String fileName="D:\\1s\\a6294b6b58de15136bb827dd1efdc76.jpg"; + fileName = fileName.substring(fileName.lastIndexOf("/")); + } + + public static MultipartFile getMultipartFile(InputStream inputStream, String fileName) { + FileItem fileItem = createFileItem(inputStream, fileName); + return new CommonsMultipartFile(fileItem); + } + + + public static MultipartFile[] getMultipartFiles(InputStream[] inputStream, String fileName) { + // 多文件转换 + int length = inputStream.length; + MultipartFile[] multipartFiles = new MultipartFile[length]; + for (int i = 0; i < length; i++) { + FileItem fileItem = createFileItem(inputStream[i], fileName); + multipartFiles[i] = new CommonsMultipartFile(fileItem); + } + return multipartFiles; + } + + + public static FileItem createFileItem(InputStream inputStream, String fileName) { + FileItemFactory factory = new DiskFileItemFactory(16, null); + FileItem fileItem = factory.createItem("file", MediaType.MULTIPART_FORM_DATA_VALUE, true, fileName); + int read = 0; + OutputStream os = null; + byte[] buffer = new byte[10 * 1024 * 1024]; + try { + os = fileItem.getOutputStream(); + while ((read = inputStream.read(buffer, 0, 4096)) != -1) { + os.write(buffer, 0, read); + } + inputStream.close(); + } catch (IOException e) { + log.error("os write exception", e); + throw new IllegalArgumentException("文件流输出失败"); + } finally { + if (os != null) { + try { + os.close(); + } catch (IOException e) { + log.error("stream os close exception", e); + } + } + if (inputStream != null) { + try { + inputStream.close(); + } catch (IOException e) { + log.error("stream inputStream close exception", e); + } + } + } + return fileItem; + } +} diff --git a/src/main/java/com/glxp/api/util/OkHttpCli.java b/src/main/java/com/glxp/api/util/OkHttpCli.java index 25bc943a1..a853f71dc 100644 --- a/src/main/java/com/glxp/api/util/OkHttpCli.java +++ b/src/main/java/com/glxp/api/util/OkHttpCli.java @@ -117,6 +117,7 @@ public class OkHttpCli { } + /** * post 请求, 请求数据为 json 的字符串 * diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 97b7afa15..202c034e3 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -54,3 +54,4 @@ SPMS_KEY: lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs back_file_path: D:/share/udisps/back/ API_KEY: 1101 API_SECRET: zBITspLNvuoEd4FaamlSoqxRHmNsmQ9L +WEB_TITLE: 平潭协和医院 diff --git a/src/main/resources/application-pro.yml b/src/main/resources/application-pro.yml index 5624d4b29..6b234497c 100644 --- a/src/main/resources/application-pro.yml +++ b/src/main/resources/application-pro.yml @@ -51,5 +51,6 @@ SPMS_KEY: lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs back_file_path: D:/share/udisps/back/ API_KEY: 1101 API_SECRET: zBITspLNvuoEd4FaamlSoqxRHmNsmQ9L +WEB_TITLE: 平潭协和医院 diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 43279dcb4..a4c2e52f6 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -50,4 +50,5 @@ UDI_SERVER_URL: https://www.udims.com/UDI_DL_Server_test SPMS_KEY: lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs API_KEY: 1101 API_SECRET: zBITspLNvuoEd4FaamlSoqxRHmNsmQ9L +WEB_TITLE: 平潭协和医院 diff --git a/src/main/resources/application-wmd.yml b/src/main/resources/application-wmd.yml index e0ec69b11..f1a701c48 100644 --- a/src/main/resources/application-wmd.yml +++ b/src/main/resources/application-wmd.yml @@ -51,5 +51,6 @@ SPMS_KEY: lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs back_file_path: D:/share/udisps/back/ API_KEY: 1101 API_SECRET: zBITspLNvuoEd4FaamlSoqxRHmNsmQ9L +WEB_TITLE: 平潭协和医院 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 80e18f1ee..bfbb93cff 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,6 +1,6 @@ spring: profiles: - active: dev + active: test jmx: enabled: false servlet: @@ -8,7 +8,7 @@ spring: enabled: true max-file-size: 200MB max-request-size: 200MB - location: D:/tmp + location: /tmp mybatis-plus: mapper-locations: classpath:mybatis/mapper/*/*.xml diff --git a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml index 9644c13e2..83ac4e605 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicCorpDao.xml @@ -343,4 +343,11 @@ WHERE erpId NOT IN (SELECT customerId FROM sup_company) AND corpType = 2; + + diff --git a/src/main/resources/mybatis/mapper/basic/BasicProductCategoryMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicProductCategoryMapper.xml new file mode 100644 index 000000000..b9cb6e927 --- /dev/null +++ b/src/main/resources/mybatis/mapper/basic/BasicProductCategoryMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + id, code, parentCode, `name`, remark, createTime, updateTime, `createUser`, updateUser + + + + + + + + + diff --git a/src/main/resources/mybatis/mapper/basic/BasicProductCategoryRelMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicProductCategoryRelMapper.xml new file mode 100644 index 000000000..4378d441b --- /dev/null +++ b/src/main/resources/mybatis/mapper/basic/BasicProductCategoryRelMapper.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + id, code, relId + + + + + + + diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index dade4df0c..7922dae50 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -283,6 +283,30 @@ AND basic_corp.name like concat('%', #{companyName}, '%') + + AND basic_products.basicPrductRemak1 like concat('%', #{basicPrductRemak1}, '%') + + + AND basic_products.basicPrductRemak2 like concat('%', #{basicPrductRemak2}, '%') + + + AND basic_products.basicPrductRemak3 like concat('%', #{basicPrductRemak3}, '%') + + + AND basic_products.basicPrductRemak4 like concat('%', #{basicPrductRemak4}, '%') + + + AND basic_products.basicPrductRemak5 like concat('%', #{basicPrductRemak5}, '%') + + + AND basic_products.basicPrductRemak6 like concat('%', #{basicPrductRemak6}, '%') + + + AND basic_products.basicPrductRemak7 like concat('%', #{basicPrductRemak7}, '%') + + + AND basic_products.basicPrductRemak8 like concat('%', #{basicPrductRemak8}, '%') + @@ -461,6 +485,188 @@ ORDER BY modifyTime DESC + + + select *, (select `name` from basic_corp where erpId = io_code_temp.supId) supName @@ -16,5 +15,22 @@ - - \ No newline at end of file + + diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index aa1e90cbc..5e417cb01 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -15,6 +15,9 @@ (select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName, (select name from basic_corp bc where bc.erpId = io.customerId) customerName from io_order as io + + INNER JOIN io_unit_maintain_platform a2 on io.action = a2.sourceAction AND io.fromCorp = a2.unitId + AND id = #{id} @@ -42,7 +45,7 @@ AND deptCode = #{deptCode} - AND invCode = #{invCode} + AND io.invCode = #{invCode} AND busType = #{busType} diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml index 8b4ccc68a..4069e8825 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml @@ -28,6 +28,7 @@ a1.mainAction, a1.auditTime, b1.NAME AS fromCorpName, + (select name from auth_warehouse aw where aw.code= a1.fromInvCode) as fromInvName, (SELECT NAME FROM basic_bussiness_type bus WHERE bus.action = a1.action) billTypeName FROM io_order_detail_result a2 LEFT JOIN io_order a1 ON a1.billNo = a2.orderIdFk @@ -40,6 +41,12 @@ AND a2.nameCode = #{nameCode} + + AND a1.action = #{action} + + + AND a1.mainAction = #{mainAction} + AND a1.invCode = #{invCode} diff --git a/src/main/resources/mybatis/mapper/inout/IoStatDayDao.xml b/src/main/resources/mybatis/mapper/inout/IoStatDayDao.xml index d9e6bfc46..87a47b376 100644 --- a/src/main/resources/mybatis/mapper/inout/IoStatDayDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoStatDayDao.xml @@ -21,7 +21,7 @@ diff --git a/src/main/resources/mybatis/mapper/inout/IoStatMonthDao.xml b/src/main/resources/mybatis/mapper/inout/IoStatMonthDao.xml index dbff0edd0..f5aae9dfe 100644 --- a/src/main/resources/mybatis/mapper/inout/IoStatMonthDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoStatMonthDao.xml @@ -20,7 +20,7 @@ diff --git a/src/main/resources/mybatis/mapper/inout/IoStatQuarterDao.xml b/src/main/resources/mybatis/mapper/inout/IoStatQuarterDao.xml index ad8ba49da..d15d72527 100644 --- a/src/main/resources/mybatis/mapper/inout/IoStatQuarterDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoStatQuarterDao.xml @@ -21,7 +21,7 @@ diff --git a/src/main/resources/mybatis/mapper/inout/IoStatYearDao.xml b/src/main/resources/mybatis/mapper/inout/IoStatYearDao.xml index ac6996edc..a5360a710 100644 --- a/src/main/resources/mybatis/mapper/inout/IoStatYearDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoStatYearDao.xml @@ -21,7 +21,7 @@ diff --git a/src/main/resources/mybatis/mapper/inout/PlatformDao.xml b/src/main/resources/mybatis/mapper/inout/PlatformDao.xml new file mode 100644 index 000000000..0499e086c --- /dev/null +++ b/src/main/resources/mybatis/mapper/inout/PlatformDao.xml @@ -0,0 +1,106 @@ + + + + + + replace into auth_platform + (id, name, host) + values + + (#{item.id}, #{item.name,jdbcType=VARCHAR}, #{item.host,jdbcType=VARCHAR}) + + + + + + + + + + + + + + + insert into auth_platform(id, name, host) + VALUES (#{id}, #{name}, #{host}) + + + + + + delete + from auth_platform + where id = #{id} + + + + update auth_platform + + + name = #{name}, + + + host = #{host}, + + + where id = #{id} + + diff --git a/src/main/resources/mybatis/mapper/inout/UnitMaintainPlatformDao.xml b/src/main/resources/mybatis/mapper/inout/UnitMaintainPlatformDao.xml new file mode 100644 index 000000000..cf1c52b7e --- /dev/null +++ b/src/main/resources/mybatis/mapper/inout/UnitMaintainPlatformDao.xml @@ -0,0 +1,188 @@ + + + + + + + + + update io_unit_maintain_platform + + + unitId = #{unitId}, + + + customerId = #{customerId}, + + + platformId = #{platformId}, + + + sourceAction = #{sourceAction}, + + + targetAction = #{targetAction}, + + + invCode = #{invCode}, + + + invSubCode = #{invSubCode}, + + + appid = #{appid}, + + + apiKey = #{apiKey}, + + + secretKey = #{secretKey}, + + + invName = #{invName}, + + + invSubName = #{invSubName}, + + + targetName = #{targetName} + + + where id = #{id} + + + + insert into io_unit_maintain_platform (unitId, customerId, platformId, sourceAction, targetAction, invCode, + invSubCode, appid, apiKey, secretKey, invName, invSubName, targetName) + VALUES (#{unitId}, #{customerId}, #{platformId}, #{sourceAction}, #{targetAction}, #{invCode}, #{invSubCode}, + #{appid}, #{apiKey}, #{secretKey}, #{invName}, #{invSubName}, #{targetName}) + + + + + + + + delete + from io_unit_maintain_platform + where id = #{id} + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml index b45bb795e..c6ef2fa36 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml @@ -64,32 +64,32 @@ select ipd.code, - ipd.relId, - ipd.batchNo, - ipd.serialNo, - ipd.invSpaceCode, - ipd.invCode, - bp.cpmctymc productName, - bp.ggxh, - bp.measname, - bp.zczbhhzbapzbh, - bp.manufactory, - (select name from auth_space s where s.code = ipd.invSpaceCode) invSpaceName, - (select name from basic_corp bc where bc.erpId = ipd.supId) supName + ipd.relId, + ipd.batchNo, + ipd.serialNo, + ipd.invSpaceCode, + ipd.invCode, + bp.cpmctymc productName, + bp.ggxh, + bp.measname, + bp.zczbhhzbapzbh, + bp.manufactory, + (select name from auth_space s where s.code = ipd.invSpaceCode) invSpaceName, + (select name from basic_corp bc where bc.erpId = ipd.supId) supName from inv_prein_product_detail ipd - left join basic_udirel bu on bu.id = ipd.relId - left join basic_products bp on bp.uuid = bu.uuid + left join basic_udirel bu on bu.id = ipd.relId + left join basic_products bp on bp.uuid = bu.uuid AND ipd.invCode = #{invCode} @@ -201,7 +201,7 @@ update inv_prein_product_detail set invSpaceCode = #{invSpaceCode} - where id in + where id in #{item} @@ -209,17 +209,17 @@ - SELECT ifnull(SUM(inCount), 0) - ifnull(SUM(outCount), 0) FROM inv_prein_product_detail ipd WHERE CODE = #{code} + and invCode = #{invCode} and (invSpaceCode is null or invSpaceCode = '') select pd.id, - pd.code, - pd.relId, - pd.batchNo, - pd.produceDate, - pd.expireDate, - pd.invSpaceCode, - pd.deptCode, - pd.invCode, - pd.supId, - pd.nameCode, - pd.invSpaceCode, - ifnull(sum(pd.count), 0) as count, - ifnull(sum(pd.inCount), 0) as inCount, - ifnull(sum(pd.outCount), 0) as outCount, - ifnull(sum(pd.reCount), 0) as reCount + pd.code, + pd.relId, + pd.batchNo, + pd.produceDate, + pd.expireDate, + pd.invSpaceCode, + pd.deptCode, + pd.invCode, + pd.supId, + pd.nameCode, + pd.invSpaceCode, + ifnull(sum(pd.count), 0) as count, + ifnull(sum(pd.inCount), 0) as inCount, + ifnull(sum(pd.outCount), 0) as outCount, + ifnull(sum(pd.reCount), 0) as reCount from inv_prein_product_detail pd reCount > 0 diff --git a/src/main/resources/mybatis/mapper/inv/InvUserProductDao.xml b/src/main/resources/mybatis/mapper/inv/InvUserProductDao.xml index 500f86223..28a0d5aee 100644 --- a/src/main/resources/mybatis/mapper/inv/InvUserProductDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvUserProductDao.xml @@ -232,10 +232,11 @@ group by ipd.orderId - SELECT ifnull(SUM(inCount), 0) - ifnull(SUM(outCount), 0) FROM inv_pre_product_detail ipd WHERE CODE = #{code} + and invCode = #{invCode} and (invSpaceCode is null or invSpaceCode = '') diff --git a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml index 8c2e9238a..5211a5d5a 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml @@ -357,11 +357,13 @@ group by ipd.orderId - SELECT ifnull(SUM(inCount), 0) - ifnull(SUM(outCount), 0) FROM inv_product_detail ipd WHERE CODE = #{code} + and invCode = #{invCode} and (invSpaceCode is null or invSpaceCode = '') +