库存对比修改

zyy_db
anthonywj 1 year ago
parent 640e3ed137
commit d970162fca

@ -1,5 +1,9 @@
package com.glxp.api.controller.inv;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
@ -7,22 +11,38 @@ import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.inv.InvCpLocalProductEntity;
import com.glxp.api.entity.inv.InvCpThrProuductEntity;
import com.glxp.api.entity.inv.StockCompareDetailEntity;
import com.glxp.api.entity.inv.StockCompareEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.enums.StockCompareStatusEnum;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inv.*;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.res.inout.IoOrderDetailVo;
import com.glxp.api.res.inv.StockCompareDetailVo;
import com.glxp.api.service.inv.InvCpLocalProductService;
import com.glxp.api.service.inv.InvCpThrProuductService;
import com.glxp.api.service.inv.StockCompareDetailService;
import com.glxp.api.service.inv.StockCompareService;
import com.glxp.api.util.IntUtil;
import com.glxp.api.vo.inv.InvProductDetailSelectVo;
import com.glxp.api.vo.inv.StockCompareVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.stream.Collectors;
@RestController
@RequestMapping
@ -51,7 +71,7 @@ public class StockCompareController extends BaseController {
public BaseResponse selectInvProductDetail(@RequestBody @Valid InvProductDetailSelectRequest param) {
StockCompareEntity stockCompare = stockCompareService.getById(param.getCompareId());
if (stockCompare == null) {
return ResultVOUtils.error(500, "对比录不存在");
return ResultVOUtils.error(500, "对比录不存在");
}
InvProductDetailSelectQuery invProductDetailSelectQuery = new InvProductDetailSelectQuery(stockCompare.getInvCode(), stockCompare.getMainAction()
@ -83,6 +103,17 @@ public class StockCompareController extends BaseController {
return ResultVOUtils.successMsg("添加成功");
}
/**
*
*/
@PostMapping("/udiwms/stockCompare/addThrProduct")
public BaseResponse addThrProduct(@RequestBody FilterInvProductRequest invProductRequest) {
stockCompareService.dlThrProduct(invProductRequest);
return ResultVOUtils.successMsg("添加成功");
}
/**
*
*
@ -95,6 +126,11 @@ public class StockCompareController extends BaseController {
if (stockCompare == null) {
return ResultVOUtils.error(500, "对比记录不存在");
}
stockCompare.setStatus(StockCompareStatusEnum.FINISHED);
stockCompareService.updateById(stockCompare);
List<StockCompareDetailEntity> stockCompareDetailEntities = stockCompareService.getCompareResult(compareId);
stockCompareDetailService.remove(new QueryWrapper<StockCompareDetailEntity>().eq("compareId", compareId));
stockCompareDetailService.saveBatch(stockCompareDetailEntities);
return ResultVOUtils.successMsg("对比成功");
}
@ -124,6 +160,20 @@ public class StockCompareController extends BaseController {
return ResultVOUtils.success(pageSimpleResponse);
}
@Resource
InvCpLocalProductService localProductService;
@Resource
InvCpThrProuductService thrProuductService;
@PostMapping("/udiwms/stockCompare/detail/result")
public BaseResponse realDeatilPage(@RequestBody @Valid InvProductDetailSelectRequest param) {
StockCompareEntity stockCompare = stockCompareService.getById(param.getCompareId());
if (stockCompare == null) {
return ResultVOUtils.error(500, "对比记录不存在");
}
return ResultVOUtils.success(stockCompareService.getCompareResult(param.getCompareId()));
}
@DeleteMapping("/udiwms/stockCompare/detail/del")
public BaseResponse stockCompareDetailPage(@RequestBody @Valid StockCompareDetailDelParam param) {
@ -134,12 +184,35 @@ public class StockCompareController extends BaseController {
if (stockCompare.getStatus() != StockCompareStatusEnum.DRAFT) {
throw new JsonException(500, String.format("非%s状态无法移除", StockCompareStatusEnum.DRAFT.getDesc()));
}
stockCompareDetailService.remove(Wrappers.lambdaQuery(StockCompareDetailEntity.class)
.eq(StockCompareDetailEntity::getCompareId, param.getCompareId())
.eq(StockCompareDetailEntity::getProductId, param.getProductId())
.eq(StockCompareDetailEntity::getMainAction, param.getMainAction())
);
localProductService.remove(Wrappers.lambdaQuery(InvCpLocalProductEntity.class)
.eq(InvCpLocalProductEntity::getCompareId, param.getCompareId())
.eq(InvCpLocalProductEntity::getProductId, param.getProductId())
.eq(InvCpLocalProductEntity::getBatchNo, param.getBatchNo()));
// stockCompareDetailService.remove(Wrappers.lambdaQuery(StockCompareDetailEntity.class)
// .eq(StockCompareDetailEntity::getCompareId, param.getCompareId())
// .eq(StockCompareDetailEntity::getProductId, param.getProductId())
// .eq(StockCompareDetailEntity::getMainAction, param.getMainAction())
// );
return ResultVOUtils.successMsg("移除成功");
}
@PostMapping("/udiwms/stockCompare/compare/exportExcel")
public void selectExportExcel(@RequestBody InvProductDetailSelectRequest invProductDetailSelectRequest, HttpServletResponse response) throws IOException {
// 模拟数据库获取数据
List<StockCompareDetailEntity> stockCompareDetailEntities = stockCompareDetailService.list(new QueryWrapper<StockCompareDetailEntity>().eq("compareId", invProductDetailSelectRequest.getCompareId()));
List<StockCompareDetailVo> stockCompareDetailVos =
BeanUtil.copyToList(stockCompareDetailEntities, StockCompareDetailVo.class);
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode("库存对比明细" + DateUtil.format(new Date(), "yyyy-MM-dd") + ".xlsx", StandardCharsets.UTF_8.name()));
EasyExcel.write(response.getOutputStream(), StockCompareDetailVo.class).sheet().doWrite(stockCompareDetailVos);
}
}

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

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

@ -5,9 +5,13 @@ import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inv.StockCompareDetailEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.req.inv.InvProductDetailSelectQuery;
import com.glxp.api.req.inv.InvProductDetailSelectRequest;
import com.glxp.api.res.inv.StockCompareDetailResponse;
import com.glxp.api.vo.inv.InvProductDetailSelectVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author Administrator
* @description inv_stock_compare_detail()Mapper
@ -17,6 +21,10 @@ import org.apache.ibatis.annotations.Param;
public interface StockCompareDetailMapper extends BaseMapperPlus<StockCompareDetailMapper, StockCompareDetailEntity, StockCompareDetailEntity> {
Page<InvProductDetailSelectVo> invProductDetailSelectPage(Page pageObj, @Param("param") InvProductDetailSelectQuery query);
List<StockCompareDetailResponse> filterCompareDetail(InvProductDetailSelectRequest invProductDetailSelectRequest);
}

@ -0,0 +1,144 @@
package com.glxp.api.entity.inv;
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 java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@ApiModel(value = "com-glxp-api-entity-inv-InvCpLocalProduct")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "inv_cp_local_product")
public class InvCpLocalProductEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value = "")
private Integer id;
/**
* ID
*/
@TableField(value = "compareId")
@ApiModelProperty(value = "对比记录ID")
private Long compareId;
/**
* ID
*/
@TableField(value = "productId")
@ApiModelProperty(value = "产品ID")
private Long productId;
/**
* DI
*/
@TableField(value = "nameCode")
@ApiModelProperty(value = "DI")
private String nameCode;
/**
*
*/
@TableField(value = "cpms")
@ApiModelProperty(value = "产品描述")
private String cpms;
/**
*
*/
@TableField(value = "productName")
@ApiModelProperty(value = "产品名称")
private String productName;
/**
*
*/
@TableField(value = "ggxh")
@ApiModelProperty(value = "规格型号")
private String ggxh;
/**
*
*/
@TableField(value = "manufactory")
@ApiModelProperty(value = "生产企业")
private String manufactory;
/**
*
*/
@TableField(value = "ylqxzcrbarmc")
@ApiModelProperty(value = "医疗器械注册备案人")
private String ylqxzcrbarmc;
/**
*
*/
@TableField(value = "zczbhhzbapzbh")
@ApiModelProperty(value = "注册备案证号")
private String zczbhhzbapzbh;
/**
*
*/
@TableField(value = "mainAction")
@ApiModelProperty(value = "出入库类型")
private String mainAction;
/**
*
*/
@TableField(value = "price")
@ApiModelProperty(value = "价格")
private BigDecimal price;
/**
*
*/
@TableField(value = "`count`")
@ApiModelProperty(value = "数量")
private Integer count;
/**
*
*/
@TableField(value = "createTime")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
*
*/
@TableField(value = "updateTime")
@ApiModelProperty(value = "更细时间")
private Date updateTime;
/**
*
*/
@TableField(value = "remark")
@ApiModelProperty(value = "备注")
private String remark;
@TableField(value = "batchNo")
@ApiModelProperty(value = "批次号")
private String batchNo;
/**
* filtered
*/
@TableField(exist = false)
private Boolean filtered;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,215 @@
package com.glxp.api.entity.inv;
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 java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
@ApiModel(value = "com-glxp-api-entity-inv-InvCpThrProuduct")
@Data
@TableName(value = "inv_cp_thr_prouduct")
public class InvCpThrProuductEntity implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(value = "")
private Integer id;
/**
*
*/
@TableField(value = "thrCode")
@ApiModelProperty(value = "第三方产品编码")
private String thrCode;
@TableField(value = "relId")
@ApiModelProperty(value = "产品ID")
private Long relId;
/**
*
*/
@TableField(value = "cpmctymc")
@ApiModelProperty(value = "产品名通用名称")
private String cpmctymc;
/**
* DI
*/
@TableField(value = "nameCode")
@ApiModelProperty(value = "DI标识")
private String nameCode;
/**
*
*/
@TableField(value = "ggxh")
@ApiModelProperty(value = "规格型号")
private String ggxh;
/**
*
*/
@TableField(value = "batchNo")
@ApiModelProperty(value = "批次号")
private String batchNo;
/**
*
*/
@TableField(value = "measname")
@ApiModelProperty(value = "计量单位")
private String measname;
/**
*
*/
@TableField(value = "price")
@ApiModelProperty(value = "价格")
private BigDecimal price;
/**
*
*/
@TableField(value = "productionDate")
@ApiModelProperty(value = "生产日期")
private Date productionDate;
/**
*
*/
@TableField(value = "expireDate")
@ApiModelProperty(value = "失效日期")
private Date expireDate;
/**
*
*/
@TableField(value = "ylqxzcrbarmc")
@ApiModelProperty(value = "医疗器械注册备案人")
private String ylqxzcrbarmc;
/**
* /
*/
@TableField(value = "zczbhhzbapzbh")
@ApiModelProperty(value = "注册/备案号")
private String zczbhhzbapzbh;
/**
*
*/
@TableField(value = "inCount")
@ApiModelProperty(value = "入库数量")
private Integer inCount;
/**
*
*/
@TableField(value = "outCount")
@ApiModelProperty(value = "出库数量")
private Integer outCount;
/**
*
*/
@TableField(value = "reCount")
@ApiModelProperty(value = "实际数量")
private Integer reCount;
/**
*
*/
@TableField(value = "supName")
@ApiModelProperty(value = "配送企业名称")
private String supName;
/**
*
*/
@TableField(value = "deptName")
@ApiModelProperty(value = "部门")
private String deptName;
/**
*
*/
@TableField(value = "deptCode")
@ApiModelProperty(value = "部门编码")
private String deptCode;
/**
*
*/
@TableField(value = "invName")
@ApiModelProperty(value = "仓库")
private String invName;
/**
*
*/
@TableField(value = "invCode")
@ApiModelProperty(value = "仓库编码")
private String invCode;
/**
*
*/
@TableField(value = "spaceName")
@ApiModelProperty(value = "货位")
private String spaceName;
/**
*
*/
@TableField(value = "spaceCode")
@ApiModelProperty(value = "货位编码")
private String spaceCode;
/**
* ID
*/
@TableField(value = "compareId")
@ApiModelProperty(value = "对比记录ID外键")
private Long compareId;
/**
*
*/
@TableField(value = "createTime")
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
*
*/
@TableField(value = "updateTime")
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
*
*/
@TableField(value = "mainAction")
@ApiModelProperty(value = "出入库类型")
private String mainAction;
@TableField(value = "remark")
@ApiModelProperty(value = "remark")
private String remark;
/**
* filtered
*/
@TableField(exist = false)
private Boolean filtered;
private static final long serialVersionUID = 1L;
}

@ -1,5 +1,6 @@
package com.glxp.api.entity.inv;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
@ -7,6 +8,9 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
/**
*
* inv_stock_compare_detail
@ -17,27 +21,36 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
public class StockCompareDetailEntity {
@TableField(value = "id")
private Integer id;
/**
* id
*/
@ExcelProperty(value = "出入库单号", index = 1)
@TableField(value = "compareId")
private Long compareId;
/**
* id
*/
@TableField(value = "productId")
private Long productId;
/**
*
*/
@ExcelProperty(value = "出入库单号", index = 1)
@TableField(value = "thrProductId")
private String thrProductId;
/**
* DI
*/
@ExcelProperty(value = "出入库单号", index = 1)
@TableField(value = "nameCode")
private String nameCode;
@ -80,15 +93,37 @@ public class StockCompareDetailEntity {
@TableField(value = "mainAction")
private String mainAction;
/**
*
*/
@TableField(value = "price")
private BigDecimal price;
/**
*
*/
@TableField(value = "thrPrice")
private BigDecimal thrPrice;
@TableField(value = "count")
private Integer count;
@TableField(value = "thrCount")
private Integer thrCount;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "compareCount")
private Integer compareCount;
}
@TableField(value = "createTime")
private Date createTime;
@TableField(value = "updateTime")
private Date updateTime;
}

