供应商耗材字典管理,单据管理

master
anthonywj 2 years ago
parent b5f30ce1c4
commit 58bf32ddf5

@ -6,7 +6,7 @@ package com.glxp.api.constant;
public class ConstantStatus { public class ConstantStatus {
//订单状态 //订单状态
public static final Integer ORDER_STATUS_TEMP_SAVE = -1; //等待提交 public static final Integer ORDER_STATUS_TEMP_SAVE = -1; //等待提交(草稿)
public static final Integer ORDER_STATUS_PROCESS = 1; //等待处理 public static final Integer ORDER_STATUS_PROCESS = 1; //等待处理
public static final Integer ORDER_STATUS_CHECK = 2; //等待校验 public static final Integer ORDER_STATUS_CHECK = 2; //等待校验
public static final Integer ORDER_STATUS_FAIL = 3; //重码校验失败 public static final Integer ORDER_STATUS_FAIL = 3; //重码校验失败
@ -14,6 +14,11 @@ public class ConstantStatus {
public static final Integer ORDER_STATUS_ADDITIONAL = 5; //补录单据 public static final Integer ORDER_STATUS_ADDITIONAL = 5; //补录单据
public static final Integer ORDER_STATUS_DOING = 6; public static final Integer ORDER_STATUS_DOING = 6;
//订单处理状态
public static final Integer ORDER_DEAL_DRAFT = 1; //草稿
public static final Integer ORDER_DEAL_POST = 2; //已提交
public static final Integer ORDER_DEAL_CHECK = 3; //已审核
//ERP校验状态 //ERP校验状态
public static final Integer ORDER_CHECK_SUCCESS = 2; //校验成功 public static final Integer ORDER_CHECK_SUCCESS = 2; //校验成功
public static final Integer ORDER_CHECK_FAIL = 1; //校验失败 public static final Integer ORDER_CHECK_FAIL = 1; //校验失败

@ -33,4 +33,14 @@ public class BaseController {
return customerService.getUserBean(); return customerService.getUserBean();
} }
public Long getUserId() {
AuthAdmin authAdmin = getUser();
return authAdmin.getId();
}
public Long getCustomerId() {
AuthAdmin authAdmin = getUser();
return authAdmin.getCustomerId();
}
} }

