单据流程修改

workplace
yewj 11 months ago
parent a0d22dbc6c
commit d71bb120f8

@ -215,8 +215,18 @@ public class IoCollectOrderController extends BaseController {
}
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) {
collectOrderBizResponse.setUnSplitUdiCode(collectOrderBizResponse.getScanUdiCode().substring(1));
collectOrderBizResponse.setScanUdiCode(collectOrderBizResponse.getScanUdiCode().substring(1));
}
if (StrUtil.isNotEmpty(collectOrderBizResponse.getScanUdiCode())) {
collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getScanUdiCode());
} else if (StrUtil.isNotEmpty(collectOrderBizResponse.getSplitUdiCode())) {
collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getSplitUdiCode());
} else if (StrUtil.isNotEmpty(collectOrderBizResponse.getUnSplitUdiCode())) {
collectOrderBizResponse.setFinishUdiCode(collectOrderBizResponse.getUnSplitUdiCode());
}
collectOrderBizResponses.add(collectOrderBizResponse);
}

@ -54,9 +54,6 @@ public class SysWorkplaceDocumentEntity {
private String updateUser;
/**
*
*/
@ -113,6 +110,11 @@ public class SysWorkplaceDocumentEntity {
@TableField(value = "unitTittle")
private String unitTittle;
/**
* 1:; 2:使
*/
@TableField(value = "orderCirType")
private Integer orderCirType;
}

@ -151,6 +151,12 @@ public class IoCollectOrder implements Serializable {
@TableField(value = "tagMsg")
private String tagMsg;
/**
* 1:; 2:使
*/
@TableField(value = "orderCirType")
private Integer orderCirType;
private static final long serialVersionUID = 1L;
}

@ -109,5 +109,10 @@ public class SysWorkplaceDocumentResponse {
private String unitTittle;
private String invName;
/**
* 1:; 2:使
*/
@TableField(value = "orderCirType")
private Integer orderCirType;
}

@ -121,5 +121,6 @@ public class CollectOrderBizResponse {
private String scanUdiCode;
private String splitUdiCode;
private String unSplitUdiCode;
private String finishUdiCode;
}

@ -34,6 +34,7 @@ import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.udi.FilterUdiUtils;
import com.glxp.api.util.udi.UdiCalCountUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@ -68,6 +69,8 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
IoCollectOrderService collectOrderService;
@Resource
SysWorkplaceDocumentService sysWorkplaceDocumentService;
@Resource
UdiCalCountUtil calCountUtil;
public List<CollectOrderCodeManResponse> filterList(CollectOrderCodeManRequest collectOrderCodeManRequest) {
if (collectOrderCodeManRequest == null) {
@ -145,7 +148,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
}
//直接扫码单生成业务单
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity, collectOrder);
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
collectOrderBizService.saveOrUpdate(collectOrderBiz);
} else if (IntUtil.value(sysWorkplaceDocumentEntity.getScanType()) == WorkOperType.TYPE_VAIL_BATCH) {
@ -164,38 +167,63 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
switch (sysWorkplaceDocumentEntity.getCheckInsert()) {
case 1: //插入
if (collectOrderBiz == null) {
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity, collectOrder);
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
} else {
collectOrderBiz.setScanCount(IntUtil.value(collectOrderBiz.getScanCount()) + 1);
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse));
} else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse));
}
}
break;
case 2: //不插入
if (collectOrderBiz == null)
throw new JsonException(500, "非此单据追溯码!");
int count = IntUtil.value(collectOrderBiz.getScanCount()) + 1;
if (count > IntUtil.value(collectOrderBiz.getCount())) {
int actCount = 0;
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse);
} else {
actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse);
}
if (actCount > IntUtil.value(collectOrderBiz.getCount())) {
throw new JsonException(500, "扫码数量超出!");
}
collectOrderBiz.setScanCount(count);
collectOrderBiz.setScanActCount(actCount);
break;
case 3: //提醒是否插入
if (!IntUtil.value(addTagCodeReqeust.getInsert())) {
if (collectOrderBiz == null)
throw new JsonException(502, "非此单据追溯码!");
int count1 = IntUtil.value(collectOrderBiz.getScanCount()) + 1;
if (count1 > collectOrderBiz.getCount()) {
int actCount1 = 0;
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
actCount1 = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse);
} else {
actCount1 = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse);
}
if (actCount1 > collectOrderBiz.getCount()) {
throw new JsonException(502, "扫码数量超出!");
}
collectOrderBiz.setScanCount(count1);
collectOrderBiz.setScanActCount(actCount1);
} else {
if (collectOrderBiz == null) {
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity, collectOrder);
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
} else {
collectOrderBiz.setScanCount(IntUtil.value(collectOrderBiz.getScanCount()) + 1);
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse));
} else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse));
}
}
}
break;
@ -219,20 +247,32 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
switch (sysWorkplaceDocumentEntity.getCheckInsert()) {
case 1: //插入
if (collectOrderBiz == null) {
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity, collectOrder);
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
} else {
collectOrderBiz.setScanCount(IntUtil.value(collectOrderBiz.getScanCount()) + 1);
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse));
} else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse));
}
}
break;
case 2: //不插入
if (collectOrderBiz == null)
throw new JsonException(500, "非此单据追溯码!");
int count = IntUtil.value(collectOrderBiz.getScanCount()) + 1;
if (count > IntUtil.value(collectOrderBiz.getCount())) {
int actCount = 0;
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse);
} else {
actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse);
}
if (actCount > IntUtil.value(collectOrderBiz.getCount())) {
throw new JsonException(500, "扫码数量超出!");
}
collectOrderBiz.setScanCount(count);
collectOrderBiz.setScanActCount(actCount);
break;
case 3: //提醒是否插入
@ -241,16 +281,28 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
if (collectOrderBiz == null)
throw new JsonException(502, "非此单据追溯码!");
int count1 = IntUtil.value(collectOrderBiz.getScanCount()) + 1;
if (count1 > IntUtil.value(collectOrderBiz.getCount())) {
int actCount1 = 0;
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
actCount1 = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse);
} else {
actCount1 = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse);
}
if (actCount1 > collectOrderBiz.getCount()) {
throw new JsonException(502, "扫码数量超出!");
}
collectOrderBiz.setScanCount(count1);
collectOrderBiz.setScanActCount(actCount1);
} else {
if (collectOrderBiz == null) {
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity, collectOrder);
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
} else {
collectOrderBiz.setScanCount(collectOrderBiz.getScanCount() + 1);
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse));
} else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse));
}
}
}
@ -293,20 +345,32 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
}
public IoCollectOrderBiz scanGenOrder(List<UdiRelevanceResponse> udiRelevanceResponses, List<IoCollectOrderBiz> collectOrderBizs, UdiEntity udiEntity) {
public IoCollectOrderBiz scanGenOrder(List<UdiRelevanceResponse> udiRelevanceResponses, List<IoCollectOrderBiz> collectOrderBizs, UdiEntity udiEntity, IoCollectOrder collectOrder) {
for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) {
for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) {
if (udiRelevanceResponse.getId().equals(collectOrderBiz.getRelId()) &&
(StrUtil.isNotEmpty(collectOrderBiz.getBatchNo()) && collectOrderBiz.getBatchNo().equals(udiEntity.getBatchNo()))
) {
int actCount = 0;
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getCirActCount(udiRelevanceResponse);
} else {
actCount = IntUtil.value(collectOrderBiz.getScanActCount()) + calCountUtil.getUseActCount(udiRelevanceResponse);
}
collectOrderBiz.setScanActCount(actCount);
collectOrderBiz.setCount(IntUtil.value(collectOrderBiz.getCount()) + 1);
collectOrderBiz.setScanCount(IntUtil.value(collectOrderBiz.getScanCount()) + 1);
return collectOrderBiz;
}
}
}
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0);
int actCount = 0;
if (IntUtil.value(collectOrder.getOrderCirType()) == 1) {
actCount = calCountUtil.getCirActCount(udiRelevanceResponse);
} else {
actCount = calCountUtil.getUseActCount(udiRelevanceResponse);
}
return IoCollectOrderBiz.builder()
.relId(udiRelevanceResponse.getId())
.thrCode(udiRelevanceResponse.getMainId())
@ -321,7 +385,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl<IoCollectOrderCode
.count(0)
.actCount(0)
.scanCount(1)
.scanActCount(1)
.scanActCount(actCount)
.measureUnit(udiRelevanceResponse.getMeasname())
.createTime(new Date())
.updateTime(new Date())

