处方修改

scpwxyy
yewj 11 months ago
parent c2b737b90f
commit 925c77a0fe

@ -36,6 +36,7 @@ import com.glxp.mipsdl.entity.auth.AuthWarehouseEntity;
import com.glxp.mipsdl.entity.basic.*;
import com.glxp.mipsdl.entity.ctqyy.*;
import com.glxp.mipsdl.entity.inout.*;
import com.glxp.mipsdl.entity.system.UdiEntity;
import com.glxp.mipsdl.entity.thrsys.*;
import com.glxp.mipsdl.http.HttpClient;
import com.glxp.mipsdl.req.base.*;
@ -671,7 +672,7 @@ public class CtqyyClient extends CommonHttpClient {
.selectList(Wrappers.lambdaQuery(IoOrderInvoiceEntity.class).eq(IoOrderInvoiceEntity::getOrderIdFk, orderEntity.getBillNo())
.eq(IoOrderInvoiceEntity::getBindRlFk, i.getBindRlFk())
.eq(StrUtil.isNotEmpty(i.getBatchNo()), IoOrderInvoiceEntity::getBatchNo, i.getBatchNo()).
groupBy(IoOrderInvoiceEntity::getInvoiceEncode));
groupBy(IoOrderInvoiceEntity::getInvoiceEncode));
if (CollectionUtil.isNotEmpty(invoiceList)) {
fphm = invoiceList.stream().map(IoOrderInvoiceEntity::getInvoiceEncode).collect(Collectors.joining(","));
if (invoiceList.get(0).getInvoiceDate() != null)
@ -1395,7 +1396,11 @@ public class CtqyyClient extends CommonHttpClient {
.or().like(VInsurNationGoodsPhysic::getPSN_NO, key)
);
wrapper.and(StrUtil.isNotEmpty(fromCorpName), t -> t.eq(VInsurNationGoodsPhysic::getPSN_NAME, fromCorpName));
if (udiwmsBasicSkPrescribeRequest.getBusType().equals("YPCF003")) {
udiwmsBasicSkPrescribeRequest.setIN_HOSP("1");
} else {
udiwmsBasicSkPrescribeRequest.setIN_HOSP("2");
}
udiwmsBasicSkPrescribeRequest.setDatabaseProductName(getDataSourceType());
// 拉取处方时改成拉取v_ypzs_pres_info
@ -1730,6 +1735,13 @@ public class CtqyyClient extends CommonHttpClient {
VYpzsPresInfo presInfoEntity = value.get(0);
StringBuilder errorMsg = new StringBuilder();
IoCollectOrder ioCollectOrder = new IoCollectOrder();
//区分住院、门诊处方
if (IntUtil.value(presInfoEntity.getIN_HOSP()) == 1) {
ioCollectOrder.setBusType("YPCF003");
} else {
ioCollectOrder.setBusType("YPCF002");
}
ioCollectOrder.setBillNo(presInfoEntity.getPRESCRIBE_NUMBER());
ioCollectOrder.setFromType("HIS系统");
ioCollectOrder.setFromCorp(presInfoEntity.getSICK_ID());
@ -1769,6 +1781,36 @@ public class CtqyyClient extends CommonHttpClient {
collectOrderBiz.setCpmctymc(entity.getPHYSIC_NAME());
collectOrderBiz.setOrderIdFk(ioCollectOrder.getBillNo());
collectOrderBiz.setYbbm(entity.getCOUNTRY_CODE());
if (StrUtil.isNotEmpty(entity.getCODE_LIST())) {
String[] codeArray = entity.getCODE_LIST().split(";");
if (codeArray != null && codeArray.length > 0) {
List<String> codeList = Arrays.asList(codeArray);
for (String code : codeList) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
IoCollectOrderCodeMan.builder()
.udiCode(code)
.orderIdFk(ioCollectOrder.getBillNo())
.bizIdFk(collectOrderBiz.getId())
.relId(collectOrderBiz.getRelId())
.nameCode(udiEntity.getUdi())
.batchNo(udiEntity.getBatchNo())
.serialNo(udiEntity.getSerialNo())
.productDate(udiEntity.getProduceDate())
.expireDate(udiEntity.getExpireDate())
.createTime(new Date())
.createUser(1l)
.updateTime(new Date())
.updateUser(1l)
.scanCount(1)
.isSplitCode(true)
.scanActCount(1)
.build();
}
}
}
// collectOrderBiz.setRemark1(entity.get() + "");
collectOrderBiz.setTagStatus(1);

@ -68,5 +68,14 @@ public class VYpzsPresInfo implements Serializable {
@TableField(value = "NL")
private String NL;
@TableField(value = "IN_HOSP")
private String IN_HOSP;
@TableField(value = "DEPT_CODE")
private String DEPT_CODE;
@TableField(value = "CODE_LIST")
private String CODE_LIST;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,104 @@
package com.glxp.mipsdl.entity.inout;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
*
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "io_collect_order_code_man")
public class IoCollectOrderCodeMan implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
private Integer id;
@TableField(value = "orderIdFk")
private String orderIdFk;
/**
* ID
*/
@TableField(value = "bizIdFk")
private Long bizIdFk;
@TableField(value = "udiCode")
private String udiCode;
@TableField(value = "relId")
private Long relId;
@TableField(value = "nameCode")
private String nameCode;
@TableField(value = "productDate")
private String productDate;
@TableField(value = "expireDate")
private String expireDate;
@TableField(value = "batchNo")
private String batchNo;
@TableField(value = "serialNo")
private String serialNo;
@TableField(value = "scanCount")
private Integer scanCount;
@TableField(value = "scanActCount")
private Integer scanActCount;
@TableField(value = "remark")
private String remark;
@TableField(value = "createTime")
private Date createTime;
@TableField(value = "`createUser`")
private Long createUser;
@TableField(value = "updateTime")
private Date updateTime;
@TableField(value = "updateUser")
private Long updateUser;
@TableField(value = "isSplitCode")
private Boolean isSplitCode;
@TableField(exist = false)
private Boolean removeFlag;
@TableField(exist = false)
private Boolean splitFlag;
@TableField(exist = false)
private Integer remainCount;
/**
*
*/
@TableField(value = "parentCode")
private String parentCode;
/**
*
*/
@TableField(value = "grantPaCode")
private String grantPaCode;
private static final long serialVersionUID = 1L;
}

@ -134,5 +134,7 @@ public class UdiwmsBasicSkPrescribeRequest extends ListPageRequest {
private String databaseProductName;
private String IN_HOSP;
}

@ -1,92 +1,114 @@
<?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.mipsdl.thirddao.ctqyy.VYpzsPresInfoMapper">
<resultMap id="BaseResultMap" type="com.glxp.mipsdl.entity.ctqyy.VYpzsPresInfo">
<!--@mbg.generated-->
<!--@Table v_ypzs_pres_info-->
<result column="LAY_TIME" jdbcType="TIMESTAMP" property="LAY_TIME" />
<result column="STOOUT_NO" jdbcType="VARCHAR" property="STOOUT_NO" />
<result column="PRESCRIBE_NUMBER" jdbcType="VARCHAR" property="PRESCRIBE_NUMBER" />
<result column="PHYSIC_CODE" jdbcType="VARCHAR" property="PHYSIC_CODE" />
<result column="PHYSIC_NAME" jdbcType="VARCHAR" property="PHYSIC_NAME" />
<result column="BATCH_NUMBER" jdbcType="VARCHAR" property="BATCH_NUMBER" />
<result column="PACK_SPEC" jdbcType="VARCHAR" property="PACK_SPEC" />
<result column="LAY_PHYSIC_QUANTITY" jdbcType="DECIMAL" property="LAY_PHYSIC_QUANTITY" />
<result column="PHYSIC_UNIT" jdbcType="VARCHAR" property="PHYSIC_UNIT" />
<result column="SICK_ID" jdbcType="VARCHAR" property="SICK_ID" />
<result column="RESIDENCE_NO" jdbcType="VARCHAR" property="RESIDENCE_NO" />
<result column="COUNTRY_CODE" jdbcType="VARCHAR" property="COUNTRY_CODE" />
<result column="CONFECT_MAN" jdbcType="VARCHAR" property="CONFECT_MAN" />
<result column="SICK_NAME" jdbcType="VARCHAR" property="SICK_NAME" />
<result column="SEX" jdbcType="CHAR" property="SEX" />
<result column="IC_CARD_ID" jdbcType="VARCHAR" property="IC_CARD_ID" />
<result column="NL" jdbcType="VARCHAR" property="NL" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
LAY_TIME, STOOUT_NO, PRESCRIBE_NUMBER, PHYSIC_CODE, PHYSIC_NAME, BATCH_NUMBER, PACK_SPEC,
LAY_PHYSIC_QUANTITY, PHYSIC_UNIT, SICK_ID, RESIDENCE_NO, COUNTRY_CODE, CONFECT_MAN,SICK_NAME,SEX,IC_CARD_ID,NL
</sql>
<resultMap id="BaseResultMap" type="com.glxp.mipsdl.entity.ctqyy.VYpzsPresInfo">
<!--@mbg.generated-->
<!--@Table v_ypzs_pres_info-->
<result column="LAY_TIME" jdbcType="TIMESTAMP" property="LAY_TIME"/>
<result column="STOOUT_NO" jdbcType="VARCHAR" property="STOOUT_NO"/>
<result column="PRESCRIBE_NUMBER" jdbcType="VARCHAR" property="PRESCRIBE_NUMBER"/>
<result column="PHYSIC_CODE" jdbcType="VARCHAR" property="PHYSIC_CODE"/>
<result column="PHYSIC_NAME" jdbcType="VARCHAR" property="PHYSIC_NAME"/>
<result column="BATCH_NUMBER" jdbcType="VARCHAR" property="BATCH_NUMBER"/>
<result column="PACK_SPEC" jdbcType="VARCHAR" property="PACK_SPEC"/>
<result column="LAY_PHYSIC_QUANTITY" jdbcType="DECIMAL" property="LAY_PHYSIC_QUANTITY"/>
<result column="PHYSIC_UNIT" jdbcType="VARCHAR" property="PHYSIC_UNIT"/>
<result column="SICK_ID" jdbcType="VARCHAR" property="SICK_ID"/>
<result column="RESIDENCE_NO" jdbcType="VARCHAR" property="RESIDENCE_NO"/>
<result column="COUNTRY_CODE" jdbcType="VARCHAR" property="COUNTRY_CODE"/>
<result column="CONFECT_MAN" jdbcType="VARCHAR" property="CONFECT_MAN"/>
<result column="SICK_NAME" jdbcType="VARCHAR" property="SICK_NAME"/>
<result column="SEX" jdbcType="CHAR" property="SEX"/>
<result column="IC_CARD_ID" jdbcType="VARCHAR" property="IC_CARD_ID"/>
<result column="NL" jdbcType="VARCHAR" property="NL"/>
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
LAY_TIME,
STOOUT_NO,
PRESCRIBE_NUMBER,
PHYSIC_CODE,
PHYSIC_NAME,
BATCH_NUMBER,
PACK_SPEC,
LAY_PHYSIC_QUANTITY,
PHYSIC_UNIT,
SICK_ID,
RESIDENCE_NO,
COUNTRY_CODE,
CONFECT_MAN,
SICK_NAME,
SEX,
IC_CARD_ID,
NL
</sql>
<select id="selectGroupedWithPagination" resultType="com.glxp.mipsdl.entity.ctqyy.VYpzsPresInfo">
<select id="selectGroupedWithPagination" resultType="com.glxp.mipsdl.entity.ctqyy.VYpzsPresInfo">
SELECT PRESCRIBE_NUMBER
FROM v_ypzs_pres_info
<where>
<if test="udiwmsBasicSkPrescribeRequest.startTime != null and udiwmsBasicSkPrescribeRequest.startTime != ''
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'Oracle' ">
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'Oracle'">
<![CDATA[
and LAY_TIME >= TO_DATE(#{udiwmsBasicSkPrescribeRequest.startTime}
, 'YYYY-MM-DD HH24:MI:SS')
]]>
</if>
<if test="udiwmsBasicSkPrescribeRequest.endTime != null and udiwmsBasicSkPrescribeRequest.endTime != ''
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'Oracle' ">
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'Oracle'">
<![CDATA[
and LAY_TIME <= TO_DATE(#{udiwmsBasicSkPrescribeRequest.endTime}
, 'YYYY-MM-DD HH24:MI:SS')
]]>
</if>
<if test="udiwmsBasicSkPrescribeRequest.startTime != null and udiwmsBasicSkPrescribeRequest.startTime != ''
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'MySQL'">
<![CDATA[
and LAY_TIME >= #{udiwmsBasicSkPrescribeRequest.startTime}
]]>
</if>
<if test="udiwmsBasicSkPrescribeRequest.endTime != null and udiwmsBasicSkPrescribeRequest.endTime != ''
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'MySQL'">
<![CDATA[
and LAY_TIME <= #{udiwmsBasicSkPrescribeRequest.endTime}
]]>
</if>
<if test="udiwmsBasicSkPrescribeRequest.startTime != null and udiwmsBasicSkPrescribeRequest.startTime != ''
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'MySQL'">
<![CDATA[
and LAY_TIME >= #{udiwmsBasicSkPrescribeRequest.startTime}
]]>
</if>
<if test="udiwmsBasicSkPrescribeRequest.endTime != null and udiwmsBasicSkPrescribeRequest.endTime != ''
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'MySQL'">
<![CDATA[
and LAY_TIME <= #{udiwmsBasicSkPrescribeRequest.endTime}
]]>
</if>
<if test="udiwmsBasicSkPrescribeRequest.code != null and udiwmsBasicSkPrescribeRequest.code != ''">
and ( STOOUT_NO = #{udiwmsBasicSkPrescribeRequest.code}
or PHYSIC_CODE = #{udiwmsBasicSkPrescribeRequest.code}
or PRESCRIBE_NUMBER = #{udiwmsBasicSkPrescribeRequest.code}
)
or PHYSIC_CODE = #{udiwmsBasicSkPrescribeRequest.code}
or PRESCRIBE_NUMBER = #{udiwmsBasicSkPrescribeRequest.code}
)
</if>
<if test="udiwmsBasicSkPrescribeRequest.IN_HOSP != null and udiwmsBasicSkPrescribeRequest.IN_HOSP != ''">
and IN_HOSP = #{udiwmsBasicSkPrescribeRequest.IN_HOSP}
</if>
<if test="udiwmsBasicSkPrescribeRequest.key != null and udiwmsBasicSkPrescribeRequest.key != ''
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'Oracle' ">
and (STOOUT_NO like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
or PHYSIC_CODE like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
or PRESCRIBE_NUMBER like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
)
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'Oracle'">
and (STOOUT_NO like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
or PHYSIC_CODE like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
or PRESCRIBE_NUMBER like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
)
</if>
<if test="udiwmsBasicSkPrescribeRequest.key != null and udiwmsBasicSkPrescribeRequest.key != ''
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'MySQL' ">
and (STOOUT_NO like concat('%', #{udiwmsBasicSkPrescribeRequest.key}, '%')
or PHYSIC_CODE like concat('%', #{udiwmsBasicSkPrescribeRequest.key}, '%')
or PRESCRIBE_NUMBER like concat('%', #{udiwmsBasicSkPrescribeRequest.key}, '%')
)
and udiwmsBasicSkPrescribeRequest.databaseProductName == 'MySQL'">
and (STOOUT_NO like concat('%'
, #{udiwmsBasicSkPrescribeRequest.key}
, '%')
or PHYSIC_CODE like concat('%'
, #{udiwmsBasicSkPrescribeRequest.key}
, '%')
or PRESCRIBE_NUMBER like concat('%'
, #{udiwmsBasicSkPrescribeRequest.key}
, '%')
)
</if>
</where>
GROUP BY
PRESCRIBE_NUMBER
PRESCRIBE_NUMBER
ORDER BY
PRESCRIBE_NUMBER
PRESCRIBE_NUMBER
</select>
</mapper>

Loading…
Cancel
Save