Merge remote-tracking branch 'origin/master'

master
chengqf 2 years ago
commit 7b3d5d5db5

@ -1,21 +1,18 @@
package com.glxp.api.controller.inout; package com.glxp.api.controller.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
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.annotation.Log;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
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.constant.ConstantStatus; import com.glxp.api.constant.BusinessType;
import com.glxp.api.controller.BaseController; import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.inout.IoCodeLostEntity; import com.glxp.api.entity.inout.IoCodeLostEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.AcceptOrderResponse;
import com.glxp.api.res.inout.IoCodeLostResponse; import com.glxp.api.res.inout.IoCodeLostResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.inout.IoCodeLostService; import com.glxp.api.service.inout.IoCodeLostService;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -35,8 +32,6 @@ public class IoCodeLostController extends BaseController {
@Resource @Resource
IoCodeLostService codeLostService; IoCodeLostService codeLostService;
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("warehouse/inout/getCodeLost") @PostMapping("warehouse/inout/getCodeLost")
public BaseResponse getCodeLost(@RequestBody @Valid IoCodeLostEntity ioCodeLostEntity, BindingResult bindingResult) { public BaseResponse getCodeLost(@RequestBody @Valid IoCodeLostEntity ioCodeLostEntity, BindingResult bindingResult) {
@ -54,6 +49,7 @@ public class IoCodeLostController extends BaseController {
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("warehouse/inout/updateCodeLost") @PostMapping("warehouse/inout/updateCodeLost")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse updateCodeLost(@RequestBody @Valid IoCodeLostEntity ioCodeLostEntity, BindingResult bindingResult) { public BaseResponse updateCodeLost(@RequestBody @Valid IoCodeLostEntity ioCodeLostEntity, BindingResult bindingResult) {
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());

@ -5,9 +5,11 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
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.annotation.Log;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
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.constant.BusinessType;
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.controller.BaseController; import com.glxp.api.controller.BaseController;
@ -82,6 +84,10 @@ public class IoOrderController extends BaseController {
if (StrUtil.isNotBlank(filterOrderRequest.getVueType())) { if (StrUtil.isNotBlank(filterOrderRequest.getVueType())) {
orderService.setActions(filterOrderRequest); orderService.setActions(filterOrderRequest);
} }
if (StrUtil.isNotEmpty(filterOrderRequest.getSupInoivceSearch())) {
orderService.setInvoiceFiltes(filterOrderRequest);
}
String customerId = getCustomerId(); String customerId = getCustomerId();
if (!customerId.equals("110")) { if (!customerId.equals("110")) {
filterOrderRequest.setFromCorp(customerId); filterOrderRequest.setFromCorp(customerId);
@ -108,6 +114,7 @@ public class IoOrderController extends BaseController {
//新增业务-立即提交 //新增业务-立即提交
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("warehouse/inout/submitBiz") @PostMapping("warehouse/inout/submitBiz")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse submitBiz(@RequestBody AddOrderRequest addOrderRequest) { public BaseResponse submitBiz(@RequestBody AddOrderRequest addOrderRequest) {
//校验单据是否已完成 //校验单据是否已完成
@ -142,6 +149,7 @@ public class IoOrderController extends BaseController {
//新增扫码单据-立即提交 //新增扫码单据-立即提交
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("warehouse/inout/submitCodes") @PostMapping("warehouse/inout/submitCodes")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse submitCodes(@RequestBody AddOrderRequest addOrderRequest) { public BaseResponse submitCodes(@RequestBody AddOrderRequest addOrderRequest) {
//校验单据是否已完成 //校验单据是否已完成
@ -164,6 +172,7 @@ public class IoOrderController extends BaseController {
//新增业务单据,新增扫码单据,等待校验-草稿保存 //新增业务单据,新增扫码单据,等待校验-草稿保存
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("warehouse/inout/saveOrderWeb") @PostMapping("warehouse/inout/saveOrderWeb")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse saveOrderWeb(@RequestBody AddOrderRequest addOrderRequest) { public BaseResponse saveOrderWeb(@RequestBody AddOrderRequest addOrderRequest) {
IoOrderEntity orderEntity = new IoOrderEntity(); IoOrderEntity orderEntity = new IoOrderEntity();
if (StrUtil.isEmpty(addOrderRequest.getAction())) if (StrUtil.isEmpty(addOrderRequest.getAction()))
@ -193,6 +202,7 @@ public class IoOrderController extends BaseController {
//等待校验-立即提交 //等待校验-立即提交
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("warehouse/inout/submitOrderWeb") @PostMapping("warehouse/inout/submitOrderWeb")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse submitOrderWeb(@RequestBody AddOrderRequest addOrderRequest) { public BaseResponse submitOrderWeb(@RequestBody AddOrderRequest addOrderRequest) {
//校验单据是否已完成 //校验单据是否已完成
@ -209,11 +219,11 @@ public class IoOrderController extends BaseController {
if (StrUtil.isNotEmpty(errMsg)) { if (StrUtil.isNotEmpty(errMsg)) {
return ResultVOUtils.error(500, "单据校验提交失败,请检查后重新提交!"); return ResultVOUtils.error(500, errMsg);
} }
errMsg = checkInoutService.codeOrderCheck(orderDetailCodeEntities, orderDetailBizEntities); errMsg = checkInoutService.codeOrderCheck(orderDetailCodeEntities, orderDetailBizEntities);
if (StrUtil.isNotEmpty(errMsg)) { if (StrUtil.isNotEmpty(errMsg)) {
return ResultVOUtils.error(500, "单据校验提交失败,请检查后重新提交!"); return ResultVOUtils.error(500, errMsg);
} }
saveOrderWeb(addOrderRequest); saveOrderWeb(addOrderRequest);
IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo());
@ -241,6 +251,7 @@ public class IoOrderController extends BaseController {
//未校验单据删除 //未校验单据删除
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("udiwms/inout/order/delete") @PostMapping("udiwms/inout/order/delete")
@Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse deletById(@RequestBody DeleteRequest deleteRequest) { public BaseResponse deletById(@RequestBody DeleteRequest deleteRequest) {
orderService.deleteByBillNo(deleteRequest.getBillNo()); orderService.deleteByBillNo(deleteRequest.getBillNo());
orderDetailBizService.deleteByOrderId(deleteRequest.getBillNo()); orderDetailBizService.deleteByOrderId(deleteRequest.getBillNo());
@ -254,6 +265,7 @@ public class IoOrderController extends BaseController {
//已验收单据删除、单据编辑删除等 //已验收单据删除、单据编辑删除等
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("udiwms/inout/order/finish/delete") @PostMapping("udiwms/inout/order/finish/delete")
@Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse deleteById(@RequestBody DeleteRequest deleteRequest) { public BaseResponse deleteById(@RequestBody DeleteRequest deleteRequest) {
List<String> delBillNos = new ArrayList<>(); List<String> delBillNos = new ArrayList<>();
if (CollUtil.isNotEmpty(deleteRequest.getBillNos())) { if (CollUtil.isNotEmpty(deleteRequest.getBillNos())) {
@ -276,6 +288,7 @@ public class IoOrderController extends BaseController {
//单据编辑,条码减一 //单据编辑,条码减一
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("udiwms/inout/code/finish/delete") @PostMapping("udiwms/inout/code/finish/delete")
@Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse deleteCodeById(@RequestBody IoCodeEntity codeEntity) { public BaseResponse deleteCodeById(@RequestBody IoCodeEntity codeEntity) {
orderService.deleteInvCode(codeEntity.getOrderId(), codeEntity.getCode()); orderService.deleteInvCode(codeEntity.getOrderId(), codeEntity.getCode());
return ResultVOUtils.success("删除成功!"); return ResultVOUtils.success("删除成功!");
@ -284,6 +297,7 @@ public class IoOrderController extends BaseController {
//已验收单据撤回 //已验收单据撤回
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/order/received/rollback") @GetMapping("/udiwms/inout/order/received/rollback")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse rollbackOrder(String billNo) { public BaseResponse rollbackOrder(String billNo) {
if (StrUtil.isBlank(billNo)) { if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
@ -307,6 +321,7 @@ public class IoOrderController extends BaseController {
//已校验单据撤回到等待处理 //已校验单据撤回到等待处理
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/order/unReceive/rollback") @GetMapping("/udiwms/inout/order/unReceive/rollback")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse rollUnReceivebackOrder(String billNo) { public BaseResponse rollUnReceivebackOrder(String billNo) {
if (StrUtil.isBlank(billNo)) { if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
@ -437,6 +452,7 @@ public class IoOrderController extends BaseController {
* @return * @return
*/ */
@PostMapping("/udiwms/inout/order/updateOrderInfo") @PostMapping("/udiwms/inout/order/updateOrderInfo")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse updateOrderInfo(@RequestBody OrderEditRequest orderEditRequest) { public BaseResponse updateOrderInfo(@RequestBody OrderEditRequest orderEditRequest) {
if (null == orderEditRequest || CollUtil.isEmpty(orderEditRequest.getOrderIds())) { if (null == orderEditRequest || CollUtil.isEmpty(orderEditRequest.getOrderIds())) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
@ -472,6 +488,17 @@ public class IoOrderController extends BaseController {
return orderService.submitToThrSys(billNo); return orderService.submitToThrSys(billNo);
} }
@PostMapping("/udiwms/inout/order/updateOrderDetailBiz")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse updateOrderDetailBiz(@RequestBody IoOrderDetailBizEntity ioOrderDetailBizEntity) {
if (null == ioOrderDetailBizEntity) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
// ioOrderDetailBizEntity.setCheckFileName(ioOrderDetailBizEntity.getCheckFileName().substring(0,ioOrderDetailBizEntity.getCheckFileName().length() - 4));
orderDetailBizService.updateOrderDetailBiz(ioOrderDetailBizEntity);
return ResultVOUtils.success();
}
@Resource @Resource
GennerOrderUtils gennerOrderUtils; GennerOrderUtils gennerOrderUtils;
@Resource @Resource
@ -550,5 +577,4 @@ public class IoOrderController extends BaseController {
orderService.update(originOrder); orderService.update(originOrder);
return ResultVOUtils.success(); return ResultVOUtils.success();
} }
} }

@ -5,9 +5,11 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
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.annotation.Log;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
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.constant.BusinessType;
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.controller.BaseController; import com.glxp.api.controller.BaseController;
@ -16,6 +18,8 @@ import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.*; import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.purchase.PurOrderDetailEntity;
import com.glxp.api.entity.purchase.PurOrderEntity;
import com.glxp.api.entity.purchase.SupProductEntity; import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; import com.glxp.api.entity.thrsys.ThrOrderDetailEntity;
@ -31,6 +35,9 @@ import com.glxp.api.res.inout.IoOrderInvoiceResponse;
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.*; import com.glxp.api.service.inout.*;
import com.glxp.api.service.purchase.PurOrderDetailService;
import com.glxp.api.service.purchase.PurOrderService;
import com.glxp.api.service.purchase.SupCertService;
import com.glxp.api.service.purchase.SupProductService; import com.glxp.api.service.purchase.SupProductService;
import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.service.thrsys.ThrOrderDetailService; import com.glxp.api.service.thrsys.ThrOrderDetailService;
@ -98,15 +105,16 @@ public class IoOrderDetailBizController extends BaseController {
SupProductService supProductService; SupProductService supProductService;
@Resource @Resource
SystemParamConfigService systemParamConfigService; SystemParamConfigService systemParamConfigService;
@Resource
SupCertService supCertService;
//录入业务单据详情 //录入业务单据详情
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/addBizProduct") @PostMapping("/udiwms/inout/order/addBizProduct")
@Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse addBizProduct(@RequestBody AddBizProductReqeust addBizProductReqeust) { public BaseResponse addBizProduct(@RequestBody AddBizProductReqeust addBizProductReqeust) {
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("vail_product_cert"); SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("vail_product_cert");
boolean isVailCert = false; boolean isVailCert = systemParamConfigEntity.getParamValue().equals("1") ? true : false;
if (systemParamConfigEntity != null)
isVailCert = systemParamConfigEntity.getParamValue().equals("1") ? true : false;
AuthAdmin authAdmin = getUser(); AuthAdmin authAdmin = getUser();
if (addBizProductReqeust.getRelId() == null && CollUtil.isEmpty(addBizProductReqeust.getDatas())) if (addBizProductReqeust.getRelId() == null && CollUtil.isEmpty(addBizProductReqeust.getDatas()))
return ResultVOUtils.error(500, "未选择产品信息"); return ResultVOUtils.error(500, "未选择产品信息");
@ -188,6 +196,7 @@ public class IoOrderDetailBizController extends BaseController {
//修改业务单据详情 //修改业务单据详情
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/updateBizProduct") @PostMapping("/udiwms/inout/order/updateBizProduct")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse updateBizProduct(@RequestBody IoOrderDetailBizEntity orderDetailBizEntity) { public BaseResponse updateBizProduct(@RequestBody IoOrderDetailBizEntity orderDetailBizEntity) {
boolean isExit = orderDetailBizService.isExit(orderDetailBizEntity.getBindRlFk(), orderDetailBizEntity.getBatchNo(), orderDetailBizEntity.getId(), orderDetailBizEntity.getOrderIdFk()); boolean isExit = orderDetailBizService.isExit(orderDetailBizEntity.getBindRlFk(), orderDetailBizEntity.getBatchNo(), orderDetailBizEntity.getId(), orderDetailBizEntity.getOrderIdFk());
if (isExit) { if (isExit) {
@ -207,6 +216,7 @@ public class IoOrderDetailBizController extends BaseController {
//选入第三方单据至业务单据 //选入第三方单据至业务单据
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/addThrOrder") @PostMapping("/udiwms/inout/order/addThrOrder")
@Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse addThrOrder(@RequestBody ThrOrderEntity thrOrderRequest) { public BaseResponse addThrOrder(@RequestBody ThrOrderEntity thrOrderRequest) {
ThrOrderEntity thrOrderEntity = thrOrderService.findById(thrOrderRequest.getId()); ThrOrderEntity thrOrderEntity = thrOrderService.findById(thrOrderRequest.getId());
@ -332,6 +342,7 @@ public class IoOrderDetailBizController extends BaseController {
//选入领用单据至业务单据 //选入领用单据至业务单据
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/addReceiveOrder") @PostMapping("/udiwms/inout/order/addReceiveOrder")
@Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse addReceiveOrder(@RequestBody PurReceiveEntity purReceiveEntity, public BaseResponse addReceiveOrder(@RequestBody PurReceiveEntity purReceiveEntity,
BindingResult bindingResult) { BindingResult bindingResult) {
@ -392,8 +403,74 @@ public class IoOrderDetailBizController extends BaseController {
} }
@Resource
PurOrderService purOrderService;
@Resource
PurOrderDetailService purOrderDetailService;
//选入领用单据至业务单据
@AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/addPurOrder")
@Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse addPurOrder(@RequestBody PurOrderEntity purOrderEntity,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
purOrderEntity = purOrderService.selectById(purOrderEntity.getId());
List<PurOrderDetailEntity> purOrderDetailEntities = purOrderDetailService.findByOrderId(purOrderEntity.getId() + "");
BasicBusTypeChangeEntity basicBusTypeChangeEntity = basicBusTypeChangeService.selectByOriginAction(purOrderEntity.getBillType());
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(basicBusTypeChangeEntity.getTargetAction());
AuthAdmin authAdmin = getUser();
//创建单据
IoOrderEntity orderEntity = new IoOrderEntity();
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());
orderEntity.setUpdateUser(authAdmin.getId() + "");
orderEntity.setUpdateTime(new Date());
orderEntity.setCustomerId(authAdmin.getCustomerId() + "");
orderEntity.setCorpOrderId(purOrderEntity.getBillNo());
orderEntity.setAction(bussinessTypeEntity.getAction());
orderEntity.setMainAction(bussinessTypeEntity.getMainAction());
orderEntity.setDeptCode(purOrderEntity.getDeptCode());
orderEntity.setInvCode(purOrderEntity.getInvCode());
orderEntity.setFromReceiveBillNo(purOrderEntity.getBillNo());
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);
orderEntity.setFromType(ConstantStatus.FROM_RECEIVE);
orderEntity.setOrderType(ConstantStatus.ORDER_TYPE_BIZ);
orderEntity.setBusType(bussinessTypeEntity.getBusType());
orderService.insertOrder(orderEntity);
for (PurOrderDetailEntity purReceiveDetailEntity : purOrderDetailEntities) {
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(purReceiveDetailEntity.getProductId().longValue());
ioOrderDetailBizEntity.setOrderIdFk(orderEntity.getBillNo());
ioOrderDetailBizEntity.setBindRlFk(udiRelevanceResponse.getId());
ioOrderDetailBizEntity.setUuidFk(udiRelevanceResponse.getUuid());
ioOrderDetailBizEntity.setNameCode(udiRelevanceResponse.getNameCode());
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());
ioOrderDetailBizEntity.setSupId(purReceiveDetailEntity.getSupId());
ioOrderDetailBizEntity.setCount(purReceiveDetailEntity.getCount());
orderDetailBizService.insert(ioOrderDetailBizEntity);
}
return ResultVOUtils.success("选入成功!");
}
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/delBizProduct") @PostMapping("/udiwms/inout/order/delBizProduct")
@Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse delBizProduct(@RequestBody DeleteRequest deleteRequest) { public BaseResponse delBizProduct(@RequestBody DeleteRequest deleteRequest) {
return orderDetailBizService.deleteById(Integer.parseInt(deleteRequest.getId())) > 0 ? ResultVOUtils.success("删除成功!") : ResultVOUtils.error(500, "删除失败"); return orderDetailBizService.deleteById(Integer.parseInt(deleteRequest.getId())) > 0 ? ResultVOUtils.success("删除成功!") : ResultVOUtils.error(500, "删除失败");
} }
@ -424,6 +501,7 @@ public class IoOrderDetailBizController extends BaseController {
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/biz/updateBind") @PostMapping("/udiwms/inout/biz/updateBind")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse updateBindSup(@RequestBody BizBindUpdateRequest bizBindUpdateRequest) { public BaseResponse updateBindSup(@RequestBody BizBindUpdateRequest bizBindUpdateRequest) {
@ -447,6 +525,7 @@ public class IoOrderDetailBizController extends BaseController {
* @return * @return
*/ */
@GetMapping("/udiwms/inout/biz/deleteById") @GetMapping("/udiwms/inout/biz/deleteById")
@Log(title = "发票管理", businessType = BusinessType.DELETE)
public BaseResponse deleteById(Integer id) { public BaseResponse deleteById(Integer id) {
return ResultVOUtils.success(ioOrderInvoiceService.deleteByInvId(id)); return ResultVOUtils.success(ioOrderInvoiceService.deleteByInvId(id));
@ -461,6 +540,7 @@ public class IoOrderDetailBizController extends BaseController {
*/ */
@PostMapping("/udiwms/inout/biz/updateById") @PostMapping("/udiwms/inout/biz/updateById")
@Log(title = "发票管理", businessType = BusinessType.UPDATE)
public BaseResponse deleteById(@RequestBody IoOrderInvoiceRequest ioOrderInvoiceRequest) { public BaseResponse deleteById(@RequestBody IoOrderInvoiceRequest ioOrderInvoiceRequest) {
return ResultVOUtils.success(ioOrderInvoiceService.updateByInvId(ioOrderInvoiceRequest)); return ResultVOUtils.success(ioOrderInvoiceService.updateByInvId(ioOrderInvoiceRequest));
@ -469,20 +549,17 @@ public class IoOrderDetailBizController extends BaseController {
@PostMapping("/udiwms/inout/biz/insertInvoice") @PostMapping("/udiwms/inout/biz/insertInvoice")
public BaseResponse insertInvoice(@RequestBody List<IoOrderDetailResultEntity> list) { @Log(title = "发票管理", businessType = BusinessType.INSERT)
if (CollUtil.isEmpty(list)) { public BaseResponse insertInvoice(@RequestBody IoOrderDetailBizEntity ioOrderDetailBizEntity) {
return ResultVOUtils.error(500, "请选入产品!");
} IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity();
for (IoOrderDetailResultEntity ioOrderDetailResultEntity : list) { ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizEntity.getOrderIdFk());
IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailBizEntity.getBindRlFk() + "");
ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailResultEntity.getOrderIdFk()); ioOrderInvoiceEntity.setBatchNo(ioOrderDetailBizEntity.getBatchNo());
ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailResultEntity.getBindRlFk() + ""); ioOrderInvoiceEntity.setProductDate(ioOrderDetailBizEntity.getProductDate());
ioOrderInvoiceEntity.setBatchNo(ioOrderDetailResultEntity.getBatchNo()); ioOrderInvoiceEntity.setExpireDate(ioOrderDetailBizEntity.getExpireDate());
ioOrderInvoiceEntity.setProductDate(ioOrderDetailResultEntity.getProductDate()); ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId());
ioOrderInvoiceEntity.setExpireDate(ioOrderDetailResultEntity.getExpireDate()); boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity);
boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity);
}
return ResultVOUtils.success("成功"); return ResultVOUtils.success("成功");

@ -7,6 +7,7 @@ import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
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.constant.ConstantType;
import com.glxp.api.controller.BaseController; import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
@ -73,9 +74,15 @@ public class IoOrderDetailResultController extends BaseController {
orderDetailResultRequest.setActions(actions); orderDetailResultRequest.setActions(actions);
List<IoOrderDetailResultResponse> list = orderDetailResultService.filterOrderList(orderDetailResultRequest); List<IoOrderDetailResultResponse> list = orderDetailResultService.filterOrderList(orderDetailResultRequest);
// for (IoOrderDetailResultResponse orderDetailResultResponse : list) { for (IoOrderDetailResultResponse orderDetailResultResponse : list) {
// if(orderDetailResultResponse.get) if (orderDetailResultResponse.getMainAction().equals(ConstantType.TYPE_OUT)) {
// } orderDetailResultResponse.setOutCount(orderDetailResultResponse.getReCount());
orderDetailResultResponse.setInCount(0);
} else {
orderDetailResultResponse.setOutCount(0);
orderDetailResultResponse.setInCount(orderDetailResultResponse.getReCount());
}
}
PageInfo<IoOrderDetailResultResponse> pageInfo = new PageInfo<>(list); PageInfo<IoOrderDetailResultResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo); return ResultVOUtils.page(pageInfo);
} }

@ -5,9 +5,11 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
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.annotation.Log;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
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.constant.BusinessType;
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.controller.BaseController; import com.glxp.api.controller.BaseController;
@ -109,6 +111,7 @@ public class IoOrderReviewController extends BaseController {
//前端二次审核 //前端二次审核
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/spms/inout/order/web/updateStatus") @PostMapping("/spms/inout/order/web/updateStatus")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse webUpdateStatus(@RequestBody ReviewFinishRequest updateExportStatusRequest, public BaseResponse webUpdateStatus(@RequestBody ReviewFinishRequest updateExportStatusRequest,
BindingResult bindingResult) { BindingResult bindingResult) {
@ -133,6 +136,7 @@ public class IoOrderReviewController extends BaseController {
//前端第三次验收 //前端第三次验收
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/spms/inout/order/third/updateStatus") @PostMapping("/spms/inout/order/third/updateStatus")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse thirdUpdateStatus(@RequestBody ReviewFinishRequest updateExportStatusRequest, public BaseResponse thirdUpdateStatus(@RequestBody ReviewFinishRequest updateExportStatusRequest,
BindingResult bindingResult) { BindingResult bindingResult) {
@ -221,6 +225,7 @@ public class IoOrderReviewController extends BaseController {
//手持终端验收完成后,更新订单状态 //手持终端验收完成后,更新订单状态
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/spms/inout/order/check/updateStatus") @PostMapping("/spms/inout/order/check/updateStatus")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse updateStatus(@RequestBody UpdateExportStatusRequest updateExportStatusRequest, public BaseResponse updateStatus(@RequestBody UpdateExportStatusRequest updateExportStatusRequest,
BindingResult bindingResult) { BindingResult bindingResult) {
AuthAdmin authAdmin = null; AuthAdmin authAdmin = null;
@ -291,6 +296,7 @@ public class IoOrderReviewController extends BaseController {
supplementOrder.setFromType(ConstantStatus.FROM_REVIEW); supplementOrder.setFromType(ConstantStatus.FROM_REVIEW);
supplementOrder.setMainAction(bussinessTypeEntity.getMainAction()); supplementOrder.setMainAction(bussinessTypeEntity.getMainAction());
supplementOrder.setAction(bussinessTypeEntity.getAction()); supplementOrder.setAction(bussinessTypeEntity.getAction());
orderEntity.setBusType(bussinessTypeEntity.getBusType());
//复制码表 //复制码表
List<IoCodeTempEntity> supplementCodes = new ArrayList<>(); List<IoCodeTempEntity> supplementCodes = new ArrayList<>();
warehouseEntities.forEach( warehouseEntities.forEach(
@ -393,12 +399,12 @@ public class IoOrderReviewController extends BaseController {
return ResultVOUtils.success("更新成功"); return ResultVOUtils.success("更新成功");
} }
//前端第次验收 //前端第二次次验收
public BaseResponse thirdUpdateReview(AuthAdmin authAdmin, IoOrderEntity orderEntity) { public BaseResponse thirdUpdateReview(AuthAdmin authAdmin, IoOrderEntity orderEntity) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
orderEntity.setReviewUser(authAdmin.getId() + ""); orderEntity.setReviewUser(authAdmin.getId() + "");
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());
orderEntity.setAuditTime(new Date()); orderEntity.setCheckTime(new Date());
orderEntity.setDeliveryStatus(ConstantStatus.ORDER_DELIVERY_STATUS_ED); orderEntity.setDeliveryStatus(ConstantStatus.ORDER_DELIVERY_STATUS_ED);
orderService.update(orderEntity); orderService.update(orderEntity);
redisUtil.del(ConstantStatus.REDIS_BILLNO + orderEntity.getBillNo()); redisUtil.del(ConstantStatus.REDIS_BILLNO + orderEntity.getBillNo());

@ -3,18 +3,16 @@ package com.glxp.api.controller.inout;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.annotation.Log;
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.constant.BusinessType;
import com.glxp.api.entity.basic.UdiEntity; 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.IoCodeRelEntity; import com.glxp.api.entity.inout.IoCodeRelEntity;
import com.glxp.api.req.inout.IoOrderRelRequest; import com.glxp.api.req.inout.IoOrderRelRequest;
import com.glxp.api.req.purchase.PurApplyRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.IoCodeLostResponse;
import com.glxp.api.res.inout.IoCodeRelResponse; import com.glxp.api.res.inout.IoCodeRelResponse;
import com.glxp.api.res.purchase.PurApplyResponse;
import com.glxp.api.service.basic.UdiProductService; import com.glxp.api.service.basic.UdiProductService;
import com.glxp.api.service.inout.IoCodeRelService; import com.glxp.api.service.inout.IoCodeRelService;
import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.FilterUdiUtils;
@ -69,6 +67,7 @@ public class ioCodeRelController {
} }
@GetMapping("/udi/ioCode/Rel/checkLowProduct") @GetMapping("/udi/ioCode/Rel/checkLowProduct")
@Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse checkLowProduct(String upCode, String lowCode) { public BaseResponse checkLowProduct(String upCode, String lowCode) {
UdiProductEntity udiProductEntity = new UdiProductEntity(); UdiProductEntity udiProductEntity = new UdiProductEntity();
@ -131,6 +130,7 @@ public class ioCodeRelController {
@GetMapping("/udi/ioCode/Rel/del") @GetMapping("/udi/ioCode/Rel/del")
@Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse del(String code, String parentCode) { public BaseResponse del(String code, String parentCode) {
int count = ioCodeRelServicec.delIoCodeRel(code, parentCode); int count = ioCodeRelServicec.delIoCodeRel(code, parentCode);

@ -1,10 +1,8 @@
package com.glxp.api.dao.inout; package com.glxp.api.dao.inout;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inout.IoCodeLostEntity;
import com.glxp.api.entity.inout.IoCodeRelEntity; import com.glxp.api.entity.inout.IoCodeRelEntity;
import com.glxp.api.req.inout.IoOrderRelRequest; import com.glxp.api.req.inout.IoOrderRelRequest;
import com.glxp.api.res.inout.IoCodeLostResponse;
import com.glxp.api.res.inout.IoCodeRelResponse; import com.glxp.api.res.inout.IoCodeRelResponse;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;

@ -4,7 +4,7 @@ import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import org.apache.ibatis.annotations.Param; import io.lettuce.core.dynamic.annotation.Param;
import java.util.List; import java.util.List;

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inv.InvRemindSetEntity; import com.glxp.api.entity.inv.InvRemindSetEntity;
import com.glxp.api.req.inv.FilterInvRemindSetRequest; import com.glxp.api.req.inv.FilterInvRemindSetRequest;
import com.glxp.api.res.inv.InvRemindSetResponse; import com.glxp.api.res.inv.InvRemindSetResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -19,4 +20,12 @@ public interface InvRemindSetDao extends BaseMapper<InvRemindSetEntity> {
* @return * @return
*/ */
List<InvRemindSetResponse> filterList(FilterInvRemindSetRequest filterInvRemindSetRequest); List<InvRemindSetResponse> filterList(FilterInvRemindSetRequest filterInvRemindSetRequest);
/**
* ID
*
* @param invId
* @return
*/
InvRemindSetResponse selectInfoByInvId(@Param("invId") Integer invId);
} }

@ -1,15 +1,13 @@
package com.glxp.api.dao.purchase; package com.glxp.api.dao.purchase;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.purchase.PurOrderEntity; import com.glxp.api.entity.purchase.PurOrderEntity;
import com.glxp.api.req.purchase.PurOrderRequest; import com.glxp.api.req.purchase.PurOrderRequest;
import com.glxp.api.req.purchase.PurPlanRequest;
import com.glxp.api.res.purchase.PurOrderResponse; import com.glxp.api.res.purchase.PurOrderResponse;
import com.glxp.api.res.purchase.PurPlanResponse;
import java.util.List; import java.util.List;
public interface PurOrderDao extends BaseMapper<PurOrderEntity> { public interface PurOrderDao extends BaseMapperPlus<PurOrderDao, PurOrderEntity, PurOrderEntity> {
List<PurOrderResponse> queryPageList(PurOrderRequest purPlanRequest); List<PurOrderResponse> queryPageList(PurOrderRequest purPlanRequest);
} }

@ -44,13 +44,13 @@ public class IoOrderDetailBizEntity {
/** /**
* *
*/ */
@TableField(value = "productDate") @TableField(value = "productDate", updateStrategy = FieldStrategy.IGNORED)
private String productDate; private String productDate;
/** /**
* *
*/ */
@TableField(value = "expireDate") @TableField(value = "expireDate", updateStrategy = FieldStrategy.IGNORED)
private String expireDate; private String expireDate;
/** /**
@ -176,6 +176,16 @@ public class IoOrderDetailBizEntity {
@TableField(value = "bindRlIds") @TableField(value = "bindRlIds")
private String bindRlIds; private String bindRlIds;
@TableField(value = "filePath")
private String filePath;
/**
*
*/
@TableField(value = "checkFileName")
private String checkFileName;
@TableField(exist = false) @TableField(exist = false)
private boolean checkSuccess; private boolean checkSuccess;
@ -183,4 +193,8 @@ public class IoOrderDetailBizEntity {
@TableField(exist = false) @TableField(exist = false)
private int scanCount; private int scanCount;
@TableField(exist = false)
private String errMsg;
} }

@ -188,4 +188,8 @@ public class IoOrderDetailCodeEntity {
@TableField(exist = false) @TableField(exist = false)
private int orderCount; private int orderCount;
@TableField(exist = false)
private String errMsg;
} }

@ -111,6 +111,9 @@ public class IoOrderEntity {
@TableField(value = "auditTime") @TableField(value = "auditTime")
private Date auditTime; private Date auditTime;
@TableField(value = "checkTime")
private Date checkTime;
/** /**
* ID * ID
*/ */
@ -226,4 +229,9 @@ public class IoOrderEntity {
@TableField(value = "inCodeStatus") @TableField(value = "inCodeStatus")
private int inCodeStatus; //内部码生成状态 private int inCodeStatus; //内部码生成状态
@TableField(value = "relKey")
private String relKey; //关联单据唯一键
@TableField(value = "suppleCount")
private Integer suppleCount; //补单次数
} }

@ -4,10 +4,11 @@ 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 lombok.Data;
import java.util.Date; import java.util.Date;
import lombok.Data;
@Data @Data
@TableName(value = "io_order_invoice") @TableName(value = "io_order_invoice")
public class IoOrderInvoiceEntity { public class IoOrderInvoiceEntity {
@ -99,10 +100,12 @@ public class IoOrderInvoiceEntity {
private String licenseUrl; private String licenseUrl;
@TableField(value = "remark") @TableField(value = "remark")
private String remark; private String remark;
@TableField(value = "bizIdFk")
private Integer bizIdFk;
public static final String COL_ID = "id"; public static final String COL_ID = "id";
public static final String COL_ORDERIDFK = "orderIdFk"; public static final String COL_ORDERIDFK = "orderIdFk";

@ -90,6 +90,12 @@ public class InvRemindSetEntity {
@TableField(value = "updateTime") @TableField(value = "updateTime")
private Date updateTime; private Date updateTime;
/**
* 0 1
*/
@TableField(value = "`status`")
private Integer status;
@Override @Override
public String toString() { public String toString() {
return "InvRemindSetEntity{" + return "InvRemindSetEntity{" +

@ -28,4 +28,6 @@ public class FilterOrderDetailBizRequest extends ListPageRequest {
* *
*/ */
private String productName; private String productName;
private Long bizIdFk;
} }

@ -176,5 +176,11 @@ public class FilterOrderRequest extends ListPageRequest {
private Integer busType; private Integer busType;
private Integer inCodeStatus; private Integer inCodeStatus;
private String relKey;
//发票查询
private String supInoivceSearch;
private List<String> invoiceActions1;
private List<String> invoiceActions2;
} }

@ -46,4 +46,6 @@ public class FilterUploadOrderRequest extends ListPageRequest {
*/ */
private String submitStatus; private String submitStatus;
private Integer busType;
} }

@ -2,6 +2,8 @@ package com.glxp.api.req.inv;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* *
*/ */
@ -64,5 +66,9 @@ public class AddInvRemindSetRequest {
* *
*/ */
private String remark; private String remark;
/**
* ID
*/
private List<String> relIdList;
} }

@ -122,6 +122,10 @@ public class IoOrderDetailResultResponse {
*/ */
private int reCount; private int reCount;
private Integer inCount;
private Integer outCount;
/** /**
* *
*/ */
@ -152,5 +156,9 @@ public class IoOrderDetailResultResponse {
*/ */
private String remark5; private String remark5;
private int acceptCount; private int acceptCount;
private String fromCorpName;
private String billTypeName;
private String mainAction;
} }

@ -80,4 +80,28 @@ public class InvRemindSetResponse {
*/ */
private String ggxh; private String ggxh;
/**
*
*/
private Integer lowStockNum;
/**
*
*/
private Integer overStockNum;
/**
*
*/
private Integer recentDateTime;
/**
* 12
*/
private Integer isDateBy;
/**
* 0 1
*/
private Integer status;
} }

@ -297,7 +297,8 @@ public class IoAddInoutService {
public void genOrderDetailCode(IoOrderEntity orderEntity, IoCodeTempEntity codeTempEntity) { public void genOrderDetailCode(IoOrderEntity orderEntity, IoCodeTempEntity codeTempEntity) {
List<IoOrderDetailCodeEntity> ioOrderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderEntity.getBillNo()); List<IoOrderDetailCodeEntity> ioOrderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderEntity.getBillNo());
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(codeTempEntity.getRelId()); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectSupGroupById(codeTempEntity.getRelId());
// UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(codeTempEntity.getRelId());
if (CollUtil.isEmpty(ioOrderDetailCodeEntities)) { if (CollUtil.isEmpty(ioOrderDetailCodeEntities)) {
orderDetailCodeService.insert(buildEntity(orderEntity, codeTempEntity, udiRelevanceResponse)); orderDetailCodeService.insert(buildEntity(orderEntity, codeTempEntity, udiRelevanceResponse));
} else { } else {

@ -1,6 +1,7 @@
package com.glxp.api.service.inout; package com.glxp.api.service.inout;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.StrUtil; 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;
@ -8,15 +9,14 @@ import com.glxp.api.constant.ConstantType;
import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBusTypePreEntity; import com.glxp.api.entity.basic.BasicBusTypePreEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoCodeEntity; import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.IBasicBusTypePreService; import com.glxp.api.service.basic.IBasicBusTypePreService;
import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inv.InvProductDetailService; import com.glxp.api.service.inv.InvProductDetailService;
import com.glxp.api.service.inv.InvProductService;
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;
@ -56,18 +56,21 @@ public class IoChangeInoutService {
SystemParamConfigService systemParamConfigService; SystemParamConfigService systemParamConfigService;
@Resource @Resource
IoCodeTempService codeTempService; IoCodeTempService codeTempService;
@Resource
IoOrderInvoiceService ioOrderInvoiceService;
@Resource
IoOrderDetailBizService orderDetailBizService;
public void changeOrder(IoOrderEntity orderEntity) { public void changeOrder(IoOrderEntity orderEntity) {
BasicBusTypePreEntity basicBusTypePreEntity = basicBusTypePreService.findByOriginAction(orderEntity.getAction()); BasicBusTypePreEntity basicBusTypePreEntity = basicBusTypePreService.findByOriginAction(orderEntity.getAction());
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo()); List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo());
if (basicBusTypePreEntity != null) {
buildInOrder(basicBusTypePreEntity, codeEnttities, orderEntity);
} else {
//结束,不生成库存,
}
if (basicBusTypePreEntity != null) {
buildInOrder(basicBusTypePreEntity, codeEnttities, orderEntity, true);
}
//结束,不生成库存,
} }
@ -84,7 +87,7 @@ public class IoChangeInoutService {
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo()); List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo());
if (basicBusTypePreEntity.getSupplementAll()) {//全量补单 if (basicBusTypePreEntity.getSupplementAll()) {//全量补单
invProductDetailService.insertList(invProductDetailEntities); invProductDetailService.insertList(invProductDetailEntities);
buildInOrder(basicBusTypePreEntity, codeEnttities, orderEntity); buildInOrder(basicBusTypePreEntity, codeEnttities, orderEntity, false);
} else { //缺量补单 } else { //缺量补单
List<IoCodeEntity> inList = new ArrayList<>(); List<IoCodeEntity> inList = new ArrayList<>();
for (IoCodeEntity warehouseEntity : codeEnttities) { for (IoCodeEntity warehouseEntity : codeEnttities) {
@ -106,7 +109,7 @@ public class IoChangeInoutService {
InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode()); InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode());
invProductDetailService.insert(invProductDetailEntity); invProductDetailService.insert(invProductDetailEntity);
} }
buildInOrder(basicBusTypePreEntity, inList, orderEntity); buildInOrder(basicBusTypePreEntity, inList, orderEntity, false);
} }
} }
@ -138,7 +141,13 @@ public class IoChangeInoutService {
} }
//生成单据 //生成单据
public void buildInOrder(BasicBusTypePreEntity bussinessChangeTypeEntity, List<IoCodeEntity> useInList, IoOrderEntity orderEntity) { public void buildInOrder(BasicBusTypePreEntity bussinessChangeTypeEntity, List<IoCodeEntity> useInList, IoOrderEntity orderEntity, boolean isGenInovice) {
if (StrUtil.isEmpty(orderEntity.getRelKey())) {
orderEntity.setRelKey(UUID.fastUUID().toString(true));
orderService.update(orderEntity);
}
if (useInList.size() <= 0) { if (useInList.size() <= 0) {
return; return;
} }
@ -173,7 +182,7 @@ public class IoChangeInoutService {
if (bussinessChangeTypeEntity.getBeforeTime() != null) if (bussinessChangeTypeEntity.getBeforeTime() != null)
outOrder.setCreateTime(DateUtil.getBeforeDay(DateUtil.fromDate(orderEntity), bussinessChangeTypeEntity.getBeforeTime())); outOrder.setCreateTime(DateUtil.getBeforeDay(DateUtil.fromDate(orderEntity), bussinessChangeTypeEntity.getBeforeTime()));
else else
outOrder.setCreateTime(DateUtil.fromDate(orderEntity)); outOrder.setCreateTime(new Date()); //不设,默认为当前时间
outOrder.setAction(targetBustypeEntity.getAction()); outOrder.setAction(targetBustypeEntity.getAction());
outOrder.setMainAction(targetBustypeEntity.getMainAction()); outOrder.setMainAction(targetBustypeEntity.getMainAction());
outOrder.setBusType(targetBustypeEntity.getBusType()); outOrder.setBusType(targetBustypeEntity.getBusType());
@ -223,6 +232,8 @@ public class IoChangeInoutService {
outOrder.setCreateUser(null); outOrder.setCreateUser(null);
outOrder.setReviewUser(null); outOrder.setReviewUser(null);
orderService.insertOrder(outOrder); orderService.insertOrder(outOrder);
//生成条码
List<IoCodeTempEntity> codeTempEntities = new ArrayList<>(); List<IoCodeTempEntity> codeTempEntities = new ArrayList<>();
for (IoCodeEntity warehouseEntity : temps) { for (IoCodeEntity warehouseEntity : temps) {
IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); IoCodeTempEntity codeTempEntity = new IoCodeTempEntity();
@ -234,20 +245,30 @@ public class IoChangeInoutService {
codeTempEntities.add(codeTempEntity); codeTempEntities.add(codeTempEntity);
} }
codeTempService.insertBatch(codeTempEntities); codeTempService.insertBatch(codeTempEntities);
if (isGenInovice) {
//根据单据设置状态 1:草稿 //生成发票信息
if (bussinessChangeTypeEntity.getAuditStatus() != null) { List<IoOrderInvoiceEntity> invoiceEntities = ioOrderInvoiceService.findByBillNo(orderEntity.getBillNo());
if (bussinessChangeTypeEntity.getAuditStatus() == 1) { if (CollUtil.isNotEmpty(invoiceEntities)) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); for (IoOrderInvoiceEntity orderInvoiceEntity : invoiceEntities) {
orderService.update(orderEntity); orderInvoiceEntity.setOrderIdFk(outOrder.getBillNo());
} else if (bussinessChangeTypeEntity.getAuditStatus() == 2 || bussinessChangeTypeEntity.getAuditStatus() == 3) { orderInvoiceEntity.setId(null);
addInoutService.dealProcess(outOrder); orderInvoiceEntity.setBizIdFk(null);
if (!ioCheckInoutService.checkManual(outOrder.getBillNo())) { orderInvoiceEntity.setUpdateTime(new Date());
ioCheckInoutService.check(outOrder.getBillNo()); ioOrderInvoiceService.insertInvoice(orderInvoiceEntity);
} }
} }
} }
//根据单据设置状态 1:草稿
if (bussinessChangeTypeEntity.getAuditStatus() == 1) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);
orderService.update(orderEntity);
} else if (bussinessChangeTypeEntity.getAuditStatus() == 2 || bussinessChangeTypeEntity.getAuditStatus() == 3) {
addInoutService.dealProcess(outOrder);
if (!ioCheckInoutService.checkManual(outOrder.getBillNo())) {
ioCheckInoutService.check(outOrder.getBillNo());
}
}
} }
} }

@ -1,6 +1,7 @@
package com.glxp.api.service.inout; package com.glxp.api.service.inout;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
@ -44,8 +45,6 @@ public class IoCheckInoutService {
@Resource @Resource
IoOrderDetailResultService orderDetailResultService; IoOrderDetailResultService orderDetailResultService;
@Resource @Resource
InvPreinOrderService invPreinOrderService;
@Resource
InvPreinDetailService invPreinDetailService; InvPreinDetailService invPreinDetailService;
@Resource @Resource
IoGenInvService genInvService; IoGenInvService genInvService;
@ -208,7 +207,7 @@ public class IoCheckInoutService {
return "请先录入业务详情"; return "请先录入业务详情";
} }
IoOrderDetailBizEntity bizEntity = orderDetailBizService.findByUnique(codeEntity.getOrderId(), codeEntity.getRelId(), codeEntity.getBatchNo()); IoOrderDetailBizEntity bizEntity = orderDetailBizService.findByUnique(codeEntity.getOrderId(), codeEntity.getRelId(), codeEntity.getBatchNo(), codeEntity.getProduceDate(), codeEntity.getExpireDate());
if (bizEntity == null) { if (bizEntity == null) {
return "非此单产品!"; return "非此单产品!";
} }
@ -274,7 +273,7 @@ public class IoCheckInoutService {
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity); orderService.update(orderEntity);
// genLostCode(orderEntity.getBillNo()); genLostCode(orderEntity.getBillNo());
checkThird(orderEntity); checkThird(orderEntity);
} }
@ -303,6 +302,7 @@ public class IoCheckInoutService {
String errMsg = ""; String errMsg = "";
//正向校验 //正向校验
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
String msg = "";
for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) {
if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null
&& checkBatchNo(bizEntity, codeEntity) == null && checkBatchNo(bizEntity, codeEntity) == null
@ -314,15 +314,23 @@ public class IoCheckInoutService {
bizEntity.setCheckSuccess(true); bizEntity.setCheckSuccess(true);
bizEntity.setScanCount(codeEntity.getReCount()); bizEntity.setScanCount(codeEntity.getReCount());
codeEntity.setCheckSuccess(true); codeEntity.setCheckSuccess(true);
} else {
bizEntity.setScanCount(codeEntity.getReCount());
bizEntity.setCheckSuccess(false);
msg = "数量不匹配";
} }
break; break;
} }
} }
if (StrUtil.isEmpty(msg) && !bizEntity.isCheckSuccess()) {
msg = "三期不匹配";
}
bizEntity.setErrMsg(msg);
} }
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
if (!bizEntity.isCheckSuccess()) { if (!bizEntity.isCheckSuccess()) {
errMsg = errMsg + bizEntity.getCoName() + ";"; errMsg = errMsg + bizEntity.getCoName() + bizEntity.getErrMsg() + ";";
} }
} }
@ -380,7 +388,7 @@ public class IoCheckInoutService {
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity); orderService.update(orderEntity);
//生成缺失码 //生成缺失码
// genLostCode(orderEntity.getBillNo()); genLostCode(orderEntity.getBillNo());
checkThird(orderEntity); checkThird(orderEntity);
@ -398,28 +406,36 @@ public class IoCheckInoutService {
bizEntity.setCheckSuccess(false); bizEntity.setCheckSuccess(false);
} }
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
String msg = "";
for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) {
if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() && checkId(bizEntity, codeEntity) == null
&& checkBatchNo(bizEntity, codeEntity) == null && checkBatchNo(bizEntity, codeEntity) == null
&& checkProductDate(bizEntity, codeEntity) == null
&& checkExpireDate(bizEntity, codeEntity) == null
) { ) {
if (checkCount(bizEntity, codeEntity) == null) { if (checkCount(bizEntity, codeEntity) == null) {
bizEntity.setCheckSuccess(true); bizEntity.setCheckSuccess(true);
codeEntity.setCheckSuccess(true); codeEntity.setCheckSuccess(true);
bizEntity.setScanCount(codeEntity.getReCount()); bizEntity.setScanCount(codeEntity.getReCount());
} else { } else {
msg = "数量不匹配";
bizEntity.setScanCount(codeEntity.getReCount()); bizEntity.setScanCount(codeEntity.getReCount());
bizEntity.setCheckSuccess(false); bizEntity.setCheckSuccess(false);
} }
break; break;
} }
} }
if (StrUtil.isEmpty(msg) && !bizEntity.isCheckSuccess()) {
msg = "三期不匹配";
}
bizEntity.setErrMsg(msg);
} }
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
if (!bizEntity.isCheckSuccess()) { if (!bizEntity.isCheckSuccess()) {
errMsg = errMsg + bizEntity.getCoName() + ";"; errMsg = errMsg + bizEntity.getCoName() + bizEntity.getErrMsg() + ";";
} }
} }
return errMsg; return errMsg;
@ -531,17 +547,21 @@ public class IoCheckInoutService {
} }
for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) {
String msg = "";
for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) {
if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess() if (!bizEntity.isCheckSuccess() && !codeEntity.isCheckSuccess()
&& checkId(bizEntity, codeEntity) == null && checkId(bizEntity, codeEntity) == null
&& checkBatchNo(bizEntity, codeEntity) == null && checkBatchNo(bizEntity, codeEntity) == null
&& checkProductDate(bizEntity, codeEntity) == null
&& checkExpireDate(bizEntity, codeEntity) == null
) { ) {
if (checkCount(bizEntity, codeEntity) == null) { if (checkCount(bizEntity, codeEntity) == null) {
bizEntity.setCheckSuccess(true); bizEntity.setCheckSuccess(true);
codeEntity.setCheckSuccess(true); codeEntity.setCheckSuccess(true);
codeEntity.setOrderCount(bizEntity.getCount()); codeEntity.setOrderCount(bizEntity.getCount());
} else { } else {
msg = "数量不匹配";
codeEntity.setCheckSuccess(false); codeEntity.setCheckSuccess(false);
codeEntity.setOrderCount(bizEntity.getCount()); codeEntity.setOrderCount(bizEntity.getCount());
} }
@ -550,12 +570,16 @@ public class IoCheckInoutService {
codeEntity.setCheckSuccess(false); codeEntity.setCheckSuccess(false);
} }
} }
if (StrUtil.isEmpty(msg) && !codeEntity.isCheckSuccess()) {
msg = "三期不匹配";
}
codeEntity.setErrMsg(msg);
} }
String errMsg = ""; String errMsg = "";
for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) {
if (!codeEntity.isCheckSuccess()) { if (!codeEntity.isCheckSuccess()) {
errMsg = errMsg + codeEntity.getCoName() + ";"; errMsg = errMsg + codeEntity.getCoName() + codeEntity.getErrMsg() + ";";
} }
} }
return errMsg; return errMsg;
@ -633,7 +657,7 @@ public class IoCheckInoutService {
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) { if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) {
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_REW); orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_REW);
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());
orderEntity.setAuditTime(new Date()); orderEntity.setCheckTime(new Date());
orderService.update(orderEntity); orderService.update(orderEntity);
checkSecond(orderEntity); checkSecond(orderEntity);
} }
@ -716,6 +740,11 @@ public class IoCheckInoutService {
} }
} }
if (preInOrder.size() > 0) { if (preInOrder.size() > 0) {
if (StrUtil.isEmpty(orderEntity.getRelKey())) {
orderEntity.setRelKey(UUID.fastUUID().toString(true));
}
String preInBillNo = ""; String preInBillNo = "";
boolean isBreak = false; boolean isBreak = false;
for (String key : preInOrder.keySet()) { for (String key : preInOrder.keySet()) {
@ -723,6 +752,7 @@ public class IoCheckInoutService {
preInBillNo = preInBillNo + "," + key; preInBillNo = preInBillNo + "," + key;
IoOrderEntity preInEntity = orderService.findByBillNo(key); IoOrderEntity preInEntity = orderService.findByBillNo(key);
preInEntity.setPreOutBillNo(orderEntity.getBillNo()); preInEntity.setPreOutBillNo(orderEntity.getBillNo());
preInEntity.setRelKey(orderEntity.getRelKey());
orderService.update(preInEntity); orderService.update(preInEntity);
BasicBussinessTypeEntity preBusType = basicBussinessTypeService.findByAction(preInEntity.getAction()); BasicBussinessTypeEntity preBusType = basicBussinessTypeService.findByAction(preInEntity.getAction());
//预验收不删除单号,方便后续查询 //预验收不删除单号,方便后续查询
@ -776,7 +806,6 @@ public class IoCheckInoutService {
} }
} }
//校验是否是不入库存单据 //校验是否是不入库存单据
if (bussinessTypeEntity.isInStock()) { if (bussinessTypeEntity.isInStock()) {
// if (bussinessTypeEntity.getBusType() == ConstantStatus.BUS_TYPE_NORMAL) { // if (bussinessTypeEntity.getBusType() == ConstantStatus.BUS_TYPE_NORMAL) {

@ -1,7 +1,6 @@
package com.glxp.api.service.inout; package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoCodeRelEntity; import com.glxp.api.entity.inout.IoCodeRelEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.req.inout.IoOrderRelRequest; import com.glxp.api.req.inout.IoOrderRelRequest;
import com.glxp.api.res.inout.IoCodeRelResponse; import com.glxp.api.res.inout.IoCodeRelResponse;

@ -65,7 +65,6 @@ public class IoGenInvService {
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderId); List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderId);
//生成库存产品表 //生成库存产品表
List<InvProductEntity> invProductEntities = new ArrayList<>();
for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) { for (IoOrderDetailResultEntity orderDetailResultEntity : orderDetailResultEntities) {
InvProductEntity invProductEntity = invProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode()); InvProductEntity invProductEntity = invProductService.selectByUnique(orderDetailResultEntity.getBindRlFk(), orderDetailResultEntity.getBatchNo(), orderDetailResultEntity.getSupId(), orderEntity.getDeptCode(), orderEntity.getInvCode());
if (invProductEntity == null) { if (invProductEntity == null) {

@ -14,7 +14,7 @@ public interface IoOrderDetailBizService {
List<IoOrderDetailBizEntity> findByOrderId(String orderId); List<IoOrderDetailBizEntity> findByOrderId(String orderId);
List<IoOrderDetailBizEntity> findByOrderIdAndNameCode(String orderId,boolean chack); List<IoOrderDetailBizEntity> findByOrderIdAndNameCode(String orderId, boolean chack);
int insert(IoOrderDetailBizEntity orderDetailBizEntity); int insert(IoOrderDetailBizEntity orderDetailBizEntity);
@ -28,14 +28,16 @@ public interface IoOrderDetailBizService {
boolean isExit(Long relId, String bacthNo, Integer ignoreId, String orderId); boolean isExit(Long relId, String bacthNo, Integer ignoreId, String orderId);
IoOrderDetailBizEntity findByUnique(String orderId, Long relId, String bacthNo); IoOrderDetailBizEntity findByUnique(String orderId, Long relId, String bacthNo, String productDate, String expireDate);
List<IoOrderDetailBizResponse> filterList(FilterOrderDetailBizRequest orderDetailBizRequest); List<IoOrderDetailBizResponse> filterList(FilterOrderDetailBizRequest orderDetailBizRequest);
IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo,String bindRlFk); IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo, String bindRlFk);
List<IoOrderDetailBizEntity> checkOrderList(String orderId); List<IoOrderDetailBizEntity> checkOrderList(String orderId);
List<IoOrderInvoiceResponse> filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest); List<IoOrderInvoiceResponse> filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest);
Boolean updateOrderDetailBiz(IoOrderDetailBizEntity ioOrderDetailBizEntity);
} }

@ -1,11 +1,15 @@
package com.glxp.api.service.inout; package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import com.glxp.api.req.inout.IoOrderInvoiceRequest; import com.glxp.api.req.inout.IoOrderInvoiceRequest;
import java.util.List;
public interface IoOrderInvoiceService { public interface IoOrderInvoiceService {
List<IoOrderInvoiceEntity> findByBillNo(String billNo);
boolean deleteByInvId(Integer id); boolean deleteByInvId(Integer id);
boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest); boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest);

@ -14,8 +14,6 @@ public interface IoOrderService {
List<IoOrderEntity> selectAll(); List<IoOrderEntity> selectAll();
List<IoOrderEntity> findByStatus(String action, Integer status);
List<IoOrderEntity> findAll(FilterOrderRequest filterOrderRequest); List<IoOrderEntity> findAll(FilterOrderRequest filterOrderRequest);
List<IoOrderEntity> isExitRepeat(String corpOrderId, String billNo); List<IoOrderEntity> isExitRepeat(String corpOrderId, String billNo);
@ -24,6 +22,8 @@ public interface IoOrderService {
IoOrderEntity findByBillNo(String billNO); IoOrderEntity findByBillNo(String billNO);
List<IoOrderEntity> findByStatus(String action, Integer status);
int insertOrder(IoOrderEntity orderEntity); int insertOrder(IoOrderEntity orderEntity);
int insertOrUpdate(IoOrderEntity orderEntity); int insertOrUpdate(IoOrderEntity orderEntity);
@ -78,6 +78,8 @@ public interface IoOrderService {
List<String> setActions(FilterOrderRequest filterOrderRequest); List<String> setActions(FilterOrderRequest filterOrderRequest);
void setInvoiceFiltes(FilterOrderRequest filterOrderRequest);
/** /**
* *
* *

@ -38,14 +38,14 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
@Override @Override
public List<IoOrderDetailBizEntity> findByOrderIdAndNameCode(String orderId, boolean chack) { public List<IoOrderDetailBizEntity> findByOrderIdAndNameCode(String orderId, boolean chack) {
QueryWrapper<IoOrderDetailBizEntity> ew=new QueryWrapper<>(); QueryWrapper<IoOrderDetailBizEntity> ew = new QueryWrapper<>();
if(StrUtil.isNotEmpty(orderId)){ if (StrUtil.isNotEmpty(orderId)) {
ew.eq("orderIdFk",orderId); ew.eq("orderIdFk", orderId);
} }
// if(chack){ // if(chack){
// ew.isNull("nameCode"); // ew.isNull("nameCode");
// } // }
List<IoOrderDetailBizEntity> ioOrderDetailBizEntityList=ioOrderDetailBizDao.selectList(ew); List<IoOrderDetailBizEntity> ioOrderDetailBizEntityList = ioOrderDetailBizDao.selectList(ew);
return ioOrderDetailBizEntityList; return ioOrderDetailBizEntityList;
} }
@ -84,9 +84,17 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
} }
@Override @Override
public IoOrderDetailBizEntity findByUnique(String orderId, Long relId, String bacthNo) { public IoOrderDetailBizEntity findByUnique(String orderId, Long relId, String bacthNo, String productDate, String expireDate) {
return ioOrderDetailBizDao.selectOne(new QueryWrapper<IoOrderDetailBizEntity>().eq("orderIdFk", orderId).eq("bindRlFk", relId).eq(StrUtil.isNotEmpty(bacthNo), "batchNo", bacthNo) return ioOrderDetailBizDao.selectOne(new QueryWrapper<IoOrderDetailBizEntity>()
.isNull(StrUtil.isEmpty(bacthNo), "batchNo")); .eq("orderIdFk", orderId).eq("bindRlFk", relId)
.eq(StrUtil.isNotEmpty(bacthNo), "batchNo", bacthNo)
.isNull(StrUtil.isEmpty(bacthNo), "batchNo")
.eq(StrUtil.isNotEmpty(productDate), "productDate", productDate)
.isNull(StrUtil.isEmpty(productDate), "productDate")
.eq(StrUtil.isNotEmpty(expireDate), "expireDate", expireDate)
.isNull(StrUtil.isEmpty(expireDate), "expireDate")
);
} }
@Override @Override
@ -102,14 +110,14 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
@Override @Override
public IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo, String bindRlFk) { public IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo, String bindRlFk) {
QueryWrapper<IoOrderDetailBizEntity> ew=new QueryWrapper<>(); QueryWrapper<IoOrderDetailBizEntity> ew = new QueryWrapper<>();
if (StrUtil.isNotEmpty(batchNo)) { if (StrUtil.isNotEmpty(batchNo)) {
ew.eq("batchNo",batchNo); ew.eq("batchNo", batchNo);
} }
if (StrUtil.isNotEmpty(bindRlFk)) { if (StrUtil.isNotEmpty(bindRlFk)) {
ew.eq("bindRlFk",bindRlFk); ew.eq("bindRlFk", bindRlFk);
} }
IoOrderDetailBizEntity ioOrderDetailBizEntity=ioOrderDetailBizDao.selectOne(ew); IoOrderDetailBizEntity ioOrderDetailBizEntity = ioOrderDetailBizDao.selectOne(ew);
return ioOrderDetailBizEntity; return ioOrderDetailBizEntity;
} }
@ -133,4 +141,9 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
return ioOrderDetailBizDao.filterListInv(orderDetailBizRequest); return ioOrderDetailBizDao.filterListInv(orderDetailBizRequest);
} }
@Override
public Boolean updateOrderDetailBiz(IoOrderDetailBizEntity ioOrderDetailBizEntity) {
return ioOrderDetailBizDao.updateById(ioOrderDetailBizEntity) > 0;
}
} }

@ -1,14 +1,17 @@
package com.glxp.api.service.inout.impl; package com.glxp.api.service.inout.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.dao.inout.IoOrderInvoiceMapper; import com.glxp.api.dao.inout.IoOrderInvoiceMapper;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import com.glxp.api.req.inout.IoOrderInvoiceRequest; import com.glxp.api.req.inout.IoOrderInvoiceRequest;
import com.glxp.api.service.inout.IoOrderInvoiceService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.glxp.api.service.inout.IoOrderInvoiceService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -16,20 +19,26 @@ public class IoOrderInvoiceServiceImpl implements IoOrderInvoiceService {
@Resource @Resource
IoOrderInvoiceMapper ioOrderInvoiceMapper; IoOrderInvoiceMapper ioOrderInvoiceMapper;
@Override
public List<IoOrderInvoiceEntity> findByBillNo(String orderIdFk) {
return ioOrderInvoiceMapper.selectList(new QueryWrapper<IoOrderInvoiceEntity>().eq("orderIdFk", orderIdFk));
}
@Override @Override
public boolean deleteByInvId(Integer id) { public boolean deleteByInvId(Integer id) {
return this.ioOrderInvoiceMapper.deleteById(id)>0; return this.ioOrderInvoiceMapper.deleteById(id) > 0;
} }
@Override @Override
public boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest) { public boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest) {
IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity();
BeanUtils.copyProperties(ioOrderInvoiceRequest,ioOrderInvoiceEntity); BeanUtils.copyProperties(ioOrderInvoiceRequest, ioOrderInvoiceEntity);
return this.ioOrderInvoiceMapper.updateById(ioOrderInvoiceEntity)>0; return this.ioOrderInvoiceMapper.updateById(ioOrderInvoiceEntity) > 0;
} }
@Override @Override
public boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity) { public boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity) {
return ioOrderInvoiceMapper.insertInvoice(ioOrderInvoiceEntity); return ioOrderInvoiceMapper.insert(ioOrderInvoiceEntity) > 0;
} }
} }

@ -103,12 +103,6 @@ public class IoOrderServiceImpl implements IoOrderService {
return orderDao.selectList(); return orderDao.selectList();
} }
@Override
public List<IoOrderEntity> findByStatus(String action, Integer status) {
return orderDao.selectList(new QueryWrapper<IoOrderEntity>().eq("action", action).eq("status", status));
}
@Override @Override
public List<IoOrderEntity> findAll(FilterOrderRequest filterOrderRequest) { public List<IoOrderEntity> findAll(FilterOrderRequest filterOrderRequest) {
QueryWrapper<IoOrderEntity> queryWrapper = new QueryWrapper<IoOrderEntity>() QueryWrapper<IoOrderEntity> queryWrapper = new QueryWrapper<IoOrderEntity>()
@ -143,6 +137,11 @@ public class IoOrderServiceImpl implements IoOrderService {
return orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", billNO)); return orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", billNO));
} }
@Override
public List<IoOrderEntity> findByStatus(String action, Integer status) {
return orderDao.selectList(new QueryWrapper<IoOrderEntity>().eq("action", action).eq("status", status));
}
@Override @Override
public int insertOrder(IoOrderEntity orderEntity) { public int insertOrder(IoOrderEntity orderEntity) {
orderEntity.setId(null); orderEntity.setId(null);
@ -532,10 +531,6 @@ public class IoOrderServiceImpl implements IoOrderService {
filterOrderRequest.setStatuses(Arrays.asList(5, 8)); filterOrderRequest.setStatuses(Arrays.asList(5, 8));
filterOrderRequest.setDealStatuses(Arrays.asList(2)); filterOrderRequest.setDealStatuses(Arrays.asList(2));
break; break;
case Constant.ORDER_STATUS_WAIT_AUDITED:
filterOrderRequest.setStatuses(Arrays.asList(10));
filterOrderRequest.setDealStatuses(Arrays.asList(3, 4));
break;
case Constant.ORDER_STATUS_AUDITED: case Constant.ORDER_STATUS_AUDITED:
filterOrderRequest.setStatuses(Arrays.asList(7)); filterOrderRequest.setStatuses(Arrays.asList(7));
filterOrderRequest.setDealStatuses(Arrays.asList(3, 4)); filterOrderRequest.setDealStatuses(Arrays.asList(3, 4));
@ -544,6 +539,20 @@ public class IoOrderServiceImpl implements IoOrderService {
filterOrderRequest.setStatuses(Arrays.asList(5, 7)); filterOrderRequest.setStatuses(Arrays.asList(5, 7));
filterOrderRequest.setDealStatuses(Arrays.asList(2, 3)); filterOrderRequest.setDealStatuses(Arrays.asList(2, 3));
break; break;
case Constant.ORDER_STATUS_INVOICE:
filterOrderRequest.setStatuses(Arrays.asList(5, 10, 7));
filterOrderRequest.setDealStatuses(Arrays.asList(3, 4));
break;
case Constant.ORDER_STATUS_INCODE:
filterOrderRequest.setStatuses(Arrays.asList(1, 3, 5, 10, 7));
filterOrderRequest.setDealStatuses(Arrays.asList(1, 2, 3, 4));
break;
case Constant.ORDER_STATUS_WAIT_AUDITED:
filterOrderRequest.setStatuses(Arrays.asList(10, 7));
filterOrderRequest.setDealStatuses(Arrays.asList(3, 4));
break;
default: default:
break; break;
} }
@ -562,6 +571,25 @@ public class IoOrderServiceImpl implements IoOrderService {
return actions; return actions;
} }
@Override
public void setInvoiceFiltes(FilterOrderRequest filterOrderRequest) {
List<BasicBussinessTypeEntity> bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("mainAction", ConstantType.TYPE_PUT).eq("corpType", ConstantStatus.CORP_TYPE_OUT)
.eq("corpType", ConstantStatus.CORP_TYPE_OUT).eq("inStock", false)
.gt("spUse", 1).eq("actionType", 1).eq("enable", true));
List<String> actions1 = null;
actions1 = bussinessTypeEntities.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList());
filterOrderRequest.setInvoiceActions1(actions1);
List<BasicBussinessTypeEntity> bussinessTypeEntities2 = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("mainAction", ConstantType.TYPE_PUT).eq("corpType", ConstantStatus.CORP_TYPE_OUT)
.eq("inStock", true)
.gt("spUse", 0).eq("actionType", 1).eq("enable", true));
List<String> actions2 = null;
actions2 = bussinessTypeEntities2.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList());
filterOrderRequest.setInvoiceActions2(actions2);
}
@Override @Override
public List<IoOrderEntity> filterOrderTrace(String billNo) { public List<IoOrderEntity> filterOrderTrace(String billNo) {
IoOrderEntity order = orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", billNo)); IoOrderEntity order = orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", billNo));
@ -705,28 +733,31 @@ public class IoOrderServiceImpl implements IoOrderService {
* @return * @return
*/ */
private List<IoOrderEntity> getAllOrder(IoOrderEntity order) { private List<IoOrderEntity> getAllOrder(IoOrderEntity order) {
Set<String> billNos = new HashSet<>(); // Set<String> billNos = new HashSet<>();
billNos.add(order.getBillNo()); // billNos.add(order.getBillNo());
getLinkedBillNo(order.getBillNo(), billNos);
List<IoOrderEntity> orderEntities = orderDao.selectList(new QueryWrapper<IoOrderEntity>().eq("relKey", order.getRelKey()));
//去除本单的单据号
Iterator<String> iterator = billNos.iterator(); // getLinkedBillNo(order.getBillNo(), billNos);
while (iterator.hasNext()) { //
if (iterator.next().equals(order.getBillNo())) { // //去除本单的单据号
iterator.remove(); // Iterator<String> iterator = billNos.iterator();
break; // while (iterator.hasNext()) {
} // if (iterator.next().equals(order.getBillNo())) {
} // iterator.remove();
// break;
ArrayList<IoOrderEntity> orders = new ArrayList<>(); // }
if (CollUtil.isNotEmpty(billNos)) { // }
List<IoOrderEntity> list = orderDao.selectList(new QueryWrapper<IoOrderEntity>().in("billNo", billNos).orderByDesc("id")); //
orders.addAll(list); // ArrayList<IoOrderEntity> orders = new ArrayList<>();
} // if (CollUtil.isNotEmpty(billNos)) {
// List<IoOrderEntity> list = orderDao.selectList(new QueryWrapper<IoOrderEntity>().in("billNo", billNos).orderByDesc("id"));
// orders.addAll(list);
// }
//将查询入口单据放在第一位的顺序 //将查询入口单据放在第一位的顺序
orders.add(0, order); // orders.add(0, order);
return orders; return orderEntities;
} }
/** /**

@ -45,4 +45,19 @@ public interface InvRemindSetService {
*/ */
BaseResponse deleteInvRemindSet(Integer id); BaseResponse deleteInvRemindSet(Integer id);
/**
* ID
*
* @param invId
* @return
*/
BaseResponse getInfoByInvId(Integer invId);
/**
*
*
* @param addInvRemindSetRequest
* @return
*/
BaseResponse batchAddInvRemindSet(AddInvRemindSetRequest addInvRemindSetRequest);
} }

@ -1,12 +1,16 @@
package com.glxp.api.service.inv.impl; package com.glxp.api.service.inv.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
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.basic.UdiRelevanceDao;
import com.glxp.api.dao.inv.InvRemindSetDao; import com.glxp.api.dao.inv.InvRemindSetDao;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.inv.InvRemindSetEntity; import com.glxp.api.entity.inv.InvRemindSetEntity;
import com.glxp.api.req.inv.AddInvRemindSetRequest; import com.glxp.api.req.inv.AddInvRemindSetRequest;
import com.glxp.api.req.inv.FilterInvRemindSetRequest; import com.glxp.api.req.inv.FilterInvRemindSetRequest;
@ -14,6 +18,10 @@ import com.glxp.api.res.inv.InvRemindSetResponse;
import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.inv.InvRemindSetService; import com.glxp.api.service.inv.InvRemindSetService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.TransactionIsolationLevel;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -31,6 +39,10 @@ public class InvRemindSetServiceImpl implements InvRemindSetService {
private InvRemindSetDao invRemindSetDao; private InvRemindSetDao invRemindSetDao;
@Resource @Resource
private CustomerService customerService; private CustomerService customerService;
@Resource
private UdiRelevanceDao udiRelevanceDao;
@Resource
private SqlSessionFactory sqlSessionFactory;
@Override @Override
public List<InvRemindSetResponse> filterList(FilterInvRemindSetRequest filterInvRemindSetRequest) { public List<InvRemindSetResponse> filterList(FilterInvRemindSetRequest filterInvRemindSetRequest) {
@ -51,10 +63,31 @@ public class InvRemindSetServiceImpl implements InvRemindSetService {
if (false == addInvRemindSetRequest.getLowStock() && false == addInvRemindSetRequest.getLackStock() && false == addInvRemindSetRequest.getOverStock() && false == addInvRemindSetRequest.getExpireDate() && false == addInvRemindSetRequest.getRecentDate()) { if (false == addInvRemindSetRequest.getLowStock() && false == addInvRemindSetRequest.getLackStock() && false == addInvRemindSetRequest.getOverStock() && false == addInvRemindSetRequest.getExpireDate() && false == addInvRemindSetRequest.getRecentDate()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "预警设置至少开启一项预警!"); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "预警设置至少开启一项预警!");
} }
InvRemindSetEntity invRemindSetEntity = new InvRemindSetEntity(); //查询此设置项是否已经存在,若已经存在,则直接覆盖,没有则新增
BeanUtil.copyProperties(addInvRemindSetRequest, invRemindSetEntity); InvRemindSetEntity invRemindSetEntity = invRemindSetDao.selectOne(new QueryWrapper<InvRemindSetEntity>()
setUpdateInfo(invRemindSetEntity); .eq("invCode", addInvRemindSetRequest.getInvCode())
invRemindSetDao.insert(invRemindSetEntity); .eq(StrUtil.isNotBlank(addInvRemindSetRequest.getInvSpaceCode()), "invSpaceCode", addInvRemindSetRequest.getInvSpaceCode())
.eq(StrUtil.isNotBlank(addInvRemindSetRequest.getRelId()), "relId", addInvRemindSetRequest.getRelId())
);
if (null == invRemindSetEntity) {
invRemindSetEntity = new InvRemindSetEntity();
BeanUtil.copyProperties(addInvRemindSetRequest, invRemindSetEntity);
verifySetParams(invRemindSetEntity);
setUpdateInfo(invRemindSetEntity);
invRemindSetDao.insert(invRemindSetEntity);
} else {
//设置预警参数设置
invRemindSetEntity.setLackStock(addInvRemindSetRequest.getLackStock());
invRemindSetEntity.setLowStock(addInvRemindSetRequest.getLowStock());
invRemindSetEntity.setOverStock(addInvRemindSetRequest.getOverStock());
invRemindSetEntity.setExpireDate(addInvRemindSetRequest.getExpireDate());
invRemindSetEntity.setRecentDate(addInvRemindSetRequest.getRecentDate());
//校验预警参数是否符合开启条件
verifySetParams(invRemindSetEntity);
setUpdateInfo(invRemindSetEntity);
invRemindSetDao.updateById(invRemindSetEntity);
}
return ResultVOUtils.success("添加成功"); return ResultVOUtils.success("添加成功");
} }
@ -63,6 +96,7 @@ public class InvRemindSetServiceImpl implements InvRemindSetService {
if (false == invRemindSetEntity.getLowStock() && false == invRemindSetEntity.getLackStock() && false == invRemindSetEntity.getOverStock() && false == invRemindSetEntity.getExpireDate() && false == invRemindSetEntity.getRecentDate()) { if (false == invRemindSetEntity.getLowStock() && false == invRemindSetEntity.getLackStock() && false == invRemindSetEntity.getOverStock() && false == invRemindSetEntity.getExpireDate() && false == invRemindSetEntity.getRecentDate()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "预警设置至少开启一项预警!"); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "预警设置至少开启一项预警!");
} }
verifySetParams(invRemindSetEntity);
setUpdateInfo(invRemindSetEntity); setUpdateInfo(invRemindSetEntity);
invRemindSetDao.updateById(invRemindSetEntity); invRemindSetDao.updateById(invRemindSetEntity);
return ResultVOUtils.success("更新成功"); return ResultVOUtils.success("更新成功");
@ -77,6 +111,72 @@ public class InvRemindSetServiceImpl implements InvRemindSetService {
return ResultVOUtils.success("删除成功"); return ResultVOUtils.success("删除成功");
} }
@Override
public BaseResponse getInfoByInvId(Integer invId) {
InvRemindSetResponse response = invRemindSetDao.selectInfoByInvId(invId);
if (null != response) {
if (response.getIsDateBy() == 1 && null != response.getRecentDateTime()) {
//将近效期预警值由小时换算成天
response.setRecentDateTime(response.getRecentDateTime() / 24);
}
return ResultVOUtils.success(response);
}
return ResultVOUtils.error(500, "未查询到指定的库存产品信息");
}
@Override
public BaseResponse batchAddInvRemindSet(AddInvRemindSetRequest addInvRemindSetRequest) {
if (CollUtil.isNotEmpty(addInvRemindSetRequest.getRelIdList())) {
//生成多条库存预警设置
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, TransactionIsolationLevel.READ_COMMITTED);
addInvRemindSetRequest.getRelIdList().forEach(relId -> {
//查询此产品是否存在预警设置
//查询此设置项是否已经存在,若已经存在,则直接覆盖,没有则新增
InvRemindSetEntity invRemindSetEntity = invRemindSetDao.selectOne(new QueryWrapper<InvRemindSetEntity>()
.eq("invCode", addInvRemindSetRequest.getInvCode())
.eq(StrUtil.isNotBlank(addInvRemindSetRequest.getInvSpaceCode()), "invSpaceCode", addInvRemindSetRequest.getInvSpaceCode())
.eq("relId", relId)
.eq(StrUtil.isNotBlank(addInvRemindSetRequest.getGgxh()), "ggxh", addInvRemindSetRequest.getGgxh())
);
if (null == invRemindSetEntity) {
invRemindSetEntity = new InvRemindSetEntity();
BeanUtil.copyProperties(addInvRemindSetRequest, invRemindSetEntity);
invRemindSetEntity.setRelId(relId);
verifySetParams(invRemindSetEntity);
setUpdateInfo(invRemindSetEntity);
invRemindSetDao.insert(invRemindSetEntity);
} else {
//校验预警参数是否符合开启条件
verifySetParams(invRemindSetEntity);
setUpdateInfo(invRemindSetEntity);
invRemindSetDao.updateById(invRemindSetEntity);
}
});
sqlSession.commit();
sqlSession.close();
} else {
//只选择了仓库货位信息,未选择产品列表,直接添加单条预警设置
//查询有无相同设置,有则更新时间
InvRemindSetEntity invRemindSetEntity = invRemindSetDao.selectOne(new QueryWrapper<InvRemindSetEntity>()
.eq("invCode", addInvRemindSetRequest.getInvCode())
.eq(StrUtil.isNotBlank(addInvRemindSetRequest.getInvSpaceCode()), "invSpaceCode", addInvRemindSetRequest.getInvSpaceCode())
.isNull("relId")
);
if (null == invRemindSetEntity) {
invRemindSetEntity = new InvRemindSetEntity();
BeanUtil.copyProperties(addInvRemindSetRequest, invRemindSetEntity);
invRemindSetEntity.setStatus(1);
setUpdateInfo(invRemindSetEntity);
invRemindSetDao.insert(invRemindSetEntity);
} else {
verifySetParams(invRemindSetEntity);
setUpdateInfo(invRemindSetEntity);
invRemindSetDao.updateById(invRemindSetEntity);
}
}
return ResultVOUtils.success("添加成功");
}
/** /**
* *
* *
@ -93,4 +193,29 @@ public class InvRemindSetServiceImpl implements InvRemindSetService {
invRemindSetEntity.setUpdateTime(date); invRemindSetEntity.setUpdateTime(date);
} }
/**
*
*
* @param invRemindSetEntity
*/
private void verifySetParams(InvRemindSetEntity invRemindSetEntity) {
//判断开启的预警设置,是否有设置对应的参数,若未设置,则修改状态为不启用
if (null != invRemindSetEntity.getRelId()) {
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectRemindParams(Long.valueOf(invRemindSetEntity.getRelId()));
if (null == udiRelevanceEntity) {
invRemindSetEntity.setStatus(0);
} else {
if (invRemindSetEntity.getLowStock() && null == udiRelevanceEntity.getLowStockNum()) {
invRemindSetEntity.setStatus(0);
} else if (invRemindSetEntity.getOverStock() && null == udiRelevanceEntity.getOverStockNum()) {
invRemindSetEntity.setStatus(0);
} else if (invRemindSetEntity.getRecentDate() && null == udiRelevanceEntity.getRecentDateTime()) {
invRemindSetEntity.setStatus(0);
} else {
invRemindSetEntity.setStatus(1);
}
}
}
}
} }

@ -1,8 +1,7 @@
package com.glxp.api.service.purchase; package com.glxp.api.service.purchase;
import com.glxp.api.entity.inout.PurReceiveEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.purchase.PurOrderEntity; import com.glxp.api.entity.purchase.PurOrderEntity;
import com.glxp.api.entity.purchase.PurPlanEntity; import com.glxp.api.entity.purchase.PurPlanEntity;
import com.glxp.api.req.purchase.PurOrderRequest; import com.glxp.api.req.purchase.PurOrderRequest;
@ -13,6 +12,7 @@ import com.glxp.api.res.purchase.PurPlanResponse;
import java.util.List; import java.util.List;
public interface PurOrderService { public interface PurOrderService {
PurOrderEntity selectById(Long id);
List<PurOrderResponse> queryPageList(PurOrderRequest purOrderRequest); List<PurOrderResponse> queryPageList(PurOrderRequest purOrderRequest);

@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.purchase.PurOrderDao; import com.glxp.api.dao.purchase.PurOrderDao;
import com.glxp.api.dao.purchase.PurPlanDao; import com.glxp.api.dao.purchase.PurPlanDao;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.PurReceiveEntity;
import com.glxp.api.entity.purchase.PurOrderEntity; import com.glxp.api.entity.purchase.PurOrderEntity;
import com.glxp.api.entity.purchase.PurPlanEntity; import com.glxp.api.entity.purchase.PurPlanEntity;
import com.glxp.api.req.purchase.PurOrderRequest; import com.glxp.api.req.purchase.PurOrderRequest;
@ -30,6 +30,11 @@ public class PurOrderServiceImpl implements PurOrderService {
@Resource @Resource
PurOrderDao purOrderDao; PurOrderDao purOrderDao;
@Override
public PurOrderEntity selectById(Long id) {
return purOrderDao.selectById(id);
}
@Override @Override
public List<PurOrderResponse> queryPageList(PurOrderRequest purOrderRequest) { public List<PurOrderResponse> queryPageList(PurOrderRequest purOrderRequest) {
if (purOrderRequest == null) { if (purOrderRequest == null) {

@ -1,28 +1,29 @@
<?xml version="1.0" encoding="UTF-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"> <!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.IoCodeLostMapper"> <mapper namespace="com.glxp.api.dao.inout.IoCodeLostMapper">
<select id="selectLost" parameterType="com.glxp.api.entity.inout.IoCodeLostEntity"
<select id="selectLost" parameterType="com.glxp.api.entity.inout.IoCodeLostEntity"
resultType="com.glxp.api.res.inout.IoCodeLostResponse"> resultType="com.glxp.api.res.inout.IoCodeLostResponse">
select io_code_lost.*, basic_products.cpmctymc, basic_products.ggxh select io_code_lost.*,basic_products.cpmctymc ,basic_products.ggxh from io_code_lost
from io_code_lost LEFT JOIN basic_products on io_code_lost.nameCode=basic_products.nameCode
LEFT JOIN basic_products on io_code_lost.nameCode = basic_products.nameCode
<where> <where>
<if test="code != '' and code != null"> <if test="code != '' and code != null">
and code like concat('%', #{code}, '%') and code like concat('%',#{code},'%')
</if> </if>
<if test="cpmctymc != '' and cpmctymc != null"> <if test="cpmctymc != '' and cpmctymc != null">
and basic_products.cpmctymc like concat('%', #{cpmctymc}, '%') and basic_products.cpmctymc like concat('%',#{cpmctymc},'%')
</if> </if>
<if test="ggxh != '' and ggxh != null"> <if test="ggxh != '' and ggxh != null">
and basic_products.ggxh like concat('%', #{ggxh}, '%') and basic_products.ggxh like concat('%',#{ggxh},'%')
</if> </if>
<if test="batchNo != '' and batchNo != null"> <if test="batchNo != '' and batchNo != null">
and batchNo like concat('%', #{batchNo}, '%') and batchNo like concat('%',#{batchNo},'%')
</if> </if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND date_format(io_code_lost.createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') AND date_format(io_code_lost.createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d')
</if> </if>
</where> </where>
</select> </select>
</mapper> </mapper>

@ -3,16 +3,16 @@
<mapper namespace="com.glxp.api.dao.inout.IoOrderDao"> <mapper namespace="com.glxp.api.dao.inout.IoOrderDao">
<select id="filterList" resultType="com.glxp.api.res.inout.IoOrderResponse"> <select id="filterList" resultType="com.glxp.api.res.inout.IoOrderResponse">
select io.*, select io.*,
(select name from basic_bussiness_type bus where bus.action = io.action) billTypeName, (select name from basic_bussiness_type bus where bus.action = io.action) billTypeName,
(select name from auth_dept ad where ad.code = io.deptCode) deptName, (select name from auth_dept ad where ad.code = io.deptCode) deptName,
(select name from auth_warehouse aw where aw.code = io.invCode) invName, (select name from auth_warehouse aw where aw.code = io.invCode) invName,
(select employeeName from auth_user au where au.id = io.createUser) createUserName, (select employeeName from auth_user au where au.id = io.createUser) createUserName,
(select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName, (select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName,
(select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName, (select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName,
(select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName, (select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName,
(select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName, (select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName,
(select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName, (select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName,
(select name from basic_corp bc where bc.erpId = io.customerId) customerName (select name from basic_corp bc where bc.erpId = io.customerId) customerName
from io_order as io from io_order as io
<where> <where>
<if test="id != null and id != ''"> <if test="id != null and id != ''">
@ -20,7 +20,7 @@
</if> </if>
<if test="corpName != null and corpName != ''"> <if test="corpName != null and corpName != ''">
AND (SELECT NAME FROM auth_warehouse aw2 WHERE aw2.CODE = io.fromInvCode) like AND (SELECT NAME FROM auth_warehouse aw2 WHERE aw2.CODE = io.fromInvCode) like
concat('%', #{corpName}, '%') concat('%', #{corpName}, '%')
</if> </if>
<if test="action != null and action != ''"> <if test="action != null and action != ''">
AND action = #{action} AND action = #{action}
@ -49,6 +49,9 @@
<if test="inCodeStatus != null"> <if test="inCodeStatus != null">
AND inCodeStatus = #{inCodeStatus} AND inCodeStatus = #{inCodeStatus}
</if> </if>
<if test="relKey != null">
AND relKey = #{relKey}
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d')
</if> </if>
@ -61,7 +64,6 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="statuses != null and statuses.size() != 0"> <if test="statuses != null and statuses.size() != 0">
AND status in AND status in
<foreach collection="statuses" index="index" item="item" open="(" close=")" separator=","> <foreach collection="statuses" index="index" item="item" open="(" close=")" separator=",">
@ -86,6 +88,24 @@
<if test="orderType != null"> <if test="orderType != null">
AND orderType = #{orderType} AND orderType = #{orderType}
</if> </if>
<if test="supInoivceSearch != null">
<if test="invoiceActions1 != null and invoiceActions1.size() != 0">
AND ((`action` in
<foreach collection="invoiceActions1" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and status = 10)
</if>
<if test="invoiceActions2 != null and invoiceActions2.size() != 0">
or ((
`action` in
<foreach collection="invoiceActions2" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>) and status = 7
))
</if>
</if>
</where> </where>
order by createTime desc order by createTime desc
</select> </select>
@ -130,14 +150,6 @@
<if test="busType != null"> <if test="busType != null">
AND busType = #{busType} AND busType = #{busType}
</if> </if>
<if test="actions != null and actions.size() != 0">
AND `action` in
<foreach collection="actions" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d')
</if> </if>
@ -165,16 +177,16 @@
<select id="selectUploadOrder" resultType="com.glxp.api.res.inout.IoOrderResponse"> <select id="selectUploadOrder" resultType="com.glxp.api.res.inout.IoOrderResponse">
select io.*, select io.*,
(select name from basic_bussiness_type bus where bus.action = io.action) billTypeName, (select name from basic_bussiness_type bus where bus.action = io.action) billTypeName,
(select name from auth_dept ad where ad.code = io.deptCode) deptName, (select name from auth_dept ad where ad.code = io.deptCode) deptName,
(select name from auth_warehouse aw where aw.code = io.invCode) invName, (select name from auth_warehouse aw where aw.code = io.invCode) invName,
(select employeeName from auth_user au where au.id = io.createUser) createUserName, (select employeeName from auth_user au where au.id = io.createUser) createUserName,
(select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName, (select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName,
(select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName, (select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName,
(select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName, (select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName,
(select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName, (select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName,
(select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName, (select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName,
(select name from basic_corp bc where bc.erpId = io.customerId) customerName (select name from basic_corp bc where bc.erpId = io.customerId) customerName
from io_order as io from io_order as io
<where> <where>
io.dealStatus = 3 io.dealStatus = 3

@ -4,8 +4,8 @@
<select id="filterList" resultType="com.glxp.api.res.inout.IoOrderDetailBizResponse"> <select id="filterList" resultType="com.glxp.api.res.inout.IoOrderDetailBizResponse">
select io_order_detail_biz.* select io_order_detail_biz.*
from io_order_detail_biz from io_order_detail_biz
left join basic_udirel bu on bu.id = io_order_detail_biz.bindRlFk left join basic_udirel bu on bu.id = io_order_detail_biz.bindRlFk
left join basic_products bp on bu.uuid = bp.uuid left join basic_products bp on bu.uuid = bp.uuid
<where> <where>
<if test="orderIdFk != null and orderIdFk != ''"> <if test="orderIdFk != null and orderIdFk != ''">
AND orderIdFk = #{orderIdFk} AND orderIdFk = #{orderIdFk}
@ -25,17 +25,25 @@
<select id="filterListInv" resultType="com.glxp.api.res.inout.IoOrderInvoiceResponse"> <select id="filterListInv" resultType="com.glxp.api.res.inout.IoOrderInvoiceResponse">
SELECT ic.*, SELECT ic.*,
(select cpmctymc from basic_products where basic_products.uuid = bu.uuid) cpmctymc, (select cpmctymc from basic_products where basic_products.uuid = bu.uuid) cpmctymc,
(select ggxh from basic_products where basic_products.uuid = bu.uuid) ggxh (select ggxh from basic_products where basic_products.uuid = bu.uuid) ggxh
FROM io_order_invoice ic FROM io_order_invoice ic
LEFT JOIN basic_udirel bu ON bu.id = ic.bindRlFk LEFT JOIN basic_udirel bu ON bu.id = ic.bindRlFk
LEFT JOIN basic_products bp ON bu.uuid = bp.uuid LEFT JOIN basic_products bp ON bu.uuid = bp.uuid
LEFT JOIN io_order_detail_biz io ON bu.id = io.bindRlFk
<where> <where>
<if test="orderIdFk != null and orderIdFk != ''"> <if test="orderIdFk != null and orderIdFk != ''">
AND ic.orderIdFk = #{orderIdFk} AND ic.orderIdFk = #{orderIdFk}
</if> </if>
<if test="relId != null">
AND ic.bindRlFk = #{relId}
</if>
<if test="batchNo != null and batchNo != ''">
AND ic.batchNo = #{batchNo}
</if>
<if test="bizIdFk != null and bizIdFk != ''">
AND ic.bizIdFk = #{bizIdFk}
</if>
</where> </where>
GROUP BY ic.bindRlFk GROUP BY ic.id
</select> </select>
</mapper> </mapper>

@ -3,10 +3,10 @@
<mapper namespace="com.glxp.api.dao.inout.IoOrderDetailCodeDao"> <mapper namespace="com.glxp.api.dao.inout.IoOrderDetailCodeDao">
<select id="filterList" resultType="com.glxp.api.res.inout.IoOrderDetailCodeResponse"> <select id="filterList" resultType="com.glxp.api.res.inout.IoOrderDetailCodeResponse">
select io_order_detail_code.*, select io_order_detail_code.*,
(select `name` from basic_corp where erpId = io_order_detail_code.supId) supName (select `name` from basic_corp where erpId = io_order_detail_code.supId) supName
from io_order_detail_code from io_order_detail_code
left join basic_udirel bu on bu.id = io_order_detail_code.bindRlFk left join basic_udirel bu on bu.id = io_order_detail_code.bindRlFk
left join basic_products bp on bp.uuid = bu.uuid left join basic_products bp on bp.uuid = bu.uuid
<where> <where>
<if test="orderIdFk != null and orderIdFk != ''"> <if test="orderIdFk != null and orderIdFk != ''">
AND orderIdFk = #{orderIdFk} AND orderIdFk = #{orderIdFk}
@ -30,4 +30,4 @@
group by io_order_detail_code.id group by io_order_detail_code.id
</select> </select>
</mapper> </mapper>

@ -3,23 +3,23 @@
<mapper namespace="com.glxp.api.dao.inv.InvRemindSetDao"> <mapper namespace="com.glxp.api.dao.inv.InvRemindSetDao">
<select id="filterList" resultType="com.glxp.api.res.inv.InvRemindSetResponse"> <select id="filterList" resultType="com.glxp.api.res.inv.InvRemindSetResponse">
select irs.id, select irs.id,
irs.relId, irs.relId,
irs.deptCode, irs.deptCode,
irs.invCode, irs.invCode,
irs.invSpaceCode, irs.invSpaceCode,
irs.lowStock, irs.lowStock,
irs.lackStock, irs.lackStock,
irs.overStock, irs.overStock,
irs.expireDate, irs.expireDate,
irs.recentDate, irs.recentDate,
irs.remark, irs.remark,
bp.cpmctymc productName, bp.cpmctymc productName,
bp.ggxh, bp.ggxh,
(select `name` from auth_warehouse where `code` = irs.invCode) invName, (select `name` from auth_warehouse where `code` = irs.invCode) invName,
(select `name` from auth_space where `code` = irs.invSpaceCode and invCode = irs.invCode) invSpaceName (select `name` from auth_space where `code` = irs.invSpaceCode and invCode = irs.invCode) invSpaceName
from inv_remind_set irs from inv_remind_set irs
left join basic_udirel bu on bu.id = irs.relId left join basic_udirel bu on bu.id = irs.relId
left join basic_products bp on bp.uuid = bu.uuid left join basic_products bp on bp.uuid = bu.uuid
<where> <where>
<if test="relId != null and relId != ''"> <if test="relId != null and relId != ''">
AND irs.relId = #{relId} AND irs.relId = #{relId}
@ -30,7 +30,35 @@
<if test="invSpaceCode != null and invSpaceCode != ''"> <if test="invSpaceCode != null and invSpaceCode != ''">
AND irs.invSpaceCode = #{invSpaceCode} AND irs.invSpaceCode = #{invSpaceCode}
</if> </if>
<if test="status != null">
AND irs.status = #{status}
</if>
</where> </where>
order by irs.updateTime desc order by irs.updateTime desc
</select> </select>
<select id="selectInfoByInvId" resultType="com.glxp.api.res.inv.InvRemindSetResponse">
select ip.relIdFk relId,
ip.deptCode,
ip.invCode,
ipd.invSpaceCode,
(select `name` from auth_warehouse where code = ip.invCode) invName,
(select `name`
from auth_space
where code = ipd.invSpaceCode and invWarehouseCode = ip.invCode) invSpaceName,
bp.ggxh,
bp.cpmctymc productName,
bu.lowStockNum,
bu.overStockNum,
bu.recentDateTime,
bu.isDateBy
from inv_product ip
left join basic_udirel bu on ip.relIdFk = bu.id
left join basic_products bp on bu.uuid = bp.uuid
left join inv_product_detail ipd
on ip.relIdFk = ipd.relId and IFNULL(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
and ip.invCode = ipd.invCode
where ip.id = #{invId}
group by ip.id
</select>
</mapper> </mapper>

@ -97,3 +97,10 @@ VALUES (20040, 0, '允许送货单直接入库变更库存', 'deliveryInstock',
CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'orderStatus', 'tinyint', 1); CALL Pro_Temp_ColumnWork('sync_data_bustypes', 'orderStatus', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('io_order', 'suppleCount', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'relKey', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'checkTime', 'datetime ', 1);
CALL Pro_Temp_ColumnWork('inv_remind_set', 'status', 'tinyint ', 1);

Loading…
Cancel
Save