diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java index c45c6c381..e47e64bd6 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java @@ -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); } diff --git a/src/main/java/com/glxp/api/entity/basic/SysWorkplaceDocumentEntity.java b/src/main/java/com/glxp/api/entity/basic/SysWorkplaceDocumentEntity.java index f06614db6..46c002c0f 100644 --- a/src/main/java/com/glxp/api/entity/basic/SysWorkplaceDocumentEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/SysWorkplaceDocumentEntity.java @@ -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; } diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectOrder.java b/src/main/java/com/glxp/api/entity/collect/IoCollectOrder.java index ef4af5553..63fad6c58 100644 --- a/src/main/java/com/glxp/api/entity/collect/IoCollectOrder.java +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectOrder.java @@ -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; } diff --git a/src/main/java/com/glxp/api/res/basic/SysWorkplaceDocumentResponse.java b/src/main/java/com/glxp/api/res/basic/SysWorkplaceDocumentResponse.java index 05c43e430..376fb42f9 100644 --- a/src/main/java/com/glxp/api/res/basic/SysWorkplaceDocumentResponse.java +++ b/src/main/java/com/glxp/api/res/basic/SysWorkplaceDocumentResponse.java @@ -109,5 +109,10 @@ public class SysWorkplaceDocumentResponse { private String unitTittle; private String invName; + /** + * 单据流通方式: 1:配送流通; 2:出库使用 + */ + @TableField(value = "orderCirType") + private Integer orderCirType; } diff --git a/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java index b11135a58..de69badb9 100644 --- a/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java +++ b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java @@ -121,5 +121,6 @@ public class CollectOrderBizResponse { private String scanUdiCode; private String splitUdiCode; private String unSplitUdiCode; + private String finishUdiCode; } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java index 982544064..8276820c5 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java @@ -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 filterList(CollectOrderCodeManRequest collectOrderCodeManRequest) { if (collectOrderCodeManRequest == null) { @@ -145,7 +148,7 @@ public class IoCollectOrderCodeManService extends ServiceImpl 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 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 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 udiRelevanceResponses, List collectOrderBizs, UdiEntity udiEntity) { + public IoCollectOrderBiz scanGenOrder(List udiRelevanceResponses, List 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 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,