diff --git a/src/main/java/com/glxp/api/controller/inv/StockCompareController.java b/src/main/java/com/glxp/api/controller/inv/StockCompareController.java index bd70892d2..c9d664ec8 100644 --- a/src/main/java/com/glxp/api/controller/inv/StockCompareController.java +++ b/src/main/java/com/glxp/api/controller/inv/StockCompareController.java @@ -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 stockCompareDetailEntities = stockCompareService.getCompareResult(compareId); + stockCompareDetailService.remove(new QueryWrapper().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 stockCompareDetailEntities = stockCompareDetailService.list(new QueryWrapper().eq("compareId", invProductDetailSelectRequest.getCompareId())); + + List 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); + } + } diff --git a/src/main/java/com/glxp/api/dao/inv/InvCpLocalProductMapper.java b/src/main/java/com/glxp/api/dao/inv/InvCpLocalProductMapper.java new file mode 100644 index 000000000..ae6e77bef --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inv/InvCpLocalProductMapper.java @@ -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 { +} diff --git a/src/main/java/com/glxp/api/dao/inv/InvCpThrProuductMapper.java b/src/main/java/com/glxp/api/dao/inv/InvCpThrProuductMapper.java new file mode 100644 index 000000000..66ef651de --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inv/InvCpThrProuductMapper.java @@ -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 { +} diff --git a/src/main/java/com/glxp/api/dao/inv/StockCompareDetailMapper.java b/src/main/java/com/glxp/api/dao/inv/StockCompareDetailMapper.java index 10c479904..586f44e5b 100644 --- a/src/main/java/com/glxp/api/dao/inv/StockCompareDetailMapper.java +++ b/src/main/java/com/glxp/api/dao/inv/StockCompareDetailMapper.java @@ -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 { Page invProductDetailSelectPage(Page pageObj, @Param("param") InvProductDetailSelectQuery query); + + + List filterCompareDetail(InvProductDetailSelectRequest invProductDetailSelectRequest); + } diff --git a/src/main/java/com/glxp/api/entity/inv/InvCpLocalProductEntity.java b/src/main/java/com/glxp/api/entity/inv/InvCpLocalProductEntity.java new file mode 100644 index 000000000..8a38aff01 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/inv/InvCpLocalProductEntity.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/entity/inv/InvCpThrProuductEntity.java b/src/main/java/com/glxp/api/entity/inv/InvCpThrProuductEntity.java new file mode 100644 index 000000000..4583b8081 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/inv/InvCpThrProuductEntity.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/entity/inv/StockCompareDetailEntity.java b/src/main/java/com/glxp/api/entity/inv/StockCompareDetailEntity.java index 708e50b42..1bf18a082 100644 --- a/src/main/java/com/glxp/api/entity/inv/StockCompareDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/StockCompareDetailEntity.java @@ -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; -} \ No newline at end of file + @TableField(value = "createTime") + private Date createTime; + @TableField(value = "updateTime") + private Date updateTime; +} diff --git a/src/main/java/com/glxp/api/http/ErpInvClient.java b/src/main/java/com/glxp/api/http/ErpInvClient.java index 8510b2b86..7dce05235 100644 --- a/src/main/java/com/glxp/api/http/ErpInvClient.java +++ b/src/main/java/com/glxp/api/http/ErpInvClient.java @@ -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> getInvPrdoductResponse(ThrOnhandRequest onhandRequest, String url) { @@ -62,4 +75,22 @@ public class ErpInvClient { List responseList = responseBaseResponse.getData().getList(); return responseList; } + + public BaseResponse> 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> listBaseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + + return listBaseResponse; + } catch (Exception e) { + log.error("获取第三方库存明细异常", e); + return ResultVOUtils.error(500, "连接第三方系统接口服务出错"); + } + } + + } diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvProductRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvProductRequest.java index b4a5ec815..16c8d679c 100644 --- a/src/main/java/com/glxp/api/req/inv/FilterInvProductRequest.java +++ b/src/main/java/com/glxp/api/req/inv/FilterInvProductRequest.java @@ -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; + } diff --git a/src/main/java/com/glxp/api/res/inv/StockCompareDetailResponse.java b/src/main/java/com/glxp/api/res/inv/StockCompareDetailResponse.java new file mode 100644 index 000000000..7048be980 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inv/StockCompareDetailResponse.java @@ -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; + +} diff --git a/src/main/java/com/glxp/api/res/inv/StockCompareDetailVo.java b/src/main/java/com/glxp/api/res/inv/StockCompareDetailVo.java new file mode 100644 index 000000000..ea0e76165 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inv/StockCompareDetailVo.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/res/inv/ThrInvResultResponse.java b/src/main/java/com/glxp/api/res/inv/ThrInvResultResponse.java new file mode 100644 index 000000000..dd84bdc62 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inv/ThrInvResultResponse.java @@ -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; +} diff --git a/src/main/java/com/glxp/api/service/inv/InvCpLocalProductService.java b/src/main/java/com/glxp/api/service/inv/InvCpLocalProductService.java new file mode 100644 index 000000000..b53ca19bf --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/InvCpLocalProductService.java @@ -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 { + +} diff --git a/src/main/java/com/glxp/api/service/inv/InvCpThrProuductService.java b/src/main/java/com/glxp/api/service/inv/InvCpThrProuductService.java new file mode 100644 index 000000000..f46637fcd --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/InvCpThrProuductService.java @@ -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 { + +} diff --git a/src/main/java/com/glxp/api/service/inv/StockCompareDetailService.java b/src/main/java/com/glxp/api/service/inv/StockCompareDetailService.java index ea87ea76e..146ef80e6 100644 --- a/src/main/java/com/glxp/api/service/inv/StockCompareDetailService.java +++ b/src/main/java/com/glxp/api/service/inv/StockCompareDetailService.java @@ -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_detail】的数据库操作Service实现 + * 针对表【inv_stock_compare_detail】的数据库操作Service实现 */ public interface StockCompareDetailService extends CustomService { Page invProductDetailSelectPage(InvProductDetailSelectQuery query); + + List filterCompareDetail(InvProductDetailSelectRequest invProductDetailSelectRequest); + } diff --git a/src/main/java/com/glxp/api/service/inv/StockCompareService.java b/src/main/java/com/glxp/api/service/inv/StockCompareService.java index 1c6dfe06c..3bcfde4be 100644 --- a/src/main/java/com/glxp/api/service/inv/StockCompareService.java +++ b/src/main/java/com/glxp/api/service/inv/StockCompareService.java @@ -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_compare】的数据库操作Service实现 + * 针对表【inv_stock_compare】的数据库操作Service实现 */ public interface StockCompareService extends CustomService { @@ -24,6 +28,10 @@ public interface StockCompareService extends CustomService { void addProduct(StockCompareDetailParam param); void delete(Long compareId); + + void dlThrProduct(FilterInvProductRequest filterInvProductRequest); + + List getCompareResult(Long compareId); } diff --git a/src/main/java/com/glxp/api/service/inv/impl/StockCompareDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/StockCompareDetailServiceImpl.java index 4926d0b29..fb9bd51a8 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/StockCompareDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/StockCompareDetailServiceImpl.java @@ -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_compare】的数据库操作Service实现 @@ -20,7 +24,12 @@ public class StockCompareDetailServiceImpl extends CustomServiceImpl invProductDetailSelectPage(InvProductDetailSelectQuery query) { - return super.baseMapper.invProductDetailSelectPage(query.getPageObj(),query); + return super.baseMapper.invProductDetailSelectPage(query.getPageObj(), query); + } + + @Override + public List filterCompareDetail(InvProductDetailSelectRequest invProductDetailSelectRequest) { + return super.baseMapper.filterCompareDetail(invProductDetailSelectRequest); } } diff --git a/src/main/java/com/glxp/api/service/inv/impl/StockCompareServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/StockCompareServiceImpl.java index 1367df097..f0feb3dbb 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/StockCompareServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/StockCompareServiceImpl.java @@ -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> baseResponse = erpInvClient.getInvResult(filterInvProductRequest); + if (baseResponse.getCode() == 20000) { + List 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 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 pageInfo = new PageInfo<>(page.getRecords()); hasNext = pageInfo.isHasNextPage(); } while (hasNext); - List stockCompareDetailList = new ArrayList<>(result.size()); + List 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 getCompareResult(Long compareId) { + List invCpLocalProductEntities = localProductService.list(new QueryWrapper().eq("compareId", compareId)); + List invCpThrProuductEntities = thrProuductService.list(new QueryWrapper().eq("compareId", compareId)); + List stockCompareDetailEntities = new ArrayList<>(); + Map 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; } } diff --git a/src/main/java/com/glxp/api/vo/inv/InvProductDetailSelectVo.java b/src/main/java/com/glxp/api/vo/inv/InvProductDetailSelectVo.java index 708469fae..80eb08619 100644 --- a/src/main/java/com/glxp/api/vo/inv/InvProductDetailSelectVo.java +++ b/src/main/java/com/glxp/api/vo/inv/InvProductDetailSelectVo.java @@ -18,5 +18,6 @@ public class InvProductDetailSelectVo { private String ylqxzcrbarmc; private String mainAction; private Integer count; + private String batchNo; } diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 87f4990a3..eae9305f1 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -468,6 +468,12 @@ AND basic_products.basicPrductRemak8 like concat('%', #{basicPrductRemak8}, '%') + + AND (basic_udirel.isDisable is null or basic_udirel.isDisable = false) + + + AND basic_udirel.isDisable = true + @@ -1219,70 +1225,70 @@ 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 - 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}) diff --git a/src/main/resources/mybatis/mapper/inv/InvCpLocalProductMapper.xml b/src/main/resources/mybatis/mapper/inv/InvCpLocalProductMapper.xml new file mode 100644 index 000000000..ebc06b3fe --- /dev/null +++ b/src/main/resources/mybatis/mapper/inv/InvCpLocalProductMapper.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id, compareId, productId, nameCode, cpms, productName, ggxh, manufactory, ylqxzcrbarmc, + zczbhhzbapzbh, mainAction, price, `count`, createTime, updateTime, remark + + diff --git a/src/main/resources/mybatis/mapper/inv/InvCpThrProuductMapper.xml b/src/main/resources/mybatis/mapper/inv/InvCpThrProuductMapper.xml new file mode 100644 index 000000000..8a38448e9 --- /dev/null +++ b/src/main/resources/mybatis/mapper/inv/InvCpThrProuductMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + diff --git a/src/main/resources/mybatis/mapper/inv/StockCompareDetailMapper.xml b/src/main/resources/mybatis/mapper/inv/StockCompareDetailMapper.xml index 7f4bd6331..2060f0d49 100644 --- a/src/main/resources/mybatis/mapper/inv/StockCompareDetailMapper.xml +++ b/src/main/resources/mybatis/mapper/inv/StockCompareDetailMapper.xml @@ -3,36 +3,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + + diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 00fd71a7f..de671098b 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -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); + +