Merge branch 'dev' into dev_ywj

# Conflicts:
#	src/main/java/com/glxp/api/constant/Constant.java
#	src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java
#	src/main/java/com/glxp/api/service/basic/impl/BasicBussinessTypeServiceImpl.java
#	src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java
#	src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java
#	src/main/java/com/glxp/api/service/sync/HeartService.java
#	src/main/java/com/glxp/api/task/SyncHeartTask.java
#	src/main/java/com/glxp/api/task/SyncThirdSysTask.java
#	src/main/java/com/glxp/api/util/udi/UdiInfoUtil.java
#	src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml
dev
anthonywj 2 years ago
commit 8d377e8839

@ -39,9 +39,12 @@ public class ReplaceBatch extends AbstractMethod {
KeyGenerator keyGenerator = new NoKeyGenerator();
CustomerSqlMethod sqlMethod = CustomerSqlMethod.REPLACE_ONE;
List<TableFieldInfo> fieldList = tableInfo.getFieldList();
String insertSqlColumn = tableInfo.getKeyInsertSqlColumn(true, true) +
this.filterTableFieldInfo(fieldList, predicate, TableFieldInfo::getInsertSqlColumn, EMPTY);
String columnScript = LEFT_BRACKET + insertSqlColumn.substring(0, insertSqlColumn.length() - 1) + RIGHT_BRACKET;
String columnScript = SqlScriptUtils.convertTrim(tableInfo.getAllInsertSqlColumnMaybeIf(null),
LEFT_BRACKET, RIGHT_BRACKET, null, COMMA);
// String insertSqlColumn = tableInfo.getKeyInsertSqlColumn(true, true) +
// this.filterTableFieldInfo(fieldList, predicate, TableFieldInfo::getInsertSqlColumn, EMPTY);
// String columnScript = LEFT_BRACKET + insertSqlColumn.substring(0, insertSqlColumn.length() - 1) + RIGHT_BRACKET;
String insertSqlProperty = tableInfo.getKeyInsertSqlProperty(true, ENTITY_DOT, true) +
this.filterTableFieldInfo(fieldList, predicate, i -> i.getInsertSqlProperty(ENTITY_DOT), EMPTY);
insertSqlProperty = LEFT_BRACKET + insertSqlProperty.substring(0, insertSqlProperty.length() - 1) + RIGHT_BRACKET;

@ -286,6 +286,7 @@ public class Constant {
public static final String ORDER_ACTION_SUP_PREIN = "preInOrder";
public static final String ORDER_ACTION_WAIT_CHECK = "waitCheck"; //待校验
public static final String ORDER_ACTION_WAIT_DEAL = "waitDeal"; //待配货/拣货
public static final String ORDER_THIRD_UPLOAD = "thirdUpload";
public static final String SYNC_REMARK = "syncRemark";
}

@ -81,7 +81,7 @@ public class BasicCorpController {
//是供应商的时候拉客户和供应商
if (basicUnitMaintainFilterRequest.getCorpType() == null || basicUnitMaintainFilterRequest.getCorpType() == 2) {
basicUnitMaintainFilterRequest.setCorpType(null);
basicUnitMaintainFilterRequest.setCorpTypeList(new ArrayList<>(Arrays.asList(1, 2)));
basicUnitMaintainFilterRequest.setCorpTypeLists(new ArrayList<>(Arrays.asList(1, 2)));
}
basicUnitMaintainEntities = basicUnitMaintainService.filterList(basicUnitMaintainFilterRequest);
PageInfo<BasicCorpEntity> pageInfo = new PageInfo<>(basicUnitMaintainEntities);
@ -126,7 +126,11 @@ public class BasicCorpController {
BasicCorpEntity basicUnitMaintainEntity = new BasicCorpEntity();
BeanUtils.copyProperties(basicUnitMaintainSaveRequest, basicUnitMaintainEntity);
basicUnitMaintainEntity.setErpId(CustomUtil.getId());
basicUnitMaintainEntity.setOutType(ConstantStatus.CORP_SICK_CUS);
if(basicUnitMaintainSaveRequest.getCorpType()==1){
basicUnitMaintainEntity.setOutType(ConstantStatus.CORP_SICK_SICK);
}else{
basicUnitMaintainEntity.setOutType(ConstantStatus.CORP_SICK_CUS);
}
basicUnitMaintainEntity.setUpdateTime(new Date());
basicUnitMaintainEntity.setId(IdUtil.getSnowflakeNextId());
boolean b = basicUnitMaintainService.insert(basicUnitMaintainEntity);

@ -0,0 +1,279 @@
package com.glxp.api.controller.basic;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.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.UdiEntity;
import com.glxp.api.entity.purchase.PurApplyDetailEntity;
import com.glxp.api.entity.thrsys.ThrProductsEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.basic.BasicDestinyRelRequest;
import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.auth.AuthAdminService;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.BasicDestinyRelService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.thrsys.ThrProductsService;
import com.glxp.api.util.BeanCopyUtils;
import com.glxp.api.util.udi.FilterUdiUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import 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.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@RestController
public class BasicDestinyRelController {
@Resource
private ThrProductsService thrProductsService;
@Resource
private CustomerService customerService;
@Resource
private UdiRelevanceService udiRelevanceService;
@Resource
private AuthAdminService authAdminService;
@Resource
private BasicDestinyRelService basicDestinyRelService;
@GetMapping("/udiwms/basic/destiny/model/filter")
public BaseResponse filterModeldestiny(FilterThrProductsRequest filterThrProductsRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<ThrProductsEntity> thrProductsEntities = thrProductsService.filterThrProducts(filterThrProductsRequest);
PageInfo<ThrProductsEntity> pageInfo = new PageInfo<>(thrProductsEntities);
PageSimpleResponse<ThrProductsEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(thrProductsEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@PostMapping("/udiwms/basic/destiny/model/addModeldestiny")
public BaseResponse addModeldestiny(@RequestBody ThrProductsEntity thrProductsEntity) {
//判断名字和编号不能重复
QueryWrapper<ThrProductsEntity> ew = new QueryWrapper<>();
ew.eq("name", thrProductsEntity.getName());
ew.eq("type", 2);
long count = thrProductsService.count(ew);
if (count > 0) {
return ResultVOUtils.error(999, "名称已存在!");
}
ew.clear();
ew.eq("code", thrProductsEntity.getCode());
ew.eq("type", 2);
count = thrProductsService.count(ew);
if (count > 0) {
return ResultVOUtils.error(999, "编号已存在!");
}
AuthAdmin authAdmin = customerService.getUserBean();
thrProductsEntity.setId(IdUtil.getSnowflakeNextId());
thrProductsEntity.setType(2);
thrProductsEntity.setCreateTime(new Date());
thrProductsEntity.setUpdateTime(new Date());
thrProductsEntity.setCreateUser(authAdmin.getId() + "");
thrProductsEntity.setUpdateUser(authAdmin.getId() + "");
Boolean falg = thrProductsService.insertThrProducts(thrProductsEntity);
if (!falg) {
return ResultVOUtils.error(999, "新增失败!");
}
return ResultVOUtils.success();
}
@PostMapping("/udiwms/basic/destiny/model/editModeldestiny")
public BaseResponse editModeldestiny(@RequestBody ThrProductsEntity thrProductsEntity) {
//判断名字和编号不能重复
QueryWrapper<ThrProductsEntity> ew = new QueryWrapper<>();
ew.eq("name", thrProductsEntity.getName());
ew.eq("type", 2);
ThrProductsEntity thrProductsEntity1 = thrProductsService.getOne(ew);
if (thrProductsEntity1 != null && !thrProductsEntity1.getId().equals(thrProductsEntity.getId())) {
return ResultVOUtils.error(999, "名称已存在!");
}
ew.clear();
ew.eq("code", thrProductsEntity.getCode());
ew.eq("type", 2);
thrProductsEntity1 = thrProductsService.getOne(ew);
if (thrProductsEntity1 != null && !thrProductsEntity1.getId().equals(thrProductsEntity.getId())) {
return ResultVOUtils.error(999, "编号已存在!");
}
AuthAdmin authAdmin = customerService.getUserBean();
thrProductsEntity.setUpdateTime(new Date());
thrProductsEntity.setUpdateUser(authAdmin.getId() + "");
Boolean falg = thrProductsService.updateById(thrProductsEntity);
if (!falg) {
return ResultVOUtils.error(999, "编辑失败!");
}
return ResultVOUtils.success();
}
@PostMapping("/udiwms/basic/destiny/model/delectModeldestiny")
public BaseResponse delectModeldestiny(@RequestBody ThrProductsEntity thrProductsEntity) {
Boolean falg = thrProductsService.deleteById(thrProductsEntity.getId() + "");
if (!falg) {
return ResultVOUtils.error(999, "删除失败!");
}
return ResultVOUtils.success();
}
//查询产品信息
@AuthRuleAnnotation("")
@GetMapping("/udiwms/basic/destiny/model/product/filter")
public BaseResponse filterDestinyProduct(CompanyProductRelevanceRequest companyProductRelevanceRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getCustomerId())) {
String customerId = getCustomerId();
if (customerId.equals("110")) {
companyProductRelevanceRequest.setCustomerId(null);
}
}
companyProductRelevanceRequest.setIsDisable(false);
if (StrUtil.isNotEmpty(companyProductRelevanceRequest.getUdiCode())) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(companyProductRelevanceRequest.getUdiCode());
if (udiEntity != null) {
companyProductRelevanceRequest.setNameCode(udiEntity.getUdi());
companyProductRelevanceRequest.setUnionCode(udiEntity.getUdi());
}
}
//如果输入DI标识精确找到不同层级对应的产品信息
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.setOriginUuid(temps.get(0).getOriginUuid());
companyProductRelevanceRequest.setNameCode(filterUdiInfoRequest.getNameCode());
companyProductRelevanceRequest.setUnionCode(null);
}
} else {
//只查找主标识产品信息
companyProductRelevanceRequest.setDiType(1);
}
//查询详情id过滤
List<Long> idList = basicDestinyRelService.filterDestinyRelIds(Long.valueOf(companyProductRelevanceRequest.getId()));
List<UdiRelevanceResponse> basicInstrumentMaintainRelevanceResponses = null;
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
BeanCopyUtils.copy(companyProductRelevanceRequest, filterUdiRelRequest);
if (idList.size() > 0) {
filterUdiRelRequest.setIds(idList);
}
basicInstrumentMaintainRelevanceResponses = basicDestinyRelService.filterUdiJoinSup(filterUdiRelRequest);
PageInfo<UdiRelevanceResponse> pageInfo;
pageInfo = new PageInfo<>(basicInstrumentMaintainRelevanceResponses);
PageSimpleResponse<UdiRelevanceResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(basicInstrumentMaintainRelevanceResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
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() + "";
}
@PostMapping("/udiwms/basic/destiny/model/addModeldestinyProduct")
public BaseResponse addModeldestinyProduct(@RequestBody BasicDestinyRelRequest basicDestinyRelRequest) {
Boolean falg = basicDestinyRelService.addModeldestinyProduct(basicDestinyRelRequest);
if (!falg) {
return ResultVOUtils.error(999, "选入失败!");
}
return ResultVOUtils.success();
}
@GetMapping("/udiwms/basic/destiny/model/filterDestinyDelect")
public BaseResponse filterDestinyDelect(FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<UdiRelevanceResponse> thrProductsEntities = new ArrayList<>();
//查询详情id过滤
List<Long> idList = basicDestinyRelService.filterDestinyRelIds(Long.valueOf(filterUdiRelRequest.getId()));
if (idList != null && idList.size() > 0) {
filterUdiRelRequest.setDestinyId(filterUdiRelRequest.getId()+"");
filterUdiRelRequest.setIds(idList);
filterUdiRelRequest.setDiType(1);
thrProductsEntities = basicDestinyRelService.filterDestinyProducts(filterUdiRelRequest);
int i=0;
for (UdiRelevanceResponse thrProductsEntity : thrProductsEntities) {
thrProductsEntity.setIndex(i);
i++;
}
}
PageInfo<UdiRelevanceResponse> pageInfo = new PageInfo<>(thrProductsEntities);
PageSimpleResponse<UdiRelevanceResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(thrProductsEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("/udiwms/basic/destiny/model/delectModeldestinyProduct")
public BaseResponse delectModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest) {
Boolean falg = basicDestinyRelService.delectModeldestinyProduct(basicDestinyRelRequest);
if (!falg) {
return ResultVOUtils.error(999, "删除失败!");
}
return ResultVOUtils.success();
}
@PostMapping("/udiwms/basic/destiny/model/uploadModeldestinyProduct")
public BaseResponse uploadModeldestinyProduct(@RequestBody BasicDestinyRelRequest basicDestinyRelRequest) {
Boolean falg = basicDestinyRelService.uploadModeldestinyProduct(basicDestinyRelRequest);
if (!falg) {
return ResultVOUtils.error(999, "更新失败!");
}
return ResultVOUtils.success();
}
}

@ -88,14 +88,14 @@ public class BasicProductCategoryController {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if(StrUtil.isEmpty(basicProductTypeRequest.getName())){
if (StrUtil.isEmpty(basicProductTypeRequest.getName())) {
return ResultVOUtils.error(999, "名字不能为空!");
}
Boolean falg = basicProductCategoryService.checkName(basicProductTypeRequest, 1);
if(falg==false){
if (falg == false) {
return ResultVOUtils.error(999, "院内分类名字已存在!");
}
falg = basicProductCategoryService.saveBasicHospType(basicProductTypeRequest);
falg = basicProductCategoryService.saveBasicHospType(basicProductTypeRequest);
if (!falg) {
return ResultVOUtils.error(999, "插入失败!");
}
@ -110,16 +110,16 @@ public class BasicProductCategoryController {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if(StrUtil.isEmpty(basicProductTypeRequest.getName())){
if (StrUtil.isEmpty(basicProductTypeRequest.getName())) {
return ResultVOUtils.error(999, "名字不能为空!");
}
if(basicProductTypeRequest.getCode().equals(basicProductTypeRequest.getParentCode())){
if (basicProductTypeRequest.getCode().equals(basicProductTypeRequest.getParentCode())) {
return ResultVOUtils.error(999, "上级菜单不能选择自己!");
}
Boolean falg = basicProductCategoryService.checkName(basicProductTypeRequest, 2);
if(falg==false){
if (falg == false) {
return ResultVOUtils.error(999, "院内分类名字已存在!");
}
falg = basicProductCategoryService.updateBasicHospType(basicProductTypeRequest);
@ -139,16 +139,16 @@ public class BasicProductCategoryController {
}
//先判断是否有下级 无下级在判断是否有产品
boolean b = basicProductCategoryService.checkExist(basicProductTypeRequest.getCode());
if(b){
return ResultVOUtils.error(555,"此分类下还有子分类,不能删除!");
if (b) {
return ResultVOUtils.error(555, "此分类下还有子分类,不能删除!");
}
//判断此分类中是否有产品
boolean checkrel = basicProductCategoryService.checkrel(basicProductTypeRequest.getCode());
if(checkrel){
return ResultVOUtils.error(555,"此分类中绑定产品,不能删除!");
if (checkrel) {
return ResultVOUtils.error(555, "此分类中绑定产品,不能删除!");
}
String msg = basicProductCategoryService.delectBasicHospType(basicProductTypeRequest);
String msg = basicProductCategoryService.delectBasicHospType(basicProductTypeRequest);
if (StringUtils.isNotBlank(msg)) {
return ResultVOUtils.error(999, msg);
@ -201,7 +201,7 @@ public class BasicProductCategoryController {
filterUdiProductRequest.setDiType(1);
}
List<UdiRelevanceResponse> list= basicProductCategoryService.selectAll(filterUdiProductRequest);
List<UdiRelevanceResponse> list = basicProductCategoryService.selectAll(filterUdiProductRequest);
PageInfo<UdiRelevanceResponse> pageInfo = new PageInfo<>(list);
PageSimpleResponse<UdiRelevanceResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
@ -216,9 +216,9 @@ public class BasicProductCategoryController {
BasicProductCategory category = basicProductCategoryService.checkCode(filterUdiRelRequest.getParentCode());
//过滤已被选入的产品
FilterUdiProductRequest request = new FilterUdiProductRequest();
if("10000".equals(category.getParentCode())) {
if ("10000".equals(category.getParentCode())) {
request.setCode(filterUdiRelRequest.getParentCode());
}else{
} else {
request.setCode(category.getCode());
}
List<UdiRelevanceResponse> udiRelevanceResponses1 = basicProductCategoryService.selectAll(request);
@ -227,35 +227,35 @@ public class BasicProductCategoryController {
list.add(udiRelevanceResponse.getId());
}
filterUdiRelRequest.setExistid(list);
List<UdiRelevanceResponse> udiRelevanceResponses=null;
List<UdiRelevanceResponse> udiRelevanceResponses = null;
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode());
if (udiEntity != null) {
filterUdiRelRequest.setNameCode(udiEntity.getUdi());
filterUdiRelRequest.setUnionCode(udiEntity.getUdi());
}
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode());
if (udiEntity != null) {
filterUdiRelRequest.setNameCode(udiEntity.getUdi());
filterUdiRelRequest.setUnionCode(udiEntity.getUdi());
}
//如果输入DI标识精确找到不同层级对应的产品信息
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) {
FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest();
filterUdiInfoRequest.setNameCode(filterUdiRelRequest.getUnionCode());
List<UdiRelevanceResponse> temps = basicHospTypeService.filterUdiGp(filterUdiInfoRequest);
if (temps != null && temps.size() > 0) {
filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid());
filterUdiRelRequest.setNameCode(filterUdiInfoRequest.getNameCode());
filterUdiRelRequest.setUnionCode(null);
}
} else {
//只查找主标识产品信息
filterUdiRelRequest.setDiType(1);
}
//如果输入DI标识精确找到不同层级对应的产品信息
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) {
FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest();
filterUdiInfoRequest.setNameCode(filterUdiRelRequest.getUnionCode());
List<UdiRelevanceResponse> temps = basicHospTypeService.filterUdiGp(filterUdiInfoRequest);
if (temps != null && temps.size() > 0) {
filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid());
filterUdiRelRequest.setNameCode(filterUdiInfoRequest.getNameCode());
filterUdiRelRequest.setUnionCode(null);
}
if("10000".equals(category.getParentCode())) {
} else {
//只查找主标识产品信息
filterUdiRelRequest.setDiType(1);
}
if ("10000".equals(category.getParentCode())) {
//查全部
udiRelevanceResponses= basicHospTypeService.filterUdiGpexist(filterUdiRelRequest);
udiRelevanceResponses = basicHospTypeService.filterUdiGpexist(filterUdiRelRequest);
}else{
} else {
// 查上级
FilterUdiProductRequest filterUdiProductRequest = new FilterUdiProductRequest();
filterUdiProductRequest.setCode(category.getParentCode());
@ -266,7 +266,7 @@ public class BasicProductCategoryController {
filterUdiProductRequest.setThrPiId(filterUdiRelRequest.getThrPiId());
filterUdiProductRequest.setNameCode(filterUdiRelRequest.getNameCode());
filterUdiProductRequest.setExistid(list);
udiRelevanceResponses= basicProductCategoryService.selectAll(filterUdiProductRequest);
udiRelevanceResponses = basicProductCategoryService.selectAll(filterUdiProductRequest);
}
@ -278,40 +278,39 @@ public class BasicProductCategoryController {
}
@GetMapping("/udiwms/basic/product/category/SelcetproductList")
public BaseResponse SelectproductList(FilterUdiRelRequest filterUdiRelRequest) {
List<UdiRelevanceResponse> udiRelevanceResponses=null;
List<UdiRelevanceResponse> udiRelevanceResponses = null;
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode());
if (udiEntity != null) {
filterUdiRelRequest.setNameCode(udiEntity.getUdi());
filterUdiRelRequest.setUnionCode(udiEntity.getUdi());
}
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode());
if (udiEntity != null) {
filterUdiRelRequest.setNameCode(udiEntity.getUdi());
filterUdiRelRequest.setUnionCode(udiEntity.getUdi());
}
//如果输入DI标识精确找到不同层级对应的产品信息
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) {
FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest();
filterUdiInfoRequest.setNameCode(filterUdiRelRequest.getUnionCode());
List<UdiRelevanceResponse> temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
if (temps != null && temps.size() > 0) {
filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid());
filterUdiRelRequest.setNameCode(filterUdiInfoRequest.getNameCode());
filterUdiRelRequest.setUnionCode(null);
}
} else {
//只查找主标识产品信息
filterUdiRelRequest.setDiType(1);
}
//如果输入DI标识精确找到不同层级对应的产品信息
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) {
FilterUdiRelRequest filterUdiInfoRequest = new FilterUdiRelRequest();
filterUdiInfoRequest.setNameCode(filterUdiRelRequest.getUnionCode());
List<UdiRelevanceResponse> temps = udiRelevanceService.filterUdiGp(filterUdiInfoRequest);
if (temps != null && temps.size() > 0) {
filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid());
filterUdiRelRequest.setNameCode(filterUdiInfoRequest.getNameCode());
filterUdiRelRequest.setUnionCode(null);
}
} else {
//只查找主标识产品信息
filterUdiRelRequest.setDiType(1);
}
//是否是一级分类
BasicProductCategory category = basicProductCategoryService.checkCode(filterUdiRelRequest.getParentCode());
if("10000".equals(category.getParentCode())) {
if ("10000".equals(category.getParentCode())) {
//查全部
udiRelevanceResponses= basicHospTypeService.filterUdiGp(filterUdiRelRequest);
}else{
udiRelevanceResponses = basicHospTypeService.filterUdiGp(filterUdiRelRequest);
} else {
// 查上级
FilterUdiProductRequest filterUdiProductRequest = new FilterUdiProductRequest();
filterUdiProductRequest.setCode(category.getParentCode());
@ -322,7 +321,7 @@ public class BasicProductCategoryController {
filterUdiProductRequest.setThrPiId(filterUdiRelRequest.getThrPiId());
filterUdiProductRequest.setNameCode(filterUdiRelRequest.getNameCode());
udiRelevanceResponses= basicProductCategoryService.selectAll(filterUdiProductRequest);
udiRelevanceResponses = basicProductCategoryService.selectAll(filterUdiProductRequest);
}
//循环插入
@ -331,10 +330,10 @@ public class BasicProductCategoryController {
List<String> list = new ArrayList<>();
for (UdiRelevanceResponse udiRelevanceRespons : udiRelevanceResponses) {
list.add(udiRelevanceRespons.getId()+"");
list.add(udiRelevanceRespons.getId() + "");
}
if(!(udiRelevanceResponses != null && udiRelevanceResponses.size()>0)){
return ResultVOUtils.error(456,"为查询到对应数据!");
if (!(udiRelevanceResponses != null && udiRelevanceResponses.size() > 0)) {
return ResultVOUtils.error(456, "为查询到对应数据!");
}
basicProductTypeRequest.setIds(list);
basicProductCategoryService.insertCateRel(basicProductTypeRequest);
@ -343,20 +342,13 @@ public class BasicProductCategoryController {
}
@GetMapping("/udiwms/basic/product/category/deleterel")
public BaseResponse deleterel(Integer id){
basicProductCategoryService.deleterelByid(id);
return ResultVOUtils.success();
public BaseResponse deleterel(Integer id) {
basicProductCategoryService.deleterelByid(id);
return ResultVOUtils.success();
}
@PostMapping("/udiwms/basic/product/category/unbindRel")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse unbindRel(@RequestBody BasicHospTypeRequest basicHospTypeRequest, BindingResult bindingResult) {

@ -296,6 +296,57 @@ public class UdiContrastController {
public void updateDi(UdiRelevanceEntity udiRelevanceEntity, String key) {
List<UdiProductEntity> udiInfoEntities = udiDlHttpClient.getOrUpdateByUuid(key);
List<UdiProductEntity> originProductEntities = udiProductService.findByUuids(udiRelevanceEntity.getUuid());
if (CollUtil.isNotEmpty(originProductEntities) && CollUtil.isNotEmpty(udiInfoEntities)) {
UdiProductEntity originProductEntity = originProductEntities.get(0);
for (UdiProductEntity udiProductEntity : udiInfoEntities) {
if (StrUtil.isEmpty(udiProductEntity.getSptm())) {
udiProductEntity.setSptm(originProductEntity.getSptm());
}
if (StrUtil.isEmpty(udiProductEntity.getYbbm())) {
udiProductEntity.setYbbm(originProductEntity.getYbbm());
}
if (StrUtil.isEmpty(udiProductEntity.getMeasname())) {
udiProductEntity.setMeasname(originProductEntity.getMeasname());
}
if (StrUtil.isEmpty(udiProductEntity.getManufactory())) {
udiProductEntity.setManufactory(originProductEntity.getManufactory());
}
if (StrUtil.isEmpty(udiProductEntity.getPrice())) {
udiProductEntity.setPrice(originProductEntity.getPrice());
}
if (StrUtil.isEmpty(udiProductEntity.getSpmc())) {
udiProductEntity.setSpmc(originProductEntity.getSpmc());
}
if (StrUtil.isEmpty(udiProductEntity.getCpms())) {
udiProductEntity.setCpms(originProductEntity.getCpms());
}
if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak1())) {
udiProductEntity.setBasicPrductRemak1(originProductEntity.getBasicPrductRemak1());
}
if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak2())) {
udiProductEntity.setBasicPrductRemak2(originProductEntity.getBasicPrductRemak2());
}
if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak3())) {
udiProductEntity.setBasicPrductRemak3(originProductEntity.getBasicPrductRemak3());
}
if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak4())) {
udiProductEntity.setBasicPrductRemak4(originProductEntity.getBasicPrductRemak4());
}
if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak5())) {
udiProductEntity.setBasicPrductRemak5(originProductEntity.getBasicPrductRemak5());
}
if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak6())) {
udiProductEntity.setBasicPrductRemak6(originProductEntity.getBasicPrductRemak6());
}
if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak7())) {
udiProductEntity.setBasicPrductRemak7(originProductEntity.getBasicPrductRemak7());
}
if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak8())) {
udiProductEntity.setBasicPrductRemak8(originProductEntity.getBasicPrductRemak8());
}
}
}
udiProductService.deleteByUuid(udiRelevanceEntity.getUuid());
udiRelevanceEntity.setUuid(udiInfoEntities.get(0).getUuid());
udiRelevanceEntity.setUpdateTime(new Date());
@ -304,7 +355,6 @@ public class UdiContrastController {
insertUdiInfos(udiInfoEntities);
}
public UdiRelevanceEntity setThird(UdiCombineRequest udiCombineRequest, UdiRelevanceEntity udiRelevanceEntity) {
FilterBasicThirdSysRequest request = new FilterBasicThirdSysRequest();
if ("thirdId".equals(udiCombineRequest.getThirdSys())) {

@ -272,7 +272,7 @@ public class IoCodeTempController extends BaseController {
checkSuccess = false;
lostMsg = lostMsg + ",失效日期";
}
if (("是".equals(checkUdi.getScbssfbhxlh()) && StrUtil.isEmpty(udiEntity.getSerialNo()))
if (checkUdi.getAllowNoSerial()!=null && !checkUdi.getAllowNoSerial() && StrUtil.isEmpty(udiEntity.getSerialNo())
) {
checkSuccess = false;
lostMsg = lostMsg + ",序列号";

@ -0,0 +1,139 @@
package com.glxp.api.controller.inout;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.inout.IodestinyProcessRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.inout.IoCodeRelResponse;
import com.glxp.api.res.inout.IodestinyProcessResponse;
import com.glxp.api.service.basic.BasicDestinyRelService;
import com.glxp.api.service.inout.IoDestinyProcessCodeService;
import com.glxp.api.service.inout.IoDestinyProcessDetailService;
import com.glxp.api.service.inout.IoDestinyProcessService;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@RestController
public class IoDestinyProcessController {
@Resource
private BasicDestinyRelService basicDestinyRelService;
@Resource
private IoDestinyProcessDetailService ioDestinyProcessDetailService;
@Resource
private IoDestinyProcessCodeService ioDestinyProcessCodeService;
@Resource
private IoDestinyProcessService ioDestinyProcessService;
@PostMapping("/udiwms/basic/destiny/model/addDestinyDelect")
public BaseResponse addDestinyDelect(@RequestBody FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
ioDestinyProcessDetailService.insertProcessDetail(filterUdiRelRequest);
return ResultVOUtils.success();
}
@GetMapping("/udiwms/basic/destiny/model/filterDestinyProcessDelect")
public BaseResponse filterDestinyProcessDelect(FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<UdiRelevanceResponse> udiRelevanceResponseList = ioDestinyProcessDetailService.filterProcessDetail(filterUdiRelRequest);
return ResultVOUtils.success(udiRelevanceResponseList);
}
@GetMapping("/udiwms/basic/destiny/model/filterDestinyProcess")
public BaseResponse filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<IodestinyProcessResponse> iodestinyProcessResponseList = ioDestinyProcessDetailService.filterDestinyProcess(iodestinyProcessRequest);
PageInfo<IodestinyProcessResponse> pageInfo;
pageInfo = new PageInfo<>(iodestinyProcessResponseList);
PageSimpleResponse<IodestinyProcessResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(iodestinyProcessResponseList);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("/udiwms/basic/destiny/model/checkDestinyProcess")
public BaseResponse checkDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
BaseResponse baseResponse = ioDestinyProcessDetailService.checkDestinyProcess(iodestinyProcessRequest);
return baseResponse;
}
@GetMapping("/udiwms/basic/destiny/model/filterDestinyProcessCode")
public BaseResponse filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<IodestinyProcessResponse> iodestinyProcessResponseList = ioDestinyProcessCodeService.filterDestinyProcessCode(iodestinyProcessRequest);
PageInfo<IodestinyProcessResponse> pageInfo;
pageInfo = new PageInfo<>(iodestinyProcessResponseList);
PageSimpleResponse<IodestinyProcessResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(iodestinyProcessResponseList);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("/udiwms/basic/destiny/model/addDestinyProcess")
public BaseResponse addDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<IoDestinyProcessDetailEntity> ioDestinyProcessDetailEntityList= ioDestinyProcessDetailService.addDestinyProcess(iodestinyProcessRequest);
for (IoDestinyProcessDetailEntity ioDestinyProcessDetailEntity : ioDestinyProcessDetailEntityList) {
if(ioDestinyProcessDetailEntity.getCount()-ioDestinyProcessDetailEntity.getReCount()>0){
return ResultVOUtils.error(999,"该单还未完全扫码校验!");
}
}
//更新状态
ioDestinyProcessService.uploadDestinyProcess(iodestinyProcessRequest);
return ResultVOUtils.success();
}
@GetMapping("/udiwms/basic/destiny/model/delectDestinyProcess")
public BaseResponse delectDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
//更新状态
ioDestinyProcessService.delectDestinyProcess(iodestinyProcessRequest);
return ResultVOUtils.success();
}
}

@ -1,10 +1,8 @@
package com.glxp.api.controller.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
@ -17,20 +15,15 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.system.CompanyEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.req.inout.InspectionPDFTemplateRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.CptTraceResultResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.*;
import com.glxp.api.service.system.CompanyService;
import com.glxp.api.service.system.SystemPDFModuleService;
import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.util.JasperUtils;
@ -203,8 +196,8 @@ public class IoOrderDetailResultController extends BaseController {
*/
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/resultDetail/filterOrderPrint")
public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException {
List<IoOrderDetailResultResponse> ioOrderDetailResultResponseList = new ArrayList<>();
public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException {
List<IoOrderDetailResultResponse> ioOrderDetailResultResponseList=new ArrayList<>();
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailResultRequest.getTemplateId());
//打印单号标签
Map<String, Object> data = new HashMap<>(1);
@ -212,9 +205,9 @@ public class IoOrderDetailResultController extends BaseController {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式
//按选入打印
if (filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size() > 0) {
ioOrderDetailResultResponseList = filterOrderDetailResultRequest.getList();
} else {
if(filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size()>0){
ioOrderDetailResultResponseList =filterOrderDetailResultRequest.getList();
}else{
//按查询打印
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType());
@ -234,7 +227,7 @@ public class IoOrderDetailResultController extends BaseController {
}
}
}
int i = 1;
int i=1;
for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) {
//组装数据
Map<String, Object> ioOrderDetailResultData = new HashMap<>();
@ -251,7 +244,7 @@ public class IoOrderDetailResultController extends BaseController {
ioOrderDetailResultData.put("spec", ioOrderDetailResultResponse.getSpec() == null ? ' ' : ioOrderDetailResultResponse.getSpec());
ioOrderDetailResultData.put("price", ioOrderDetailResultResponse.getPrice() == null ? ' ' : ioOrderDetailResultResponse.getPrice());
ioOrderDetailResultData.put("count", ioOrderDetailResultResponse.getCount());
ioOrderDetailResultData.put("reCount", ioOrderDetailResultResponse.getReCount());
ioOrderDetailResultData.put("reCount",ioOrderDetailResultResponse.getReCount());
ioOrderDetailResultData.put("inCount", ioOrderDetailResultResponse.getInCount());
ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount());
ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName());
@ -264,7 +257,7 @@ public class IoOrderDetailResultController extends BaseController {
data.put("data", list);
String param = JSON.toJSONString(data);
JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf");
JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf");
return ResultVOUtils.success();
}

@ -84,7 +84,7 @@ public class IoOrderMutiController {
if (udiProductEntity.getUseMuti() == null || udiProductEntity.getUseMuti() == false) {
return ResultVOUtils.error(999, "该产品不允许多次出库!");
} else {
if (udiProductEntity.getZdcfsycs() == null || udiProductEntity.getZdcfsycs().equals(0)) {
if (udiProductEntity.getUseNum() == null || udiProductEntity.getUseNum().equals(0)) {
return ResultVOUtils.error(999, "该产品库存不足!");
}
}
@ -121,11 +121,11 @@ public class IoOrderMutiController {
ioOrderMutiEntityOne.setBatchNo(udiEntity.getBatchNo());
ioOrderMutiEntityOne.setExpireDate(udiEntity.getExpireDate());
ioOrderMutiEntityOne.setProduceDate(udiEntity.getProduceDate());
ioOrderMutiEntityOne.setTotalCount(udiProductEntity.getZdcfsycs());
ioOrderMutiEntityOne.setTotalCount(udiProductEntity.getUseNum());
ioOrderMutiEntityOne.setStatus(0);
ioOrderMutiEntityOne.setCreateUser(customerService.getUserId() + "");
ioOrderMutiEntityOne.setUseCount(0);
ioOrderMutiEntityOne.setReCount(udiProductEntity.getZdcfsycs());
ioOrderMutiEntityOne.setReCount(udiProductEntity.getUseNum());
ioOrderMutiEntityOne.setCreateTime(new Date());
ioOrderMutiEntityOne.setUpdateTime(new Date());
ioOrderMutiEntityOne.setNameCode(udiProductEntity.getNameCode());
@ -175,7 +175,7 @@ public class IoOrderMutiController {
if (udiProductEntity.getUseMuti() == null || udiProductEntity.getUseMuti() == false) {
return ResultVOUtils.error(999, "该产品不允许多次出库!");
} else {
if (udiProductEntity.getZdcfsycs() == null || udiProductEntity.getZdcfsycs().equals(0)) {
if (udiProductEntity.getUseNum() == null || udiProductEntity.getUseNum().equals(0)) {
return ResultVOUtils.error(999, "该产品库存不足!");
}
}
@ -200,10 +200,10 @@ public class IoOrderMutiController {
ioOrderMutiEntity1.setBatchNo(udiEntity.getBatchNo());
ioOrderMutiEntity1.setExpireDate(udiEntity.getExpireDate());
ioOrderMutiEntity1.setProduceDate(udiEntity.getProduceDate());
ioOrderMutiEntity1.setTotalCount(udiProductEntity.getZdcfsycs());
ioOrderMutiEntity1.setTotalCount(udiProductEntity.getUseNum());
ioOrderMutiEntity1.setStatus(0);
ioOrderMutiEntity1.setUseCount(0);
ioOrderMutiEntity1.setReCount(udiProductEntity.getZdcfsycs());
ioOrderMutiEntity1.setReCount(udiProductEntity.getUseNum());
ioOrderMutiEntity1.setCreateUser(customerService.getUserId() + "");
ioOrderMutiEntity1.setCreateTime(new Date());
ioOrderMutiEntity1.setUpdateTime(new Date());
@ -328,6 +328,21 @@ public class IoOrderMutiController {
@PostMapping("/udiwms/inout/order/muti/addMutiDetail")
public BaseResponse addMutiDetail(@RequestBody IoOrderMutiUseEntity ioOrderMutiUseEntity) {
if (ioOrderMutiUseEntity.getCheckType() !=null && ioOrderMutiUseEntity.getCheckType() == 1) {
IoOrderMutiRequest ioOrderMutiRequest=new IoOrderMutiRequest();
ioOrderMutiRequest.setStatus(0);
ioOrderMutiRequest.setUdiCode(ioOrderMutiUseEntity.getUdiCode());
ioOrderMutiRequest.setMark(ioOrderMutiUseEntity.getMark());
List<IoOrderMutiResponse> ioOrderMutiEntityList = ioOrderMutiService.filterList(ioOrderMutiRequest);
if (ioOrderMutiEntityList.size() <= 0) {
return ResultVOUtils.error(999, "该产品不存在此标识!");
}
if (ioOrderMutiEntityList.get(0).getReCount() <= 0) {
return ResultVOUtils.error(999, "该产品可使用数量不足!");
}
}
//判断是不是个人使用
AuthAdmin authAdmin = customerService.getUserBean();
QueryWrapper<IoOrderMutiSetEntity> setEw = new QueryWrapper<>();

@ -1,16 +1,20 @@
package com.glxp.api.controller.purchase;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType;
import com.glxp.api.dao.basic.CompanyProductRelevanceDao;
import com.glxp.api.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.basic.CompanyProductRelevanceEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inout.PurReceiveDetailEntity;
import com.glxp.api.entity.inout.PurReceiveEntity;
import com.glxp.api.entity.purchase.*;
import com.glxp.api.service.basic.CompanyProductRelevanceService;
import com.glxp.api.service.basic.IBasicBusTypeChangeService;
import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderService;
@ -24,6 +28,7 @@ import com.glxp.api.util.OrderNoTypeBean;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.awt.geom.QuadCurve2D;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
@ -61,6 +66,8 @@ public class IoPurChangeService {
IoOrderService ioOrderService;
@Resource
IoOrderDetailBizService ioOrderDetailBizService;
@Resource
CompanyProductRelevanceDao companyProductRelevanceDao;
//领用单流转
public void purReceiveChange(PurReceiveEntity purReceiveEntity) {
@ -251,6 +258,14 @@ public class IoPurChangeService {
d.setCount(e.getCount());
d.setSupId(e.getSupId());
d.setZczbhhzbapzbh(e.getZczbhhzbapzbh());
QueryWrapper<CompanyProductRelevanceEntity> ew = new QueryWrapper<>();
ew.eq("customerId", d.getSupId());
ew.eq("udiRlIdFk", d.getProductId());
ew.last("limit 1");
CompanyProductRelevanceEntity companyProductRelevanceEntity = companyProductRelevanceDao.selectOne(ew);
if (companyProductRelevanceEntity != null) {
d.setPrice(companyProductRelevanceEntity.getPrice());
}
return d;
}).collect(Collectors.toList());
purOrderDetailService.insertPurOrderDetailEntity(purOrderDetailEntityList);
@ -529,8 +544,8 @@ public class IoPurChangeService {
ioOrderDetailBizEntity.setManufacturer(basicProductsEntity.getManufactory());
ioOrderDetailBizEntity.setMeasname(basicProductsEntity.getMeasname());
ioOrderDetailBizEntity.setSpec(basicProductsEntity.getGgxh());
if (basicProductsEntity.getPrice() != null) {
ioOrderDetailBizEntity.setPrice(BigDecimal.valueOf(basicProductsEntity.getPrice()));
if (obj.getPrice() != null) {
ioOrderDetailBizEntity.setPrice(obj.getPrice());
}
ioOrderDetailBizEntity.setSupId(obj.getSupId());
ioOrderDetailBizService.insert(ioOrderDetailBizEntity);

@ -74,6 +74,7 @@ public class ThirdUploadSetController {
thrOrderUploadBustypesEntity.setOrderStatus(3);
thrOrderUploadBustypesEntity.setUpdateTime(new Date());
thrOrderUploadBustypesEntity.setCreateTime(new Date());
thrOrderUploadBustypesEntity.setId(null);
thrOrderUploadBustypesEntity.setOrderSource(Arrays.asList("2"));
thrOrderUploadBustypesEntity.setId(null);
thrOrderUploadBustypesService.save(thrOrderUploadBustypesEntity);

@ -208,7 +208,7 @@ public class ThrProductsController {
udiProductEntity.setMeasname(thrProductsEntity.getMeasname());
if (StrUtil.isNotEmpty(thrProductsEntity.getSpec()))
udiProductEntity.setGgxh(thrProductsEntity.getSpec());
if (StrUtil.isNotEmpty(thrProductsEntity.getStandard()))
else if (StrUtil.isNotEmpty(thrProductsEntity.getStandard()))
udiProductEntity.setGgxh(thrProductsEntity.getStandard());
if (StrUtil.isNotEmpty(thrProductsEntity.getRegisterNo()))
udiProductEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo());
@ -232,8 +232,6 @@ public class ThrProductsController {
udiProductEntity.setYlqxzcrbarmc(thrProductsEntity.getYlqxzcrbarmc());
if (StrUtil.isNotEmpty(thrProductsEntity.getCpms()))
udiProductEntity.setCpms(thrProductsEntity.getCpms());
if (StrUtil.isNotEmpty(thrProductsEntity.getStandard()))
udiProductEntity.setGgxh(thrProductsEntity.getStandard());
udiProductService.updateUdiInfo(udiProductEntity);
}

@ -314,7 +314,7 @@ public interface BaseMapperPlus<M, T, V> extends BaseMapper<T> {
}
}
} catch (Exception e) {
log.error("insertIgnoreBatch fail", e);
log.error("replaceBatch fail", e);
return false;
}
return true;

@ -0,0 +1,21 @@
package com.glxp.api.dao.basic;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.basic.BasicDestinyRelEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface BasicDestinyRelMapper extends BaseMapperPlus<BasicDestinyRelMapper, BasicDestinyRelEntity, BasicDestinyRelEntity> {
List<UdiRelevanceResponse> filterUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest);
List<UdiRelevanceResponse> filterDestinyProducts(FilterUdiRelRequest filterUdiRelRequest);
}

@ -0,0 +1,15 @@
package com.glxp.api.dao.inout;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity;
import com.glxp.api.req.inout.IodestinyProcessRequest;
import com.glxp.api.res.inout.IodestinyProcessResponse;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface IoDestinyProcessCodeMapper extends BaseMapper<IoDestinyProcessCodeEntity> {
List<IodestinyProcessResponse> filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest);
}

@ -0,0 +1,23 @@
package com.glxp.api.dao.inout;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.inout.IodestinyProcessRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.inout.IodestinyProcessResponse;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface IoDestinyProcessDetailMapper extends BaseMapperPlus<IoDestinyProcessDetailMapper, IoDestinyProcessDetailEntity, IoDestinyProcessDetailEntity> {
List<UdiRelevanceResponse> filterDestinyProducts(FilterUdiRelRequest filterUdiRelRequest);
List<IodestinyProcessResponse> filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest);
}

@ -0,0 +1,9 @@
package com.glxp.api.dao.inout;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inout.IoDestinyProcessEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IoDestinyProcessMapper extends BaseMapper<IoDestinyProcessEntity> {
}

@ -0,0 +1,35 @@
package com.glxp.api.entity.basic;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
*
*/
@Data
@TableName(value = "udi_wms.basic_destiny_rel")
public class BasicDestinyRelEntity {
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
* id
*/
@TableField(value = "relId")
private Long relId;
/**
* id
*/
@TableField(value = "pId")
private Long pId;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
}

@ -95,5 +95,6 @@ public class UdiProductEntity {
private String mjfs;
private String categoryName;
private Date updateTime;
private Integer useNum;
}

@ -0,0 +1,93 @@
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.math.BigDecimal;
import java.util.Date;
import lombok.Data;
/**
*
*/
@Data
@TableName(value = "io_destiny_process_code")
public class IoDestinyProcessCodeEntity {
@TableId(value = "id", type = IdType.INPUT)
private Long 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 = "price")
private BigDecimal price;
/**
* ID
*/
@TableField(value = "supId")
private String supId;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
@TableField(value = "updateTime")
private Date updateTime;
@TableField(value = "code")
private String code;
@TableField(value = "serialNo")
private String serialNo;
@TableField(value = "reCount")
private int reCount;
}

@ -0,0 +1,46 @@
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 lombok.Data;
import java.util.Date;
/**
*
*/
@Data
@TableName(value = "io_destiny_process_detail")
public class IoDestinyProcessDetailEntity {
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
* id
*/
@TableField(value = "relId")
private Long relId;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
/**
*
*/
@TableField(value = "reCount")
private Integer reCount;
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "orderIdFk")
private String orderIdFk;
}

@ -0,0 +1,84 @@
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.util.Date;
import lombok.Data;
/**
*
*/
@Data
@TableName(value = "io_destiny_process")
public class IoDestinyProcessEntity {
@TableId(value = "id", type = IdType.INPUT)
private Long id;
/**
* id
*/
@TableField(value = "destinyId")
private String destinyId;
/**
*
*/
@TableField(value = "destinyNo")
private String destinyNo;
/**
*
*/
@TableField(value = "billNo")
private String billNo;
/**
*
*/
@TableField(value = "billDate")
private Date billDate;
/**
*
*/
@TableField(value = "invCode")
private String invCode;
/**
*
*/
@TableField(value = "remark")
private String remark;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "`createUser`")
private String createUser;
/**
*
*/
@TableField(value = "updateUser")
private String updateUser;
/**
* 0 稿 1 2
*/
@TableField(value = "`status`")
private Integer status;
}

@ -64,4 +64,13 @@ public class IoOrderMutiUseEntity {
@TableField(exist=false)
private String createUserName;
@TableField(exist = false)
private Integer checkType;
@TableField(exist = false)
private String mark;
@TableField(exist = false)
private String udiCode;
}

@ -191,5 +191,10 @@ public class ThrProductsEntity {
@TableField("supCode")
private String supCode;
@TableField("type")
private Integer type;
@TableField(exist = false)
private String createByName;
}

@ -0,0 +1,21 @@
package com.glxp.api.req.basic;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.util.List;
@Data
public class BasicDestinyRelRequest {
private List<Long> list;
private Long pId;
private Long id;
private int count;
public List<Long> getList() {
return list;
}
public Long getpId() {
return pId;
}
}

@ -27,5 +27,6 @@ public class BasicUnitMaintainFilterRequest extends ListPageRequest {
private Boolean isDownThrSys;
private String lastUpdateTime;
private List<Integer> corpTypeList;
private List<Integer> corpTypeLists;//用来往来单位查询
List<BasicErpUnitsResponse>thrCorpEntities;
}

@ -3,6 +3,7 @@ package com.glxp.api.req.basic;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
@ -89,4 +90,13 @@ public class FilterUdiRelRequest extends ListPageRequest {
private String basicPrductRemak7;
private String basicPrductRemak8;
//定数包参数
private String destinyId;
private String destinyNo;
private String billNo;
private Date billDate;
private String invCode;
private String remark;
}

@ -0,0 +1,15 @@
package com.glxp.api.req.inout;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class IodestinyProcessRequest extends ListPageRequest {
private String billNo;
private String invCode;
private String code;
}

@ -34,6 +34,7 @@ public class FilterThrProductsRequest extends ListPageRequest {
private String uuid;
private Integer diType;
private Integer type;
public List<ThrProductsEntity> getThrProductsEntities() {
return thrProductsEntities;

@ -98,6 +98,9 @@ public class UdiRelevanceResponse {
private Integer recentDateTime;
private Integer isDateBy;
private String relCode;
private int index;
private int reCount;
//关联查询字典
private String unitFk; //供应商ID
@ -120,6 +123,8 @@ public class UdiRelevanceResponse {
private String syqsfxyjxmj;
private String mjfs;
private String categoryName;
private int count;
private Long deId;
private Integer bpcrid;

@ -0,0 +1,101 @@
package com.glxp.api.res.inout;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class IodestinyProcessResponse {
private Long id;
private String destinyId;
private String destinyNo;
private String billNo;
private Date billDate;
private String invCode;
private String remark;
private Date createTime;
private Date updateTime;
private String createUser;
private String updateUser;
private Integer status;
private String invName;
private String updateName;
private String createName;
private String code;
private String serialNo;
private String productDate;
private String expireDate;
private BigDecimal price;
private String batchNo;
private int count;
private int reCount;
//产品
private String originUuid;
private String nameCode;
private String deviceRecordKey;
private String packRatio;
private String packLevel;
private String packUnit;
private Integer bhxjsl;
private Integer bhzxxsbzsl;
private Integer zxxsbzbhsydysl;
private String bhxjcpbm;
private String bzcj;
private String cpmctymc;
private String cplb;
private String flbm;
private String ggxh;
private String qxlb;
private String tyshxydm;
private String ylqxzcrbarmc;
private String zczbhhzbapzbh;
private String ylqxzcrbarywmc;
private String sydycpbs;
private String sjcpbm;
private Integer versionNumber;
private Integer diType;
private String ybbm;
private String sptm;
private String manufactory;
private String measname;
private Integer productType;
private String scbssfbhph;
private String scbssfbhxlh;
private String scbssfbhscrq;
private String scbssfbhsxrq;
private String cpms;
private Boolean allowNoBatch;
private Boolean allowNoExpire;
private Boolean allowNoProduct;
private Boolean allowNoSerial;
private String spmc;
private String cplx;
private String hchzsb;
private String cpdls;
}

@ -0,0 +1,24 @@
package com.glxp.api.service.basic;
import com.glxp.api.req.basic.BasicDestinyRelRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.springframework.stereotype.Service;
import java.util.List;
public interface BasicDestinyRelService{
Boolean addModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest);
List<UdiRelevanceResponse> filterUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest);
List<Long> filterDestinyRelIds(Long pId);
List<UdiRelevanceResponse> filterDestinyProducts(FilterUdiRelRequest filterUdiRelRequest);
Boolean delectModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest);
Boolean uploadModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest);
}

@ -10,16 +10,21 @@ import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType;
import com.glxp.api.dao.basic.BasicBussinessTypeDao;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.thrsys.ThrOrderUploadBustypesEntity;
import com.glxp.api.req.basic.FilterBussinessTypeRequest;
import com.glxp.api.res.basic.BasicBussinessTypeResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.service.thrsys.ThrOrderUploadBustypesService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@ -34,6 +39,8 @@ public class BasicBussinessTypeServiceImpl extends ServiceImpl<BasicBussinessTyp
private CustomerService customerService;
@Resource
private BasicBussinessTypeDao basicBussinessTypeDao;
@Resource
private ThrOrderUploadBustypesService thrOrderUploadBustypesService;
@Override
public List<BasicBussinessTypeResponse> filterList(FilterBussinessTypeRequest filterBussinessTypeRequest) {
@ -288,6 +295,18 @@ public class BasicBussinessTypeServiceImpl extends ServiceImpl<BasicBussinessTyp
)
);
break;
case Constant.ORDER_THIRD_UPLOAD:
List<ThrOrderUploadBustypesEntity> thrOrderUploadBustypesEntities = thrOrderUploadBustypesService.list();
List<String> actions = new ArrayList<>();
thrOrderUploadBustypesEntities.forEach(item ->
{
actions.add(item.getAction());
});
if (CollUtil.isNotEmpty(actions)) {
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>().in("action", actions));
}
break;
default:
break;

@ -0,0 +1,97 @@
package com.glxp.api.service.basic.impl;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.BasicDestinyRelMapper;
import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.entity.basic.BasicDestinyRelEntity;
import com.glxp.api.req.basic.BasicDestinyRelRequest;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.basic.BasicDestinyRelService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Service
public class BasicDestinyRelServiceImpl implements BasicDestinyRelService {
@Resource
BasicDestinyRelMapper basicDestinyRelMapper;
@Resource
UdiRelevanceDao udiRelevanceDao;
@Override
public Boolean addModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest) {
List<BasicDestinyRelEntity> basicDestinyRelEntitList = new ArrayList<>();
for (Long str : basicDestinyRelRequest.getList()) {
BasicDestinyRelEntity basicDestinyRelEntity = new BasicDestinyRelEntity();
basicDestinyRelEntity.setId(IdUtil.getSnowflakeNextId());
basicDestinyRelEntity.setRelId(str);
basicDestinyRelEntity.setPId(basicDestinyRelRequest.getpId());
basicDestinyRelEntitList.add(basicDestinyRelEntity);
}
Boolean flag = basicDestinyRelMapper.insertBatch(basicDestinyRelEntitList);
return flag;
}
@Override
public List<UdiRelevanceResponse> filterUdiJoinSup(FilterUdiRelRequest filterUdiRelRequest) {
if (filterUdiRelRequest == null) {
return Collections.emptyList();
}
if (filterUdiRelRequest.getPage() != null) {
int offset = (filterUdiRelRequest.getPage() - 1) * filterUdiRelRequest.getLimit();
PageHelper.offsetPage(offset, filterUdiRelRequest.getLimit());
}
List<UdiRelevanceResponse> data = basicDestinyRelMapper.filterUdiJoinSup(filterUdiRelRequest);
return data;
}
@Override
public List<Long> filterDestinyRelIds(Long pId) {
List<Long> stringList = new ArrayList<>();
QueryWrapper<BasicDestinyRelEntity> ew = new QueryWrapper<>();
ew.eq("pId", pId);
List<BasicDestinyRelEntity> basicDestinyRelEntities = basicDestinyRelMapper.selectList(ew);
for (BasicDestinyRelEntity basicDestinyRelEntity : basicDestinyRelEntities) {
stringList.add(basicDestinyRelEntity.getRelId());
}
return stringList;
}
@Override
public List<UdiRelevanceResponse> filterDestinyProducts(FilterUdiRelRequest filterUdiRelRequest) {
if (filterUdiRelRequest == null) {
return Collections.emptyList();
}
if (filterUdiRelRequest.getPage() != null) {
int offset = (filterUdiRelRequest.getPage() - 1) * filterUdiRelRequest.getLimit();
PageHelper.offsetPage(offset, filterUdiRelRequest.getLimit());
}
List<UdiRelevanceResponse> data = basicDestinyRelMapper.filterDestinyProducts(filterUdiRelRequest);
return data;
}
@Override
public Boolean delectModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest) {
return basicDestinyRelMapper.deleteById(basicDestinyRelRequest.getId()) > 0 ? true : false;
}
@Override
public Boolean uploadModeldestinyProduct(BasicDestinyRelRequest basicDestinyRelRequest) {
BasicDestinyRelEntity basicDestinyRelEntity=new BasicDestinyRelEntity();
basicDestinyRelEntity.setId(basicDestinyRelRequest.getId());
basicDestinyRelEntity.setCount(basicDestinyRelRequest.getCount());
return basicDestinyRelMapper.updateById(basicDestinyRelEntity)> 0 ? true : false;
}
}

@ -0,0 +1,15 @@
package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.req.inout.IodestinyProcessRequest;
import com.glxp.api.res.inout.IodestinyProcessResponse;
import java.util.List;
public interface IoDestinyProcessCodeService{
List<IodestinyProcessResponse> filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest);
}

@ -0,0 +1,24 @@
package com.glxp.api.service.inout;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.inout.IodestinyProcessRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.inout.IodestinyProcessResponse;
import java.util.List;
public interface IoDestinyProcessDetailService{
Boolean insertProcessDetail(FilterUdiRelRequest filterUdiRelRequest);
List<IoDestinyProcessDetailEntity> addDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest);
List<UdiRelevanceResponse> filterProcessDetail(FilterUdiRelRequest filterUdiRelRequest);
List<IodestinyProcessResponse> filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest);
BaseResponse checkDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest);
}

@ -0,0 +1,14 @@
package com.glxp.api.service.inout;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.inout.IodestinyProcessRequest;
public interface IoDestinyProcessService{
Boolean uploadDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest);
Boolean delectDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest);
}

@ -0,0 +1,28 @@
package com.glxp.api.service.inout.impl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inout.IoDestinyProcessCodeMapper;
import com.glxp.api.req.inout.IodestinyProcessRequest;
import com.glxp.api.res.inout.IodestinyProcessResponse;
import org.springframework.stereotype.Service;
import com.glxp.api.service.inout.IoDestinyProcessCodeService;
import javax.annotation.Resource;
import java.util.List;
@Service
public class IoDestinyProcessCodeServiceImpl implements IoDestinyProcessCodeService {
@Resource
IoDestinyProcessCodeMapper ioDestinyProcessCodeMapper;
@Override
public List<IodestinyProcessResponse> filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest) {
if (iodestinyProcessRequest.getPage() != null) {
int offset = (iodestinyProcessRequest.getPage() - 1) * iodestinyProcessRequest.getLimit();
PageHelper.offsetPage(offset, iodestinyProcessRequest.getLimit());
}
return ioDestinyProcessCodeMapper.filterDestinyProcessCode(iodestinyProcessRequest);
}
}

@ -0,0 +1,221 @@
package com.glxp.api.service.inout.impl;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.inout.IoDestinyProcessCodeMapper;
import com.glxp.api.dao.inout.IoDestinyProcessMapper;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity;
import com.glxp.api.entity.inout.IoDestinyProcessEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.inout.IodestinyProcessRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.inout.IodestinyProcessResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.BasicDestinyRelService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.inout.IoDestinyProcessService;
import com.glxp.api.util.udi.FilterUdiUtils;
import com.glxp.api.util.udi.UdiCalCountUtil;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.inout.IoDestinyProcessDetailMapper;
import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity;
import com.glxp.api.service.inout.IoDestinyProcessDetailService;
import javax.annotation.Resource;
import java.awt.geom.QuadCurve2D;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@Service
public class IoDestinyProcessDetailServiceImpl implements IoDestinyProcessDetailService {
@Resource
private BasicDestinyRelService basicDestinyRelService;
@Resource
private IoDestinyProcessDetailMapper ioDestinyProcessDetailMapper;
@Resource
private IoDestinyProcessCodeMapper ioDestinyProcessCodeMapper;
@Resource
CustomerService customerService;
@Resource
IoDestinyProcessMapper ioDestinyProcessMapper;
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
UdiCalCountUtil udiCalCountUtil;
@Override
public Boolean insertProcessDetail(FilterUdiRelRequest filterUdiRelRequest) {
//删除原数据
QueryWrapper<IoDestinyProcessDetailEntity> ew=new QueryWrapper<>();
ew.eq("orderIdFk",filterUdiRelRequest.getBillNo());
long count= ioDestinyProcessDetailMapper.delete(ew);
QueryWrapper<IoDestinyProcessCodeEntity> ew1=new QueryWrapper<>();
ew1.eq("orderIdFk",filterUdiRelRequest.getBillNo());
ioDestinyProcessCodeMapper.delete(ew1);
filterUdiRelRequest.setDestinyId(filterUdiRelRequest.getDestinyId());
filterUdiRelRequest.setDiType(1);
List<UdiRelevanceResponse> thrProductsEntities = basicDestinyRelService.filterDestinyProducts(filterUdiRelRequest);
AuthAdmin authAdmin= customerService.getUserBean();
IoDestinyProcessEntity ioDestinyProcessEntity=new IoDestinyProcessEntity();
// 插入主表
if(count>0){
QueryWrapper<IoDestinyProcessEntity> ew2=new QueryWrapper<>();
ew2.eq("billNo",filterUdiRelRequest.getBillNo());
ioDestinyProcessEntity=ioDestinyProcessMapper.selectOne(ew2);
ioDestinyProcessEntity.setCreateTime(new Date());
ioDestinyProcessEntity.setUpdateTime(new Date());
ioDestinyProcessEntity.setCreateUser(authAdmin.getId() + "");
ioDestinyProcessEntity.setUpdateUser(authAdmin.getId() + "");
ioDestinyProcessEntity.setInvCode(filterUdiRelRequest.getInvCode());
ioDestinyProcessEntity.setRemark(filterUdiRelRequest.getRemark());
ioDestinyProcessMapper.updateById(ioDestinyProcessEntity);
}else{
ioDestinyProcessEntity.setId(IdUtil.getSnowflakeNextId());
ioDestinyProcessEntity.setDestinyNo(filterUdiRelRequest.getDestinyNo());
ioDestinyProcessEntity.setDestinyId(filterUdiRelRequest.getDestinyId());
ioDestinyProcessEntity.setBillNo(filterUdiRelRequest.getBillNo());
ioDestinyProcessEntity.setBillDate(filterUdiRelRequest.getBillDate());
ioDestinyProcessEntity.setRemark(filterUdiRelRequest.getRemark());
ioDestinyProcessEntity.setInvCode(filterUdiRelRequest.getInvCode());
ioDestinyProcessEntity.setCreateTime(new Date());
ioDestinyProcessEntity.setUpdateTime(new Date());
ioDestinyProcessEntity.setCreateUser(authAdmin.getId() + "");
ioDestinyProcessEntity.setUpdateUser(authAdmin.getId() + "");
ioDestinyProcessEntity.setStatus(0);
ioDestinyProcessMapper.insert(ioDestinyProcessEntity);
}
// 插入详情表
List<IoDestinyProcessDetailEntity> ioDestinyProcessDetailEntityList=new ArrayList<>();
for (UdiRelevanceResponse thrProductsEntity : thrProductsEntities) {
IoDestinyProcessDetailEntity ioDestinyProcessDetailEntity=new IoDestinyProcessDetailEntity();
ioDestinyProcessDetailEntity.setId(IdUtil.getSnowflakeNextId());
ioDestinyProcessDetailEntity.setCount(thrProductsEntity.getCount());
ioDestinyProcessDetailEntity.setRelId(thrProductsEntity.getId());
ioDestinyProcessDetailEntity.setReCount(0);
ioDestinyProcessDetailEntity.setUpdateTime(new Date());
ioDestinyProcessDetailEntity.setOrderIdFk(ioDestinyProcessEntity.getBillNo());
ioDestinyProcessDetailEntityList.add(ioDestinyProcessDetailEntity);
thrProductsEntity.setReCount(0);
}
ioDestinyProcessDetailMapper.insertBatch(ioDestinyProcessDetailEntityList);
return true;
}
@Override
public List<IoDestinyProcessDetailEntity> addDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) {
QueryWrapper<IoDestinyProcessDetailEntity> ew=new QueryWrapper<>();
ew.eq("orderIdFk",iodestinyProcessRequest.getBillNo());
List<IoDestinyProcessDetailEntity> ioDestinyProcessDetailEntity=ioDestinyProcessDetailMapper.selectList(ew);
return ioDestinyProcessDetailEntity;
}
@Override
public List<UdiRelevanceResponse> filterProcessDetail(FilterUdiRelRequest filterUdiRelRequest) {
//查询详情
List<UdiRelevanceResponse> thrProductsEntities = ioDestinyProcessDetailMapper.filterDestinyProducts(filterUdiRelRequest);
return thrProductsEntities;
}
@Override
public List<IodestinyProcessResponse> filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) {
if (iodestinyProcessRequest.getPage() != null) {
int offset = (iodestinyProcessRequest.getPage() - 1) * iodestinyProcessRequest.getLimit();
PageHelper.offsetPage(offset, iodestinyProcessRequest.getLimit());
}
return ioDestinyProcessDetailMapper.filterDestinyProcess(iodestinyProcessRequest);
}
@Override
public BaseResponse checkDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(iodestinyProcessRequest.getCode());
UdiRelevanceResponse checkUdi = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
if (checkUdi ==null){
return ResultVOUtils.error(500, "耗材字典不存在此产品!");
}
QueryWrapper<IoDestinyProcessDetailEntity> ew=new QueryWrapper<>();
ew.eq("orderIdFk",iodestinyProcessRequest.getBillNo());
ew.eq("relId",checkUdi.getRelId());
IoDestinyProcessDetailEntity ioDestinyProcessDetailEntity=ioDestinyProcessDetailMapper.selectOne(ew);
if(ioDestinyProcessDetailEntity == null){
return ResultVOUtils.error(500, "定数包不存在此产品!");
}
if(ioDestinyProcessDetailEntity.getCount()-ioDestinyProcessDetailEntity.getReCount()<=0){
return ResultVOUtils.error(500, "该产品已足够!");
}
int count = udiCalCountUtil.getActCount(udiEntity.getUdi());
ioDestinyProcessDetailEntity.setReCount(ioDestinyProcessDetailEntity.getReCount()+count);
ioDestinyProcessDetailMapper.updateById(ioDestinyProcessDetailEntity);
//判断有没有序列号
//有
if (udiEntity.getSerialNo()!=null){
//插入详细表
IoDestinyProcessCodeEntity ioDestinyProcessCodeEntity=new IoDestinyProcessCodeEntity();
ioDestinyProcessCodeEntity.setCode(iodestinyProcessRequest.getCode());
ioDestinyProcessCodeEntity.setId(IdUtil.getSnowflakeNextId());
ioDestinyProcessCodeEntity.setOrderIdFk(iodestinyProcessRequest.getBillNo());
ioDestinyProcessCodeEntity.setBindRlFk(checkUdi.getRelId() + "");
ioDestinyProcessCodeEntity.setUuidFk(checkUdi.getUuid());
ioDestinyProcessCodeEntity.setNameCode(checkUdi.getNameCode());
ioDestinyProcessCodeEntity.setCount(1);
ioDestinyProcessCodeEntity.setReCount(count);
ioDestinyProcessCodeEntity.setProductDate(udiEntity.getProduceDate());
ioDestinyProcessCodeEntity.setExpireDate(udiEntity.getExpireDate());
ioDestinyProcessCodeEntity.setBatchNo(udiEntity.getBatchNo());
ioDestinyProcessCodeEntity.setPrice(checkUdi.getPrice());
ioDestinyProcessCodeEntity.setSerialNo(udiEntity.getSerialNo());
ioDestinyProcessCodeEntity.setUpdateTime(new Date());
ioDestinyProcessCodeMapper.insert(ioDestinyProcessCodeEntity);
}else{
//无批次号的时候判断是不是第一次是第一次就插入不是第一此就更新
QueryWrapper<IoDestinyProcessCodeEntity> ew1=new QueryWrapper<>();
ew1.eq("code",iodestinyProcessRequest.getCode());
ew1.eq("orderIdFk",iodestinyProcessRequest.getBillNo());
ew1.last("limit 1");
IoDestinyProcessCodeEntity ioDestinyProcessCodeEntity=ioDestinyProcessCodeMapper.selectOne(ew1);
if(ioDestinyProcessCodeEntity==null){
//插入详细表
ioDestinyProcessCodeEntity=new IoDestinyProcessCodeEntity();
ioDestinyProcessCodeEntity.setCode(iodestinyProcessRequest.getCode());
ioDestinyProcessCodeEntity.setId(IdUtil.getSnowflakeNextId());
ioDestinyProcessCodeEntity.setOrderIdFk(iodestinyProcessRequest.getBillNo());
ioDestinyProcessCodeEntity.setBindRlFk(checkUdi.getRelId() + "");
ioDestinyProcessCodeEntity.setUuidFk(checkUdi.getUuid());
ioDestinyProcessCodeEntity.setNameCode(checkUdi.getNameCode());
ioDestinyProcessCodeEntity.setCount(1);
ioDestinyProcessCodeEntity.setReCount(count);
ioDestinyProcessCodeEntity.setProductDate(udiEntity.getProduceDate());
ioDestinyProcessCodeEntity.setExpireDate(udiEntity.getExpireDate());
ioDestinyProcessCodeEntity.setBatchNo(udiEntity.getBatchNo());
ioDestinyProcessCodeEntity.setPrice(checkUdi.getPrice());
ioDestinyProcessCodeEntity.setSerialNo(udiEntity.getSerialNo());
ioDestinyProcessCodeEntity.setUpdateTime(new Date());
ioDestinyProcessCodeMapper.insert(ioDestinyProcessCodeEntity);
return ResultVOUtils.success();
}
ioDestinyProcessCodeEntity.setCount(ioDestinyProcessCodeEntity.getReCount()+1);
ioDestinyProcessCodeEntity.setReCount(ioDestinyProcessCodeEntity.getReCount()+count);
ioDestinyProcessCodeMapper.updateById(ioDestinyProcessCodeEntity);
}
return ResultVOUtils.success();
}
}

@ -0,0 +1,55 @@
package com.glxp.api.service.inout.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.inout.IoDestinyProcessCodeMapper;
import com.glxp.api.dao.inout.IoDestinyProcessDetailMapper;
import com.glxp.api.dao.inout.IoDestinyProcessMapper;
import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity;
import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity;
import com.glxp.api.entity.inout.IoDestinyProcessEntity;
import com.glxp.api.req.inout.IodestinyProcessRequest;
import com.glxp.api.service.inout.IoDestinyProcessService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class IoDestinyProcessServiceImpl implements IoDestinyProcessService {
@Resource
IoDestinyProcessMapper ioDestinyProcessMapper;
@Resource
private IoDestinyProcessDetailMapper ioDestinyProcessDetailMapper;
@Resource
private IoDestinyProcessCodeMapper ioDestinyProcessCodeMapper;
@Override
public Boolean uploadDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) {
QueryWrapper<IoDestinyProcessEntity> ew = new QueryWrapper<>();
ew.eq("billNo", iodestinyProcessRequest.getBillNo());
IoDestinyProcessEntity ioDestinyProcessEntity = ioDestinyProcessMapper.selectOne(ew);
ioDestinyProcessEntity.setStatus(2);
ioDestinyProcessMapper.updateById(ioDestinyProcessEntity);
return null;
}
@Override
public Boolean delectDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) {
QueryWrapper<IoDestinyProcessDetailEntity> ew=new QueryWrapper<>();
ew.eq("orderIdFk",iodestinyProcessRequest.getBillNo());
long count= ioDestinyProcessDetailMapper.delete(ew);
QueryWrapper<IoDestinyProcessCodeEntity> ew1=new QueryWrapper<>();
ew1.eq("orderIdFk",iodestinyProcessRequest.getBillNo());
ioDestinyProcessCodeMapper.delete(ew1);
QueryWrapper<IoDestinyProcessEntity> ew3 = new QueryWrapper<>();
ew3.eq("billNo", iodestinyProcessRequest.getBillNo());
ioDestinyProcessMapper.delete(ew3);
return null;
}
}

@ -6,9 +6,7 @@ import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inout.IoOrderDetailResultDao;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.CptTraceRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.inout.CptTraceOrderResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.inout.IoOrderDetailResultService;
import org.springframework.stereotype.Service;
@ -78,6 +76,4 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic
public List<CptTraceOrderResponse> cptTrace(CptTraceRequest cptTraceRequest) {
return orderDetailResultDao.cptTrace(cptTraceRequest);
}
}

@ -1994,7 +1994,7 @@ public class HeartService {
}
}
// //更新发票信息
//更新发票信息
// if (CollUtil.isNotEmpty(syncDataResponse.getOrderInvoiceEntities())) {
// List<IoOrderInvoiceEntity> orderInvoiceEntities = syncDataResponse.getOrderInvoiceEntities();
// for (IoOrderInvoiceEntity orderInvoiceEntity : orderInvoiceEntities) {

@ -20,9 +20,9 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Arrays;
//@Component
//@EnableScheduling
@Slf4j
@Component
@EnableScheduling
public class SyncHeartTask implements SchedulingConfigurer {
final Logger logger = LoggerFactory.getLogger(SyncHeartTask.class);
@ -45,7 +45,7 @@ public class SyncHeartTask implements SchedulingConfigurer {
ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest);
String cron = scheduledEntity.getCron();
if (cron.isEmpty()) {
logger.error("cron is null");
log.error("cron is null");
}
return new CronTrigger(cron).nextExecutionTime(triggerContext);
});
@ -54,7 +54,7 @@ public class SyncHeartTask implements SchedulingConfigurer {
private void process() {
logger.info("数据同步心跳");
log.info("数据同步心跳--");
//查询数据同步设置
SyncDataSetEntity syncDataSetEntity = syncDataSetDao.selectSet();
if (syncDataSetEntity.isDownstreamEnable()) {
@ -82,7 +82,7 @@ public class SyncHeartTask implements SchedulingConfigurer {
redisUtil.set("SPS_SYNC_UPLOAD_DATA", curTime1);
}
} catch (Exception e) {
logger.error(ExceptionUtils.getStackTrace(e));
log.error(ExceptionUtils.getStackTrace(e));
e.printStackTrace();
}
@ -103,7 +103,7 @@ public class SyncHeartTask implements SchedulingConfigurer {
redisUtil.set("SPS_SYNC_UPLOAD_ORDER", curTime2);
}
} catch (Exception e) {
logger.error(ExceptionUtils.getStackTrace(e));
log.error(ExceptionUtils.getStackTrace(e));
e.printStackTrace();
}
@ -121,13 +121,13 @@ public class SyncHeartTask implements SchedulingConfigurer {
heartService.dlAllOrder();
} catch (Exception e) {
e.printStackTrace();
logger.error(ExceptionUtils.getStackTrace(e));
log.error(ExceptionUtils.getStackTrace(e));
}
try {
heartService.dlAllDiProducts();
} catch (Exception e) {
e.printStackTrace();
logger.error(ExceptionUtils.getStackTrace(e));
log.error(ExceptionUtils.getStackTrace(e));
}
Arrays.stream(BasicExportTypeEnum.values()).forEach(i -> {
heartService.pullData(i);

@ -277,7 +277,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
long timeInterval = Long.parseLong(thrSystemDetailEntity.getTime().intValue() + "") * 1000 * 60;
if (curTime - lastTime < timeInterval) {
log.info("定时任务时间未到", taskKey);
log.info("定时任务时间未到---" + taskKey);
return false;
} else {
return true;

@ -30,7 +30,10 @@ public class UdiInfoUtil {
}
if (StrUtil.isNotEmpty(udiProductEntity.getScbssfbhxlh()) && "否".equals(udiProductEntity.getScbssfbhxlh())) {
udiProductEntity.setAllowNoExpire(true);
} else if (StrUtil.isEmpty(udiProductEntity.getScbssfbhxlh())) {
udiProductEntity.setAllowNoExpire(true);
}
return udiProductEntity;
}
@ -52,13 +55,15 @@ public class UdiInfoUtil {
}
if (StrUtil.isNotEmpty(udiProductEntity.getScbssfbhxlh()) && "否".equals(udiProductEntity.getScbssfbhxlh())) {
udiProductEntity.setAllowNoExpire(true);
} else if (StrUtil.isEmpty(udiProductEntity.getScbssfbhxlh())) {
udiProductEntity.setAllowNoExpire(true);
}
//名字转拼音
if (StrUtil.isNotBlank(udiProductEntity.getCpmctymc())) {
//名字转拼音
if(StrUtil.isNotBlank(udiProductEntity.getCpmctymc())){
try {
String pinyin = PinyinUtils.converterToFirstSpell(udiProductEntity.getCpmctymc());
String pinyin= PinyinUtils.converterToFirstSpell(udiProductEntity.getCpmctymc());
udiProductEntity.setPinyinInitial(pinyin);
} catch (Exception e) {
}catch (Exception e){
logger.error(ExceptionUtils.getStackTrace(e));
e.printStackTrace();
}

@ -4,9 +4,9 @@ server:
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy: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:p6spy:mysql://192.168.0.66:3364/udi_wms_pzh?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: 123456
password: Glxp@6066
hikari:
connection-timeout: 60000
maximum-pool-size: 20
@ -44,7 +44,8 @@ ok:
logging:
level:
com.glxp.api.dao: debug
com.glxp.api.dao: debu
file_path: D:/udi/inUdiwms/udiwmsfile/
UDI_KEY: 6b137c66-6286-46c6-8efa-c2f5dd9237df

@ -3,9 +3,9 @@ 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.61:3306/udi_wms_w?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: Glxp@6066
password: 123456
hikari:
connection-timeout: 60000
maximum-pool-size: 60

@ -8,7 +8,7 @@ spring:
enabled: true
max-file-size: 200MB
max-request-size: 200MB
location: /tmp
location: D:/tmp
mybatis-plus:
mapper-locations: classpath:mybatis/mapper/*/*.xml

@ -37,6 +37,13 @@
</foreach>
) and outType <![CDATA[ <> ]]> 1
</if>
<if test="corpTypeLists != null and corpTypeLists.size() > 0">
AND (corpType in
<foreach item="item" index="index" collection="corpTypeLists" open="(" separator="," close=")">
#{item}
</foreach>
)
</if>
<if test="outType != null">
AND (outType <![CDATA[ <> ]]> #{outType} or outType is NULL)
</if>
@ -355,6 +362,6 @@
SELECT *
FROM basic_corp
WHERE corpType = 1
AND outType = 2;
AND outType = 1;
</select>
</mapper>

@ -0,0 +1,303 @@
<?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.BasicDestinyRelMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.basic.BasicDestinyRelEntity">
<!--@mbg.generated-->
<!--@Table udi_wms.basic_destiny_rel-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="relId" jdbcType="BIGINT" property="relId" />
<result column="pId" jdbcType="BIGINT" property="pId" />
<result column="count" jdbcType="INTEGER" property="count" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, relId, pId, `count`
</sql>
<select id="filterUdiJoinSup" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
basic_products.id as PRId,
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.allowNoSerial,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
company_product_relevance.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.sfwblztlcp,
basic_products.cgzmraqxgxx,
basic_products.sfbjwycxsy,
basic_products.zdcfsycs,
basic_products.sfwwjbz,
basic_products.syqsfxyjxmj,
basic_products.mjfs,
basic_products.categoryName,
company_product_relevance.unitFk,
basic_corp.erpId as customerId,
basic_corp.name companyName
FROM basic_udirel
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
left join company_product_relevance
on basic_udirel.id = company_product_relevance.udiRlIdFk
left JOIN basic_corp on basic_corp.erpId = company_product_relevance.customerId
left join basic_hosp_type bht on basic_udirel.relCode = bht.code
left join thr_products tp on tp.code = basic_udirel.mainId
left join basic_product_category_rel on basic_product_category_rel.relId = basic_udirel.id
left join basic_product_category on basic_product_category_rel.code = basic_product_category.code
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND basic_products.ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
</if>
<if test="category != '' and category != null">
AND basic_product_category.name = #{category}
</if>
<if test="manufactory != '' and manufactory != null">
AND basic_products.manufactory LIKE concat('%', #{manufactory}, '%')
</if>
<if test="supName != '' and supName != null">
AND supName LIKE concat('%', #{supName}, '%')
</if>
<if test="ids != null and ids.size() > 0">
and basic_udirel.id not in
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="pinyinInitial != null and pinyinInitial != ''">
AND basic_products.pinyinInitial like concat('%', #{pinyinInitial}, '%')
</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="ggxh != '' and ggxh != null">
AND basic_products.ggxh LIKE concat('%', #{ggxh}, '%')
</if>
<if test="cpmctymc != '' and cpmctymc != null">
AND basic_products.cpmctymc LIKE concat('%', #{cpmctymc}, '%')
</if>
<if test="nameCode != '' and nameCode != null">
AND nameCode LIKE concat(#{nameCode}, '%')
</if>
<if test="thirdId != '' and thirdId != null">
AND basic_udirel.thirdId LIKE concat(#{thirdId}, '%')
</if>
<if test="uuid != '' and uuid != null">
AND basic_udirel.uuid = #{uuid}
</if>
<if test="unitFk != '' and unitFk != null">
AND company_product_relevance.unitFk = #{unitFk}
</if>
<if test="id != '' and id != null">
AND basic_udirel.id = #{id}
</if>
<if test="udplatCode != '' and udplatCode != null">
AND basic_udirel.udplatCode = #{udplatCode}
</if>
<if test="diType != null">
AND basic_products.diType = #{diType}
</if>
<if test="lockStatus != '' and lockStatus != null">
AND basic_udirel.lockStatus = #{lockStatus}
</if>
<if test="zczbhhzbapzbh != '' and zczbhhzbapzbh != null">
AND basic_products.zczbhhzbapzbh LIKE concat(#{zczbhhzbapzbh}, '%')
</if>
<if test="lastUpdateTime != null and lastUpdateTime != ''">
<![CDATA[
and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S') >= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S')
]]>
</if>
<if test="mainId != '' and mainId != null">
AND mainId = #{mainId}
</if>
<if test="unionFilterStr != '' and unionFilterStr != null">
or basic_products.cpmctymc LIKE concat('%', #{unionFilterStr}, '%')
or basic_products.ylqxzcrbarmc LIKE concat('%', #{unionFilterStr}, '%')
or basic_products.ggxh LIKE concat('%', #{unionFilterStr}, '%')
or basic_products.zczbhhzbapzbh LIKE concat('%', #{unionFilterStr}, '%')
</if>
<if test="isAdavence != '' and isAdavence != null">
AND isAdavence = #{isAdavence}
</if>
<if test="uniqueNameCode != '' and uniqueNameCode != null">
AND nameCode = #{uniqueNameCode}
</if>
<if test="relIds != null and relIds.size() > 0">
and basic_udirel.id in
<foreach collection="relIds" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test="flbm != '' and flbm != null">
and (tp.flbm = #{flbm} or basic_products.flbm = #{flbm} or tp.cplb = #{flbm} or
basic_udirel.relCode = #{flbm})
</if>
<if test="companyName != '' and companyName != null">
AND basic_corp.name like concat('%', #{companyName}, '%')
</if>
<if test="basicPrductRemak1 != '' and basicPrductRemak1 != null">
AND basic_products.basicPrductRemak1 like concat('%', #{basicPrductRemak1}, '%')
</if>
<if test="basicPrductRemak2 != '' and basicPrductRemak2 != null">
AND basic_products.basicPrductRemak2 like concat('%', #{basicPrductRemak2}, '%')
</if>
<if test="basicPrductRemak3 != '' and basicPrductRemak3 != null">
AND basic_products.basicPrductRemak3 like concat('%', #{basicPrductRemak3}, '%')
</if>
<if test="basicPrductRemak4 != '' and basicPrductRemak4 != null">
AND basic_products.basicPrductRemak4 like concat('%', #{basicPrductRemak4}, '%')
</if>
<if test="basicPrductRemak5 != '' and basicPrductRemak5 != null">
AND basic_products.basicPrductRemak5 like concat('%', #{basicPrductRemak5}, '%')
</if>
<if test="basicPrductRemak6 != '' and basicPrductRemak6 != null">
AND basic_products.basicPrductRemak6 like concat('%', #{basicPrductRemak6}, '%')
</if>
<if test="basicPrductRemak7 != '' and basicPrductRemak7 != null">
AND basic_products.basicPrductRemak7 like concat('%', #{basicPrductRemak7}, '%')
</if>
<if test="basicPrductRemak8 != '' and basicPrductRemak8 != null">
AND basic_products.basicPrductRemak8 like concat('%', #{basicPrductRemak8}, '%')
</if>
</where>
GROUP BY basic_udirel.id
</select>
<select id="filterDestinyProducts" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
SELECT
basic_udirel.*,
basic_products.id AS PRId,
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.allowNoSerial,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
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,
basic_destiny_rel.count as count,
basic_destiny_rel.id as deId
FROM
basic_udirel
INNER JOIN basic_products ON basic_products.uuid = basic_udirel.uuid
INNER JOIN basic_destiny_rel ON basic_destiny_rel.relId = basic_udirel.id
<where>
<if test="ids != null and ids.size() > 0">
and basic_udirel.id in
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="diType != null">
AND basic_products.diType = #{diType}
</if>
<if test="cpmctymc != '' and cpmctymc != null">
AND basic_products.cpmctymc like concat('%', #{cpmctymc}, '%')
</if>
<if test="destinyId != '' and destinyId != null">
AND basic_destiny_rel.pId = #{destinyId}
</if>
</where>
group by basic_products.uuid
</select>
</mapper>

@ -1098,7 +1098,7 @@
<select id="selectUdiByName" resultType="com.glxp.api.entity.basic.UdiProductEntity">
SELECT b1.*,
b2.useMuti as useMuti,
b2.zdcfsycs as zdcfsycs,
b2.useNum as useNum,
b2.id as relId,
c1.customerId as supId
FROM basic_products b1

@ -198,12 +198,13 @@
left join basic_hosp_type bht on basic_udirel.relCode = bht.code
left join thr_products tp on tp.code = basic_udirel.mainId
left join basic_product_category_rel on basic_product_category_rel.relId = basic_udirel.id
left join basic_product_category on basic_product_category_rel.code = basic_product_category.code
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND basic_products.ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
</if>
<if test="category != '' and category != null">
AND basic_product_category_rel.code = #{category}
AND basic_product_category.name = #{category}
</if>
<if test="manufactory != '' and manufactory != null">
AND basic_products.manufactory LIKE concat('%', #{manufactory}, '%')
@ -508,62 +509,62 @@
<select id="filterUdiGpexist" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
bht.name classifyName,
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.allowNoSerial,
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
bht.name classifyName,
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.allowNoSerial,
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
left join basic_hosp_type bht on basic_udirel.relCode = bht.code
inner JOIN basic_udirel
ON basic_products.uuid = basic_udirel.uuid
left join basic_hosp_type bht on basic_udirel.relCode = bht.code
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
@ -573,7 +574,7 @@
</if>
<if test="bindType != '' and bindType != null">
AND (relCode is null
or trim(relCode) = '')
or trim(relCode) = '')
</if>
<if test="supName != '' and supName != null">
AND supName LIKE concat('%', #{supName}, '%')
@ -592,9 +593,9 @@
</if>
<if test="unionCode != '' and unionCode != null">
and (
nameCode LIKE concat('%', #{unionCode}, '%')
or ybbm LIKE concat('%', #{unionCode}, '%')
or sptm LIKE concat('%', #{unionCode}, '%'))
nameCode LIKE concat('%', #{unionCode}, '%')
or ybbm LIKE concat('%', #{unionCode}, '%')
or sptm LIKE concat('%', #{unionCode}, '%'))
</if>
<if test="isDisable == false">
AND (basic_udirel.isDisable is null or basic_udirel.isDisable = false)
@ -604,10 +605,10 @@
</if>
<if test="thrPiId != '' and thrPiId != null">
and (thirdId LIKE concat('%', #{thrPiId}, '%')
or thirdId1 LIKE concat('%', #{thrPiId}, '%')
or thirdId2 LIKE concat('%', #{thrPiId}, '%')
or thirdId3 LIKE concat('%', #{thrPiId}, '%')
or thirdId4 LIKE concat('%', #{thrPiId}, '%'))
or thirdId1 LIKE concat('%', #{thrPiId}, '%')
or thirdId2 LIKE concat('%', #{thrPiId}, '%')
or thirdId3 LIKE concat('%', #{thrPiId}, '%')
or thirdId4 LIKE concat('%', #{thrPiId}, '%'))
</if>
<if test="uuid != '' and uuid != null">
AND basic_udirel.uuid = #{uuid}
@ -626,7 +627,7 @@
</if>
<if test="filterType != null and filterType == 1">
AND (thirdId <![CDATA[<>]]> '' or thirdId1 <![CDATA[<>]]> '' or thirdId2 <![CDATA[<>]]> '' or
thirdId3 <![CDATA[<>]]> '' or thirdId4 <![CDATA[<>]]> '')
thirdId3 <![CDATA[<>]]> '' or thirdId4 <![CDATA[<>]]> '')
and basic_products.originUuid <![CDATA[<>]]> ''
</if>
<if test="filterType != null and filterType == 2">

@ -0,0 +1,50 @@
<?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.IoDestinyProcessCodeMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.inout.IoDestinyProcessCodeEntity">
<!--@mbg.generated-->
<!--@Table udi_wms.io_destiny_process_code-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="orderIdFk" jdbcType="VARCHAR" property="orderIdFk" />
<result column="bindRlFk" jdbcType="VARCHAR" property="bindRlFk" />
<result column="uuidFk" jdbcType="VARCHAR" property="uuidFk" />
<result column="nameCode" jdbcType="VARCHAR" property="nameCode" />
<result column="batchNo" jdbcType="VARCHAR" property="batchNo" />
<result column="productDate" jdbcType="VARCHAR" property="productDate" />
<result column="expireDate" jdbcType="VARCHAR" property="expireDate" />
<result column="price" jdbcType="DECIMAL" property="price" />
<result column="supId" jdbcType="VARCHAR" property="supId" />
<result column="count" jdbcType="INTEGER" property="count" />
<result column="updateTime" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, orderIdFk, bindRlFk, uuidFk, nameCode, batchNo, productDate, expireDate, price,
supId, `count`, updateTime
</sql>
<select id="filterDestinyProcessCode" parameterType="com.glxp.api.req.inout.IodestinyProcessRequest"
resultType="com.glxp.api.res.inout.IodestinyProcessResponse">
SELECT
ps.*,
b2.ggxh,
b2.cpmctymc,
b2.measname,
b2.ylqxzcrbarmc,
b2.zczbhhzbapzbh,
b2.manufactory
FROM
io_destiny_process_code ps
LEFT JOIN basic_udirel b1 ON b1.id = ps.bindRlFk
left JOIN basic_products b2 on b2.uuid=b1.uuid
<where>
<if test="billNo != '' and billNo != null">
AND ps.orderIdFk = #{billNo}
</if>
</where>
group by ps.id
order by ps.updateTime desc
</select>
</mapper>

@ -0,0 +1,92 @@
<?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.IoDestinyProcessDetailMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.inout.IoDestinyProcessDetailEntity">
<!--@mbg.generated-->
<!--@Table udi_wms.io_destiny_process_detail-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="relId" jdbcType="BIGINT" property="relId" />
<result column="count" jdbcType="INTEGER" property="count" />
<result column="reCount" jdbcType="INTEGER" property="reCount" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, relId, `count`, reCount
</sql>
<select id="filterDestinyProducts" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
SELECT
basic_udirel.*,
basic_products.id AS PRId,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
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.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
io_destiny_process_detail.count as count,
io_destiny_process_detail.reCount as reCount,
io_destiny_process_detail.id as deId
FROM
basic_udirel
INNER JOIN basic_products ON basic_products.uuid = basic_udirel.uuid
INNER JOIN io_destiny_process_detail ON io_destiny_process_detail.relId = basic_udirel.id
<where>
<if test="diType != null">
AND basic_products.diType = #{diType}
</if>
<if test="cpmctymc != '' and cpmctymc != null">
AND basic_products.cpmctymc like concat('%', #{cpmctymc}, '%')
</if>
<if test="billNo != '' and billNo != null">
AND io_destiny_process_detail.orderIdFk = #{billNo}
</if>
</where>
group by io_destiny_process_detail.id
order by io_destiny_process_detail.updateTime asc
</select>
<select id="filterDestinyProcess" parameterType="com.glxp.api.req.inout.IodestinyProcessRequest"
resultType="com.glxp.api.res.inout.IodestinyProcessResponse">
SELECT
i1.*,
a1.`name` AS invName,
au.userName AS updateName,
au2.userName AS createName
FROM
io_destiny_process i1
LEFT JOIN auth_warehouse a1 ON a1.`code` = i1.invCode
LEFT JOIN auth_user au ON au.id = i1.updateUser
LEFT JOIN auth_user au2 ON au2.id = i1.createUser
<where>
</where>
order by i1.updateTime desc
</select>
</mapper>

@ -0,0 +1,25 @@
<?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.IoDestinyProcessMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.inout.IoDestinyProcessEntity">
<!--@mbg.generated-->
<!--@Table udi_wms.io_destiny_process-->
<id column="id" jdbcType="BIGINT" property="id" />
<result column="destinyId" jdbcType="BIGINT" property="destinyId" />
<result column="destinyNo" jdbcType="BIGINT" property="destinyNo" />
<result column="billNo" jdbcType="VARCHAR" property="billNo" />
<result column="billDate" jdbcType="TIMESTAMP" property="billDate" />
<result column="invCode" jdbcType="VARCHAR" property="invCode" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="createTime" jdbcType="TIMESTAMP" property="createTime" />
<result column="updateTime" jdbcType="TIMESTAMP" property="updateTime" />
<result column="createUser" jdbcType="VARCHAR" property="createUser" />
<result column="updateUser" jdbcType="VARCHAR" property="updateUser" />
<result column="status" jdbcType="INTEGER" property="status" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, destinyId, destinyNo, billNo, billDate, invCode, remark, createTime, updateTime,
`createUser`, updateUser, `status`
</sql>
</mapper>

@ -27,8 +27,8 @@
SELECT a2.*,
a1.mainAction,
a1.auditTime,
b1.NAME AS fromCorpName,
(select name from auth_warehouse aw where aw.code = a1.fromInvCode) as fromInvName,
b1.NAME AS fromCorpName,
(select name from auth_warehouse aw where aw.code= a1.fromInvCode) as fromInvName,
(SELECT NAME FROM basic_bussiness_type bus WHERE bus.action = a1.action) billTypeName
FROM io_order_detail_result a2
LEFT JOIN io_order a1 ON a1.billNo = a2.orderIdFk
@ -95,11 +95,11 @@
spec,
price,
reCount,
io_order.deptCode
io_order.deptCode
from io_order_detail_result
left JOIN io_order on io_order.billNo = io_order_detail_result.orderIdFk
left JOIN io_order on io_order.billNo=io_order_detail_result.orderIdFk
<where>
<if test="list != null and list.size() > 0">
<if test="list != null and list.size() > 0 ">
orderIdFk in
<foreach item="item" index="index" collection="list"
open="(" separator="," close=")">
@ -113,19 +113,19 @@
<select id="cptTrace" parameterType="com.glxp.api.req.inout.CptTraceRequest"
resultType="com.glxp.api.res.inout.CptTraceOrderResponse">
select io.billNo,
io.createTime,
io.mainAction,
bbt.`name` billType,
basic_corp.`name` fromCorpName,
basic_corp.creditNo,
basic_corp.outType,
basic_corp.corpType,
io.action,
io.fromInvCode
io.createTime,
io.mainAction,
bbt.`name` billType,
basic_corp.`name` fromCorpName,
basic_corp.creditNo,
basic_corp.outType,
basic_corp.corpType,
io.action,
io.fromInvCode
from io_order_detail_result iodr
INNER JOIN io_order io on iodr.orderIdFk = io.billNo
inner join basic_corp on io.fromCorp = basic_corp.erpId
INNER JOIN basic_bussiness_type bbt on io.action = bbt.action
INNER JOIN io_order io on iodr.orderIdFk = io.billNo
inner join basic_corp on io.fromCorp = basic_corp.erpId
INNER JOIN basic_bussiness_type bbt on io.action = bbt.action
<where>
and bbt.inStock = true
<if test="batchNo != null and batchNo != ''">

@ -33,7 +33,7 @@
and b1.ggxh = #{ggxh}
</if>
<if test=" cpmctymc!= '' and cpmctymc != null">
and b1.cpmctymc = #{cpmctymc}
AND b1.cpmctymc LIKE CONCAT('%', #{cpmctymc}, '%')
</if>
<if test="status != null">
and io.status = #{status}

@ -3,8 +3,9 @@
<mapper namespace="com.glxp.api.dao.thrsys.ThrProductsDao">
<select id="filterThrProducts" parameterType="com.glxp.api.req.thrsys.FilterThrProductsRequest"
resultType="com.glxp.api.entity.thrsys.ThrProductsEntity">
SELECT *
SELECT *,cb.userName as createByName
FROM thr_products
LEFT JOIN auth_user cb ON thr_products.createUser = cb.id
<where>
<if test="name != '' and name != null">
AND name LIKE concat('%', #{name}, '%')
@ -42,6 +43,9 @@
<if test="supName != '' and supName != null">
AND supName LIKE concat('%', #{supName}, '%')
</if>
<if test="type != null">
AND type = #{type}
</if>
<if test="lastUpdateTime != null and lastUpdateTime != ''">
<![CDATA[
and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S') >= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S')
@ -167,7 +171,7 @@
(id, code, `name`, measname, spec, registerNo, manufactory,
cplb, flbm, qxlb, ybbm, sptm, tyshxydm, zczbhhzbapzbh, ylqxzcrbarmc, ylqxzcrbarywmc, cpms,
thirdSysFk, updateTime, supName, model, standard, qtbm, zczyxqz, remark, remark1, remark2, remark3,
price, createUser, createTime, updateUser, manufactoryCode, supCode)
price, createUser, createTime, updateUser, manufactoryCode, supCode, type)
values (#{id},
#{code},
#{name},
@ -199,7 +203,7 @@
#{price},
#{createUser},
#{createTime},
#{updateUser}, #{manufactoryCode}, #{supCode})
#{updateUser}, #{manufactoryCode}, #{supCode},#{type})
</insert>
<select id="selectByLastTime" resultType="com.glxp.api.entity.thrsys.ThrProductsEntity">
@ -215,7 +219,7 @@
cplb, flbm, qxlb, ybbm, sptm, tyshxydm, zczbhhzbapzbh, ylqxzcrbarmc, ylqxzcrbarywmc, cpms,
thirdSysFk, updateTime, supName, model, standard, qtbm, zczyxqz, remark, remark1, remark2, remark3,
price,
createUser, createTime, updateUser, manufactoryCode, supCode)
createUser, createTime, updateUser, manufactoryCode, supCode,type)
values
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
#{item.code},
@ -248,7 +252,7 @@
#{item.price},
#{item.createUser},
#{item.createTime},
#{item.updateUser}, #{manufactoryCode}, #{supCode}
#{item.updateUser}, #{manufactoryCode}, #{supCode} , #{type}
</foreach>
</insert>
@ -325,7 +329,8 @@
remark3 = #{remark3,jdbcType=VARCHAR},
price = #{price,jdbcType=VARCHAR},
manufactoryCode = #{manufactoryCode,jdbcType=VARCHAR},
supCode = #{supCode,jdbcType=VARCHAR}
supCode = #{supCode,jdbcType=VARCHAR},
type = #{type,jdbcType=VARCHAR}
</set>
where id = #{id,jdbcType=INTEGER}
</update>

@ -68,7 +68,7 @@ CALL Pro_Temp_ColumnWork('basic_udirel', 'groupBuy', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'isDateBy', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'needCert', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'certIdFk', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'zdcfsycs', 'int', 1);
CALL Pro_Temp_ColumnWork('basic_products', 'allowNoSerial', 'tinyint', 1);
@ -516,3 +516,79 @@ INSERT ignore INTO `sys_param_config`(id, `parentId`, `paramName`, `paramKey`, `
`paramType`,
`paramExplain`, `updateTime`)
VALUES (20059, 0, '是否允许编辑第三方产品信息', 'enable_edit_third', '1', 0, 0, '01', NULL);
CREATE TABLE if not exists `basic_destiny_rel`
(
`id` bigint(0) NOT NULL,
`relId` bigint(0) NULL DEFAULT NULL COMMENT '耗材产品id',
`pId` bigint(0) NULL DEFAULT NULL COMMENT '定数包模板id',
`count` int(0) NULL DEFAULT NULL COMMENT '数量',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '定数包产品关联表'
ROW_FORMAT = Dynamic;
CALL Pro_Temp_ColumnWork('thr_products', 'type', 'int', 1);
CREATE TABLE if not exists `io_destiny_process`
(
`id` bigint(0) NOT NULL,
`destinyId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '定数包模板id',
`destinyNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '唯一编码',
`billNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单据号',
`billDate` datetime(0) NULL DEFAULT NULL COMMENT '单据时间',
`invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单前仓库',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
`createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
`updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人',
`status` int(0) NULL DEFAULT NULL COMMENT '状态 0 :草稿 1待校验 2已校验',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '定数包表'
ROW_FORMAT = Dynamic;
CREATE TABLE if not exists `io_destiny_process_code`
(
`id` bigint(0) NOT NULL,
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单号外键',
`bindRlFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '耗材字典ID外键',
`uuidFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'DI信息UUID外键',
`nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'DI',
`batchNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次号',
`productDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生产日期',
`expireDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '失效日期',
`price` decimal(10, 2) NULL DEFAULT NULL COMMENT '价格',
`supId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商ID外键',
`count` int(0) NULL DEFAULT NULL COMMENT '单据数量',
`updateTime` datetime(0) NULL DEFAULT NULL,
`serialNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`reCount` int(0) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '定速包加工明细表'
ROW_FORMAT = Dynamic;
CREATE TABLE if not exists `io_destiny_process_detail`
(
`id` bigint(0) NOT NULL,
`relId` bigint(0) NULL DEFAULT NULL COMMENT '耗材产品id',
`count` int(0) NULL DEFAULT NULL COMMENT '数量',
`reCount` int(0) NULL DEFAULT 0 COMMENT '实际数量',
`updateTime` datetime(0) NULL DEFAULT NULL,
`orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单号外键',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '定数包产品关联表'
ROW_FORMAT = Dynamic;

Loading…
Cancel
Save