Merge remote-tracking branch 'origin/dev_price' into 20231126-yw

20231126-yw
yuanwei 2 years ago
commit 508e93bb91

@ -15,6 +15,7 @@ import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.req.inout.CheckPreInInvRequest;
import com.glxp.api.req.inv.FilterInvPreinDetailRequest;
import com.glxp.api.req.inv.FilterInvPreinRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
@ -24,6 +25,8 @@ import com.glxp.api.res.inv.InvPreinDetailResponse;
import com.glxp.api.res.inv.InvPreinOrderResponse;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.IoCodeTempService;
import com.glxp.api.service.inout.impl.IoCodeService;
import com.glxp.api.service.inv.InvPreProductDetailService;
import com.glxp.api.service.inv.InvPreinDetailService;
import com.glxp.api.service.inv.InvPreinOrderService;
@ -84,27 +87,46 @@ public class InvPreinOrderController extends BaseController {
}
@Resource
IoCodeTempService codeTempService;
@Resource
IoCodeService codeService;
@AuthRuleAnnotation("")
@PostMapping("spms/prein/inv/products/getDetaiByCode")
public BaseResponse getDetaiByCode(@RequestBody IoCodeTempEntity codeTempEntity) {
public BaseResponse getDetaiByCode(@RequestBody CheckPreInInvRequest checkPreInInvRequest) {
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByOne(ConstantStatus.ACTION_TYPE_PREIN);
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(codeTempEntity.getAction());
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(checkPreInInvRequest.getAction());
if (bussinessTypeEntity.getBackPreinType() == 1 && bussinessTypeEntity.isPreInBack()) {//按单出库&& bussinessTypeEntity.isPreInBack()
String orderIds = checkPreInInvRequest.getCheckPreInOrders();
if (StrUtil.isNotEmpty(orderIds)) {
String[] orderIdArray = orderIds.split(",");
List<String> orderList = CollUtil.toList(orderIdArray);
int count = codeService.findByOrderIdsCount(orderList, checkPreInInvRequest.getCode());
if (count <= 0) {
return ResultVOUtils.error(500, "非预验收单产品或预验收库存数量不足!");
}
} else {
return ResultVOUtils.error(500, "未选择预验收入库单,请先选择预验收入库单!");
}
}
int count = 0;
if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_NULL) {
if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) {
count = invPreinProductDetailService.vailStockCountByCode(null, invWarehouseEntity.getCode(), null, codeTempEntity.getCode());
if (StrUtil.isNotEmpty(checkPreInInvRequest.getSerialNo())) {
count = invPreinProductDetailService.vailStockCountByCode(null, invWarehouseEntity.getCode(), null, checkPreInInvRequest.getCode());
} else
count = invPreinProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), null);
count = invPreinProductDetailService.vailStockCount(checkPreInInvRequest.getRelId(), checkPreInInvRequest.getBatchNo(), checkPreInInvRequest.getSupId(), null, invWarehouseEntity.getCode(), null);
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_SET) {
if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) {
count = invPreinProductDetailService.vailStockCountByCode(null, invWarehouseEntity.getCode(), codeTempEntity.getPreInSpaceCode(), codeTempEntity.getCode());
if (StrUtil.isNotEmpty(checkPreInInvRequest.getSerialNo())) {
count = invPreinProductDetailService.vailStockCountByCode(null, invWarehouseEntity.getCode(), checkPreInInvRequest.getPreInSpaceCode(), checkPreInInvRequest.getCode());
} else
count = invPreinProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, invWarehouseEntity.getCode(), codeTempEntity.getPreInSpaceCode());
count = invPreinProductDetailService.vailStockCount(checkPreInInvRequest.getRelId(), checkPreInInvRequest.getBatchNo(), checkPreInInvRequest.getSupId(), null, invWarehouseEntity.getCode(), checkPreInInvRequest.getPreInSpaceCode());
} else if (bussinessTypeEntity.getSpaceOut() == ConstantStatus.SPACE_OUT_CODE) {
//按指定货位出库
if (StrUtil.isEmpty(codeTempEntity.getPreSpaceCode())) {
List<InvPlaceDetailResponse> invProductDetailEntities = invPreinProductDetailService.findByGroupCode(invWarehouseEntity.getCode(), codeTempEntity.getCode());
if (StrUtil.isEmpty(checkPreInInvRequest.getPreSpaceCode())) {
List<InvPlaceDetailResponse> invProductDetailEntities = invPreinProductDetailService.findByGroupCode(invWarehouseEntity.getCode(), checkPreInInvRequest.getCode());
if (CollUtil.isNotEmpty(invProductDetailEntities) && invProductDetailEntities.size() > 1) {
BaseResponse baseResponse = ResultVOUtils.error(511, "存在多个货位,请指定当前货位!");
baseResponse.setData(invProductDetailEntities);
@ -112,24 +134,24 @@ public class InvPreinOrderController extends BaseController {
} else if (invProductDetailEntities.size() == 1) {
InvPlaceDetailResponse invPlaceDetailResponse = invProductDetailEntities.get(0);
count = invPlaceDetailResponse.getReCount();
codeTempEntity.setPreSpaceCode(invPlaceDetailResponse.getInvSpaceCode());
checkPreInInvRequest.setPreSpaceCode(invPlaceDetailResponse.getInvSpaceCode());
} else {
return ResultVOUtils.error(500, "添加失败,该产品未上架货位!");
}
} else {
if (StrUtil.isNotEmpty(codeTempEntity.getSerialNo())) {
count = invPreinProductDetailService.vailStockCountByCode(null, codeTempEntity.getInvCode(), codeTempEntity.getPreInSpaceCode(), codeTempEntity.getCode());
if (StrUtil.isNotEmpty(checkPreInInvRequest.getSerialNo())) {
count = invPreinProductDetailService.vailStockCountByCode(null, checkPreInInvRequest.getInvCode(), checkPreInInvRequest.getPreInSpaceCode(), checkPreInInvRequest.getCode());
} else
count = invPreinProductDetailService.vailStockCount(codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getSupId(), null, codeTempEntity.getInvCode(), codeTempEntity.getPreInSpaceCode());
count = invPreinProductDetailService.vailStockCount(checkPreInInvRequest.getRelId(), checkPreInInvRequest.getBatchNo(), checkPreInInvRequest.getSupId(), null, checkPreInInvRequest.getInvCode(), checkPreInInvRequest.getPreInSpaceCode());
}
}
InvPreInProductDetailEntity invPreinDetailEntity = invPreinProductDetailService.findUseOneByCode(codeTempEntity.getCode());
InvPreInProductDetailEntity invPreinDetailEntity = invPreinProductDetailService.findUseOneByCode(checkPreInInvRequest.getCode());
if (count <= 0) {
return ResultVOUtils.error(500, "预验收库存数量不足!");
} else {
if (invPreinDetailEntity != null && StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(codeTempEntity.getBatchNo())
&& !invPreinDetailEntity.getBatchNo().equals(codeTempEntity.getBatchNo())) {
if (invPreinDetailEntity != null && StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(checkPreInInvRequest.getBatchNo())
&& !invPreinDetailEntity.getBatchNo().equals(checkPreInInvRequest.getBatchNo())) {
return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!");
}
}

@ -178,7 +178,7 @@ public class PurOrderPrintController {
Map<String, Object> data = new HashMap<>(1);
List<Object> list = new ArrayList<>();
PurApplyDetailRequest purApplyDetailRequest = new PurApplyDetailRequest();
purApplyDetailRequest.setOrderIdFk(purOrderPrintRequest.getBillNo());
purApplyDetailRequest.setOrderIdFk(purApplyResponse.getId() + "");
List<PurOrderDetailResponse> responseList = purApplyDetailService.joinQueryList(purApplyDetailRequest);
int i = 1;
if (CollUtil.isNotEmpty(responseList)) {
@ -208,6 +208,10 @@ public class PurOrderPrintController {
supData.put("supName", obj.getSupName());
supData.put("ylqxzcrbarmc", obj.getYlqxzcrbarmc());
supData.put("zczbhhzbapzbh", obj.getZczbhhzbapzbh());
supData.put("arrivalTime", MsDateUtil.formatDate(purApplyResponse.getArrivalTime(), "yyyy-MM-dd"));
supData.put("remark1", sysPdfTemplateRelevanceBizEntity.getRemark1() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark1());
supData.put("remark2", sysPdfTemplateRelevanceBizEntity.getRemark2() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark2());
supData.put("remark3", sysPdfTemplateRelevanceBizEntity.getRemark3() == null ? ' ' : sysPdfTemplateRelevanceBizEntity.getRemark3());
list.add(supData);
i++;
}

@ -0,0 +1,47 @@
package com.glxp.api.controller.thrsys;
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.thrsys.ThrHslbEntity;
import com.glxp.api.entity.thrsys.ThrProductTypeEntity;
import com.glxp.api.req.thrsys.FilterThrHslbRequest;
import com.glxp.api.req.thrsys.FilterThrProductTypeRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.thrsys.ThrHslbService;
import com.glxp.api.service.thrsys.ThrProductTypeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@RestController
public class ThrProductTypeCotroller {
@Resource
ThrProductTypeService thrProductTypeService;
@AuthRuleAnnotation("")
@GetMapping("/udiwms/thrsys/getHslbs")
public BaseResponse getProductTypes(FilterThrProductTypeRequest filterThrProductTypeRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<ThrProductTypeEntity> thrProductTypeEntityList
= thrProductTypeService.getProductTypes(filterThrProductTypeRequest);
PageInfo<ThrProductTypeEntity> pageInfo;
pageInfo = new PageInfo<ThrProductTypeEntity>(thrProductTypeEntityList);
PageSimpleResponse<ThrProductTypeEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(thrProductTypeEntityList);
return ResultVOUtils.success(pageSimpleResponse);
}
}

@ -1,6 +1,7 @@
package com.glxp.api.controller.thrsys;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.springframework.beans.BeanUtils;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollUtil;
@ -296,8 +297,6 @@ public class ThrProductsController {
if (null == filterThrProductsRequest) {
return ResultVOUtils.error(500, "参数不能为空");
}
ThreadUtil.execAsync(() -> {
try {
thrProductsService.downloadByRequest(filterThrProductsRequest);
@ -310,4 +309,24 @@ public class ThrProductsController {
return ResultVOUtils.success("后台正在下载,请稍后刷新查看!");
}
/**
*
*
* @param udiRelevanceResponse
* @return
*/
@PostMapping("/udiwms/thrsys/products/post")
public BaseResponse postThirdData(@RequestBody UdiRelevanceResponse udiRelevanceResponse) {
if (null == udiRelevanceResponse) {
return ResultVOUtils.error(500, "参数不能为空");
}
if (StrUtil.isEmpty(udiRelevanceResponse.getOriginUuid())) {
return ResultVOUtils.error(500, "产品未关联DI");
}
return thrProductsService.postThrProduct(udiRelevanceResponse, "thirdId");
}
}

@ -0,0 +1,16 @@
package com.glxp.api.dao.thrsys;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.thrsys.ThrProductTypeEntity;
import com.glxp.api.req.thrsys.FilterThrHslbRequest;
import com.glxp.api.req.thrsys.FilterThrProductTypeRequest;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface ThrProductTypeMapper extends BaseMapper<ThrProductTypeEntity> {
List<ThrProductTypeEntity> getProductTypes(FilterThrProductTypeRequest filterThrProductTypeRequest);
}

@ -0,0 +1,55 @@
package com.glxp.api.entity.thrsys;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@ApiModel(value="com-glxp-api-entity-thrsys-ThrProductType")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "thr_product_type")
public class ThrProductTypeEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="")
private Integer id;
/**
*
*/
@TableField(value = "code")
@ApiModelProperty(value="类别编码")
private String code;
/**
*
*/
@TableField(value = "`name`")
@ApiModelProperty(value="类别名称")
private String name;
/**
*
*/
@TableField(value = "thirdSys")
@ApiModelProperty(value="第三系统标识")
private String thirdSys;
/**
*
*/
@TableField(value = "remark")
@ApiModelProperty(value="备注")
private String remark;
private static final long serialVersionUID = 1L;
}

@ -153,6 +153,30 @@ public class ErpBasicClient {
}
}
/**
*
*
* @param postRelProductRequest
* @return
*/
public BaseResponse<String> postRelProduct(PostRelProductRequest postRelProductRequest) {
ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId("thirdId");
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/post/udiRel/product";
String response = "";
try {
response = httpOkClient.uCloudPost(url, postRelProductRequest);
BaseResponse<String> listBaseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<String>>() {
});
return listBaseResponse;
} catch (Exception e) {
log.error("提交第三产品信息异常" + response, e);
return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
}
}
//测试连通性
public BaseResponse testConnection(ThrSystemEntity thrSystemEntity) {
String response = httpOkClient.uCloudPost(thrSystemEntity.getThridUrl() + "/udiwms/erp/testLocal", "{}");

@ -10,6 +10,7 @@ import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BasicExportTypeEnum;
import com.glxp.api.constant.SyncDelType;
import com.glxp.api.entity.basic.ProductInfoEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.sync.BasicExportStatusEntity;
import com.glxp.api.entity.sync.IOOrderStatusEntity;
@ -620,4 +621,14 @@ public class SpGetHttpClient {
}
public BaseResponse<String> postBasicRl(UdiRelevanceEntity udiRelevanceEntity) {
String json = JSONUtil.toJsonStr(udiRelevanceEntity);
String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/spssync/basic/udirl/update", json, buildHeader());
BaseResponse<String> response =
JSONObject.parseObject(result, new TypeReference<BaseResponse<String>>() {
});
return response;
}
}

@ -0,0 +1,149 @@
package com.glxp.api.req.inout;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class CheckPreInInvRequest {
private Integer id;
/**
* UDI
*/
private String code;
/**
*
*/
private String mainAction;
/**
*
*/
private String action;
/**
*
*/
private String orderId;
/**
*
*/
private String corpOrderId;
/**
* DI
*/
private String nameCode;
/**
*
*/
private String batchNo;
/**
*
*/
private String produceDate;
/**
*
*/
private String expireDate;
/**
*
*/
private String serialNo;
/**
*
*/
private String packageLevel;
/**
* ID
*/
private String supId;
/**
* ID
*/
private Long relId;
/**
*
*/
private Integer count;
/**
*
*/
private Integer reCount;
/**
*
*/
private String deptCode;
/**
*
*/
private String invCode;
/**
*
*/
private String warehouseCode;
/**
*
*/
private String preSpaceCode;
private String preInSpaceCode;
/**
*
*/
private Date updateTime;
/**
*
*/
private Date createTime;
/**
*
*/
private String inBatchNo;
private String checkPreInOrders;
private int status; //条码校验状态
private int checkStatus; //1:多余条码2.同一产品条码超出
private String mySupId; //更新供应商
private BigDecimal price;
private boolean checkSuccess; //临时字段校验是否成功
public int getMyCount() {
if (count == null)
return 0;
return count;
}
public int getMyReCount() {
if (reCount == null) {
return 0;
}
return reCount;
}
}

@ -0,0 +1,28 @@
package com.glxp.api.req.thrsys;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.util.page.ListPageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class FilterThrProductTypeRequest extends ListPageRequest {
/**
*
*/
private String code;
/**
*
*/
private String name;
/**
*
*/
private String thirdSys;
private String key;
}

@ -0,0 +1,16 @@
package com.glxp.api.req.thrsys;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import lombok.Data;
import java.util.List;
@Data
public class PostRelProductRequest {
private String uploadType;
private String thirdSys;
List<UdiRelevanceResponse> datas;
UdiRelevanceResponse udiRelevanceResponse;
}

@ -499,10 +499,10 @@ public class IoAddInoutService {
BaseResponse baseResponse = checkInv(bussinessTypeEntity, pdaPostOrderRequest.getOrderDetailBizEntities(), orderEntity, pdaPostOrderRequest.getCodeTempEntities());
if (baseResponse != null)
return baseResponse;
List<IoCodeTempEntity> codeTempEntities = BeanUtil.copyToList(pdaPostOrderRequest.getCodeTempEntities(), IoCodeTempEntity.class);
String priceFifo = systemParamConfigService.selectValueByParamKey("price_fifo");
if (IntUtil.value(priceFifo) > 0 && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
List<IoCodeTempEntity> codeTempEntities = BeanUtil.copyToList(pdaPostOrderRequest.getCodeTempEntities(), IoCodeTempEntity.class);
List<IoCodeTempEntity> resultList = new ArrayList<>();
for (IoCodeTempEntity codeTempEntity : codeTempEntities) {
resultList = checkPrice(codeTempEntity, bussinessTypeEntity, resultList);
@ -520,10 +520,10 @@ public class IoAddInoutService {
orderService.insertOrder(orderEntity);
if (CollUtil.isNotEmpty(pdaPostOrderRequest.getCodeTempEntities())) {
for (IoCodeTempEntity codeTempEntity : pdaPostOrderRequest.getCodeTempEntities()) {
for (IoCodeTempEntity codeTempEntity : codeTempEntities) {
codeTempEntity.setOrderId(orderNo);
}
codeTempService.insertBatch(pdaPostOrderRequest.getCodeTempEntities());
codeTempService.insertBatch(codeTempEntities);
}
dealProcess(orderEntity);

@ -0,0 +1,32 @@
package com.glxp.api.service.thrsys;
import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.thrsys.ThrHslbEntity;
import com.glxp.api.req.thrsys.FilterThrHslbRequest;
import com.glxp.api.req.thrsys.FilterThrProductTypeRequest;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.entity.thrsys.ThrProductTypeEntity;
import com.glxp.api.dao.thrsys.ThrProductTypeMapper;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class ThrProductTypeService extends ServiceImpl<ThrProductTypeMapper, ThrProductTypeEntity> {
@Resource
ThrProductTypeMapper thrProductTypeMapper;
public List<ThrProductTypeEntity> getProductTypes(FilterThrProductTypeRequest filterThrProductTypeRequest) {
if (filterThrProductTypeRequest == null) {
return Collections.emptyList();
}
if (filterThrProductTypeRequest.getPage() != null) {
int offset = (filterThrProductTypeRequest.getPage() - 1) * filterThrProductTypeRequest.getLimit();
PageHelper.offsetPage(offset, filterThrProductTypeRequest.getLimit());
}
List<ThrProductTypeEntity> data = thrProductTypeMapper.getProductTypes(filterThrProductTypeRequest);
return data;
}
}

@ -74,7 +74,7 @@ public interface ThrProductsService extends IService<ThrProductsEntity> {
* @param filterThrProductsRequest
* @return
*/
BaseResponse downloadByRequest(FilterThrProductsRequest filterThrProductsRequest);
BaseResponse downloadByRequest(FilterThrProductsRequest filterThrProductsRequest);
ThrProductsEntity filterThrProductsByMainId(String relId);
@ -83,5 +83,7 @@ public interface ThrProductsService extends IService<ThrProductsEntity> {
*
* @return
*/
BaseResponse uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity);
void uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity);
BaseResponse postThrProduct(UdiRelevanceResponse udiRelevanceResponse, String thirdSyS);
}

@ -1,6 +1,12 @@
package com.glxp.api.service.thrsys.impl;
import cn.hutool.core.bean.BeanUtil;
import com.glxp.api.http.sync.SpGetHttpClient;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.thrsys.PostRelProductRequest;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.util.*;
import org.apache.regexp.RE;
import org.springframework.beans.BeanUtils;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollUtil;
@ -26,8 +32,6 @@ import com.glxp.api.res.thrsys.ThrProductsResponse;
import com.glxp.api.service.basic.UdiContrastService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.service.thrsys.ThrProductsService;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
@ -41,6 +45,7 @@ import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
@ -313,20 +318,70 @@ public class ThrProductsServiceImpl extends ServiceImpl<ThrProductsDao, ThrProdu
@Resource
RedisUtil redisUtil;
@Resource
UdiRelevanceService udiRelevanceService;
@Override
public BaseResponse uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity) {
public void uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity) {
//上次修改时间
String lastUploadTime = (String) redisUtil.get("THR_PI_UPLOAD_TIME");
if (StrUtil.isEmpty(lastUploadTime)) {
//下载耗材字典最新维护数据
String currentTime = MsDateUtil.formatDateTime(new Date());
if (StrUtil.isNotEmpty(lastUploadTime)) {
//获取耗材字典最新维护数据
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
filterUdiRelRequest.setLastUpdateTime(lastUploadTime);
List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.filterUdiJoinSup(filterUdiRelRequest);
if (CollUtil.isNotEmpty(udiRelevanceResponses)) {
List<UdiRelevanceResponse> filteredList = udiRelevanceResponses.stream()
.filter(item ->
{
if ((StrUtil.isNotEmpty(item.getOriginUuid()) && StrUtil.isEmpty(item.getMainId())
|| (StrUtil.isNotEmpty(item.getOriginUuid()) && StrUtil.isNotEmpty(item.getMainId()) && StrUtil.isNotEmpty(item.getBasicPrductRemak8()))
)) {
return true;
} else return false;
}
)
.collect(Collectors.toList());
// List<List<UdiRelevanceResponse>> splitList = CustomUtil.splitList(filteredList, 10);
for (UdiRelevanceResponse udiRelevanceResponse : filteredList) {
BaseResponse baseResponse = postThrProduct(udiRelevanceResponse, thrSystemDetailEntity.getThirdSysFk());
if (baseResponse.getCode() != 20000) {
log.error(udiRelevanceResponse.getNameCode() + "," + udiRelevanceResponse.getId() + "第三方产品信息上传失败:" + baseResponse.getMessage());
}
}
redisUtil.set("THR_PI_UPLOAD_TIME", currentTime);
}
}
}
//下载第三方产品信息
@Resource
SpGetHttpClient spGetHttpClient;
@Override
public BaseResponse postThrProduct(UdiRelevanceResponse udiRelevanceResponse, String thirdSyS) {
PostRelProductRequest postRelProductRequest = new PostRelProductRequest();
postRelProductRequest.setUploadType("1");
postRelProductRequest.setThirdSys(thirdSyS);
postRelProductRequest.setUdiRelevanceResponse(udiRelevanceResponse);
//上传第三方产品信息
BaseResponse baseResponse = erpBasicClient.postRelProduct(postRelProductRequest);
if (baseResponse.getCode() != 20000) {
return ResultVOUtils.error(500, "上传失败!" + baseResponse.getMessage());
} else {
String thirdCode = (String) baseResponse.getData();
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectById(udiRelevanceResponse.getId());
udiRelevanceEntity.setThirdId(thirdCode);
udiRelevanceEntity.setMainId(thirdCode);
udiRelevanceDao.updateById(udiRelevanceEntity);
spGetHttpClient.postBasicRl(udiRelevanceEntity);
}
return null;
return ResultVOUtils.success("上传成功");
}
/**
*
*

@ -126,6 +126,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
downloadThrOrder(thrSystemDetailEntity);
break;
case ThirdSysConstant.PI_SUBMIT_URL:
postRelProduct(thrSystemDetailEntity);
break;
default:
//其他接口暂不处理
@ -271,25 +272,24 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
}
}
/**
*
*
*
* @param thrSystemDetailEntity
*/
private void submitThrProduct(ThrSystemDetailEntity thrSystemDetailEntity) {
private void postRelProduct(ThrSystemDetailEntity thrSystemDetailEntity) {
//校验任务并更新redis数据执行标识
if (verifyTask(thrSystemDetailEntity)) {
getExecutor().submit(() -> {
log.info("开始下载第三方业务单据");
log.info("开始上传关联第三方产品信息");
try {
thrProductsService.uploadThrProduct(thrSystemDetailEntity);
} catch (Exception e) {
log.error("下载第三方业务单据", e);
log.error("开始上传关联第三方产品信息", e);
} finally {
updateTask(getTaskKey(thrSystemDetailEntity));
}
log.info("第三方业务单据下载完成");
log.info("开始上传关联第三方产品信息完成");
});
}
}

@ -4,7 +4,7 @@ server:
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_pt?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: 123456
hikari:

@ -334,7 +334,8 @@
basic_products.categoryName,
company_product_relevance.unitFk,
basic_corp.erpId as customerId,
basic_corp.name companyName
basic_corp.name companyName,
th.hsmc hslbName
FROM basic_udirel
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
@ -345,6 +346,7 @@
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
left join thr_hslb th on basic_products.basicPrductRemak8 = th.hsbm
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND basic_products.ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
@ -410,7 +412,8 @@
</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')
and DATE_FORMAT(basic_udirel.updateTime, '%Y-%m-%d %H:%i:%S') >=
DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S')
]]>
</if>
<if test="mainId != '' and mainId != null">
@ -1216,70 +1219,70 @@
<insert id="insertUdiRelevance" keyProperty="id" parameterType="com.glxp.api.entity.basic.UdiRelevanceEntity">
replace
INTO basic_udirel
(id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable,
isLock,
lockStatus, isAdavence, useMuti, useNum, supName, createTime, updateTime, modifyTime, createUser,
updateUser,
remark, useExpireTime, dispatch, groupBuy, needCert)
INTO basic_udirel
(id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable,
isLock,
lockStatus, isAdavence, useMuti, useNum, supName, createTime, updateTime, modifyTime, createUser,
updateUser,
remark, useExpireTime, dispatch, groupBuy, needCert)
values (#{id},
#{uuid},
#{mainId},
#{thirdId},
#{thirdId1},
#{thirdId2},
#{thirdId3},
#{thirdId4},
#{udplatCode},
#{isUseDy},
#{isDisable},
#{isLock},
#{lockStatus},
#{isAdavence},
#{useMuti},
#{useNum},
#{supName},
#{createTime},
#{updateTime},
#{modifyTime},
#{createUser},
#{updateUser},
#{remark}, #{useExpireTime}, #{dispatch}, #{groupBuy}, #{needCert})
#{uuid},
#{mainId},
#{thirdId},
#{thirdId1},
#{thirdId2},
#{thirdId3},
#{thirdId4},
#{udplatCode},
#{isUseDy},
#{isDisable},
#{isLock},
#{lockStatus},
#{isAdavence},
#{useMuti},
#{useNum},
#{supName},
#{createTime},
#{updateTime},
#{modifyTime},
#{createUser},
#{updateUser},
#{remark}, #{useExpireTime}, #{dispatch}, #{groupBuy}, #{needCert})
</insert>
<insert id="insertUdiRelevanceignore"
parameterType="com.glxp.api.entity.basic.UdiRelevanceEntity">
insert
ignore
ignore
INTO basic_udirel
(id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable,
isLock,
lockStatus, isAdavence, useMuti, useNum, supName, createTime, updateTime, modifyTime, createUser,
updateUser,
remark, useExpireTime, dispatch, groupBuy, needCert)
(id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable,
isLock,
lockStatus, isAdavence, useMuti, useNum, supName, createTime, updateTime, modifyTime, createUser,
updateUser,
remark, useExpireTime, dispatch, groupBuy, needCert)
values (#{id},
#{uuid},
#{mainId},
#{thirdId},
#{thirdId1},
#{thirdId2},
#{thirdId3},
#{thirdId4},
#{udplatCode},
#{isUseDy},
#{isDisable},
#{isLock},
#{lockStatus},
#{isAdavence},
#{useMuti},
#{useNum},
#{supName},
#{createTime},
#{updateTime},
#{modifyTime},
#{createUser},
#{updateUser},
#{remark}, #{useExpireTime}, #{dispatch}, #{groupBuy}, #{needCert})
#{uuid},
#{mainId},
#{thirdId},
#{thirdId1},
#{thirdId2},
#{thirdId3},
#{thirdId4},
#{udplatCode},
#{isUseDy},
#{isDisable},
#{isLock},
#{lockStatus},
#{isAdavence},
#{useMuti},
#{useNum},
#{supName},
#{createTime},
#{updateTime},
#{modifyTime},
#{createUser},
#{updateUser},
#{remark}, #{useExpireTime}, #{dispatch}, #{groupBuy}, #{needCert})
</insert>
<delete id="deleteById" parameterType="Map">
@ -1420,106 +1423,106 @@
<insert id="importUdiRelevance" parameterType="java.util.List">
replace
into basic_udirel
(id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable,
isLock,
lockStatus, isAdavence, useMuti, useNum, supName, createTime, updateTime, modifyTime, createUser,
updateUser,
remark, useExpireTime, dispatch, groupBuy, needCert)
values
into basic_udirel
(id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable,
isLock,
lockStatus, isAdavence, useMuti, useNum, supName, createTime, updateTime, modifyTime, createUser,
updateUser,
remark, useExpireTime, dispatch, groupBuy, needCert)
values
<foreach collection="udiRelevanceEntities" item="item" index="index" separator=",">
(#{item.id},
#{item.uuid},
#{item.mainId},
#{item.thirdId},
#{item.thirdId1},
#{item.thirdId2},
#{item.thirdId3},
#{item.thirdId4},
#{item.udplatCode},
#{item.isUseDy},
#{item.isDisable},
#{item.isLock},
#{item.lockStatus},
#{item.isAdavence},
#{item.useMuti},
#{item.useNum},
#{item.supName},
#{item.createTime},
#{item.updateTime},
#{item.modifyTime},
#{item.createUser},
#{item.updateUser},
#{item.remark}, #{item.useExpireTime}, #{item.dispatch}, #{item.groupBuy}, #{item.needCert})
#{item.uuid},
#{item.mainId},
#{item.thirdId},
#{item.thirdId1},
#{item.thirdId2},
#{item.thirdId3},
#{item.thirdId4},
#{item.udplatCode},
#{item.isUseDy},
#{item.isDisable},
#{item.isLock},
#{item.lockStatus},
#{item.isAdavence},
#{item.useMuti},
#{item.useNum},
#{item.supName},
#{item.createTime},
#{item.updateTime},
#{item.modifyTime},
#{item.createUser},
#{item.updateUser},
#{item.remark}, #{item.useExpireTime}, #{item.dispatch}, #{item.groupBuy}, #{item.needCert})
</foreach>
</insert>
<select id="selectGroupByNameCode" parameterType="java.lang.String"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.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,
basic_products.sfwblztlcp,
basic_products.cgzmraqxgxx,
basic_products.sfbjwycxsy,
basic_products.zdcfsycs,
basic_products.sfwwjbz,
basic_products.syqsfxyjxmj,
basic_products.mjfs,
basic_products.categoryName
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,
basic_products.sfwblztlcp,
basic_products.cgzmraqxgxx,
basic_products.sfbjwycxsy,
basic_products.zdcfsycs,
basic_products.sfwwjbz,
basic_products.syqsfxyjxmj,
basic_products.mjfs,
basic_products.categoryName
FROM basic_udirel
INNER JOIN basic_products
on basic_udirel.uuid = basic_products.uuid
INNER JOIN basic_products
on basic_udirel.uuid = basic_products.uuid
<where>
<if test="nameCode != null">
AND nameCode = #{nameCode}
@ -1541,14 +1544,14 @@
<select id="selectProductNameByRelId" resultType="java.lang.String">
select basic_products.cpmctymc
from basic_udirel
left join basic_products on basic_udirel.uuid = basic_products.uuid
left join basic_products on basic_udirel.uuid = basic_products.uuid
where basic_udirel.id = #{relId}
</select>
<update id="updateBatchById" parameterType="java.util.List">
<foreach collection="list" item="item" separator=";">
update
basic_udirel
basic_udirel
set `relCode` = #{item.relCode}
where id = #{item.id}
</foreach>
@ -1570,79 +1573,79 @@
<select id="selectRelIdByNameCode" resultType="java.lang.String">
select basic_udirel.id
from basic_udirel
inner join basic_products on basic_udirel.uuid = basic_products.uuid
inner join basic_products on basic_udirel.uuid = basic_products.uuid
where basic_products.nameCode = #{nameCode}
</select>
<select id="selectOneUdiJoinSup" resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.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.name companyName
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.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
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
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')
@ -1713,7 +1716,7 @@
<select id="selectRelIdByName" resultType="java.lang.String">
SELECT b2.id
FROM basic_products b1
LEFT JOIN basic_udirel b2 ON b1.uuid = b2.uuid
LEFT JOIN basic_udirel b2 ON b1.uuid = b2.uuid
<where>
<if test="productName != '' and productName != null">
AND b1.cpmctymc like concat('%', #{productName}, '%')
@ -1725,67 +1728,67 @@
<select id="selectOneUdi" resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.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_products.sfwblztlcp,
basic_products.cgzmraqxgxx,
basic_products.sfbjwycxsy,
basic_products.zdcfsycs,
basic_products.sfwwjbz,
basic_products.syqsfxyjxmj,
basic_products.mjfs,
basic_products.categoryName
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_products.sfwblztlcp,
basic_products.cgzmraqxgxx,
basic_products.sfbjwycxsy,
basic_products.zdcfsycs,
basic_products.sfwwjbz,
basic_products.syqsfxyjxmj,
basic_products.mjfs,
basic_products.categoryName
FROM basic_udirel
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
<where>
<if test="id != '' and id != null">
AND basic_udirel.id = #{id}

@ -16,9 +16,9 @@
ip.expireDate,
bp.ylqxzcrbarmc,
bp.zczbhhzbapzbh,
sum(ip.inCount) as inCount,
sum(ip.outCount) as outCount,
sum(ip.reCount) as reCount,
ip.inCount,
ip.outCount,
ip.reCount,
ip.customerId,
basic_corp.name supName,
ip.supId,

@ -0,0 +1,33 @@
<?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.thrsys.ThrProductTypeMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.thrsys.ThrProductTypeEntity">
<!--@mbg.generated-->
<!--@Table thr_product_type-->
<id column="id" jdbcType="INTEGER" property="id"/>
<result column="code" jdbcType="VARCHAR" property="code"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="thirdSys" jdbcType="VARCHAR" property="thirdSys"/>
<result column="remark" jdbcType="VARCHAR" property="remark"/>
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, code, `name`, thirdSys, remark
</sql>
<select id="getProductTypes" parameterType="com.glxp.api.req.thrsys.FilterThrProductTypeRequest"
resultType="com.glxp.api.entity.thrsys.ThrProductTypeEntity">
SELECT *
FROM thr_product_type
<where>
<if test="key != '' and key != null">
AND (code LIKE concat('%', #{key}, '%') or name LIKE concat('%', #{key}, '%')
)
</if>
<if test="code != '' and code != null">
AND code = #{code}
</if>
</where>
</select>
</mapper>

@ -99,3 +99,15 @@ CALL Pro_Temp_ColumnWork('io_order_detail_result', 'sterBatchNo', 'varchar(255)'
CALL Pro_Temp_ColumnWork('io_order_detail_result', 'sterDate', 'varchar(255)', 1);
UPDATE `auth_menu` SET `menu_name` = '耗材字典维护', `parent_id` = 1644, `order_num` = 1, `path` = 'maintain', `component` = 'basic/product/product', `query_param` = '{\"vueRouteSource\":1}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = 'basic:product:maintain', `icon` = NULL, `create_by` = '超级用户', `create_time` = '2023-01-11 17:02:20', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1646;
UPDATE `auth_menu` SET `menu_name` = '产品信息导出', `parent_id` = 1616, `order_num` = 2, `path` = 'basic/product/product', `component` = 'basic/product/product', `query_param` = '{\"vueRouteSource\":2}', `is_frame` = 1, `is_cache` = 0, `menu_type` = 'C', `visible` = '0', `status` = '0', `perms` = 'thirdSys:product:export', `icon` = '', `create_by` = '超级用户', `create_time` = '2022-12-28 11:30:58', `update_by` = NULL, `update_time` = NULL, `remark` = NULL WHERE `menu_id` = 1618;
CREATE TABLE IF NOT EXISTS `thr_product_type` (
`id` int NOT NULL,
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类别编码',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类别名称',
`thirdSys` 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 '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

Loading…
Cancel
Save