diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java
index 9c62c7459..875e5d5ca 100644
--- a/src/main/java/com/glxp/api/constant/Constant.java
+++ b/src/main/java/com/glxp/api/constant/Constant.java
@@ -215,9 +215,14 @@ public class Constant {
/**
- * 单据-未校验标识
+ * 单据-未校验/待校验标识
*/
public static final String ORDER_STATUS_UN_CHECK = "unCheck";
+ /**
+ * 单据-未校验/待校验标识
+ */
+ public static final String ORDER_STATUS_UN_ALLOCATE = "unAllocate";
+
/**
* 单据-校验异常标识
diff --git a/src/main/java/com/glxp/api/constant/ConstantStatus.java b/src/main/java/com/glxp/api/constant/ConstantStatus.java
index 67474a16f..7e96e7e28 100644
--- a/src/main/java/com/glxp/api/constant/ConstantStatus.java
+++ b/src/main/java/com/glxp/api/constant/ConstantStatus.java
@@ -59,6 +59,11 @@ public class ConstantStatus {
*/
public static final Integer ORDER_STATUS_PROCESSING = 9;
+ /**
+ * 业务单已提交待配货
+ */
+ public static final Integer ORDER_STATUS_ALLOCATE = 11;
+
public static final Integer ORDER_DELIVERY_STATUS_UN = 1;
public static final Integer ORDER_DELIVERY_STATUS_ED = 2;
@@ -305,4 +310,9 @@ public class ConstantStatus {
public static final int BUS_TYPE_DD = 5;
+ public static final int SCAN_NO_BUS = 0; //无业业务单扫码拣货
+ public static final int SCAN_BUS_PI = 1; //有业务单有三期拣货
+ public static final int SCAN_NO_PI = 2; //有业务单无三期拣货
+ public static final int SCAN_ALL_PI = 3; //有业务单拣货(有无三期)
+
}
diff --git a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java
index 48b19b05d..92268c540 100644
--- a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java
+++ b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java
@@ -1,6 +1,7 @@
package com.glxp.api.controller.basic;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
@@ -178,18 +179,43 @@ public class BasicBussinessTypeController extends BaseController {
if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getVueType())) {
+ List result = new ArrayList<>();
List bussinessTypeEntities = basicBussinessTypeService.findByVueType(bussinessTypeFilterRequest.getVueType());
+ if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getInvCode()) || StrUtil.isNotEmpty(bussinessTypeFilterRequest.getCode())) {
+ //过滤是否是当前仓库底下单据类型
+ FilterBussinessTypeRequest tempRequest = new FilterBussinessTypeRequest();
+ tempRequest.setCode(bussinessTypeFilterRequest.getCode());
+ tempRequest.setInvCode(bussinessTypeFilterRequest.getInvCode());
+ List bussinessTypeResponses = basicBussinessTypeService.filterJoinByInv(tempRequest);
+ if (CollUtil.isNotEmpty(bussinessTypeResponses)) {
+ for (BasicBussinessTypeResponse bussinessTypExportResponse : bussinessTypeResponses) {
+ for (BasicBussinessTypeEntity basicBussinessTypeEntity : bussinessTypeEntities) {
+ if (bussinessTypExportResponse.getAction().equals(basicBussinessTypeEntity.getAction())) {
+ result.add(basicBussinessTypeEntity);
+ }
+ }
+ }
+
+ }
+ } else {
+ result.addAll(bussinessTypeEntities);
+ }
+
PageInfo pageInfo;
- pageInfo = new PageInfo<>(bussinessTypeEntities);
+ pageInfo = new PageInfo<>(result);
PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
- pageSimpleResponse.setList(bussinessTypeEntities);
+ pageSimpleResponse.setList(result);
return ResultVOUtils.success(pageSimpleResponse);
} else {
- bussinessTypeFilterRequest.setUserId(getUserId());
+
List bussinessTypeEntities;
+ //判断是否是医院用户
+ bussinessTypeFilterRequest.setUserId(getUserId());
bussinessTypeEntities = basicBussinessTypeService.filterJoinByUser(
bussinessTypeFilterRequest);
+
+
PageInfo pageInfo;
pageInfo = new PageInfo<>(bussinessTypeEntities);
PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>();
diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
index fc890e477..dfb35fe15 100644
--- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
+++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
@@ -629,12 +629,18 @@ public class IoCodeTempController extends BaseController {
}
if (StringUtils.isBlank(exitLocalEntity.getSerialNo())) {
- if (bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.isCheckWebNew() && addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL) {
+ if (bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.getCheckWebNew() == 1 && addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL) {
String errMsg = ioCheckInoutService.checkCode(genDetaiEntity);
if (errMsg != null) {
return ResultVOUtils.error(500, errMsg);
} else
codeTempService.updateById(exitLocalEntity);
+ } else if (bussinessTypeEntity.isCheckEnable() && (bussinessTypeEntity.getCheckWebNew() == 2 || (bussinessTypeEntity.getCheckWebNew() == 3 && addOrderRequest.getFromVailPi() == 1)) && addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL) {
+ String errMsg = ioCheckInoutService.checkNoPiCode(genDetaiEntity);
+ if (errMsg != null) {
+ return ResultVOUtils.error(500, errMsg);
+ } else
+ codeTempService.updateById(exitLocalEntity);
} else {
codeTempService.updateById(exitLocalEntity);
}
@@ -734,7 +740,7 @@ public class IoCodeTempController extends BaseController {
}
- if (addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL && bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.isCheckWebNew()) {
+ if (addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL && bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.getCheckWebNew() != 0) {
boolean isBillExit = orderDetailBizService.isExit(orderEntity.getBillNo());
if (!isBillExit) {
@@ -776,12 +782,18 @@ public class IoCodeTempController extends BaseController {
}
//是否边扫边校验
- if (addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL && bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.isCheckWebNew()) {
+ if (addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL && bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.getCheckWebNew() == 1) {
String errMsg = ioCheckInoutService.checkCode(codeEnttity);
if (errMsg != null) {
return ResultVOUtils.error(500, errMsg);
} else
codeTempService.insert(codeEnttity);
+ } else if (bussinessTypeEntity.isCheckEnable() && (bussinessTypeEntity.getCheckWebNew() == 2 || (bussinessTypeEntity.getCheckWebNew() == 3 && addOrderRequest.getFromVailPi() == 1)) && addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL) {
+ String errMsg = ioCheckInoutService.checkNoPiCode(codeEnttity);
+ if (errMsg != null) {
+ return ResultVOUtils.error(500, errMsg);
+ } else
+ codeTempService.insert(codeEnttity);
} else {
codeTempService.insert(codeEnttity);
}
@@ -1001,8 +1013,8 @@ public class IoCodeTempController extends BaseController {
}
IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId());
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
-
- if (orderEntity.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL && bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.isCheckWebNew()) {
+ //todo 可能会出问题
+ if (orderEntity.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL && bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.getCheckWebNew() == 1) {
String errMsg = ioCheckInoutService.checkCode(codeTempEntity);
if (errMsg != null) {
return ResultVOUtils.error(500, errMsg);
diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java
index f4a4ec197..43a9ffd62 100644
--- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java
+++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java
@@ -160,13 +160,16 @@ public class IoOrderController extends BaseController {
if (orderDetailBizEntity.getCount() == 0) {
return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "产品数量不能为0!");
}
- if (StrUtil.isEmpty(orderDetailBizEntity.getBatchNo()) && StrUtil.isEmpty(orderDetailBizEntity.getProductDate()) && StrUtil.isEmpty(orderDetailBizEntity.getExpireDate())) {
+ if (addOrderRequest.getFromVailPi() != 2 &&
+ StrUtil.isEmpty(orderDetailBizEntity.getBatchNo())
+ && StrUtil.isEmpty(orderDetailBizEntity.getProductDate())
+ && StrUtil.isEmpty(orderDetailBizEntity.getExpireDate())) {
return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "三期不能全为空!");
}
}
IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo());
- ioAddInoutService.dealBusProcess(orderEntity);
+ ioAddInoutService.dealBusProcess(orderEntity, addOrderRequest.getFromVailPi());
return ResultVOUtils.success("提交成功!");
}
@@ -269,6 +272,53 @@ public class IoOrderController extends BaseController {
}
+ //带配货-立即提交
+ @AuthRuleAnnotation("")
+ @PostMapping("warehouse/inout/waitAllocate/submitOrderWeb")
+ @Log(title = "单据管理", businessType = BusinessType.UPDATE)
+ public BaseResponse submitWaitAllocateWeb(@RequestBody AddOrderRequest addOrderRequest) {
+
+ //校验单据是否已完成
+ IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo());
+ List orderDetailBizEntities = orderDetailBizService.findByOrderId(addOrderRequest.getBillNo());
+ List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(addOrderRequest.getBillNo());
+
+ if (CollUtil.isEmpty(orderDetailCodeEntities)) {
+ return ResultVOUtils.error(500, "单据还未扫码或和扫码校验存在异常无法提交!");
+ }
+ String errMsg = checkInoutService.bizNoPiCheck(orderDetailBizEntities, orderEntity);
+ if (StrUtil.isNotEmpty(errMsg)) {
+ return ResultVOUtils.error(500, errMsg);
+ }
+ orderDetailBizService.deleteByOrderId(addOrderRequest.getBillNo());
+ for (IoOrderDetailCodeEntity orderDetailCodeEntity : orderDetailCodeEntities) {
+ IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity();
+ BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailBizEntity);
+ orderDetailBizEntity.setId(null);
+ getSomeBiz(orderDetailBizEntities, orderDetailBizEntity);
+ orderDetailBizService.insert(orderDetailBizEntity);
+ }
+ saveOrderWeb(addOrderRequest);
+ orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK);
+ orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
+ orderService.update(orderEntity);
+
+ ioAddInoutService.dealProcess(orderEntity);
+ checkInoutService.check(addOrderRequest.getBillNo());
+ return ResultVOUtils.success("提交成功!");
+ }
+
+
+ public void getSomeBiz(List orderDetailBizEntities, IoOrderDetailBizEntity resutBizEntity) {
+ for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) {
+ if (orderDetailBizEntity.getBindRlFk().longValue() == resutBizEntity.getBindRlFk().longValue()) {
+ resutBizEntity.setCertCode(orderDetailBizEntity.getCertCode());
+ resutBizEntity.setPrice(orderDetailBizEntity.getPrice());
+ }
+ }
+ }
+
+
@Resource
IoCodeService codeService;
diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java
index 29e81d7fb..8328cff81 100644
--- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java
+++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java
@@ -126,5 +126,14 @@ public class IoOrderDetailResultController extends BaseController {
return ResultVOUtils.success(checkInoutService.combineCheck(orderDetailBizEntities, orderDetailCodeEntities));
}
+ @AuthRuleAnnotation("")
+ @GetMapping("/udiwms/inout/waitAllocate/filterList")
+ public BaseResponse waitAllocate(FilterOrderDetailResultRequest orderDetailResultRequest) {
+ IoOrderEntity orderEntity = orderService.findByBillNo(orderDetailResultRequest.getOrderIdFk());
+ List orderDetailBizEntities = orderDetailBizService.findByOrderId(orderDetailResultRequest.getOrderIdFk());
+ checkInoutService.bizNoPiCheck(orderDetailBizEntities, orderEntity);
+ return ResultVOUtils.success(orderDetailBizEntities);
+ }
+
}
diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java
index b5743ac3f..735211777 100644
--- a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java
+++ b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java
@@ -503,7 +503,7 @@ public class IoOrderReviewController extends BaseController {
//校验用户是否验收权限
private String checkReviewAuth(String orderId, String userId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
- if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW || orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
+ if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW && orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
return "单据非未验收状态,无法审核!";
}
if (!invBusUserService.exitBus(userId, orderEntity.getAction())) {
@@ -512,7 +512,7 @@ public class IoOrderReviewController extends BaseController {
return "无验收权限!";
}
} else {
- return "无验收权限!";
+ return null;
}
diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java
index 7581490ab..0059a4de8 100644
--- a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java
+++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailCodeDao.java
@@ -4,6 +4,7 @@ import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.req.inout.FilterOrderDetailCodeRequest;
import com.glxp.api.res.inout.IoOrderDetailCodeResponse;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -23,4 +24,7 @@ public interface IoOrderDetailCodeDao extends BaseMapperPlus
- *
+ *
*
*
* @author 作者
diff --git a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java
index a3ea6e52f..677a570ab 100644
--- a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java
+++ b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java
@@ -74,37 +74,37 @@ public class BussinessTypeSaveRequest {
/**
* UDIMS平台来源是否需要校验
*/
- private Boolean checkUdims;
+ private Integer checkUdims;
/**
* pda已校验单据
*/
- private Boolean checkPdaEd;
+ private Integer checkPdaEd;
/**
* pda未检验单据
*/
- private Boolean checkPdaUn;
+ private Integer checkPdaUn;
/**
* PC端扫码精灵
*/
- private Boolean checkPc;
+ private Integer checkPc;
/**
* web前端页面新增单据
*/
- private Boolean checkWebNew;
+ private Integer checkWebNew;
/**
* 供应商平台导出单据
*/
- private Boolean checkSp;
+ private Integer checkSp;
/**
* 流转生成单据
*/
- private Boolean checkChange;
+ private Integer checkChange;
/**
* UDIMS平台单据 二次校验
@@ -155,7 +155,7 @@ public class BussinessTypeSaveRequest {
/**
* 平衡补单是否校验
*/
- private Boolean checkBalance;
+ private Integer checkBalance;
/**
* 平衡补单是否二次验收
@@ -235,7 +235,7 @@ public class BussinessTypeSaveRequest {
/**
* 是否校验复制单据
*/
- private Boolean checkCopy;
+ private Integer checkCopy;
/**
* 是否二次校验复制单据
diff --git a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java
index 6b1531cf4..78ab31c0b 100644
--- a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java
+++ b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java
@@ -28,4 +28,6 @@ public class AddOrderRequest {
private Integer orderType;
private String remark;
private String checkPreInOrders;
+
+ private int fromVailPi; //是否需要校验三期;1:不需要,2:需要
}
diff --git a/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java b/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java
index 1e6785904..44b1fad8a 100644
--- a/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java
+++ b/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java
@@ -48,12 +48,12 @@ public class BasicBussinessTypeResponse {
private String defaultUnit;
private int spUse;
private Boolean secCheckEnable;
- private boolean checkUdims;
- private boolean checkPdaEd;
- private boolean checkPdaUn;
- private boolean checkPc;
- private boolean checkWebNew;
- private boolean checkChange;
+ private int checkUdims;
+ private int checkPdaEd;
+ private int checkPdaUn;
+ private int checkPc;
+ private int checkWebNew;
+ private int checkChange;
private boolean secCheckUdims;
private boolean secCheckPdaEd;
private boolean secCheckPdaUn;
@@ -74,7 +74,7 @@ public class BasicBussinessTypeResponse {
private boolean enableSupplementOrder;
- private boolean checkBalance;
+ private int checkBalance;
private boolean secCheckBalance;
private boolean useDyCount;
@@ -104,7 +104,7 @@ public class BasicBussinessTypeResponse {
* 是否全量补单
*/
private boolean supplementAll;
- private boolean checkCopy;
+ private int checkCopy;
private boolean secCheckCopy;
/**
@@ -112,7 +112,7 @@ public class BasicBussinessTypeResponse {
*/
private boolean checkSelect;
- private boolean checkSp;
+ private int checkSp;
/**
* 自助平台同步
diff --git a/src/main/java/com/glxp/api/service/auth/impl/InvBusUserServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/InvBusUserServiceImpl.java
index 11ce1facd..e0237357d 100644
--- a/src/main/java/com/glxp/api/service/auth/impl/InvBusUserServiceImpl.java
+++ b/src/main/java/com/glxp/api/service/auth/impl/InvBusUserServiceImpl.java
@@ -109,6 +109,6 @@ public class InvBusUserServiceImpl extends ServiceImpl().eq("userId", userId).eq("action", action));
+ return invBusUserDao.exists(new QueryWrapper().eq("userId", userId).eq("scAction", action));
}
}
diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java
index 08c107653..75d3dff28 100644
--- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java
+++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java
@@ -237,7 +237,7 @@ public class IoAddInoutService {
//新增业务单据处理
- public void dealBusProcess(IoOrderEntity orderEntity) {
+ public void dealBusProcess(IoOrderEntity orderEntity, Integer fromVailPi) {
orderEntity.setErrMsg("正在处理!");
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESSING);
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
@@ -293,7 +293,11 @@ public class IoAddInoutService {
return;
}
- orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK);
+ if (fromVailPi != null && fromVailPi == 2)
+ orderEntity.setStatus(ConstantStatus.ORDER_STATUS_ALLOCATE);
+ else
+ orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK);
+
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java
index d318170d4..5f603f53f 100644
--- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java
+++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java
@@ -75,39 +75,39 @@ public class IoCheckInoutService {
return false;
} else {
if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDIMS) {
- if (!bussinessTypeEntity.isCheckUdims()) {
+ if (bussinessTypeEntity.getCheckUdims() == 0) {
return false;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_WEBNEW) {
- if (!bussinessTypeEntity.isCheckWebNew()) {
+ if (bussinessTypeEntity.getCheckWebNew() == 0) {
return false;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAED) {
- if (!bussinessTypeEntity.isCheckPdaEd()) {
+ if (bussinessTypeEntity.getCheckPdaEd() == 0) {
return false;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAUN) {
- if (!bussinessTypeEntity.isCheckPdaUn()) {
+ if (bussinessTypeEntity.getCheckPdaUn() == 0) {
return false;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PC) {
- if (!bussinessTypeEntity.isCheckPc()) {
+ if (bussinessTypeEntity.getCheckPc() == 0) {
return false;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE) {
- if (!bussinessTypeEntity.isCheckChange()) {
+ if (bussinessTypeEntity.getCheckChange() == 0) {
return false;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PEACE_CHANGE) {
- if (!bussinessTypeEntity.isCheckBalance()) {
+ if (bussinessTypeEntity.getCheckBalance() == 0) {
return false;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP) {
- if (!bussinessTypeEntity.isCheckSp()) {
+ if (bussinessTypeEntity.getCheckSp() == 0) {
return false;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_COPY) {
- if (!bussinessTypeEntity.isCheckCopy()) {
+ if (bussinessTypeEntity.getCheckCopy() == 0) {
return false;
}
}
@@ -126,47 +126,47 @@ public class IoCheckInoutService {
unCheckFirstFinish(orderEntity);
} else {
if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDIMS) {
- if (!bussinessTypeEntity.isCheckUdims()) {
+ if (bussinessTypeEntity.getCheckUdims() == 0) {
unCheckFirstFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_WEBNEW) {
- if (!bussinessTypeEntity.isCheckWebNew()) {
+ if (bussinessTypeEntity.getCheckWebNew() == 0) {
unCheckFirstFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAED) {
- if (!bussinessTypeEntity.isCheckPdaEd()) {
+ if (bussinessTypeEntity.getCheckPdaEd() == 0) {
unCheckFirstFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAUN) {
- if (!bussinessTypeEntity.isCheckPdaUn()) {
+ if (bussinessTypeEntity.getCheckPdaUn() == 0) {
unCheckFirstFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PC) {
- if (!bussinessTypeEntity.isCheckPc()) {
+ if (bussinessTypeEntity.getCheckPc() == 0) {
unCheckFirstFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE) {
- if (!bussinessTypeEntity.isCheckChange()) {
+ if (bussinessTypeEntity.getCheckChange() == 0) {
unCheckFirstFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PEACE_CHANGE) {
- if (!bussinessTypeEntity.isCheckBalance()) {
+ if (bussinessTypeEntity.getCheckBalance() == 0) {
unCheckFirstFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP) {
- if (!bussinessTypeEntity.isCheckSp()) {
+ if (bussinessTypeEntity.getCheckSp() == 0) {
unCheckFirstFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_COPY) {
- if (!bussinessTypeEntity.isCheckCopy()) {
+ if (bussinessTypeEntity.getCheckCopy() == 0) {
unCheckFirstFinish(orderEntity);
return;
}
@@ -242,6 +242,29 @@ public class IoCheckInoutService {
return null;
}
+ // 无三期拣货校验
+ public String checkNoPiCode(IoCodeTempEntity codeTempEntity) {
+ boolean isBillExit = orderDetailBizService.isExit(codeTempEntity.getOrderId());
+ if (!isBillExit) {
+ return "请先录入业务详情";
+ }
+ IoOrderDetailBizEntity bizEntity = orderDetailBizService.findByRelId(codeTempEntity.getOrderId(), codeTempEntity.getRelId());
+ if (bizEntity == null) {
+ return "非此单产品!";
+ }
+ Integer detailCount = orderDetailCodeService.findByRelIdCount(codeTempEntity.getOrderId(), codeTempEntity.getRelId());
+ int curCount = 0;
+ if (detailCount != null) {
+ curCount = detailCount + codeTempEntity.getMyReCount();
+ } else {
+ curCount = codeTempEntity.getMyReCount();
+ }
+ if (curCount > bizEntity.getCount()) {
+ return "当前产品数量超出!";
+ }
+ return null;
+ }
+
//一次校验(无需校验)完成
public void unCheckFirstFinish(IoOrderEntity orderEntity) {
@@ -414,6 +437,36 @@ public class IoCheckInoutService {
}
}
+
+ //业务单正向校验
+ public String bizNoPiCheck(List orderDetailBizEntities,IoOrderEntity orderEntity) {
+
+ String errMsg = "";
+ for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
+ bizEntity.setCheckSuccess(false);
+ }
+ for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
+ String msg = "";
+ Integer count = orderDetailCodeService.findByRelIdCount(orderEntity.getBillNo(), bizEntity.getBindRlFk());
+ if (bizEntity.getCount() == count) {
+ bizEntity.setCheckSuccess(true);
+ bizEntity.setScanCount(count);
+ } else {
+ msg = "数量不匹配";
+ bizEntity.setScanCount(count);
+ bizEntity.setCheckSuccess(false);
+ }
+ bizEntity.setErrMsg(msg);
+ }
+ for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
+ if (!bizEntity.isCheckSuccess()) {
+ errMsg = errMsg + bizEntity.getCoName() + bizEntity.getErrMsg() + ";";
+ }
+ }
+ return errMsg;
+ }
+
+
//业务单正向校验
public String bizOrderCheck(List orderDetailBizEntities, List orderDetailCodeEntities) {
String errMsg = "";
@@ -652,7 +705,7 @@ public class IoCheckInoutService {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PC) {
- if (!bussinessTypeEntity.isThrCheckPc()) {
+ if (bussinessTypeEntity.isThrCheckPc()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE) {
diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java
index ea8110db7..71b468f70 100644
--- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java
+++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java
@@ -30,6 +30,9 @@ public interface IoOrderDetailBizService {
IoOrderDetailBizEntity findByUnique(String orderId, Long relId, String bacthNo, String productDate, String expireDate);
+
+ IoOrderDetailBizEntity findByRelId(String orderId, Long relId);
+
List filterList(FilterOrderDetailBizRequest orderDetailBizRequest);
IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo, String bindRlFk);
diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java
index eb429e159..72d4379be 100644
--- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java
+++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java
@@ -3,6 +3,7 @@ package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.req.inout.FilterOrderDetailCodeRequest;
import com.glxp.api.res.inout.IoOrderDetailCodeResponse;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -12,6 +13,9 @@ public interface IoOrderDetailCodeService {
IoOrderDetailCodeEntity findByUnique(String orderId, Long relId, String bacthNo);
+
+ int findByRelIdCount(String orderId, Long relId);
+
int insert(IoOrderDetailCodeEntity orderDetailCodeEntity);
int update(IoOrderDetailCodeEntity orderDetailCodeEntity);
diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java
index 16bff6920..30425f422 100644
--- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java
+++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java
@@ -1,17 +1,21 @@
package com.glxp.api.service.inout.impl;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
+import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.inout.IoOrderDetailBizDao;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
+import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.inout.FilterOrderDetailBizRequest;
import com.glxp.api.res.inout.IoOrderDetailBizResponse;
import com.glxp.api.res.inout.IoOrderInvoiceResponse;
import com.glxp.api.service.inout.IoCheckInoutService;
import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderDetailCodeService;
+import com.glxp.api.service.inout.IoOrderService;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -92,6 +96,17 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
return ioOrderDetailBizDao.selectOrderDetailBiz(orderId, relId, bacthNo, productDate, expireDate);
}
+ @Override
+ public IoOrderDetailBizEntity findByRelId(String orderId, Long relId) {
+ if (relId == null)
+ return null;
+ List orderDetailBizEntities = ioOrderDetailBizDao.selectList(new QueryWrapper().eq("orderIdFk", orderId).eq("bindRlFk", relId));
+ if (CollUtil.isNotEmpty(orderDetailBizEntities)) {
+ return orderDetailBizEntities.get(0);
+ }
+ return null;
+ }
+
@Override
public List filterList(FilterOrderDetailBizRequest orderDetailBizRequest) {
if (null == orderDetailBizRequest) {
@@ -122,13 +137,20 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
@Resource
@Lazy
IoCheckInoutService checkInoutService;
+ @Resource
+ IoOrderService orderService;
@Override
public List checkOrderList(String orderId) {
-
+ IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
List orderDetailBizEntities = findByOrderId(orderId);
- List codeEntities = orderDetailCodeService.findByOrderId(orderId);
- checkInoutService.bizOrderCheck(orderDetailBizEntities, codeEntities);
+ if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_ALLOCATE) {
+ checkInoutService.bizNoPiCheck(orderDetailBizEntities, orderEntity);
+ } else {
+ List codeEntities = orderDetailCodeService.findByOrderId(orderId);
+ checkInoutService.bizOrderCheck(orderDetailBizEntities, codeEntities);
+ }
+
return orderDetailBizEntities;
}
diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java
index ca0a4a8fd..273072469 100644
--- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java
+++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java
@@ -48,6 +48,14 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService {
.isNull(StrUtil.isEmpty(bacthNo), "batchNo"));
}
+ @Override
+ public int findByRelIdCount(String orderId, Long relId) {
+ Integer count = ioOrderDetailCodeDao.findByRelIdCount(orderId, relId);
+ if (count == null)
+ return 0;
+ return count;
+ }
+
@Override
public int insert(IoOrderDetailCodeEntity orderDetailCodeEntity) {
orderDetailCodeEntity.setId(null);
diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java
index 1fa106d1b..6bdac5f5a 100644
--- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java
+++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java
@@ -2,6 +2,7 @@ package com.glxp.api.service.inout.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
@@ -160,6 +161,9 @@ public class IoOrderServiceImpl implements IoOrderService {
@Override
public int insertOrder(IoOrderEntity orderEntity) {
orderEntity.setId(null);
+ if (StrUtil.isEmpty(orderEntity.getRelKey())) {
+ orderEntity.setRelKey(UUID.fastUUID().toString(true));
+ }
orderEntity.setExportStatus(0); //上传状态:未上传
return orderDao.insert(orderEntity);
}
@@ -645,6 +649,9 @@ public class IoOrderServiceImpl implements IoOrderService {
filterOrderRequest.setStatuses(Arrays.asList(10, 7));
filterOrderRequest.setDealStatuses(Arrays.asList(3, 4));
break;
+ case Constant.ORDER_STATUS_UN_ALLOCATE:
+ filterOrderRequest.setStatuses(Arrays.asList(ConstantStatus.ORDER_STATUS_ALLOCATE));
+ filterOrderRequest.setDealStatuses(Arrays.asList(2));
default:
break;
}
diff --git a/src/main/resources/mybatis/mapper/auth/SysMenuDao.xml b/src/main/resources/mybatis/mapper/auth/SysMenuDao.xml
index aceaec650..63e4d220b 100644
--- a/src/main/resources/mybatis/mapper/auth/SysMenuDao.xml
+++ b/src/main/resources/mybatis/mapper/auth/SysMenuDao.xml
@@ -36,7 +36,7 @@
-
+
INSERT INTO auth_menu(`menu_id`, `menu_name`, parent_id, `order_num`, `path`, component
, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon,
remark, create_by, create_time, update_time, update_by)
diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml
index 1009d742d..57553e2ae 100644
--- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml
+++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailCodeDao.xml
@@ -3,10 +3,10 @@
- update io_order_detail_code set count = #{count}, reCount = #{reCount} where id = #{id}
+ update io_order_detail_code
+ set count = #{count},
+ reCount = #{reCount}
+ where id = #{id}
+
+