| 
					
				 | 
			
			
				@@ -0,0 +1,188 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package org.jeecg.modules.report.controller; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Arrays; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.UnsupportedEncodingException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.net.URLDecoder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.http.HttpServletResponse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.common.api.vo.Result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.common.system.query.QueryGenerator; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.common.aspect.annotation.AutoLog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.common.util.oConvertUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.modules.report.entity.SoSoDetails; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.modules.report.service.ISoSoDetailsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.core.metadata.IPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecg.common.system.base.controller.JeecgController; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecgframework.poi.excel.ExcelImportUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecgframework.poi.excel.def.NormalExcelConstants; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecgframework.poi.excel.entity.ExportParams; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecgframework.poi.excel.entity.ImportParams; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.multipart.MultipartFile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.multipart.MultipartHttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.web.servlet.ModelAndView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import io.swagger.annotations.Api; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import io.swagger.annotations.ApiOperation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Description: 订单统计报表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Author: jeecg-boot 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Date:   2022-06-01 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Version: V1.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Slf4j 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Api(tags="订单统计报表") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@RestController 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@RequestMapping("/report/soSoDetails") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class SoSoDetailsController extends JeecgController<SoSoDetails, ISoSoDetailsService> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private ISoSoDetailsService soSoDetailsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 分页列表查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param soSoDetails 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param pageNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param pageSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param req 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@AutoLog(value = "订单统计报表-分页列表查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@ApiOperation(value="订单统计报表-分页列表查询", notes="订单统计报表-分页列表查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@GetMapping(value = "/list") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public Result<?> queryPageList(SoSoDetails soSoDetails, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								   HttpServletRequest req) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		QueryWrapper<SoSoDetails> queryWrapper = QueryGenerator.initQueryWrapper(soSoDetails, req.getParameterMap()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Page<SoSoDetails> page = new Page<SoSoDetails>(pageNo, pageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		IPage<SoSoDetails> pageList = soSoDetailsService.page(page, queryWrapper); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Result.OK(pageList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param soSoDetails 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@AutoLog(value = "订单统计报表-添加") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@ApiOperation(value="订单统计报表-添加", notes="订单统计报表-添加") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@PostMapping(value = "/add") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public Result<?> add(@RequestBody SoSoDetails soSoDetails) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		soSoDetailsService.save(soSoDetails); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Result.OK("添加成功!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 编辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param soSoDetails 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@AutoLog(value = "订单统计报表-编辑") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@ApiOperation(value="订单统计报表-编辑", notes="订单统计报表-编辑") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public Result<?> edit(@RequestBody SoSoDetails soSoDetails) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		soSoDetailsService.updateById(soSoDetails); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Result.OK("编辑成功!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 通过id删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@AutoLog(value = "订单统计报表-通过id删除") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@ApiOperation(value="订单统计报表-通过id删除", notes="订单统计报表-通过id删除") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DeleteMapping(value = "/delete") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public Result<?> delete(@RequestParam(name="id",required=true) String id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		soSoDetailsService.removeById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Result.OK("删除成功!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 批量删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param ids 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@AutoLog(value = "订单统计报表-批量删除") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@ApiOperation(value="订单统计报表-批量删除", notes="订单统计报表-批量删除") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@DeleteMapping(value = "/deleteBatch") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		this.soSoDetailsService.removeByIds(Arrays.asList(ids.split(","))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Result.OK("批量删除成功!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 通过id查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @param id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@AutoLog(value = "订单统计报表-通过id查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@ApiOperation(value="订单统计报表-通过id查询", notes="订单统计报表-通过id查询") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@GetMapping(value = "/queryById") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		SoSoDetails soSoDetails = soSoDetailsService.getById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Result.OK(soSoDetails); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 导出excel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @param request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @param soSoDetails 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  @RequestMapping(value = "/exportXls") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public ModelAndView exportXls(HttpServletRequest request, SoSoDetails soSoDetails) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return super.exportXls(request, soSoDetails, SoSoDetails.class, "订单统计报表"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 通过excel导入数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @param request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @param response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  @RequestMapping(value = "/importExcel", method = RequestMethod.POST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return super.importExcel(request, response, SoSoDetails.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  * 订单统计报表查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  * 根据开始年份月份(yyyy-mm)、结束年份月份(yyyy-mm)、类型(内部/外部)查询订单统计数据  如果不传类型则查询时间范围全部的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  * @param map startYearMonth endYearMonth vendorType 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 @GetMapping(value = "/getSO_SOMainReport") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 public Result<List<Map<String,Object>>> getSO_SOMainReport(Map<String,Object> map){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 Result<List<Map<String,Object>>> result =new Result<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 List<Map<String,Object>> list=soSoDetailsService.getSO_SOMainReport(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 result.setResult(list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 result.success("查询成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 result.error500("查询失败:"+e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 throw new RuntimeException(e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		 return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |