Merge remote-tracking branch 'origin/master'

master
郑明梁 2 years ago
commit 4775da6533

@ -9,10 +9,11 @@ public class ConstantStatus {
public static final Integer ORDER_STATUS_TEMP_SAVE = -1; //等待提交(草稿) public static final Integer ORDER_STATUS_TEMP_SAVE = -1; //等待提交(草稿)
public static final Integer ORDER_STATUS_PROCESS = 1; //等待处理 public static final Integer ORDER_STATUS_PROCESS = 1; //等待处理
public static final Integer ORDER_STATUS_CHECK = 2; //等待校验 public static final Integer ORDER_STATUS_CHECK = 2; //等待校验
public static final Integer ORDER_STATUS_FAIL = 3; //重码校验失败 public static final Integer ORDER_STATUS_FAIL = 3; //单据校验失败
public static final Integer ORDER_STATUS_SUCCESS = 4; //已校验 public static final Integer ORDER_STATUS_SUCCESS = 4; //已校验
public static final Integer ORDER_STATUS_ADDITIONAL = 5; //补录单据 public static final Integer ORDER_STATUS_ADDITIONAL = 5; //补录单据
public static final Integer ORDER_STATUS_DOING = 6; public static final Integer ORDER_STATUS_DOING = 6;
public static final Integer ORDER_STATUS_RECEIVEED = 7;
//订单处理状态 //订单处理状态
public static final Integer ORDER_DEAL_DRAFT = 1; //草稿 public static final Integer ORDER_DEAL_DRAFT = 1; //草稿

@ -3,6 +3,7 @@ package com.glxp.api.controller.auth;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
@ -17,6 +18,7 @@ import com.glxp.api.req.basic.FilterBussinessTypeRequest;
import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.auth.InvBusUserResponse;
import com.glxp.api.res.auth.InvSubWarehouseResponse; import com.glxp.api.res.auth.InvSubWarehouseResponse;
import com.glxp.api.res.auth.InvWarehouseThirdSysResponse; import com.glxp.api.res.auth.InvWarehouseThirdSysResponse;
import com.glxp.api.res.auth.WarehouseUserResponse; import com.glxp.api.res.auth.WarehouseUserResponse;
@ -33,10 +35,8 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays; import java.util.stream.Collectors;
import java.util.Date;
import java.util.List;
@RestController @RestController
public class InvWarehouseController extends BaseController { public class InvWarehouseController extends BaseController {
@ -55,6 +55,10 @@ public class InvWarehouseController extends BaseController {
private WarehouseBussinessTypeService warehouseBussinessTypeService; private WarehouseBussinessTypeService warehouseBussinessTypeService;
@Resource @Resource
private IBasicBussinessTypeService basicBussinessTypeService; private IBasicBussinessTypeService basicBussinessTypeService;
@Resource
private InvSpaceService invSpaceService;
@Resource
InvBusUserService invBusUserService;
/** /**
* *
@ -202,6 +206,7 @@ public class InvWarehouseController extends BaseController {
return ResultVOUtils.success(invSubWarehouseEntities); return ResultVOUtils.success(invSubWarehouseEntities);
} }
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/spms/sub/inv/warehouse/save") @PostMapping("/spms/sub/inv/warehouse/save")
public BaseResponse save(@RequestBody @Valid InvWarehouseEntity invWarehouseEntity, public BaseResponse save(@RequestBody @Valid InvWarehouseEntity invWarehouseEntity,
@ -276,15 +281,15 @@ public class InvWarehouseController extends BaseController {
//todo 代码未迁移完,记得回来修改 //todo 代码未迁移完,记得回来修改
// Integer userCount = warehouseUserService.countUserBySubInvCode(invWarehouseEntity.getCode()); Integer userCount = warehouseUserService.countUserBySubInvCode(invWarehouseEntity.getCode());
// if (userCount > 0) { if (userCount > 0) {
// return ResultVOUtils.error(500, "请先移除该仓库关联用户!"); return ResultVOUtils.error(500, "请先移除该仓库关联用户!");
// } }
//
// List<WarehouseBussinessTypeEntity> warehouseBussinessTypeEntities = warehouseBussinessTypeService.getListByCode(invWarehouseEntity.getCode()); List<WarehouseBussinessTypeEntity> warehouseBussinessTypeEntities = warehouseBussinessTypeService.getListByCode(invWarehouseEntity.getCode());
// if (!warehouseBussinessTypeEntities.isEmpty()) { if (!warehouseBussinessTypeEntities.isEmpty()) {
// return ResultVOUtils.error(500, "请先移除该仓库关联用户和单据类型!"); return ResultVOUtils.error(500, "请先移除该仓库关联用户和单据类型!");
// } }
// //
// //判断此分库中是否还有库存 // //判断此分库中是否还有库存
// InvWarehouseEntity invSubWarehouse = invWarehouseService.findById(deleteRequest.getId()); // InvWarehouseEntity invSubWarehouse = invWarehouseService.findById(deleteRequest.getId());
@ -293,11 +298,11 @@ public class InvWarehouseController extends BaseController {
// return ResultVOUtils.error(500, "此分库存在库存,不能删除!"); // return ResultVOUtils.error(500, "此分库存在库存,不能删除!");
// } // }
// //
// //判断此分库下是否有货位 //判断此分库下是否有货位
// List<InvSpace> spaceList = invSpaceService.findBySubWarehouseCode(invSubWarehouse.getCode()); List<InvSpace> spaceList = invSpaceService.findBySubWarehouseCode(invWarehouseEntity.getCode());
// if (CollUtil.isNotEmpty(spaceList)) { if (CollUtil.isNotEmpty(spaceList)) {
// return ResultVOUtils.error(500, "请先移除此分库下的货位!"); return ResultVOUtils.error(500, "请先移除此分库下的货位!");
// } }
boolean b = invWarehouseService.deleteById(deleteRequest.getId()); boolean b = invWarehouseService.deleteById(deleteRequest.getId());
@ -514,4 +519,39 @@ public class InvWarehouseController extends BaseController {
return null; return null;
} }
@AuthRuleAnnotation("")
@PostMapping("/warehouse/inout/delWarehouseUser")
public BaseResponse deleteWarehouseUser(Integer id) {
if (null == id)
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
WarehouseUserEntity warehouseUserEntity = warehouseUserService.selectById(id);
List<InvBusUserEntity> invBusUserEntities = invBusUserService.selectByUnion(warehouseUserEntity.getUserid() + "", warehouseUserEntity.getCode());
if (CollUtil.isNotEmpty(invBusUserEntities)) {
return ResultVOUtils.error(500, "已存在该用户关联单据类型,无法删除!");
}
InvWarehouseEntity invSubWarehouseEntity =
invWarehouseService.findByInvSubByCode(warehouseUserEntity.getCode());
deptService.updateTime(invSubWarehouseEntity.getParentId(), new Date());
warehouseUserService.deleteWarehouseUser(id);
return ResultVOUtils.success();
}
@AuthRuleAnnotation("")
@PostMapping("/warehouse/inout/addWarehouseUser")
public BaseResponse addWarehouseUser(@RequestBody Map<String, Object> params) {
String code = String.valueOf(params.get("code"));
String userListJson = String.valueOf(params.get("userList"));
if (StrUtil.isBlank(code) || StrUtil.isBlank(userListJson))
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
List<AuthAdmin> userList = JSONUtil.toList(userListJson, AuthAdmin.class);
warehouseUserService.saveWarehouseUser(code, userList);
InvWarehouseEntity invSubWarehouseEntity =
invWarehouseService.findByInvSubByCode(code);
deptService.updateTime(invSubWarehouseEntity.getParentId(), new Date());
return ResultVOUtils.success();
}
} }

@ -3,10 +3,12 @@ package com.glxp.api.controller.inout;
import com.glxp.api.controller.BaseController; import com.glxp.api.controller.BaseController;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
/**
*
*/
@RestController @RestController
public class IoCodeController extends BaseController { public class IoCodeController extends BaseController {
} }

@ -17,6 +17,7 @@ import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.inout.IoCodeEnttity; import com.glxp.api.entity.inout.IoCodeEnttity;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.http.SpsDirectClient; import com.glxp.api.http.SpsDirectClient;
@ -32,8 +33,9 @@ import com.glxp.api.res.inout.AddCodeResult;
import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.*; import com.glxp.api.service.basic.*;
import com.glxp.api.service.inout.IoCodeTempService; import com.glxp.api.service.inout.IoCodeTempService;
import com.glxp.api.service.inout.IoOrderDetailCodeService;
import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.inout.IoTransInoutService; import com.glxp.api.service.inout.IoAddInoutService;
import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.CustomUtil; import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.DateUtil; import com.glxp.api.util.DateUtil;
@ -45,10 +47,7 @@ import com.glxp.api.util.udi.UdiCalCountUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
@ -68,7 +67,7 @@ public class IoCodeTempController extends BaseController {
@Resource @Resource
private SpsDirectClient spsDirectClient; private SpsDirectClient spsDirectClient;
@Resource @Resource
IoTransInoutService transInoutService; IoAddInoutService transInoutService;
@Resource @Resource
private SystemParamConfigService systemParamConfigService; private SystemParamConfigService systemParamConfigService;
@Resource @Resource
@ -374,7 +373,7 @@ public class IoCodeTempController extends BaseController {
} }
} }
String orderId = addOrderRequest.getOrderId(); String orderId = addOrderRequest.getBillNo();
//三期校验 //三期校验
if (addOrderRequest.isCodeFillCheck()) { if (addOrderRequest.isCodeFillCheck()) {
@ -765,4 +764,46 @@ public class IoCodeTempController extends BaseController {
} }
@Resource
IoOrderDetailCodeService ioOrderDetailCodeService;
@AuthRuleAnnotation("")
@GetMapping("warehouse/inout/deleteCodesTempById")
public BaseResponse deleteCodesTempById(@RequestParam("id") Integer id) {
IoCodeTempEntity codeTempEntity = codeTempService.selectById(id);
IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId());
if (codeTempEntity.getCount() != null && codeTempEntity.getCount() > 1) {
codeTempEntity.setCount(codeTempEntity.getCount() - 1);
codeTempService.updateById(codeTempEntity);
} else {
codeTempService.deleteById(id);
}
//更新扫码详情
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = ioOrderDetailCodeService.findByOrderId(codeTempEntity.getOrderId());
if (CollUtil.isNotEmpty(orderDetailCodeEntities)) {
for (IoOrderDetailCodeEntity orderDetailCodeEntity : orderDetailCodeEntities) {
if (orderDetailCodeEntity.getBindRlFk() == codeTempEntity.getRelId() && StrUtil.trimToEmpty(orderDetailCodeEntity.getBatchNo()).equals(codeTempEntity.getBatchNo())) {
//扫码数量-1
int orderCount = orderDetailCodeEntity.getCount();
int orderReCount = orderDetailCodeEntity.getReCount();
if (orderCount > 1) {
orderDetailCodeEntity.setCount(orderCount - codeTempEntity.getCount());
orderDetailCodeEntity.setCount(orderReCount - codeTempEntity.getReCount());
ioOrderDetailCodeService.update(orderDetailCodeEntity);
} else {
ioOrderDetailCodeService.deleteById(orderDetailCodeEntity.getId());
}
}
}
}
orderEntity.setUpdateUser(getUserId() + "");
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
return ResultVOUtils.success();
}
} }