@ -5,13 +5,16 @@ import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.req.basic.BussinessTypeSaveRequest; import com.glxp.api.req.basic.BussinessTypeSaveRequest;
import com.glxp.api.req.basic.FilterBussinessTypeRequest; import com.glxp.api.req.basic.FilterBussinessTypeRequest;
import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicBussinessTypeResponse; import com.glxp.api.res.basic.BasicBussinessTypeResponse;
import com.glxp.api.res.basic.BussinessTypExportResponse; import com.glxp.api.res.basic.BussinessTypExportResponse;
import com.glxp.api.res.basic.CandidateRequest; import com.glxp.api.res.basic.CandidateRequest;
@ -39,7 +42,7 @@ import java.util.List;
*/ */
@Slf4j @Slf4j
@RestController @RestController
public class BasicBussinessTypeController { public class BasicBussinessTypeController extends BaseController {
@Resource @Resource
private IBasicBussinessTypeService basicBussinessTypeService; private IBasicBussinessTypeService basicBussinessTypeService;
@ -124,6 +127,28 @@ public class BasicBussinessTypeController {
return ResultVOUtils.success("更新成功"); return ResultVOUtils.success("更新成功");
} }
@AuthRuleAnnotation("")
@GetMapping("/udiwms/localBusType/filterJoinByUser")
public BaseResponse filterJoinByUser(FilterBussinessTypeRequest bussinessTypeFilterRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
bussinessTypeFilterRequest.setUserId(getUserId());
List<BasicBussinessTypeResponse> bussinessTypeEntities;
bussinessTypeEntities = basicBussinessTypeService.filterJoinByUser(
bussinessTypeFilterRequest);
PageInfo<BasicBussinessTypeResponse> pageInfo;
pageInfo = new PageInfo<>(bussinessTypeEntities);
PageSimpleResponse<BasicBussinessTypeResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(bussinessTypeEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
/** /**
* *
* *

@ -0,0 +1,203 @@
package com.glxp.api.controller.basic;
import cn.hutool.core.util.StrUtil;
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.auth.AuthAdmin;
import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.basic.UdiRlSupEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.UdiInfoExportRequest;
import com.glxp.api.req.system.CompanyRequest;
import com.glxp.api.req.system.DeleteCompanyFileRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiRlSupResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.auth.AuthAdminService;
import com.glxp.api.service.basic.BasicUnitMaintainService;
import com.glxp.api.service.basic.UdiRlSupService;
import com.glxp.api.service.basic.CompanyProductsRelService;
import com.glxp.api.service.basic.UdiRelevanceService;
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 org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
*
*/
@RestController
public class UdiRlSupController {
@Resource
private AuthAdminService authAdminService;
@Resource
private UdiRlSupService udiRlSupService;
@Resource
private CompanyProductsRelService companyProductsRelService;
@Resource
private BasicUnitMaintainService basicUnitMaintainService;
@Resource
private UdiRelevanceService udiRelevanceService;
@AuthRuleAnnotation("")
@GetMapping("/sale/info/company/product/relevance/filter")
public BaseResponse filterCompanyProductRelevance(CompanyProductRelevanceRequest companyProductRelevanceRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getUnionCode())) {
FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest();
filterUdiInfoRequest.setNameCode(companyProductRelevanceRequest.getUnionCode());
List<UdiRelevanceResponse> temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
if (temps != null && temps.size() > 0) {
companyProductRelevanceRequest.setUuid(temps.get(0).getUuid());
companyProductRelevanceRequest.setNameCode(filterUdiInfoRequest.getNameCode());
companyProductRelevanceRequest.setUnionCode(null);
}
} else {
companyProductRelevanceRequest.setDiType(1);
}
List<UdiRlSupResponse> basicInstrumentMaintainRelevanceResponses = null;
basicInstrumentMaintainRelevanceResponses = udiRlSupService.filterUdiGp(companyProductRelevanceRequest);
PageInfo<UdiRlSupResponse> pageInfo;
pageInfo = new PageInfo<>(basicInstrumentMaintainRelevanceResponses);
PageSimpleResponse<UdiRlSupResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(basicInstrumentMaintainRelevanceResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@GetMapping("/sale/info/company/product/corp/filter")
public BaseResponse filterRlCorp(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (StrUtil.isEmpty(filterCompanyProductRelevanceRequest.getUdiRlIdFk())) {
return ResultVOUtils.error(500, "请先选择产品!");
}
List<UdiRlSupEntity> companyProductRelevanceEntities =
udiRlSupService.filterCompanyProductRelevance(filterCompanyProductRelevanceRequest);
if (!companyProductRelevanceEntities.isEmpty()) {
List<String> erpIds = new ArrayList<>();
for (UdiRlSupEntity udiRlSupEntity : companyProductRelevanceEntities) {
erpIds.add(udiRlSupEntity.getUnitFk());
}
List<BasicCorpEntity> basicUnitMaintainEntities = basicUnitMaintainService.batchSelectByErpIdsAndName(erpIds, filterCompanyProductRelevanceRequest.getKey());
return ResultVOUtils.success(basicUnitMaintainEntities);
}
return ResultVOUtils.error(500, "该产品未关联供应商!");
}
@AuthRuleAnnotation("")
@GetMapping("/spms/info/company/product/filterAll")
public BaseResponse filterAll(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<UdiRlSupEntity> companyProductRelevanceEntities =
udiRlSupService.filterCompanyProductRelevance(filterCompanyProductRelevanceRequest);
PageInfo<UdiRlSupEntity> pageInfo;
pageInfo = new PageInfo<>(companyProductRelevanceEntities);
PageSimpleResponse<UdiRlSupEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(companyProductRelevanceEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@GetMapping("/sale/info/companyProductRelevance")
public BaseResponse getCompanyProductRelevanceInfo(CompanyRequest companyRequest) {
UdiRlSupEntity udiRlSupEntity = udiRlSupService.findCompanyProductRelevance(companyRequest.getCustomerId());
if (udiRlSupEntity != null) {
return ResultVOUtils.success(udiRlSupEntity);
}
return ResultVOUtils.error(500, "空");
}
@AuthRuleAnnotation("")
@GetMapping("/sale/info/getCompanyProductRelevance")
public BaseResponse getCompanyProductRelevance(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest) {
// filterCompanyProductRelevanceRequest.setCustomerId(getCustomerId());
List<UdiRlSupEntity> companyProductRelevanceEntities = udiRlSupService.getCompanyProductRelevance(filterCompanyProductRelevanceRequest);
PageInfo<UdiRlSupEntity> pageInfo = new PageInfo<>(companyProductRelevanceEntities);
PageSimpleResponse<UdiRlSupEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(companyProductRelevanceEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@PostMapping("/sale/info/insertCompanyProductRelevance")
public BaseResponse insertCompanyProductRelevance(@RequestBody UdiRlSupEntity udiRlSupEntity) {
if (udiRlSupService.findCompanyProductRelevanceByProductUuid(udiRlSupEntity) != null) {
return ResultVOUtils.error(ResultEnum.DATA_REPEAT);
}
udiRlSupEntity.setUnitFk(null);
udiRlSupEntity.setCreateTime(new Date());
udiRlSupEntity.setUpdateTime(new Date());
udiRlSupEntity.setAuditStatus("3");
boolean b = udiRlSupService.insertCompanyProductRelevance(udiRlSupEntity);
return ResultVOUtils.success("成功");
}
@AuthRuleAnnotation("")
@PostMapping("/sale/info/insertFilter")
public BaseResponse insertFilter(@RequestBody UdiInfoExportRequest udiInfoExportRequest) {
if (StrUtil.isEmpty(udiInfoExportRequest.getUnitFk())) {
return ResultVOUtils.error(500, "未选择供应商!");
}
companyProductsRelService.insertCompanyProducts(udiInfoExportRequest);
return ResultVOUtils.success("后台正在导入,请稍后刷新查看!");
}
@AuthRuleAnnotation("")
@PostMapping("/sale/info/updateCompanyProductRelevance")
public BaseResponse updateCompanyProductRelevance(@RequestBody UdiRlSupEntity udiRlSupEntity) {
udiRlSupEntity.setUpdateTime(new Date());
int b = udiRlSupService.updateCompanyProductRelevance(udiRlSupEntity);
return ResultVOUtils.success("修改成功");
}
@PostMapping("/sale/info/deleteCompanyProductRelevance")
public BaseResponse deleteCompanyProductRelevance(@RequestBody DeleteCompanyFileRequest deleteCompanyFileRequest, BindingResult bindingResult) {
boolean b = udiRlSupService.deleteById(deleteCompanyFileRequest.getId());
return ResultVOUtils.success("成功");
}
public String getCustomerId() {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes == null) {
throw new JsonException(ResultEnum.NOT_NETWORK);
}
HttpServletRequest request = attributes.getRequest();
String userId = request.getHeader("ADMIN_ID");
AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId));
return authAdmin.getCustomerId() + "";
}
}

@ -0,0 +1,750 @@
package com.glxp.api.controller.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.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.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.inout.IoCodeEnttity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.http.SpsDirectClient;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.inout.AddEnterCodeRequest;
import com.glxp.api.req.inout.AddOrderRequest;
import com.glxp.api.req.inout.PostOrderRequest;
import com.glxp.api.res.basic.UdiRlSupResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.inout.AddCodeResult;
import com.glxp.api.service.basic.*;
import com.glxp.api.service.inout.IoCodeService;
import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.inout.IoTransInoutService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.DateUtil;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.udi.FilterUdiUtils;
import com.glxp.api.util.udi.UdiCalCountUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult;
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.Date;
import java.util.List;
import java.util.Locale;
@RestController
public class IoCodeController extends BaseController {
@Resource
private IoCodeService codesService;
@Resource
private IoOrderService orderService;
@Resource
private IBasicBussinessTypeService basicBussinessTypeService;
@Resource
private SpsDirectClient spsDirectClient;
@Resource
IoTransInoutService transInoutService;
@Resource
private SystemParamConfigService systemParamConfigService;
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
UdiProductService udiProductService;
@Resource
BasicUnitMaintainService basicUnitMaintainService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
UdiCalCountUtil udiCalCountUtil;
@Resource
UdiRlSupService udiRlSupService;
//手持端扫码单据上传调用接口
@AuthRuleAnnotation("")
@PostMapping("warehouse/inout/postOrders")
public BaseResponse postOrders(@RequestBody PostOrderRequest postOrderRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
Long userId = getUserId();
try {
PostOrderRequest inPostOrder = new PostOrderRequest();
List<PostOrderRequest.PostOrder> inPostOrders = new ArrayList<>();
PostOrderRequest outPostOrder = new PostOrderRequest();
List<PostOrderRequest.PostOrder> outPostOrders = new ArrayList<>();
List<PostOrderRequest.PostOrder> postOrders = postOrderRequest.getPostOrders();
if (postOrders != null && postOrders.size() > 0) {
for (PostOrderRequest.PostOrder postOrder : postOrders) {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(postOrder.getCodes().get(0).getAction());
if (bussinessTypeEntity.isOutToSpms()) {
outPostOrders.add(postOrder);
} else {
inPostOrders.add(postOrder);
}
}
}
BeanUtils.copyProperties(postOrderRequest, inPostOrder);
BeanUtils.copyProperties(postOrderRequest, outPostOrder);
inPostOrder.setPostOrders(inPostOrders);
outPostOrder.setPostOrders(outPostOrders);
if (CollUtil.isNotEmpty(outPostOrders)) {
outPostOrder.setWmsUserId(userId + "");
return spsDirectClient.uploadPdaOrder(outPostOrder);
}
if (CollUtil.isNotEmpty(inPostOrders)) {
inPostOrder.setCustomerId(getCustomerId());
inPostOrder.setUserId(userId);
transInoutService.creatOrderByPda(inPostOrder);
}
} catch (Exception e) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
}
return ResultVOUtils.success("上传成功,等待后台处理");
}
//前端扫码完整性校验
@AuthRuleAnnotation("")
@PostMapping("warehouse/inout/enterCode")
public BaseResponse addEndterCode(@RequestBody AddEnterCodeRequest addEnterCodeRequest) {
if (StrUtil.isEmpty(addEnterCodeRequest.getCode())) {
return ResultVOUtils.error(500, "条码不能为空!");
}
String code = "";
String originCode = addEnterCodeRequest.getOriginCode();
if (originCode == null)
originCode = "";
code = originCode + addEnterCodeRequest.getCode();
String newCode = addEnterCodeRequest.getCode();
//重复判断
if (StrUtil.isNotEmpty(addEnterCodeRequest.getOriginCode())) {
String tempOriginCode = addEnterCodeRequest.getOriginCode();
if (tempOriginCode.endsWith("\u001D")) {
tempOriginCode = tempOriginCode.replace("\u001D", "");
}
UdiEntity originUdiEntity = FilterUdiUtils.getUdi(tempOriginCode);
if (StrUtil.isNotEmpty(newCode)) {
if (newCode.startsWith("10")) {
if (StrUtil.isNotEmpty(originUdiEntity.getBatchNo())) {
BaseResponse baseResponse = ResultVOUtils.error(501, "批次号重复添加");
baseResponse.setData(originCode);
return baseResponse;
} else {
String msg = checkNewCode(originUdiEntity, newCode);
if (msg != null) {
BaseResponse baseResponse = ResultVOUtils.error(501, msg);
baseResponse.setData(originCode);
return baseResponse;
}
}
} else if (newCode.startsWith("17")) {
if (StrUtil.isNotEmpty(originUdiEntity.getExpireDate())) {
BaseResponse baseResponse = ResultVOUtils.error(501, "失效日期重复添加");
baseResponse.setData(originCode);
return baseResponse;
} else {
String msg = checkNewCode(originUdiEntity, newCode);
if (msg != null) {
BaseResponse baseResponse = ResultVOUtils.error(501, msg);
baseResponse.setData(originCode);
return baseResponse;
}
}
} else if (newCode.startsWith("11")) {
if (StrUtil.isNotEmpty(originUdiEntity.getProduceDate())) {
BaseResponse baseResponse = ResultVOUtils.error(501, "生产日期重复添加");
baseResponse.setData(originCode);
return baseResponse;
} else {
String msg = checkNewCode(originUdiEntity, newCode);
if (msg != null) {
BaseResponse baseResponse = ResultVOUtils.error(501, msg);
baseResponse.setData(originCode);
return baseResponse;
}
}
} else if (newCode.startsWith("21")) {
if (StrUtil.isNotEmpty(originUdiEntity.getSerialNo())) {
BaseResponse baseResponse = ResultVOUtils.error(501, "序列号重复添加");
baseResponse.setData(originCode);
return baseResponse;
} else {
String msg = checkNewCode(originUdiEntity, newCode);
if (msg != null) {
BaseResponse baseResponse = ResultVOUtils.error(501, msg);
baseResponse.setData(originCode);
return baseResponse;
}
}
} else {
BaseResponse baseResponse = ResultVOUtils.error(501, "格式错误");
baseResponse.setData(originCode);
return baseResponse;
}
}
}
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
if (udiEntity == null) {
String sptmtodi = systemParamConfigService.selectValueByParamKey(Constant.SPTM_TO_DI);
if (sptmtodi.equals("1")) {
if (code.length() == 13) {
UdiProductEntity udiProductEntity = udiProductService.findBySptm(code);
if (udiProductEntity != null) {
BaseResponse baseResponse = ResultVOUtils.error(508, "UDI码格式错误");
baseResponse.setData(udiProductEntity);
return baseResponse;
}
}
}
BaseResponse baseResponse = ResultVOUtils.error(501, "UDI码格式错误");
baseResponse.setData(originCode);
return baseResponse;
}
if (StrUtil.isNotEmpty(udiEntity.getBatchNo())) {
if (code.endsWith("10" + udiEntity.getBatchNo())) {
code = code + "\u001D";
}
}
UdiRelevanceResponse checkUdi = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
if (checkUdi == null) {
return ResultVOUtils.error(500, "耗材字典不存在此产品!");
}
boolean checkSuccess = true;
String lostMsg = "";
//校验条码完整性
if ("是".equals(checkUdi.getScbssfbhph()) && StrUtil.isEmpty(udiEntity.getBatchNo())) {
checkSuccess = false;
lostMsg = lostMsg + ",批次号";
}
if ("是".equals(checkUdi.getScbssfbhscrq()) && StrUtil.isEmpty(udiEntity.getProduceDate())) {
checkSuccess = false;
lostMsg = lostMsg + ",生产日期";
}
if ("是".equals(checkUdi.getScbssfbhsxrq()) && StrUtil.isEmpty(udiEntity.getExpireDate())) {
checkSuccess = false;
lostMsg = lostMsg + ",失效日期";
}
if (("是".equals(checkUdi.getScbssfbhxlh()) && StrUtil.isEmpty(udiEntity.getSerialNo()))
) {
checkSuccess = false;
lostMsg = lostMsg + ",序列号";
}
if (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && udiEntity.getSerialNo().length() > 20) {
checkSuccess = false;
return ResultVOUtils.error(504, "序列号超出20位");
}
if (StrUtil.isNotEmpty(udiEntity.getBatchNo()) && udiEntity.getBatchNo().length() > 20) {
checkSuccess = false;
return ResultVOUtils.error(504, "批次号超出20位");
}
if (StrUtil.isEmpty(udiEntity.getSerialNo()) && StrUtil.isEmpty(udiEntity.getBatchNo())) {
checkSuccess = false;
}
if (checkSuccess) {
if (code.endsWith("\u001D")) {
code = code.substring(0, code.length() - "\u001D".length());
}
return ResultVOUtils.success(code);
} else {
if (newCode.startsWith("21") || (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && newCode.contains("21" + udiEntity.getSerialNo()))) {
if (StrUtil.isEmpty(lostMsg)) {
lostMsg = ",";
}
BaseResponse baseResponse = ResultVOUtils.error(503, "条码完整性错误,缺少" + lostMsg.substring(1) + "是否继续添加?");
baseResponse.setData(code);
return baseResponse;
}
}
BaseResponse baseResponse = ResultVOUtils.error(502, "校验未完成");
baseResponse.setData(code);
return baseResponse;
}
public String checkNewCode(UdiEntity originEnity, String newCode) {
UdiEntity newEntity = FilterUdiUtils.getUdi(originEnity.getUdi() + newCode);
if (newEntity == null || originEnity == null) {
return null;
}
if (StrUtil.isNotEmpty(originEnity.getBatchNo()) && StrUtil.isNotEmpty(newEntity.getBatchNo())) {
return "批次号重复添加!";
}
if (StrUtil.isNotEmpty(originEnity.getProduceDate()) && StrUtil.isNotEmpty(newEntity.getProduceDate())) {
return "生产日期重复添加!";
}
if (StrUtil.isNotEmpty(originEnity.getExpireDate()) && StrUtil.isNotEmpty(newEntity.getExpireDate())) {
return "失效日期重复添加!";
}
if (StrUtil.isNotEmpty(originEnity.getSerialNo()) && StrUtil.isNotEmpty(newEntity.getSerialNo())) {
return "序列号重复添加!";
}
return null;
}
//前端扫码提交
@AuthRuleAnnotation("")
@PostMapping("warehouse/inout/addOrderWeb")
public BaseResponse addOrderWeb(@RequestBody AddOrderRequest addOrderRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
AddCodeResult addCodeResult = new AddCodeResult();
if (addOrderRequest.getAction() == null) {
addOrderRequest.setAction(addOrderRequest.getBillType());
}
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction());
String code = addOrderRequest.getCode();
if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR);
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
if (udiEntity == null)
return ResultVOUtils.error(500, "无效条码!");
if (StrUtil.isNotEmpty(addOrderRequest.getBatchNo())) {
udiEntity.setBatchNo(addOrderRequest.getBatchNo());
}
if (StrUtil.isNotEmpty(addOrderRequest.getProduceDate())) {
udiEntity.setProduceDate(addOrderRequest.getProduceDate());
}
if (StrUtil.isNotEmpty(addOrderRequest.getExpireDate())) {
udiEntity.setExpireDate(addOrderRequest.getExpireDate());
}
if (StrUtil.isNotEmpty(addOrderRequest.getSerialNo())) {
udiEntity.setSerialNo(addOrderRequest.getSerialNo());
}
if (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && udiEntity.getSerialNo().length() > 20) {
return ResultVOUtils.error(500, "无效条码!序列号超出最大范围");
}
if (StrUtil.isNotEmpty(udiEntity.getBatchNo()) && udiEntity.getBatchNo().length() > 20) {
return ResultVOUtils.error(500, "无效条码!批次号超出最大范围");
}
//批次号校验
//判断此产品是否开启允许无批次号
UdiProductEntity udiInfoEntity = udiProductService.findByNameCode(udiEntity.getUdi());
if (!udiInfoEntity.getAllowNoBatch()) {
if (StrUtil.isEmpty(udiEntity.getSerialNo()) && StrUtil.isEmpty(udiEntity.getBatchNo())) {
return ResultVOUtils.error(500, "序列号与批次号不能同时为空!");
}
}
String orderId = addOrderRequest.getOrderId();
//三期校验
if (addOrderRequest.isCodeFillCheck()) {
BaseResponse checkOriginCodeRes = checkOriginCode(udiEntity);
if (checkOriginCodeRes != null) {
if (StrUtil.isNotEmpty(orderId)) {
List<IoCodeEnttity> ioCodeEnttities = codesService.findByOrderId(orderId);
IoCodeEnttity ioCodeEnttity = isExitLocal(code, ioCodeEnttities);
if (ioCodeEnttity == null) {
return checkOriginCodeRes;
}
} else
return checkOriginCodeRes;
}
}
//过期提醒:
SystemParamConfigEntity expireParamConfigEntity = systemParamConfigService.selectByParamKey("expire_date_tip");
if (expireParamConfigEntity.getParamValue().equals("1") && !addOrderRequest.isIgnoreExpire()) {
if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) {
String expireDate = "20" + udiEntity.getExpireDate();
long expireTime = DateUtil.parseDateExpire(expireDate);
if (expireTime - System.currentTimeMillis() < 0) {
return ResultVOUtils.error(504, "当前产品已过期,是否确定继续添加?");
}
}
}
//失效期提醒
SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip");
long recent = Long.parseLong(recentParamConfigEntity.getParamValue());
if (recent > 0 && !addOrderRequest.isIgnoreRecentExpire()) {
if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) {
String expireDate = "20" + udiEntity.getExpireDate();
long expireTime = DateUtil.parseDateExpire(expireDate);
long recentTieme = Math.abs(recent * 24 * 60 * 60 * 1000);
long resultTime = expireTime - System.currentTimeMillis();
if (resultTime > 0) {
long time = resultTime / (24 * 60 * 60 * 1000);
if (resultTime < recentTieme) {
return ResultVOUtils.error(505, "当前产品临近过期,距过期还剩" + time + "天,是否确定继续添加?");
}
}
}
}
//校验预验收是否已存在 todo
if (bussinessTypeEntity.isPreIn()) {
if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) {
// List<InvProductDetailEntity> invProductDetailEntities = invPreInProductDetailService.findByOriginCode(code);
// if (CollUtil.isNotEmpty(invProductDetailEntities)) {
// return ResultVOUtils.error(500, "条码已存在!");
// }
}
}
//校验预验收库存是否已存在
if (addOrderRequest.isPreCheck()) {
// InvProductDetailEntity invProductDetailEntity = invPreInProductDetailService.statInvPreInDetail(code);
// if (invProductDetailEntity == null) {
// return ResultVOUtils.error(500, "预验收库存未存在此产品!");
// } else {
//
//
// if (StrUtil.isNotEmpty(invProductDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(addOrderRequest.getBatchNo())
// && !invProductDetailEntity.getBatchNo().equals(addOrderRequest.getBatchNo())) {
// return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!");
//
// }
//
//
// if (StrUtil.isNotEmpty(orderId)) {//非首次添加
// if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品
// WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest();
// warehouseQueryRequest.setOrderId(orderId);
// warehouseQueryRequest.setCode(code);
// List<WarehouseEntity> codeEnttitys = codesTempService.findByOrderIdAndCode(warehouseQueryRequest);
// if (CollUtil.isNotEmpty(codeEnttitys)) {
// WarehouseEntity codeEnttity = codeEnttitys.get(0);
// if (invProductDetailEntity.getCount() < (codeEnttity.getCount() + 1)) {
// return ResultVOUtils.error(500, "超出预验收库存数量");
// }
// }
// } else {
// if (invProductDetailEntity.getCount() < 1) {
// return ResultVOUtils.error(500, "超出预验收库存数量");
// }
// }
// }
// }
} else //校验库存是否存在
if (addOrderRequest.isVailInv()) {
// if (bussinessTypeEntity.isAdvanceType()) {
// int count = invPreProductDetailService.vailStockCount(code);
// if (count < 0) {
// return ResultVOUtils.error(500, "当前库存不足不允许0库存出库");
// }
// } else {
// int count = invProductDetailService.vailStockCount(code, addOrderRequest.getLocStorageCode(), addOrderRequest.getInvWarehouseCode(), null);
// if (count <= 0) {
// return ResultVOUtils.error(500, "当前库存不足不允许0库存出库");
// } else if (StrUtil.isNotBlank(addOrderRequest.getOrderId())) {
// //查询此单据已扫描的条码数量
// WarehouseEntity warehouse = codesTempService.findByUnique(addOrderRequest.getOrderId(), addOrderRequest.getCode());
// if (null != warehouse && warehouse.getCount() >= count) {
// return ResultVOUtils.error(500, "当前库存不足不允许0库存出库");
// }
// }
// }
}
if (addOrderRequest.getFromCorp() == null) {
BasicCorpEntity basicCorpEntity = basicUnitMaintainService.selectByName(addOrderRequest.getFromCorp());
if (basicCorpEntity == null && bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) {
basicCorpEntity = new BasicCorpEntity();
basicCorpEntity.setErpId(CustomUtil.getUnitId());
addOrderRequest.setFromCorp((basicCorpEntity.getErpId()));
basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK);
basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK);
basicCorpEntity.setName(addOrderRequest.getFromCorp());
addOrderRequest.setFromCorp(basicCorpEntity.getName());
basicUnitMaintainService.insertBasicUnitMaintain(basicCorpEntity);
}
}
//先生成扫码单据
IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
if (StringUtils.isBlank(orderId) || orderEntity == null) {
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
orderId = orderNo;
}
List<IoCodeEnttity> codeEnttitys = codesService.findByOrderId(orderId);
IoCodeEnttity codeEnttity = new IoCodeEnttity();
IoCodeEnttity exitLocalEntity = null;
if (codeEnttitys.size() > 0) {
exitLocalEntity = isExitLocal(code, codeEnttitys);
if (exitLocalEntity != null) {
codeEnttity = exitLocalEntity;
codeEnttity.setCount(codeEnttity.getCount() + 1);
if (StringUtils.isBlank(codeEnttity.getSerialNo())) {
codesService.updateById(codeEnttity);
} else {
return ResultVOUtils.error(ResultEnum.DATA_REPEAT);
}
}
}
if (exitLocalEntity == null) {
codeEnttity.setCode(code);
codeEnttity.setOrderId(orderId);
codeEnttity.setCorpOrderId(addOrderRequest.getCorpOrderId());
codeEnttity.setCreateTime(new Date());
codeEnttity.setUpdateTime(new Date());
codeEnttity.setMainAction(bussinessTypeEntity.getMainAction());
codeEnttity.setAction(bussinessTypeEntity.getAction());
codeEnttity.setNameCode(udiEntity.getUdi());
codeEnttity.setBatchNo(udiEntity.getBatchNo());
codeEnttity.setProduceDate(udiEntity.getProduceDate());
codeEnttity.setExpireDate(udiEntity.getExpireDate());
codeEnttity.setSerialNo(udiEntity.getSerialNo());
codeEnttity.setDeptCode(addOrderRequest.getDeptCode());
codeEnttity.setInvCode(addOrderRequest.getInvCode());
codeEnttity.setCount(1);
String unitFk = null;
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
unitFk = addOrderRequest.getFromCorp();
}
//产品是否可以以使用单元入库
List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.selectAllByNameCode(codeEnttity.getNameCode(), unitFk);
if (udiRelevanceResponses.size() == 1) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0);
if (udiRelevanceResponse == null) {
return ResultVOUtils.error(500, "该产品信息未维护!");
} else if (!udiRelevanceResponse.getIsUseDy() && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) {
return ResultVOUtils.error(500, "该产品不允许以使用单元入库!");
}
//计算实际数量
codeEnttity.setReCount(codeEnttity.getCount() * udiCalCountUtil.getActCount(udiRelevanceResponse));
} else if (udiRelevanceResponses.size() == 0) {
if (unitFk == null)
return ResultVOUtils.error(500, "耗材字典不存在此产品!");
else
return ResultVOUtils.error(500, "当前供应商不存在此配送产品!");
}
//校验供应商是否配送此产品
BaseResponse corpResponse = checkCorp(codeEnttity, bussinessTypeEntity, unitFk);
if (corpResponse != null) {
return corpResponse;
}
IoOrderEntity isExit = orderService.findById(orderId);
if (isExit == null) {
IoOrderEntity orderSaveRequest = new IoOrderEntity();
orderSaveRequest.setBillNo(orderId);
orderSaveRequest.setCorpOrderId(addOrderRequest.getCorpOrderId());
orderSaveRequest.setMainAction(bussinessTypeEntity.getMainAction());
orderSaveRequest.setAction(bussinessTypeEntity.getAction());
orderSaveRequest.setFromCorp(addOrderRequest.getFromCorp());
orderSaveRequest.setFromInvCode(addOrderRequest.getFromInvCode());
orderSaveRequest.setFromType(ConstantStatus.FROM_WEBNEW);
orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);
orderSaveRequest.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);
AuthAdmin authAdmin = getUser();
orderSaveRequest.setCreateUser(authAdmin.getId() + "");
orderSaveRequest.setCreateTime(new Date());
orderSaveRequest.setUpdateUser(authAdmin.getId() + "");
orderSaveRequest.setUpdateTime(new Date());
orderSaveRequest.setCustomerId(authAdmin.getCustomerId());
orderSaveRequest.setDeptCode(addOrderRequest.getDeptCode());
orderSaveRequest.setInvCode(addOrderRequest.getInvCode());
orderService.insertOrder(orderSaveRequest);
}
BaseResponse baseResponse = checkRelId(codeEnttity, unitFk);
codeEnttity = codesService.findByUnique(codeEnttity.getOrderId(), codeEnttity.getCode());
if (baseResponse == null) {
baseResponse = checkSupId(bussinessTypeEntity, codeEnttity, unitFk);
if (baseResponse != null)
return baseResponse;
} else {
if (baseResponse.getCode() == 501) {
return baseResponse;
} else if (baseResponse.getCode() == 502) {
return baseResponse;
}
checkSupId(bussinessTypeEntity, codeEnttity, unitFk);
return baseResponse;
}
}
addCodeResult.setOrderId(orderId);
return ResultVOUtils.success(addCodeResult);
}
//校验条码完整性
public BaseResponse checkOriginCode(UdiEntity udiEntity) {
//校验条码的完整性
String errMsg = "";
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
if (udiRelevanceResponse == null) {
return ResultVOUtils.error(501, "耗材字典不存在此产品!");
}
if (StrUtil.isEmpty(udiEntity.getBatchNo()) && !udiRelevanceResponse.getAllowNoBatch()) {
errMsg = errMsg + ",批次号";
}
if (StrUtil.isEmpty(udiEntity.getProduceDate()) && !udiRelevanceResponse.getAllowNoProduct()) {
errMsg = errMsg + ",生产日期";
}
if (StrUtil.isEmpty(udiEntity.getExpireDate()) && !udiRelevanceResponse.getAllowNoExpire()) {
errMsg = errMsg + ",失效日期";
}
if (StrUtil.isNotEmpty(errMsg)) {
BaseResponse baseResponse = ResultVOUtils.error(507, "产品三期缺失请补齐" + errMsg.substring(1) + "");
baseResponse.setData(udiEntity);
return baseResponse;
}
return null;
}
//校验供应商是否配送此产品
public BaseResponse checkCorp(IoCodeEnttity codeEnttity, BasicBussinessTypeEntity bussinessTypeEntity, String unitFk) {
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
CompanyProductRelevanceRequest companyProductRelevanceRequest = new CompanyProductRelevanceRequest();
companyProductRelevanceRequest.setUnitFk(unitFk);
UdiEntity udiEntity = FilterUdiUtils.getUdi(codeEnttity.getCode());
companyProductRelevanceRequest.setNameCode(udiEntity.getUdi());
List<UdiRlSupResponse> datas = udiRlSupService.filterUdiGp(companyProductRelevanceRequest);
if (datas.size() <= 0) {
return ResultVOUtils.error(500, "当前供应商不存在此配送产品!");
}
}
return null;
}
//校验产品ID唯一性
public BaseResponse checkRelId(IoCodeEnttity codeEnttity, String unitFk) {
List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.selectAllByNameCode(codeEnttity.getNameCode(), unitFk);
if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && codeEnttity.getRelId() == null) {//同一个DI绑定多个产品西信息
codeEnttity.setRelId(null);
codeEnttity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI);
codesService.insert(codeEnttity);
codeEnttity = codesService.findByUnique(codeEnttity.getOrderId(), codeEnttity.getCode());
BaseResponse baseResponse = ResultVOUtils.error(502, "DI绑定多个产品ID,请指定对应产品");
baseResponse.setData(codeEnttity);
return baseResponse;
} else if (udiRelevanceEntities == null || udiRelevanceEntities.size() == 0) {//未找到产品信息,一般不会出现
codeEnttity.setRelId(null);
codeEnttity.setStatus(2);
return ResultVOUtils.error(501, "耗材字典不存在此产品!");
} else {
codeEnttity.setStatus(0);
if (codeEnttity.getRelId() == null)
codeEnttity.setRelId(udiRelevanceEntities.get(0).getId());
codesService.insert(codeEnttity);
}
return null;
}
//校验供应商唯一性
public BaseResponse checkSupId(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeEnttity codeEnttity, String unitFk) {
String originSupId = null;
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
if (unitFk != null)
originSupId = unitFk;
}
if (originSupId != null) {
codeEnttity.setSupId(originSupId);
} else {
String supId = transInoutService.checkInvExitSup(codeEnttity);
if (supId == null) {
supId = transInoutService.checkExitSup(codeEnttity.getRelId());
}
if (supId == null) {
codeEnttity.setSupId(null);
BaseResponse baseResponse = ResultVOUtils.error(503, "该产品未绑定供应商,请指定对应的供应商");
baseResponse.setData(codeEnttity);
return baseResponse;
} else if ("MUTI".equals(supId)) {
codeEnttity.setSupId(null);
BaseResponse baseResponse = ResultVOUtils.error(503, "该产品绑定多个供应商,请指定对应的供应商");
baseResponse.setData(codeEnttity);
return baseResponse;
} else {
codeEnttity.setSupId(supId);
}
}
codesService.updateById(codeEnttity);
return null;
}
//判断本单是否存在
public IoCodeEnttity isExitLocal(String code, List<IoCodeEnttity> codeEnttityList) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
for (int i = 0; i < codeEnttityList.size(); i++) {
IoCodeEnttity drugCodeSelectEntity = codeEnttityList.get(i);
if (codeEnttityList.get(i).getCode().equals(code)) {
return drugCodeSelectEntity;
}
// UdiEntity originUdiEntity = FilterUdiUtils.getUdi(drugCodeSelectEntity.getCode());
if (!StrUtil.emptyIfNull(drugCodeSelectEntity.getNameCode()).equals(StrUtil.emptyIfNull(udiEntity.getUdi()))) {
continue;
}
if (!StrUtil.emptyIfNull(drugCodeSelectEntity.getBatchNo()).toUpperCase(Locale.ROOT).equals(StrUtil.emptyIfNull(udiEntity.getBatchNo()).toUpperCase(Locale.ROOT))) {
continue;
}
if (!StrUtil.emptyIfNull(drugCodeSelectEntity.getProduceDate()).equals(StrUtil.emptyIfNull(udiEntity.getProduceDate()))) {
continue;
}
if (!StrUtil.emptyIfNull(drugCodeSelectEntity.getExpireDate()).equals(StrUtil.emptyIfNull(udiEntity.getExpireDate()))) {
continue;
}
if (!StrUtil.emptyIfNull(drugCodeSelectEntity.getSerialNo()).equals(StrUtil.emptyIfNull(udiEntity.getSerialNo()))) {
continue;
}
return drugCodeSelectEntity;
}
return null;
}
}