@ -3,9 +3,18 @@ package com.glxp.api.http;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.req.inv.FilterInvProductRequest;
import com.glxp.api.req.thrsys.ThrOnhandRequest;
import com.glxp.api.req.thrsys.UdiwmsWarehouseRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inv.ThrInvResultResponse;
import com.glxp.api.res.thrsys.ThrInvProductResponse;
import com.glxp.api.res.thrsys.UdiwmsWarehouseDetail;
import com.glxp.api.service.thrsys.ThrSystemService;
import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -13,12 +22,16 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
public class ErpInvClient {
@Resource
HttpOkClient httpOkClient;
@Resource
private OkHttpClient okHttpClient;
@Resource
private ThrSystemService basicThirdSysService;
public BaseResponse<PageSimpleResponse<ThrInvProductResponse>> getInvPrdoductResponse(ThrOnhandRequest onhandRequest, String url) {
@ -62,4 +75,22 @@ public class ErpInvClient {
List<ThrInvProductResponse> responseList = responseBaseResponse.getData().getList();
return responseList;
}
public BaseResponse<PageSimpleResponse<ThrInvResultResponse>> getInvResult(FilterInvProductRequest invProductRequest) {
ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(invProductRequest.getThirdSys());
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/inv/getInvResult";
try {
String response = httpOkClient.uCloudPost(url, invProductRequest);
BaseResponse<PageSimpleResponse<ThrInvResultResponse>> listBaseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ThrInvResultResponse>>>() {
});
return listBaseResponse;
} catch (Exception e) {
log.error("获取第三方库存明细异常", e);
return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
}
}
}

