首检报告
parent
3a9aa84d56
commit
096e30657d
@ -0,0 +1,185 @@
|
||||
package com.op.quality.controller;
|
||||
|
||||
import com.op.common.core.utils.DateUtils;
|
||||
import com.op.common.core.utils.poi.ExcelUtil;
|
||||
import com.op.common.core.web.controller.BaseController;
|
||||
import com.op.common.core.web.domain.AjaxResult;
|
||||
import com.op.common.core.web.page.TableDataInfo;
|
||||
import com.op.common.log.annotation.Log;
|
||||
import com.op.common.log.enums.BusinessType;
|
||||
import com.op.common.security.annotation.RequiresPermissions;
|
||||
import com.op.common.security.utils.SecurityUtils;
|
||||
import com.op.quality.domain.QcBomComponent;
|
||||
import com.op.quality.domain.QcCheckReportIncome;
|
||||
import com.op.quality.domain.QcCheckTaskDetail;
|
||||
import com.op.quality.domain.QcSupplier;
|
||||
import com.op.quality.service.IQcCheckReportFirstService;
|
||||
import com.op.system.api.domain.SysUser;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 来料检验Controller
|
||||
*
|
||||
* @author Open Platform
|
||||
* @date 2023-10-19
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/qcFirstReport")
|
||||
public class QcCheckReportFirstController extends BaseController {
|
||||
@Autowired
|
||||
private IQcCheckReportFirstService qcCheckReportFirstService;
|
||||
|
||||
/**
|
||||
* 查询来料检验列表
|
||||
*/
|
||||
@RequiresPermissions("quality:firstReport:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(QcCheckReportIncome qcCheckReportIncome) {
|
||||
|
||||
//默认时间范围T 00:00:00~T+1 00:00:00
|
||||
if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){
|
||||
qcCheckReportIncome.setCheckTimeStart(DateUtils.getDate()+" 00:00:00");//start
|
||||
LocalDate date = LocalDate.now();
|
||||
LocalDate dateEnd = date.plusDays(1);
|
||||
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
String dateEndStr = dtf.format(dateEnd)+" 23:59:59";
|
||||
qcCheckReportIncome.setCheckTimeEnd(dateEndStr);//end
|
||||
}
|
||||
|
||||
// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){
|
||||
// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start
|
||||
// qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end
|
||||
// }
|
||||
|
||||
startPage();
|
||||
List<QcCheckReportIncome> list = qcCheckReportFirstService.selectQcCheckReportIncomeList(qcCheckReportIncome);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出来料检验列表
|
||||
*/
|
||||
@RequiresPermissions("quality:firstReport:export")
|
||||
@Log(title = "来料检验", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) {
|
||||
|
||||
//默认时间范围T 00:00:00~T+1 00:00:00
|
||||
if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){
|
||||
qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start
|
||||
LocalDate date = LocalDate.now();
|
||||
LocalDate dateEnd = date.plusDays(1);
|
||||
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
String dateEndStr = dtf.format(dateEnd)+" 00:00:00";
|
||||
qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end
|
||||
}
|
||||
|
||||
// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){
|
||||
// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start
|
||||
// qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end
|
||||
// }
|
||||
|
||||
List<QcCheckReportIncome> list = qcCheckReportFirstService.selectQcCheckReportIncomeList(qcCheckReportIncome);
|
||||
ExcelUtil<QcCheckReportIncome> util = new ExcelUtil<QcCheckReportIncome>(QcCheckReportIncome.class);
|
||||
util.exportExcel(response, list, "来料检验数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取来料检验详细信息
|
||||
*/
|
||||
@RequiresPermissions("quality:firstReport:query")
|
||||
@GetMapping(value = "/{recordId}")
|
||||
public AjaxResult getInfo(@PathVariable("recordId") String recordId) {
|
||||
return success(qcCheckReportFirstService.selectQcCheckReportIncomeByRecordId(recordId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增来料检验
|
||||
*/
|
||||
@RequiresPermissions("quality:firstReport:add")
|
||||
@Log(title = "来料检验", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody QcCheckReportIncome qcCheckReportIncome) {
|
||||
int r = qcCheckReportFirstService.insertQcCheckReportIncome(qcCheckReportIncome);
|
||||
if(r>0){
|
||||
return toAjax(r);
|
||||
}
|
||||
return error("添加失败:请检查物料的关联检测项");
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改来料检验
|
||||
*/
|
||||
@RequiresPermissions("quality:firstReport:edit")
|
||||
@Log(title = "来料检验", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody QcCheckReportIncome qcCheckReportIncome) {
|
||||
return toAjax(qcCheckReportFirstService.updateQcCheckReportIncome(qcCheckReportIncome));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除来料检验
|
||||
*/
|
||||
@RequiresPermissions("quality:firstReport:remove")
|
||||
@Log(title = "来料检验", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{recordIds}")
|
||||
public AjaxResult remove(@PathVariable String[] recordIds) {
|
||||
return toAjax(qcCheckReportFirstService.deleteQcCheckReportIncomeByRecordIds(recordIds));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询BOM物料管理列表
|
||||
*/
|
||||
@GetMapping("/getQcListBom")
|
||||
public TableDataInfo getQcListBom(QcBomComponent bomComponent) {
|
||||
startPage();
|
||||
List<QcBomComponent> list = qcCheckReportFirstService.getQcListBom(bomComponent);
|
||||
return getDataTable(list);
|
||||
}
|
||||
/**
|
||||
* 查询供应商列表
|
||||
*/
|
||||
@GetMapping("/getQcListSupplier")
|
||||
public TableDataInfo getQcListSupplier(QcSupplier qcSupplier) {
|
||||
startPage();
|
||||
List<QcSupplier> list = qcCheckReportFirstService.getQcListSupplier(qcSupplier);
|
||||
return getDataTable(list);
|
||||
}
|
||||
/**
|
||||
* 查询人员列表
|
||||
*/
|
||||
@GetMapping("/getQcListUser")
|
||||
public TableDataInfo getQcListUser(SysUser sysUser) {
|
||||
startPage();
|
||||
List<SysUser> list = qcCheckReportFirstService.getQcListUser(sysUser);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态修改
|
||||
*/
|
||||
@PutMapping("/changeIncomeStatus")
|
||||
public AjaxResult changeIncomeStatus(@RequestBody QcCheckReportIncome qcCheckReportIncome) {
|
||||
qcCheckReportIncome.setUpdateBy(SecurityUtils.getUsername());
|
||||
qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate());
|
||||
return toAjax(qcCheckReportFirstService.updateIncomeStatus(qcCheckReportIncome));
|
||||
}
|
||||
|
||||
/**
|
||||
* 检验项目弹窗列表
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getCkeckProjectList")
|
||||
public TableDataInfo getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) {
|
||||
List<QcCheckTaskDetail> list = qcCheckReportFirstService.getCkeckProjectList(qcCheckTaskDetail);
|
||||
return getDataTable(list);
|
||||
}
|
||||
}
|
@ -0,0 +1,78 @@
|
||||
package com.op.quality.service;
|
||||
|
||||
import com.op.quality.domain.QcBomComponent;
|
||||
import com.op.quality.domain.QcCheckReportIncome;
|
||||
import com.op.quality.domain.QcCheckTaskDetail;
|
||||
import com.op.quality.domain.QcSupplier;
|
||||
import com.op.system.api.domain.SysUser;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 来料报告Service接口
|
||||
*
|
||||
* @author Open Platform
|
||||
* @date 2023-10-19
|
||||
*/
|
||||
public interface IQcCheckReportFirstService {
|
||||
/**
|
||||
* 查询来料报告
|
||||
*
|
||||
* @param recordId 来料报告主键
|
||||
* @return 来料检验
|
||||
*/
|
||||
public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId);
|
||||
|
||||
/**
|
||||
* 查询来料报告列表
|
||||
*
|
||||
* @param qcCheckReportIncome 来料报告
|
||||
* @return 来料检验集合
|
||||
*/
|
||||
public List<QcCheckReportIncome> selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome);
|
||||
|
||||
/**
|
||||
* 新增来料报告
|
||||
*
|
||||
* @param qcCheckReportIncome 来料报告
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome);
|
||||
|
||||
/**
|
||||
* 修改来料报告
|
||||
*
|
||||
* @param qcCheckReportIncome 来料报告
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome);
|
||||
|
||||
/**
|
||||
* 批量删除来料报告
|
||||
*
|
||||
* @param recordIds 需要删除的来料报告主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds);
|
||||
|
||||
/**
|
||||
* 删除来料报告信息
|
||||
*
|
||||
* @param recordId 来料报告主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteQcCheckReportIncomeByRecordId(String recordId);
|
||||
|
||||
public List<QcBomComponent> getQcListBom(QcBomComponent bomComponent);
|
||||
|
||||
public List<QcSupplier> getQcListSupplier(QcSupplier qcSupplier);
|
||||
|
||||
public List<SysUser> getQcListUser(SysUser sysUser);
|
||||
|
||||
int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome);
|
||||
|
||||
List<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail);
|
||||
|
||||
public List<QcCheckReportIncome> getPrintData(QcCheckReportIncome qcCheckReportIncome);
|
||||
|
||||
}
|
@ -0,0 +1,207 @@
|
||||
package com.op.quality.service.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.op.common.core.utils.DateUtils;
|
||||
import com.op.common.core.utils.uuid.IdUtils;
|
||||
import com.op.common.security.utils.SecurityUtils;
|
||||
import com.op.quality.domain.*;
|
||||
import com.op.quality.mapper.QcCheckReportIncomeMapper;
|
||||
import com.op.quality.mapper.QcCheckTaskDetailMapper;
|
||||
import com.op.quality.mapper.QcCheckTypeProjectMapper;
|
||||
import com.op.quality.mapper.QcMaterialGroupDetailMapper;
|
||||
import com.op.quality.service.IQcCheckReportFirstService;
|
||||
import com.op.quality.service.IQcCheckReportIncomeService;
|
||||
import com.op.system.api.domain.SysUser;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 来料检验Service业务层处理
|
||||
*
|
||||
* @author Open Platform
|
||||
* @date 2023-10-19
|
||||
*/
|
||||
@Service
|
||||
public class QcCheckReportFirstServiceImpl implements IQcCheckReportFirstService {
|
||||
@Autowired
|
||||
private QcCheckReportIncomeMapper qcCheckReportIncomeMapper;
|
||||
|
||||
@Autowired
|
||||
private QcCheckTypeProjectMapper qcCheckTypeProjectMapper;
|
||||
|
||||
@Autowired
|
||||
private QcMaterialGroupDetailMapper qcMaterialGroupDetailMapper;
|
||||
|
||||
@Autowired
|
||||
private QcCheckTaskDetailMapper qcCheckTaskDetailMapper;
|
||||
|
||||
/**
|
||||
* 查询来料检验
|
||||
*
|
||||
* @param recordId 来料检验主键
|
||||
* @return 来料检验
|
||||
*/
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId) {
|
||||
return qcCheckReportIncomeMapper.selectQcCheckReportIncomeByRecordId(recordId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询来料检验列表
|
||||
*
|
||||
* @param qcCheckReportIncome 来料检验
|
||||
* @return 来料检验
|
||||
*/
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public List<QcCheckReportIncome> selectQcCheckReportIncomeList(QcCheckReportIncome qcCheckReportIncome) {
|
||||
qcCheckReportIncome.setDelFlag("0");
|
||||
qcCheckReportIncome.setTypeCode("produce");
|
||||
qcCheckReportIncome.setCheckType("checkTypeSC");
|
||||
return qcCheckReportIncomeMapper.selectQcCheckReportIncomeList(qcCheckReportIncome);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增来料检验
|
||||
*
|
||||
* @param qcCheckReportIncome 来料检验
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public int insertQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) {
|
||||
|
||||
String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate());
|
||||
int liushuiNum = qcCheckReportIncomeMapper.getTodayMaxNum(qcCheckReportIncome);
|
||||
String liushuiStr = String.format("%04d", liushuiNum);
|
||||
|
||||
String createBy = SecurityUtils.getUsername();
|
||||
Date nowDate= DateUtils.getNowDate();
|
||||
//获取当前所选工厂
|
||||
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
|
||||
String key = "#header.poolName";
|
||||
String factoryCode = request.getHeader(key.substring(8)).replace("ds_","");
|
||||
|
||||
qcCheckReportIncome.setCheckNo(bpDD+liushuiStr);
|
||||
|
||||
/**qc_check_task_income**/
|
||||
String beLongId = IdUtils.fastSimpleUUID();
|
||||
qcCheckReportIncome.setRecordId(beLongId);
|
||||
qcCheckReportIncome.setFactoryCode(factoryCode);
|
||||
qcCheckReportIncome.setCreateTime(nowDate);
|
||||
qcCheckReportIncomeMapper.insertQcCheckReportIncome(qcCheckReportIncome);
|
||||
|
||||
/**取检测项**/
|
||||
QcCheckTypeProject qctp= new QcCheckTypeProject();
|
||||
qctp.setTypeId(qcCheckReportIncome.getCheckType());//生产过程检验
|
||||
qctp.setMaterialCode(qcCheckReportIncome.getMaterialCode());//特性
|
||||
/**qc_check_type_project**/
|
||||
List<QcCheckTaskDetail> items = qcCheckTypeProjectMapper.getTPByTypeMaterial(qctp);
|
||||
if(CollectionUtils.isEmpty(items)){
|
||||
/**qc_material_group_detail**/
|
||||
QcMaterialGroupDetail group = qcMaterialGroupDetailMapper.getGroupByMaterial(qcCheckReportIncome.getMaterialCode());
|
||||
if(group == null){
|
||||
return 0;//没有找到检测项目
|
||||
}
|
||||
qctp.setGroupId(group.getGroupId());//共性
|
||||
items = qcCheckTypeProjectMapper.getTPByTypeGroup(qctp);
|
||||
}
|
||||
|
||||
/**qc_check_task_detail**/
|
||||
if(CollectionUtils.isEmpty(items)){
|
||||
return 0;//没有找到检测项目
|
||||
}
|
||||
|
||||
for(QcCheckTaskDetail item:items){
|
||||
item.setRecordId(IdUtils.fastSimpleUUID());
|
||||
item.setBelongTo(beLongId);
|
||||
item.setCreateTime(nowDate);
|
||||
item.setCreateBy(createBy);
|
||||
item.setFactoryCode(factoryCode);
|
||||
item.setStatus("N");
|
||||
}
|
||||
return qcCheckTaskDetailMapper.addBatch(items);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改来料检验
|
||||
*
|
||||
* @param qcCheckReportIncome 来料检验
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public int updateQcCheckReportIncome(QcCheckReportIncome qcCheckReportIncome) {
|
||||
qcCheckReportIncome.setUpdateTime(DateUtils.getNowDate());
|
||||
return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除来料检验
|
||||
*
|
||||
* @param recordIds 需要删除的来料检验主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public int deleteQcCheckReportIncomeByRecordIds(String[] recordIds) {
|
||||
return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordIds(recordIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除来料检验信息
|
||||
*
|
||||
* @param recordId 来料检验主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public int deleteQcCheckReportIncomeByRecordId(String recordId) {
|
||||
return qcCheckReportIncomeMapper.deleteQcCheckReportIncomeByRecordId(recordId);
|
||||
}
|
||||
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public List<QcBomComponent> getQcListBom(QcBomComponent bomComponent) {
|
||||
return qcCheckReportIncomeMapper.getQcListBom(bomComponent);
|
||||
}
|
||||
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public List<QcSupplier> getQcListSupplier(QcSupplier qcSupplier) {
|
||||
return qcCheckReportIncomeMapper.getQcListSupplier(qcSupplier);
|
||||
}
|
||||
|
||||
@Override
|
||||
@DS("master")
|
||||
public List<SysUser> getQcListUser(SysUser sysUser) {
|
||||
return qcCheckReportIncomeMapper.getQcListUser(sysUser);
|
||||
}
|
||||
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public int updateIncomeStatus(QcCheckReportIncome qcCheckReportIncome) {
|
||||
return qcCheckReportIncomeMapper.updateQcCheckReportIncome(qcCheckReportIncome);
|
||||
}
|
||||
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public List<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) {
|
||||
return qcCheckReportIncomeMapper.getCkeckProjectList(qcCheckTaskDetail);
|
||||
}
|
||||
|
||||
@Override
|
||||
@DS("#header.poolName")
|
||||
public List<QcCheckReportIncome> getPrintData(QcCheckReportIncome qcCheckReportIncome) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue