package doumeemes.api.ext;
|
|
import com.alibaba.fastjson.JSONObject;
|
import doumeemes.api.BaseController;
|
import doumeemes.config.rocketmq.RocketMessageProducer;
|
import doumeemes.core.annotation.excel.ExcelExporter;
|
import doumeemes.core.annotation.pr.PreventRepeat;
|
import doumeemes.core.model.ApiResponse;
|
import doumeemes.core.model.PageData;
|
import doumeemes.core.model.PageWrap;
|
import doumeemes.core.utils.Constants;
|
import doumeemes.core.utils.DateUtil;
|
import doumeemes.dao.business.model.BeFinishedRecord;
|
import doumeemes.dao.business.model.Plans;
|
import doumeemes.dao.business.model.Workorder;
|
import doumeemes.dao.ext.bean.FinishedInBean;
|
import doumeemes.dao.ext.bean.FinishedInNewBean;
|
import doumeemes.dao.ext.dto.QueryWorkorderExtDTO;
|
import doumeemes.dao.ext.vo.WorkorderExtListCountVO;
|
import doumeemes.dao.ext.vo.WorkorderExtListVO;
|
import doumeemes.service.business.PlansService;
|
import doumeemes.service.business.WorkorderService;
|
import doumeemes.service.ext.BeFinishedRecordExtService;
|
import doumeemes.service.ext.PlansExtService;
|
import doumeemes.service.ext.WorkorderExtService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.util.ThreadContext;
|
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* 工单信息接口
|
* @author 江蹄蹄
|
* @date 2022/04/20 10:56
|
*/
|
@RestController
|
@RequestMapping("/ext/workorderExt")
|
@Api(tags = "工单信息接口")
|
public class WorkorderExtController extends BaseController {
|
|
@Autowired
|
private WorkorderExtService workorderExtService;
|
|
@Autowired
|
private WorkorderService workorderService;
|
|
@Autowired
|
private PlansExtService plansExtService;
|
|
@Autowired
|
private BeFinishedRecordExtService beFinishedRecordExtService;
|
|
@PreventRepeat
|
@ApiOperation("新建")
|
@PostMapping("/create")
|
@RequiresPermissions("ext:workorderext:create")
|
public ApiResponse create(@RequestBody Workorder workorder) {
|
return ApiResponse.success(workorderService.create(workorder));
|
}
|
|
@ApiOperation("根据ID删除")
|
@GetMapping("/delete/{id}")
|
@RequiresPermissions("ext:workorderext:delete")
|
public ApiResponse deleteById(@PathVariable Integer id) {
|
workorderService.deleteById(id);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("批量删除")
|
@GetMapping("/delete/batch")
|
@RequiresPermissions("ext:workorderext:delete")
|
public ApiResponse deleteByIds(@RequestParam String ids) {
|
String [] idArray = ids.split(",");
|
List<Integer> idList = new ArrayList<>();
|
for (String id : idArray) {
|
idList.add(Integer.valueOf(id));
|
}
|
workorderService.deleteByIdInBatch(idList);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("根据ID修改")
|
@PostMapping("/updateById")
|
@RequiresPermissions("ext:workorderext:update")
|
public ApiResponse updateById(@RequestBody Workorder workorder) {
|
workorderService.updateById(workorder);
|
return ApiResponse.success(null);
|
}
|
@ApiOperation("工单重新分配")
|
@PostMapping("/distributeById")
|
@RequiresPermissions("ext:workorderext:update")
|
public ApiResponse distributeById(@RequestBody Workorder order) {
|
workorderExtService.distributeById(order);
|
return ApiResponse.success(null);
|
}
|
@ApiOperation("关闭工单")
|
@PostMapping("/closeById")
|
@RequiresPermissions("ext:workorderext:update")
|
public ApiResponse closeById(@RequestBody Workorder order) {
|
workorderExtService.closeById(order);
|
return ApiResponse.success(null);
|
}
|
@ApiOperation("取消工单")
|
@PostMapping("/cancelById")
|
@RequiresPermissions("ext:workorderext:update")
|
public ApiResponse cancelById(@RequestBody Workorder order) {
|
workorderExtService.cancelById(order);
|
workorderExtService.statisticNum(order);
|
// RocketMessageProducer.producerMsg(Constants.MQ_TAG.statistics,null, JSONObject.toJSONString(order));
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("分页查询")
|
@PostMapping("/page")
|
@RequiresPermissions("ext:workorderext:query")
|
public ApiResponse<PageData<WorkorderExtListVO>> findPage (@RequestBody PageWrap<QueryWorkorderExtDTO> pageWrap) {
|
return ApiResponse.success(workorderExtService.findPage(pageWrap));
|
}
|
|
@ApiOperation("查询工单统计列表数量")
|
@PostMapping("/pageCount")
|
@RequiresPermissions("ext:workorderext:query")
|
public ApiResponse<WorkorderExtListCountVO> pageCount (@RequestBody QueryWorkorderExtDTO param) {
|
return ApiResponse.success(workorderExtService.pageCount(param));
|
}
|
@ApiOperation("导出Excel")
|
@PostMapping("/exportExcel")
|
@RequiresPermissions("ext:workorderext:exportExcel")
|
public void exportExcel (@RequestBody PageWrap<QueryWorkorderExtDTO> pageWrap, HttpServletResponse response) throws Exception{
|
ExcelExporter.build(WorkorderExtListVO.class).export(workorderExtService.findPage(pageWrap).getRecords(), "工单信息"+ DateUtil.getNowLongTime(), response);
|
}
|
|
@ApiOperation("根据ID查询")
|
@GetMapping("/{id}")
|
@RequiresPermissions("ext:workorderext:query")
|
public ApiResponse<WorkorderExtListVO> findById(@PathVariable Integer id) {
|
return ApiResponse.success(workorderExtService.findById(id));
|
}
|
|
|
@ApiOperation("批量备料 - 生成转库单")
|
@GetMapping("/preparationWTransfer")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "ids", value = "工单主键(多个,分割)" , required = true),
|
})
|
// @RequiresPermissions("ext:workorderext:preparationWTransfer")
|
public ApiResponse preparationWTransfer(@RequestParam String ids) {
|
return workorderExtService.preparationWTransfer(ids,getLoginUser());
|
}
|
|
|
@ApiOperation("完工入库详情")
|
@GetMapping("/finishedDetail")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "deviceIds", value = "设备主键(多个,分割)" , required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "inIds", value = "入库单据id(多个,分割)" , required = false),
|
})
|
public ApiResponse<FinishedInBean> finishedDetail(@RequestParam String deviceIds,String inIds) {
|
return workorderExtService.finishedDetail(deviceIds,inIds,getLoginUser());
|
}
|
|
@ApiOperation("完工入库详情 - NEW")
|
@GetMapping("/finishedDetailNew")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "deviceIds", value = "设备主键(多个,分割)" , required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "inIds", value = "入库单据id(多个,分割)" , required = false),
|
})
|
public ApiResponse<FinishedInNewBean> finishedDetailNew(@RequestParam String deviceIds, String inIds) {
|
return workorderExtService.finishedDetailNew(deviceIds,inIds,getLoginUser());
|
}
|
|
|
@ApiOperation("完工入库提交")
|
@GetMapping("/finished")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "deviceIds", value = "设备主键(多个,分割)" , required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "inIds", value = "入库单据id(多个,分割)" , required = false),
|
})
|
public ApiResponse<Integer> finished(@RequestParam String deviceIds,String inIds) {
|
return workorderExtService.dataToWtWO(deviceIds,inIds,getLoginUser());
|
}
|
|
@ApiOperation(value = "完工入库详情记录", notes = "完工入库详情记录 - H5")
|
@PostMapping("/saveFinishRecord")
|
public ApiResponse saveFinishRecord(@RequestBody BeFinishedRecord beFinishedRecord) {
|
beFinishedRecordExtService.saveBeFinishedRecord(beFinishedRecord,getLoginUser());
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation(value = "完工入库详情", notes = "完工入库详情")
|
@GetMapping("/getFinishRecord")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "转库单主键" , required = true),
|
})
|
public ApiResponse<BeFinishedRecord> getFinishRecord(@RequestParam Integer id) {
|
return ApiResponse.success(beFinishedRecordExtService.getBeFinishedRecord(id));
|
}
|
|
|
@PreventRepeat
|
@ApiOperation("测试计划关闭")
|
@PostMapping("/testPlanClose")
|
public ApiResponse testPlanClose() {
|
plansExtService.autoClose();
|
return ApiResponse.success(null);
|
}
|
@PreventRepeat
|
@ApiOperation("测试统计1")
|
@PostMapping("/testStatistic")
|
public ApiResponse testStatistic(@RequestBody Workorder param) {
|
workorderExtService.statisticNum(param);
|
return ApiResponse.success(null);
|
}
|
@PreventRepeat
|
@ApiOperation("测试统计2")
|
@PostMapping("/testStatistic2")
|
public ApiResponse testStatistic2(@RequestBody Workorder param) {
|
workorderExtService.statisticNum(param);
|
// RocketMessageProducer.producerMsg(Constants.MQ_TAG.statistics,null, JSONObject.toJSONString(param));
|
return ApiResponse.success(null);
|
}
|
}
|