@ -3,6 +3,7 @@ package com.glxp.api.req.inv;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
@ -120,5 +121,11 @@ public class FilterInvProductRequest extends ListPageRequest {
private String category;
private Integer filterNoInv;
private Date startDate;
private Date endDate;
private String thirdSys;
private Long compareId;
}

@ -0,0 +1,89 @@
package com.glxp.api.res.inv;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class StockCompareDetailResponse {
/**
* id
*/
private Long compareId;
/**
* id
*/
private Long productId;
/**
*
*/
private String thrProductId;
/**
* DI
*/
private String nameCode;
/**
*
*/
private String cpms;
/**
*
*/
private String productName;
/**
*
*/
private String ggxh;
/**
*
*/
private String manufactory;
/**
* /
*/
private String ylqxzcrbarmc;
/**
* /
*/
private String zczbhhzbapzbh;
private String mainAction;
/**
*
*/
private BigDecimal price;
/**
*
*/
private BigDecimal thrPrice;
private Integer count;
private Integer thrCount;
/**
*
*/
private String batchNo;
/**
*
*/
private Integer compareCount;
private Date createTime;
private Date updateTime;
}

@ -0,0 +1,97 @@
package com.glxp.api.res.inv;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class StockCompareDetailVo {
/**
* id
*/
@ExcelProperty(value = "比对记录号", index = 1)
private Long compareId;
// /**
// * 产品id
// */
// private Long productId;
/**
* DI
*/
@ExcelProperty(value = "DI/物资编码", index = 2)
private String nameCode;
/**
*
*/
@ExcelProperty(value = "第三方产品编码", index = 3)
private String thrProductId;
/**
*
*/
@ExcelProperty(value = "产品描述", index = 16)
private String cpms;
/**
*
*/
@ExcelProperty(value = "产品名称", index = 4)
private String productName;
/**
*
*/
@ExcelProperty(value = "规格型号", index = 5)
private String ggxh;
/**
*
*/
@ExcelProperty(value = "生产厂家", index = 12)
private String manufactory;
/**
* /
*/
@ExcelProperty(value = "医疗器械注册/备案人名称", index = 13)
private String ylqxzcrbarmc;
/**
* /
*/
@ExcelProperty(value = "注册证编号/备案批准编号", index = 14)
private String zczbhhzbapzbh;
@ExcelProperty(value = "出入库类型", index = 11)
private String mainAction;
/**
*
*/
@ExcelProperty(value = "价格", index = 9)
private BigDecimal price;
/**
*
*/
@ExcelProperty(value = "第三方价格", index = 10)
private BigDecimal thrPrice;
@ExcelProperty(value = "UDI产品数量", index = 7)
private Integer count;
@ExcelProperty(value = "第三方系统产品数量", index = 8)
private Integer thrCount;
/**
*
*/
@ExcelProperty(value = "批次号", index = 6)
private String batchNo;
@ExcelProperty(value = "比对时间", index = 15)
private Date updateTime;
}

