package com.aps.core.controller.mainPlan;
|
|
import com.aps.common.core.utils.poi.ExcelUtil;
|
import com.aps.common.core.utils.uuid.IdUtils;
|
import com.aps.common.core.web.controller.BaseController;
|
import com.aps.common.core.web.domain.AjaxResult;
|
import com.aps.common.core.web.page.TableDataInfo;
|
import com.aps.common.log.annotation.Log;
|
import com.aps.common.log.enums.BusinessType;
|
import com.aps.common.security.annotation.RequiresPermissions;
|
import com.aps.common.security.utils.DictUtils;
|
import com.aps.core.domain.ApsWeldSeam;
|
import com.aps.core.domain.ApsWeldSeamTemp;
|
import com.aps.core.service.IApsWeldSeamService;
|
import com.aps.core.service.IApsWeldSeamTempService;
|
import com.aps.system.api.domain.SysDictData;
|
import jakarta.servlet.http.HttpServletResponse;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.util.List;
|
|
/**
|
* 焊缝Controller
|
*
|
* @author wwj
|
* @date 2025-04-09
|
*/
|
@RestController
|
@RequestMapping("/weldSeam")
|
public class ApsWeldSeamController extends BaseController {
|
@Autowired
|
private IApsWeldSeamService apsWeldSeamService;
|
@Autowired
|
private IApsWeldSeamTempService apsWeldSeamTempService;
|
|
/**
|
* 查询焊缝列表
|
*/
|
// @RequiresPermissions("weldSeam:weldSeam:list")
|
@GetMapping("/list")
|
public TableDataInfo list(ApsWeldSeam apsWeldSeam) {
|
// startPage();
|
List<ApsWeldSeam> list = apsWeldSeamService.selectApsWeldSeamList(apsWeldSeam);
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出焊缝列表
|
*/
|
@RequiresPermissions("weldSeam:weldSeam:export")
|
@Log(title = "焊缝", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
public void export(HttpServletResponse response, ApsWeldSeam apsWeldSeam) {
|
List<ApsWeldSeam> apsWeldSeams = apsWeldSeamService.selectApsWeldSeamList(apsWeldSeam);
|
//工单类型
|
List<SysDictData> listTypes = DictUtils.getDictCache("aps_weld_work_order_type");
|
//分类
|
List<SysDictData> list = DictUtils.getDictCache("aps_weld_classification");
|
for (int i = 0; i < apsWeldSeams.size(); i++) {
|
//分类
|
for (int j = 0; j < list.size(); j++) {
|
if (apsWeldSeams.get(i).getClassification().equals(list.get(j).getDictValue())) {
|
apsWeldSeams.get(i).setClassificationTxt(list.get(j).getDictLabel());
|
}
|
}
|
//工单类型
|
for (int j = 0; j < listTypes.size(); j++) {
|
if (apsWeldSeams.get(i).getWorkOrderType().equals(listTypes.get(j).getDictValue())) {
|
apsWeldSeams.get(i).setWorkOrderTypeTxt(listTypes.get(j).getDictLabel());
|
}
|
}
|
}
|
ExcelUtil<ApsWeldSeam> util = new ExcelUtil<ApsWeldSeam>(ApsWeldSeam.class);
|
util.exportExcel(response, apsWeldSeams, "焊缝数据");
|
}
|
|
/**
|
* 获取焊缝详细信息
|
*/
|
@RequiresPermissions("weldSeam:weldSeam:query")
|
@GetMapping(value = "/{id}")
|
public AjaxResult getInfo(@PathVariable("id") String id) {
|
return success(apsWeldSeamService.selectApsWeldSeamById(id));
|
}
|
|
/**
|
* 新增焊缝
|
*/
|
@RequiresPermissions("weldSeam:weldSeam:add")
|
@Log(title = "焊缝", businessType = BusinessType.INSERT)
|
@PostMapping
|
public AjaxResult add(@RequestBody ApsWeldSeam apsWeldSeam) {
|
return toAjax(apsWeldSeamService.insertApsWeldSeam(apsWeldSeam));
|
}
|
|
/**
|
* 修改焊缝
|
*/
|
@RequiresPermissions("weldSeam:weldSeam:edit")
|
@Log(title = "焊缝", businessType = BusinessType.UPDATE)
|
@PutMapping
|
public AjaxResult edit(@RequestBody ApsWeldSeam apsWeldSeam) {
|
return toAjax(apsWeldSeamService.updateApsWeldSeam(apsWeldSeam));
|
}
|
|
/**
|
* 删除焊缝
|
*/
|
@RequiresPermissions("weldSeam:weldSeam:remove")
|
@Log(title = "焊缝", businessType = BusinessType.DELETE)
|
@DeleteMapping("/{ids}")
|
public AjaxResult remove(@PathVariable String[] ids) {
|
return toAjax(apsWeldSeamService.deleteApsWeldSeamByIds(ids));
|
}
|
|
/**
|
* 焊缝导入
|
*/
|
@RequiresPermissions("weldSeam:weldSeam:importData")
|
@PostMapping("/importData")
|
public AjaxResult importData(MultipartFile file) throws Exception {
|
ExcelUtil<ApsWeldSeamTemp> util = new ExcelUtil<ApsWeldSeamTemp>(ApsWeldSeamTemp.class);
|
List<ApsWeldSeamTemp> apsWeldSeamTemps = util.importExcel(file.getInputStream());
|
//判断导入数据是否为空
|
if (apsWeldSeamTemps.size() > 0) {
|
String batchNum = IdUtils.fastUUID();
|
//工单类型
|
List<SysDictData> listTypes = DictUtils.getDictCache("aps_weld_work_order_type");
|
//分类
|
List<SysDictData> list = DictUtils.getDictCache("aps_weld_classification");
|
for (int i = 0; i < apsWeldSeamTemps.size(); i++) {
|
ApsWeldSeamTemp apsWeldSeamTemp = apsWeldSeamTemps.get(i);
|
//分类
|
for (int j = 0; j < list.size(); j++) {
|
if (apsWeldSeamTemp.getClassificationTxt().equals(list.get(j).getDictLabel())) {
|
apsWeldSeamTemp.setClassification(list.get(j).getDictValue());
|
}
|
}
|
//工单类型
|
for (int j = 0; j < listTypes.size(); j++) {
|
if (apsWeldSeamTemp.getWorkOrderTypeTxt().equals(listTypes.get(j).getDictLabel())) {
|
apsWeldSeamTemp.setWorkOrderType(listTypes.get(j).getDictValue());
|
}
|
}
|
//插入版本号
|
apsWeldSeamTemp.setBatchNumber(batchNum);
|
//插入临时表
|
apsWeldSeamTemp.setTotalWeldSeam(apsWeldSeamTemp.getSingleWeldSeam().longValue()* apsWeldSeamTemp.getProductionQuantity().longValue());
|
|
apsWeldSeamTempService.insertApsWeldSeamTemp(apsWeldSeamTemp);
|
}
|
|
return AjaxResult.success("导入成功", batchNum);
|
} else {
|
return AjaxResult.error("模板内容为空");
|
}
|
}
|
|
/***
|
* @Description: 确认上传
|
* @Param: [apsPartPlan]
|
* @return: com.aps.common.core.web.domain.AjaxResult
|
* @Author: wwj
|
* @Date: 2025/4/9
|
*/
|
@RequiresPermissions("weldSeam:weldSeam:confirmWeldSeam")
|
@PostMapping("/confirmWeldSeam")
|
public AjaxResult confirmWeldSeam(@RequestBody ApsWeldSeamTemp apsWeldSeamTemp) {
|
return toAjax(apsWeldSeamService.confirmWeldSeam(apsWeldSeamTemp));
|
}
|
|
/**
|
* 查询焊缝图表
|
*/
|
@RequiresPermissions("weldSeam:weldSeam:weldSeamEchartsList")
|
@GetMapping("/weldSeamEchartsList")
|
public AjaxResult weldSeamEchartsList(ApsWeldSeam apsWeldSeam) {
|
List<List<String>> list = apsWeldSeamService.weldSeamEchartsList(apsWeldSeam);
|
return AjaxResult.success(list);
|
}
|
}
|