@ -0,0 +1,123 @@
package com.glxp.api.controller.inout;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.controller.BaseController;
import com.glxp.api.dao.inout.IoOrderDao;
import com.glxp.api.dao.inout.IoOrderDetailBizDao;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
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.AddBizProductReqeust;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
*
*/
@RestController
public class IoOrderDetailBizController extends BaseController {
@Resource
IoOrderService orderService;
@Resource
IoOrderDetailBizService orderDetailBizService;
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
private IBasicBussinessTypeService basicBussinessTypeService;
@Resource
IoOrderDetailBizDao ioOrderDetailBizDao;
//获取单据业务详情---临时接口查询
@AuthRuleAnnotation("")
@GetMapping("udiwms/inout/order/draft/biz")
public BaseResponse getDraftsDetailCode() {
List<IoOrderDetailBizEntity> orderEntityList = ioOrderDetailBizDao.selectList();
PageSimpleResponse<IoOrderDetailBizEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(100l);
pageSimpleResponse.setList(orderEntityList);
return ResultVOUtils.success(pageSimpleResponse);
}
//录入业务单据详情
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/addBizProduct")
public BaseResponse addBizProduct(@RequestBody AddBizProductReqeust addBizProductReqeust) {
AuthAdmin authAdmin = getUser();
if (addBizProductReqeust.getRelId() == null)
return ResultVOUtils.error(500, "未选择产品信息");
if (addBizProductReqeust.getOrderEntity() == null)
return ResultVOUtils.error(500, "未指定订单");
IoOrderEntity orderEntity = addBizProductReqeust.getOrderEntity();
if (StrUtil.isEmpty(orderEntity.getBillNo())) {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
orderEntity.setBillNo(orderNo);
orderEntity.setCreateUser(authAdmin.getId() + "");
orderEntity.setCreateTime(new Date());
}
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(addBizProductReqeust.getRelId());
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
ioOrderDetailBizEntity.setOrderIdFk(orderEntity.getBillNo());
ioOrderDetailBizEntity.setBindRlFk(udiRelevanceResponse.getId());
ioOrderDetailBizEntity.setUuidFk(udiRelevanceResponse.getUuid());
ioOrderDetailBizEntity.setCoName(udiRelevanceResponse.getCpmctymc());
ioOrderDetailBizEntity.setCertCode(udiRelevanceResponse.getZczbhhzbapzbh());
ioOrderDetailBizEntity.setYlqxzcrbarmc(udiRelevanceResponse.getYlqxzcrbarmc());
ioOrderDetailBizEntity.setManufacturer(udiRelevanceResponse.getManufactory());
ioOrderDetailBizEntity.setMeasname(udiRelevanceResponse.getMeasname());
ioOrderDetailBizEntity.setSpec(udiRelevanceResponse.getGgxh());
ioOrderDetailBizEntity.setPrice(udiRelevanceResponse.getPrice());
orderDetailBizService.insert(ioOrderDetailBizEntity);
orderEntity.setUpdateTime(new Date());
orderEntity.setUpdateUser(authAdmin.getId() + "");
orderService.insertOrUpdate(orderEntity);
return ResultVOUtils.success(orderEntity);
}
//修改业务单据详情
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/updateBizProduct")
public BaseResponse updateBizProduct(@RequestBody IoOrderDetailBizEntity orderDetailBizEntity) {
boolean isExit = orderDetailBizService.isExit(orderDetailBizEntity.getBindRlFk(), orderDetailBizEntity.getBatchNo(), orderDetailBizEntity.getId());
if (isExit) {
return ResultVOUtils.error(500, "存在相同产品,相同批次号,请检查后保存!");
}
return orderDetailBizService.update(orderDetailBizEntity) > 0 ? ResultVOUtils.success("保存成功!") : ResultVOUtils.error(500, "保存失败");
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/delBizProduct")
public BaseResponse delBizProduct(@RequestBody DeleteRequest deleteRequest) {
return orderDetailBizService.deleteById(Integer.parseInt(deleteRequest.getId())) > 0 ? ResultVOUtils.success("删除成功!") : ResultVOUtils.error(500, "删除失败");
}
}

@ -4,9 +4,14 @@ import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.inout.IoOrderDetailCodeDao; import com.glxp.api.dao.inout.IoOrderDetailCodeDao;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.req.basic.UdiCombineRequest;
import com.glxp.api.req.inout.AddBizProductReqeust;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -31,6 +36,6 @@ public class IoOrderDetailController {
} }
//录入业务单据详情
} }

