package com.mrxu.admin.controller.sales; import com.mrxu.admin.controller.AdminBaseController; import com.mrxu.framework.boot.bean.LayuiPage; import com.mrxu.framework.boot.bean.PageResult; import com.mrxu.framework.boot.bean.ResponseObj; import com.mrxu.framework.common.MrxuConst; import com.mrxu.sales.entity.ItemOrder; import com.mrxu.sales.entity.ItemOrderDetail; import com.mrxu.sales.enums.ItemOrderStatus; import com.mrxu.sales.enums.ItemOrderType; import com.mrxu.sales.export.ItemOrderCgExport; import com.mrxu.sales.model.GoodsVo; import com.mrxu.sales.query.ItemOrderAddDto; import com.mrxu.sales.query.ItemOrderDto; import com.mrxu.sales.service.*; import io.swagger.annotations.Api; import lombok.RequiredArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.List; @Api(tags = "商品采购订单管理") @Controller @RequestMapping("/sales/itemOrderCg") @RequiredArgsConstructor(onConstructor = @__(@Autowired)) public class ItemOrderCgController extends AdminBaseController { private final ItemOrderService itemOrderService; private final ItemOrderDetailService itemDetailService; private final ItemOrderCgService itemOrderCgService; private final SupplierService supplierService; private final GoodsService goodsService; @RequiresPermissions("sales:itemOrderCg:read") @RequestMapping("index.html") public String index(Model model) { model.addAttribute("supplierList",supplierService.list(getTenantId())); return "sales/itemOrderCg.html"; } @RequiresPermissions("sales:itemOrderCg:update") @RequestMapping("itemOrderCgAdd.html") public String add(Model model) { model.addAttribute("supplierList",supplierService.list(getTenantId())); return "sales/itemOrderCgAdd.html"; } @RequiresPermissions("sales:itemOrderCg:read") @ResponseBody @RequestMapping("/page.json") public LayuiPage page(ItemOrderDto queryDto) { queryDto.setType(ItemOrderType.CG.getType()); PageResult rs = itemOrderService.page(getTenantId(),queryDto); return renderLayuiPage(rs); } @RequiresPermissions("sales:itemOrderCg:read") @ResponseBody @RequestMapping("/export.json") public void export(HttpServletResponse response, ItemOrderDto queryDto) { queryDto.setType(ItemOrderType.CG.getType()); queryDto.setPageSize(MrxuConst.MAX_PAGE_SIZE); export(response,"采购订单", ItemOrderCgExport.class,itemOrderService.cgExport(getTenantId(),queryDto)); } @RequiresPermissions("sales:itemOrderCg:read") @ResponseBody @RequestMapping("/detailList.json") public LayuiPage detailList(String orderNo) { return renderLayuiList(itemDetailService.list(getTenantId(),orderNo)); } @RequiresPermissions("sales:itemOrderCg:read") @ResponseBody @RequestMapping("/supplierGoodsList.json") public ResponseObj> supplierGoodsList(Integer supplierId) { supplierId = null;// 不再限制供应商 List goodsList = goodsService.fastList(getTenantId(),supplierId); return success(goodsList); } @RequiresPermissions("sales:itemOrderCg:read") @ResponseBody @RequestMapping("/getById.json") public ResponseObj getById(Integer id) { return success(itemOrderService.getById(getTenantId(),id)); } @RequiresPermissions("sales:itemOrderCg:update") @ResponseBody @RequestMapping("/create.json") public ResponseObj create(@Valid @RequestBody ItemOrderAddDto bean) { bean.setStatus(ItemOrderStatus.create.getStatus());// 默认未支付 bean.setType(ItemOrderType.CG); itemOrderCgService.create(getTenantId(),bean,getUsername()); return success(true); } @RequiresPermissions("sales:itemOrderCg:update") @ResponseBody @RequestMapping("/updateStatus.json") public ResponseObj updateStatus(Integer id, Integer status) { ItemOrder bean = new ItemOrder(); bean.setId(id); bean.setStatus(status); return success(itemOrderService.saveOrUpdate(getTenantId(),bean,getUsername())); } @RequiresPermissions("sales:itemOrderCg:pay") @ResponseBody @RequestMapping("/pay.json") public ResponseObj pay(@RequestBody ItemOrder bean) { return success(itemOrderCgService.pay(getTenantId(),bean.getOrderNo(),bean.getSupportImage(),getUsername())); } }