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

master
anthonywj 2 years ago
parent b5f30ce1c4
commit 58bf32ddf5

@ -6,7 +6,7 @@ package com.glxp.api.constant;
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_CHECK = 2; //等待校验
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_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校验状态
public static final Integer ORDER_CHECK_SUCCESS = 2; //校验成功
public static final Integer ORDER_CHECK_FAIL = 1; //校验失败

@ -33,4 +33,14 @@ public class BaseController {
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.JSONObject;
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.controller.BaseController;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.req.basic.BussinessTypeSaveRequest;
import com.glxp.api.req.basic.FilterBussinessTypeRequest;
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.BussinessTypExportResponse;
import com.glxp.api.res.basic.CandidateRequest;
@ -39,7 +42,7 @@ import java.util.List;
*/
@Slf4j
@RestController
public class BasicBussinessTypeController {
public class BasicBussinessTypeController extends BaseController {
@Resource
private IBasicBussinessTypeService basicBussinessTypeService;
@ -124,6 +127,28 @@ public class BasicBussinessTypeController {
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> filterJoinByUser(FilterBussinessTypeRequest filterBussinessTypeRequest);
/**
*
*

@ -1,6 +1,9 @@
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.inout.IoCodeEnttity;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.apache.ibatis.annotations.Mapper;
@ -9,14 +12,11 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface UdiRelevanceDao {
public interface UdiRelevanceDao extends BaseMapperPlus<IoCodeDao, IoCodeEnttity, IoCodeEnttity> {
List<UdiRelevanceResponse> filterUdiRelevance(FilterUdiRelRequest filterUdiRelRequest);
UdiRelevanceEntity selectByDiThirdId(String nameCode, String thirdId, String thirdSys);
List<UdiRelevanceResponse> filterUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest);
@ -67,19 +67,11 @@ public interface UdiRelevanceDao {
void importUdiRelevance(@Param("udiRelevanceEntities") List<UdiRelevanceEntity> udiRelevanceEntities);
/**
* ID
*
* @param nameCode
* @param orderIdFk
* @return
*/
String selectProductId(@Param("nameCode") String nameCode, @Param("orderIdFk") String orderIdFk);
/**
* /**
* UUID
*
* @param relId
* @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 String comments;
private String employeeName;
private Integer CustomerId;
private Long CustomerId;
private String locInvCode;
private String locSubInvCode;

@ -77,4 +77,23 @@ public class UdiProductEntity {
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
*/
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;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import lombok.Data;
import java.util.Date;
@ -94,4 +93,23 @@ public class UdiRelevanceResponse {
} else
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;
public AuthAdmin getUserBean() {
Integer userId = getUserId();
Long userId = getUserId();
AuthAdmin authAdmin = authAdminService.findById(userId.longValue());
return authAdmin;
}
public Integer getUserId() {
public Long getUserId() {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (attributes == null) {
@ -30,7 +30,7 @@ public class CustomerService {
}
HttpServletRequest request = attributes.getRequest();
String userId = request.getHeader("ADMIN_ID");
return Integer.parseInt(userId);
return Long.parseLong(userId);
}
public String getUserIdStr() {
@ -45,7 +45,7 @@ public class CustomerService {
}
public String getUserName() {
Integer userId = getUserId();
Long userId = getUserId();
AuthAdmin authAdmin = authAdminService.findById(userId.longValue());
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> 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);
}
@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
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:
datasource:
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
password: Glxp@6066
hikari:

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

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

@ -53,7 +53,8 @@
</select>
<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,
checkPdaUn, checkPc, checkWebNew, checkSp, checkChange, secCheckUdims,
secCheckPdaEd, secCheckPdaUn, secCheckPc, secCheckWebNew,
@ -63,7 +64,8 @@
entrutSpms, codeFillCheck, defaultSubInv, defaultInv, orderVisibleType,
checkCopy, secCheckCopy, originAction, advanceType, changeEnable,
spUse, preIn, supplementAll, createUser, createTime)
values (#{mainAction},
values (
#{mainAction},
#{action},
#{name},
#{enable},
@ -168,7 +170,8 @@
</select>
<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 (
select code from thr_system_bus_api)
</select>
@ -184,7 +187,7 @@
<select id="selectByUser" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity">
select *
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>
<if test="name != null and name != ''">
AND basic_bussiness_type.name like concat('%', #{name}, '%')
@ -199,10 +202,38 @@
AND basic_bussiness_type.spUse = #{spUse}
</if>
<if test="code != null and code != ''">
AND inv_bustype_user.subInvCode = #{code}
AND auth_user_bustype.subInvCode = #{code}
</if>
<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>
</where>
group by basic_bussiness_type.action

@ -5,19 +5,56 @@
<select id="filterUdiRelevance" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
basic_products.originUuid,basic_products.nameCode,basic_products.deviceRecordKey,basic_products.packRatio,
basic_products.packUnit,basic_products.packLevel,basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,basic_products.bzcj,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.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.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
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.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
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
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
@ -83,23 +120,57 @@
<select id="filterUdiJoinSup" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
basic_products.originUuid,basic_products.nameCode,basic_products.deviceRecordKey,basic_products.packRatio,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,basic_products.bzcj,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.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
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
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.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
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
@ -169,19 +240,56 @@
<select id="filterUdiGp" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
basic_products.originUuid,basic_products.nameCode,basic_products.deviceRecordKey,basic_products.packRatio,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,basic_products.bzcj,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.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
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
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.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
inner JOIN basic_udirel
ON basic_products.uuid = basic_udirel.uuid
@ -279,19 +387,56 @@
<select id="contrastJoinSelect" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
basic_products.originUuid,basic_products.nameCode,basic_products.deviceRecordKey,basic_products.packRatio,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,basic_products.bzcj,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.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,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
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.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
INNER JOIN basic_products on basic_udirel.uuid = basic_products.uuid
<where>
@ -345,6 +490,14 @@
WHERE id = #{id}
</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"
resultType="com.glxp.api.entity.basic.UdiRelevanceEntity">
select *
@ -372,21 +525,6 @@
limit 1
</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"
resultType="com.glxp.api.entity.basic.UdiRelevanceEntity">
@ -517,28 +655,72 @@
<update id="updateUdiRelevance" parameterType="com.glxp.api.entity.basic.UdiRelevanceEntity">
UPDATE basic_udirel
<trim prefix="set" suffixOverrides=",">
<if test="uuid != null">uuid=#{uuid},</if>
<if test="mainId != null">mainId=#{mainId},</if>
<if test="thirdId != null">thirdId=#{thirdId},</if>
<if test="thirdId1 != null">thirdId1=#{thirdId1},</if>
<if test="thirdId2 != null">thirdId2=#{thirdId2},</if>
<if test="thirdId3 != null">thirdId3=#{thirdId3},</if>
<if test="thirdId4 != null">thirdId4=#{thirdId4},</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>
<if test="uuid != null">
uuid=#{uuid},
</if>
<if test="mainId != null">
mainId=#{mainId},
</if>
<if test="thirdId != null">
thirdId=#{thirdId},
</if>
<if test="thirdId1 != null">
thirdId1=#{thirdId1},
</if>
<if test="thirdId2 != null">
thirdId2=#{thirdId2},
</if>
<if test="thirdId3 != null">
thirdId3=#{thirdId3},
</if>
<if test="thirdId4 != null">
thirdId4=#{thirdId4},
</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>
WHERE id = #{id}
</update>
@ -560,11 +742,13 @@
</select>
<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,
lockStatus,isAdavence,useMuti,useNum,supName,createTime,updateTime,modifyTime,createUser,updateUser,remark
)
values
<foreach collection="udiRelevanceEntities" item="item" index="index" separator=",">
({item.id},
{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