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 *, ( SELECT NAME FROM auth_dept WHERE io_stat_day.deptCode = auth_dept.CODE ) deptName
from io_stat_day
where recordKeyFk = #{recordKey}
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 @@
- select *
+ select *, ( SELECT NAME FROM auth_dept WHERE io_stat_month.deptCode = auth_dept.CODE ) deptName
from io_stat_month
where recordKeyFk = #{recordKey}
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 @@
- select *
+ select *, ( SELECT NAME FROM auth_dept WHERE io_stat_quarter.deptCode = auth_dept.CODE ) deptName
from io_stat_quarter
where recordKeyFk = #{recordKey}
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 @@
- select *
+ select *, ( SELECT NAME FROM auth_dept WHERE io_stat_year.deptCode = auth_dept.CODE ) deptName
from io_stat_year
where recordKeyFk = #{recordKey}
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})
+
+
+
+
+
+ select *
+ from auth_platform
+ where id = #{value}
+
+
+
+ select *
+ from auth_platform
+
+
+ and id = #{id}
+
+
+ and instr(name, #{name})
+
+
+ and instr(host, #{host})
+
+
+ order by id desc
+
+
+ select count(*)
+ from auth_platform
+
+
+ and id = #{id}
+
+
+ and instr(name, #{name})
+
+
+ and instr(host, #{host})
+
+
+
+
+
+ select *
+ from auth_platform
+ where name = #{name}
+ and host = #{host}
+
+
+
+ select *
+ from auth_platform
+ where id = #{platformId}
+
+
+
+ insert into auth_platform(id, name, host)
+ VALUES (#{id}, #{name}, #{host})
+
+
+
+ select *
+ from auth_platform
+
+
+ AND id = #{id}
+
+
+ AND name like concat('%', #{name}, '%')
+
+
+ AND host like concat('%', #{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 @@
+
+
+
+
+ SELECT a1.id as platformId,
+ a1.`name`,
+ a1.`host`,
+ iu.id,
+ iu.unitId,
+ iu.customerId,
+ iu.invCode,
+ iu.targetAction,
+ iu.sourceAction,
+ iu.invSubCode,
+ b1.`name` as corpName
+ FROM auth_platform a1
+ LEFT JOIN io_unit_maintain_platform iu ON a1.id = iu.platformId
+ LEFT JOIN basic_corp b1 ON b1.erpId = iu.unitId
+
+
+ AND a1.`name` = #{key}
+
+
+ GROUP BY a1.id
+
+
+
+ select *
+ from io_unit_maintain_platform
+ where customerId = #{customerId}
+
+
+
+ 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})
+
+
+
+ select *
+ from io_unit_maintain_platform
+
+
+ AND unitId = #{unitId}
+
+
+ AND customerId = #{customerId}
+
+
+ AND platformId = #{platformId}
+
+
+ AND sourceAction = #{sourceAction}
+
+
+ AND targetAction = #{targetAction}
+
+
+ AND invCode = #{invCode}
+
+
+ AND invSubCode = #{invSubCode}
+
+
+ AND appid = #{appid}
+
+
+ AND apiKey = #{apiKey}
+
+
+ AND secretKey = #{secretKey}
+
+
+
+
+
+ select *
+ from io_unit_maintain_platform
+
+
+ AND unitId = #{unitId}
+
+
+ AND customerId = #{customerId}
+
+
+ AND sourceAction = #{action}
+
+
+
+
+
+ delete
+ from io_unit_maintain_platform
+ where id = #{id}
+
+
+
+ select count(*)
+ from io_unit_maintain_platform
+ where sourceAction = #{action}
+ and unitId = #{unitId}
+
+
+
+ SELECT io.id,
+ io.platformId,
+ io.invCode,
+ io.invName,
+ io.invSubCode,
+ io.invSubName,
+ io.targetAction,
+ io.targetName,
+ io.sourceAction,
+ b1.`name` as sourceName
+ FROM io_unit_maintain_platform io
+ LEFT JOIN basic_bussiness_type b1 ON b1.action = io.sourceAction
+ where io.platformId = #{platformId}
+
+
+
+ SELECT
+ io.id,
+ io.unitId,
+ io.platformId,
+ io.invCode,
+ io.invName,
+ io.invSubCode,
+ io.invSubName,
+ io.targetAction,
+ io.targetName,
+ io.sourceAction,
+ io.appid,
+ io.secretKey,
+ a1.host
+ FROM io_unit_maintain_platform io
+ inner join auth_platform a1 on a1.id = io.platformId
+ where io.unitId = #{unitld}
+
+
\ 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 ipp.id,
- ipp.nameCode,
- bp.cpmctymc,
- ipp.relId,
- bp.ggxh,
- ipp.batchNo,
- ipp.produceDate,
- ipp.expireDate,
- bp.ylqxzcrbarmc,
- bp.zczbhhzbapzbh,
- ipp.inCount,
- ipp.outCount,
- ipp.reCount,
- basic_corp.name supName,
- ipp.supId,
- auth_dept.name deptName,
- auth_warehouse.name invName,
- as.name spaceName,
- ipp.deptCode,
- ipp.invCode
+ ipp.nameCode,
+ bp.cpmctymc,
+ ipp.relId,
+ bp.ggxh,
+ ipp.batchNo,
+ ipp.produceDate,
+ ipp.expireDate,
+ bp.ylqxzcrbarmc,
+ bp.zczbhhzbapzbh,
+ ipp.inCount,
+ ipp.outCount,
+ ipp.reCount,
+ basic_corp.name supName,
+ ipp.supId,
+ auth_dept.name deptName,
+ auth_warehouse.name invName,
+ as.name spaceName,
+ ipp.deptCode,
+ ipp.invCode
from inv_prein_product_detail ipp
- inner join basic_udirel on ipp.relId = basic_udirel.id
- inner join basic_products bp on basic_udirel.uuid = bp.uuid
- left join basic_corp on ipp.supId = basic_corp.erpId
- left join auth_dept on auth_dept.code = ipp.deptCode
- left join auth_warehouse on auth_warehouse.code = ipp.invCode
- left join auth_space `as` on ipp.code = `as`.code
+ inner join basic_udirel on ipp.relId = basic_udirel.id
+ inner join basic_products bp on basic_udirel.uuid = bp.uuid
+ left join basic_corp on ipp.supId = basic_corp.erpId
+ left join auth_dept on auth_dept.code = ipp.deptCode
+ left join auth_warehouse on auth_warehouse.code = ipp.invCode
+ left join auth_space `as` on ipp.code = `as`.code
AND bp.cpmctymc like concat('%', #{cpmctymc}, '%')
@@ -166,21 +166,21 @@
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 ipd.orderId billNo,
- (select name from basic_bussiness_type where action = o.action) billTypeName,
- o.mainAction,
- o.fromCorp,
- o.corpOrderId,
- o.fromType,
- o.createTime,
- o.auditTime,
- (select employeeName from auth_user where id = o.reviewUser) reviewUserName
+ select ipd.orderId billNo,
+ (select name from basic_bussiness_type where action = o.action) billTypeName,
+ o.mainAction,
+ o.fromCorp,
+ o.corpOrderId,
+ o.fromType,
+ o.createTime,
+ o.auditTime,
+ (select employeeName from auth_user where id = o.reviewUser) reviewUserName
from inv_prein_product_detail ipd
- left join io_order o on ipd.orderId = o.billNo
+ left join io_order o on ipd.orderId = o.billNo
AND ipd.invCode = #{invCode}
@@ -231,76 +231,77 @@
group by ipd.orderId
-
+
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 t1.nameCode,
- t1.relId,
- (SELECT NAME FROM auth_dept WHERE auth_dept.`code` = t1.deptCode) AS deptName,
- (SELECT NAME FROM auth_warehouse WHERE auth_warehouse.`code` = t1.invCode) AS invName,
- (SELECT NAME FROM auth_space WHERE auth_space.`code` = t1.invSpaceCode) AS invSpaceName,
- SUM(t1.reCount) as count,
- bp.cpmctymc as productName,
- bp.ggxh,
- t1.batchNo,
- t1.produceDate as productionDate,
- t1.expireDate,
- bp.measname,
- bp.zczbhhzbapzbh,
- bp.ylqxzcrbarmc,
- bp.manufactory,
- (SELECT `name` FROM basic_corp WHERE erpId = t1.supId) supName
+ t1.relId,
+ (SELECT NAME FROM auth_dept WHERE auth_dept.`code` = t1.deptCode) AS deptName,
+ (SELECT NAME FROM auth_warehouse WHERE auth_warehouse.`code` = t1.invCode) AS invName,
+ (SELECT NAME FROM auth_space WHERE auth_space.`code` = t1.invSpaceCode) AS invSpaceName,
+ SUM(t1.reCount) as count,
+ bp.cpmctymc as productName,
+ bp.ggxh,
+ t1.batchNo,
+ t1.produceDate as productionDate,
+ t1.expireDate,
+ bp.measname,
+ bp.zczbhhzbapzbh,
+ bp.ylqxzcrbarmc,
+ bp.manufactory,
+ (SELECT `name` FROM basic_corp WHERE erpId = t1.supId) supName
FROM inv_prein_product_detail t1
- LEFT JOIN basic_udirel bu ON bu.id = t1.relId
- LEFT JOIN basic_products bp ON bp.uuid = bu.uuid
+ LEFT JOIN basic_udirel bu ON bu.id = t1.relId
+ LEFT JOIN basic_products bp ON bp.uuid = bu.uuid
AND t1.code = #{code}
- and t1.invSpaceCode IS NOT NULL
- and t1.invSpaceCode != ''
+ and t1.invSpaceCode IS NOT NULL
+ and t1.invSpaceCode != ''
AND t1.invSpaceCode = #{invSpaceCode}
GROUP BY CODE,
- invSpaceCode
+ invSpaceCode
select pd.id,
- pd.code,
- pd.relId,
- pd.batchNo,
- pd.produceDate productionDate,
- pd.expireDate,
- bp.ggxh,
- bp.cpmctymc productName,
- bp.zczbhhzbapzbh,
- bp.ylqxzcrbarmc,
- bp.nameCode,
- bp.manufactory,
- pd.invSpaceCode,
- pd.invCode,
- ad.name deptName,
- aw.name invName,
- sp.name invSpaceName,
- ifnull(sum(pd.inCount), 0) as inCount,
- ifnull(sum(pd.outCount), 0) as outCount,
- pd.inCount - pd.outCount as reCount
+ pd.code,
+ pd.relId,
+ pd.batchNo,
+ pd.produceDate productionDate,
+ pd.expireDate,
+ bp.ggxh,
+ bp.cpmctymc productName,
+ bp.zczbhhzbapzbh,
+ bp.ylqxzcrbarmc,
+ bp.nameCode,
+ bp.manufactory,
+ pd.invSpaceCode,
+ pd.invCode,
+ ad.name deptName,
+ aw.name invName,
+ sp.name invSpaceName,
+ ifnull(sum(pd.inCount), 0) as inCount,
+ ifnull(sum(pd.outCount), 0) as outCount,
+ pd.inCount - pd.outCount as reCount
from inv_prein_product_detail pd
- left join basic_udirel bu on pd.relId = bu.id
- left join basic_products bp on bp.uuid = bu.uuid
- left join auth_dept ad on pd.deptCode = ad.code
- left join auth_warehouse aw on pd.invCode = aw.code
- left join auth_space sp on pd.invSpaceCode = sp.code
- and sp.invStorageCode = pd.deptCode and sp.invWarehouseCode = pd.invCode
+ left join basic_udirel bu on pd.relId = bu.id
+ left join basic_products bp on bp.uuid = bu.uuid
+ left join auth_dept ad on pd.deptCode = ad.code
+ left join auth_warehouse aw on pd.invCode = aw.code
+ left join auth_space sp on pd.invSpaceCode = sp.code
+ and sp.invStorageCode = pd.deptCode and sp.invWarehouseCode = pd.invCode
AND pd.invCode = #{invCode}
@@ -315,21 +316,21 @@
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 = '')
+