@ -89,7 +89,7 @@ public class ThrInvWarehouseController {
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/thirdSys/sub/inv/warehouse/edit") @PostMapping("/thirdSys/sub/inv/warehouse/edit")
public BaseResponse edit(@RequestBody @Valid ThrInvWarehouseEntity invSubWarehouseEntity, public BaseResponse edit(@RequestBody @Valid ThrInvWarehouseEntity invSubWarehouseEntity,
BindingResult bindingResult) { BindingResult bindingResult,FilterThrSubInvWarehouseRequest filterThrSubInvWarehouseRequest ) {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
@ -97,10 +97,19 @@ public class ThrInvWarehouseController {
if (invSubWarehouseEntity.getId() == null) { if (invSubWarehouseEntity.getId() == null) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
} }
//先判断该部门下存不存在此仓库
filterThrSubInvWarehouseRequest.setCode(invSubWarehouseEntity.getCode());
filterThrSubInvWarehouseRequest.setName(invSubWarehouseEntity.getName());
filterThrSubInvWarehouseRequest.setParentId(invSubWarehouseEntity.getParentId());
List<ThrInvWarehouseEntity> thrInvWarehouseEntities = thrInvWarehouseService.filterThrInvWarehouse(filterThrSubInvWarehouseRequest);
if(thrInvWarehouseEntities.size()==0){
boolean b = thrInvWarehouseService.updateThrInvWarehouse(invSubWarehouseEntity); boolean b = thrInvWarehouseService.updateThrInvWarehouse(invSubWarehouseEntity);
if (!b) { if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK); return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
} }
}else{
return ResultVOUtils.error(ResultEnum.DATA_REPEAT);
}
ThrDeptEntity thrDeptEntity = thrDeptService.selectByCode(invSubWarehouseEntity.getParentId(), invSubWarehouseEntity.getThirdSysFk()); ThrDeptEntity thrDeptEntity = thrDeptService.selectByCode(invSubWarehouseEntity.getParentId(), invSubWarehouseEntity.getThirdSysFk());
thrDeptEntity.setUpdateTime(new Date()); thrDeptEntity.setUpdateTime(new Date());

@ -1,16 +1,20 @@
package com.glxp.api.dao.auth; package com.glxp.api.dao.auth;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.dao.inout.IoOrderDetailCodeDao;
import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.req.auth.FilterInvSubWarehouseRequest; import com.glxp.api.req.auth.FilterInvSubWarehouseRequest;
import com.glxp.api.req.auth.FilterInvWarehouseRequest; import com.glxp.api.req.auth.FilterInvWarehouseRequest;
import com.glxp.api.res.auth.InvSubWarehouseResponse; import com.glxp.api.res.auth.InvSubWarehouseResponse;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface InvSubWarehouseDao { public interface InvSubWarehouseDao extends BaseMapperPlus<InvSubWarehouseDao, InvWarehouseEntity, InvWarehouseEntity> {
List<InvWarehouseEntity> filterInvSubWarehouse(FilterInvSubWarehouseRequest filterInvSubWarehouseRequest); List<InvWarehouseEntity> filterInvSubWarehouse(FilterInvSubWarehouseRequest filterInvSubWarehouseRequest);
@ -74,4 +78,7 @@ public interface InvSubWarehouseDao {
*/ */
List<InvSubWarehouseResponse> filterSubInvList(FilterInvWarehouseRequest filterInvWarehouseRequest); List<InvSubWarehouseResponse> filterSubInvList(FilterInvWarehouseRequest filterInvWarehouseRequest);
boolean updateTime(@Param("code") String code, @Param("updateTime") Date updateTime);
} }

@ -2,7 +2,17 @@ package com.glxp.api.dao.inout;
import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoCodeEnttity; import com.glxp.api.entity.inout.IoCodeEnttity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.req.inout.FilterIoCodeRequest;
import java.util.List;
public interface IoCodeDao extends BaseMapperPlus<IoCodeDao, IoCodeEnttity, IoCodeEnttity> { public interface IoCodeDao extends BaseMapperPlus<IoCodeDao, IoCodeEnttity, IoCodeEnttity> {
/**
*
*
* @param filterIoCodeRequest
* @return
*/
List<IoCodeEnttity> filterCodeList(FilterIoCodeRequest filterIoCodeRequest);
} }

@ -1,7 +1,6 @@
package com.glxp.api.dao.inout; package com.glxp.api.dao.inout;
import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoCodeEnttity;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoCodeTempEntity;
public interface IoCodeTempDao extends BaseMapperPlus<IoCodeTempDao, IoCodeTempEntity, IoCodeTempEntity> { public interface IoCodeTempDao extends BaseMapperPlus<IoCodeTempDao, IoCodeTempEntity, IoCodeTempEntity> {

@ -1,7 +1,6 @@
package com.glxp.api.dao.inout; package com.glxp.api.dao.inout;
import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
public interface IoOrderDetailCodeDao extends BaseMapperPlus<IoOrderDetailCodeDao, IoOrderDetailCodeEntity, IoOrderDetailCodeEntity> { public interface IoOrderDetailCodeDao extends BaseMapperPlus<IoOrderDetailCodeDao, IoOrderDetailCodeEntity, IoOrderDetailCodeEntity> {

@ -1,11 +1,13 @@
package com.glxp.api.entity.basic; package com.glxp.api.entity.basic;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/**
*
*/
@Data @Data
public class UdiRlSupEntity { public class UdiRlSupEntity {

@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import lombok.Data; import lombok.Data;
@Data @Data
@ -24,7 +26,7 @@ public class IoOrderDetailBizEntity implements Serializable {
* ID * ID
*/ */
@TableField(value = "bindRlFk") @TableField(value = "bindRlFk")
private String bindRlFk; private Long bindRlFk;
/** /**
* DIUUID * DIUUID
@ -182,5 +184,9 @@ public class IoOrderDetailBizEntity implements Serializable {
@TableField(value = "remark5") @TableField(value = "remark5")
private String remark5; private String remark5;
@TableField(exist = false)
private boolean checkSuccess;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

@ -184,5 +184,8 @@ public class IoOrderDetailCodeEntity implements Serializable {
@TableField(value = "remark5") @TableField(value = "remark5")
private String remark5; private String remark5;
@TableField(exist = false)
private boolean checkSuccess;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

@ -178,5 +178,8 @@ public class IoOrderEntity implements Serializable {
@TableField(value = "remark") @TableField(value = "remark")
private String remark; private String remark;
@TableField(value = "errMsg")
private String errMsg;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

@ -0,0 +1,79 @@
package com.glxp.api.entity.inv;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
@Data
@TableName(value = "inv_prein_detail")
public class InvPreinDetailEntity implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
*
*/
@TableField(value = "code")
private String code;
/**
*
*/
@TableField(value = "orderId")
private String orderId;
/**
*
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "produceDate")
private String produceDate;
/**
*
*/
@TableField(value = "expireDate")
private String expireDate;
/**
*
*/
@TableField(value = "serialNo")
private String serialNo;
/**
*
*/
@TableField(value = "relId")
private Integer relId;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
/**
*
*/
@TableField(value = "reCount")
private Integer reCount;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,96 @@
package com.glxp.api.entity.inv;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
@Data
@TableName(value = "inv_prein_order")
public class InvPreinOrderEntity implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
*
*/
@TableField(value = "billNo")
private String billNo;
/**
*
*/
@TableField(value = "`action`")
private String action;
/**
*
*/
@TableField(value = "fromCorp")
private String fromCorp;
/**
*
*/
@TableField(value = "fromType")
private String fromType;
/**
*
*/
@TableField(value = "`createUser`")
private String createUser;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
@TableField(value = "updateUser")
private String updateUser;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "reviewUser")
private String reviewUser;
/**
*
*/
@TableField(value = "auditTime")
private Date auditTime;
/**
* ID
*/
@TableField(value = "customerId")
private Integer customerId;
/**
*
*/
@TableField(value = "invCode")
private String invCode;
/**
*
*/
@TableField(value = "remark")
private String remark;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,120 @@
package com.glxp.api.entity.inv;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
@Data
@TableName(value = "inv_product_detail")
public class InvProductDetailEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
private Integer id;
/**
* UDI
*/
@TableField(value = "code")
private String code;
/**
*
*/
@TableField(value = "orderId")
private String orderId;
/**
* ID
*/
@TableField(value = "relId")
private String relId;
/**
*
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "produceDate")
private Date produceDate;
/**
*
*/
@TableField(value = "expireDate")
private Date expireDate;
/**
*
*/
@TableField(value = "serialNo")
private String serialNo;
/**
*
*/
@TableField(value = "supId")
private Integer supId;
/**
*
*/
@TableField(value = "`count`")
private Integer count;
/**
*
*/
@TableField(value = "reCount")
private String reCount;
/**
*
*/
@TableField(value = "deptCode")
private String deptCode;
/**
*
*/
@TableField(value = "invCode")
private String invCode;
/**
*
*/
@TableField(value = "invSpaceCode")
private String invSpaceCode;
/**
*
*/
@TableField(value = "originCode")
private String originCode;
/**
*
*/
@TableField(value = "purchaseType")
private String purchaseType;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,96 @@
package com.glxp.api.entity.inv;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
@Data
@TableName(value = "inv_product")
public class InvProductEntity implements Serializable {
@TableId(value = "id", type = IdType.INPUT)
private Integer id;
/**
* ID
*/
@TableField(value = "relIdFk")
private String relIdFk;
/**
*
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "productionDate")
private Date productionDate;
/**
*
*/
@TableField(value = "expireDate")
private Date expireDate;
/**
*
*/
@TableField(value = "inCount")
private String inCount;
/**
*
*/
@TableField(value = "outCount")
private String outCount;
/**
*
*/
@TableField(value = "reCount")
private String reCount;
/**
* ID
*/
@TableField(value = "customerId")
private Integer customerId;
/**
* ID
*/
@TableField(value = "supId")
private Integer supId;
/**
*
*/
@TableField(value = "deptCode")
private String deptCode;
/**
*
*/
@TableField(value = "invCode")
private String invCode;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,13 @@
package com.glxp.api.req.inout;
import com.glxp.api.entity.inout.IoOrderEntity;
import lombok.Data;
@Data
public class AddBizProductReqeust {
private IoOrderEntity orderEntity;
private Long relId;
private String zczbhhzbapzbh;
}

@ -13,7 +13,7 @@ public class AddOrderRequest {
private String billType; private String billType;
private String deptCode; private String deptCode;
private String invCode; private String invCode;
private String orderId; private String billNo;
private Long customerId; private Long customerId;
private boolean outChangeEnable; private boolean outChangeEnable;
private boolean ignoreExpire; private boolean ignoreExpire;

@ -0,0 +1,10 @@
package com.glxp.api.req.inout;
import lombok.Data;
@Data
public class FilterOrderBizRequest {
private Long relId;
private String batchNo;
}

@ -3,7 +3,9 @@ package com.glxp.api.service.auth;
import com.glxp.api.entity.auth.DeptEntity; import com.glxp.api.entity.auth.DeptEntity;
import com.glxp.api.req.auth.FilterInvWarehouseRequest; import com.glxp.api.req.auth.FilterInvWarehouseRequest;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List; import java.util.List;
public interface DeptService { public interface DeptService {
@ -67,4 +69,6 @@ public interface DeptService {
*/ */
DeptEntity selectByCodeAll(String code); DeptEntity selectByCodeAll(String code);
boolean updateTime(String code, Date updateTime);
} }

@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections; import java.util.Collections;
import java.util.Date;
import java.util.List; import java.util.List;
@Service @Service
@ -154,4 +155,9 @@ public class DeptServiceImpl implements DeptService {
public DeptEntity selectByCodeAll(String code) { public DeptEntity selectByCodeAll(String code) {
return deptDao.selectByCodeAll(code); return deptDao.selectByCodeAll(code);
} }
@Override
public boolean updateTime(String code, Date updateTime) {
return deptDao.updateTime(code, updateTime);
}
} }

@ -5,13 +5,11 @@ import cn.hutool.core.util.StrUtil;
import com.glxp.api.constant.Constant; import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiRlSupEntity; import com.glxp.api.entity.basic.UdiRlSupEntity;
import com.glxp.api.entity.inout.IoCodeEnttity; import com.glxp.api.entity.inout.IoCodeEnttity;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest; import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest;
import com.glxp.api.req.inout.PdaCodeEntity; import com.glxp.api.req.inout.PdaCodeEntity;
import com.glxp.api.req.inout.PostOrderRequest; import com.glxp.api.req.inout.PostOrderRequest;
@ -19,22 +17,18 @@ import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.basic.UdiRlSupService; import com.glxp.api.service.basic.UdiRlSupService;
import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.DateUtil; import com.glxp.api.util.DateUtil;
import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.udi.FilterUdiUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
@Service @Service
public class IoTransInoutService { public class IoAddInoutService {
@Resource @Resource
private IBasicBussinessTypeService basicBussinessTypeService; private IBasicBussinessTypeService basicBussinessTypeService;
@ -101,6 +95,10 @@ public class IoTransInoutService {
} }
} }
//校验条码关联供应商 //校验条码关联供应商
public String checkExitSup(Long relId) { public String checkExitSup(Long relId) {
FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest = new FilterCompanyProductRelevanceRequest(); FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest = new FilterCompanyProductRelevanceRequest();

@ -0,0 +1,261 @@
package com.glxp.api.service.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
*
*/
@Service
public class IoCheckInoutService {
@Resource
IoOrderService orderService;
@Resource
IoCodeService codeService;
@Resource
IoCodeTempService codeTempService;
@Resource
IBasicBussinessTypeService basicBussinessTypeService;
@Resource
IoOrderDetailCodeService orderDetailCodeService;
@Resource
IoOrderDetailBizService orderDetailBizService;
@Resource
IoOrderDetailResultService orderDetailResultService;
public void check(String orderId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
if (!bussinessTypeEntity.isCheckEnable()) {
unCheckFinish(orderEntity);
} else {
if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDIMS) {
if (!bussinessTypeEntity.isCheckUdims()) {
unCheckFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_WEBNEW) {
if (!bussinessTypeEntity.isCheckWebNew()) {
unCheckFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAED) {
if (!bussinessTypeEntity.isCheckPdaEd()) {
unCheckFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAUN) {
if (!bussinessTypeEntity.isCheckPdaUn()) {
unCheckFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PC) {
if (!bussinessTypeEntity.isCheckPc()) {
unCheckFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE) {
if (!bussinessTypeEntity.isCheckChange()) {
unCheckFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PEACE_CHANGE) {
if (!bussinessTypeEntity.isCheckBalance()) {
unCheckFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP) {
if (!bussinessTypeEntity.isCheckSp()) {
unCheckFinish(orderEntity);
return;
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_COPY) {
if (!bussinessTypeEntity.isCheckCopy()) {
unCheckFinish(orderEntity);
return;
}
}
checkFinish(orderEntity);
}
}
public void unCheckFinish(IoOrderEntity orderEntity) {
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderEntity.getBillNo());
if (CollUtil.isEmpty(orderDetailCodeEntities)) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL);
orderEntity.setUpdateTime(new Date());
orderEntity.setErrMsg("校验失败,扫码详情为空!");
orderService.update(orderEntity);
return;
}
orderDetailCodeEntities.forEach(orderDetailCodeEntity ->
{
//生成业务单据
IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity();
BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailBizEntity);
orderDetailBizService.insert(orderDetailBizEntity);
//生成单据结果
IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity();
BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailResultEntity);
orderDetailResultService.insert(orderDetailResultEntity);
});
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_RECEIVEED);
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
}
public void checkFinish(IoOrderEntity orderEntity) {
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderEntity.getBillNo());
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(orderEntity.getBillNo());
if (CollUtil.isEmpty(orderDetailCodeEntities)) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL);
orderEntity.setUpdateTime(new Date());
orderEntity.setErrMsg("校验失败,扫码详情为空!");
orderService.update(orderEntity);
return;
}
if (CollUtil.isEmpty(orderDetailBizEntities)) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL);
orderEntity.setUpdateTime(new Date());
orderEntity.setErrMsg("校验失败,业务详情为空!");
orderService.update(orderEntity);
return;
}
String errMsg = "";
//正向校验
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) {
if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null
&& checkBatchNo(bizEntity, codeEntity) == null
&& checkProductDate(bizEntity, codeEntity) == null
&& checkExpireDate(bizEntity, codeEntity) == null
) {
if (checkCount(bizEntity, codeEntity) == null) {
bizEntity.setCheckSuccess(true);
codeEntity.setCheckSuccess(true);
}
break;
}
}
}
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
if (!bizEntity.isCheckSuccess()) {
errMsg = errMsg + bizEntity.getCoName() + ";";
}
}
//反向校验
for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) {
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null
&& checkBatchNo(bizEntity, codeEntity) == null
&& checkProductDate(bizEntity, codeEntity) == null
&& checkExpireDate(bizEntity, codeEntity) == null
) {
if (checkCount(bizEntity, codeEntity) == null) {
bizEntity.setCheckSuccess(true);
codeEntity.setCheckSuccess(true);
}
break;
}
}
}
for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) {
if (!codeEntity.isCheckSuccess()) {
errMsg = errMsg + codeEntity.getCoName() + ";";
}
}
if (StrUtil.isEmpty(errMsg)) {
orderEntity.setErrMsg(errMsg + "校验失败");
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_FAIL);
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
} else {
//生成单据结果
for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) {
IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity();
BeanUtils.copyProperties(orderDetailBizEntity, orderDetailResultEntity);
orderDetailResultService.insert(orderDetailResultEntity);
}
//临时表转正式表
List<IoCodeTempEntity> codeTempEntities = codeTempService.findByOrderId(orderEntity.getBillNo());
for (IoCodeTempEntity codeTempEntity : codeTempEntities) {
IoCodeEnttity codeEnttity = new IoCodeEnttity();
BeanUtils.copyProperties(codeTempEntity, codeEnttity);
codeService.insert(codeEnttity);
}
codeTempService.deleteByBillNo(orderEntity.getBillNo());
orderEntity.setErrMsg("校验成功!");
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS);
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
}
}
public String checkId(IoOrderDetailBizEntity bizEntity, IoOrderDetailCodeEntity codeEntity) {
if (bizEntity.getBindRlFk() == codeEntity.getBindRlFk()) {
return null;
} else {
return "产品ID不匹配";
}
}
public String checkBatchNo(IoOrderDetailBizEntity bizEntity, IoOrderDetailCodeEntity codeEntity) {
if (StrUtil.nullToEmpty(bizEntity.getBatchNo()).equals(StrUtil.nullToEmpty(codeEntity.getBatchNo()))) {
return null;
} else {
return bizEntity.getCoName() + "批次号不匹配";
}
}
public String checkProductDate(IoOrderDetailBizEntity bizEntity, IoOrderDetailCodeEntity codeEntity) {
if (StrUtil.nullToEmpty(bizEntity.getBatchNo()).equals(StrUtil.nullToEmpty(codeEntity.getBatchNo()))) {
return null;
} else {
return bizEntity.getCoName() + "批次号不匹配";
}
}
public String checkExpireDate(IoOrderDetailBizEntity bizEntity, IoOrderDetailCodeEntity codeEntity) {
if (StrUtil.nullToEmpty(bizEntity.getBatchNo()).equals(StrUtil.nullToEmpty(codeEntity.getBatchNo()))) {
return null;
} else {
return bizEntity.getCoName() + "批次号不匹配";
}
}
public String checkCount(IoOrderDetailBizEntity bizEntity, IoOrderDetailCodeEntity codeEntity) {
if (bizEntity.getReCount() == codeEntity.getReCount()) {
return null;
}
return bizEntity.getCoName() + "数量不匹配!";
}
}

