第三方接口修改,第三接口容错处理,患者信息相关修改,单据类型患者相关修改,临床出库患者信息选择,是否对照处方等相关配置

zyy_db
anthonywj 2 years ago
parent 5f110bea39
commit c73e2bf1f2

@ -4,8 +4,8 @@ public class Constant {
public static String SYSTEM_CUSTOMER_ID = "110";
public static final String INV_PRE_IN_CODE = "1000001";//默认预验收仓库号
public static final String INV_PRE_CODE = "1000002";//默认寄售仓库号
// public static final String INV_PRE_IN_CODE = "1000001";//默认预验收仓库号
// public static final String INV_PRE_CODE = "1000002";//默认寄售仓库号
public static String MUTI = "MUTI";

@ -2,6 +2,7 @@ package com.glxp.api.controller.basic;
import cn.hutool.core.bean.BeanUtil;
import com.glxp.api.constant.Constant;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.service.auth.InvWarehouseService;
import org.springframework.beans.BeanUtils;
import cn.hutool.core.collection.CollUtil;
@ -203,9 +204,11 @@ public class BasicBussinessTypeController extends BaseController {
List<BasicBussinessTypeResponse> bussinessTypeResponses = new ArrayList<>();
if (detailType.equals("norDetail")) {
} else if (detailType.equals("preDetail")) {
bussinessTypeRequest.setCode(Constant.INV_PRE_CODE);
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInv();
bussinessTypeRequest.setCode(invWarehouseEntity.getCode());
} else if (detailType.equals("preInDetail")) {
bussinessTypeRequest.setCode(Constant.INV_PRE_IN_CODE);
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInInv();
bussinessTypeRequest.setCode(invWarehouseEntity.getCode());
}
bussinessTypeResponses = basicBussinessTypeService.filterJoinByInv(bussinessTypeRequest);
PageInfo<BasicBussinessTypeResponse> pageInfo;

@ -1,12 +1,18 @@
package com.glxp.api.controller.basic;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity;
import com.glxp.api.entity.basic.BasicSkSickerEntity;
import com.glxp.api.req.basic.BasicSkPrescribeDiRequest;
import com.glxp.api.req.basic.GetSickPrescribeRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.BasicSkPrescribeDiService;
import com.glxp.api.service.basic.BasicSkPrescribeService;
import com.glxp.api.service.basic.BasicSkSickerService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@ -18,6 +24,10 @@ public class BasicSickPrescribeDiController {
@Resource
BasicSkPrescribeDiService basicSkPrescribeDiService;
@Resource
BasicSkPrescribeService basicSkPrescribeService;
@Resource
BasicSkSickerService basicSkSickerService;
/**
* 使
@ -34,4 +44,31 @@ public class BasicSickPrescribeDiController {
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@GetMapping("/udiwms/basic/sk/prescribe/di/dlOrFilter")
public BaseResponse filterOrDlSickDi(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest) {
if (StrUtil.isEmpty(basicSkPrescribeDiRequest.getAdNum()))
return ResultVOUtils.error(500, "病人住院信息");
List<BasicSkPrescribeDiEntity> basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest);
if (CollUtil.isEmpty(basicSkPrescribeResponses)) {
BasicSkSickerEntity basicSkSickerEntity = basicSkSickerService.findByAdNum(basicSkPrescribeDiRequest.getAdNum());
GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest();
getSickPrescribeRequest.setSickCode(basicSkSickerEntity.getCode());
getSickPrescribeRequest.setAdNum(basicSkSickerEntity.getAdNum());
basicSkPrescribeService.downloadSickerPrescribe(getSickPrescribeRequest);
basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest);
}
PageInfo<BasicSkPrescribeDiEntity> pageInfo = new PageInfo<>(basicSkPrescribeResponses);
PageSimpleResponse<BasicSkPrescribeDiEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(basicSkPrescribeResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
}

@ -41,6 +41,15 @@ public class BasicSickerController extends BaseController {
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("/udiwms/basic/sk/sicker/filter/noPage")
public BaseResponse filterSickerNoPage(BasicSkSickerRequest basicSkSickerRequest) {
List<BasicSkSickerResponse> basicSkSickerResponses = basicSkSickerService.filterNoList(basicSkSickerRequest);
PageSimpleResponse<BasicSkSickerResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setList(basicSkSickerResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
@CusRedissonAnnotation(cacheName = RedissonCacheKey.DL_SICKER, key = {"#getSickRequest.thirdSys"}, waitTime = 3, timeOutMsg = "后台正在下载,请勿重复提交")
@PostMapping("/udiwms/basic/sk/sicker/download")
public BaseResponse sickerDl(@RequestBody GetSickRequest getSickRequest, BindingResult bindingResult) {

@ -1,22 +1,33 @@
package com.glxp.api.controller.dev;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.RandomUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceChangeLogEntity;
import com.glxp.api.entity.dev.DeviceInfoEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.dev.DeviceInfoDetailQuery;
import com.glxp.api.req.dev.DeviceInfoQuery;
import com.glxp.api.req.dev.FilterDeptDeviceRequest;
import com.glxp.api.req.dev.FilterDeviceReceiveOrderRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.dev.DeptDeviceDetailResponse;
import com.glxp.api.service.dev.DeviceChangeLogService;
import com.glxp.api.service.dev.DeviceInfoService;
import com.glxp.api.service.system.SystemPDFModuleService;
import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.util.JasperUtils;
import com.glxp.api.vo.dev.DeviceChangeLogVo;
import com.glxp.api.vo.dev.DeviceInfoVo;
import com.google.zxing.BarcodeFormat;
@ -27,10 +38,13 @@ import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.awt.*;
@ -38,6 +52,7 @@ import java.awt.font.LineMetrics;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.List;
@ -52,6 +67,9 @@ public class DeviceInfoController extends BaseController {
private final DeviceChangeLogService deviceChangeLogService;
@Value("${file_path}")
private String filePath;
/**
*
*
@ -306,4 +324,54 @@ public class DeviceInfoController extends BaseController {
}
}
@Resource
private SystemPDFModuleService systemPDFModuleService;
@Resource
private SystemPDFTemplateService systemPDFTemplateService;
/**
*
*
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inv/deptDevice/printOrder1")
public BaseResponse printLabel(@RequestBody DeviceInfoDetailQuery query, HttpServletRequest request, HttpServletResponse response) throws Exception {
List<DeviceInfoVo> list = deviceInfoService.detail(query);
if (CollUtil.isEmpty(list)) {
throw new JsonException("未找到该设备,无法生成");
}
DeviceInfoVo obj = list.get(0);
SysPdfTemplateRelevanceLabelEntity sysPdfTemplateRelevanceLabelEntity = systemPDFModuleService.selectByLabelId("5");
if (null == sysPdfTemplateRelevanceLabelEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误");
}
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceLabelEntity.getTemplateId()));
if (null == systemPDFTemplateEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误");
}
//打印单号标签
Map<String, Object> data = new HashMap<>(1);
Map<String, Object> supData = new HashMap<>();
supData.put("deviceCode", obj.getDeviceCode() == null ? ' ' : obj.getDeviceCode());
supData.put("deptName", obj.getDeptName() == null ? ' ' : obj.getDeptName());
supData.put("productName", obj.getProductName() == null ? ' ' : obj.getProductName());
supData.put("ggxh", obj.getGgxh() == null ? ' ' : obj.getGgxh());
supData.put("productionDate", obj.getProductionDate() == null ? ' ' : obj.getProductionDate());
supData.put("expireDate", obj.getExpireDate() == null ? ' ' : obj.getExpireDate());
supData.put("batchNo", obj.getBatchNo() == null ? ' ' : obj.getBatchNo());
supData.put("serialNo", obj.getSerialNo() == null ? ' ' : obj.getSerialNo());
supData.put("manufactory", obj.getManufactory() == null ? ' ' : obj.getManufactory());
supData.put("measname", obj.getMeasname() == null ? ' ' : obj.getMeasname());
supData.put("zczbhhzbapzbh", obj.getZczbhhzbapzbh() == null ? ' ' : obj.getZczbhhzbapzbh());
supData.put("supName", obj.getSupName() == null ? ' ' : obj.getSupName());
data.put("data", supData);
String param = JSON.toJSONString(data);
JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf");
return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误");
}
}

@ -519,19 +519,9 @@ public class IoCodeTempController extends BaseController {
}
}
if (addOrderRequest.getFromCorp() == null) {
BasicCorpEntity basicCorpEntity = basicUnitMaintainService.selectByName(addOrderRequest.getFromCorp());
if (basicCorpEntity == null && bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) {
basicCorpEntity = new BasicCorpEntity();
basicCorpEntity.setErpId(CustomUtil.getUnitId());
addOrderRequest.setFromCorp((basicCorpEntity.getErpId()));
basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK);
basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK);
basicCorpEntity.setName(addOrderRequest.getFromCorp());
addOrderRequest.setFromCorp(basicCorpEntity.getName());
basicCorpEntity.setId(IdUtil.getSnowflakeNextId());
basicUnitMaintainService.insert(basicCorpEntity);
}
if (addOrderRequest.getFromCorp() != null) {
String fromCorp = ioAddInoutService.updateCorp(bussinessTypeEntity, addOrderRequest.getFromCorp(), addOrderRequest.getSickerAdNum());
addOrderRequest.setFromCorp(fromCorp);
}
//先生成扫码单据
@ -711,6 +701,7 @@ public class IoCodeTempController extends BaseController {
orderEntity.setInvCode(addOrderRequest.getInvCode());
orderEntity.setOrderType(addOrderRequest.getOrderType());
orderEntity.setBusType(bussinessTypeEntity.getBusType());
orderEntity.setSickerAdNum(addOrderRequest.getSickerAdNum());
orderService.insertOrder(orderEntity);
}

@ -318,7 +318,7 @@ public class IoOrderController extends BaseController {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction());
//要是特殊往来信息没有就创建
orderEntity.setFromCorp(ioAddInoutService.updateCorp(bussinessTypeEntity, addOrderRequest.getFromCorp()));
orderEntity.setFromCorp(ioAddInoutService.updateCorp(bussinessTypeEntity, addOrderRequest.getFromCorp(), addOrderRequest.getSickerAdNum()));
orderEntity.setAction(addOrderRequest.getAction());
orderEntity.setMainAction(bussinessTypeEntity.getMainAction());
orderEntity.setRemark(addOrderRequest.getRemark());

@ -14,6 +14,8 @@ public interface BasicSkSickerMapper extends BaseMapperPlus<BasicSkSickerMapper,
List<BasicSkSickerResponse> filterList(BasicSkSickerRequest basicSkSickerRequest);
List<BasicSkSickerResponse> filterNoList(BasicSkSickerRequest basicSkSickerRequest);
}

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.apache.xpath.operations.Bool;
import java.util.Date;
@ -460,4 +461,11 @@ public class BasicBussinessTypeEntity {
private Integer deptNoInvType;
/**
*
*/
@TableField(value = "vailPrescribe")
private Boolean vailPrescribe;
}

@ -141,4 +141,8 @@ public class BasicCorpEntity {
private String remark;
@TableField(value = "adSickNum")
private String adSickNum;
}

@ -7,19 +7,21 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.glxp.api.util.BigDecimalUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
*/
@ApiModel(value="com-glxp-api-entity-basic-BasicSkPrescribe")
*
*/
@ApiModel(value = "com-glxp-api-entity-basic-BasicSkPrescribe")
@Data
@Builder
@AllArgsConstructor
@ -32,28 +34,35 @@ public class BasicSkPrescribeEntity {
*
*/
@TableId(value = "code")
@ApiModelProperty(value="处方编码")
@ApiModelProperty(value = "处方编码")
private String code;
/**
*
*/
@TableField(value = "sickerCode")
@ApiModelProperty(value="病人编码")
@ApiModelProperty(value = "病人编码")
private String sickerCode;
/**
*
*/
@TableField(value = "adNum")
@ApiModelProperty(value = "患者住院号")
private String adNum;
/**
*
*/
@TableField(value = "prescribeDate")
@ApiModelProperty(value="开方时间")
@ApiModelProperty(value = "开方时间")
private LocalDateTime prescribeDate;
/**
*
*/
@TableField(value = "createDr")
@ApiModelProperty(value="开方医生")
@ApiModelProperty(value = "开方医生")
private String createDr;
/**
*
@ -65,52 +74,52 @@ public class BasicSkPrescribeEntity {
*
*/
@TableField(value = "deptCode")
@ApiModelProperty(value="就诊科室编码")
@ApiModelProperty(value = "就诊科室编码")
private String deptCode;
/**
*
*/
@TableField(value = "deptName")
@ApiModelProperty(value="就诊科室名称")
@ApiModelProperty(value = "就诊科室名称")
private String deptName;
/**
*
*/
@TableField(value = "diagnosis")
@ApiModelProperty(value="诊断内容")
@ApiModelProperty(value = "诊断内容")
private String diagnosis;
@TableField(value = "remark")
@ApiModelProperty(value="")
@ApiModelProperty(value = "")
private String remark;
/**
*
*/
@TableField(value = "`createUser`")
@ApiModelProperty(value="创建人")
@ApiModelProperty(value = "创建人")
private String createUser;
/**
*
*/
@TableField(value = "createTime")
@ApiModelProperty(value="创建时间")
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
*
*/
@TableField(value = "updateUser")
@ApiModelProperty(value="更新人")
@ApiModelProperty(value = "更新人")
private String updateUser;
/**
*
*/
@TableField(value = "updateTime")
@ApiModelProperty(value="更新时间")
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
}

@ -285,5 +285,11 @@ public class IoOrderEntity {
@TableField(value = "preInSelected")
private Integer preInSelected;
/**
*
*/
@TableField(value = "sickerAdNum")
private String sickerAdNum;
}

@ -110,4 +110,6 @@ public class BasicSkSickerRequest extends ListPageRequest {
*
*/
private String remark;
private String key;
}

@ -313,4 +313,5 @@ public class BussinessTypeSaveRequest {
* 0:1
*/
private Integer deptNoInvType;
private Boolean vailPrescribe;
}

@ -133,5 +133,6 @@ public class FilterBussinessTypeRequest extends ListPageRequest {
*
*/
private String detailType;
private Boolean vailPrescribe;
}

@ -42,4 +42,5 @@ public class AddOrderRequest {
//预验收价格
private String preInPrice;
private String preInBatchNo;
private String sickerAdNum;
}

@ -25,6 +25,11 @@ public class OrderEditRequest {
*/
private Integer preInSelected;
/**
*
*/
private String sickerAdNum;
/**
*
*/

@ -189,4 +189,5 @@ public class BasicBussinessTypeResponse {
* 0:1
*/
private Integer deptNoInvType;
private Boolean vailPrescribe;
}

@ -0,0 +1,122 @@
package com.glxp.api.res.basic;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class BasicSkPrescribeDiResponse {
/**
*
*/
@TableId(value = "id")
private Long id;
/**
*
*/
@TableField(value = "pId")
private Long pId;
/**
*
*/
@TableField(value = "sickerCode")
private String sickerCode;
/**
*
*/
@TableField(value = "prescribeCode")
private String prescribeCode;
/**
*
*/
@TableField(value = "adNum")
private String adNum;
/**
* id
*/
@TableField(value = "relId")
private Long relId;
/**
* DI
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "thrName")
private String thrName;
/**
*
*/
@TableField(value = "thrCode")
private String thrCode;
/**
*
*/
@TableField(value = "measureCount")
private String measureCount;
/**
*
*/
@TableField(value = "measureUnit")
private String measureUnit;
/**
*
*/
@TableField(value = "category")
private String category;
/**
*
*/
@TableField(value = "frequency")
private String frequency;
/**
*
*/
@TableField(value = "count")
private Integer count;
/**
*
*/
@TableField(value = "price")
private BigDecimal price;
/**
*
*/
@TableField(value = "ggxh")
private String ggxh;
/**
*
*/
@TableField(value = "remark")
private String remark;
/**
*
*/
@TableField(value = "amount")
private BigDecimal amount;
}

@ -1,6 +1,7 @@
package com.glxp.api.res.inout;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.math.BigDecimal;
@ -247,6 +248,10 @@ public class IoOrderResponse {
*
*/
private Integer preInSelected;
/**
*
*/
private String sickerAdNum;
private String fromSpmsOrders; //自助单据号

@ -51,7 +51,7 @@ public class ThrProductsResponse {
private String remark;
private String manufactoryCode;
private String supCode;
private String prcitmcode;
public String getSpec() {
if(StrUtil.isNotEmpty(spec)){

@ -6,6 +6,7 @@ import com.glxp.api.req.auth.FilterInvSubWarehouseRequest;
import com.glxp.api.req.auth.FilterInvWarehouseRequest;
import com.glxp.api.res.auth.InvSubWarehouseResponse;
import com.glxp.api.res.auth.InvWarehouseThirdSysResponse;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
@ -105,5 +106,9 @@ public interface InvWarehouseService extends IService<InvWarehouseEntity> {
InvWarehouseEntity findNoInvTypeInv(Integer noInvType, String invCode);
InvWarehouseEntity findByPreInInv();
InvWarehouseEntity findByPreInv();
}

@ -296,7 +296,7 @@ public class InvWarehouseServiceImpl extends ServiceImpl<InvWarehouseDao, InvWar
if (StrUtil.isEmpty(invWarehouseEntity.getParentCode()))
return invWarehouseEntity;
else return findByInvSubByCode(invWarehouseEntity.getParentCode());
} else if (IntUtil.value(noInvType) == 2) {
} else if (IntUtil.value(noInvType) == 2) {
while (StrUtil.isNotEmpty(invWarehouseEntity.getParentCode())) {
invWarehouseEntity = invWarehouseDao.selectOne(
new QueryWrapper<InvWarehouseEntity>().eq("code", invWarehouseEntity.getParentCode()).last("limit 1"));
@ -304,4 +304,16 @@ public class InvWarehouseServiceImpl extends ServiceImpl<InvWarehouseDao, InvWar
}
return invWarehouseEntity;
}
@Override
public InvWarehouseEntity findByPreInInv() {
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper<InvWarehouseEntity>().eq("advanceType", 2).last("limit 1"));
return invWarehouseEntity;
}
@Override
public InvWarehouseEntity findByPreInv() {
InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper<InvWarehouseEntity>().eq("advanceType", 3).last("limit 1"));
return invWarehouseEntity;
}
}

@ -11,7 +11,9 @@ import java.util.List;
public interface BasicCorpService {
List<BasicCorpEntity> filterList(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest);
List<BasicCorpEntity> filterList2(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest);
boolean insertBasicUnitMaintain(BasicCorpEntity basicCorpEntity);
boolean updateById(BasicCorpEntity basicCorpEntity);
@ -32,6 +34,9 @@ public interface BasicCorpService {
BasicCorpEntity selectByName(String name);
BasicCorpEntity findBySickAdNum(String adNum);
boolean isExit();

@ -76,6 +76,7 @@ public class BasicSkPrescribeService extends ServiceImpl<BasicSkPrescribeMapper,
BasicSkPrescribeEntity basicSkPrescribeEntity = new BasicSkPrescribeEntity();
BeanUtil.copyProperties(item, basicSkPrescribeEntity);
basicSkPrescribeEntity.setSickerCode(item.getSickCode());
basicSkPrescribeEntity.setAdNum(request.getAdNum());
List<BasicSkPrescribeItemEntity> skPrescribeItemEntities = item.getItemList();
if (CollUtil.isNotEmpty(skPrescribeItemEntities)) {
basicSkPrescirbeDetailService.remove(new QueryWrapper<BasicSkPrescribeItemEntity>().eq("prescribeCode", item.getCode()));

@ -1,6 +1,7 @@
package com.glxp.api.service.basic;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
@ -30,6 +31,8 @@ public class BasicSkSickerService extends ServiceImpl<BasicSkSickerMapper, Basic
BasicSkSickerMapper basicSkSickerMapper;
@Resource
ErpBasicClient erpBasicClient;
@Resource
RedisUtil redisUtil;
public List<BasicSkSickerResponse> filterList(BasicSkSickerRequest basicSkSickerRequest) {
if (basicSkSickerRequest == null) {
@ -43,8 +46,24 @@ public class BasicSkSickerService extends ServiceImpl<BasicSkSickerMapper, Basic
return data;
}
@Resource
RedisUtil redisUtil;
public List<BasicSkSickerResponse> filterNoList(BasicSkSickerRequest basicSkSickerRequest) {
if (basicSkSickerRequest == null) {
return Collections.emptyList();
}
List<BasicSkSickerResponse> data = basicSkSickerMapper.filterNoList(basicSkSickerRequest);
return data;
}
public List<BasicSkSickerEntity> findBySickCode(String sickCode) {
return basicSkSickerMapper.selectList(new QueryWrapper<BasicSkSickerEntity>().eq("code", sickCode));
}
public BasicSkSickerEntity findByAdNum(String adNum) {
return basicSkSickerMapper.selectOne(new QueryWrapper<BasicSkSickerEntity>().eq("adNum", adNum).last("limit 1"));
}
public BaseResponse downloadSicker(GetSickRequest request, Integer startPage) {
int page = (int) redisUtil.get("thr_sicker_page");

@ -36,6 +36,7 @@ public class BasicCorpServiceImpl implements BasicCorpService {
List<BasicCorpEntity> data = basicCorpDao.filterList(basicUnitMaintainFilterRequest);
return data;
}
@Override
public List<BasicCorpEntity> filterList2(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest) {
if (basicUnitMaintainFilterRequest == null) {
@ -49,6 +50,7 @@ public class BasicCorpServiceImpl implements BasicCorpService {
List<BasicCorpEntity> data = basicCorpDao.filterList2(basicUnitMaintainFilterRequest);
return data;
}
@Override
public boolean insertThrUnitMaintainignore(BasicCorpEntity thrUnitMaintainResponse) {
thrUnitMaintainResponse.setUpdateTime(new Date());
@ -168,6 +170,11 @@ public class BasicCorpServiceImpl implements BasicCorpService {
return basicCorpDao.selectByName(name);
}
@Override
public BasicCorpEntity findBySickAdNum(String adNum) {
return basicCorpDao.selectOne(new QueryWrapper<BasicCorpEntity>().eq("adSickNum", adNum).last("limit 1"));
}
@Override
public boolean isExit() {
BasicUnitMaintainFilterRequest filterUdiInfoRequest = new BasicUnitMaintainFilterRequest();

@ -1,6 +1,8 @@
package com.glxp.api.service.inout;
import cn.hutool.core.bean.BeanUtil;
import com.glxp.api.entity.basic.*;
import com.glxp.api.service.basic.*;
import com.glxp.api.service.inout.impl.IoCodeService;
import com.glxp.api.service.inv.impl.InvProductDetailService;
import lombok.extern.slf4j.Slf4j;
@ -17,10 +19,6 @@ import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType;
import com.glxp.api.dao.inout.IoOrderDetailCodeDao;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiRlSupEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity;
@ -28,10 +26,6 @@ import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest;
import com.glxp.api.req.inout.PdaPostOrderRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.BasicCorpService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.basic.UdiRlSupService;
import com.glxp.api.service.inv.InvPreProductDetailService;
import com.glxp.api.service.inv.InvPreinProductDetailService;
import com.glxp.api.service.system.SystemParamConfigService;
@ -115,23 +109,7 @@ public class IoAddInoutService {
orderService.update(orderEntity);
return;
} else if (StrUtil.isNotEmpty(orderEntity.getFromCorp())) {
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) {
BasicCorpEntity basicCorpEntity = basicCorpService.selectByName(orderEntity.getFromCorp());
if (basicCorpEntity == null) {
basicCorpEntity = new BasicCorpEntity();
basicCorpEntity.setErpId(CustomUtil.getUnitId());
basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK);
basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK);
basicCorpEntity.setName(orderEntity.getFromCorp());
basicCorpEntity.setId(IdUtil.getSnowflakeNextId());
basicCorpService.insert(basicCorpEntity);
}
orderEntity.setFromCorp(basicCorpEntity.getErpId());
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
}
updateCorp(bussinessTypeEntity, orderEntity.getFromCorp(), orderEntity.getSickerAdNum());
}
@ -861,22 +839,36 @@ public class IoAddInoutService {
}
@Resource
BasicSkSickerService basicSkSickerService;
/**
*
*/
public String updateCorp(BasicBussinessTypeEntity bussinessTypeEntity, String fromCorp) {
public String updateCorp(BasicBussinessTypeEntity bussinessTypeEntity, String fromCorp, String adNum) {
BasicCorpEntity basicCorpEntity;
BasicSkSickerEntity basicSkSickerEntity;
//要是特殊往来信息没有就创建
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) {
basicCorpEntity = basicCorpService.selectByName(fromCorp);
if (StrUtil.isNotEmpty(adNum)) {
basicCorpEntity = basicCorpService.findBySickAdNum(adNum);
if (basicCorpEntity == null) {
basicSkSickerEntity = basicSkSickerService.findByAdNum(adNum);
if (basicSkSickerEntity != null) {
basicCorpEntity = new BasicCorpEntity();
basicCorpEntity.setName(basicSkSickerEntity.getName() + " " + basicSkSickerEntity.getAdNum());
basicCorpEntity.setAdSickNum(basicSkSickerEntity.getAdNum());
genBasicCorp(basicCorpEntity);
}
}
} else {
basicCorpEntity = basicCorpService.selectByName(fromCorp);
}
if (basicCorpEntity == null) {
basicCorpEntity = new BasicCorpEntity();
basicCorpEntity.setErpId(CustomUtil.getUnitId());
basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK);
basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK);
basicCorpEntity.setName(fromCorp);
basicCorpEntity.setId(IdUtil.getSnowflakeNextId());
basicCorpService.insert(basicCorpEntity);
genBasicCorp(basicCorpEntity);
}
return basicCorpEntity.getErpId();
@ -885,6 +877,15 @@ public class IoAddInoutService {
}
}
public void genBasicCorp(BasicCorpEntity basicCorpEntity) {
basicCorpEntity.setErpId(CustomUtil.getUnitId());
basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK);
basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK);
basicCorpEntity.setId(IdUtil.getSnowflakeNextId());
basicCorpService.insert(basicCorpEntity);
}
public BaseResponse checkSubmitEnable(IoOrderEntity orderEntity) {
if (orderEntity == null) {
return ResultVOUtils.error(500, "提交失败,请先添加物资!");

@ -204,13 +204,13 @@ public class IoChangeInoutService {
} else if (bussinessChangeTypeEntity.getCreateType() == 3) { //预验收转入库单模式
outOrder.setCustomerId(corpName);
outOrder.setFromCorp(corpName);
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE);
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInInv();
outOrder.setFromInvCode(invWarehouseEntity.getCode());
outOrder.setFromDeptCode(invWarehouseEntity.getParentId());
} else if (bussinessChangeTypeEntity.getCreateType() == 4) { //寄售转入库单模式
outOrder.setCustomerId(corpName);
outOrder.setFromCorp(corpName);
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_CODE);
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInv();
outOrder.setFromInvCode(invWarehouseEntity.getCode());
outOrder.setFromDeptCode(invWarehouseEntity.getParentId());
} else if (bussinessChangeTypeEntity.getCreateType() == 5) { //退货出库

@ -1133,7 +1133,8 @@ public class IoCheckInoutService {
outOrder.setId(null);
outOrder.setMainAction(ConstantType.TYPE_OUT);
outOrder.setAction(basicBussinessTypeEntity.getPreInBackAction());
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE);
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInInv();
// InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE);
outOrder.setInvCode(invWarehouseEntity.getCode());
outOrder.setDeptCode(invWarehouseEntity.getParentId());
outOrder.setFromCorp(codeEntity.getSupId());

@ -253,11 +253,12 @@ public class ThrProductsServiceImpl extends ServiceImpl<ThrProductsDao, ThrProdu
@Override
public BaseResponse downloadByRequest(FilterThrProductsRequest filterThrProductsRequest) {
int page = 1;
int limit = 100;
int limit = 50;
filterThrProductsRequest.setThirdSysFk(filterThrProductsRequest.getThirdSys());
filterThrProductsRequest.setLimit(limit);
log.error("开始下载-------");
int count = 0;
int otherCount = 0;
while (true) {
log.error("下载分页-------" + page);
filterThrProductsRequest.setPage(page);
@ -299,9 +300,9 @@ public class ThrProductsServiceImpl extends ServiceImpl<ThrProductsDao, ThrProdu
break;
}
} else {
if (count == 0) {
if (otherCount < 3) {
page++;
count++;
otherCount++;
} else
return ResultVOUtils.error(500, "下载第三方系统产品信息异常");
}

@ -41,7 +41,7 @@
<select id="filterList" parameterType="com.glxp.api.req.basic.BasicSkPrescribeDiRequest"
resultType="com.glxp.api.entity.basic.BasicSkPrescribeDiEntity">
resultType="com.glxp.api.res.basic.BasicSkPrescribeDiResponse">
SELECT *
FROM basic_sk_prescribe_item_detail
<where>

@ -40,20 +40,42 @@
FROM basic_sk_sicker
LEFT JOIN auth_user cb ON basic_sk_sicker.createUser = cb.id
<where>
<if test="key != '' and key != null">
AND (basic_sk_sicker.name LIKE concat('%', #{key}, '%') or
basic_sk_sicker.adNum LIKE concat('%', #{key}, '%'))
</if>
<if test="name != '' and name != null">
AND name LIKE concat('%', #{name}, '%')
AND basic_sk_sicker.name LIKE concat('%', #{name}, '%')
</if>
<if test="adNum != '' and adNum != null">
AND adNum LIKE concat('%', #{adNum}, '%')
AND basic_sk_sicker.adNum LIKE concat('%', #{adNum}, '%')
</if>
<if test="code != '' and code != null">
AND code LIKE concat('%', #{code}, '%')
AND basic_sk_sicker.code LIKE concat('%', #{code}, '%')
</if>
</where>
</select>
<select id="filterNoList" parameterType="com.glxp.api.req.basic.BasicSkSickerRequest"
resultType="com.glxp.api.res.basic.BasicSkSickerResponse">
SELECT *, cb.userName as createByName
FROM basic_sk_sicker
LEFT JOIN auth_user cb ON basic_sk_sicker.createUser = cb.id
<where>
<if test="key != '' and key != null">
AND (basic_sk_sicker.name LIKE concat('%', #{key}, '%') or
basic_sk_sicker.adNum LIKE concat('%', #{key}, '%'))
</if>
<if test="name != '' and name != null">
AND basic_sk_sicker.name LIKE concat('%', #{name}, '%')
</if>
<if test="adNum != '' and adNum != null">
AND basic_sk_sicker.adNum LIKE concat('%', #{adNum}, '%')
</if>
<if test="code != '' and code != null">
AND basic_sk_sicker.code LIKE concat('%', #{code}, '%')
</if>
</where>
limit 1,10
</select>
</mapper>

@ -171,7 +171,7 @@
(id, code, `name`, measname, spec, registerNo, manufactory,
cplb, flbm, qxlb, ybbm, sptm, tyshxydm, zczbhhzbapzbh, ylqxzcrbarmc, ylqxzcrbarywmc, cpms,
thirdSysFk, updateTime, supName, model, standard, qtbm, zczyxqz, remark, remark1, remark2, remark3,
price, createUser, createTime, updateUser, manufactoryCode, supCode, type)
price, createUser, createTime, updateUser, manufactoryCode, supCode, type, prcitmcode)
values (#{id},
#{code},
#{name},
@ -203,7 +203,7 @@
#{price},
#{createUser},
#{createTime},
#{updateUser}, #{manufactoryCode}, #{supCode}, #{type})
#{updateUser}, #{manufactoryCode}, #{supCode}, #{type}, #{prcitmcode})
</insert>
<select id="selectByLastTime" resultType="com.glxp.api.entity.thrsys.ThrProductsEntity">
@ -219,7 +219,7 @@
cplb, flbm, qxlb, ybbm, sptm, tyshxydm, zczbhhzbapzbh, ylqxzcrbarmc, ylqxzcrbarywmc, cpms,
thirdSysFk, updateTime, supName, model, standard, qtbm, zczyxqz, remark, remark1, remark2, remark3,
price,
createUser, createTime, updateUser, manufactoryCode, supCode, type)
createUser, createTime, updateUser, manufactoryCode, supCode, type, prcitmcode)
values
<foreach collection="list" index="index" item="item" open="(" close=")" separator=",">
#{item.code},
@ -252,7 +252,7 @@
#{item.price},
#{item.createUser},
#{item.createTime},
#{item.updateUser}, #{manufactoryCode}, #{supCode}, #{type}
#{item.updateUser}, #{item.manufactoryCode}, #{item.supCode}, #{item.type}, #{item.prcitmcode}
</foreach>
</insert>
@ -286,7 +286,7 @@
remark3,
price,
manufactoryCode,
supCode
supCode,prcitmcode
from thr_products
<where>
<if test="code != null and code != ''">
@ -330,7 +330,8 @@
price = #{price,jdbcType=VARCHAR},
manufactoryCode = #{manufactoryCode,jdbcType=VARCHAR},
supCode = #{supCode,jdbcType=VARCHAR},
type = #{type,jdbcType=VARCHAR}
type = #{type,jdbcType=VARCHAR},
prcitmcode = #{prcitmcode,jdbcType=VARCHAR},
</set>
where id = #{id,jdbcType=INTEGER}
</update>

@ -1008,3 +1008,4 @@ CALL Pro_Temp_ColumnWork('io_stat_year', 'invCode', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('auth_warehouse', 'lyInvType', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('pur_receive_detail', 'price', 'decimal(10, 2)', 1);
CALL Pro_Temp_ColumnWork('basic_corp', 'adSickNum', 'varchar(255)', 1);

@ -160,7 +160,10 @@ CALL Pro_Temp_ColumnWork('basic_udirel', 'uploadMsg', 'varchar(1024)', 1);
CALL Pro_Temp_ColumnWork('thr_products', 'prcitmcode', '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);
CALL Pro_Temp_ColumnWork('basic_sk_prescribe_item_detail', 'amount', 'decimal(10, 3)', 1);
CALL Pro_Temp_ColumnWork('basic_sk_prescribe_item_detail', 'adNum', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailPrescribe', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('io_order', 'sickerAdNum', 'varchar(255)', 1);

Loading…
Cancel
Save