@ -0,0 +1,32 @@
package com.glxp.api.res.inv;
import lombok.Data;
@Data
public class ThrInvResultResponse {
private Integer id;
private String cpmctymc;
private String thrCode;
private String nameCode;
private String ggxh;
private String batchNo;
private String measname;
private String price;
private String productionDate;
private String expireDate;
private String ylqxzcrbarmc;
private String zczbhhzbapzbh;
private Integer inCount;
private Integer outCount;
private String supName;
private String deptName;
private String deptCode;
private String invName;
private String invCode;
private String spaceCode;
private String spaceName;
private Integer reCount;
private String mainAction;
private String remark;
}

@ -0,0 +1,10 @@
package com.glxp.api.service.inv;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.inv.InvCpLocalProductMapper;
import com.glxp.api.entity.inv.InvCpLocalProductEntity;
@Service
public class InvCpLocalProductService extends ServiceImpl<InvCpLocalProductMapper, InvCpLocalProductEntity> {
}

@ -0,0 +1,10 @@
package com.glxp.api.service.inv;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.entity.inv.InvCpThrProuductEntity;
import com.glxp.api.dao.inv.InvCpThrProuductMapper;
@Service
public class InvCpThrProuductService extends ServiceImpl<InvCpThrProuductMapper, InvCpThrProuductEntity> {
}

@ -4,16 +4,23 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.inv.StockCompareDetailEntity;
import com.glxp.api.req.inv.InvProductDetailSelectQuery;
import com.glxp.api.req.inv.InvProductDetailSelectRequest;
import com.glxp.api.res.inv.StockCompareDetailResponse;
import com.glxp.api.service.CustomService;
import com.glxp.api.vo.inv.InvProductDetailSelectVo;
import java.util.List;
/**
* inv_stock_compare_detailService
* inv_stock_compare_detailService
*/
public interface StockCompareDetailService extends CustomService<StockCompareDetailEntity> {
Page<InvProductDetailSelectVo> invProductDetailSelectPage(InvProductDetailSelectQuery query);
List<StockCompareDetailResponse> filterCompareDetail(InvProductDetailSelectRequest invProductDetailSelectRequest);
}

@ -3,8 +3,10 @@ package com.glxp.api.service.inv;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.entity.inv.StockCompareDetailEntity;
import com.glxp.api.entity.inv.StockCompareEntity;
import com.glxp.api.dao.inv.StockCompareMapper;
import com.glxp.api.req.inv.FilterInvProductRequest;
import com.glxp.api.req.inv.StockCompareDetailParam;
import com.glxp.api.req.inv.StockCompareParam;
import com.glxp.api.req.inv.StockCompareQuery;
@ -12,8 +14,10 @@ import com.glxp.api.service.CustomService;
import com.glxp.api.vo.inv.StockCompareVo;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* inv_stock_compareService
* inv_stock_compareService
*/
public interface StockCompareService extends CustomService<StockCompareEntity> {
@ -24,6 +28,10 @@ public interface StockCompareService extends CustomService<StockCompareEntity> {
void addProduct(StockCompareDetailParam param);
void delete(Long compareId);
void dlThrProduct(FilterInvProductRequest filterInvProductRequest);
List<StockCompareDetailEntity> getCompareResult(Long compareId);
}

@ -5,11 +5,15 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.inv.StockCompareDetailMapper;
import com.glxp.api.entity.inv.StockCompareDetailEntity;
import com.glxp.api.req.inv.InvProductDetailSelectQuery;
import com.glxp.api.req.inv.InvProductDetailSelectRequest;
import com.glxp.api.res.inv.StockCompareDetailResponse;
import com.glxp.api.service.CustomServiceImpl;
import com.glxp.api.service.inv.StockCompareDetailService;
import com.glxp.api.vo.inv.InvProductDetailSelectVo;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* inv_stock_compareService
@ -20,7 +24,12 @@ public class StockCompareDetailServiceImpl extends CustomServiceImpl<StockCompar
@Override
public Page<InvProductDetailSelectVo> invProductDetailSelectPage(InvProductDetailSelectQuery query) {
return super.baseMapper.invProductDetailSelectPage(query.getPageObj(),query);
return super.baseMapper.invProductDetailSelectPage(query.getPageObj(), query);
}
@Override
public List<StockCompareDetailResponse> filterCompareDetail(InvProductDetailSelectRequest invProductDetailSelectRequest) {
return super.baseMapper.filterCompareDetail(invProductDetailSelectRequest);
}
}

