package com.steerinfo.dil.controller; import com.steerinfo.dil.feign.ESFeign; import com.steerinfo.dil.model.AmstruckPurplan; import com.steerinfo.dil.service.IAmstruckPurplanMaterialService; import com.steerinfo.dil.service.IAmstruckPurplanService; import com.steerinfo.dil.util.BaseRESTfulController; import com.steerinfo.dil.util.ColumnDataUtil; import com.steerinfo.dil.util.DataChange; import com.steerinfo.dil.util.PageListAdd; import com.steerinfo.framework.controller.RESTfulResult; import com.steerinfo.framework.service.pagehelper.PageHelper; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * AmstruckPurplan RESTful接口: * @author generator * @version 1.0-SNAPSHORT 2021-09-02 10:38 * 类描述 * 修订历史: * 日期:2021-09-02 * 作者:TXF * 参考: * 描述:AmstruckPurplan RESTful接口 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @RestController @RequestMapping("/${api.version}/amstruckpurplans") public class AmstruckPurplanController extends BaseRESTfulController { @Autowired IAmstruckPurplanMaterialService amstruckPurplanMaterialService; @Autowired IAmstruckPurplanService amstruckPurplanService; @Autowired ColumnDataUtil columnDataUtil; @Autowired ESFeign esFeign; @ApiOperation(value="查询运输预约") @ApiImplicitParams({ @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"), @ApiImplicitParam(name = "apiId(79)", value = "动态表头", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"), @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"), }) @PostMapping("/getAllPurPlan") public RESTfulResult getAllPurPlan(@RequestBody(required=false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize, Integer status,String con){ mapValue.put("planStatus", status); //框计算 if(con != null){ if(!"undefined".equals(con)){ //设置要查询的索引名称 String index="get_pur_plan_list"; //获取查询结果 return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con)); } } //初始化过滤 List> allPurPlan = null; //如果有条件查询则跳过初始化,和创建索引 if(mapValue.size() == 1){ //将查询结果存入索引中 allPurPlan = amstruckPurplanService.getAllPurPlan(mapValue); DataChange.changeDateToDayDate(allPurPlan, "planTruckTime", "planIncomingTime"); Map map = new HashMap<>(); //添加索引 map.put("index","get_pur_plan_list"); //添加id map.put("indexId","purPlanId"); allPurPlan.add(map); //新建索引 esFeign.insertIndex(allPurPlan); //删除 allPurPlan.remove(allPurPlan.size()-1); } if(allPurPlan == null) { allPurPlan = amstruckPurplanService.getAllPurPlan(mapValue); } PageHelper.startPage(pageNum,pageSize); //分页数据 List> purPlan = amstruckPurplanService.getAllPurPlan(mapValue); DataChange.changeDateToDayDate(purPlan, "planTruckTime", "planIncomingTime"); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allPurPlan,purPlan); return success(pageList); } @ApiOperation(value="通过Id查询运输计划") @PostMapping ("/getPurPlanById/{planId}") public RESTfulResult getPurPlanById(@PathVariable("planId")Integer planId){ List> purPlanById = amstruckPurplanService.getPurPlanById(planId); return success(purPlanById); } @ApiOperation(value="新增运输计划 状态:0") @ApiImplicitParams({ @ApiImplicitParam(name = "amstruckPurplan", value = "运输计划实绩对象", required = false, dataType = "AmstruckPurplan"), }) @PostMapping("/addPurPlan") public RESTfulResult addPurPlan(@RequestBody AmstruckPurplan amstruckPurplan){ int i = amstruckPurplanService.addPurPlan(amstruckPurplan); return success(i); } @ApiOperation(value="修改运输计划") @ApiImplicitParams({ @ApiImplicitParam(name = "amstruckPurplan", value = "请车作业实绩对象", required = false, dataType = "AmstruckPurplan"), }) @PostMapping("/updatePurPlan") public RESTfulResult updatePurPlan(@RequestBody AmstruckPurplan amstruckPurplan){ amstruckPurplan.setUpdateTime(new Date()); //设置更新时间 int i = amstruckPurplanService.updatePurPlan(amstruckPurplan); return success(i); } @ApiOperation(value="下发运输计划 状态:1") @ApiImplicitParams({ @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"), }) @PostMapping("/sendPurPlan/{planId}") public RESTfulResult sendPurPlan(@PathVariable("planId")Integer planId){ AmstruckPurplan amstruckPurplan = new AmstruckPurplan(); amstruckPurplan.setPlanId(new BigDecimal(planId)); amstruckPurplan.setPlanStatus(new BigDecimal(1)); int i = amstruckPurplanService.sendPurPlan(amstruckPurplan); return success(i); } @ApiOperation(value="接收运输计划 状态:2") @ApiImplicitParams({ @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"), }) @PostMapping("/receptionPurPlan/{planId}") public RESTfulResult receptionPurPlan(@PathVariable("planId")Integer planId){ AmstruckPurplan amstruckPurplan = new AmstruckPurplan(); amstruckPurplan.setPlanId(new BigDecimal(planId)); amstruckPurplan.setPlanStatus(new BigDecimal(2)); int i = amstruckPurplanService.receptionPurPlan(amstruckPurplan); return success(i); } @ApiOperation(value="逻辑删除运输计划 状态:3") @ApiImplicitParams({ @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"), }) @PostMapping("/deletePurPlan/{planId}") public RESTfulResult deletePurPlan(@PathVariable("planId")Integer planId){ AmstruckPurplan amstruckPurplan = new AmstruckPurplan(); amstruckPurplan.setPlanId(new BigDecimal(planId)); amstruckPurplan.setPlanStatus(new BigDecimal(3)); int i = amstruckPurplanService.deletePurPlan(amstruckPurplan); return success(i); } // ****************************************************************************************************************** @ApiOperation(value="查询要分派的计划") @ApiImplicitParams({ @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"), @ApiImplicitParam(name = "apiId(82)", value = "动态表头", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"), @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"), @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"), }) @PostMapping("/getDecomposedPlan") public RESTfulResult getDecomposedPlan(@RequestBody(required=false) Map mapValue, Integer apiId, Integer pageNum, Integer pageSize, Integer planId, Integer status,String con){ int count = 0; if(planId != null){ mapValue.put("planId", planId); count++; } if(status != null){ mapValue.put("planStatus", status); count++; } //框计算 if(con != null){ if(!"undefined".equals(con)){ String index="get_decomposed_list"; //设置要查询的索引名称 return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果 } } //不分页筛选数据 List> allPlan = null; //如果有条件查询则跳过初始化,和创建索引 if(mapValue.size() == count){ //将查询结果存入索引中 allPlan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue); DataChange.changeDateToDayDate(allPlan, "planTruckTime", "planIncomingTime"); Map map = new HashMap<>(); //添加索引 map.put("index","get_decomposed_list"); //添加id map.put("indexId","decomposedPlanId"); allPlan.add(map); //新建索引 esFeign.insertIndex(allPlan); //删除 allPlan.remove(allPlan.size()-1); } if(allPlan == null) { allPlan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue); } PageHelper.startPage(pageNum,pageSize); //分页数据 List> plan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue); DataChange.changeDateToDayDate(plan, "planTruckTime", "planIncomingTime"); PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allPlan,plan); return success(pageList); } }