校验方式修改,1.三期,无三期,扫码单生成业务单,等一些功能修改

workplace
anthonywj 11 months ago
parent 08b714b43b
commit dcd227d367

@ -0,0 +1,13 @@
package com.glxp.api.constant;
public interface WorkOperType {
Integer TYPE_GEN_ORDER = 1; //扫码生成业务单(必须插入)
Integer TYPE_VAIL_BATCH = 2; //按单校验三期(是否插入可选)
Integer TYPE_UNVAIL_BATCH = 3; //按单不校验三期(是否插入可选)
Integer TYPE_INSERT = 1;
Integer TYPE_NOT_INSERT = 2;
}

@ -157,8 +157,8 @@ public class UdiRelevanceController extends BaseController {
List<UdiRelevanceResponse> temps = udiRelevanceService.filterUdiGp(filterUdiRelRequest);
if (temps != null && temps.size() > 0) {
filterUdiRelRequest.setOriginUuid(temps.get(0).getOriginUuid());
filterUdiRelRequest.setNameCode(null);
}
filterUdiRelRequest.setNameCode(null);
}
} else {

@ -6,7 +6,10 @@ import com.github.pagehelper.PageInfo;
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.constant.WorkOperType;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.SysWorkplace;
import com.glxp.api.entity.basic.BasicCollectBustypeEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderBiz;
@ -16,6 +19,8 @@ import com.glxp.api.req.inout.AddTagCodeReqeust;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.collect.CollectOrderCodeManResponse;
import com.glxp.api.service.auth.SysWorkplaceService;
import com.glxp.api.service.basic.BasicCollectBustypeService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.collect.IoCollectOrderBizService;
import com.glxp.api.service.collect.IoCollectOrderCodeManService;
@ -74,6 +79,10 @@ public class IoCollectOrderCodeManController extends BaseController {
return ResultVOUtils.success(pageSimpleResponse);
}
@Resource
BasicCollectBustypeService bustypeService;
@Resource
SysWorkplaceService sysWorkPlaceService;
/**
* )
@ -88,6 +97,9 @@ public class IoCollectOrderCodeManController extends BaseController {
}
IoCollectOrder collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo());
BasicCollectBustypeEntity bustypeEntity = bustypeService.findByCode(collectOrder.getBusType());
SysWorkplace workPlace = sysWorkPlaceService.getWorkplace(collectOrder.getWorkPlaceCode());
if (collectOrder == null)
return ResultVOUtils.error(500, "单据不存在!");
//1.校验UDI码完整性
@ -105,18 +117,49 @@ public class IoCollectOrderCodeManController extends BaseController {
return ResultVOUtils.error(500, "耗材字典不存在此产品!");
else
udiRelevanceResponse = udiRelevanceResponses.get(0);
//2.校验是否处方单UDI码
IoCollectOrderBiz collectOrderBiz = null;
List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(addTagCodeReqeust.getBillNo());
IoCollectOrderBiz collectOrderBiz = vailPrescribeProduct(udiRelevanceResponses, collectOrderBizs, udiEntity);
if (collectOrderBiz == null)
return ResultVOUtils.error(500, "非此单据UDI码");
//3.校验该UDI码是否已经出库是否在预出库队列
Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
if (!b1) {
return ResultVOUtils.error(500, "该UDI码未出库无法使用");
//2.校验是否处方单UDI码
if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_GEN_ORDER) {
//直接扫码单生成业务单
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
collectOrderBizService.saveOrUpdate(collectOrderBiz);
} else if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_VAIL_BATCH) {
//3.校验该UDI码是否已经出库是否在预出库队列
Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
if (!b1) {
return ResultVOUtils.error(500, "该追溯码未上货,无法使用!");
}
//按单校验三期
collectOrderBiz = vailByBatchNo(udiRelevanceResponses, collectOrderBizs, udiEntity);
if (collectOrderBiz == null)
return ResultVOUtils.error(500, "非此单据追溯码!");
else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + 1);
}
} else if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_UNVAIL_BATCH) {
//3.校验该UDI码是否已经出库是否在预出库队列
Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
if (!b1) {
return ResultVOUtils.error(500, "该追溯码未上货,无法使用!");
}
//按单不校验三期
collectOrderBiz = vailNoBatchNo(udiRelevanceResponses, collectOrderBizs);
if (collectOrderBiz == null)
return ResultVOUtils.error(500, "非此单据追溯码!");
else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + 1);
}
}
//4.
collectOrderBizService.updateById(collectOrderBiz);
IoCollectOrderCodeMan exitCode = collectOrderCodeManService.findByCode(collectOrderBiz.getOrderIdFk(), code);
if (StrUtil.isEmpty(udiEntity.getSerialNo()) && exitCode != null) {
exitCode.setScanCount(IntUtil.value(exitCode.getScanCount()) + 1);
@ -127,8 +170,12 @@ public class IoCollectOrderCodeManController extends BaseController {
IoCollectOrderCodeMan collectOrderCodeMan =
IoCollectOrderCodeMan.builder()
.udiCode(code)
.orderIdFk(collectOrder.getBillNo())
.relId(collectOrderBiz.getRelId())
.nameCode(udiRelevanceResponse.getNameCode())
.batchNo(udiEntity.getBatchNo())
.productDate(udiEntity.getProduceDate())
.expireDate(udiEntity.getExpireDate())
.createTime(new Date())
.createUser(getUserId())
.updateTime(new Date())
@ -141,10 +188,46 @@ public class IoCollectOrderCodeManController extends BaseController {
}
public IoCollectOrderBiz vailPrescribeProduct(List<UdiRelevanceResponse> udiRelevanceResponses, List<IoCollectOrderBiz> collectOrderBizs, UdiEntity udiEntity) {
public IoCollectOrderBiz scanGenOrder(List<UdiRelevanceResponse> udiRelevanceResponses, List<IoCollectOrderBiz> collectOrderBizs, UdiEntity udiEntity) {
for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) {
for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {
if (udiRelevanceResponse.getId().equals(collectOrderBiz.getRelId()) &&
(StrUtil.isNotEmpty(collectOrderBiz.getBatchNo()) && collectOrderBiz.getBatchNo().equals(udiEntity.getBatchNo()))
) {
collectOrderBiz.setCount(IntUtil.value(collectOrderBiz.getCount()) + 1);
collectOrderBiz.setScanCount(IntUtil.value(collectOrderBiz.getScanCount()) + 1);
return collectOrderBiz;
}
}
}
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0);
return IoCollectOrderBiz.builder()
.relId(udiRelevanceResponse.getRelId())
.thrCode(udiRelevanceResponse.getMainId())
.ybbm(udiRelevanceResponse.getYbbm())
.payFeeCode(udiRelevanceResponse.getPayFeeCode())
.cpmctymc(udiRelevanceResponse.getCpmctymc())
.nameCode(udiRelevanceResponse.getNameCode())
.ggxh(udiRelevanceResponse.getGgxh())
.batchNo(udiEntity.getBatchNo())
.productDate(udiEntity.getProduceDate())
.expireDate(udiEntity.getExpireDate())
.count(1)
.actCount(1)
.scanCount(1)
.scanActCount(1)
.measureUnit(udiRelevanceResponse.getMeasname())
.createTime(new Date())
.updateTime(new Date())
.build();
}
public IoCollectOrderBiz vailByBatchNo(List<UdiRelevanceResponse> udiRelevanceResponses, List<IoCollectOrderBiz> collectOrderBizs, UdiEntity udiEntity) {
for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) {
for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {
if (udiRelevanceResponse.getId().equals(collectOrderBiz) &&
if (udiRelevanceResponse.getId().equals(collectOrderBiz.getRelId()) &&
(StrUtil.isNotEmpty(collectOrderBiz.getBatchNo()) && collectOrderBiz.getBatchNo().equals(udiEntity.getBatchNo()))
) {
return collectOrderBiz;
@ -156,4 +239,18 @@ public class IoCollectOrderCodeManController extends BaseController {
}
public IoCollectOrderBiz vailNoBatchNo(List<UdiRelevanceResponse> udiRelevanceResponses, List<IoCollectOrderBiz> collectOrderBizs) {
for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) {
for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {
if (udiRelevanceResponse.getId().equals(collectOrderBiz.getRelId())
) {
return collectOrderBiz;
}
}
}
return null;
}
}

@ -11,9 +11,8 @@ import java.io.Serializable;
import java.util.Date;
/**
*
* @TableName system_workplace
*/
* @TableName system_workplace
*/
@Data
@TableName(value = "sys_workplace")
@ -26,49 +25,48 @@ public class SysWorkplace implements Serializable {
private Long id;
/**
*
*/
*
*/
@ApiModelProperty("工位编码")
@TableField(value = "workplaceId")
private Long workplaceId;
/**
*
*/
@Size(max= 255,message="编码长度不能超过255")
*
*/
@Size(max = 255, message = "编码长度不能超过255")
@ApiModelProperty("工位名称")
@Length(max= 255,message="编码长度不能超过255")
@Length(max = 255, message = "编码长度不能超过255")
@TableField(value = "workplaceName")
private String workplaceName;
/**
*
*/
*
*/
@ApiModelProperty("所属仓库")
@TableField(value = "invCode")
private Integer invCode;
/**
*
*/
@Size(max= 255,message="编码长度不能超过255")
*
*/
@Size(max = 255, message = "编码长度不能超过255")
@ApiModelProperty("备注")
@Length(max= 255,message="编码长度不能超过255")
@Length(max = 255, message = "编码长度不能超过255")
@TableField(value = "remake")
private String remake;
/**
*
*/
*
*/
@ApiModelProperty("")
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
*
*/
@ApiModelProperty("")
@TableField(value = "updateTime")
private Date updateTime;
@TableField(value = "chargeUser")
private String chargeUser;
@ -76,12 +74,25 @@ public class SysWorkplace implements Serializable {
private Long constituencies;
/**
* 1.(
* 2.
* 3.
*/
@TableField(value = "operationType")
private Integer operationType;
/**
* 1.
* 2.
*/
@TableField(value = "checkInsert")
private Integer checkInsert;
/**
* 1
* 2
*/
@TableField(value = "warnType")
private Integer warnType;
@ -102,6 +113,4 @@ public class SysWorkplace implements Serializable {
private String employeeName;
}

@ -10,16 +10,22 @@ import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
*/
@ApiModel(value = "com-glxp-api-entity-collect-IoCollectOrderBiz")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "io_collect_order_biz")
public class IoCollectOrderBiz implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(value = "")
private Integer id;
/**

@ -64,7 +64,15 @@ public class IoCollectOrderCodeAuto implements Serializable {
@TableField(value = "batchNo")
@ApiModelProperty(value = "批次号")
private String batchNo;
@TableField(value = "productDate")
@ApiModelProperty(value = "")
private String productDate;
@TableField(value = "expireDate")
@ApiModelProperty(value = "")
private String expireDate;
@TableField(value = "serialNo")
@ApiModelProperty(value = "")
private String serialNo;
@TableField(value = "createTime")
@ApiModelProperty(value = "")

@ -45,6 +45,25 @@ public class IoCollectOrderCodeMan implements Serializable {
@ApiModelProperty(value = "")
private String nameCode;
@TableField(value = "productDate")
@ApiModelProperty(value = "")
private String productDate;
@TableField(value = "expireDate")
@ApiModelProperty(value = "")
private String expireDate;
@TableField(value = "batchNo")
@ApiModelProperty(value = "")
private String batchNo;
@TableField(value = "serialNo")
@ApiModelProperty(value = "")
private String serialNo;
@TableField(value = "scanCount")
@ApiModelProperty(value = "")
private Integer scanCount;
@TableField(value = "remark")
@ApiModelProperty(value = "")
private String remark;
@ -65,10 +84,6 @@ public class IoCollectOrderCodeMan implements Serializable {
@ApiModelProperty(value = "")
private Long updateUser;
@TableField(value = "scanCount")
@ApiModelProperty(value = "扫码数量")
private Integer scanCount;
private static final long serialVersionUID = 1L;
}

@ -22,10 +22,10 @@ public class CollectOrderCodeManRequest extends ListPageRequest {
private Date createTime;
private String createUser;
private Long createUser;
private Date updateTime;
private Date updateUser;
private Long updateUser;
}

@ -21,11 +21,19 @@ public class CollectOrderCodeManResponse {
private Date createTime;
private String createUser;
private Long createUser;
private Date updateTime;
private Date updateUser;
private Long updateUser;
private String cpmctymc;
private String ggxh;
private String batchNo;
private Integer scanCount;
private String zczbhhzbapzbh;
private String manufactory;
private String productDate;
private String expireDate;
private String serialNo;
}

@ -1,5 +1,6 @@
package com.glxp.api.service.auth;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -33,7 +34,13 @@ public class SysWorkplaceService extends ServiceImpl<SysWorkplaceDao, SysWorkpla
if (null != request.getPage() && null != request.getLimit()) {
PageHelper.offsetPage((request.getPage() - 1) * request.getLimit(), request.getLimit());
}
List<SysWorkplaceResponse>page = super.baseMapper.filterList(request);
List<SysWorkplaceResponse> page = super.baseMapper.filterList(request);
return page;
}
public SysWorkplace getWorkplace(String code) {
return super.baseMapper.selectOne(
new LambdaQueryWrapper<SysWorkplace>().eq(SysWorkplace::getWorkplaceId, code).last("limit 1"));
}
}

@ -1,19 +1,25 @@
package com.glxp.api.service.basic;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.req.basic.BasicCollectBusTypeRequest;
import com.glxp.api.res.basic.BasicCollectBusTypeResponse;
import lombok.Data;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.basic.BasicCollectBustypeMapper;
import com.glxp.api.entity.basic.BasicCollectBustypeEntity;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class BasicCollectBustypeService extends ServiceImpl<BasicCollectBustypeMapper, BasicCollectBustypeEntity> {
@Resource
BasicCollectBustypeMapper basicCollectBustypeMapper;
public List<BasicCollectBusTypeResponse> filterList(BasicCollectBusTypeRequest request) {
if (null == request) {
return Collections.emptyList();
@ -21,6 +27,11 @@ public class BasicCollectBustypeService extends ServiceImpl<BasicCollectBustypeM
if (null != request.getPage() && null != request.getLimit()) {
PageHelper.offsetPage((request.getPage() - 1) * request.getLimit(), request.getLimit());
}
return super.baseMapper.filterList(request);
return super.baseMapper.filterList(request);
}
public BasicCollectBustypeEntity findByCode(String code) {
return basicCollectBustypeMapper.selectOne(new LambdaQueryWrapper<BasicCollectBustypeEntity>().eq(BasicCollectBustypeEntity::getCode, code).last("limit 1 "));
}
}

@ -3,10 +3,16 @@
<mapper namespace="com.glxp.api.dao.collect.IoCollectOrderCodeAutoMapper">
<select id="filterList" parameterType="com.glxp.api.req.collect.CollectOrderCodeAutoRequest"
resultType="com.glxp.api.res.collect.CollectOrderCodeAutoResponse">
SELECT icoca.*
SELECT icoca.*,
bp.cpmctymc,
bp.ggxh,
bp.zczbhhzbapzbh,
bp.manufactory
FROM io_collect_order_code_auto icoca
left join io_split_code isc
on icoca.codeIdFk = isc.id
left join basic_udirel bu on icoca.relId = bu.id
left join basic_products bp on bu.uuid = bp.uuid
<where>
<if test="codeIdFk != '' and codeIdFk != null">
AND icoca.codeIdFk = #{codeIdFk}

@ -3,8 +3,14 @@
<mapper namespace="com.glxp.api.dao.collect.IoCollectOrderCodeManMapper">
<select id="filterList" parameterType="com.glxp.api.req.collect.CollectOrderCodeManRequest"
resultType="com.glxp.api.res.collect.CollectOrderCodeManResponse">
SELECT icocm.*
SELECT icocm.*,
bp.cpmctymc,
bp.ggxh,
bp.zczbhhzbapzbh,
bp.manufactory
FROM io_collect_order_code_man icocm
left join basic_udirel bu on icocm.relId = bu.id
left join basic_products bp on bu.uuid = bp.uuid
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND icocm.orderIdFk = #{orderIdFk}

Loading…
Cancel
Save