@ -189,6 +189,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
.createTime(ioOrderEntity.getCreateTime())
.createUser(ioOrderEntity.getCreateUser())
.updateTime(new Date())
.orderCirType(1)
.splitStatus(0)
.tagStatus(0)
.build();
@ -214,6 +215,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
.productDate(bizEntity.getProductDate())
.expireDate(bizEntity.getExpireDate())
.count(bizEntity.getCount())
.measureUnit(bizEntity.getMeasname())
.tagStatus(1)
.unTagCount(bizEntity.getCount()).build();
@ -288,6 +290,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
.createTime(new Date())
.createUser(basicSkPrescribeEntity.getCreateUser())
.updateTime(new Date())
.orderCirType(2)
.splitStatus(0)
.tagStatus(0)
.build();
@ -365,9 +368,9 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
Integer scanType = byWorkplaceCode.getScanType();
Integer oneScanCount = bizServiceOne.getScanCount();
Integer newCount = oneScanCount - delCount;
if (scanType == 1 && newCount <= 0){
if (scanType == 1 && newCount <= 0) {
collectOrderBizService.removeById(bizServiceOne);
}else {
} else {
bizServiceOne.setScanCount(newCount);
collectOrderBizService.updateById(bizServiceOne);
}

@ -4,7 +4,7 @@
<select id="filterList" parameterType="com.glxp.api.req.collect.CollectOrderRequest"
resultType="com.glxp.api.res.collect.IoCollectOrderResponse">
SELECT
ico.billNo,ico.busType,ico.fromType,ico.fromTypeDesc,ico.fromCorp,ico.billTime,
ico.billNo,ico.busType,ico.fromType,ico.fromTypeDesc,ico.fromCorp,ico.billTime,ico.orderCirType,
ico.createTime,ico.workPlaceCode,ico.remark,ico.createUser,ico.updateTime,ico.updateUser,ico.tagStatus,ico.splitStatus,ico.splitMsg
,ico.tagMsg,
sys_workplace_document.busName busTypeName,

Loading…
Cancel
Save