@ -1,6 +1,7 @@
package com.glxp.api.service.inout; package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoCodeEnttity; import com.glxp.api.entity.inout.IoCodeEnttity;
import com.glxp.api.req.inout.FilterIoCodeRequest;
import java.util.List; import java.util.List;
@ -16,5 +17,6 @@ public interface IoCodeService {
public IoCodeEnttity findByUnique(String orderId, String code); public IoCodeEnttity findByUnique(String orderId, String code);
List<IoCodeEnttity> filterCodeList(FilterIoCodeRequest filterIoCodeRequest);
} }

@ -1,24 +1,30 @@
package com.glxp.api.service.inout; package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.req.inout.FilterIoCodeRequest; import com.glxp.api.req.inout.FilterIoCodeRequest;
import com.glxp.api.util.page.PageQuery;
import com.glxp.api.util.page.TableDataInfo; import com.glxp.api.util.page.TableDataInfo;
import java.util.List; import java.util.List;
public interface IoCodeTempService { public interface IoCodeTempService {
IoCodeTempEntity selectById(Integer id);
int insert(IoCodeTempEntity codeEnttity); int insert(IoCodeTempEntity codeEnttity);
int deleteById(Integer id);
boolean insertBatch(List<IoCodeTempEntity> codeEnttities); boolean insertBatch(List<IoCodeTempEntity> codeEnttities);
int updateById(IoCodeTempEntity codeEnttity); int updateById(IoCodeTempEntity codeEnttity);
public IoCodeTempEntity findByUnique(String orderId, String code); IoCodeTempEntity findByUnique(String orderId, String code);
List<IoCodeTempEntity> findByOrderId(String billNo); List<IoCodeTempEntity> findByOrderId(String billNo);
TableDataInfo<IoCodeTempEntity> findByOrderId(FilterIoCodeRequest filterIoCodeRequest); TableDataInfo<IoCodeTempEntity> findByOrderId(FilterIoCodeRequest filterIoCodeRequest);
int deleteByBillNo(String orderId);
} }

