Commit 8022f01b authored by 李驰骋's avatar 李驰骋

生产版本图纸数据

parent 669d956e
package com.ximai.mes.pro.controller.productionSolution;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ximai.common.annotation.Log;
import com.ximai.common.core.controller.BaseController;
import com.ximai.common.core.domain.AjaxResult;
import com.ximai.common.enums.BusinessType;
import io.swagger.annotations.ApiOperation;
import com.ximai.mes.pro.domain.productionSolution.ProProductionSolutionProcessDrawing;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingDto;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingCreate;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingUpdate;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingExcelExport;
import com.ximai.mes.pro.service.productionSolution.IProProductionSolutionProcessDrawingService;
import com.ximai.common.utils.poi.ExcelUtil;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.common.core.page.TableDataInfo;
/**
* 生产版本工序图纸Controller
*
* @author generator
* @date 2024-08-29
*/
@RestController
@RequestMapping("/pro/drawing")
public class ProProductionSolutionProcessDrawingController extends BaseController
{
@Autowired
private IProProductionSolutionProcessDrawingService proProductionSolutionProcessDrawingService;
/**
* 查询生产版本工序图纸列表
*/
@ApiOperation("查询生产版本工序图纸列表")
@PreAuthorize("@ss.hasPermi('pro:drawing:list')")
@GetMapping("/list")
public TableDataInfo<ProProductionSolutionProcessDrawingDto> list(ProProductionSolutionProcessDrawing proProductionSolutionProcessDrawing)
{
startPage();
List<ProProductionSolutionProcessDrawingDto> list = proProductionSolutionProcessDrawingService.selectProProductionSolutionProcessDrawingList(proProductionSolutionProcessDrawing);
return getDataTable(list);
}
/**
* 导出生产版本工序图纸列表
*/
@ApiOperation("导出生产版本工序图纸列表")
@PreAuthorize("@ss.hasPermi('pro:drawing:export')")
@Log(title = "生产版本工序图纸", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ProProductionSolutionProcessDrawing proProductionSolutionProcessDrawing)
{
List<ProProductionSolutionProcessDrawingDto> list = proProductionSolutionProcessDrawingService.selectProProductionSolutionProcessDrawingList(proProductionSolutionProcessDrawing);
ExcelUtil<ProProductionSolutionProcessDrawingExcelExport> util = new ExcelUtil<ProProductionSolutionProcessDrawingExcelExport>(ProProductionSolutionProcessDrawingExcelExport.class);
List<ProProductionSolutionProcessDrawingExcelExport> tempList = BeanUtil.copyToList(list, ProProductionSolutionProcessDrawingExcelExport.class);
util.exportExcel(response, tempList, "生产版本工序图纸数据");
}
/**
* 获取生产版本工序图纸详细信息
*/
@ApiOperation("获取生产版本工序图纸详细信息")
@PreAuthorize("@ss.hasPermi('pro:drawing:query')")
@GetMapping(value = "/{productionSolutionProcessFileId}")
public AjaxResult<ProProductionSolutionProcessDrawingDto> getInfo(@PathVariable("productionSolutionProcessFileId") Long productionSolutionProcessFileId)
{
return AjaxResult.success(proProductionSolutionProcessDrawingService.selectProProductionSolutionProcessDrawingDtoByProductionSolutionProcessFileId(productionSolutionProcessFileId));
}
/**
* 新增生产版本工序图纸
*/
@ApiOperation("新增生产版本工序图纸")
@PreAuthorize("@ss.hasPermi('pro:drawing:add')")
@Log(title = "生产版本工序图纸", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ProProductionSolutionProcessDrawingCreate proProductionSolutionProcessDrawingCreate)
{
return toAjax(proProductionSolutionProcessDrawingService.insertProProductionSolutionProcessDrawing(proProductionSolutionProcessDrawingCreate));
}
/**
* 修改生产版本工序图纸
*/
@ApiOperation("修改生产版本工序图纸")
@PreAuthorize("@ss.hasPermi('pro:drawing:edit')")
@Log(title = "生产版本工序图纸", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ProProductionSolutionProcessDrawingUpdate proProductionSolutionProcessDrawingUpdate)
{
return toAjax(proProductionSolutionProcessDrawingService.updateProProductionSolutionProcessDrawing(proProductionSolutionProcessDrawingUpdate));
}
/**
* 删除生产版本工序图纸
*/
@ApiOperation("删除生产版本工序图纸")
@PreAuthorize("@ss.hasPermi('pro:drawing:remove')")
@Log(title = "生产版本工序图纸", businessType = BusinessType.DELETE)
@DeleteMapping("/{productionSolutionProcessFileIds}")
public AjaxResult remove(@PathVariable Long[] productionSolutionProcessFileIds)
{
return toAjax(proProductionSolutionProcessDrawingService.deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileIds(productionSolutionProcessFileIds));
}
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ximai.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
......@@ -153,6 +154,18 @@ public class ProProductionSolutionProcess {
@TableField(exist = false)
private String controlCode;
/**
* 是否外协
*/
@ApiModelProperty("是否外协")
private String outsourced;
/**
* 排序号
*/
@ApiModelProperty("排序号")
private Integer serial;
/**
* 采购信息记录号
*/
......
package com.ximai.mes.pro.domain.productionSolution;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import com.ximai.common.core.domain.BaseEntity;
/**
* 生产版本工序图纸对象 pro_production_solution_process_drawing
*
* @author generator
* @date 2024-08-29
*/
@Data
public class ProProductionSolutionProcessDrawing extends BaseEntity {
private static final long serialVersionUID = 1L;
/** ID */
@TableId
private Long productionSolutionProcessFileId;
/** 生产方案工序ID */
@ApiModelProperty(name = "生产方案工序ID")
private Long productionSolutionProcessId;
/** 生产方案ID */
@ApiModelProperty(name = "生产方案ID")
private Long productionSolutionId;
/** 文件地址 */
@ApiModelProperty(name = "文件地址")
private String filePath;
/** 原文件名 */
@ApiModelProperty(name = "原文件名")
private String fileOriginalName;
@ApiModelProperty(name = "文件大小")
private Long fileSize;
}
......@@ -3,13 +3,17 @@ package com.ximai.mes.pro.domain.vo;
import com.ximai.common.annotation.Excel;
import com.ximai.common.core.domain.BaseEntity;
import com.ximai.mes.pro.domain.productionSolution.ProProductionSolutionProcess;
import com.ximai.mes.pro.domain.productionSolution.ProProductionSolutionProcessDrawing;
import com.ximai.mes.pro.domain.productionSolution.ProProductionSolutionProcessItem;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingCreate;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.BeanUtils;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -81,6 +85,15 @@ public class ProProductionSolutionProcessVo extends BaseEntity {
*/
private String idx;
@ApiModelProperty("是否外协")
private String outsourced;
/**
* 排序号
*/
@ApiModelProperty("排序号")
private Integer serial;
/**
* 工作中心编码
*/
......@@ -214,17 +227,22 @@ public class ProProductionSolutionProcessVo extends BaseEntity {
/**
* 工序物料
*/
private List<ProProductionSolutionProcessItem> processItemList;
private List<ProProductionSolutionProcessItem> processItemList=new ArrayList<>();
/**
* 生产版本工序检验项
**/
private List<ProProductionSolutionProcessQcindexVo> qcindexList;
private List<ProProductionSolutionProcessQcindexVo> qcindexList=new ArrayList<>();
/**
* 生产版本工序工装夹具
**/
private List<ProProductionSolutionProcessToolVo> toolList;
private List<ProProductionSolutionProcessToolVo> toolList=new ArrayList<>();
/**
* 生产版本工序图纸
**/
private List<ProProductionSolutionProcessDrawing> drawingList=new ArrayList<>();
public ProProductionSolutionProcess getProductionSolutionProcess(ProProductionSolutionProcessVo proProductionSolutionProcessVo) {
......
......@@ -2,8 +2,10 @@ package com.ximai.mes.pro.domain.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ximai.mes.pro.domain.productionSolution.ProProductionSolutionProcessDrawing;
import com.ximai.mes.pro.domain.productionSolution.ProProductionSolutionSpecificationSheet;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
......
package com.ximai.mes.pro.dto.productionSolution;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
/**
* 生产版本工序图纸对象 pro_production_solution_process_drawing
*
* @author generator
* @date 2024-08-29
*/
@Data
public class ProProductionSolutionProcessDrawingCreate {
private static final long serialVersionUID = 1L;
/** ID */
@TableId
private Long productionSolutionProcessFileId;
/** 生产方案工序ID */
@ApiModelProperty(name = "生产方案工序ID")
private Long productionSolutionProcessId;
/** 生产方案ID */
@ApiModelProperty(name = "生产方案ID")
private Long productionSolutionId;
/** 文件地址 */
@ApiModelProperty(name = "文件地址")
private String filePath;
/** 文件大小 */
@ApiModelProperty(name = "文件大小")
private Long fileSize;
/** 原文件名 */
@ApiModelProperty(name = "原文件名")
private String fileOriginalName;
}
package com.ximai.mes.pro.dto.productionSolution;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
/**
* 生产版本工序图纸对象 pro_production_solution_process_drawing
*
* @author generator
* @date 2024-08-29
*/
@Data
public class ProProductionSolutionProcessDrawingDto {
private static final long serialVersionUID = 1L;
/** ID */
@TableId
private Long productionSolutionProcessFileId;
/** 生产方案工序ID */
@ApiModelProperty(name = "生产方案工序ID")
private Long productionSolutionProcessId;
/** 生产方案ID */
@ApiModelProperty(name = "生产方案ID")
private Long productionSolutionId;
/** 文件地址 */
@ApiModelProperty(name = "文件地址")
private String filePath;
/** 原文件名 */
@ApiModelProperty(name = "原文件名")
private String fileOriginalName;
@ApiModelProperty(name = "文件大小")
private Long fileSize;
}
package com.ximai.mes.pro.dto.productionSolution;
import com.ximai.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import com.ximai.common.core.domain.BaseEntity;
/**
* 生产版本工序图纸对象 pro_production_solution_process_drawing
*
* @author generator
* @date 2024-08-29
*/
@Data
public class ProProductionSolutionProcessDrawingExcelExport {
private static final long serialVersionUID = 1L;
/** ID */
@TableId
private Long productionSolutionProcessFileId;
/** 生产方案工序ID */
@ApiModelProperty(name = "生产方案工序ID")
@Excel(name = "生产方案工序ID")
private Long productionSolutionProcessId;
/** 生产方案ID */
@ApiModelProperty(name = "生产方案ID")
@Excel(name = "生产方案ID")
private Long productionSolutionId;
/** 文件地址 */
@ApiModelProperty(name = "文件地址")
@Excel(name = "文件地址")
private String filePath;
/** 原文件名 */
@ApiModelProperty(name = "原文件名")
@Excel(name = "原文件名")
private String fileOriginalName;
@ApiModelProperty(name = "文件大小")
private Long fileSize;
}
package com.ximai.mes.pro.dto.productionSolution;
import com.ximai.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import com.ximai.common.core.domain.BaseEntity;
/**
* 生产版本工序图纸对象 pro_production_solution_process_drawing
*
* @author generator
* @date 2024-08-29
*/
@Data
public class ProProductionSolutionProcessDrawingExcelImport {
private static final long serialVersionUID = 1L;
/** ID */
@TableId
private Long productionSolutionProcessFileId;
/** 生产方案工序ID */
@ApiModelProperty(name = "生产方案工序ID")
@Excel(name = "生产方案工序ID")
private Long productionSolutionProcessId;
/** 生产方案ID */
@ApiModelProperty(name = "生产方案ID")
@Excel(name = "生产方案ID")
private Long productionSolutionId;
/** 文件地址 */
@ApiModelProperty(name = "文件地址")
@Excel(name = "文件地址")
private String filePath;
/** 原文件名 */
@ApiModelProperty(name = "原文件名")
@Excel(name = "原文件名")
private String fileOriginalName;
@ApiModelProperty(name = "文件大小")
private Long fileSize;
}
package com.ximai.mes.pro.dto.productionSolution;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
/**
* 生产版本工序图纸对象 pro_production_solution_process_drawing
*
* @author generator
* @date 2024-08-29
*/
@Data
public class ProProductionSolutionProcessDrawingUpdate {
private static final long serialVersionUID = 1L;
/** ID */
@TableId
private Long productionSolutionProcessFileId;
/** 生产方案工序ID */
@ApiModelProperty(name = "生产方案工序ID")
private Long productionSolutionProcessId;
/** 生产方案ID */
@ApiModelProperty(name = "生产方案ID")
private Long productionSolutionId;
/** 文件地址 */
@ApiModelProperty(name = "文件地址")
private String filePath;
/** 原文件名 */
@ApiModelProperty(name = "原文件名")
private String fileOriginalName;
@ApiModelProperty(name = "文件大小")
private Long fileSize;
}
package com.ximai.mes.pro.mapper.productionSolution;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ximai.mes.pro.domain.productionSolution.ProProductionSolutionProcessDrawing;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingDto;
/**
* 生产版本工序图纸Mapper接口
*
* @author generator
* @date 2024-08-29
*/
public interface ProProductionSolutionProcessDrawingMapper extends BaseMapper<ProProductionSolutionProcessDrawing>
{
/**
* 查询生产版本工序图纸
*
* @param productionSolutionProcessFileId 生产版本工序图纸主键
* @return 生产版本工序图纸
*/
public ProProductionSolutionProcessDrawingDto selectProProductionSolutionProcessDrawingByProductionSolutionProcessFileId(Long productionSolutionProcessFileId);
/**
* 查询生产版本工序图纸列表
*
* @param proProductionSolutionProcessDrawing 生产版本工序图纸
* @return 生产版本工序图纸集合
*/
public List<ProProductionSolutionProcessDrawingDto> selectProProductionSolutionProcessDrawingList(ProProductionSolutionProcessDrawing proProductionSolutionProcessDrawing);
/**
* 新增生产版本工序图纸
*
* @param proProductionSolutionProcessDrawing 生产版本工序图纸
* @return 结果
*/
public int insertProProductionSolutionProcessDrawing(ProProductionSolutionProcessDrawing proProductionSolutionProcessDrawing);
/**
* 修改生产版本工序图纸
*
* @param proProductionSolutionProcessDrawing 生产版本工序图纸
* @return 结果
*/
public int updateProProductionSolutionProcessDrawing(ProProductionSolutionProcessDrawing proProductionSolutionProcessDrawing);
/**
* 删除生产版本工序图纸
*
* @param productionSolutionProcessFileId 生产版本工序图纸主键
* @return 结果
*/
public int deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileId(Long productionSolutionProcessFileId);
/**
* 批量删除生产版本工序图纸
*
* @param productionSolutionProcessFileIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileIds(Long[] productionSolutionProcessFileIds);
}
......@@ -53,7 +53,7 @@ public interface ProProductionSolutionProcessQcindexMapper extends BaseMapper<Pr
* @param prototypeRequestProcessQcindexId 生产版本工序检验项主键
* @return 结果
*/
int deleteProProductionSolutionProcessQcindexByPrototypeRequestProcessQcindexId(Long prototypeRequestProcessQcindexId);
int deleteProProductionSolutionProcessQcindexByPrototypeSolutionProcessQcindexId(Long prototypeRequestProcessQcindexId);
/**
* 批量删除生产版本工序检验项
......@@ -61,5 +61,5 @@ public interface ProProductionSolutionProcessQcindexMapper extends BaseMapper<Pr
* @param prototypeRequestProcessQcindexIds 需要删除的数据主键集合
* @return 结果
*/
int deleteProProductionSolutionProcessQcindexByPrototypeRequestProcessQcindexIds(Long[] prototypeRequestProcessQcindexIds);
int deleteProProductionSolutionProcessQcindexByPrototypeSolutionProcessQcindexIds(Long[] prototypeRequestProcessQcindexIds);
}
package com.ximai.mes.pro.service.impl.productionSolution;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import cn.hutool.core.bean.BeanUtil;
import com.ximai.mes.pro.mapper.productionSolution.ProProductionSolutionProcessDrawingMapper;
import com.ximai.mes.pro.domain.productionSolution.ProProductionSolutionProcessDrawing;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingCreate;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingUpdate;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingDto;
import com.ximai.mes.pro.service.productionSolution.IProProductionSolutionProcessDrawingService;
/**
* 生产版本工序图纸Service业务层处理
*
* @author generator
* @date 2024-08-29
*/
@Service
public class ProProductionSolutionProcessDrawingServiceImpl implements IProProductionSolutionProcessDrawingService
{
@Autowired
private ProProductionSolutionProcessDrawingMapper proProductionSolutionProcessDrawingMapper;
/**
* 查询生产版本工序图纸
*
* @param productionSolutionProcessFileId 生产版本工序图纸主键
* @return 生产版本工序图纸
*/
@Override
public ProProductionSolutionProcessDrawingDto selectProProductionSolutionProcessDrawingDtoByProductionSolutionProcessFileId(Long productionSolutionProcessFileId)
{
return proProductionSolutionProcessDrawingMapper.selectProProductionSolutionProcessDrawingByProductionSolutionProcessFileId(productionSolutionProcessFileId);
}
/**
* 查询生产版本工序图纸
*
* @param productionSolutionProcessFileId 生产版本工序图纸主键
* @return 生产版本工序图纸
*/
@Override
public ProProductionSolutionProcessDrawing selectProProductionSolutionProcessDrawingByProductionSolutionProcessFileId(Long productionSolutionProcessFileId)
{
return proProductionSolutionProcessDrawingMapper.selectById(productionSolutionProcessFileId);
}
/**
* 查询生产版本工序图纸列表
*
* @param proProductionSolutionProcessDrawing 生产版本工序图纸
* @return 生产版本工序图纸
*/
@Override
public List<ProProductionSolutionProcessDrawingDto> selectProProductionSolutionProcessDrawingList(ProProductionSolutionProcessDrawing proProductionSolutionProcessDrawing)
{
return proProductionSolutionProcessDrawingMapper.selectProProductionSolutionProcessDrawingList(proProductionSolutionProcessDrawing);
}
/**
* 查询生产版本工序图纸列表
*
* @param proProductionSolutionProcessDrawingQuery 生产版本工序图纸
* @return 生产版本工序图纸
*/
@Override
public List<ProProductionSolutionProcessDrawing> selectProProductionSolutionProcessDrawingList(QueryWrapper<ProProductionSolutionProcessDrawing> proProductionSolutionProcessDrawingQuery)
{
return proProductionSolutionProcessDrawingMapper.selectList(proProductionSolutionProcessDrawingQuery);
}
/**
* 新增生产版本工序图纸
*
* @param proProductionSolutionProcessDrawingCreate 生产版本工序图纸
* @return 结果
*/
@Override
public int insertProProductionSolutionProcessDrawing(ProProductionSolutionProcessDrawingCreate proProductionSolutionProcessDrawingCreate)
{
ProProductionSolutionProcessDrawing proProductionSolutionProcessDrawing = new ProProductionSolutionProcessDrawing();
BeanUtil.copyProperties(proProductionSolutionProcessDrawingCreate, proProductionSolutionProcessDrawing);
return proProductionSolutionProcessDrawingMapper.insertProProductionSolutionProcessDrawing(proProductionSolutionProcessDrawing);
}
/**
* 修改生产版本工序图纸
*
* @param proProductionSolutionProcessDrawingUpdate 生产版本工序图纸
* @return 结果
*/
@Override
public int updateProProductionSolutionProcessDrawing(ProProductionSolutionProcessDrawingUpdate proProductionSolutionProcessDrawingUpdate)
{
ProProductionSolutionProcessDrawing proProductionSolutionProcessDrawing = new ProProductionSolutionProcessDrawing();
BeanUtil.copyProperties(proProductionSolutionProcessDrawingUpdate, proProductionSolutionProcessDrawing);
return proProductionSolutionProcessDrawingMapper.updateProProductionSolutionProcessDrawing(proProductionSolutionProcessDrawing);
}
/**
* 批量删除生产版本工序图纸
*
* @param productionSolutionProcessFileIds 需要删除的生产版本工序图纸主键
* @return 结果
*/
@Override
public int deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileIds(Long[] productionSolutionProcessFileIds)
{
return proProductionSolutionProcessDrawingMapper.deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileIds(productionSolutionProcessFileIds);
}
/**
* 删除生产版本工序图纸信息
*
* @param productionSolutionProcessFileId 生产版本工序图纸主键
* @return 结果
*/
@Override
public int deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileId(Long productionSolutionProcessFileId)
{
return proProductionSolutionProcessDrawingMapper.deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileId(productionSolutionProcessFileId);
}
}
......@@ -112,7 +112,7 @@ public class ProProductionSolutionProcessQcindexServiceImpl implements IProProdu
@Override
public int deleteProProductionSolutionProcessQcindexByPrototypeRequestProcessQcindexIds(Long[] prototypeRequestProcessQcindexIds)
{
return proProductionSolutionProcessQcindexMapper.deleteProProductionSolutionProcessQcindexByPrototypeRequestProcessQcindexIds(prototypeRequestProcessQcindexIds);
return proProductionSolutionProcessQcindexMapper.deleteProProductionSolutionProcessQcindexByPrototypeSolutionProcessQcindexIds(prototypeRequestProcessQcindexIds);
}
/**
......@@ -124,6 +124,6 @@ public class ProProductionSolutionProcessQcindexServiceImpl implements IProProdu
@Override
public int deleteProProductionSolutionProcessQcindexByPrototypeRequestProcessQcindexId(Long prototypeRequestProcessQcindexId)
{
return proProductionSolutionProcessQcindexMapper.deleteProProductionSolutionProcessQcindexByPrototypeRequestProcessQcindexId(prototypeRequestProcessQcindexId);
return proProductionSolutionProcessQcindexMapper.deleteProProductionSolutionProcessQcindexByPrototypeSolutionProcessQcindexId(prototypeRequestProcessQcindexId);
}
}
package com.ximai.mes.pro.service.impl.productionSolution;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -14,8 +15,12 @@ import com.ximai.mes.pro.domain.ProProcess;
import com.ximai.mes.pro.domain.productionSolution.*;
import com.ximai.mes.pro.domain.prototypeRequest.ProPrototypeRequestProcessQcindex;
import com.ximai.mes.pro.domain.vo.*;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingCreate;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingDto;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingUpdate;
import com.ximai.mes.pro.mapper.ProProcessMapper;
import com.ximai.mes.pro.mapper.productionSolution.*;
import com.ximai.mes.pro.service.productionSolution.IProProductionSolutionProcessDrawingService;
import com.ximai.mes.pro.service.productionSolution.IProProductionSolutionProcessQcindexService;
import com.ximai.mes.pro.service.productionSolution.IProProductionSolutionProcessToolService;
import com.ximai.mes.pro.service.productionSolution.IProProductionSolutionService;
......@@ -26,10 +31,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -88,6 +90,8 @@ public class ProProductionSolutionServiceImpl implements IProProductionSolutionS
@Autowired
private ProProductionSolutionServiceImpl proProductionSolutionService;
@Autowired
private IProProductionSolutionProcessDrawingService productionSolutionProcessDrawingService;
/**
* 查询生产版本
......@@ -117,10 +121,21 @@ public class ProProductionSolutionServiceImpl implements IProProductionSolutionS
}
List<ProProductionSolutionProcessVo> processList = proProductionSolutionProcessMapper.selectProProductionSolutionProcessByProductionSolutionId(productionSolutionId);
processList.forEach(s->{
if(s.getSerial()==null){
s.setSerial(1);
}
});
processList.sort(Comparator.comparing(ProProductionSolutionProcessVo::getSerial));
// 查询图纸
Map<Long, List<ProProductionSolutionProcessDrawing>> drawingMap = productionSolutionProcessDrawingService.selectProProductionSolutionProcessDrawingList(new QueryWrapper<ProProductionSolutionProcessDrawing>().eq("production_solution_id", productionSolutionId))
.stream().collect(Collectors.groupingBy(s->s.getProductionSolutionProcessId()));
for (ProProductionSolutionProcessVo proProductionSolutionProcessVo : processList) {
Long productionSolutionProcessId = proProductionSolutionProcessVo.getProductionSolutionProcessId();
List<ProProductionSolutionProcessItem> processItemList = proProductionSolutionProcessItemMapper.selectProProductionSolutionProcessItemByProductionSolutionProcessId(productionSolutionProcessId);
proProductionSolutionProcessVo.setProcessItemList(processItemList);
proProductionSolutionProcessVo.setDrawingList(drawingMap.getOrDefault(productionSolutionProcessId, new ArrayList<>()));
}
ProProductionSolutionVo proProductionSolutionVo = proProductionSolution.deepCopyObj(ProProductionSolutionVo.class);
......@@ -144,9 +159,6 @@ public class ProProductionSolutionServiceImpl implements IProProductionSolutionS
proProductionSolutionVo.setBomHead(proProductionSolutionBomHeadVo);
proProductionSolutionVo.setProcessList(processList);
// 查询规格书
ProProductionSolutionSpecificationSheet proProductionSolutionSpecificationSheet = proProductionSolutionSpecificationSheetMapper.selectSpecificationSheetByProductionSolutionId(productionSolutionId);
proProductionSolutionVo.setSpecificationSheet(proProductionSolutionSpecificationSheet);
return proProductionSolutionVo;
}
......@@ -227,10 +239,12 @@ public class ProProductionSolutionServiceImpl implements IProProductionSolutionS
// 保存工序
List<ProProductionSolutionProcessVo> processList = proProductionSolutionVo.getProcessList();
if (StringUtils.isNotNull(processList)) {
int k=1;
for (ProProductionSolutionProcessVo proProductionSolutionProcessVo : processList) {
// 保存工序主表信息
ProProductionSolutionProcess proProductionSolutionProcess = new ProProductionSolutionProcess();
BeanUtils.copyProperties(proProductionSolutionProcessVo, proProductionSolutionProcess);
proProductionSolutionProcess.setSerial(k);
if (proProductionSolutionProcessVo.getQuantity() == null) {
proProductionSolutionProcess.setQuantity(new BigDecimal("1000.000"));
}
......@@ -324,25 +338,19 @@ public class ProProductionSolutionServiceImpl implements IProProductionSolutionS
}
}
}
//图纸保存
List<ProProductionSolutionProcessDrawing> drawingCreateList = proProductionSolutionProcessVo.getDrawingList();
drawingCreateList.forEach(s->{
ProProductionSolutionProcessDrawingCreate create = new ProProductionSolutionProcessDrawingCreate();
BeanUtil.copyProperties(s, create);
s.setProductionSolutionId(productionSolutionId);
s.setProductionSolutionProcessId(productionSolutionProcessId);
productionSolutionProcessDrawingService.insertProProductionSolutionProcessDrawing(create);
});
k++;
}
}
// 保存规格书
ProProductionSolutionSpecificationSheet specificationSheet = proProductionSolutionVo.getSpecificationSheet();
String frontColorName = specificationSheet.getFrontColorName();
if (StringUtils.isNotNull(frontColorName)) {
frontColorName = frontColorName.replace("[", "").replace("]", "").replace("\"", "");
specificationSheet.setFrontColorName(frontColorName);
}
String oppositeColorName = specificationSheet.getOppositeColorName();
if (StringUtils.isNotNull(oppositeColorName)) {
oppositeColorName = oppositeColorName.replace("[", "").replace("]", "").replace("\"", "");
specificationSheet.setOppositeColorName(oppositeColorName);
}
specificationSheet.setProductionSolutionId(productionSolutionId);
proProductionSolutionSpecificationSheetMapper.insertProProductionSolutionSpecificationSheet(specificationSheet);
return i;
}
......@@ -356,252 +364,135 @@ public class ProProductionSolutionServiceImpl implements IProProductionSolutionS
*/
@Override
public int updateProProductionSolution(ProProductionSolutionVo proProductionSolutionVo) {
ProProductionSolution proProductionSolution = new ProProductionSolution();
if (StringUtils.isNotEmpty(proProductionSolutionVo.getSapPrototypeMakeCode())) {
proProductionSolution = proProductionSolutionMapper.selectProProductionSolutionBySapPrototypeMakeCode(proProductionSolutionVo.getSapPrototypeMakeCode());
} else {
proProductionSolution = proProductionSolutionMapper.selectByGroupKeyAndGroupCounterAndSapItemCode(proProductionSolutionVo.getGroupKey(), proProductionSolutionVo.getGroupCounter(), proProductionSolutionVo.getSapItemCode());
}
int i = 1;
if (ObjectUtil.isEmpty(proProductionSolution)) {
insertProProductionSolution(proProductionSolutionVo);
} else {
//删除主数据下对应的子表
//删除bom物料表
Long productionSolutionId = proProductionSolution.getProductionSolutionId();
QueryWrapper<ProProductionSolutionBomHead> productionSolutionId1 = new QueryWrapper<ProProductionSolutionBomHead>().eq("production_solution_id", productionSolutionId);
ProProductionSolutionBomHead proProductionSolutionBomHead = proProductionSolutionBomHeadMapper.selectOne(productionSolutionId1);
//删除bom数据
if (ObjectUtil.isNotEmpty(proProductionSolutionBomHead)) {
Long bomHeadId = proProductionSolutionBomHead.getBomHeadId();
//删除bom表体
QueryWrapper<ProProductionSolutionBomItem> bomHeadId1 = new QueryWrapper<ProProductionSolutionBomItem>().eq("bom_head_id", bomHeadId);
List<ProProductionSolutionBomItem> SolutionBomItems = proProductionSolutionBomItemMapper.selectList(bomHeadId1);
List<Long> bomItemIdList = SolutionBomItems.stream().map(ProProductionSolutionBomItem::getBomItemId).collect(Collectors.toList());
if (CollUtil.isNotEmpty(bomItemIdList)) {
i = proProductionSolutionBomItemMapper.deleteBatchIds(bomItemIdList);
}
//删除bom表头
i = proProductionSolutionBomHeadMapper.deleteById(bomHeadId);
}
//删除工序
ProProductionSolutionProcess proProductionSolutionProcess = new ProProductionSolutionProcess();
proProductionSolutionProcess.setProductionSolutionId(productionSolutionId);
List<ProProductionSolutionProcessVo> proProductionSolutionProcessVos = proProductionSolutionProcessMapper.selectProProductionSolutionProcessList(proProductionSolutionProcess);
if (CollUtil.isNotEmpty(proProductionSolutionProcessVos)) {
for (ProProductionSolutionProcessVo pro : proProductionSolutionProcessVos) {
Long productionSolutionProcessId = pro.getProductionSolutionProcessId();
//查看工序关联的物料下的数据
ProProductionSolutionProcessItem proProductionSolutionProcessItem = new ProProductionSolutionProcessItem();
proProductionSolutionProcessItem.setProductionSolutionProcessId(productionSolutionProcessId);
List<ProProductionSolutionProcessItem> proProductionSolutionProcessItems = proProductionSolutionProcessItemMapper.selectProProductionSolutionProcessItemList(proProductionSolutionProcessItem);
if (CollUtil.isNotEmpty(proProductionSolutionProcessItems)) {
List<Long> ProcessItemList = proProductionSolutionProcessItems.stream().map(ProProductionSolutionProcessItem::getProductionSolutionProcessItemId).collect(Collectors.toList());
for (Long itemId : ProcessItemList) {
//删除工序下的关联物料
i = proProductionSolutionProcessItemMapper.deleteProProductionSolutionProcessItemByProductionSolutionProcessItemId(itemId);
ProProductionSolution proProductionSolution = proProductionSolutionMapper.selectProProductionSolutionByProductionSolutionId(proProductionSolutionVo.getProductionSolutionId());
proProductionSolution.setRemark(proProductionSolutionVo.getRemark());
BeanUtils.copyProperties(proProductionSolutionVo, proProductionSolution);
int i = proProductionSolutionMapper.updateProProductionSolution(proProductionSolution);
}
}
// 查看保存质检信息
// 获取打样工序
List<ProProductionSolutionProcessVo> processList = proProductionSolutionVo.getProcessList();
ProProductionSolutionProcess productionRequestProcess = new ProProductionSolutionProcess();
productionRequestProcess.setProductionSolutionId(proProductionSolutionVo.getProductionSolutionId());
List<ProProductionSolutionProcessVo> processListDb = proProductionSolutionProcessMapper.selectProProductionSolutionProcessList(productionRequestProcess);
if(processList!=null){
Map<Long,List<ProProductionSolutionProcessDrawing>> processDrawingMap = productionSolutionProcessDrawingService.selectProProductionSolutionProcessDrawingList(new QueryWrapper<ProProductionSolutionProcessDrawing>().eq("production_solution_id",proProductionSolution))
.stream().collect(Collectors.groupingBy(s->s.getProductionSolutionProcessId()));
int k=1;
for (ProProductionSolutionProcessVo proProductionSolutionProcessVo : processList) {
proProductionSolutionProcessVo.setProductionSolutionId(proProductionSolution.getProductionSolutionId());
// 保存工序
ProProductionSolutionProcess tempProcess = proProductionSolutionProcessVo.getProductionSolutionProcess(proProductionSolutionProcessVo);
tempProcess.setSerial(k);
if(tempProcess.getProductionSolutionProcessId()==null) {
proProductionSolutionProcessMapper.insertProProductionSolutionProcess(tempProcess);
}else{
proProductionSolutionProcessMapper.updateProProductionSolutionProcess(tempProcess);
}
Long prototypeRequestProcessId = tempProcess.getProductionSolutionProcessId();
// 获取工序物料-保存
List<ProProductionSolutionProcessItem> proProductionSolutionProcessItemList = proProductionSolutionProcessVo.getProcessItemList();
ProProductionSolutionProcessItem proProductionSolutionProcessItemQuery = new ProProductionSolutionProcessItem();
proProductionSolutionProcessItemQuery.setProductionSolutionProcessId(proProductionSolutionProcessVo.getProductionSolutionProcessId());
List<ProProductionSolutionProcessItem> proProductionSolutionProcessItemListDb = proProductionSolutionProcessItemMapper.selectProProductionSolutionProcessItemList(proProductionSolutionProcessItemQuery);
for (ProProductionSolutionProcessItem proProductionSolutionProcessItem : proProductionSolutionProcessItemList) {
proProductionSolutionProcessItem.setProductionSolutionProcessId(prototypeRequestProcessId);
if(proProductionSolutionProcessItem.getProductionSolutionProcessItemId()==null) {
proProductionSolutionProcessItemMapper.insertProProductionSolutionProcessItem(proProductionSolutionProcessItem);
}else{
proProductionSolutionProcessItemMapper.updateProProductionSolutionProcessItem(proProductionSolutionProcessItem);
}
}
proProductionSolutionProcessItemListDb.forEach(v->{
if(!proProductionSolutionProcessItemList.stream().filter(v2->{
return v.getProductionSolutionProcessItemId().equals(v2.getProductionSolutionProcessItemId());
}).findFirst().isPresent()){
proProductionSolutionProcessMapper.deleteProProductionSolutionProcessByProductionSolutionProcessId(v.getProductionSolutionProcessItemId());
};
});
//检验项保存、删除
List<ProProductionSolutionProcessQcindexVo> proProductionSolutionProcessQcindexList = proProductionSolutionProcessVo.getQcindexList();
ProProductionSolutionProcessQcindex proProductionSolutionProcessQcindexQuery = new ProProductionSolutionProcessQcindex();
proProductionSolutionProcessQcindexQuery.setPrototypeSolutionProcessId(proProductionSolutionProcessVo.getProductionSolutionProcessId());
List<ProProductionSolutionProcessQcindex> proProductionSolutionProcessQcindexListDb = proProductionSolutionProcessQcindexMapper.selectProProductionSolutionProcessQcindexList(proProductionSolutionProcessQcindexQuery);
for (ProProductionSolutionProcessQcindexVo proProductionSolutionProcessQcindexVo : proProductionSolutionProcessQcindexList) {
ProProductionSolutionProcessQcindex proProductionSolutionProcessQcindex = new ProProductionSolutionProcessQcindex();
proProductionSolutionProcessQcindex.setPrototypeSolutionId(productionSolutionProcessId);
List<ProProductionSolutionProcessQcindex> proProductionSolutionProcessQcindices = proProductionSolutionProcessQcindexMapper.selectProProductionSolutionProcessQcindexList(proProductionSolutionProcessQcindex);
if (CollUtil.isNotEmpty(proProductionSolutionProcessItems)) {
List<Long> ProcessQcindexIdList = proProductionSolutionProcessQcindices.stream().map(ProProductionSolutionProcessQcindex::getPrototypeSolutionProcessQcindexId).collect(Collectors.toList());
for (Long qcindexId : ProcessQcindexIdList) {
//删除工序下质检信息
i = proProductionSolutionProcessQcindexMapper.deleteProProductionSolutionProcessQcindexByPrototypeRequestProcessQcindexId(qcindexId);
}
}
BeanUtil.copyProperties(proProductionSolutionProcessQcindexVo, proProductionSolutionProcessQcindex);
proProductionSolutionProcessQcindex.setPrototypeSolutionId(proProductionSolutionProcessVo.getProductionSolutionId());
proProductionSolutionProcessQcindex.setPrototypeSolutionProcessId(prototypeRequestProcessId);
if(proProductionSolutionProcessQcindex.getPrototypeSolutionProcessQcindexId()==null) {
proProductionSolutionProcessQcindexMapper.insertProProductionSolutionProcessQcindex(proProductionSolutionProcessQcindex);
}else{
proProductionSolutionProcessQcindexMapper.updateProProductionSolutionProcessQcindex(proProductionSolutionProcessQcindex);
}
}
proProductionSolutionProcessQcindexListDb.forEach(v->{
if(!proProductionSolutionProcessQcindexList.stream().filter(v2->{
return v.getPrototypeSolutionProcessQcindexId().equals(v2.getPrototypeSolutionProcessQcindexId());
}).findFirst().isPresent()){
proProductionSolutionProcessQcindexMapper.deleteProProductionSolutionProcessQcindexByPrototypeSolutionProcessQcindexId(v.getPrototypeSolutionProcessQcindexId());
};
});
//工装
List<ProProductionSolutionProcessToolVo> proProductionSolutionProcessToolList = proProductionSolutionProcessVo.getToolList();
ProProductionSolutionProcessTool proProductionSolutionProcessToolQuery = new ProProductionSolutionProcessTool();
proProductionSolutionProcessToolQuery.setPrototypeSolutionProcessId(prototypeRequestProcessId);
List<ProProductionSolutionProcessTool> proProductionSolutionProcessToolListDb = proProductionSolutionProcessToolMapper.selectProProductionSolutionProcessToolList(proProductionSolutionProcessToolQuery);
for (ProProductionSolutionProcessToolVo proProductionSolutionProcessToolVo : proProductionSolutionProcessToolList) {
ProProductionSolutionProcessTool proProductionSolutionProcessTool = new ProProductionSolutionProcessTool();
proProductionSolutionProcessTool.setPrototypeSolutionProcessId(productionSolutionProcessId);
List<ProProductionSolutionProcessTool> proProductionSolutionProcessTools = proProductionSolutionProcessToolMapper.selectProProductionSolutionProcessToolList(proProductionSolutionProcessTool);
if (CollUtil.isNotEmpty(proProductionSolutionProcessTools)) {
List<Long> ProcessToolId = proProductionSolutionProcessTools.stream().map(ProProductionSolutionProcessTool::getPrototypeSolutionProcessToolId).collect(Collectors.toList());
for (Long ToolId : ProcessToolId) {
i = proProductionSolutionProcessToolMapper.deleteProProductionSolutionProcessToolByPrototypeSolutionProcessToolId(ToolId);
}
}
i = proProductionSolutionProcessMapper.deleteProProductionSolutionProcessByProductionSolutionProcessId(productionSolutionProcessId);
}
//删除规格书的信息
ProProductionSolutionSpecificationSheet proProductionSolutionSpecificationSheet = proProductionSolutionSpecificationSheetMapper.selectSpecificationSheetByProductionSolutionId(productionSolutionId);
if (ObjectUtil.isNotEmpty(proProductionSolutionSpecificationSheet)) {
i = proProductionSolutionSpecificationSheetMapper.deleteProProductionSolutionSpecificationSheetBySpecificationSheetId(proProductionSolutionSpecificationSheet.getSpecificationSheetId());
}
//根据ep传来的数据进行新增
//新增bom物料
ProProductionSolutionBomHeadVo bomHead = proProductionSolutionVo.getBomHead();
if (Objects.nonNull(bomHead)) {
ProProductionSolutionBomHead proProductionSolutionBomHead1 = new ProProductionSolutionBomHead();
BeanUtils.copyProperties(bomHead, proProductionSolutionBomHead1);
proProductionSolutionBomHead1.setProductionSolutionId(productionSolutionId);
proProductionSolutionBomHead1.setItemId(proProductionSolution.getItemId());
i = proProductionSolutionBomHeadMapper.insert(proProductionSolutionBomHead1);
if (i != 1) {
return 2;
}
Long bomHeadId = proProductionSolutionBomHead1.getBomHeadId();
List<ProProductionSolutionBomItem> bomItemList = bomHead.getBomItemList();
if (CollUtil.isNotEmpty(bomItemList)) {
for (ProProductionSolutionBomItem bomItem : bomItemList) {
bomItem.setBomHeadId(bomHeadId);
MdItem mdItem = mdItemMapper.selectMdItemBySapItemCode(bomItem.getSapItemCode());
ExceptionUtil.checkTrueThrowException(ObjectUtil.isEmpty(mdItem), "没有匹配到对应的BOM物料");
if (ObjectUtil.isNotEmpty(mdItem)) {
bomItem.setItemId(mdItem.getItemId());
i = proProductionSolutionBomItemMapper.insert(bomItem);
if (i != 1) {
return 2;
}
}
}
}
}
//新增工序
List<ProProductionSolutionProcessVo> processList = proProductionSolutionVo.getProcessList();
if (CollUtil.isNotEmpty(processList)) {
for (ProProductionSolutionProcessVo processVo : processList) {
ProProductionSolutionProcess proProductionSolutionProcess1 = new ProProductionSolutionProcess();
BeanUtils.copyProperties(processVo, proProductionSolutionProcess1);
if (processVo.getQuantity() == null) {
proProductionSolutionProcess1.setQuantity(new BigDecimal("1000.000"));
}
if (StringUtils.isEmpty(processVo.getUnitOfMeasure())) {
proProductionSolutionProcess1.setUnitOfMeasure(processVo.getUnitOfMeasure());
}
if (StringUtils.isEmpty(processVo.getStdWorkingTimeUom())) {
proProductionSolutionProcess1.setStdWorkingTimeUom("MIN");
}
if (StringUtils.isNotNull(processVo.getEmployeesNum())) {
proProductionSolutionProcess1.setEmployeesNum(1);
}
//判断工作中心是否为空
ExceptionUtil.checkTrueThrowException(StringUtils.isNull(processVo.getWorkstationCode()), "没有工作中心编码");
MdWorkstation mdWorkstation = mdWorkstationMapper.selectMdWorkstationByWorkstationCodes(processVo.getWorkstationCode());
if (ObjectUtil.isNotEmpty(mdWorkstation)) {
proProductionSolutionProcess1.setWorkstationId(mdWorkstation.getWorkstationId());
} else {
ExceptionUtil.checkTrueThrowException(true, "没有匹配到对应的工作中心");
}
//判断工序是否为空
ExceptionUtil.checkTrueThrowException(StringUtils.isNull(processVo.getProcessCode()), "没有工序编码");
//根据查看mes的工序
ProProcess proProcess = proProcessMapper.selectProProcessByProcessCodes(processVo.getProcessCode());
if (ObjectUtil.isNotEmpty(proProcess)) {
proProductionSolutionProcess1.setProcessId(proProcess.getProcessId());
proProductionSolutionProcess1.setProcessName(proProcess.getProcessName());
} else {
ExceptionUtil.checkTrueThrowException(true, "没有匹配到对应的工序");
}
proProductionSolutionProcess1.setProductionSolutionId(productionSolutionId);
i = proProductionSolutionProcessMapper.insertProProductionSolutionProcess(proProductionSolutionProcess1);
if (i != 1) {
return 2;
}
Long productionSolutionProcessId = proProductionSolutionProcess1.getProductionSolutionProcessId();
//保持工序物料
List<ProProductionSolutionProcessItem> processItemList = processVo.getProcessItemList();
if (CollUtil.isNotEmpty(processItemList)) {
for (ProProductionSolutionProcessItem processItem : processItemList) {
ProProductionSolutionProcessItem proProductionSolutionProcessItem = new ProProductionSolutionProcessItem();
BeanUtils.copyProperties(processItem, proProductionSolutionProcessItem);
proProductionSolutionProcessItem.setProductionSolutionProcessId(productionSolutionProcessId);
MdItem mdItem = mdItemMapper.selectMdItemBySapItemCode(processItem.getSapItemCode());
ExceptionUtil.checkTrueThrowException(ObjectUtil.isEmpty(mdItem), "没有匹配到对应的工序物料");
if (ObjectUtil.isNotEmpty(mdItem)) {
proProductionSolutionProcessItem.setItemId(mdItem.getItemId());
proProductionSolutionProcessItem.setSapItemName(mdItem.getItemName());
i = proProductionSolutionProcessItemMapper.insertProProductionSolutionProcessItem(proProductionSolutionProcessItem);
if (i != 1) {
return 2;
}
}
}
}
// 保存质检信息
List<ProProductionSolutionProcessQcindexVo> qcindexList = processVo.getQcindexList();
if (CollUtil.isNotEmpty(qcindexList)) {
for (ProProductionSolutionProcessQcindexVo qcindexVo : qcindexList) {
ProProductionSolutionProcessQcindex solutionProcessQcindex = new ProProductionSolutionProcessQcindex();
BeanUtils.copyProperties(qcindexVo, solutionProcessQcindex);
solutionProcessQcindex.setPrototypeSolutionId(productionSolutionId);
solutionProcessQcindex.setPrototypeSolutionProcessId(productionSolutionProcessId);
i = proProductionSolutionProcessQcindexMapper.insertProProductionSolutionProcessQcindex(solutionProcessQcindex);
if (i != 1) {
return 2;
}
}
}
//保持工装量具
List<ProProductionSolutionProcessToolVo> toolList = processVo.getToolList();
if (CollUtil.isNotEmpty(toolList)) {
for (ProProductionSolutionProcessToolVo toolVo : toolList) {
ProProductionSolutionProcessTool processTool = new ProProductionSolutionProcessTool();
BeanUtils.copyProperties(toolVo, processTool);
MdItem mdItem = mdItemMapper.selectMdItemByCodea(toolVo.getItemCode());
processTool.setToolId(mdItem.getItemId());
processTool.setPrototypeSolutionId(productionSolutionId);
processTool.setPrototypeSolutionProcessId(productionSolutionProcessId);
BigDecimal normalData = DataUtil.getNormalData(processTool.getQuantity(), BigDecimal.ONE);
processTool.setQuantity(normalData.longValue());
i = proProductionSolutionProcessToolMapper.insertProProductionSolutionProcessTool(processTool);
if (i != 1) {
return 2;
}
}
}
}
}
//保持生产规格书
ProProductionSolutionSpecificationSheet specificationSheet = proProductionSolutionVo.getSpecificationSheet();
String frontColorName = specificationSheet.getFrontColorName();
if (StringUtils.isNotNull(frontColorName)) {
frontColorName = frontColorName.replace("[", "").replace("]", "").replace("\"", "");
specificationSheet.setFrontColorName(frontColorName);
}
String oppositeColorName = specificationSheet.getOppositeColorName();
if (StringUtils.isNotNull(oppositeColorName)) {
oppositeColorName = oppositeColorName.replace("[", "").replace("]", "").replace("\"", "");
specificationSheet.setOppositeColorName(oppositeColorName);
}
specificationSheet.setProductionSolutionId(productionSolutionId);
i = proProductionSolutionSpecificationSheetMapper.insertProProductionSolutionSpecificationSheet(specificationSheet);
if (i != 1) {
return 2;
BeanUtil.copyProperties(proProductionSolutionProcessToolVo, proProductionSolutionProcessTool);
proProductionSolutionProcessTool.setPrototypeSolutionProcessId(prototypeRequestProcessId);
proProductionSolutionProcessTool.setPrototypeSolutionId(proProductionSolutionProcessVo.getProductionSolutionId());
if(proProductionSolutionProcessTool.getPrototypeSolutionProcessToolId()==null) {
proProductionSolutionProcessToolMapper.insertProProductionSolutionProcessTool(proProductionSolutionProcessTool);
}else{
proProductionSolutionProcessToolMapper.updateProProductionSolutionProcessTool(proProductionSolutionProcessTool);
}
}
proProductionSolutionProcessToolListDb.forEach(v->{
if(!proProductionSolutionProcessToolList.stream().filter(v2->{
return v.getPrototypeSolutionProcessToolId().equals(v2.getPrototypeSolutionProcessToolId());
}).findFirst().isPresent()){
proProductionSolutionProcessToolMapper.deleteProProductionSolutionProcessToolByPrototypeSolutionProcessToolId(v.getPrototypeSolutionProcessToolId());
};
});
//图纸
List<ProProductionSolutionProcessDrawing> drawingCreateList = proProductionSolutionProcessVo.getDrawingList();
List<ProProductionSolutionProcessDrawing> drawingCreateListDb = processDrawingMap.getOrDefault(prototypeRequestProcessId, new ArrayList<>());
for (ProProductionSolutionProcessDrawing drawingTemp : drawingCreateList) {
drawingTemp.setProductionSolutionProcessId(prototypeRequestProcessId);
drawingTemp.setProductionSolutionId(proProductionSolutionProcessVo.getProductionSolutionId());
if(drawingTemp.getProductionSolutionProcessFileId()==null) {
ProProductionSolutionProcessDrawingCreate drawingCreate = new ProProductionSolutionProcessDrawingCreate();
BeanUtil.copyProperties(drawingTemp, drawingCreate);
productionSolutionProcessDrawingService.insertProProductionSolutionProcessDrawing(drawingCreate);
}else{
ProProductionSolutionProcessDrawingUpdate drawingUpdate = new ProProductionSolutionProcessDrawingUpdate();
BeanUtil.copyProperties(drawingTemp, drawingUpdate);
productionSolutionProcessDrawingService.updateProProductionSolutionProcessDrawing(drawingUpdate);
}
}
drawingCreateListDb.forEach(v->{
if(!drawingCreateList.stream().filter(v2->{
return v.getProductionSolutionProcessFileId().equals(v2.getProductionSolutionProcessFileId());
}).findFirst().isPresent()){
productionSolutionProcessDrawingService.deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileId(v.getProductionSolutionProcessFileId());
};
});
k++;
}
processListDb.forEach(v->{
Optional<ProProductionSolutionProcessVo> optionalProProductionSolutionProcessVo = processList.stream().filter(v2->{
return v.getProductionSolutionProcessId().equals(v2.getProductionSolutionProcessId());
}).findFirst();
if(!optionalProProductionSolutionProcessVo.isPresent()){
proProductionSolutionProcessMapper.deleteProProductionSolutionProcessByProductionSolutionProcessId(v.getProductionSolutionProcessId());
};
});
}
return 1;
}
}
return i;
}
/**
* 批量删除生产版本
......@@ -689,17 +580,23 @@ public class ProProductionSolutionServiceImpl implements IProProductionSolutionS
}
}
}
// 删除质检
List<ProProductionSolutionProcessQcindex> proProductionSolutionProcessQcindices = proProductionSolutionProcessQcindexMapper.selectselectProProductionSolutionProcessQcindexByPrototypeRequestProcessId(productionSolutionProcessId);
if (StringUtils.isNotNull(proProductionSolutionProcessQcindices)) {
for (ProProductionSolutionProcessQcindex proProductionSolutionProcessQcindex : proProductionSolutionProcessQcindices) {
i = proProductionSolutionProcessQcindexMapper.deleteProProductionSolutionProcessQcindexByPrototypeRequestProcessQcindexId(proProductionSolutionProcessQcindex.getPrototypeSolutionProcessQcindexId());
i = proProductionSolutionProcessQcindexMapper.deleteProProductionSolutionProcessQcindexByPrototypeSolutionProcessQcindexId(proProductionSolutionProcessQcindex.getPrototypeSolutionProcessQcindexId());
if (i != 1) {
return 4;
}
}
}
// 删除图纸
List<ProProductionSolutionProcessDrawing> proProductionSolutionProcessDrawings = productionSolutionProcessDrawingService.selectProProductionSolutionProcessDrawingList(new QueryWrapper<ProProductionSolutionProcessDrawing>().eq("production_solution_id", productionSolutionId));
if (!proProductionSolutionProcessDrawings.isEmpty()) {
Long[] ids = new Long[proProductionSolutionProcessDrawings.size()];
proProductionSolutionProcessDrawings.stream().map(s->s.getProductionSolutionProcessFileId()).collect(Collectors.toList()).toArray(ids);
productionSolutionProcessDrawingService.deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileIds(ids);
}
}
}
......
package com.ximai.mes.pro.service.productionSolution;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.mes.pro.domain.productionSolution.ProProductionSolutionProcessDrawing;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingCreate;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingUpdate;
import com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingDto;
/**
* 生产版本工序图纸Service接口
*
* @author generator
* @date 2024-08-29
*/
public interface IProProductionSolutionProcessDrawingService
{
/**
* 查询生产版本工序图纸
*
* @param productionSolutionProcessFileId 生产版本工序图纸主键
* @return 生产版本工序图纸
*/
public ProProductionSolutionProcessDrawingDto selectProProductionSolutionProcessDrawingDtoByProductionSolutionProcessFileId(Long productionSolutionProcessFileId);
/**
* 查询生产版本工序图纸
*
* @param productionSolutionProcessFileId 生产版本工序图纸主键
* @return 生产版本工序图纸
*/
public ProProductionSolutionProcessDrawing selectProProductionSolutionProcessDrawingByProductionSolutionProcessFileId(Long productionSolutionProcessFileId);
/**
* 查询生产版本工序图纸列表
*
* @param proProductionSolutionProcessDrawing 生产版本工序图纸
* @return 生产版本工序图纸集合
*/
public List<ProProductionSolutionProcessDrawingDto> selectProProductionSolutionProcessDrawingList(ProProductionSolutionProcessDrawing proProductionSolutionProcessDrawing);
/**
* 查询生产版本工序图纸列表
*
* @param proProductionSolutionProcessDrawingQuery 生产版本工序图纸
* @return 生产版本工序图纸集合
*/
public List<ProProductionSolutionProcessDrawing> selectProProductionSolutionProcessDrawingList(QueryWrapper<ProProductionSolutionProcessDrawing> proProductionSolutionProcessDrawingQuery);
/**
* 新增生产版本工序图纸
*
* @param proProductionSolutionProcessDrawing 生产版本工序图纸
* @return 结果
*/
public int insertProProductionSolutionProcessDrawing(ProProductionSolutionProcessDrawingCreate proProductionSolutionProcessDrawing);
/**
* 修改生产版本工序图纸
*
* @param proProductionSolutionProcessDrawing 生产版本工序图纸
* @return 结果
*/
public int updateProProductionSolutionProcessDrawing(ProProductionSolutionProcessDrawingUpdate proProductionSolutionProcessDrawing);
/**
* 批量删除生产版本工序图纸
*
* @param productionSolutionProcessFileIds 需要删除的生产版本工序图纸主键集合
* @return 结果
*/
public int deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileIds(Long[] productionSolutionProcessFileIds);
/**
* 删除生产版本工序图纸信息
*
* @param productionSolutionProcessFileId 生产版本工序图纸主键
* @return 结果
*/
public int deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileId(Long productionSolutionProcessFileId);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ximai.mes.pro.mapper.productionSolution.ProProductionSolutionProcessDrawingMapper">
<resultMap type="ProProductionSolutionProcessDrawing" id="ProProductionSolutionProcessDrawingResult">
<result property="productionSolutionProcessFileId" column="production_solution_process_file_id" />
<result property="productionSolutionProcessId" column="production_solution_process_id" />
<result property="productionSolutionId" column="production_solution_id" />
<result property="filePath" column="file_path" />
<result property="fileSize" column="file_size" />
<result property="remark" column="remark" />
<result property="fileOriginalName" column="file_original_name" />
</resultMap>
<resultMap type="com.ximai.mes.pro.dto.productionSolution.ProProductionSolutionProcessDrawingDto" id="ProProductionSolutionProcessDrawingResult2">
<result property="productionSolutionProcessFileId" column="production_solution_process_file_id" />
<result property="productionSolutionProcessId" column="production_solution_process_id" />
<result property="productionSolutionId" column="production_solution_id" />
<result property="filePath" column="file_path" />
<result property="fileSize" column="file_size" />
<result property="remark" column="remark" />
<result property="fileOriginalName" column="file_original_name" />
</resultMap>
<sql id="selectProProductionSolutionProcessDrawingVo">
select production_solution_process_file_id, production_solution_process_id, production_solution_id, file_path, file_size, remark, file_original_name from pro_production_solution_process_drawing
</sql>
<select id="selectProProductionSolutionProcessDrawingList" parameterType="ProProductionSolutionProcessDrawing" resultMap="ProProductionSolutionProcessDrawingResult2">
<include refid="selectProProductionSolutionProcessDrawingVo"/>
<where>
<if test="productionSolutionProcessId != null "> and production_solution_process_id = #{productionSolutionProcessId}</if>
<if test="productionSolutionId != null "> and production_solution_id = #{productionSolutionId}</if>
<if test="filePath != null and filePath != ''"> and file_path = #{filePath}</if>
<if test="fileOriginalName != null and fileOriginalName != ''"> and file_original_name like concat('%', #{fileOriginalName}, '%')</if>
</where>
</select>
<select id="selectProProductionSolutionProcessDrawingByProductionSolutionProcessFileId" parameterType="Long" resultMap="ProProductionSolutionProcessDrawingResult2">
<include refid="selectProProductionSolutionProcessDrawingVo"/>
where production_solution_process_file_id = #{productionSolutionProcessFileId}
</select>
<insert id="insertProProductionSolutionProcessDrawing" parameterType="ProProductionSolutionProcessDrawing" useGeneratedKeys="true" keyProperty="productionSolutionProcessFileId">
insert into pro_production_solution_process_drawing
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="productionSolutionProcessId != null">production_solution_process_id,</if>
<if test="productionSolutionId != null">production_solution_id,</if>
<if test="filePath != null">file_path,</if>
<if test="fileSize != null">file_size,</if>
<if test="remark != null">remark,</if>
<if test="fileOriginalName != null">file_original_name,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="productionSolutionProcessId != null">#{productionSolutionProcessId},</if>
<if test="productionSolutionId != null">#{productionSolutionId},</if>
<if test="filePath != null">#{filePath},</if>
<if test="fileSize != null">#{fileSize},</if>
<if test="remark != null">#{remark},</if>
<if test="fileOriginalName != null">#{fileOriginalName},</if>
</trim>
</insert>
<update id="updateProProductionSolutionProcessDrawing" parameterType="ProProductionSolutionProcessDrawing">
update pro_production_solution_process_drawing
<trim prefix="SET" suffixOverrides=",">
<if test="productionSolutionProcessId != null">production_solution_process_id = #{productionSolutionProcessId},</if>
<if test="productionSolutionId != null">production_solution_id = #{productionSolutionId},</if>
<if test="filePath != null">file_path = #{filePath},</if>
<if test="fileSize != null">file_size = #{fileSize},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="fileOriginalName != null">file_original_name = #{fileOriginalName},</if>
</trim>
where production_solution_process_file_id = #{productionSolutionProcessFileId}
</update>
<delete id="deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileId" parameterType="Long">
delete from pro_production_solution_process_drawing where production_solution_process_file_id = #{productionSolutionProcessFileId}
</delete>
<delete id="deleteProProductionSolutionProcessDrawingByProductionSolutionProcessFileIds" parameterType="String">
delete from pro_production_solution_process_drawing where production_solution_process_file_id in
<foreach item="productionSolutionProcessFileId" collection="array" open="(" separator="," close=")">
#{productionSolutionProcessFileId}
</foreach>
</delete>
</mapper>
\ No newline at end of file
......@@ -14,6 +14,8 @@
<result property="keyFlag" column="key_flag"/>
<result property="isCheck" column="is_check"/>
<result property="idx" column="idx"/>
<result property="serial" column="serial"/>
<result property="outsourced" column="outsourced"/>
<result property="workstationCode" column="workstation_code"/>
<result property="processingMethod" column="processing_method"/>
<result property="processName" column="process_name"/>
......@@ -58,6 +60,8 @@
ppsp.key_flag,
ppsp.is_check,
ppsp.idx,
ppsp.outsourced,
ppsp.serial,
ppsp.workstation_code,
ppsp.processing_method,
ppsp.process_name,
......@@ -127,6 +131,8 @@
<if test="keyFlag != null">key_flag,</if>
<if test="isCheck != null">is_check,</if>
<if test="idx != null">idx,</if>
<if test="serial != null">serial,</if>
<if test="outsourced != null">outsourced,</if>
<if test="workstationCode != null">workstation_code,</if>
<if test="processingMethod != null">processing_method,</if>
<if test="processName != null">process_name,</if>
......@@ -165,6 +171,8 @@
<if test="keyFlag != null">#{keyFlag},</if>
<if test="isCheck != null">#{isCheck},</if>
<if test="idx != null">#{idx},</if>
<if test="serial != null">#{serial},</if>
<if test="outsourced != null">#{outsourced},</if>
<if test="workstationCode != null">#{workstationCode},</if>
<if test="processingMethod != null">#{processingMethod},</if>
<if test="processName != null">#{processName},</if>
......@@ -207,6 +215,8 @@
<if test="keyFlag != null">key_flag = #{keyFlag},</if>
<if test="isCheck != null">is_check = #{isCheck},</if>
<if test="idx != null">idx = #{idx},</if>
<if test="serial != null">serial = #{serial},</if>
<if test="outsourced != null">outsourced = #{outsourced},</if>
<if test="workstationCode != null">workstation_code = #{workstationCode},</if>
<if test="processingMethod != null">processing_method = #{processingMethod},</if>
<if test="processName != null">process_name = #{processName},</if>
......
......@@ -47,7 +47,7 @@
parameterType="Long"
resultMap="ProProductionSolutionProcessToolResult">
<include refid="selectProProductionSolutionProcessToolVo"/>
where production_solution_process_id = #{productionSolutionProcessId}
where prototype_solution_process_id = #{productionSolutionProcessId}
</select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment