|
|
|
@ -28,10 +28,7 @@ import com.glxp.api.req.basic.BasicEntrustRecRequest;
|
|
|
|
|
import com.glxp.api.req.inout.*;
|
|
|
|
|
import com.glxp.api.req.system.DeleteRequest;
|
|
|
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
|
|
|
import com.glxp.api.res.inout.IoCodeTempResponse;
|
|
|
|
|
import com.glxp.api.res.inout.IoOrderDetailBizResponse;
|
|
|
|
|
import com.glxp.api.res.inout.IoOrderResponse;
|
|
|
|
|
import com.glxp.api.res.inout.PdaBusOrderResponse;
|
|
|
|
|
import com.glxp.api.res.inout.*;
|
|
|
|
|
import com.glxp.api.service.auth.CustomerService;
|
|
|
|
|
import com.glxp.api.service.auth.InvBusUserService;
|
|
|
|
|
import com.glxp.api.service.auth.InvWarehouseService;
|
|
|
|
@ -45,6 +42,7 @@ import com.glxp.api.util.IntUtil;
|
|
|
|
|
import com.glxp.api.util.OrderNoTypeBean;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
import org.springframework.validation.BindingResult;
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
|
|
|
@ -388,6 +386,7 @@ public class IoOrderController extends BaseController {
|
|
|
|
|
//待校验提交,以比对结果提交
|
|
|
|
|
@RepeatSubmit()
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
@PostMapping("warehouse/inout/codeCheck/submitOrderWeb")
|
|
|
|
|
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
|
|
|
|
|
public BaseResponse submitByCheckResult(@RequestBody AddOrderRequest addOrderRequest) {
|
|
|
|
@ -398,26 +397,28 @@ public class IoOrderController extends BaseController {
|
|
|
|
|
return tempResponse;
|
|
|
|
|
|
|
|
|
|
//校验单据是否已完成
|
|
|
|
|
List<IoCodeTempEntity> codeEntities = codeTempService.findByOrderId(addOrderRequest.getBillNo());
|
|
|
|
|
List<IoCodeResponse> codeEntities = codeTempService.findJoinByOrderId(addOrderRequest.getBillNo());
|
|
|
|
|
if (CollUtil.isEmpty(codeEntities)) {
|
|
|
|
|
return ResultVOUtils.error(500, "单据还未扫码或和扫码校验存在异常无法提交!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<IoCodeTempEntity> codeTempEntities = getCheckRusultCode(addOrderRequest.getBillNo(), codeEntities);
|
|
|
|
|
for (IoCodeTempEntity codeTempEntity : codeTempEntities) {
|
|
|
|
|
if (codeTempEntity.getCheckStatus() == 2) {
|
|
|
|
|
List<IoCodeResponse> codeTempEntities = getCheckRusultCode(addOrderRequest.getBillNo(), codeEntities);
|
|
|
|
|
for (IoCodeResponse codeTempEntity : codeTempEntities) {
|
|
|
|
|
if (IntUtil.value(codeTempEntity.getCheckStatus()) == 2) {
|
|
|
|
|
return ResultVOUtils.error(501, "存在多余条码,请先剔除后重新提交!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
codeTempService.deleteByBillNo(addOrderRequest.getBillNo());
|
|
|
|
|
for (IoCodeTempEntity codeTempEntity : codeTempEntities) {
|
|
|
|
|
if (codeTempEntity.getCheckStatus() == 0) {
|
|
|
|
|
for (IoCodeResponse codeResponse : codeTempEntities) {
|
|
|
|
|
if (IntUtil.value(codeResponse.getCheckStatus()) == 0) {
|
|
|
|
|
IoCodeTempEntity codeTempEntity = new IoCodeTempEntity();
|
|
|
|
|
BeanUtil.copyProperties(codeResponse, codeTempEntity);
|
|
|
|
|
codeTempService.insert(codeTempEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
orderEntity.setStatus(ORDER_STATUS_CHECK_PROCESS);
|
|
|
|
|
ioAddInoutService.dealProcess(orderEntity);
|
|
|
|
|
checkInoutService.check(addOrderRequest.getBillNo());
|
|
|
|
|
checkInoutService.checkRightResult(addOrderRequest.getBillNo());
|
|
|
|
|
return ResultVOUtils.success("提交成功!");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -441,9 +442,9 @@ public class IoOrderController extends BaseController {
|
|
|
|
|
@GetMapping("admin/warehouse/inout/findCheckCode")
|
|
|
|
|
public BaseResponse findCheckCode(FilterCodeRequest filterCodeRequest) {
|
|
|
|
|
//校验单据是否已完成
|
|
|
|
|
List<IoCodeTempEntity> codeTempEntities = codeTempService.findByOrderId(filterCodeRequest.getOrderId());
|
|
|
|
|
List<IoCodeTempEntity> codeEntities = getCheckRusultCode(filterCodeRequest.getOrderId(), codeTempEntities);
|
|
|
|
|
PageSimpleResponse<IoCodeTempEntity> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
|
List<IoCodeResponse> codeTempEntities = codeTempService.findJoinByOrderId(filterCodeRequest.getOrderId());
|
|
|
|
|
List<IoCodeResponse> codeEntities = getCheckRusultCode(filterCodeRequest.getOrderId(), codeTempEntities);
|
|
|
|
|
PageSimpleResponse<IoCodeResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
|
pageSimpleResponse.setTotal(0l);
|
|
|
|
|
pageSimpleResponse.setList(codeEntities);
|
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
@ -484,26 +485,47 @@ public class IoOrderController extends BaseController {
|
|
|
|
|
return otherCodes;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<IoCodeTempEntity> getCheckRusultCode(String billNo, List<IoCodeTempEntity> codeEntities) {
|
|
|
|
|
List<IoCodeTempEntity> otherCodes = getOtherCode(billNo, codeEntities);
|
|
|
|
|
for (IoCodeTempEntity codeTempEntity : otherCodes) {
|
|
|
|
|
boolean isTure = false;
|
|
|
|
|
for (IoCodeTempEntity codeEntity : codeEntities) {
|
|
|
|
|
if (IntUtil.value(codeTempEntity.getId()) != IntUtil.value(codeEntity.getId())) {
|
|
|
|
|
if (StrUtil.nullToEmpty(codeTempEntity.getBatchNo()).equals(StrUtil.nullToEmpty(codeEntity.getBatchNo()))) {
|
|
|
|
|
codeEntity.setCheckStatus(2);
|
|
|
|
|
isTure = true;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (IntUtil.value(codeTempEntity.getReCount()) != IntUtil.value(codeEntity.getReCount()) || isTure) {
|
|
|
|
|
codeEntity.setCheckStatus(2);
|
|
|
|
|
isTure = true;
|
|
|
|
|
public List<IoCodeResponse> getCheckRusultCode(String billNo, List<IoCodeResponse> codeEntities) {
|
|
|
|
|
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(billNo);
|
|
|
|
|
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(billNo);
|
|
|
|
|
List<IoOrderCheckResultResponse> orderCheckResultResponses = ioCheckInoutService.combineCheck(orderDetailBizEntities, orderDetailCodeEntities);
|
|
|
|
|
if (CollUtil.isNotEmpty(orderCheckResultResponses)) {
|
|
|
|
|
for (IoOrderCheckResultResponse orderCheckResultResponse : orderCheckResultResponses) {
|
|
|
|
|
for (IoCodeResponse codeTempEntity : codeEntities) {
|
|
|
|
|
if (IntUtil.value(codeTempEntity.getRelId()) == IntUtil.value(orderCheckResultResponse.getBindRlFk())
|
|
|
|
|
&& (StrUtil.nullToEmpty(codeTempEntity.getBatchNo()).equals(StrUtil.nullToEmpty(orderCheckResultResponse.getBBatchNo()))
|
|
|
|
|
|| StrUtil.nullToEmpty(codeTempEntity.getBatchNo()).equals(StrUtil.nullToEmpty(orderCheckResultResponse.getSBatchNo())
|
|
|
|
|
))) {
|
|
|
|
|
if (orderCheckResultResponse.getCount() < 1) {
|
|
|
|
|
codeTempEntity.setCheckStatus(1);
|
|
|
|
|
} else if (orderCheckResultResponse.getCount() < orderCheckResultResponse.getScanCount()) {
|
|
|
|
|
codeTempEntity.setCheckStatus(2);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!isTure)
|
|
|
|
|
codeTempEntity.setCheckStatus(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// List<IoCodeTempEntity> otherCodes = getOtherCode(billNo, codeEntities);
|
|
|
|
|
// for (IoCodeTempEntity codeTempEntity : otherCodes) {
|
|
|
|
|
// boolean isTure = false;
|
|
|
|
|
// for (IoCodeTempEntity codeEntity : codeEntities) {
|
|
|
|
|
// if (IntUtil.value(codeTempEntity.getId()) != IntUtil.value(codeEntity.getId())) {
|
|
|
|
|
// if (StrUtil.nullToEmpty(codeTempEntity.getBatchNo()).equals(StrUtil.nullToEmpty(codeEntity.getBatchNo()))) {
|
|
|
|
|
// codeEntity.setCheckStatus(2);
|
|
|
|
|
// isTure = true;
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// if (IntUtil.value(codeTempEntity.getReCount()) != IntUtil.value(codeEntity.getReCount()) || isTure) {
|
|
|
|
|
// codeEntity.setCheckStatus(2);
|
|
|
|
|
// isTure = true;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// if (!isTure)
|
|
|
|
|
// codeTempEntity.setCheckStatus(1);
|
|
|
|
|
// }
|
|
|
|
|
return codeEntities;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|