@ -0,0 +1,10 @@
package com.glxp.api.service.inout;
import org.springframework.stereotype.Service;
@Service
public class IoGenInvService {
}

@ -11,4 +11,8 @@ public interface IoOrderDetailBizService {
int insert(IoOrderDetailBizEntity orderDetailBizEntity); int insert(IoOrderDetailBizEntity orderDetailBizEntity);
int update(IoOrderDetailBizEntity orderDetailBizEntity); int update(IoOrderDetailBizEntity orderDetailBizEntity);
int deleteById(Integer id);
boolean isExit(Long relId, String bacthNo,Integer ignoreId);
} }

@ -12,4 +12,6 @@ public interface IoOrderDetailCodeService {
int update(IoOrderDetailCodeEntity orderDetailCodeEntity); int update(IoOrderDetailCodeEntity orderDetailCodeEntity);
int deleteById(Integer id);
} }

@ -14,4 +14,8 @@ public interface IoOrderService {
IoOrderEntity findByBillNo(String billNO); IoOrderEntity findByBillNo(String billNO);
int insertOrder(IoOrderEntity orderEntity); int insertOrder(IoOrderEntity orderEntity);
int insertOrUpdate(IoOrderEntity orderEntity);
int update(IoOrderEntity orderEntity);
} }

