插入库存无批次号问题,手持终端扫码验收

master
anthonywj 2 years ago
parent a91cb4e194
commit 9de2e3881c

@ -32,8 +32,6 @@ public class EntrustReceController extends BaseController {
@Resource
EntrustReceService entrustReceService;
@Resource
CustomerService customerService;
@Resource
private IBasicBussinessTypeService bussinessTypeService;
@GetMapping("/spms/entrust/rece/filter")

@ -1,10 +1,13 @@
package com.glxp.api.controller.inout;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.req.inout.FilterCodeRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.IoCodeResponse;
import com.glxp.api.service.inout.IoCodeService;
import org.springframework.web.bind.annotation.GetMapping;
@ -51,4 +54,22 @@ public class IoCodeController extends BaseController {
}
/**
*
*/
@AuthRuleAnnotation("")
@GetMapping("spms/inout/dlcode/findByOrderId")
public BaseResponse downloadCodesByOrderId(String orderId) {
List<IoCodeEntity> codeEntityList = ioCodeService.findByOrderId(orderId);
PageInfo<IoCodeEntity> pageInfo;
pageInfo = new PageInfo<>(codeEntityList);
PageSimpleResponse<IoCodeEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(codeEntityList);
return ResultVOUtils.success(pageSimpleResponse);
}
}

@ -9,11 +9,17 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.InvBusUserEntity;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.EntrustReceEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity;
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.auth.FilterInvBusUserRequest;
import com.glxp.api.req.auth.FilterInvWarehouseRequest;
import com.glxp.api.req.basic.BasicEntrustRecRequest;
import com.glxp.api.req.inout.AddOrderRequest;
import com.glxp.api.req.inout.FilterOrderDetailBizRequest;
import com.glxp.api.req.inout.FilterOrderRequest;
@ -22,6 +28,8 @@ import com.glxp.api.res.PageSimpleResponse;
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.service.auth.InvBusUserService;
import com.glxp.api.service.basic.EntrustReceService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.*;
import lombok.extern.slf4j.Slf4j;
@ -245,7 +253,70 @@ public class IoOrderController extends BaseController {
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(erpOrderResponses);
return ResultVOUtils.success(pageSimpleResponse);
// }
}
@Resource
EntrustReceService entrustReceService;
@Resource
InvBusUserService invBusUserService;
//手持终端下载扫码单据进行审核
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/order/download")
public BaseResponse downloadOrder(FilterOrderRequest filterOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
Long userId = null;
if (filterOrderRequest.getWmsUserId() != null) {
userId = filterOrderRequest.getWmsUserId();
} else userId = getUserId();
List<EntrustReceEntity> entrustReceEntities;
List<InvBusUserEntity> warehouseUserEntities = null;
IoOrderEntity stockOrderEntity = orderService.findByBillNo(filterOrderRequest.getBillNo());
if (stockOrderEntity == null) {
return ResultVOUtils.error(500, "单据未找到!");
} else if (stockOrderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
//1.校验是否为委托验收人
if (!stockOrderEntity.isEntrustEnd()) {
BasicEntrustRecRequest basicEntrustRecRequest = new BasicEntrustRecRequest();
basicEntrustRecRequest.setAction(stockOrderEntity.getAction());
basicEntrustRecRequest.setEntrustUser(userId);
basicEntrustRecRequest.setCurInv(stockOrderEntity.getInvCode());
entrustReceEntities = entrustReceService.filterEntrustRec(basicEntrustRecRequest);
} else {
return ResultVOUtils.error(500, "单据已委托验收完成!");
}
//2.校验是否为用户所属单据类型
if (StrUtil.isNotEmpty(stockOrderEntity.getDeptCode())) {
FilterInvBusUserRequest filterInvBusUserRequest = new FilterInvBusUserRequest();
filterInvBusUserRequest.setSubInvCode(stockOrderEntity.getInvCode());
filterInvBusUserRequest.setUserId(userId + "");
filterInvBusUserRequest.setScAction(stockOrderEntity.getAction());
warehouseUserEntities = invBusUserService.filterInvBusUser(filterInvBusUserRequest);
}
if (CollUtil.isEmpty(warehouseUserEntities) && CollUtil.isEmpty(entrustReceEntities)) {
return ResultVOUtils.error(500, "权限不足,无法验收!");
}
} else if (stockOrderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) {
return ResultVOUtils.error(500, "单据已审核!");
} else {
return ResultVOUtils.error(500, "非未审核单据!");
}
List<IoOrderResponse> orderEntityList = orderService.filterList(filterOrderRequest);
PageInfo<IoOrderResponse> pageInfo;
pageInfo = new PageInfo<>(orderEntityList);
PageSimpleResponse<IoOrderResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(orderEntityList);
return ResultVOUtils.success(pageSimpleResponse);
}

@ -1,11 +1,19 @@
package com.glxp.api.controller.inout;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inout.IoOrderDetailResultService;
import com.glxp.api.service.inout.IoOrderService;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@ -17,9 +25,12 @@ import java.util.List;
*/
@RestController
public class IoOrderDetailResultController {
@Resource
IoOrderService orderService;
@Resource
private IoOrderDetailResultService orderDetailResultService;
@Resource
IBasicBussinessTypeService basicBussinessTypeService;
/**
*
@ -27,6 +38,7 @@ public class IoOrderDetailResultController {
* @param orderDetailResultRequest
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/resultDetail/filterList")
public BaseResponse filterList(FilterOrderDetailResultRequest orderDetailResultRequest) {
List<IoOrderDetailResultResponse> list = orderDetailResultService.filterList(orderDetailResultRequest);
@ -34,4 +46,31 @@ public class IoOrderDetailResultController {
return ResultVOUtils.page(pageInfo);
}
/**
* pda
*/
@AuthRuleAnnotation("")
@GetMapping(value = "/warehouse/inout/order/detail")
public BaseResponse orderDetail(FilterOrderDetailResultRequest filterErpOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (StrUtil.isEmpty(filterErpOrderRequest.getOrderIdFk())) {
return ResultVOUtils.error(500, "单据号不能为空!");
}
filterErpOrderRequest.setPage(null);
filterErpOrderRequest.setLimit(null);
IoOrderEntity orderEntity = orderService.findByBillNo(filterErpOrderRequest.getOrderIdFk());
List<IoOrderDetailResultResponse> list = orderDetailResultService.filterList(filterErpOrderRequest);
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
if ((bussinessTypeEntity.getOrderVisibleType() == 1 && orderEntity.getStatus() == 4) || filterErpOrderRequest.getShowType() == 1) {
//todo使用关联查
// erpOrderEntities = transferSerList(erpOrderEntities, filterErpOrderRequest.getOrderId());
}
return ResultVOUtils.success(list);
}
}