@ -0,0 +1,18 @@
package com.glxp.api.controller.inout;
import com.glxp.api.service.inout.IoOrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Slf4j
@RestController
public class IoOrderController {
@Resource
IoOrderService orderService;
}

@ -21,6 +21,9 @@ public interface BasicBussinessTypeDao extends BaseMapper<BasicBussinessTypeEnti
*/ */
List<BasicBussinessTypeResponse> filterList(FilterBussinessTypeRequest filterBussinessTypeRequest); List<BasicBussinessTypeResponse> filterList(FilterBussinessTypeRequest filterBussinessTypeRequest);
List<BasicBussinessTypeResponse> filterJoinByUser(FilterBussinessTypeRequest filterBussinessTypeRequest);
/** /**
* *
* *

@ -1,6 +1,9 @@
package com.glxp.api.dao.basic; package com.glxp.api.dao.basic;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.dao.inout.IoCodeDao;
import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.inout.IoCodeEnttity;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -9,14 +12,11 @@ import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface UdiRelevanceDao { public interface UdiRelevanceDao extends BaseMapperPlus<IoCodeDao, IoCodeEnttity, IoCodeEnttity> {
List<UdiRelevanceResponse> filterUdiRelevance(FilterUdiRelRequest filterUdiRelRequest); List<UdiRelevanceResponse> filterUdiRelevance(FilterUdiRelRequest filterUdiRelRequest);
UdiRelevanceEntity selectByDiThirdId(String nameCode, String thirdId, String thirdSys);
List<UdiRelevanceResponse> filterUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest); List<UdiRelevanceResponse> filterUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest);
@ -67,19 +67,11 @@ public interface UdiRelevanceDao {
void importUdiRelevance(@Param("udiRelevanceEntities") List<UdiRelevanceEntity> udiRelevanceEntities); void importUdiRelevance(@Param("udiRelevanceEntities") List<UdiRelevanceEntity> udiRelevanceEntities);
/** /**
* ID * /**
*
* @param nameCode
* @param orderIdFk
* @return
*/
String selectProductId(@Param("nameCode") String nameCode, @Param("orderIdFk") String orderIdFk);
/**
* UUID * UUID
* *
* @param relId * @param relId
* @return * @return
*/ */
String selectUuidById(String relId); String selectUuidById(@Param("relId") String relId);
} }

@ -0,0 +1,38 @@
package com.glxp.api.dao.basic;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.basic.UdiRlSupEntity;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest;
import com.glxp.api.res.basic.UdiRlSupResponse;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface UdiRlSupDao extends BaseMapperPlus<UdiRlSupDao, UdiRlSupEntity, UdiRlSupEntity> {
List<UdiRlSupResponse> filterUdiGp(CompanyProductRelevanceRequest basicInstrumentMaintainRequest);
List<UdiRlSupEntity> filterCompanyProductRelevance(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest);
UdiRlSupEntity findCompanyProductRelevance(String CustomerId);
UdiRlSupEntity findCompanyProductRelevanceByProductId(String productId);
UdiRlSupEntity findCompanyProductRelevanceByUdiRlIdFk(@Param("udiRlIdFk") String udiRlIdFk, @Param("customerId") String customerId);
UdiRlSupEntity findCompanyProductRelevanceByProductUuid(UdiRlSupEntity udiRlSupEntity);
List<UdiRlSupEntity> getCompanyProductRelevance(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest);
boolean insertCompanyProductRelevance(UdiRlSupEntity companyCertEntity);
boolean importCompanyProductRelevance(UdiRlSupEntity udiRlSupEntity);
boolean deleteById(String id);
boolean deleteByRlId(String id);
}

@ -0,0 +1,8 @@
package com.glxp.api.dao.inout;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoCodeEnttity;
import com.glxp.api.entity.inout.IoOrderEntity;
public interface IoCodeDao extends BaseMapperPlus<IoCodeDao, IoCodeEnttity, IoCodeEnttity> {
}

@ -0,0 +1,7 @@
package com.glxp.api.dao.inout;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoOrderEntity;
public interface IoOrderDao extends BaseMapperPlus<IoOrderDao, IoOrderEntity, IoOrderEntity> {
}

@ -28,7 +28,7 @@ public class AuthAdmin {
private Date lastModifyTime; private Date lastModifyTime;
private String comments; private String comments;
private String employeeName; private String employeeName;
private Integer CustomerId; private Long CustomerId;
private String locInvCode; private String locInvCode;
private String locSubInvCode; private String locSubInvCode;

@ -77,4 +77,23 @@ public class UdiProductEntity {
private String supId; private String supId;
public Boolean getAllowNoBatch() {
if (allowNoBatch == null)
return false;
return allowNoBatch;
}
public Boolean getAllowNoExpire() {
if (allowNoExpire == null)
return false;
return allowNoExpire;
}
public Boolean getAllowNoProduct() {
if (allowNoProduct == null)
return false;
return allowNoProduct;
}
} }

@ -0,0 +1,27 @@
package com.glxp.api.entity.basic;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class UdiRlSupEntity {
private Integer id;
private String customerId;
private String productId;
private String enterpriseId;
private String registrationId;
private String auditStatus;
private String productUuid;
private String udiRlIdFk;
private String unitFk;
private BigDecimal price;
private Date createTime;
private Date updateTime;
private String createUser;
private String updateUser;
}

