123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399 |
- package com.ruoyi.web.controller.anpin;
- import cn.hutool.core.date.DateTime;
- import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
- import com.ruoyi.anpin.*;
- import com.ruoyi.common.annotation.Log;
- import com.ruoyi.common.annotation.RepeatSubmit;
- import com.ruoyi.common.core.controller.BaseController;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.common.core.domain.model.LoginUser;
- import com.ruoyi.common.core.page.TableDataInfo;
- import com.ruoyi.common.enums.BusinessType;
- import com.ruoyi.common.utils.DateUtils;
- import com.ruoyi.common.utils.ServletUtils;
- import com.ruoyi.common.utils.StringUtils;
- import com.ruoyi.common.utils.poi.ExcelUtil;
- import com.ruoyi.common.utils.spring.SpringUtils;
- import com.ruoyi.framework.web.service.TokenService;
- import com.ruoyi.warehouseBusiness.domain.TWarehouseBills;
- import com.ruoyi.warehouseBusiness.domain.TWarehousebillsfees;
- import com.ruoyi.warehouseBusiness.service.ITWarehouseBillsService;
- import com.ruoyi.warehouseBusiness.service.ITWarehousebillsfeesService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.*;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- /**
- * @Author ZhaoQian La
- * @Date 2021/5/19 13:37
- * @Version 1.0
- */
- /**
- * 仓库管理
- */
- @RestController
- @RequestMapping("/anpin/stockControl")
- public class StockControl extends BaseController {
- @Autowired
- private ITWarehouseBillsService tWarehousebillsService;
- @Autowired
- private ITWarehousebillsfeesService itWarehousebillsfeesService;
- /**
- * 查询仓库主(出入库)列表
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:list')")
- @GetMapping("/list")
- public TableDataInfo list(TWarehouseBills tWarehousebills) {
- startPage();
- List<TWarehouseBills> list = tWarehousebillsService.selectAnPinList(tWarehousebills);
- return getDataTable(list);
- }
- /**
- * 导出仓库主(出入库)列表
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:export')")
- @Log(title = "仓库主(出入库)", businessType = BusinessType.EXPORT)
- @GetMapping("/export")
- public AjaxResult export(TWarehouseBills tWarehousebills)
- {
- List<TWarehouseBills> list = tWarehousebillsService.selectTWarehousebillsList(tWarehousebills);
- ExcelUtil<TWarehouseBills> util = new ExcelUtil<TWarehouseBills>(TWarehouseBills.class);
- String sheetName = null;
- if (StringUtils.isNotEmpty(tWarehousebills.getfBusinessType()) && tWarehousebills.getfBusinessType().equals("SQ")){
- sheetName = "采购申请";
- }else if (StringUtils.isNotEmpty(tWarehousebills.getfBusinessType()) && tWarehousebills.getfBusinessType().equals("SQ")){
- sheetName = "仓库入库";
- }else if (StringUtils.isNotEmpty(tWarehousebills.getfBusinessType()) && tWarehousebills.getfBusinessType().equals("SQ")){
- sheetName = "仓库出库";
- }else if (StringUtils.isNotEmpty(tWarehousebills.getfBusinessType()) && tWarehousebills.getfBusinessType().equals("SQ")){
- sheetName = "销售出库";
- }
- return util.exportExcel(list, "warehousebills");
- }
- /**
- * 导出仓库从(出入库)列表
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:export')")
- @Log(title = "仓库主(出入库)", businessType = BusinessType.EXPORT)
- @GetMapping("/tFee/export")
- public AjaxResult tFeeExport(TWarehousebillsfees tWarehousebillsfees)
- {
- List<TWarehousebillsfees> list = itWarehousebillsfeesService.selectTWarehousebillsfeesList(tWarehousebillsfees);
- ExcelUtil<TWarehousebillsfees> util = new ExcelUtil<TWarehousebillsfees>(TWarehousebillsfees.class);
- String sheetName = null;
- if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")){
- sheetName = "采购申请";
- }else if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")){
- sheetName = "仓库入库";
- }else if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")){
- sheetName = "仓库出库";
- }else if (StringUtils.isNotEmpty(tWarehousebillsfees.getfBusinessType()) && tWarehousebillsfees.getfBusinessType().equals("SQ")){
- sheetName = "销售出库";
- }
- return util.exportExcel(list, "warehousebills");
- }
- /**
- * 获取仓库主(出入库)详细信息
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:query')")
- @GetMapping(value = "/{fId}")
- public AjaxResult getInfo(@PathVariable("fId") Long fId) {
- return AjaxResult.success(tWarehousebillsService.selectAnPinById(fId));
- }
- /**
- * 采购申请 SQ 付,仓库入库 RK 收,仓库出库 CK 付,销售出库 XS 收
- *保存接口
- * @param tWarehousebills
- * @param tWarehousebillsfees
- * @return暂存接口
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:anPingApply')")
- @Log(title = "仓库信息暂存", businessType = BusinessType.DELETE)
- @PostMapping("/anPingApply")
- public AjaxResult anPingApply(@RequestParam(value = "tWarehousebills") String tWarehousebills,
- @RequestParam("tWarehousebillsfees") String tWarehousebillsfees,
- @RequestParam("fBilltype") String fBilltype) {
- if (StringUtils.isEmpty(tWarehousebills) || "{}".equals(tWarehousebills)) {
- return AjaxResult.error("未找到订单主表信息,请确认");
- }
- if (StringUtils.isEmpty(tWarehousebillsfees)|| "[]".equals(tWarehousebillsfees)) {
- return AjaxResult.error("未找到订单明细表信息,请确认");
- }
- if (StringUtils.isEmpty(fBilltype)) {
- return AjaxResult.error("操作类型不能为空");
- }
- LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
- return tWarehousebillsService.anPingApply(tWarehousebills, tWarehousebillsfees, loginUser, fBilltype);
- }
- /**
- * 采购申请 SQ 付,仓库入库 RK 收,仓库出库 CK 付,销售出库 XS 收
- *提交审核接口
- * @param tWarehousebills
- * @param tWarehousebillsfees
- * @return提交审核
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:anPinSubmit')")
- @Log(title = "仓库信息提交", businessType = BusinessType.DELETE)
- @PostMapping("/anPinSubmit")
- public AjaxResult anPinSubmit(@RequestParam(value = "tWarehousebills") String tWarehousebills,
- @RequestParam("tWarehousebillsfees") String tWarehousebillsfees,
- @RequestParam("fBilltype") String fBilltype) {
- if (StringUtils.isEmpty(tWarehousebills) || "{}".equals(tWarehousebills)) {
- return AjaxResult.error("未找到订单主表信息,请确认");
- }
- if (StringUtils.isEmpty(tWarehousebillsfees)|| "[]".equals(tWarehousebillsfees)) {
- return AjaxResult.error("未找到订单明细表信息,请确认");
- }
- if (StringUtils.isEmpty(fBilltype)) {
- return AjaxResult.error("操作类型不能为空");
- }
- LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
- return tWarehousebillsService.anPinSubmit(tWarehousebills, tWarehousebillsfees, loginUser, fBilltype);
- }
- /**生成入库单,出库单,销售出库单
- * 采购申请 CGSQ 付,仓库入库 CKRK 收,仓库出库 CKCK 付,销售出库 XSCK 收
- *提交审核接口
- * @param tWarehouseBills
- * @return提交审核
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:generateReceipts')")
- @Log(title = "仓库信息提交", businessType = BusinessType.DELETE)
- @PostMapping("/generateReceipts")
- public AjaxResult generateReceipts(@RequestBody TWarehouseBills tWarehouseBills) {
- if (StringUtils.isEmpty(tWarehouseBills.getfBilltype())) {
- return AjaxResult.error("生成单类型不能为空");
- }
- if (tWarehouseBills.getfId() == null) {
- return AjaxResult.error("生成单来源数据不能为空");
- }
- LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
- return tWarehousebillsService.generateReceipts(tWarehouseBills,loginUser);
- }
- /**
- * 删除仓库主(出入库)
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:remove')")
- @Log(title = "仓库主(出入库)", businessType = BusinessType.DELETE)
- @DeleteMapping("/remove/{fIds}")
- public AjaxResult remove(@PathVariable Long[] fIds) {
- LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
- return toAjax(tWarehousebillsService.anPinDeleteUpdate(fIds,loginUser));
- }
- /**
- * 删除仓库主(出入库)
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:remove')")
- @Log(title = "仓库主(出入库)", businessType = BusinessType.DELETE)
- @DeleteMapping("/{fIds}")
- public AjaxResult removeById(@PathVariable Long fIds) {
- return tWarehousebillsService.removeById(fIds);
- }
- /**
- * 判断能否修改或者删除数据
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:remove')")
- @PostMapping("/judge")
- public AjaxResult judge(@RequestBody TWarehouseBills tWarehouseBills){
- return tWarehousebillsService.judge(tWarehouseBills);
- }
- /**
- * 删除仓库从(出入库)
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:remove')")
- @Log(title = "仓库从(出入库)", businessType = BusinessType.DELETE)
- @DeleteMapping("/removeFee/{fIds}")
- public AjaxResult removeFee(@PathVariable Long[] fIds) {
- LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
- return toAjax(tWarehousebillsService.anPinDeleteFeeUpdate(fIds,loginUser));
- }
- /**
- * 撤销入库信息
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:revoke')")
- @Log(title = "详情主表", businessType = BusinessType.UPDATE)
- @PostMapping("/withdrawById")
- @RepeatSubmit
- public AjaxResult withdrawById(@RequestBody TWarehouseBills tWarehouseBills) {
- // 查询是否对账、收费、付费
- if (tWarehouseBills.getfId() == null){
- return AjaxResult.error("数据不能为空");
- }
- String billsType = null;
- if (StringUtils.isNotEmpty(tWarehouseBills.getfBilltype())&& "RK".equals(tWarehouseBills.getfBilltype())){
- billsType = "RKRevoke";
- }else if (StringUtils.isNotEmpty(tWarehouseBills.getfBilltype())&& "CK".equals(tWarehouseBills.getfBilltype())){
- billsType = "CKRevoke";
- }else {
- billsType = "SJRKRevoke";
- }
- // 获取当前的用户
- LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
- return tWarehousebillsService.revokeAnPinOrder(tWarehouseBills.getfId(), loginUser, billsType);
- }
- /**
- * 出入库统计列表
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:selectTWarehouseInorOut')")
- @GetMapping("/selectTWarehouseInorOut")
- public TableDataInfo selectTWarehouseInorOut(TWarehousebillsfees tWarehousebillsfees) {
- startPage();
- List<WarhousrExcel> list = tWarehousebillsService.selectTWarehouseInorOut(tWarehousebillsfees);
- return getDataTable(list);
- }
- /**
- * 导出出入库统计列表
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:tWarehouseInorOutExcePorrt')")
- @Log(title = "导出出入库统计表", businessType = BusinessType.EXPORT)
- @GetMapping("/tWarehouseInorOutExcePorrt/export")
- public AjaxResult tWarehouseInorOutExcePorrt(TWarehousebillsfees tWarehousebillsfees)
- {
- List<WarhousrExcel> list = tWarehousebillsService.selectTWarehouseInorOut(tWarehousebillsfees);
- ExcelUtil<WarhousrExcel> util = new ExcelUtil<WarhousrExcel>(WarhousrExcel.class);
- return util.exportExcel(list, "出入库统计表");
- }
- /**
- * 销售出库统计列表
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:salesOfOutbound')")
- @GetMapping("/salesOfOutbound")
- public TableDataInfo salesOfOutbound(TWarehouseBills tWarehouseBills) {
- startPage();
- List<SalesOfOutbound> list = tWarehousebillsService.salesOfOutbound(tWarehouseBills);
- return getDataTable(list);
- }
- /**
- * 导出销售出库统计列表
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:salesOfOutboundExcePorrt')")
- @Log(title = "导出销售出库统计表", businessType = BusinessType.EXPORT)
- @GetMapping("/salesOfOutboundExcePorrt/export")
- public AjaxResult salesOfOutboundExcePorrt(TWarehouseBills tWarehouseBills)
- {
- List<SalesOfOutbound> list = tWarehousebillsService.salesOfOutbound(tWarehouseBills);
- ExcelUtil<SalesOfOutbound> util = new ExcelUtil<SalesOfOutbound>(SalesOfOutbound.class);
- return util.exportExcel(list, "销售出库统计表");
- }
- /**
- * 利润统计列表
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:salectAnpinProfit')")
- @GetMapping("/salectAnpinProfit")
- public TableDataInfo salectAnpinProfit(TWarehouseBills tWarehouseBills) {
- startPage();
- List<ProfitExcel> list = tWarehousebillsService.salectAnpinProfit(tWarehouseBills);
- return getDataTable(list);
- }
- /**
- * 导出利润统计列表
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:salectAnpinProfitExcePorrt')")
- @Log(title = "导出利润统计表", businessType = BusinessType.EXPORT)
- @GetMapping("/salectAnpinProfit/export")
- public AjaxResult salectAnpinProfitExcePorrt(TWarehouseBills tWarehouseBills)
- {
- List<ProfitExcel> list = tWarehousebillsService.salectAnpinProfit(tWarehouseBills);
- ExcelUtil<ProfitExcel> util = new ExcelUtil<ProfitExcel>(ProfitExcel.class);
- return util.exportExcel(list, "利润统计表");
- }
- /**
- * 库存总账
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:selectInventoryLedger')")
- @GetMapping("/selectInventoryLedger")
- public TableDataInfo selectInventoryLedger(TWarehouseBills tWarehouseBills) {
- startPage();
- List<InventoryLedgerExcel> list = new ArrayList<>();
- if (CollectionUtils.isEmpty(tWarehouseBills.gettimeInterval()) || "[]".equals(tWarehouseBills.gettimeInterval())){
- return getDataTable(list);
- }
- list = tWarehousebillsService.selectInventoryLedger(tWarehouseBills);
- return getDataTable(list);
- }
- /**
- * 库存总账
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:selectInventoryLedgerExcePorrt')")
- @Log(title = "导出库存总账统计表", businessType = BusinessType.EXPORT)
- @GetMapping("/selectInventoryLedger/export")
- public AjaxResult selectInventoryLedgerExcePorrt(TWarehouseBills tWarehouseBills)
- {
- List<InventoryLedgerExcel> list = new ArrayList<>();
- if (CollectionUtils.isNotEmpty(tWarehouseBills.gettimeInterval()) || !"[]".equals(tWarehouseBills.gettimeInterval())) {
- list = tWarehousebillsService.selectInventoryLedger(tWarehouseBills);
- }
- ExcelUtil<InventoryLedgerExcel> util = new ExcelUtil<InventoryLedgerExcel>(InventoryLedgerExcel.class);
- return util.exportExcel(list, "库存总账统计表");
- }
- @Log(title = "打印日志记录", businessType = BusinessType.DELETE)
- @PostMapping("/updetePrintLog")
- public AjaxResult updetePrintLog(@RequestBody TWarehouseBills tWarehouseBills) {
- if (tWarehouseBills.getfId() == null) {
- return AjaxResult.error("参数不能为空");
- }
- LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
- return tWarehousebillsService.updetePrintLog(tWarehouseBills,loginUser);
- }
- /**
- * 查询费用信息
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:selectFeeMessage')")
- @GetMapping("/selectFeeMessage")
- public TableDataInfo selectFeeMessage(TWarehouseBills tWarehouseBills) {
- startPage();
- if (StringUtils.isEmpty(tWarehouseBills.getAnnual()) || "null".equals(tWarehouseBills.getAnnual())){
- TableDataInfo tableDataInfo = new TableDataInfo();
- tableDataInfo.setCode(500);
- tableDataInfo.setMsg("请选择查询年份");
- return tableDataInfo;
- }
- if (StringUtils.isEmpty(tWarehouseBills.getfBilltype()) || "null".equals(tWarehouseBills.getfBilltype())){
- TableDataInfo tableDataInfo = new TableDataInfo();
- tableDataInfo.setCode(500);
- tableDataInfo.setMsg("请选择查询类型");
- return tableDataInfo;
- }
- List<AnPingOrderMessage> list = tWarehousebillsService.selectFeeMessage(tWarehouseBills);
- return getDataTable(list);
- }
- /**
- * 采购申请统计列表
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:purchaseRequest')")
- @GetMapping("/purchaseRequest")
- public TableDataInfo purchaseRequest (TWarehouseBills tWarehouseBills) {
- startPage();
- List<PurchaseRequestExcel> list = tWarehousebillsService.purchaseRequest(tWarehouseBills);
- return getDataTable(list);
- }
- /**
- * 导出采购申请统计列表
- */
- @PreAuthorize("@ss.hasPermi('anpin:stockControl:purchaseRequestExPorrt')")
- @Log(title = "导出采购申请统计表", businessType = BusinessType.EXPORT)
- @GetMapping("/purchaseRequest/export")
- public AjaxResult purchaseRequestExPort(TWarehouseBills tWarehouseBills)
- {
- List<PurchaseRequestExcel> list = tWarehousebillsService.purchaseRequest(tWarehouseBills);
- ExcelUtil<PurchaseRequestExcel> util = new ExcelUtil<PurchaseRequestExcel>(PurchaseRequestExcel.class);
- return util.exportExcel(list, "采购申请统计表");
- }
- }
|