@ -1,29 +1,41 @@
package com.glxp.api.service.inv.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.dao.inv.StockCompareMapper;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.inv.InvCpLocalProductEntity;
import com.glxp.api.entity.inv.InvCpThrProuductEntity;
import com.glxp.api.entity.inv.StockCompareDetailEntity;
import com.glxp.api.entity.inv.StockCompareEntity;
import com.glxp.api.entity.thrsys.ThrSystemEntity;
import com.glxp.api.enums.StockCompareStatusEnum;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.inv.InvProductDetailSelectQuery;
import com.glxp.api.req.inv.StockCompareDetailParam;
import com.glxp.api.http.ErpInvClient;
import com.glxp.api.req.inv.*;
import com.glxp.api.req.inv.StockCompareDetailParam.selectInfo;
import com.glxp.api.req.inv.StockCompareParam;
import com.glxp.api.req.inv.StockCompareQuery;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.BasicSkPrescribeResponse;
import com.glxp.api.res.inv.ThrInvResultResponse;
import com.glxp.api.service.CustomServiceImpl;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.inv.InvCpLocalProductService;
import com.glxp.api.service.inv.InvCpThrProuductService;
import com.glxp.api.service.inv.StockCompareDetailService;
import com.glxp.api.service.inv.StockCompareService;
import com.glxp.api.service.thrsys.ThrSystemService;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.SnowflakeUtil;
import com.glxp.api.vo.inv.InvProductDetailSelectVo;
import com.glxp.api.vo.inv.StockCompareVo;
@ -32,9 +44,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
@ -114,6 +126,37 @@ public class StockCompareServiceImpl extends CustomServiceImpl<StockCompareMappe
.eq(StockCompareDetailEntity::getCompareId, compareId));
}
@Resource
ErpInvClient erpInvClient;
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
InvCpThrProuductService invCpThrProuductService;
@Resource
InvCpLocalProductService invCpLocalProductService;
@Override
public void dlThrProduct(FilterInvProductRequest filterInvProductRequest) {
BaseResponse<PageSimpleResponse<ThrInvResultResponse>> baseResponse = erpInvClient.getInvResult(filterInvProductRequest);
if (baseResponse.getCode() == 20000) {
List<ThrInvResultResponse> list = baseResponse.getData().getList();
list.forEach(item -> {
InvCpThrProuductEntity invCpThrProuductEntity = new InvCpThrProuductEntity();
BeanUtil.copyProperties(item, invCpThrProuductEntity);
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(filterInvProductRequest.getThirdSys(), item.getThrCode());
if (udiRelevanceEntity != null)
invCpThrProuductEntity.setRelId(udiRelevanceEntity.getId());
invCpThrProuductEntity.setBatchNo(item.getBatchNo());
invCpThrProuductEntity.setUpdateTime(new Date());
invCpThrProuductEntity.setCreateTime(new Date());
invCpThrProuductEntity.setCompareId(filterInvProductRequest.getCompareId());
invCpThrProuductService.save(invCpThrProuductEntity);
});
}
}
@Override
@Transactional
public void addProduct(StockCompareDetailParam param) {
@ -135,7 +178,7 @@ public class StockCompareServiceImpl extends CustomServiceImpl<StockCompareMappe
Page<InvProductDetailSelectVo> page = null;
boolean hasNext = false;
do {
PageHelper.startPage(invProductDetailSelectQuery.getPage(),invProductDetailSelectQuery.getLimit());
PageHelper.startPage(invProductDetailSelectQuery.getPage(), invProductDetailSelectQuery.getLimit());
page = stockCompareDetailService.invProductDetailSelectPage(invProductDetailSelectQuery);
invProductDetailSelectQuery.setPage(invProductDetailSelectQuery.getPage() + 1);
result.addAll(page.getRecords());
@ -143,12 +186,11 @@ public class StockCompareServiceImpl extends CustomServiceImpl<StockCompareMappe
PageInfo<InvProductDetailSelectVo> pageInfo = new PageInfo<>(page.getRecords());
hasNext = pageInfo.isHasNextPage();
} while (hasNext);
List<StockCompareDetailEntity> stockCompareDetailList = new ArrayList<>(result.size());
List<InvCpLocalProductEntity> cpLocalProductEntities = new ArrayList<>(result.size());
result.forEach(i -> {
StockCompareDetailEntity stockCompareDetail = StockCompareDetailEntity.builder()
InvCpLocalProductEntity stockCompareDetail = InvCpLocalProductEntity.builder()
.compareId(param.getCompareId())
.productId(i.getProductId())
.thrProductId(i.getThrProductId())
.productName(i.getCpmctymc())
.mainAction(i.getMainAction())
.nameCode(i.getNameCode())
@ -157,11 +199,118 @@ public class StockCompareServiceImpl extends CustomServiceImpl<StockCompareMappe
.manufactory(i.getManufactory())
.ylqxzcrbarmc(i.getYlqxzcrbarmc())
.zczbhhzbapzbh(i.getZczbhhzbapzbh())
.batchNo(i.getBatchNo())
.count(i.getCount())
.createTime(new Date())
.updateTime(new Date())
.build();
stockCompareDetailList.add(stockCompareDetail);
cpLocalProductEntities.add(stockCompareDetail);
});
stockCompareDetailService.replaceBatch(stockCompareDetailList);
invCpLocalProductService.saveBatch(cpLocalProductEntities);
}
@Resource
InvCpLocalProductService localProductService;
@Resource
InvCpThrProuductService thrProuductService;
@Override
public List<StockCompareDetailEntity> getCompareResult(Long compareId) {
List<InvCpLocalProductEntity> invCpLocalProductEntities = localProductService.list(new QueryWrapper<InvCpLocalProductEntity>().eq("compareId", compareId));
List<InvCpThrProuductEntity> invCpThrProuductEntities = thrProuductService.list(new QueryWrapper<InvCpThrProuductEntity>().eq("compareId", compareId));
List<StockCompareDetailEntity> stockCompareDetailEntities = new ArrayList<>();
Map<String, StockCompareDetailEntity> mapDetail = new HashMap<>();
for (InvCpLocalProductEntity invCpLocalProductEntity : invCpLocalProductEntities) {
for (InvCpThrProuductEntity invCpThrProuductEntity : invCpThrProuductEntities) {
if (invCpLocalProductEntity.getProductId().equals(invCpThrProuductEntity.getRelId()) && invCpLocalProductEntity.getBatchNo().equals(invCpThrProuductEntity.getBatchNo())) {
String key = invCpLocalProductEntity.getProductId() + invCpLocalProductEntity.getBatchNo();
if (mapDetail.get(key) == null) {
StockCompareDetailEntity stockCompareDetailEntity = StockCompareDetailEntity.builder()
.compareId(invCpLocalProductEntity.getCompareId())
.productId(invCpLocalProductEntity.getProductId())
.nameCode(invCpLocalProductEntity.getNameCode())
.cpms(invCpLocalProductEntity.getCpms())
.productName(invCpLocalProductEntity.getProductName())
.ggxh(invCpLocalProductEntity.getGgxh())
.manufactory(invCpLocalProductEntity.getManufactory())
.ylqxzcrbarmc(invCpLocalProductEntity.getYlqxzcrbarmc())
.zczbhhzbapzbh(invCpLocalProductEntity.getZczbhhzbapzbh()).
mainAction(invCpLocalProductEntity.getMainAction()).
price(invCpLocalProductEntity.getPrice()).
count(invCpLocalProductEntity.getCount()).
createTime(new Date())
.updateTime(new Date())
.batchNo(invCpLocalProductEntity.getBatchNo())
.thrCount(invCpThrProuductEntity.getReCount())
.thrProductId(invCpThrProuductEntity.getThrCode())
.thrPrice(invCpThrProuductEntity.getPrice())
.build();
mapDetail.put(key, stockCompareDetailEntity);
} else {
mapDetail.get(key).setThrCount(IntUtil.value(mapDetail.get(key).getCount()) + IntUtil.value(invCpThrProuductEntity.getReCount()));
}
invCpThrProuductEntity.setFiltered(true);
invCpLocalProductEntity.setFiltered(true);
}
}
}
for (StockCompareDetailEntity value : mapDetail.values()) {
stockCompareDetailEntities.add(value);
}
for (InvCpLocalProductEntity invCpLocalProductEntity : invCpLocalProductEntities) {
if (!IntUtil.value(invCpLocalProductEntity.getFiltered())) {
StockCompareDetailEntity stockCompareDetailEntity = StockCompareDetailEntity.builder()
.compareId(invCpLocalProductEntity.getCompareId())
.productId(invCpLocalProductEntity.getProductId())
.nameCode(invCpLocalProductEntity.getNameCode())
.cpms(invCpLocalProductEntity.getCpms())
.productName(invCpLocalProductEntity.getProductName())
.ggxh(invCpLocalProductEntity.getGgxh())
.manufactory(invCpLocalProductEntity.getManufactory())
.ylqxzcrbarmc(invCpLocalProductEntity.getYlqxzcrbarmc())
.zczbhhzbapzbh(invCpLocalProductEntity.getZczbhhzbapzbh()).
mainAction(invCpLocalProductEntity.getMainAction()).
createTime(new Date())
.updateTime(new Date())
.count(invCpLocalProductEntity.getCount())
.batchNo(invCpLocalProductEntity.getBatchNo())
.thrCount(0)
.price(invCpLocalProductEntity.getPrice())
.thrProductId(null)
.thrPrice(null)
.build();
stockCompareDetailEntities.add(stockCompareDetailEntity);
// mapDetail.put(stockCompareDetailEntity.getProductId() + stockCompareDetailEntity.getBatchNo(), stockCompareDetailEntity);
}
}
for (InvCpThrProuductEntity invCpThrProuductEntity : invCpThrProuductEntities) {
if (!IntUtil.value(invCpThrProuductEntity.getFiltered())) {
StockCompareDetailEntity stockCompareDetailEntity = StockCompareDetailEntity.builder()
.compareId(invCpThrProuductEntity.getCompareId())
.productId(invCpThrProuductEntity.getRelId())
.nameCode(invCpThrProuductEntity.getNameCode())
.productName(invCpThrProuductEntity.getCpmctymc())
.ggxh(invCpThrProuductEntity.getGgxh())
.manufactory(invCpThrProuductEntity.getYlqxzcrbarmc())
.ylqxzcrbarmc(invCpThrProuductEntity.getYlqxzcrbarmc())
.zczbhhzbapzbh(invCpThrProuductEntity.getZczbhhzbapzbh()).
mainAction(invCpThrProuductEntity.getMainAction()).
createTime(new Date())
.updateTime(new Date())
.batchNo(invCpThrProuductEntity.getBatchNo())
.thrCount(invCpThrProuductEntity.getReCount())
.thrProductId(invCpThrProuductEntity.getThrCode())
.thrPrice(invCpThrProuductEntity.getPrice())
.build();
stockCompareDetailEntities.add(stockCompareDetailEntity);
// mapDetail.put(stockCompareDetailEntity.getProductId() + stockCompareDetailEntity.getBatchNo(), stockCompareDetailEntity);
}
}
return stockCompareDetailEntities;
}
}

