package com.glxp.api.controller.collect; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageInfo; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.collect.IoCollectOrder; import com.glxp.api.req.collect.CollectOrderBindWorkRequest; import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.req.collect.CollectOrderSaveRequest; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.service.collect.IoCollectOrderBizService; import com.glxp.api.service.collect.IoCollectOrderService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Date; import java.util.List; @RestController public class IoCollectOrderController extends BaseController { @Resource IoCollectOrderService collectOrderService; @Resource IoCollectOrderBizService collectOrderBizService; @GetMapping("/udiwms/basic/collect/order/filter") public BaseResponse filterOrder(CollectOrderRequest collectOrderRequest) { List orderResponses = collectOrderService.filterList(collectOrderRequest); PageInfo pageInfo = new PageInfo<>(orderResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(orderResponses); return ResultVOUtils.success(pageSimpleResponse); } @GetMapping("/udiwms/basic/collect/order/detail") public BaseResponse detail(CollectOrderBizRequest collectOrderBizRequest) { if (StrUtil.isBlank(collectOrderBizRequest.getOrderIdFk())) { return ResultVOUtils.error(500, "单据号不能为空"); } IoCollectOrder collectOrder = collectOrderService.getByBillNo(collectOrderBizRequest.getOrderIdFk()); if (collectOrder == null) { return ResultVOUtils.error(500, "未找到单据"); } List list = collectOrderBizService.filterList(collectOrderBizRequest); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(list); return ResultVOUtils.success(pageSimpleResponse); } @PostMapping("/udiwms/basic/collect/order/deleteOrder") public BaseResponse deleteOrder(@RequestBody DeleteRequest deleteRequest) { String billNo = deleteRequest.getBillNo(); if (StrUtil.isBlank(billNo)) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } collectOrderService.remove(new LambdaQueryWrapper().eq(IoCollectOrder::getBillNo, billNo)); return ResultVOUtils.success(); } /** * 保存前端处方信息 * * @return */ @GetMapping("/udiwms/basic/collect/order/save") public BaseResponse saveOrder(@RequestBody CollectOrderSaveRequest collectOrderSaveRequest) { List list = collectOrderSaveRequest.getList(); collectOrderService.saveOrUpdateBatch(list); return ResultVOUtils.success(); } /** * 单据挂起 * * @return */ @GetMapping("/udiwms/basic/collect/order/draft") public BaseResponse saveDraftOrder(@RequestBody CollectOrderRequest collectOrderRequest) { IoCollectOrder collectOrder = new IoCollectOrder(); BeanUtils.copyProperties(collectOrderRequest, collectOrder); collectOrder.setTagStatus(-1); collectOrder.setUpdateTime(new Date()); collectOrder.setUpdateUser(getUserId()); collectOrderService.updateById(collectOrder); return ResultVOUtils.success(); } /** * 单据挂起 * * @return */ @GetMapping("/udiwms/basic/collect/order/finish") public BaseResponse saveFinishOrder(@RequestBody CollectOrderRequest collectOrderRequest) { //1.校验是否全部自动赋码 //2.校验扫码是否完成 IoCollectOrder collectOrder = new IoCollectOrder(); BeanUtils.copyProperties(collectOrderRequest, collectOrder); collectOrder.setTagStatus(3); collectOrder.setUpdateTime(new Date()); collectOrder.setUpdateUser(getUserId()); collectOrderService.updateById(collectOrder); return ResultVOUtils.success(); } @PostMapping("/udiwms/basic/collect/order/bindWork") public BaseResponse bindWork(@RequestBody CollectOrderBindWorkRequest bindWorkRequest) { for (IoCollectOrder collectOrder : bindWorkRequest.getList()) { collectOrder.setWorkPlaceCode(bindWorkRequest.getWorkplaceCode()); } collectOrderService.updateBatchById(bindWorkRequest.getList()); return ResultVOUtils.success("绑定成功"); } }