@ -2,22 +2,26 @@ package com.glxp.api.controller.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.basic.EntrustReceEntity;
import com.glxp.api.entity.inout.IoCodeEntity;
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.FilterOrderDetailResultRequest;
import com.glxp.api.req.inout.ReviewFinishRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.AcceptOrderResponse;
import com.glxp.api.service.inout.IoAddInoutService;
import com.glxp.api.service.inout.IoCheckInoutService;
import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.inout.*;
import com.glxp.api.util.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
@ -29,6 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Locale;
//单据验收
@Slf4j
@ -38,7 +43,7 @@ public class IoOrderReviewController extends BaseController {
@Resource
private RedisUtil redisUtil;
@Resource
IoOrderDetailBizService orderDetailBizService;
private IoOrderDetailResultService orderDetailResultService;
@Resource
IoOrderService orderService;
@Resource
@ -53,13 +58,15 @@ public class IoOrderReviewController extends BaseController {
}
AcceptOrderResponse acceptOrderEntity = new AcceptOrderResponse();
acceptOrderEntity.setBillNo(billNo);
List<IoOrderDetailBizEntity> datas = (List<IoOrderDetailBizEntity>) redisUtil.get(ConstantStatus.REDIS_BILLNO + billNo);
List<IoOrderDetailResultResponse> datas = (List<IoOrderDetailResultResponse>) redisUtil.get(ConstantStatus.REDIS_BILLNO + billNo);
if (CollUtil.isNotEmpty(datas)) {
acceptOrderEntity.setOrderDetailEntities(datas);
acceptOrderEntity.setExitAccept(true);
} else {
List<IoOrderDetailBizEntity> stockOrderDetailEntities = orderDetailBizService.findByOrderId(billNo);
acceptOrderEntity.setOrderDetailEntities(stockOrderDetailEntities);
FilterOrderDetailResultRequest filterOrderDetailResultRequest = new FilterOrderDetailResultRequest();
filterOrderDetailResultRequest.setOrderIdFk(billNo);
List<IoOrderDetailResultResponse> orderDetailResultResponses = orderDetailResultService.filterList(filterOrderDetailResultRequest);
acceptOrderEntity.setOrderDetailEntities(orderDetailResultResponses);
acceptOrderEntity.setExitAccept(false);
}
return ResultVOUtils.success(acceptOrderEntity);
@ -83,6 +90,116 @@ public class IoOrderReviewController extends BaseController {
return updateReview(orderEntity);
}
@Resource
IoCodeService codeService;
//前端扫码验收
@AuthRuleAnnotation("")
@PostMapping("/udiwms/stock/order/accept/addCode")
public BaseResponse acceptAddCode(@RequestBody AcceptOrderResponse acceptOrderEntity) {
IoOrderEntity stockOrderEntity = orderService.findByBillNo(acceptOrderEntity.getBillNo());
List<IoCodeEntity> codeList;
List<IoCodeEntity> codeEntityList = (List<IoCodeEntity>) redisUtil.get(ConstantStatus.REDIS_BILLNO_CODES + acceptOrderEntity.getBillNo());
if (CollUtil.isEmpty(codeEntityList)) {
codeList = codeService.findByOrderId(stockOrderEntity.getBillNo());
} else {
codeList = codeEntityList;
}
IoCodeEntity codeEntity = isExit(codeList, acceptOrderEntity.getCode());
if (codeEntity == null) {
return ResultVOUtils.error(500, "非此单UDI码");
}
int status = checkCodeExit(codeEntity.getCode(), codeList);
if (status == Constant.CHECK_REPEAT) {
return ResultVOUtils.error(500, "重复扫码!");
} else if (status == Constant.CHECK_NULL) {
return ResultVOUtils.error(500, "非此单UDI码");
}
List<IoOrderDetailResultResponse> orderDetailResultResponses = acceptOrderEntity.getOrderDetailEntities();
if (StrUtil.isNotEmpty(acceptOrderEntity.getCode()) && CollUtil.isNotEmpty(orderDetailResultResponses)) {
boolean isExit = false;
for (IoOrderDetailResultResponse orderDetailResultResponse : orderDetailResultResponses) {
if (orderDetailResultResponse.getBindRlFk().longValue() == codeEntity.getRelId().longValue() &&
StrUtil.trimToEmpty(orderDetailResultResponse.getBatchNo()).equals(StrUtil.trimToEmpty(codeEntity.getBatchNo()))) {
orderDetailResultResponse.setAcceptCount(orderDetailResultResponse.getAcceptCount() + codeEntity.getReCount());
if (orderDetailResultResponse.getAcceptCount() > orderDetailResultResponse.getCount()) {
return ResultVOUtils.error(500, "数量溢出!");
}
isExit = true;
break;
}
}
if (isExit) {
redisUtil.set(ConstantStatus.REDIS_BILLNO + acceptOrderEntity.getBillNo(), orderDetailResultResponses);
redisUtil.set(ConstantStatus.REDIS_BILLNO_CODES + acceptOrderEntity.getBillNo(), codeList);
acceptOrderEntity.setOrderDetailEntities(orderDetailResultResponses);
if (vailFinish(orderDetailResultResponses)) {
acceptOrderEntity.setFinishAccept(true);
return ResultVOUtils.success(acceptOrderEntity);
}
return ResultVOUtils.success(acceptOrderEntity);
}
}
return ResultVOUtils.error(500, "非此单条码!");
}
public int checkCodeExit(String code, List<IoCodeEntity> codesList) {
if (StrUtil.isNotEmpty(code)) {
code = code.replace("\r\n", "");
}
if (code.endsWith("\u001D")) {
code = code.replace("\u001D", "");
}
for (IoCodeEntity checkOrderCodesBean : codesList) {
if (checkOrderCodesBean.getCode().toUpperCase(Locale.ROOT).equals(code.toUpperCase(Locale.ROOT))) {
if (checkOrderCodesBean.getStatus() == Constant.DB_CHECK_ED
&& checkOrderCodesBean.getCount() == checkOrderCodesBean.getScanCount()) {
return Constant.CHECK_REPEAT;
}
int curCount = checkOrderCodesBean.getScanCount() + checkOrderCodesBean.getCount();
if (curCount == checkOrderCodesBean.getCount()) {
checkOrderCodesBean.setStatus(Constant.DB_CHECK_ED);
}
checkOrderCodesBean.setScanCount(curCount);
return Constant.CHECK_EXIT;
}
}
return Constant.CHECK_NULL;
}
public IoCodeEntity isExit(List<IoCodeEntity> codeList, String code) {
if (CollUtil.isNotEmpty(codeList)) {
for (IoCodeEntity codeEntity : codeList) {
if (codeEntity.getCode().equals(code)) {
return codeEntity;
}
}
}
return null;
}
public boolean vailFinish(List<IoOrderDetailResultResponse> orderDetailResultResponses) {
if (CollUtil.isNotEmpty(orderDetailResultResponses)) {
for (IoOrderDetailResultResponse stockOrderDetailEntity : orderDetailResultResponses) {
if (stockOrderDetailEntity.getCount() != stockOrderDetailEntity.getAcceptCount()) {
return false;
}
}
return true;
}
return false;
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/stock/order/acceptClear")
@ -90,8 +207,10 @@ public class IoOrderReviewController extends BaseController {
String billNo = acceptOrderEntity.getBillNo();
redisUtil.del(ConstantStatus.REDIS_BILLNO + billNo);
redisUtil.del(ConstantStatus.REDIS_BILLNO_CODES + billNo);
List<IoOrderDetailBizEntity> stockOrderDetailEntities = orderDetailBizService.findByOrderId(billNo);
acceptOrderEntity.setOrderDetailEntities(stockOrderDetailEntities);
FilterOrderDetailResultRequest filterOrderDetailResultRequest = new FilterOrderDetailResultRequest();
filterOrderDetailResultRequest.setOrderIdFk(billNo);
List<IoOrderDetailResultResponse> orderDetailResultResponses = orderDetailResultService.filterList(filterOrderDetailResultRequest);
acceptOrderEntity.setOrderDetailEntities(orderDetailResultResponses);
return ResultVOUtils.success(acceptOrderEntity);
}
@ -110,4 +229,6 @@ public class IoOrderReviewController extends BaseController {
return ResultVOUtils.success("更新成功");
}
}

@ -1,6 +1,8 @@
package com.glxp.api.dao.auth;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.auth.InvBusUserEntity;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.auth.WarehouseBussinessTypeEntity;
import com.glxp.api.req.auth.FilterInvBusUserRequest;
import com.glxp.api.res.auth.InvBusUserResponse;
@ -10,7 +12,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface InvBusUserDao {
public interface InvBusUserDao extends BaseMapperPlus<InvBusUserDao, InvBusUserEntity, InvBusUserEntity> {
List<InvBusUserEntity> filterInvBusUser(FilterInvBusUserRequest filterInvBusUserRequest);

@ -136,6 +136,8 @@ public class IoCodeEntity {
private Date createTime;
@TableField(exist = false)
private Integer status; //条码校验状态
private int status; //条码校验状态
@TableField(exist = false)
private int scanCount;
}

@ -185,6 +185,9 @@ public class IoOrderEntity {
@TableField(value = "preInBillNo")
private String preInBillNo;
@TableField(value = "entrustEnd")
private boolean entrustEnd;
/**
* 1.2:,3. 稿
*/

@ -11,13 +11,13 @@ public class BasicEntrustRecRequest extends ListPageRequest {
private Integer id;
private String action;
private String entrustInv;
private String entrustDept;
private Long entrustUser;
private String userId;
private Date updateTime;
private String curInv;
private String curDept;
private String lastUpdateTime;
private String entrustSubInv;
private String invWarehouseCode;
private String name;
}

@ -29,4 +29,6 @@ public class FilterOrderDetailResultRequest extends ListPageRequest {
*/
private String batchNo;
private int showType;
}

@ -92,7 +92,7 @@ public class FilterOrderRequest extends ListPageRequest {
*/
private String thirdBillNo;
private String wmsUserId;
private Long wmsUserId;
private String wmsUserName;
/**

@ -17,6 +17,6 @@ public class AcceptOrderResponse {
private boolean finishAccept;
private List<IoOrderDetailBizEntity> orderDetailEntities;
private List<IoOrderDetailResultResponse> orderDetailEntities;
}

@ -20,7 +20,7 @@ public class IoOrderDetailResultResponse {
/**
* ID
*/
private String bindRlFk;
private Long bindRlFk;
/**
* DIUUID
@ -151,5 +151,6 @@ public class IoOrderDetailResultResponse {
* 5
*/
private String remark5;
private int acceptCount;
}

@ -7,8 +7,6 @@ import java.util.List;
@Data
public class PdaBusOrderResponse extends IoOrderResponse {
private List<IoOrderDetailBizResponse> orderDetailBizResponses;
}

@ -321,11 +321,42 @@ public class IoAddInoutService {
PostOrderRequest.PostOrder postOrder = postOrders.get(i);
//创建单据
PdaOrderEntity pdaOrderEntity = postOrder.getOrderBean();
IoOrderEntity orderEntity = null;
if (StrUtil.isNotEmpty(pdaOrderEntity.getDocid())) {
orderEntity = orderService.findByBillNo(pdaOrderEntity.getDocid());
}
if (orderEntity != null) {
//已包含业务单据校验
orderEntity.setUpdateUser(postOrderRequest.getUserId() + "");
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
List<PdaCodeEntity> pdaCodeEntities = postOrder.getCodes();
if (pdaCodeEntities != null && pdaCodeEntities.size() > 0) {
PdaCodeEntity pdaCodeEntity = pdaCodeEntities.get(0);
//写入条码
List<IoCodeTempEntity> ioCodeEnttities = new ArrayList<>();
for (int index = 0; index < pdaCodeEntities.size(); index++) {
IoCodeTempEntity codeEnttity = new IoCodeTempEntity();
BeanUtils.copyProperties(pdaCodeEntities.get(index), codeEnttity);
codeEnttity.setAction(orderEntity.getAction());
codeEnttity.setMainAction(orderEntity.getMainAction());
codeEnttity.setDeptCode(orderEntity.getDeptCode());
codeEnttity.setOrderId(orderEntity.getBillNo());
codeEnttity.setInvCode(orderEntity.getInvCode());
codeEnttity.setReCount(codeEnttity.getCount() * udiCalCountUtil.getActCount(codeEnttity.getRelId()));
codeEnttity.setUpdateTime(new Date());
codeEnttity.setCreateTime(DateUtil.parseDate(pdaCodeEntity.getActDate()));
ioCodeEnttities.add(codeEnttity);
}
codeTempService.insertBatch(ioCodeEnttities);
dealProcess(orderEntity);
}
} else {
//创建新单据
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(pdaOrderEntity.getType());
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
IoOrderEntity orderSaveRequest = new IoOrderEntity();
orderSaveRequest.setBillNo(orderNo);
orderSaveRequest.setMainAction(pdaOrderEntity.getInout());
orderSaveRequest.setAction(pdaOrderEntity.getType());
orderSaveRequest.setCorpOrderId(pdaOrderEntity.getOrder());
@ -359,6 +390,7 @@ public class IoAddInoutService {
codeEnttity.setAction(orderSaveRequest.getAction());
codeEnttity.setMainAction(orderSaveRequest.getMainAction());
codeEnttity.setDeptCode(orderSaveRequest.getDeptCode());
codeEnttity.setOrderId(orderSaveRequest.getBillNo());
codeEnttity.setInvCode(orderSaveRequest.getInvCode());
codeEnttity.setReCount(codeEnttity.getCount() * udiCalCountUtil.getActCount(codeEnttity.getRelId()));
codeEnttity.setUpdateTime(new Date());
@ -368,8 +400,13 @@ public class IoAddInoutService {
codeTempService.insertBatch(ioCodeEnttities);
}
orderService.insertOrder(orderSaveRequest);
dealProcess(orderSaveRequest);
}
}
}
}
@Resource

@ -57,7 +57,8 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
@Override
public boolean isExit(Long relId, String bacthNo, Integer ignoreId, String orderId) {
return ioOrderDetailBizDao.exists(new QueryWrapper<IoOrderDetailBizEntity>().eq("bindRlFk", relId).eq("batchNo", bacthNo).eq("orderIdFk", orderId).ne("id", ignoreId));
return ioOrderDetailBizDao.exists(new QueryWrapper<IoOrderDetailBizEntity>().eq("bindRlFk", relId).eq(StrUtil.isNotEmpty(bacthNo), "batchNo", bacthNo)
.isNull(StrUtil.isEmpty(bacthNo), "batchNo").eq("orderIdFk", orderId).ne("id", ignoreId));
}
@Override

@ -39,7 +39,8 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService {
@Override
public IoOrderDetailCodeEntity findByUnique(String orderId, Long relId, String bacthNo) {
return ioOrderDetailCodeDao.selectOne(new QueryWrapper<IoOrderDetailCodeEntity>().eq("orderIdFk", orderId).eq("bindRlFk", relId).eq("batchNo", bacthNo));
return ioOrderDetailCodeDao.selectOne(new QueryWrapper<IoOrderDetailCodeEntity>().eq("orderIdFk", orderId).eq("bindRlFk", relId).eq(StrUtil.isNotEmpty(bacthNo), "batchNo", bacthNo)
.isNull(StrUtil.isEmpty(bacthNo), "batchNo"));
}
@Override

@ -45,7 +45,7 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic
if (null == orderDetailResultRequest) {
return Collections.emptyList();
}
if (null == orderDetailResultRequest.getPage() && null == orderDetailResultRequest.getLimit()) {
if (null != orderDetailResultRequest.getPage() && null != orderDetailResultRequest.getLimit()) {
PageHelper.offsetPage((orderDetailResultRequest.getPage() - 1) * orderDetailResultRequest.getLimit(), orderDetailResultRequest.getLimit());
}
return orderDetailResultDao.filterList(orderDetailResultRequest);

@ -44,7 +44,8 @@ public class InvProductDetailServiceImpl implements InvProductDetailService {
@Override
public List<InvProductDetailEntity> selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode) {
return invProductDetailDao.selectList(new QueryWrapper<InvProductDetailEntity>().eq("relId", relId).eq("batchNo", batchNo).eq("supId", supId).eq("deptCode", deptCode).eq("invCode", invCode));
return invProductDetailDao.selectList(new QueryWrapper<InvProductDetailEntity>().eq("relId", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo)
.isNull(StrUtil.isEmpty(batchNo), "batchNo").eq("supId", supId).eq("deptCode", deptCode).eq("invCode", invCode));
}
@Override

@ -1,5 +1,6 @@
package com.glxp.api.service.inv.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inv.InvProductDao;
@ -39,7 +40,8 @@ public class InvProductServiceImpl implements InvProductService {
@Override
public InvProductEntity selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode) {
return invProductDao.selectOne(new QueryWrapper<InvProductEntity>().eq("relIdFk", relId).eq("batchNo", batchNo).eq("supId", supId).eq("deptCode", deptCode).eq("invCode", invCode));
return invProductDao.selectOne(new QueryWrapper<InvProductEntity>().eq("relIdFk", relId).eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo)
.isNull(StrUtil.isEmpty(batchNo), "batchNo").eq("supId", supId).eq("deptCode", deptCode).eq("invCode", invCode));
}
@Override

@ -25,18 +25,18 @@
<select id="filterUnSelect" parameterType="com.glxp.api.req.auth.FilterInvBusUserRequest"
resultType="com.glxp.api.entity.auth.WarehouseBussinessTypeEntity">
select inv_warehouse_bussiness_type.id,
inv_warehouse_bussiness_type.code,
inv_warehouse_bussiness_type.action,
select auth_warehouse_bustype.id,
auth_warehouse_bustype.code,
auth_warehouse_bustype.action,
basic_bussiness_type.name
from inv_warehouse_bussiness_type
inner join basic_bussiness_type on inv_warehouse_bussiness_type.action = basic_bussiness_type.action
from auth_warehouse_bustype
inner join basic_bussiness_type on auth_warehouse_bustype.action = basic_bussiness_type.action
<where>
<if test="subInvCode != '' and subInvCode != null">
AND code = #{subInvCode}
</if>
<if test="selectedCodes != null and selectedCodes.size()!=0">
and inv_warehouse_bussiness_type.action not in
and auth_warehouse_bustype.action not in
<foreach collection="selectedCodes" item="item" open="(" separator="," close=")">
#{item}
</foreach>
@ -99,7 +99,6 @@
<trim prefix="set" suffixOverrides=",">
<if test="userId != null">userId=#{userId},</if>
<if test="subInvCode != null">subInvCode=#{subInvCode},</if>
<if test="parentId != null">parentId=#{parentId},</if>
<if test="scAction != null">scAction=#{scAction},</if>
<if test="remark != null">remark=#{remark},</if>
</trim>

@ -25,11 +25,11 @@
<if test="curInv != null">
and curInv = #{curInv}
</if>
<if test="entrustSubInv != null">
and entrustSubInv = #{entrustSubInv}
<if test="entrustDept != null">
and entrustDept = #{entrustDept}
</if>
<if test="invWarehouseCode != null">
and invWarehouseCode = #{invWarehouseCode}
<if test="curDept != null">
and curDept = #{curDept}
</if>
<if test="lastUpdateTime != null and lastUpdateTime != ''">
<![CDATA[

Loading…
Cancel
Save