@ -0,0 +1,143 @@
package com.glxp.api.entity.inout;
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.io.Serializable;
import java.util.Date;
import lombok.Data;
@Data
@TableName(value = "io_codes")
public class IoCodeEnttity implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
* UDI
*/
@TableField(value = "code")
private String code;
/**
*
*/
@TableField(value = "mainAction")
private String mainAction;
/**
*
*/
@TableField(value = "`action`")
private String action;
/**
*
*/
@TableField(value = "orderId")
private String orderId;
/**
*
*/
@TableField(value = "corpOrderId")
private String corpOrderId;
/**
* DI
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "produceDate")
private String produceDate;
/**
*
*/
@TableField(value = "expireDate")
private String expireDate;
/**
*
*/
@TableField(value = "serialNo")
private String serialNo;
/**
*
*/
@TableField(value = "packageLevel")
private String packageLevel;
/**
* ID
*/
@TableField(value = "supId")
private String supId;
/**
* ID
*/
@TableField(value = "relId")
private Long relId;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
/**
*
*/
@TableField(value = "reCount")
private Integer reCount;
/**
*
*/
@TableField(value = "deptCode")
private String deptCode;
/**
*
*/
@TableField(value = "invCode")
private String invCode;
/**
*
*/
@TableField(value = "warehouseCode")
private String warehouseCode;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
private Integer status; //条码校验状态
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,186 @@
package com.glxp.api.entity.inout;
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.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
@Data
@TableName(value = "io_order_detail_biz")
public class IoOrderDetailBizEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
private Integer id;
/**
*
*/
@TableField(value = "orderIdFk")
private String orderIdFk;
/**
* ID
*/
@TableField(value = "bindRlFk")
private String bindRlFk;
/**
* DIUUID
*/
@TableField(value = "uuidFk")
private String uuidFk;
/**
* DI
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "productDate")
private String productDate;
/**
*
*/
@TableField(value = "expireDate")
private String expireDate;
/**
*
*/
@TableField(value = "coName")
private String coName;
/**
*
*/
@TableField(value = "certCode")
private String certCode;
/**
*
*/
@TableField(value = "ylqxzcrbarmc")
private String ylqxzcrbarmc;
/**
*
*/
@TableField(value = "manufacturer")
private String manufacturer;
/**
*
*/
@TableField(value = "measname")
private String measname;
/**
*
*/
@TableField(value = "spec")
private String spec;
/**
*
*/
@TableField(value = "price")
private BigDecimal price;
/**
*
*/
@TableField(value = "secSalesListNo")
private String secSalesListNo;
/**
*
*/
@TableField(value = "firstSalesInvNo")
private String firstSalesInvNo;
/**
*
*/
@TableField(value = "secSalesInvNo")
private String secSalesInvNo;
/**
*
*/
@TableField(value = "invoiceDate")
private String invoiceDate;
/**
* ID
*/
@TableField(value = "supId")
private String supId;
/**
*
*/
@TableField(value = "bindSupStatus")
private String bindSupStatus;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
/**
*
*/
@TableField(value = "reCount")
private Integer reCount;
/**
*
*/
@TableField(value = "remark")
private String remark;
/**
* 1
*/
@TableField(value = "remark1")
private String remark1;
/**
* 2
*/
@TableField(value = "remark2")
private String remark2;
/**
* 3
*/
@TableField(value = "remark3")
private String remark3;
/**
* 4
*/
@TableField(value = "remark4")
private String remark4;
/**
* 5
*/
@TableField(value = "remark5")
private String remark5;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,186 @@
package com.glxp.api.entity.inout;
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.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
@Data
@TableName(value = "io_order_detail_code")
public class IoOrderDetailCodeEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
private Integer id;
/**
*
*/
@TableField(value = "orderIdFk")
private String orderIdFk;
/**
* ID
*/
@TableField(value = "bindRlFk")
private String bindRlFk;
/**
* DIUUID
*/
@TableField(value = "uuidFk")
private String uuidFk;
/**
* DI
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "productDate")
private String productDate;
/**
*
*/
@TableField(value = "expireDate")
private String expireDate;
/**
*
*/
@TableField(value = "coName")
private String coName;
/**
*
*/
@TableField(value = "certCode")
private String certCode;
/**
*
*/
@TableField(value = "ylqxzcrbarmc")
private String ylqxzcrbarmc;
/**
*
*/
@TableField(value = "manufacturer")
private String manufacturer;
/**
*
*/
@TableField(value = "measname")
private String measname;
/**
*
*/
@TableField(value = "spec")
private String spec;
/**
*
*/
@TableField(value = "price")
private BigDecimal price;
/**
*
*/
@TableField(value = "secSalesListNo")
private String secSalesListNo;
/**
*
*/
@TableField(value = "firstSalesInvNo")
private String firstSalesInvNo;
/**
*
*/
@TableField(value = "secSalesInvNo")
private String secSalesInvNo;
/**
*
*/
@TableField(value = "invoiceDate")
private String invoiceDate;
/**
* ID
*/
@TableField(value = "supId")
private String supId;
/**
*
*/
@TableField(value = "bindSupStatus")
private String bindSupStatus;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
/**
*
*/
@TableField(value = "reCount")
private Integer reCount;
/**
*
*/
@TableField(value = "remark")
private String remark;
/**
* 1
*/
@TableField(value = "remark1")
private String remark1;
/**
* 2
*/
@TableField(value = "remark2")
private String remark2;
/**
* 3
*/
@TableField(value = "remark3")
private String remark3;
/**
* 4
*/
@TableField(value = "remark4")
private String remark4;
/**
* 5
*/
@TableField(value = "remark5")
private String remark5;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,186 @@
package com.glxp.api.entity.inout;
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.io.Serializable;
import java.math.BigDecimal;
import lombok.Data;
@Data
@TableName(value = "io_order_detail_result")
public class IoOrderDetailResultEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
private Integer id;
/**
*
*/
@TableField(value = "orderIdFk")
private String orderIdFk;
/**
* ID
*/
@TableField(value = "bindRlFk")
private String bindRlFk;
/**
* DIUUID
*/
@TableField(value = "uuidFk")
private String uuidFk;
/**
* DI
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "productDate")
private String productDate;
/**
*
*/
@TableField(value = "expireDate")
private String expireDate;
/**
*
*/
@TableField(value = "coName")
private String coName;
/**
*
*/
@TableField(value = "certCode")
private String certCode;
/**
*
*/
@TableField(value = "ylqxzcrbarmc")
private String ylqxzcrbarmc;
/**
*
*/
@TableField(value = "manufacturer")
private String manufacturer;
/**
*
*/
@TableField(value = "measname")
private String measname;
/**
*
*/
@TableField(value = "spec")
private String spec;
/**
*
*/
@TableField(value = "price")
private BigDecimal price;
/**
*
*/
@TableField(value = "secSalesListNo")
private String secSalesListNo;
/**
*
*/
@TableField(value = "firstSalesInvNo")
private String firstSalesInvNo;
/**
*
*/
@TableField(value = "secSalesInvNo")
private String secSalesInvNo;
/**
*
*/
@TableField(value = "invoiceDate")
private String invoiceDate;
/**
* ID
*/
@TableField(value = "supId")
private String supId;
/**
*
*/
@TableField(value = "bindSupStatus")
private String bindSupStatus;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
/**
*
*/
@TableField(value = "reCount")
private Integer reCount;
/**
*
*/
@TableField(value = "remark")
private String remark;
/**
* 1
*/
@TableField(value = "remark1")
private String remark1;
/**
* 2
*/
@TableField(value = "remark2")
private String remark2;
/**
* 3
*/
@TableField(value = "remark3")
private String remark3;
/**
* 4
*/
@TableField(value = "remark4")
private String remark4;
/**
* 5
*/
@TableField(value = "remark5")
private String remark5;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,182 @@
package com.glxp.api.entity.inout;
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.io.Serializable;
import java.util.Date;
import lombok.Data;
@Data
@TableName(value = "io_order")
public class IoOrderEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
private Integer id;
/**
*
*/
@TableField(value = "billNo")
private String billNo;
/**
*
*/
@TableField(value = "corpOrderId")
private String corpOrderId;
/**
*
*/
@TableField(value = "mainAction")
private String mainAction;
/**
*
*/
@TableField(value = "`action`")
private String action;
/**
*
*/
@TableField(value = "fromCorp")
private String fromCorp;
/**
*
*/
@TableField(value = "fromDeptCode")
private String fromDeptCode;
/**
*
*/
@TableField(value = "fromInvCode")
private String fromInvCode;
/**
* 1.UDIMS2.3.pda4.pda5.pc
*/
@TableField(value = "fromType")
private Integer fromType;
/**
* 1:稿2:;3:;3:;4:;5:;6:;7:
*/
@TableField(value = "`status`")
private Integer status;
/**
* 1.稿2:;3:
*/
@TableField(value = "dealStatus")
private Integer dealStatus;
/**
*
*/
@TableField(value = "`createUser`")
private String createUser;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
@TableField(value = "updateUser")
private String updateUser;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "reviewUser")
private String reviewUser;
/**
*
*/
@TableField(value = "auditTime")
private Date auditTime;
/**
* ID
*/
@TableField(value = "customerId")
private Long customerId;
/**
*
*/
@TableField(value = "deptCode")
private String deptCode;
/**
*
*/
@TableField(value = "invCode")
private String invCode;
/**
*
*/
@TableField(value = "outChangeEnable")
private Boolean outChangeEnable;
/**
*
*/
@TableField(value = "originUllageSupNo")
private String originUllageSupNo;
/**
*
*/
@TableField(value = "ullageSupNo")
private String ullageSupNo;
/**
*
*/
@TableField(value = "supplementNo")
private String supplementNo;
/**
* (
*/
@TableField(value = "thirdBillNo")
private String thirdBillNo;
/**
* 使,
*/
@TableField(value = "replicateNo")
private String replicateNo;
/**
*
*/
@TableField(value = "printRemark")
private String printRemark;
/**
*
*/
@TableField(value = "remark")
private String remark;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,103 @@
package com.glxp.api.http;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.system.SyncDataSetEntity;
import com.glxp.api.req.inout.PostOrderRequest;
import com.glxp.api.service.system.SyncDataSetService;
import com.glxp.api.util.OkHttpCli;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
@Service
public class SpsDirectClient {
@Resource
private OkHttpCli okHttpCli;
@Resource
SyncDataSetService syncDataSetService;
public String getIpUrl() {
SyncDataSetEntity syncDataSetEntity = syncDataSetService.findSet();
return syncDataSetEntity.getSyncIp();
}
//单据验收 todo
// public BaseResponse reviewOrder(OrderFilterRequest orderFilterRequest) {
// String json = JSONUtil.toJsonStr(orderFilterRequest);
// String result = okHttpCli.doPostJson(getIpUrl() + "/sps/review/download/order/finsih", json);
// BaseResponse<String> response =
// JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
// });
// return response;
//
// }
//获取未验收的单据
public BaseResponse downloadOrder(String orderId, String wmsUserId, String action) {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("wmsUserId", wmsUserId);
paramMap.put("orderId", orderId);
paramMap.put("action", action);
String response = okHttpCli.doGet(getIpUrl() + "/sps/review/download/order", paramMap);
try {
BaseResponse data = JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接失败!");
}
}
//获取未验收的单据详情
public BaseResponse downloadOrderDetail(String orderId, String wmsUserId) {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("wmsUserId", wmsUserId);
paramMap.put("orderId", orderId);
String response = okHttpCli.doGet(getIpUrl() + "/sps/review/download/orderDetail", paramMap);
try {
BaseResponse data = JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接失败!");
}
}
//获取未验收的单据条码
public BaseResponse downloadCodes(String wmsUserId, String orderId) {
Map<String, String> paramMap = new HashMap<>(16);
paramMap.put("wmsUserId", wmsUserId);
paramMap.put("orderId", orderId);
String response = okHttpCli.doGet(getIpUrl() + "/sps/review/download/codes", paramMap);
try {
BaseResponse data = JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
});
return data;
} catch (Exception e) {
e.printStackTrace();
return ResultVOUtils.error(500, "连接失败!");
}
}
//单据上传
public BaseResponse uploadPdaOrder(PostOrderRequest postOrderRequest) {
String json = JSONUtil.toJsonStr(postOrderRequest);
String result = okHttpCli.doPostJson(getIpUrl() + "/sps/pda/upload/orders", json);
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
}

@ -0,0 +1,49 @@
package com.glxp.api.req.basic;
import com.glxp.api.req.ListPageRequest;
import lombok.Data;
@Data
public class CompanyProductRelevanceRequest extends ListPageRequest {
private String ylqxzcrbarmc;
private String cpmctymc;
private String nameCode;
private String uuid;
private String ggxh;
private String thirdId;
private String id;
private String thirdId1;
private String thirdId2;
private String thirdId3;
private String thirdId4;
private Boolean isDisable;
private String thirdCode;
private String thirdSys;
private String lastUpdateTime;
private String zczbhhzbapzbh;
private Integer diType;
private String unionCode;
private String udiCode;
private String thrPiId;
private Boolean isCheck;
private Integer filterType; //0:全部1.对照完成2.未对照DI3.未对照产品编码4.未对照其他产品编码
private String customerId;
private String auditStatus;
private String companyName;
private Integer lockStatus;
private Boolean isAdavence;
private String unitFk;
private String corpId;
private String billType;
}