@ -18,5 +18,6 @@ public class InvProductDetailSelectVo {
private String ylqxzcrbarmc;
private String mainAction;
private Integer count;
private String batchNo;
}

@ -468,6 +468,12 @@
<if test="basicPrductRemak8 != '' and basicPrductRemak8 != null">
AND basic_products.basicPrductRemak8 like concat('%', #{basicPrductRemak8}, '%')
</if>
<if test="isDisable == false">
AND (basic_udirel.isDisable is null or basic_udirel.isDisable = false)
</if>
<if test="isDisable == true">
AND basic_udirel.isDisable = true
</if>
</where>
<choose>
<when test="key != null and key != ''">
@ -1219,70 +1225,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">

@ -0,0 +1,29 @@
<?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.inv.InvCpLocalProductMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.inv.InvCpLocalProductEntity">
<!--@mbg.generated-->
<!--@Table inv_cp_local_product-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="compareId" jdbcType="BIGINT" property="compareId" />
<result column="productId" jdbcType="BIGINT" property="productId" />
<result column="nameCode" jdbcType="VARCHAR" property="nameCode" />
<result column="cpms" jdbcType="VARCHAR" property="cpms" />
<result column="productName" jdbcType="VARCHAR" property="productName" />
<result column="ggxh" jdbcType="VARCHAR" property="ggxh" />
<result column="manufactory" jdbcType="VARCHAR" property="manufactory" />
<result column="ylqxzcrbarmc" jdbcType="VARCHAR" property="ylqxzcrbarmc" />
<result column="zczbhhzbapzbh" jdbcType="VARCHAR" property="zczbhhzbapzbh" />
<result column="mainAction" jdbcType="VARCHAR" property="mainAction" />
<result column="price" jdbcType="DECIMAL" property="price" />
<result column="count" jdbcType="INTEGER" property="count" />
<result column="createTime" jdbcType="TIMESTAMP" property="createTime" />
<result column="updateTime" jdbcType="TIMESTAMP" property="updateTime" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, compareId, productId, nameCode, cpms, productName, ggxh, manufactory, ylqxzcrbarmc,
zczbhhzbapzbh, mainAction, price, `count`, createTime, updateTime, remark
</sql>
</mapper>

@ -0,0 +1,42 @@
<?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.inv.InvCpThrProuductMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.inv.InvCpThrProuductEntity">
<!--@mbg.generated-->
<!--@Table inv_cp_thr_prouduct-->
<id column="id" jdbcType="INTEGER" property="id" />
<result column="thrCode" jdbcType="VARCHAR" property="thrCode" />
<result column="cpmctymc" jdbcType="VARCHAR" property="cpmctymc" />
<result column="nameCode" jdbcType="VARCHAR" property="nameCode" />
<result column="ggxh" jdbcType="VARCHAR" property="ggxh" />
<result column="batchNo" jdbcType="INTEGER" property="batchNo" />
<result column="measname" jdbcType="VARCHAR" property="measname" />
<result column="price" jdbcType="DECIMAL" property="price" />
<result column="productionDate" jdbcType="TIMESTAMP" property="productionDate" />
<result column="expireDate" jdbcType="TIMESTAMP" property="expireDate" />
<result column="ylqxzcrbarmc" jdbcType="VARCHAR" property="ylqxzcrbarmc" />
<result column="zczbhhzbapzbh" jdbcType="VARCHAR" property="zczbhhzbapzbh" />
<result column="inCount" jdbcType="INTEGER" property="inCount" />
<result column="outCount" jdbcType="INTEGER" property="outCount" />
<result column="reCount" jdbcType="INTEGER" property="reCount" />
<result column="supName" jdbcType="VARCHAR" property="supName" />
<result column="deptName" jdbcType="VARCHAR" property="deptName" />
<result column="deptCode" jdbcType="VARCHAR" property="deptCode" />
<result column="invName" jdbcType="VARCHAR" property="invName" />
<result column="invCode" jdbcType="VARCHAR" property="invCode" />
<result column="spaceName" jdbcType="VARCHAR" property="spaceName" />
<result column="spaceCode" jdbcType="VARCHAR" property="spaceCode" />
<result column="compareId" jdbcType="BIGINT" property="compareId" />
<result column="createTime" jdbcType="TIMESTAMP" property="createTime" />
<result column="updateTime" jdbcType="TIMESTAMP" property="updateTime" />
<result column="mainAction" jdbcType="VARCHAR" property="mainAction" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
id, thrCode, cpmctymc, nameCode, ggxh, batchNo, measname, price, productionDate,
expireDate, ylqxzcrbarmc, zczbhhzbapzbh, inCount, outCount, reCount, supName, deptName,
deptCode, invName, invCode, spaceName, spaceCode, compareId, createTime, updateTime,
mainAction, remark
</sql>
</mapper>

@ -3,36 +3,34 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inv.StockCompareDetailMapper">
<select id="invProductDetailSelectPage" resultType="com.glxp.api.vo.inv.InvProductDetailSelectVo">
SELECT
ipd.relId productId,
udi.${param.thirdTableField} thrProductId,
p.cpmctymc,
p.ggxh,
p.nameCode,
p.cpms,
p.manufactory,
p.zczbhhzbapzbh,
p.ylqxzcrbarmc,
ipd.mainAction,
sum( ipd.count ) count
FROM
inv_product_detail ipd
LEFT JOIN basic_udirel udi ON udi.id = ipd.relId
LEFT JOIN basic_products p ON p.uuid = udi.uuid
SELECT ipd.relId productId,
ipd.batchNo,
udi.${param.thirdTableField} thrProductId,
p.cpmctymc,
p.ggxh,
p.nameCode,
p.cpms,
p.manufactory,
p.zczbhhzbapzbh,
p.ylqxzcrbarmc,
ipd.mainAction,
sum(ipd.count) count
FROM inv_product_detail ipd
LEFT JOIN basic_udirel udi ON udi.id = ipd.relId
LEFT JOIN basic_products p ON p.uuid = udi.uuid
<where>
udi.${param.thirdTableField} is not null
and ipd.invCode = #{param.invCode}
and ipd.updateTime between concat(#{param.compareStartDate},' 00:00:00') and
concat(#{param.compareEndDate},' 23:59:59')
<if test="param.mainAction!=null and param.mainAction!=''">
and ipd.invCode = #{param.invCode}
and ipd.updateTime between concat(#{param.compareStartDate}, ' 00:00:00') and
concat(#{param.compareEndDate}, ' 23:59:59')
<if test="param.mainAction != null and param.mainAction != ''">
and ipd.mainAction = #{param.mainAction}
</if>
<if test="param.action!=null and param.action!=''">
<if test="param.action != null and param.action != ''">
and ipd.action = #{param.action}
</if>
<if test="param.productIds!=null">
<if test="param.productIds != null">
and ipd.relId in
<foreach collection="param.productIds" open="(" item="item" separator="," close=")">
#{item}
@ -40,10 +38,30 @@
</if>
</where>
GROUP BY
ipd.relId,
ipd.mainAction
ipd.relId,
ipd.mainAction
ORDER BY
ipd.relId,
ipd.mainAction
ipd.relId,
ipd.mainAction
</select>
<select id="filterCompareDetail" resultType="com.glxp.api.res.inv.StockCompareDetailResponse">
SELECT p.cpmctymc,
p.ggxh,
p.nameCode,
p.cpms,
p.manufactory,
p.zczbhhzbapzbh,
p.ylqxzcrbarmc,
ipd.mainAction,
ipd.*
FROM inv_stock_compare_detail ipd
LEFT JOIN basic_udirel udi ON udi.id = ipd.productId
LEFT JOIN basic_products p ON p.uuid = udi.uuid
<where>
<if test="compareId != null and compareId != ''">
and ipd.compareId = #{compareId}
</if>
</where>
</select>
</mapper>

@ -162,6 +162,224 @@ CALL Pro_Temp_ColumnWork('thr_products', 'prcitmcode', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('thr_products', 'invCode', 'varchar(255)', 1);
/*
Navicat Premium Data Transfer
Source Server : localhost
Source Server Type : MySQL
Source Server Version : 80021
Source Host : localhost:3306
Source Schema : udi_wms_ct
Target Server Type : MySQL
Target Server Version : 80021
File Encoding : 65001
Date: 18/01/2024 11:05:42
*/
-- ----------------------------
-- Table structure for basic_sk_prescirbe_detail
-- ----------------------------
CREATE TABLE IF NOT EXISTS `basic_sk_prescirbe_detail`
(
`id` bigint NOT NULL,
`relId` bigint NULL DEFAULT NULL COMMENT '耗材产品id',
`thrName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '耗材名称',
`thrCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '耗材编码',
`pId` bigint NULL DEFAULT NULL COMMENT '项目组套外键',
`count` int NULL DEFAULT NULL COMMENT '数量',
`measureCount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计量数量',
`measureUnit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计量单位',
`category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类别',
`frequency` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '频率',
`price` decimal(10, 2) NULL DEFAULT NULL COMMENT '价格',
`ggxh` 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,
`createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`updateTime` datetime(0) NULL DEFAULT NULL,
`updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '处方用药信息表'
ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for basic_sk_prescribe
-- ----------------------------
CREATE TABLE IF NOT EXISTS `basic_sk_prescribe`
(
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '处方编码',
`sickerCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '病人编码',
`prescribeDate` datetime(0) NULL DEFAULT NULL COMMENT '开方时间',
`createDr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '开方医生',
`amount` decimal(16, 4) NULL DEFAULT NULL COMMENT '处方费用',
`deptCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '就诊科室编码',
`deptName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '就诊科室名称',
`diagnosis` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '诊断内容',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
`createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
`createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人',
`updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`adNum` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`code`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '患者处方'
ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for basic_sk_prescribe_item
-- ----------------------------
CREATE TABLE IF NOT EXISTS `basic_sk_prescribe_item`
(
`id` bigint NOT NULL,
`thrId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '第三方id',
`sickerCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '患者编码',
`prescribeCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '处方编码',
`relId` bigint NULL DEFAULT NULL COMMENT '耗材产品id',
`itemName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称',
`itemCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '编码',
`measureCount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计量数量',
`measureUnit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计量单位',
`category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类别',
`frequency` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '频率',
`count` int NULL DEFAULT NULL COMMENT '数量',
`price` decimal(16, 4) NULL DEFAULT NULL COMMENT '单价',
`amount` decimal(16, 4) NULL DEFAULT NULL COMMENT '总价',
`ggxh` 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 '备注',
`adNum` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '处方用药信息表'
ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for basic_sk_prescribe_item_detail
-- ----------------------------
CREATE TABLE IF NOT EXISTS `basic_sk_prescribe_item_detail`
(
`id` bigint NOT NULL,
`pId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`sickerCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '患者编码',
`prescribeCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '处方编码',
`relId` bigint NULL DEFAULT NULL COMMENT '耗材产品id',
`thrName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '耗材名称',
`thrCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '耗材编码',
`measureCount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计量数量',
`measureUnit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计量单位',
`category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类别',
`frequency` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '频率',
`count` int NULL DEFAULT NULL COMMENT '数量',
`price` decimal(16, 4) NULL DEFAULT NULL COMMENT '价格',
`ggxh` 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 '备注',
`nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`amount` decimal(10, 3) NULL DEFAULT NULL,
`adNum` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`updateTime` datetime(0) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '处方用药信息表'
ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for basic_sk_project
-- ----------------------------
CREATE TABLE IF NOT EXISTS `basic_sk_project`
(
`id` bigint NOT NULL AUTO_INCREMENT,
`idCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '自定义编码',
`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 '项目名称',
`category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类别',
`ggxh` 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,
`createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`updateTime` datetime(0) NULL DEFAULT NULL,
`updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`type` tinyint NULL DEFAULT NULL COMMENT '类型1定数包内部使用2项目、组套外部关联',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 1726788278562713601
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci
ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for basic_sk_project_detail
-- ----------------------------
CREATE TABLE IF NOT EXISTS `basic_sk_project_detail`
(
`id` bigint NOT NULL,
`relId` bigint NULL DEFAULT NULL COMMENT '耗材产品id',
`thrName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '耗材名称',
`thrCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '耗材编码',
`pId` bigint NULL DEFAULT NULL COMMENT '定数包模板id',
`count` int NULL DEFAULT NULL COMMENT '数量',
`measureCount` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计量数量',
`measureUnit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '计量单位',
`category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类别',
`frequency` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '频率',
`price` decimal(10, 2) NULL DEFAULT NULL COMMENT '价格',
`ggxh` 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,
`createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`updateTime` datetime(0) NULL DEFAULT NULL,
`updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '定数包产品关联表'
ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for basic_sk_sicker
-- ----------------------------
CREATE TABLE IF NOT EXISTS `basic_sk_sicker`
(
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '患者编码',
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '姓名',
`adNum` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '住院号',
`idNum` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '身份证号',
`phone` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号',
`gender` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '性别',
`job` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职业',
`bornDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '出生年月',
`nationality` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '国籍',
`education` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文化程度',
`guardianName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '监护人',
`guardianRel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '监护人与患者关系',
`curAddr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '现居住地',
`kosekiAddr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '户籍地',
`medicalIns` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '医保',
`createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人',
`createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人',
`updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
`deptName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`deptCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`code`) USING BTREE,
INDEX `code` (`code`) USING BTREE,
INDEX `adNum` (`adNum`) USING BTREE,
INDEX `name` (`name`) USING BTREE
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci COMMENT = '患者信息'
ROW_FORMAT = DYNAMIC;
CALL Pro_Temp_ColumnWork('basic_sk_prescribe', 'adNum', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('basic_sk_prescribe_item', 'adNum', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('basic_sk_prescribe_item_detail', 'nameCode', 'varchar(255)', 1);
@ -243,5 +461,12 @@ CREATE TABLE IF NOT EXISTS `io_order_sk_prescribe`
ROW_FORMAT = DYNAMIC;
CALL Pro_Temp_ColumnWork('inv_stock_compare_detail', 'price', 'decimal(10, 3)', 1);
CALL Pro_Temp_ColumnWork('inv_stock_compare_detail', 'thrPrice', 'decimal(10, 3)', 1);
CALL Pro_Temp_ColumnWork('inv_stock_compare_detail', 'batchNo', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('inv_stock_compare_detail', 'createTime', 'datetime', 1);
CALL Pro_Temp_ColumnWork('inv_stock_compare_detail', 'updateTime', 'datetime', 1);

Loading…
Cancel
Save