@ -1,13 +1,15 @@
package com.glxp.api.service.inout.impl; package com.glxp.api.service.inout.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inout.IoCodeDao; import com.glxp.api.dao.inout.IoCodeDao;
import com.glxp.api.entity.inout.IoCodeEnttity; import com.glxp.api.entity.inout.IoCodeEnttity;
import com.glxp.api.req.inout.FilterIoCodeRequest;
import com.glxp.api.service.inout.IoCodeService; import com.glxp.api.service.inout.IoCodeService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections;
import java.util.List; import java.util.List;
@Service @Service
@ -41,5 +43,16 @@ public class IoCodeServiceImpl implements IoCodeService {
return ioCodeDao.selectOne(new QueryWrapper<IoCodeEnttity>().eq("orderId", orderId).eq("code", code)); return ioCodeDao.selectOne(new QueryWrapper<IoCodeEnttity>().eq("orderId", orderId).eq("code", code));
} }
@Override
public List<IoCodeEnttity> filterCodeList(FilterIoCodeRequest filterIoCodeRequest) {
if (null == filterIoCodeRequest) {
return Collections.emptyList();
}
if (null != filterIoCodeRequest.getPage() && null != filterIoCodeRequest.getLimit()) {
PageHelper.offsetPage((filterIoCodeRequest.getPage() - 1) * filterIoCodeRequest.getLimit(), filterIoCodeRequest.getLimit());
}
return ioCodeDao.filterCodeList(filterIoCodeRequest);
}
} }