@ -61,7 +61,7 @@ public class FilterBussinessTypeRequest extends ListPageRequest {
/** /**
* ID * ID
*/ */
private Integer userId; private Long userId;
/** /**
* *

@ -0,0 +1,16 @@
package com.glxp.api.req.basic;
import com.glxp.api.req.ListPageRequest;
import lombok.Data;
@Data
public class FilterCompanyProductRelevanceRequest extends ListPageRequest {
private Long customerId;
private Long productId;
private String productUuid;
private String udiRlIdFk;
private String unitFk;
private String lastUpdateTime;
private String key;
}

@ -0,0 +1,27 @@
package com.glxp.api.req.basic;
import com.glxp.api.req.ListPageRequest;
import lombok.Data;
import java.util.List;
@Data
public class UdiInfoExportRequest extends ListPageRequest {
List<String> rlIds;
List<String> uuids;
private Long customerId;
private String ylqxzcrbarmc;
private String cpmctymc;
private String nameCode;
private String uuid;
private String ggxh;
private String thirdId;
private String id;
private String unitFk;
private String thirdId1;
private String thirdId2;
private String thirdId3;
private String thirdId4;
}

@ -0,0 +1,9 @@
package com.glxp.api.req.inout;
import lombok.Data;
@Data
public class AddEnterCodeRequest {
private String originCode;
private String code;
}

@ -0,0 +1,29 @@
package com.glxp.api.req.inout;
import lombok.Data;
@Data
public class AddOrderRequest {
private String corpOrderId;
private String code;
private String mainAction;
private String action;
private String fromCorp;
private String fromInvCode;
private String billType;
private String deptCode;
private String invCode;
private String orderId;
private Long customerId;
private boolean outChangeEnable;
private boolean ignoreExpire;
private boolean ignoreRecentExpire;
private boolean ignoreCode;
private boolean preCheck;
private String batchNo;
private String produceDate;
private String expireDate;
private String serialNo;
private boolean vailInv;
private boolean codeFillCheck;
}

@ -0,0 +1,8 @@
package com.glxp.api.req.inout;
import lombok.Data;
@Data
public class FilterIoCodeRequest {
}

@ -0,0 +1,60 @@
package com.glxp.api.req.inout;
import lombok.Data;
@Data
public class PdaCodeEntity {
private Long id;
private String action;
private String mainAction;
private String code;
private String corpOrderId;
private String actor;
private String actDate;
private String fromCorpId;
private String fromCorp;
private String orderId;
private String batchNo;
private String produceDate;
private String expireDate;
private String serialNo;
private Integer count; //扫码数量
private Integer reCount; //实际数量
private String packageLevel;
private String warehouseCode;
private String customerId;
private String nameCode;
private Integer sCount;
private String supId;//供应商ID
private String supName;
private String invStorageCode;
private String invWarehouseCode;
private String relId;
private Integer status;
private String locStorageCode;
private String fromSubInvCode;
private String mySupId;
private int scanCount;
public String getSupId() {
if (supId == null) {
return null;
} else if (supId.equals(""))
return null;
return supId;
}
public Integer getCount() {
if (count == null) {
return 1;
}
if (count == 0)
return 1;
return count;
}
}

@ -0,0 +1,101 @@
package com.glxp.api.req.inout;
import lombok.Data;
import java.util.List;
@Data
public class PostOrderRequest {
List<PostOrder> postOrders;
int submitType;//0提交1保存
String oldOrderId;//保存再编辑后再保存或提交根据旧id删除旧数据。
private Long customerId;
private Long userId;
private String wmsUserId;
private String wmsUserName;
public int getSubmitType() {
return submitType;
}
public void setSubmitType(int submitType) {
this.submitType = submitType;
}
public String getOldOrderId() {
return oldOrderId;
}
public void setOldOrderId(String oldOrderId) {
this.oldOrderId = oldOrderId;
}
public static class PostOrder {
public List<String> erpOrders;
List<PdaCodeEntity> codes;
private String billType;
private String orderId;
private boolean outChangeEnable;
private boolean preCheck;
public String getStockIdFk() {
return stockIdFk;
}
public void setStockIdFk(String stockIdFk) {
this.stockIdFk = stockIdFk;
}
private String stockIdFk;
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public String getBillType() {
return billType;
}
public void setBillType(String billType) {
this.billType = billType;
}
public List<String> getErpOrders() {
return erpOrders;
}
public void setErpOrders(List<String> erpOrders) {
this.erpOrders = erpOrders;
}
public List<PdaCodeEntity> getCodes() {
return codes;
}
public void setCodes(List<PdaCodeEntity> codes) {
this.codes = codes;
}
public boolean isOutChangeEnable() {
return outChangeEnable;
}
public void setOutChangeEnable(boolean outChangeEnable) {
this.outChangeEnable = outChangeEnable;
}
public boolean isPreCheck() {
return preCheck;
}
public void setPreCheck(boolean preCheck) {
this.preCheck = preCheck;
}
}
}

@ -1,6 +1,5 @@
package com.glxp.api.res.basic; package com.glxp.api.res.basic;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@ -94,4 +93,23 @@ public class UdiRelevanceResponse {
} else } else
return bhzxxsbzsl; return bhzxxsbzsl;
} }
public Boolean getAllowNoBatch() {
if (allowNoBatch == null)
return false;
return allowNoBatch;
}
public Boolean getAllowNoExpire() {
if (allowNoExpire == null)
return false;
return allowNoExpire;
}
public Boolean getAllowNoProduct() {
if (allowNoProduct == null)
return false;
return allowNoProduct;
}
} }

@ -0,0 +1,85 @@
package com.glxp.api.res.basic;
import lombok.Data;
@Data
public class UdiRlSupResponse {
private int id;
private Integer rlId;
private String thirdId;
private String thirdName;
private String uuid;
private String originUuid;
private String nameCode;
private String packLevel;
private String packRatio;
private Integer bhxjsl;
private Integer bhzxxsbzsl;
private Integer zxxsbzbhsydysl;
private String bhxjcpbm;
private String sjcpbm; //
private String bzcj;
private String deviceRecordKey;
private int isUseDy;
private String cpmctymc;
private String cplb;
private String flbm;
private String ggxh;
private String qxlb;
private String tyshxydm;
private String ylqxzcrbarmc;
private String zczbhhzbapzbh;
private String ylqxzcrbarywmc;
private String sydycpbs;
private int versionNumber;
private int diType;
private String thirdId1;
private String thirdId2;
private String thirdId3;
private String thirdId4;
private String thirdName1;
private String thirdName2;
private String thirdName3;
private String thirdName4;
private String ybbm;
private String sptm;
private String manufactory;
private String measname;
private Boolean isDisable;
private long customerId;
private String auditStatus;
private Boolean isLock;
private Integer lockStatus;
private String companyName;
private String mainId;
private String mainName;
private Boolean isAdavence;
private String scbssfbhph;
private String scbssfbhxlh;
private String scbssfbhscrq;
private String scbssfbhsxrq;
private String cpms;
private String supName;
private boolean allowNoBatch;
private boolean allowNoExpire;
private boolean allowNoProduct;
private String spmc;
private Integer productType;
private String price;
//产品代理商
private String cpdls;
private String basicPrductRemak1;
private String basicPrductRemak2;
private String basicPrductRemak3;
private String basicPrductRemak4;
private String basicPrductRemak5;
private String basicPrductRemak6;
private String basicPrductRemak7;
private String basicPrductRemak8;
}

@ -0,0 +1,9 @@
package com.glxp.api.res.inout;
import lombok.Data;
@Data
public class AddCodeResult {
private String orderId;
private String errMsg;
}

@ -17,12 +17,12 @@ public class CustomerService {
private AuthAdminService authAdminService; private AuthAdminService authAdminService;
public AuthAdmin getUserBean() { public AuthAdmin getUserBean() {
Integer userId = getUserId(); Long userId = getUserId();
AuthAdmin authAdmin = authAdminService.findById(userId.longValue()); AuthAdmin authAdmin = authAdminService.findById(userId.longValue());
return authAdmin; return authAdmin;
} }
public Integer getUserId() { public Long getUserId() {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes == null) { if (attributes == null) {
@ -30,7 +30,7 @@ public class CustomerService {
} }
HttpServletRequest request = attributes.getRequest(); HttpServletRequest request = attributes.getRequest();
String userId = request.getHeader("ADMIN_ID"); String userId = request.getHeader("ADMIN_ID");
return Integer.parseInt(userId); return Long.parseLong(userId);
} }
public String getUserIdStr() { public String getUserIdStr() {
@ -45,9 +45,9 @@ public class CustomerService {
} }
public String getUserName() { public String getUserName() {
Integer userId = getUserId(); Long userId = getUserId();
AuthAdmin authAdmin = authAdminService.findById(userId.longValue()); AuthAdmin authAdmin = authAdminService.findById(userId.longValue());
return authAdmin.getUserName(); return authAdmin.getUserName();
} }
} }

@ -0,0 +1,59 @@
package com.glxp.api.service.basic;
import com.glxp.api.entity.basic.UdiRlSupEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.req.basic.UdiInfoExportRequest;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
public class CompanyProductsRelService {
@Resource
private UdiRlSupService udiRlSupService;
@Resource
UdiRelevanceService udiRelevanceService;
@Async
public void insertCompanyProducts(UdiInfoExportRequest udiInfoExportRequest) {
//选中导出
if (udiInfoExportRequest.getRlIds() != null && udiInfoExportRequest.getRlIds().size() > 0) {
List<String> rlIdS = udiInfoExportRequest.getRlIds();
for (String uuid : rlIdS) {
UdiRlSupEntity udiRlSupEntity = new UdiRlSupEntity();
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(Long.parseLong(uuid));
// if (udiRelevanceEntity != null)
// companyProductRelevanceEntity.setPrice(udiRelevanceEntity.getPrice());
udiRlSupEntity.setCreateTime(new Date());
udiRlSupEntity.setUpdateTime(new Date());
udiRlSupEntity.setAuditStatus("3");
udiRlSupEntity.setUnitFk(udiInfoExportRequest.getUnitFk());
udiRlSupEntity.setUdiRlIdFk(uuid);
udiRlSupEntity.setCustomerId(udiInfoExportRequest.getUnitFk());
boolean b = udiRlSupService.insertCompanyProductRelevance(udiRlSupEntity);
}
} else {//一键导出 //todo暂时去掉
// FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
// BeanUtils.copyProperties(udiInfoExportRequest, filterUdiInfoRequest);
// filterUdiInfoRequest.setPage(null);
// List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest);
// for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) {
// CompanyProductRelevanceEntity companyProductRelevanceEntity = new CompanyProductRelevanceEntity();
// companyProductRelevanceEntity.setCreate_time(new Date());
// companyProductRelevanceEntity.setUpdate_time(new Date());
// companyProductRelevanceEntity.setAuditStatus("3");
// companyProductRelevanceEntity.setUnitFk(udiInfoExportRequest.getUnitFk());
// companyProductRelevanceEntity.setUdiRlIdFk(udiRelevanceResponse.getId());
// companyProductRelevanceEntity.setProductUuid(udiRelevanceResponse.getUuid());
// companyProductRelevanceEntity.setCustomerId(udiInfoExportRequest.getCustomerId());
// boolean b = companyProductRelevanceService.insertCompanyProductRelevance(companyProductRelevanceEntity);
// }
}
}
}

@ -19,6 +19,8 @@ public interface IBasicBussinessTypeService {
*/ */
List<BasicBussinessTypeResponse> filterList(FilterBussinessTypeRequest filterBussinessTypeRequest); List<BasicBussinessTypeResponse> filterList(FilterBussinessTypeRequest filterBussinessTypeRequest);
List<BasicBussinessTypeResponse> filterJoinByUser(FilterBussinessTypeRequest filterBussinessTypeRequest);
/** /**
* *
* *

@ -0,0 +1,36 @@
package com.glxp.api.service.basic;
import com.glxp.api.entity.basic.UdiRlSupEntity;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest;
import com.glxp.api.res.basic.UdiRlSupResponse;
import java.util.List;
public interface UdiRlSupService {
List<UdiRlSupResponse> filterUdiGp(CompanyProductRelevanceRequest basicInstrumentMaintainRequest);
List<UdiRlSupEntity> filterCompanyProductRelevance(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest);
UdiRlSupEntity findCompanyProductRelevance(String CustomerId);
UdiRlSupEntity findCompanyProductRelevanceByProductId(String productId);
UdiRlSupEntity findCompanyProductRelevanceByUdiRlIdFk(String udiRlIdFk, String customerId);
UdiRlSupEntity findByUdiRlIdUnitFk(String udiRlIdFk, String unitFk);
UdiRlSupEntity findCompanyProductRelevanceByProductUuid(UdiRlSupEntity udiRlSupEntity);
List<UdiRlSupEntity> getCompanyProductRelevance(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest);
int updateCompanyProductRelevance(UdiRlSupEntity companyCertEntity);
boolean insertCompanyProductRelevance(UdiRlSupEntity companyCertEntity);
boolean deleteById(String id);
boolean deleteByRlId(String id);
}

@ -40,6 +40,17 @@ public class BasicBussinessTypeServiceImpl implements IBasicBussinessTypeService
return basicBussinessTypeDao.filterList(filterBussinessTypeRequest); return basicBussinessTypeDao.filterList(filterBussinessTypeRequest);
} }
@Override
public List<BasicBussinessTypeResponse> filterJoinByUser(FilterBussinessTypeRequest filterBussinessTypeRequest) {
if (null == filterBussinessTypeRequest) {
return Collections.emptyList();
}
if (null != filterBussinessTypeRequest.getPage() && null != filterBussinessTypeRequest.getLimit()) {
PageHelper.offsetPage((filterBussinessTypeRequest.getPage() - 1) * filterBussinessTypeRequest.getLimit(), filterBussinessTypeRequest.getLimit());
}
return basicBussinessTypeDao.filterList(filterBussinessTypeRequest);
}
@Override @Override
public boolean insertBussinessType(BasicBussinessTypeEntity bussinessTypeEntity) { public boolean insertBussinessType(BasicBussinessTypeEntity bussinessTypeEntity) {
//设置创建时间和更新时间数据 //设置创建时间和更新时间数据

@ -0,0 +1,110 @@
package com.glxp.api.service.basic.impl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.UdiRlSupDao;
import com.glxp.api.entity.basic.UdiRlSupEntity;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest;
import com.glxp.api.res.basic.UdiRlSupResponse;
import com.glxp.api.service.basic.UdiRlSupService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class UdiRlSupServiceImpl implements UdiRlSupService {
@Resource
UdiRlSupDao udiRlSupDao;
@Override
public List<UdiRlSupResponse> filterUdiGp(CompanyProductRelevanceRequest basicInstrumentMaintainRequest) {
if (basicInstrumentMaintainRequest == null) {
return Collections.emptyList();
}
if (basicInstrumentMaintainRequest.getPage() != null) {
int offset = (basicInstrumentMaintainRequest.getPage() - 1) * basicInstrumentMaintainRequest.getLimit();
PageHelper.offsetPage(offset, basicInstrumentMaintainRequest.getLimit());
}
List<UdiRlSupResponse> data = udiRlSupDao.filterUdiGp(basicInstrumentMaintainRequest);
return data;
}
@Override
public List<UdiRlSupEntity> filterCompanyProductRelevance(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest) {
if (filterCompanyProductRelevanceRequest == null) {
return Collections.emptyList();
}
if (filterCompanyProductRelevanceRequest.getPage() != null) {
int offset = (filterCompanyProductRelevanceRequest.getPage() - 1) * filterCompanyProductRelevanceRequest.getLimit();
PageHelper.offsetPage(offset, filterCompanyProductRelevanceRequest.getLimit());
}
return udiRlSupDao.filterCompanyProductRelevance(filterCompanyProductRelevanceRequest);
}
@Override
public UdiRlSupEntity findCompanyProductRelevance(String CustomerId) {
return udiRlSupDao.findCompanyProductRelevance(CustomerId);
}
@Override
public List<UdiRlSupEntity> getCompanyProductRelevance(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest) {
if (filterCompanyProductRelevanceRequest == null) {
return Collections.emptyList();
}
int offset = (filterCompanyProductRelevanceRequest.getPage() - 1) * filterCompanyProductRelevanceRequest.getLimit();
PageHelper.offsetPage(offset, filterCompanyProductRelevanceRequest.getLimit());
List<UdiRlSupEntity> companyEntities = udiRlSupDao.getCompanyProductRelevance(filterCompanyProductRelevanceRequest);
return companyEntities;
}
@Override
public UdiRlSupEntity findCompanyProductRelevanceByProductId(String productId) {
return udiRlSupDao.findCompanyProductRelevanceByProductId(productId);
}
@Override
public UdiRlSupEntity findCompanyProductRelevanceByUdiRlIdFk(String udiRlIdFk, String customerId) {
return udiRlSupDao.findCompanyProductRelevanceByUdiRlIdFk(udiRlIdFk, customerId);
}
@Override
public UdiRlSupEntity findByUdiRlIdUnitFk(String udiRlIdFk, String unitFk) {
FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest = new FilterCompanyProductRelevanceRequest();
filterCompanyProductRelevanceRequest.setUdiRlIdFk(udiRlIdFk);
filterCompanyProductRelevanceRequest.setUnitFk(unitFk);
List<UdiRlSupEntity> companyProductRelevanceEntities = udiRlSupDao.filterCompanyProductRelevance(filterCompanyProductRelevanceRequest);
if (companyProductRelevanceEntities.size() > 0) {
return companyProductRelevanceEntities.get(0);
}
return null;
}
@Override
public UdiRlSupEntity findCompanyProductRelevanceByProductUuid(UdiRlSupEntity udiRlSupEntity) {
return udiRlSupDao.findCompanyProductRelevanceByProductUuid(udiRlSupEntity);
}
@Override
public int updateCompanyProductRelevance(UdiRlSupEntity udiRlSupEntity) {
return udiRlSupDao.updateById(udiRlSupEntity);
}
@Override
public boolean insertCompanyProductRelevance(UdiRlSupEntity udiRlSupEntity) {
return udiRlSupDao.insertCompanyProductRelevance(udiRlSupEntity);
}
@Override
public boolean deleteById(String id) {
return udiRlSupDao.deleteById(id);
}
@Override
public boolean deleteByRlId(String id) {
return udiRlSupDao.deleteByRlId(id);
}
}

@ -0,0 +1,20 @@
package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoCodeEnttity;
import java.util.List;
public interface IoCodeService {
int insert(IoCodeEnttity codeEnttity);
boolean insertBatch(List<IoCodeEnttity> codeEnttities);
List<IoCodeEnttity> findByOrderId(String billNo);
int updateById(IoCodeEnttity codeEnttity);
public IoCodeEnttity findByUnique(String orderId, String code);
}

@ -0,0 +1,12 @@
package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderEntity;
public interface IoOrderService {
IoOrderEntity findById(String orderId);
IoOrderEntity findByBillNo(String billNO);
int insertOrder(IoOrderEntity orderEntity);
}

@ -0,0 +1,190 @@
package com.glxp.api.service.inout;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.UdiRlSupEntity;
import com.glxp.api.entity.inout.IoCodeEnttity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest;
import com.glxp.api.req.inout.PdaCodeEntity;
import com.glxp.api.req.inout.PostOrderRequest;
import com.glxp.api.service.basic.UdiRlSupService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.util.DateUtil;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service
public class IoTransInoutService {
@Resource
private IBasicBussinessTypeService basicBussinessTypeService;
@Resource
private IoOrderService orderService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
IoCodeService codeService;
@Resource
UdiRlSupService udiRlSupService;
public void creatOrderByPda(PostOrderRequest postOrderRequest) {
List<PostOrderRequest.PostOrder> postOrders = postOrderRequest.getPostOrders();
if (postOrders != null && postOrders.size() > 0) {
for (int i = 0; i < postOrders.size(); i++) {
PostOrderRequest.PostOrder postOrder = postOrders.get(i);
List<PdaCodeEntity> pdaCodeEntities = postOrder.getCodes();
if (pdaCodeEntities != null && pdaCodeEntities.size() > 0) {
//创建单据
PdaCodeEntity pdaCodeEntity = pdaCodeEntities.get(0);
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(pdaCodeEntity.getAction());
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
IoOrderEntity orderSaveRequest = new IoOrderEntity();
orderSaveRequest.setBillNo(orderNo);
if (pdaCodeEntity.getActDate() != null) {
orderSaveRequest.setCreateTime(DateUtil.parseDate(pdaCodeEntity.getActDate()));
}
orderSaveRequest.setMainAction(pdaCodeEntity.getMainAction());
orderSaveRequest.setAction(pdaCodeEntity.getAction());
orderSaveRequest.setCorpOrderId(pdaCodeEntity.getCorpOrderId());
orderSaveRequest.setFromCorp(pdaCodeEntity.getFromCorpId());
orderSaveRequest.setOutChangeEnable(postOrder.isOutChangeEnable());
orderSaveRequest.setCustomerId(postOrderRequest.getCustomerId());
orderSaveRequest.setFromInvCode(pdaCodeEntity.getFromSubInvCode());
orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
orderSaveRequest.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderSaveRequest.setCreateUser(postOrderRequest.getUserId() + "");
if (postOrder.getErpOrders() != null && postOrder.getErpOrders().size() > 0)
orderSaveRequest.setFromType(ConstantStatus.FROM_PDAED);
else
orderSaveRequest.setFromType(ConstantStatus.FROM_PDAUN);
orderService.insertOrder(orderSaveRequest);
//写入条码
List<IoCodeEnttity> ioCodeEnttities = new ArrayList<>();
for (int index = 0; index < pdaCodeEntities.size(); index++) {
pdaCodeEntities.get(index).setOrderId(orderNo);
IoCodeEnttity codeEnttity = new IoCodeEnttity();
BeanUtils.copyProperties(pdaCodeEntities.get(index), codeEnttity);
ioCodeEnttities.add(codeEnttity);
}
codeService.insertBatch(ioCodeEnttities);
}
}
}
}
public String checkExitSup(Long relId) {
//校验条码关联供应商
FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest = new FilterCompanyProductRelevanceRequest();
filterCompanyProductRelevanceRequest.setUdiRlIdFk(relId + "");
List<UdiRlSupEntity> companyProductRelevanceEntities = udiRlSupService.filterCompanyProductRelevance(filterCompanyProductRelevanceRequest);
if (companyProductRelevanceEntities != null && companyProductRelevanceEntities.size() == 1) {
UdiRlSupEntity udiRlSupEntity = companyProductRelevanceEntities.get(0);
return udiRlSupEntity.getUnitFk();
} else if (companyProductRelevanceEntities != null && companyProductRelevanceEntities.size() > 1) {
String unitFk = companyProductRelevanceEntities.get(0).getUnitFk();
boolean isMuti = false;
for (UdiRlSupEntity udiRlSupEntity : companyProductRelevanceEntities) {
if (!unitFk.equals(udiRlSupEntity.getUnitFk())) {
isMuti = true;
break;
}
}
if (isMuti)
return "MUTI"; //绑定多个供应商
else
return unitFk;
}
return null;
}
public String checkInvExitSup(IoCodeEnttity codeEnttity) {
String supId = checkNorInv(codeEnttity);
if (supId == null) {
return checkPreInv(codeEnttity);
}
return supId;
}
//查普通库存 todo
public String checkNorInv(IoCodeEnttity codeEnttity) {
// FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest();
// filterInvWarehouseRequest.setLevel(1);
// filterInvWarehouseRequest.setAdvanceType(false);
// List<InvWarehouseEntity> invWarehouseEntities = invWarehouseService.filterInvWarehouse(filterInvWarehouseRequest);
// List<String> codes = new ArrayList<>();
// if (!invWarehouseEntities.isEmpty()) {
// for (InvWarehouseEntity invWarehouseEntity : invWarehouseEntities) {
// codes.add(invWarehouseEntity.getCode());
// }
// }
// FilterInvProductRequest filterInvProductDetailRequest = new FilterInvProductRequest();
// filterInvProductDetailRequest.setRelIdFk(codeEnttity.getRelId());
// filterInvProductDetailRequest.setBatchNo(codeEnttity.getBatchNo());
// filterInvProductDetailRequest.setInvCodes(codes);
// List<InvProductEntity> invProductEntities = invProductService.filterInvProduct(filterInvProductDetailRequest);
// if (invProductEntities.size() > 0) {
// String supId = invProductEntities.get(0).getSupId();
// int count = 0;
// for (InvProductEntity invProductEntity : invProductEntities) {
// if (!supId.equals(invProductEntity.getSupId())) {
// return null;
// }
// count = count + (invProductEntity.getInCount() - invProductEntity.getOutCount());
// }
// if (count > 0)
// return supId;
// }
return null;
}
//查寄售库存 todo
public String checkPreInv(IoCodeEnttity codeEnttity) {
// FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest();
// filterInvWarehouseRequest.setLevel(1);
// filterInvWarehouseRequest.setAdvanceType(true);
// List<InvWarehouseEntity> invWarehouseEntities = invWarehouseService.filterInvWarehouse(filterInvWarehouseRequest);
// List<String> codes = new ArrayList<>();
// if (!invWarehouseEntities.isEmpty()) {
// for (InvWarehouseEntity invWarehouseEntity : invWarehouseEntities) {
// codes.add(invWarehouseEntity.getCode());
// }
// }
// FilterInvProductRequest filterInvProductDetailRequest = new FilterInvProductRequest();
// filterInvProductDetailRequest.setRelIdFk(codeEnttity.getRelId());
// filterInvProductDetailRequest.setBatchNo(codeEnttity.getBatchNo());
// filterInvProductDetailRequest.setInvCodes(codes);
// List<InvProductEntity> invProductEntities = invPreProductService.filterInvProduct(filterInvProductDetailRequest);
// if (invProductEntities.size() > 0) {
// String supId = invProductEntities.get(0).getSupId();
// int count = 0;
// for (InvProductEntity invProductEntity : invProductEntities) {
// if (!supId.equals(invProductEntity.getSupId())) {
// return null;
// }
// count = count + (invProductEntity.getInCount() - invProductEntity.getOutCount());
// }
// if (count > 0)
// return supId;
// }
return null;
}
}

@ -0,0 +1,43 @@
package com.glxp.api.service.inout.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.inout.IoCodeDao;
import com.glxp.api.entity.inout.IoCodeEnttity;
import com.glxp.api.service.inout.IoCodeService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class IoCodeServiceImpl implements IoCodeService {
IoCodeDao ioCodeDao;
@Override
public int insert(IoCodeEnttity codeEnttity) {
return ioCodeDao.insert(codeEnttity);
}
@Override
public boolean insertBatch(List<IoCodeEnttity> codeEnttities) {
return ioCodeDao.insertBatch(codeEnttities);
}
@Override
public List<IoCodeEnttity> findByOrderId(String billNo) {
return ioCodeDao.selectList(new QueryWrapper<IoCodeEnttity>().eq("orderId", billNo));
}
@Override
public int updateById(IoCodeEnttity codeEnttity) {
return ioCodeDao.updateById(codeEnttity);
}
@Override
public IoCodeEnttity findByUnique(String orderId, String code) {
return ioCodeDao.selectOne(new QueryWrapper<IoCodeEnttity>().eq("orderId", orderId).eq("code", code));
}
}

@ -0,0 +1,31 @@
package com.glxp.api.service.inout.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.inout.IoOrderDao;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.service.inout.IoOrderService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class IoOrderServiceImpl implements IoOrderService {
@Resource
IoOrderDao orderDao;
@Override
public IoOrderEntity findById(String orderId) {
return orderDao.selectById(orderId);
}
@Override
public IoOrderEntity findByBillNo(String billNO) {
return orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", billNO));
}
@Override
public int insertOrder(IoOrderEntity orderEntity) {
return orderDao.insert(orderEntity);
}
}

@ -0,0 +1,37 @@
package com.glxp.api.util.udi;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.basic.UdiRelevanceService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class UdiCalCountUtil {
@Resource
UdiRelevanceService udiRelevanceService;
public int getActCount(Long relId) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(relId);
return getActCount(udiRelevanceResponse);
}
public int getActCount(UdiRelevanceResponse udiRelevanceResponse) {
int actCount;
if (!udiRelevanceResponse.getIsUseDy() && udiRelevanceResponse.getDiType() != 2) {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
actCount = udiRelevanceResponse.getZxxsbzbhsydysl();
} else {
actCount = udiRelevanceResponse.getBhzxxsbzsl() * udiRelevanceResponse.getZxxsbzbhsydysl();
}
} else {
actCount = udiRelevanceResponse.getBhzxxsbzsl();
}
return actCount;
}
}

@ -4,7 +4,7 @@ server:
spring: spring:
datasource: datasource:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: jdbc:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true jdbc-url: jdbc:mysql://192.168.0.66:3364/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: Glxp@6066 password: Glxp@6066
hikari: hikari:

@ -1,6 +1,6 @@
spring: spring:
profiles: profiles:
active: pro active: dev
jmx: jmx:
enabled: true enabled: true

@ -6,7 +6,7 @@
<select id="filterInvBusUser" parameterType="com.glxp.api.req.auth.FilterInvBusUserRequest" <select id="filterInvBusUser" parameterType="com.glxp.api.req.auth.FilterInvBusUserRequest"
resultType="com.glxp.api.entity.auth.InvBusUserEntity"> resultType="com.glxp.api.entity.auth.InvBusUserEntity">
select * select *
FROM inv_bustype_user FROM auth_user_bustype
<where> <where>
<if test="userId != '' and userId != null"> <if test="userId != '' and userId != null">
AND userId = #{userId} AND userId = #{userId}
@ -49,8 +49,8 @@
<select id="filterJoinInvBusUser" parameterType="com.glxp.api.req.auth.FilterInvBusUserRequest" <select id="filterJoinInvBusUser" parameterType="com.glxp.api.req.auth.FilterInvBusUserRequest"
resultType="com.glxp.api.res.auth.InvBusUserResponse"> resultType="com.glxp.api.res.auth.InvBusUserResponse">
select inv_bustype_user.*,basic_bussiness_type.name billTypeName select auth_user_bustype.*,basic_bussiness_type.name billTypeName
FROM inv_bustype_user left join basic_bussiness_type on inv_bustype_user.scAction = basic_bussiness_type.action FROM auth_user_bustype left join basic_bussiness_type on auth_user_bustype.scAction = basic_bussiness_type.action
<where> <where>
<if test="userId != '' and userId != null"> <if test="userId != '' and userId != null">
AND userId = #{userId} AND userId = #{userId}
@ -63,7 +63,7 @@
</if> </if>
</where> </where>
group by inv_bustype_user.id group by auth_user_bustype.id
</select> </select>
@ -71,7 +71,7 @@
<insert id="insertInvBusUser" keyProperty="id" <insert id="insertInvBusUser" keyProperty="id"
parameterType="com.glxp.api.entity.auth.InvBusUserEntity"> parameterType="com.glxp.api.entity.auth.InvBusUserEntity">
replace replace
INTO inv_bustype_user INTO auth_user_bustype
(userId, `subInvCode`, scAction, remark) (userId, `subInvCode`, scAction, remark)
values ( values (
#{userId}, #{userId},
@ -84,18 +84,18 @@
<delete id="deleteById" parameterType="Map"> <delete id="deleteById" parameterType="Map">
DELETE DELETE
FROM inv_bustype_user FROM auth_user_bustype
WHERE id = #{id} WHERE id = #{id}
</delete> </delete>
<delete id="deleteByUnion" parameterType="Map"> <delete id="deleteByUnion" parameterType="Map">
DELETE DELETE
FROM inv_bustype_user FROM auth_user_bustype
WHERE subInvCode = #{subInvCode} WHERE subInvCode = #{subInvCode}
and userId = #{userId} and userId = #{userId}
</delete> </delete>
<update id="updateInvBusUser" parameterType="com.glxp.api.entity.auth.InvBusUserEntity"> <update id="updateInvBusUser" parameterType="com.glxp.api.entity.auth.InvBusUserEntity">
UPDATE inv_bustype_user UPDATE auth_user_bustype
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
<if test="userId != null">userId=#{userId},</if> <if test="userId != null">userId=#{userId},</if>
<if test="subInvCode != null">subInvCode=#{subInvCode},</if> <if test="subInvCode != null">subInvCode=#{subInvCode},</if>

@ -53,7 +53,8 @@
</select> </select>
<insert id="insertIgnoreBussinessType" parameterType="com.glxp.api.entity.basic.BasicBussinessTypeEntity"> <insert id="insertIgnoreBussinessType" parameterType="com.glxp.api.entity.basic.BasicBussinessTypeEntity">
insert ignore into basic_bussiness_type (mainAction, action, name, enable, remark, thirdSysFk, genUnit, insert
ignore into basic_bussiness_type (mainAction, action, name, enable, remark, thirdSysFk, genUnit,
innerOrder, secCheckEnable, checkEnable, checkUdims, checkPdaEd, innerOrder, secCheckEnable, checkEnable, checkUdims, checkPdaEd,
checkPdaUn, checkPc, checkWebNew, checkSp, checkChange, secCheckUdims, checkPdaUn, checkPc, checkWebNew, checkSp, checkChange, secCheckUdims,
secCheckPdaEd, secCheckPdaUn, secCheckPc, secCheckWebNew, secCheckPdaEd, secCheckPdaUn, secCheckPc, secCheckWebNew,
@ -63,9 +64,10 @@
entrutSpms, codeFillCheck, defaultSubInv, defaultInv, orderVisibleType, entrutSpms, codeFillCheck, defaultSubInv, defaultInv, orderVisibleType,
checkCopy, secCheckCopy, originAction, advanceType, changeEnable, checkCopy, secCheckCopy, originAction, advanceType, changeEnable,
spUse, preIn, supplementAll, createUser, createTime) spUse, preIn, supplementAll, createUser, createTime)
values (#{mainAction}, values (
#{action}, #{mainAction},
#{name}, #{action},
#{name},
#{enable}, #{enable},
#{remark}, #{remark},
#{thirdSysFk}, #{thirdSysFk},
@ -114,7 +116,7 @@
#{preIn}, #{preIn},
#{supplementAll}, #{supplementAll},
#{createUser}, #{createUser},
#{createTime} #{createTime}
) )
</insert> </insert>
@ -168,7 +170,8 @@
</select> </select>
<select id="selectForThirdSys" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity"> <select id="selectForThirdSys" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity">
select action, name from basic_bussiness_type select action, name
from basic_bussiness_type
where action not in ( where action not in (
select code from thr_system_bus_api) select code from thr_system_bus_api)
</select> </select>
@ -184,7 +187,7 @@
<select id="selectByUser" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity"> <select id="selectByUser" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity">
select * select *
from basic_bussiness_type from basic_bussiness_type
inner join inv_bustype_user on basic_bussiness_type.action = inv_bustype_user.scAction inner join auth_user_bustype on basic_bussiness_type.action = auth_user_bustype.scAction
<where> <where>
<if test="name != null and name != ''"> <if test="name != null and name != ''">
AND basic_bussiness_type.name like concat('%', #{name}, '%') AND basic_bussiness_type.name like concat('%', #{name}, '%')
@ -199,10 +202,38 @@
AND basic_bussiness_type.spUse = #{spUse} AND basic_bussiness_type.spUse = #{spUse}
</if> </if>
<if test="code != null and code != ''"> <if test="code != null and code != ''">
AND inv_bustype_user.subInvCode = #{code} AND auth_user_bustype.subInvCode = #{code}
</if> </if>
<if test="userId != null"> <if test="userId != null">
AND inv_bustype_user.userId = #{userId} AND auth_user_bustype.userId = #{userId}
</if>
</where>
group by basic_bussiness_type.action
</select>
<select id="filterJoinByUser" parameterType="com.glxp.api.req.basic.FilterBussinessTypeRequest"
resultType="com.glxp.api.res.basic.BasicBussinessTypeResponse">
SELECT basic_bussiness_type.*
FROM basic_bussiness_type
INNER JOIN auth_user_bustype ON basic_bussiness_type.action = auth_user_bustype.scAction
<where>
<if test="name != ''and name != null">
AND basic_bussiness_type.name LIKE concat('%', #{name}, '%')
</if>
<if test="action != ''and action != null">
AND basic_bussiness_type.action = #{action}
</if>
<if test="enable != ''and enable != null">
AND basic_bussiness_type.enable = #{enable}
</if>
<if test="spUse != ''and spUse != null">
AND basic_bussiness_type.spUse = #{spUse}
</if>
<if test="code != ''and code != null">
AND subInvCode = #{code}
</if>
<if test="userId != ''and userId != null">
AND auth_user_bustype.`userId` = #{userId}
</if> </if>
</where> </where>
group by basic_bussiness_type.action group by basic_bussiness_type.action

@ -5,22 +5,59 @@
<select id="filterUdiRelevance" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest" <select id="filterUdiRelevance" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse"> resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*, select basic_udirel.*,
basic_products.originUuid,basic_products.nameCode,basic_products.deviceRecordKey,basic_products.packRatio, basic_products.originUuid,
basic_products.packUnit,basic_products.packLevel,basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl, basic_products.nameCode,
basic_products.bhxjcpbm,basic_products.bzcj,basic_products.cpmctymc,basic_products.cplb,basic_products.flbm, basic_products.deviceRecordKey,
basic_products.ggxh,basic_products.qxlb,basic_products.tyshxydm,basic_products.ylqxzcrbarmc, basic_products.packRatio,
basic_products.zczbhhzbapzbh,basic_products.ylqxzcrbarywmc,basic_products.sydycpbs,basic_products.sjcpbm, basic_products.packUnit,
basic_products.versionNumber,basic_products.diType,basic_products.ybbm,basic_products.sptm,basic_products.manufactory, basic_products.packLevel,
basic_products.measname,basic_products.productType,basic_products.scbssfbhph,basic_products.scbssfbhxlh,basic_products.scbssfbhscrq, basic_products.bhxjsl,
basic_products.scbssfbhsxrq, basic_products.bhzxxsbzsl,
basic_products.cpms,basic_products.allowNoBatch,basic_products.allowNoExpire,basic_products.allowNoProduct, basic_products.zxxsbzbhsydysl,
basic_products.spmc,basic_products.cplx,basic_products.hchzsb,basic_products.cpdls,basic_products.price, basic_products.bhxjcpbm,
basic_products.basicPrductRemak1,basic_products.basicPrductRemak2,basic_products.basicPrductRemak3, basic_products.bzcj,
basic_products.basicPrductRemak4,basic_products.basicPrductRemak5, basic_products.cpmctymc,
basic_products.basicPrductRemak6,basic_products.basicPrductRemak7,basic_products.basicPrductRemak8 basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
basic_products.price,
basic_products.basicPrductRemak1,
basic_products.basicPrductRemak2,
basic_products.basicPrductRemak3,
basic_products.basicPrductRemak4,
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8
FROM basic_udirel FROM basic_udirel
inner JOIN basic_products inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid ON basic_products.uuid = basic_udirel.uuid
<where> <where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null"> <if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%') AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
@ -83,29 +120,63 @@
<select id="filterUdiJoinSup" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest" <select id="filterUdiJoinSup" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse"> resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*, select basic_udirel.*,
basic_products.originUuid,basic_products.nameCode,basic_products.deviceRecordKey,basic_products.packRatio, basic_products.originUuid,
basic_products.packUnit, basic_products.nameCode,
basic_products.packLevel,basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl, basic_products.deviceRecordKey,
basic_products.bhxjcpbm,basic_products.bzcj,basic_products.cpmctymc,basic_products.cplb,basic_products.flbm, basic_products.packRatio,
basic_products.ggxh,basic_products.qxlb,basic_products.tyshxydm,basic_products.ylqxzcrbarmc, basic_products.packUnit,
basic_products.zczbhhzbapzbh,basic_products.ylqxzcrbarywmc,basic_products.sydycpbs,basic_products.sjcpbm, basic_products.packLevel,
basic_products.versionNumber,basic_products.diType,basic_products.ybbm,basic_products.sptm,basic_products.manufactory, basic_products.bhxjsl,
basic_products.measname,basic_products.productType,basic_products.scbssfbhph,basic_products.scbssfbhxlh,basic_products.scbssfbhscrq,basic_products.scbssfbhsxrq, basic_products.bhzxxsbzsl,
basic_products.cpms,basic_products.allowNoBatch,basic_products.allowNoExpire,basic_products.allowNoProduct, basic_products.zxxsbzbhsydysl,
basic_products.spmc,basic_products.cplx,basic_products.hchzsb,basic_products.cpdls,basic_products.price, basic_products.bhxjcpbm,
basic_products.basicPrductRemak1,basic_products.basicPrductRemak2,basic_products.basicPrductRemak3, basic_products.bzcj,
basic_products.basicPrductRemak4,basic_products.basicPrductRemak5, basic_products.cpmctymc,
basic_products.basicPrductRemak6,basic_products.basicPrductRemak7,basic_products.basicPrductRemak8 basic_products.cplb,
company_product_relevance.unitFk, basic_products.flbm,
basic_corp.name companyName basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
basic_products.price,
basic_products.basicPrductRemak1,
basic_products.basicPrductRemak2,
basic_products.basicPrductRemak3,
basic_products.basicPrductRemak4,
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8 company_product_relevance.unitFk, basic_corp.name companyName
FROM basic_udirel FROM basic_udirel
inner JOIN basic_products inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid ON basic_products.uuid = basic_udirel.uuid
left join company_product_relevance left join company_product_relevance
on basic_udirel.id = company_product_relevance.udiRlIdFk on basic_udirel.id = company_product_relevance.udiRlIdFk
left JOIN basic_corp on basic_corp.erpId = company_product_relevance.customerId left JOIN basic_corp on basic_corp.erpId = company_product_relevance.customerId
<where> <where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null"> <if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%') AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
@ -169,22 +240,59 @@
<select id="filterUdiGp" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest" <select id="filterUdiGp" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse"> resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*, select basic_udirel.*,
basic_products.originUuid,basic_products.nameCode,basic_products.deviceRecordKey,basic_products.packRatio, basic_products.originUuid,
basic_products.packUnit, basic_products.nameCode,
basic_products.packLevel,basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl, basic_products.deviceRecordKey,
basic_products.bhxjcpbm,basic_products.bzcj,basic_products.cpmctymc,basic_products.cplb,basic_products.flbm, basic_products.packRatio,
basic_products.ggxh,basic_products.qxlb,basic_products.tyshxydm,basic_products.ylqxzcrbarmc, basic_products.packUnit,
basic_products.zczbhhzbapzbh,basic_products.ylqxzcrbarywmc,basic_products.sydycpbs,basic_products.sjcpbm, basic_products.packLevel,
basic_products.versionNumber,basic_products.diType,basic_products.ybbm,basic_products.sptm,basic_products.manufactory, basic_products.bhxjsl,
basic_products.measname,basic_products.productType,basic_products.scbssfbhph,basic_products.scbssfbhxlh,basic_products.scbssfbhscrq,basic_products.scbssfbhsxrq, basic_products.bhzxxsbzsl,
basic_products.cpms,basic_products.allowNoBatch,basic_products.allowNoExpire,basic_products.allowNoProduct, basic_products.zxxsbzbhsydysl,
basic_products.spmc,basic_products.cplx,basic_products.hchzsb,basic_products.cpdls,basic_products.price, basic_products.bhxjcpbm,
basic_products.basicPrductRemak1,basic_products.basicPrductRemak2,basic_products.basicPrductRemak3, basic_products.bzcj,
basic_products.basicPrductRemak4,basic_products.basicPrductRemak5, basic_products.cpmctymc,
basic_products.basicPrductRemak6,basic_products.basicPrductRemak7,basic_products.basicPrductRemak8 basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
basic_products.price,
basic_products.basicPrductRemak1,
basic_products.basicPrductRemak2,
basic_products.basicPrductRemak3,
basic_products.basicPrductRemak4,
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8
FROM basic_products FROM basic_products
inner JOIN basic_udirel inner JOIN basic_udirel
ON basic_products.uuid = basic_udirel.uuid ON basic_products.uuid = basic_udirel.uuid
<where> <where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null"> <if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%') AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
@ -206,16 +314,16 @@
</if> </if>
<if test="unionCode != '' and unionCode != null"> <if test="unionCode != '' and unionCode != null">
and ( and (
nameCode LIKE concat('%', #{unionCode}, '%') nameCode LIKE concat('%', #{unionCode}, '%')
or ybbm LIKE concat('%', #{unionCode}, '%') or ybbm LIKE concat('%', #{unionCode}, '%')
or sptm LIKE concat('%', #{unionCode}, '%')) or sptm LIKE concat('%', #{unionCode}, '%'))
</if> </if>
<if test="thrPiId != '' and thrPiId != null"> <if test="thrPiId != '' and thrPiId != null">
and (thirdId LIKE concat('%', #{thrPiId}, '%') and (thirdId LIKE concat('%', #{thrPiId}, '%')
or thirdId1 LIKE concat('%', #{thrPiId}, '%') or thirdId1 LIKE concat('%', #{thrPiId}, '%')
or thirdId2 LIKE concat('%', #{thrPiId}, '%') or thirdId2 LIKE concat('%', #{thrPiId}, '%')
or thirdId3 LIKE concat('%', #{thrPiId}, '%') or thirdId3 LIKE concat('%', #{thrPiId}, '%')
or thirdId4 LIKE concat('%', #{thrPiId}, '%')) or thirdId4 LIKE concat('%', #{thrPiId}, '%'))
</if> </if>
<if test="uuid != '' and uuid != null"> <if test="uuid != '' and uuid != null">
AND basic_udirel.uuid = #{uuid} AND basic_udirel.uuid = #{uuid}
@ -234,7 +342,7 @@
</if> </if>
<if test="filterType != null and filterType == 1"> <if test="filterType != null and filterType == 1">
AND (thirdId <![CDATA[<>]]> '' or thirdId1 <![CDATA[<>]]> '' or thirdId2 <![CDATA[<>]]> '' or AND (thirdId <![CDATA[<>]]> '' or thirdId1 <![CDATA[<>]]> '' or thirdId2 <![CDATA[<>]]> '' or
thirdId3 <![CDATA[<>]]> '' or thirdId4 <![CDATA[<>]]> '') thirdId3 <![CDATA[<>]]> '' or thirdId4 <![CDATA[<>]]> '')
and basic_products.originUuid <![CDATA[<>]]> '' and basic_products.originUuid <![CDATA[<>]]> ''
</if> </if>
<if test="filterType != null and filterType == 2"> <if test="filterType != null and filterType == 2">
@ -279,21 +387,58 @@
<select id="contrastJoinSelect" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest" <select id="contrastJoinSelect" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse"> resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*, select basic_udirel.*,
basic_products.originUuid,basic_products.nameCode,basic_products.deviceRecordKey,basic_products.packRatio, basic_products.originUuid,
basic_products.packUnit, basic_products.nameCode,
basic_products.packLevel,basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl, basic_products.deviceRecordKey,
basic_products.bhxjcpbm,basic_products.bzcj,basic_products.cpmctymc,basic_products.cplb,basic_products.flbm, basic_products.packRatio,
basic_products.ggxh,basic_products.qxlb,basic_products.tyshxydm,basic_products.ylqxzcrbarmc, basic_products.packUnit,
basic_products.zczbhhzbapzbh,basic_products.ylqxzcrbarywmc,basic_products.sydycpbs,basic_products.sjcpbm, basic_products.packLevel,
basic_products.versionNumber,basic_products.diType,basic_products.ybbm,basic_products.sptm,basic_products.manufactory, basic_products.bhxjsl,
basic_products.measname,basic_products.productType,basic_products.scbssfbhph,basic_products.scbssfbhxlh,basic_products.scbssfbhscrq,basic_products.scbssfbhsxrq, basic_products.bhzxxsbzsl,
basic_products.cpms,basic_products.allowNoBatch,basic_products.allowNoExpire,basic_products.allowNoProduct, basic_products.zxxsbzbhsydysl,
basic_products.spmc,basic_products.cplx,basic_products.hchzsb,basic_products.cpdls,basic_products.price, basic_products.bhxjcpbm,
basic_products.basicPrductRemak1,basic_products.basicPrductRemak2,basic_products.basicPrductRemak3, basic_products.bzcj,
basic_products.basicPrductRemak4,basic_products.basicPrductRemak5, basic_products.cpmctymc,
basic_products.basicPrductRemak6,basic_products.basicPrductRemak7,basic_products.basicPrductRemak8, basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
basic_products.price,
basic_products.basicPrductRemak1,
basic_products.basicPrductRemak2,
basic_products.basicPrductRemak3,
basic_products.basicPrductRemak4,
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8,
from basic_udirel from basic_udirel
INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid
<where> <where>
<if test="uuid != '' and uuid != null"> <if test="uuid != '' and uuid != null">
AND basic_udirel.uuid = #{uuid} AND basic_udirel.uuid = #{uuid}
@ -345,6 +490,14 @@
WHERE id = #{id} WHERE id = #{id}
</select> </select>
<select id="selectUuidById" parameterType="java.lang.String"
resultType="java.lang.String">
select uuid
FROM basic_udirel
WHERE id = #{relId}
</select>
<select id="selectByThirdId" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest" <select id="selectByThirdId" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.entity.basic.UdiRelevanceEntity"> resultType="com.glxp.api.entity.basic.UdiRelevanceEntity">
select * select *
@ -372,21 +525,6 @@
limit 1 limit 1
</select> </select>
<select id="selectByDiThirdId" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.entity.basic.UdiRelevanceEntity">
select *
FROM basic_udirel
<where>
<if test="thirdId != '' and thirdId != null">
AND ${thirdSys} = #{thirdId}
</if>
<if test="nameCode != '' and nameCode != null">
AND nameCode = #{nameCode}
</if>
</where>
limit 1
</select>
<select id="filterEntity" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest" <select id="filterEntity" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.entity.basic.UdiRelevanceEntity"> resultType="com.glxp.api.entity.basic.UdiRelevanceEntity">
@ -517,28 +655,72 @@
<update id="updateUdiRelevance" parameterType="com.glxp.api.entity.basic.UdiRelevanceEntity"> <update id="updateUdiRelevance" parameterType="com.glxp.api.entity.basic.UdiRelevanceEntity">
UPDATE basic_udirel UPDATE basic_udirel
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
<if test="uuid != null">uuid=#{uuid},</if> <if test="uuid != null">
<if test="mainId != null">mainId=#{mainId},</if> uuid=#{uuid},
<if test="thirdId != null">thirdId=#{thirdId},</if> </if>
<if test="thirdId1 != null">thirdId1=#{thirdId1},</if> <if test="mainId != null">
<if test="thirdId2 != null">thirdId2=#{thirdId2},</if> mainId=#{mainId},
<if test="thirdId3 != null">thirdId3=#{thirdId3},</if> </if>
<if test="thirdId4 != null">thirdId4=#{thirdId4},</if> <if test="thirdId != null">
<if test="udplatCode != null">udplatCode=#{udplatCode},</if> thirdId=#{thirdId},
<if test="isUseDy != null">isUseDy=#{isUseDy},</if> </if>
<if test="isDisable != null">isDisable=#{isDisable},</if> <if test="thirdId1 != null">
<if test="isLock != null">isLock=#{isLock},</if> thirdId1=#{thirdId1},
<if test="lockStatus != null">lockStatus=#{lockStatus},</if> </if>
<if test="isAdavence != null">isAdavence=#{isAdavence},</if> <if test="thirdId2 != null">
<if test="useMuti != null">useMuti=#{useMuti},</if> thirdId2=#{thirdId2},
<if test="useNum != null">useNum=#{useNum},</if> </if>
<if test="supName != null">supName=#{supName},</if> <if test="thirdId3 != null">
<if test="createTime != null">createTime=#{createTime},</if> thirdId3=#{thirdId3},
<if test="updateTime != null">updateTime=#{updateTime},</if> </if>
<if test="modifyTime != null">modifyTime=#{modifyTime},</if> <if test="thirdId4 != null">
<if test="createUser != null">createUser=#{createUser},</if> thirdId4=#{thirdId4},
<if test="updateUser != null">updateUser=#{updateUser},</if> </if>
<if test="remark != null">remark=#{remark},</if> <if test="udplatCode != null">
udplatCode=#{udplatCode},
</if>
<if test="isUseDy != null">
isUseDy=#{isUseDy},
</if>
<if test="isDisable != null">
isDisable=#{isDisable},
</if>
<if test="isLock != null">
isLock=#{isLock},
</if>
<if test="lockStatus != null">
lockStatus=#{lockStatus},
</if>
<if test="isAdavence != null">
isAdavence=#{isAdavence},
</if>
<if test="useMuti != null">
useMuti=#{useMuti},
</if>
<if test="useNum != null">
useNum=#{useNum},
</if>
<if test="supName != null">
supName=#{supName},
</if>
<if test="createTime != null">
createTime=#{createTime},
</if>
<if test="updateTime != null">
updateTime=#{updateTime},
</if>
<if test="modifyTime != null">
modifyTime=#{modifyTime},
</if>
<if test="createUser != null">
createUser=#{createUser},
</if>
<if test="updateUser != null">
updateUser=#{updateUser},
</if>
<if test="remark != null">
remark=#{remark},
</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>
@ -560,11 +742,13 @@
</select> </select>
<insert id="importUdiRelevance" parameterType="java.util.List"> <insert id="importUdiRelevance" parameterType="java.util.List">
replace into basic_udirel replace
into basic_udirel
(id,uuid,mainId,thirdId,thirdId1,thirdId2,thirdId3,thirdId4,udplatCode,isUseDy,isDisable,isLock, (id,uuid,mainId,thirdId,thirdId1,thirdId2,thirdId3,thirdId4,udplatCode,isUseDy,isDisable,isLock,
lockStatus,isAdavence,useMuti,useNum,supName,createTime,updateTime,modifyTime,createUser,updateUser,remark lockStatus,isAdavence,useMuti,useNum,supName,createTime,updateTime,modifyTime,createUser,updateUser,remark
) )
values values
<foreach collection="udiRelevanceEntities" item="item" index="index" separator=","> <foreach collection="udiRelevanceEntities" item="item" index="index" separator=",">
({item.id}, ({item.id},
{item.uuid}, {item.uuid},

@ -0,0 +1,347 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.dao.basic.UdiRlSupDao">
<select id="filterCompanyProductRelevance"
parameterType="com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest"
resultType="com.glxp.api.entity.basic.UdiRlSupEntity">
select *
from company_product_relevance
<where>
<if test="customerId != '' and customerId != null">
and customerId = #{customerId}
</if>
<if test="udiRlIdFk != '' and udiRlIdFk != null">
and udiRlIdFk = #{udiRlIdFk}
</if>
<if test="unitFk != null and unitFk != ''">
and unitFk = #{unitFk}
</if>
<if test="lastUpdateTime != null and lastUpdateTime != ''">
<![CDATA[
and DATE_FORMAT(update_time, '%Y-%m-%d %H:%i:%S') >= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S')
]]>
</if>
</where>
ORDER BY id DESC
</select>
<select id="filterUdiGp" parameterType="com.glxp.api.req.basic.CompanyProductRelevanceRequest"
resultType="com.glxp.api.res.basic.UdiRlSupResponse">
select company_product_relevance.id,
company_product_relevance.customerId,
company_product_relevance.auditStatus,
basic_udirel.thirdId,
basic_udirel.thirdName,
basic_udirel.id rlId,
basic_udirel.isUseDy,
basic_udirel.isLock,
basic_udirel.thirdId1,
basic_udirel.thirdId2,
basic_udirel.thirdId3,
basic_udirel.thirdId4,
basic_udirel.thirdName1,
basic_udirel.thirdName2,
basic_udirel.thirdName3,
basic_udirel.thirdName4,
basic_udirel.ybbm,
basic_udirel.sptm,
basic_udirel.manufactory,
basic_udirel.measname,
basic_udirel.lockStatus,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.productType,
basic_products.nameCode,
basic_products.packRatio,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.addType,
basic_udirel.isDisable,
basic_products.deviceRecordKey,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.uuid,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_corp.name companyName,
basic_udirel.mainId,
basic_udirel.mainName,
basic_udirel.isAdavence,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.originUuid,
company_product_relevance.price
,
basic_products.spmc,
basic_products.cpdls
,
basic_products.basicPrductRemak1
,
basic_products.basicPrductRemak2,
basic_products.basicPrductRemak3,
basic_products.basicPrductRemak4,
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6
,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8
FROM company_product_relevance
inner JOIN basic_udirel
ON company_product_relevance.udiRlIdFk = basic_udirel.id
inner JOIN basic_products
ON basic_udirel.uuid = basic_products.uuid
left JOIN basic_corp on basic_corp.erpId = company_product_relevance.customerId
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat(#{ylqxzcrbarmc}, '%')
</if>
<if test="cpmctymc != '' and cpmctymc != null">
AND cpmctymc LIKE concat(#{cpmctymc}, '%')
</if>
<if test="nameCode != '' and nameCode != null">
AND nameCode LIKE concat(#{nameCode}, '%')
</if>
<if test="ggxh != '' and ggxh != null">
AND ggxh LIKE concat('%', #{ggxh}, '%')
</if>
<if test="unionCode != '' and unionCode != null">
and (
nameCode LIKE concat('%', #{unionCode}, '%')
or basic_udirel.ybbm LIKE concat('%', #{unionCode}, '%')
or basic_udirel.sptm LIKE concat('%', #{unionCode}, '%')
)
</if>
<if test="thrPiId != '' and thrPiId != null">
and (
basic_udirel.thirdId LIKE concat('%', #{thrPiId}, '%')
or basic_udirel.thirdId1 LIKE concat('%', #{thrPiId}, '%')
or basic_udirel.thirdId2 LIKE concat('%', #{thrPiId}, '%')
or basic_udirel.thirdId3 LIKE concat('%', #{thrPiId}, '%')
or basic_udirel.thirdId4 LIKE concat('%', #{thrPiId}, '%')
)
</if>
<if test="uuid != '' and uuid != null">
AND basic_udirel.uuid = #{uuid}
</if>
<if test="thirdId != '' and thirdId != null">
AND basic_udirel.thirdId = #{thirdId}
</if>
<if test="zczbhhzbapzbh != '' and zczbhhzbapzbh != null">
AND zczbhhzbapzbh LIKE concat(#{zczbhhzbapzbh}, '%')
</if>
<if test="diType != '' and diType != null">
AND diType = #{diType}
</if>
<if test="filterType != null and filterType == 1">
AND (basic_udirel.thirdId <![CDATA[<>]]> '' or basic_udirel.thirdId1 <![CDATA[<>]]> '' or
basic_udirel.thirdId2 <![CDATA[<>]]> '' or
basic_udirel.thirdId3 <![CDATA[<>]]> '' or basic_udirel.thirdId4 <![CDATA[<>]]> '')
and basic_products.originUuid <![CDATA[<>]]> ''
</if>
<if test="filterType != null and filterType == 2">
AND basic_products.originUuid is NULL
</if>
<if test="filterType != null and filterType == 3">
AND basic_udirel.thirdId is NULL
and basic_products.originUuid <![CDATA[<>]]> ''
</if>
<if test="filterType != null and filterType == 4">
AND basic_udirel.thirdId1 is NULL
and basic_products.originUuid <![CDATA[<>]]> ''
</if>
<if test="filterType != null and filterType == 5">
AND basic_udirel.thirdId2 is NULL
and basic_products.originUuid <![CDATA[<>]]> ''
</if>
<if test="filterType != null and filterType == 6">
AND basic_udirel.thirdId3 is NULL
and basic_products.originUuid <![CDATA[<>]]> ''
</if>
<if test="filterType != null and filterType == 7">
AND basic_udirel.thirdId4 is NULL
and basic_products.originUuid <![CDATA[<>]]> ''
</if>
<if test="filterType != null and filterType == 10">
AND basic_udirel.updateTime is NULL
</if>
<if test="customerId != '' and customerId != null">
AND company_product_relevance.customerId = #{customerId}
</if>
<if test="auditStatus != '' and auditStatus != null">
AND company_product_relevance.auditStatus = #{auditStatus}
</if>
<if test="id != '' and id != null">
AND basic_udirel.id = #{id}
</if>
<if test="companyName != '' and companyName != null">
AND basic_corp.name = #{companyName}
</if>
<if test="lockStatus != '' and lockStatus != null">
AND basic_udirel.lockStatus = #{lockStatus}
</if>
<if test="isAdavence != '' and isAdavence != null">
AND basic_udirel.isAdavence = #{isAdavence}
</if>
<if test="unitFk != null and unitFk != ''">
and unitFk = #{unitFk}
</if>
<if test="isDisable == false">
AND (basic_udirel.isDisable is null or basic_udirel.isDisable = false)
</if>
</where>
ORDER BY basic_udirel.updateTime DESC
</select>
<select id="findCompanyProductRelevance" parameterType="java.lang.Long"
resultType="com.glxp.api.entity.basic.UdiRlSupEntity">
SELECT *
FROM company_product_relevance
where customerId = #{customerId}
</select>
<select id="findCompanyProductRelevanceByProductId" parameterType="java.lang.String"
resultType="com.glxp.api.entity.basic.UdiRlSupEntity">
SELECT *
FROM company_product_relevance
where productId = #{productId}
</select>
<select id="findCompanyProductRelevanceByUdiRlIdFk" parameterType="java.lang.String"
resultType="com.glxp.api.entity.basic.UdiRlSupEntity">
SELECT *
FROM company_product_relevance
where udiRlIdFk = #{udiRlIdFk}
and customerId = #{customerId}
</select>
<select id="findCompanyProductRelevanceByProductUuid"
parameterType="com.glxp.api.entity.basic.UdiRlSupEntity"
resultType="com.glxp.api.entity.basic.UdiRlSupEntity">
SELECT *
FROM company_product_relevance
<where>
<if test="customerId != null and customerId != ''">
and customerId = #{customerId}
</if>
<if test="productId != null and productId != ''">
and productId = #{productId}
</if>
<if test="productUuid != null and productUuid != ''">
and productUuid = #{productUuid}
</if>
<if test="unitFk != null and unitFk != ''">
and unitFk = #{unitFk}
</if>
</where>
</select>
<select id="getCompanyProductRelevance"
parameterType="com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest"
resultType="com.glxp.api.entity.basic.UdiRlSupEntity">
SELECT *
FROM company_product_relevance
<where>
<if test="customerId != null and customerId != ''">
and customerId = #{customerId}
</if>
<if test="productId != null and productId != ''">
and productId = #{productId}
</if>
<if test="productUuid != null and productUuid != ''">
and productUuid = #{productUuid}
</if>
<if test="unitFk != null and unitFk != ''">
and unitFk = #{unitFk}
</if>
</where>
</select>
<insert id="insertCompanyProductRelevance"
parameterType="com.glxp.api.entity.basic.UdiRlSupEntity">
replace
INTO company_product_relevance(customerId,productId,enterpriseId,registrationId,
createTime,updateTime,auditStatus,productUuid,udiRlIdFk,unitFk,price,createUser,updateUser) values
(
#{customerId},
#{productId},
#{enterpriseId},
#{registrationId},
#{createTime},
#{updateTime},
#{auditStatus},
#{productUuid},
#{udiRlIdFk},
#{unitFk},
#{price},
#{createUser},
#{updateUser}
)
</insert>
<insert id="importCompanyProductRelevance"
parameterType="com.glxp.api.entity.basic.UdiRlSupEntity">
replace
INTO company_product_relevance(id,customerId,productId,enterpriseId,registrationId,
createTime,updateTime,auditStatus,productUuid,udiRlIdFk,unitFk,price,createUser,updateUser) values
(
#{id},
#{customerId},
#{productId},
#{enterpriseId},
#{registrationId},
#{createTime},
#{updateTime},
#{auditStatus},
#{productUuid},
#{udiRlIdFk},
#{unitFk},
#{price},
#{createUser},
#{updateUser}
)
</insert>
<delete id="deleteById" parameterType="Map">
DELETE
FROM company_product_relevance
WHERE id = #{id}
</delete>
<delete id="deleteByRlId" parameterType="Map">
DELETE
FROM company_product_relevance
WHERE udiRlIdFk = #{id}
</delete>
<select id="selectUnitFkByUdiRlIdFk" resultType="java.lang.String">
select unitFk
from company_product_relevance
where udiRlIdFk = #{udiRlIdFk}
</select>
</mapper>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inout.IoOrderDao">
</mapper>
Loading…
Cancel
Save