扫码作业问题

workplace
yewj 10 months ago
parent 52b08c7afc
commit 201d03bf4e

@ -6,101 +6,118 @@ 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.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@ApiModel(value="com-glxp-api-entity-collect-IoCollectCode")
@ApiModel(value = "com-glxp-api-entity-collect-IoCollectCode")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "io_collect_code")
public class IoCollectCode implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
@ApiModelProperty(value="")
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(value = "")
private Integer id;
/**
* UDI.
*/
@TableField(value = "code")
@ApiModelProperty(value="追溯码UDI.药品)")
@ApiModelProperty(value = "追溯码UDI.药品)")
private String code;
/**
*
*/
@TableField(value = "fromType")
@ApiModelProperty(value="单据来源")
@ApiModelProperty(value = "单据来源")
private String fromType;
/**
*
*/
@TableField(value = "busType")
@ApiModelProperty(value="单据类型")
@ApiModelProperty(value = "单据类型")
private String busType;
/**
*
*/
@TableField(value = "billNo")
@ApiModelProperty(value="单据号")
private Integer billNo;
@ApiModelProperty(value = "单据号")
private String billNo;
/**
*
*/
@TableField(value = "fromCorp")
@ApiModelProperty(value="往来单位")
@ApiModelProperty(value = "往来单位")
private String fromCorp;
/**
*
*/
@TableField(value = "operTime")
@ApiModelProperty(value="操作时间")
@ApiModelProperty(value = "操作时间")
private Date operTime;
/**
*
*/
@TableField(value = "operUser")
@ApiModelProperty(value="操作人")
@ApiModelProperty(value = "操作人")
private String operUser;
/**
*
*/
@TableField(value = "collectCode")
@ApiModelProperty(value="采集点")
@ApiModelProperty(value = "采集点")
private String collectCode;
/**
*
*/
@TableField(value = "collectUser")
@ApiModelProperty(value="采集点负责人")
@ApiModelProperty(value = "采集点负责人")
private String collectUser;
/**
*
*/
@TableField(value = "workPlaceCode")
@ApiModelProperty(value="工位")
@ApiModelProperty(value = "工位")
private Long workPlaceCode;
/**
*
*/
@TableField(value = "workPlaceUser")
@ApiModelProperty(value="工位负责人")
@ApiModelProperty(value = "工位负责人")
private String workPlaceUser;
/**
*
*/
@TableField(value = "remark")
@ApiModelProperty(value="备注")
@ApiModelProperty(value = "备注")
private String remark;
/**
* 1:2:;3.
*/
@TableField(value = "fifoSplit")
@ApiModelProperty(value = "")
private Integer fifoSplit;
private static final long serialVersionUID = 1L;
}

@ -50,6 +50,10 @@ public class IoCollectOrderCodeAuto implements Serializable {
@ApiModelProperty(value = "处方单号/业务单号")
private String orderIdFk;
@TableField(value = "bizIdFk")
@ApiModelProperty(value = "业务详情ID外键")
private Long bizIdFk;
/**
* ID
*/
@ -93,6 +97,9 @@ public class IoCollectOrderCodeAuto implements Serializable {
@TableField(value = "remark")
@ApiModelProperty(value = "")
private String remark;
/**
* 1:2:;
*/
@TableField(value = "fifoSplit")
@ApiModelProperty(value = "")
private Integer fifoSplit;

@ -8,7 +8,7 @@ import java.util.Date;
public class CollectOrderBizResponse {
private Integer id;
private Long id;
/**
*
*/

@ -1,12 +1,133 @@
package com.glxp.api.service.collect;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderCodeAuto;
import com.glxp.api.entity.collect.IoCollectOrderCodeMan;
import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.util.IntUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.collect.IoCollectCodeMapper;
import com.glxp.api.entity.collect.IoCollectCode;
@Service
public class IoCollectCodeService extends ServiceImpl<IoCollectCodeMapper, IoCollectCode> {
@Resource
IoCollectCodeMapper collectCodeMapper;
@Resource
IoCollectOrderCodeAutoService collectOrderCodeAutoService;
@Resource
IoCollectOrderCodeManService collectOrderCodeManService;
@Resource
IoCollectOrderBizService collectOrderBizService;
@Resource
IoCollectOrderService collectOrderService;
/**
*
*/
public void insertCodesByBill(String billNo) {
IoCollectOrder collectOrder = collectOrderService.getByBillNo(billNo);
CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest();
collectOrderBizRequest.setOrderIdFk(billNo);
List<CollectOrderBizResponse> list = collectOrderBizService.filterList(collectOrderBizRequest);
List<IoCollectOrderCodeAuto> splitCodes = collectOrderCodeAutoService.listByBillNo(collectOrderBizRequest.getOrderIdFk(), 1);
List<IoCollectOrderCodeAuto> unSplitCodes = collectOrderCodeAutoService.listByBillNo(collectOrderBizRequest.getOrderIdFk(), 2);
List<IoCollectOrderCodeMan> manList = collectOrderCodeManService.listByBillNo(collectOrderBizRequest.getOrderIdFk());
for (CollectOrderBizResponse collectOrderBiz : list) {
List<IoCollectOrderCodeMan> temp1 = manList.stream()
.filter(obj -> obj.getBizIdFk().equals(collectOrderBiz.getId()))
.collect(Collectors.toList());
List<IoCollectOrderCodeAuto> temp2 = splitCodes.stream()
.filter(obj -> obj.getBizIdFk().equals(collectOrderBiz.getId()))
.collect(Collectors.toList());
List<IoCollectOrderCodeAuto> temp3 = unSplitCodes.stream()
.filter(obj -> obj.getBizIdFk().equals(collectOrderBiz.getId()))
.collect(Collectors.toList());
if (CollUtil.isNotEmpty(temp1)) {
saveManuCode(temp1, collectOrder);
} else {
if (CollUtil.isNotEmpty(temp2)) {
saveSplitCode(temp2, collectOrder);
}
if (CollUtil.isNotEmpty(temp3)) {
saveUnSplitCode(temp3, collectOrder);
}
}
}
}
public void saveManuCode(List<IoCollectOrderCodeMan> manList, IoCollectOrder collectOrder) {
if (CollUtil.isEmpty(manList))
return;
List<IoCollectCode> ioCollectCodes = new ArrayList<>();
for (IoCollectOrderCodeMan ioCollectOrderCodeMan : manList) {
ioCollectCodes.add(IoCollectCode.builder().code(ioCollectOrderCodeMan.getUdiCode())
.fromType(collectOrder.getFromType())
.busType(collectOrder.getBusType())
.billNo(collectOrder.getBillNo())
.fromCorp(collectOrder.getFromCorp())
.operTime(collectOrder.getUpdateTime())
.operUser(collectOrder.getCreateUser())
.fifoSplit(3)
.workPlaceCode(collectOrder.getWorkPlaceCode())
.remark(collectOrder.getRemark()).build());
}
saveBatch(ioCollectCodes);
}
public void saveSplitCode(List<IoCollectOrderCodeAuto> codeAutoList, IoCollectOrder collectOrder) {
if (CollUtil.isEmpty(codeAutoList))
return;
List<IoCollectCode> ioCollectCodes = new ArrayList<>();
for (IoCollectOrderCodeAuto ioCollectOrderCodeMan : codeAutoList) {
ioCollectCodes.add(IoCollectCode.builder().code(ioCollectOrderCodeMan.getUdiCode())
.fromType(collectOrder.getFromType())
.busType(collectOrder.getBusType())
.billNo(collectOrder.getBillNo())
.fromCorp(collectOrder.getFromCorp())
.operTime(collectOrder.getUpdateTime())
.operUser(collectOrder.getCreateUser())
.fifoSplit(1)
.workPlaceCode(collectOrder.getWorkPlaceCode())
.remark(collectOrder.getRemark()).build());
}
saveBatch(ioCollectCodes);
}
public void saveUnSplitCode(List<IoCollectOrderCodeAuto> codeAutoList, IoCollectOrder collectOrder) {
if (CollUtil.isEmpty(codeAutoList))
return;
List<IoCollectCode> ioCollectCodes = new ArrayList<>();
for (IoCollectOrderCodeAuto ioCollectOrderCodeMan : codeAutoList) {
ioCollectCodes.add(IoCollectCode.builder().code(ioCollectOrderCodeMan.getUdiCode())
.fromType(collectOrder.getFromType())
.busType(collectOrder.getBusType())
.billNo(collectOrder.getBillNo())
.fromCorp(collectOrder.getFromCorp())
.operTime(collectOrder.getUpdateTime())
.operUser(collectOrder.getCreateUser())
.fifoSplit(2)
.workPlaceCode(collectOrder.getWorkPlaceCode())
.remark(collectOrder.getRemark()).build());
}
saveBatch(ioCollectCodes);
}
}

@ -112,10 +112,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
BeanUtils.copyProperties(collectOrderBiz, collectOrderBizResponse);
//拆零
for (IoCollectOrderCodeAuto collectOrderCodeAuto : splitCodes) {
if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) &&
(StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) {
collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
} else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) {
if (IntUtil.value(collectOrderCodeAuto.getBizIdFk()) == IntUtil.value(collectOrderBiz.getId())) {
collectOrderBizResponse.setSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
}
}
@ -124,10 +121,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
}
//整取
for (IoCollectOrderCodeAuto collectOrderCodeAuto : unSplitCodes) {
if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId()) &&
(StrUtil.isNotEmpty(collectOrderCodeAuto.getBatchNo()) && StrUtil.trimToEmpty(collectOrderBiz.getBatchNo()).equals(collectOrderCodeAuto.getBatchNo()))) {
collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
} else if (collectOrderCodeAuto.getRelId().equals(collectOrderBiz.getRelId())) {
if (IntUtil.value(collectOrderCodeAuto.getBizIdFk()) == IntUtil.value(collectOrderBiz.getId())) {
collectOrderBizResponse.setUnSplitUdiCode(StrUtil.trimToEmpty(collectOrderBizResponse.getUnSplitUdiCode()) + "," + collectOrderCodeAuto.getUdiCode());
}
}
@ -154,8 +148,6 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
collectOrderBizResponses.add(collectOrderBizResponse);
}
return collectOrderBizResponses;
}

@ -178,6 +178,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
.expireDate(ioSplitCodeEntity.getExpireDate())
.serialNo(ioSplitCodeEntity.getSerialNo())
.relId(collectOrderBiz.getRelId())
.bizIdFk(collectOrderBiz.getId())
.fifoSplit(ioSplitCodeEntity.getFifoSplit())
.createTime(new Date())
.updateTime(new Date())
@ -218,6 +219,7 @@ public class IoSplitCodeService extends ServiceImpl<IoSplitCodeMapper, IoSplitCo
.expireDate(ioSplitCodeEntity.getExpireDate())
.serialNo(ioSplitCodeEntity.getSerialNo())
.relId(collectOrderBiz.getRelId())
.bizIdFk(collectOrderBiz.getId())
.fifoSplit(ioSplitCodeEntity.getFifoSplit())
.createTime(new Date())
.updateTime(new Date())

Loading…
Cancel
Save