@ -1,10 +1,7 @@
package com.glxp.api.service.inout.impl; package com.glxp.api.service.inout.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.inout.IoCodeDao;
import com.glxp.api.dao.inout.IoCodeTempDao; import com.glxp.api.dao.inout.IoCodeTempDao;
import com.glxp.api.entity.auth.SysDictData;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.req.inout.FilterIoCodeRequest; import com.glxp.api.req.inout.FilterIoCodeRequest;
import com.glxp.api.service.inout.IoCodeTempService; import com.glxp.api.service.inout.IoCodeTempService;
@ -24,11 +21,21 @@ public class IoCodeTempServiceImpl implements IoCodeTempService {
@Resource @Resource
IoCodeTempDao ioCodeTempDao; IoCodeTempDao ioCodeTempDao;
@Override
public IoCodeTempEntity selectById(Integer id) {
return ioCodeTempDao.selectById(id);
}
@Override @Override
public int insert(IoCodeTempEntity codeEnttity) { public int insert(IoCodeTempEntity codeEnttity) {
return ioCodeTempDao.insert(codeEnttity); return ioCodeTempDao.insert(codeEnttity);
} }
@Override
public int deleteById(Integer id) {
return ioCodeTempDao.deleteById(id);
}
@Override @Override
public boolean insertBatch(List<IoCodeTempEntity> codeEnttities) { public boolean insertBatch(List<IoCodeTempEntity> codeEnttities) {
return ioCodeTempDao.insertBatch(codeEnttities); return ioCodeTempDao.insertBatch(codeEnttities);
@ -57,4 +64,9 @@ public class IoCodeTempServiceImpl implements IoCodeTempService {
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
@Override
public int deleteByBillNo(String orderId) {
return ioCodeTempDao.delete(new QueryWrapper<IoCodeTempEntity>().eq("orderId", orderId));
}
} }

@ -30,5 +30,16 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
return ioOrderDetailBizDao.updateById(orderDetailBizEntity); return ioOrderDetailBizDao.updateById(orderDetailBizEntity);
} }
@Override
public int deleteById(Integer id) {
return ioOrderDetailBizDao.deleteById(id);
}
@Override
public boolean isExit(Long relId, String bacthNo, Integer ignoreId) {
return ioOrderDetailBizDao.exists(new QueryWrapper<IoOrderDetailBizEntity>().eq("bindRlFk", relId).eq("batchNo", bacthNo).ne("id", ignoreId));
}
} }

@ -30,4 +30,9 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService {
public int update(IoOrderDetailCodeEntity orderDetailCodeEntity) { public int update(IoOrderDetailCodeEntity orderDetailCodeEntity) {
return ioOrderDetailCodeDao.updateById(orderDetailCodeEntity); return ioOrderDetailCodeDao.updateById(orderDetailCodeEntity);
} }
@Override
public int deleteById(Integer id) {
return ioOrderDetailCodeDao.deleteById(id);
}
} }

@ -2,6 +2,7 @@ package com.glxp.api.service.inout.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.inout.IoOrderDao; import com.glxp.api.dao.inout.IoOrderDao;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.service.inout.IoOrderService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -34,4 +35,20 @@ public class IoOrderServiceImpl implements IoOrderService {
public int insertOrder(IoOrderEntity orderEntity) { public int insertOrder(IoOrderEntity orderEntity) {
return orderDao.insert(orderEntity); return orderDao.insert(orderEntity);
} }
@Override
public int insertOrUpdate(IoOrderEntity orderEntity) {
IoOrderEntity temp = orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", orderEntity.getBillNo()));
if (temp == null) {
return orderDao.insert(orderEntity);
} else {
return orderDao.updateById(orderEntity);
}
}
@Override
public int update(IoOrderEntity orderEntity) {
return orderDao.updateById(orderEntity);
}
} }

@ -0,0 +1,5 @@
package com.glxp.api.service.inv;
public interface InvPreinOrderService {
}

@ -0,0 +1,5 @@
package com.glxp.api.service.inv;
public interface InvProductService {
}

@ -0,0 +1,8 @@
package com.glxp.api.service.inv.impl;
import com.glxp.api.service.inv.InvPreinOrderService;
import org.springframework.stereotype.Service;
@Service
public class InvPreinOrderServiceImpl implements InvPreinOrderService {
}

@ -0,0 +1,8 @@
package com.glxp.api.service.inv.impl;
import com.glxp.api.service.inv.InvProductService;
import org.springframework.stereotype.Service;
@Service
public class InvProductServiceImpl implements InvProductService {
}

@ -4,9 +4,9 @@ server:
spring: spring:
datasource: datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: Glxp@6066 password: 123456
hikari: hikari:
connection-timeout: 60000 connection-timeout: 60000
maximum-pool-size: 60 maximum-pool-size: 60

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inout.IoCodeDao">
<select id="filterCodeList" resultType="com.glxp.api.entity.inout.IoCodeEnttity">
</select>
</mapper>

@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.dao.thrsys.ThrInvWarehouseDao"> <mapper namespace="com.glxp.api.dao.thrsys.ThrInvWarehouseDao">
<select id="filterThrInvWarehouse" parameterType="com.glxp.api.req.thrsys.FilterThrDeptRequest" <select id="filterThrInvWarehouse" parameterType="com.glxp.api.req.thrsys.FilterThrSubInvWarehouseRequest"
resultType="com.glxp.api.entity.thrsys.ThrInvWarehouseEntity"> resultType="com.glxp.api.entity.thrsys.ThrInvWarehouseEntity">
SELECT * SELECT *
FROM thr_inv_warehouse FROM thr_inv_warehouse

Loading…
Cancel
Save