入库检验修改

master
zhaoxiaolin 1 year ago
parent f110febe1c
commit d9022031db

@ -3,6 +3,7 @@ package com.op.quality.controller;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.DateUtils;
@ -29,6 +30,8 @@ import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult; import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.utils.poi.ExcelUtil; import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.page.TableDataInfo; import com.op.common.core.web.page.TableDataInfo;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/** /**
* Controller * Controller
@ -99,6 +102,9 @@ public class QcCheckTaskWarehousingController extends BaseController {
@Log(title = "成品入库检验任务", businessType = BusinessType.INSERT) @Log(title = "成品入库检验任务", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody QcCheckTaskWarehousing qcCheckTaskWarehousing) { public AjaxResult add(@RequestBody QcCheckTaskWarehousing qcCheckTaskWarehousing) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
qcCheckTaskWarehousing.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_",""));
int r = qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskWarehousing); int r = qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskWarehousing);
if(r>0){ if(r>0){
return toAjax(r); return toAjax(r);
@ -109,7 +115,7 @@ public class QcCheckTaskWarehousingController extends BaseController {
@PostMapping("/createProductTask") @PostMapping("/createProductTask")
public AjaxResult createProductTask(@RequestBody QcCheckTaskWarehousingDTO qcCheckTaskWarehousingDTO) { public AjaxResult createProductTask(@RequestBody QcCheckTaskWarehousingDTO qcCheckTaskWarehousingDTO) {
QcCheckTaskWarehousing qcCheckTaskIncome = new QcCheckTaskWarehousing(); QcCheckTaskWarehousing qcCheckTaskIncome = new QcCheckTaskWarehousing();
BeanUtils.copyProperties(qcCheckTaskIncome,qcCheckTaskWarehousingDTO); BeanUtils.copyProperties(qcCheckTaskWarehousingDTO,qcCheckTaskIncome);
int r = qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskIncome); int r = qcCheckTaskWarehousingService.insertQcCheckTaskWarehousing(qcCheckTaskIncome);
if(r>0){ if(r>0){
return toAjax(r); return toAjax(r);

@ -96,6 +96,24 @@ public class QcCheckTaskDetail extends BaseEntity {
private String typeProjectId; private String typeProjectId;
private String defectCode; private String defectCode;
private String checkType; private String checkType;
private String fileListStr;
private List<BaseFile> files;
public List<BaseFile> getFiles() {
return files;
}
public void setFiles(List<BaseFile> files) {
this.files = files;
}
public String getFileListStr() {
return fileListStr;
}
public void setFileListStr(String fileListStr) {
this.fileListStr = fileListStr;
}
public String getCheckType() { public String getCheckType() {
return checkType; return checkType;

@ -137,6 +137,16 @@ public class QcCheckTaskIncome extends BaseEntity {
private BigDecimal bNoOkquality; private BigDecimal bNoOkquality;
private BigDecimal cNoOkquality; private BigDecimal cNoOkquality;
private String fileList;
public String getFileList() {
return fileList;
}
public void setFileList(String fileList) {
this.fileList = fileList;
}
public String getOrderType() { public String getOrderType() {
return orderType; return orderType;
} }

@ -0,0 +1,22 @@
package com.op.quality.mapper;
import com.op.common.core.domain.BaseFileData;
import com.op.quality.domain.BaseFile;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* Mapper
*
* @author Open Platform
* @date 2023-07-10
*/
@Mapper
public interface QMSFileMapper {
int insertBaseFileBatch(@Param("baseFiles") List<BaseFileData> baseFiles);
List<BaseFile> getBaseFileBatch(String recordId);
}

@ -6,6 +6,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
import com.op.common.core.domain.BaseFileData;
import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.utils.uuid.IdUtils;
@ -66,6 +67,9 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
@Autowired @Autowired
private RemoteOpenService remoteOpenService; private RemoteOpenService remoteOpenService;
@Autowired
private QMSFileMapper qmsFileMapper;
/** /**
* *
* *
@ -539,6 +543,25 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
/**更新qc_check_task_detail**/ /**更新qc_check_task_detail**/
for(QcCheckTaskDetail detail:details){ for(QcCheckTaskDetail detail:details){
detail.setUpdateTime(nowTime); detail.setUpdateTime(nowTime);
//上传附件
if (StringUtils.isNotEmpty(detail.getFileListStr())) {
String[] ids = detail.getFileListStr().split(",");
List<BaseFileData> files = new ArrayList<>();
BaseFileData file = null;
for (String id : ids) {
file = new BaseFileData();
file.setFileId(IdUtils.fastSimpleUUID());
file.setFileName(id.split("&fileName=")[1]);
file.setFileAddress(id);
file.setSourceId(detail.getRecordId());
file.setCreateBy(SecurityUtils.getUsername());
file.setCreateTime(nowTime);
files.add(file);
}
/**base_file**/
n = qmsFileMapper.insertBaseFileBatch(files);
System.out.println("base_file:"+n);
}
} }
n= qcCheckTaskIncomeMapper.updateQcCheckTaskDetails(details); n= qcCheckTaskIncomeMapper.updateQcCheckTaskDetails(details);
logger.info("更新qc_check_task_detail:"+n); logger.info("更新qc_check_task_detail:"+n);

@ -100,10 +100,8 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
String createBy = SecurityUtils.getUsername(); String createBy = SecurityUtils.getUsername();
Date nowDate= DateUtils.getNowDate(); Date nowDate= DateUtils.getNowDate();
//获取当前所选工厂
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String factoryCode = qcCheckTaskWarehousing.getFactoryCode();
String key = "#header.poolName";
String factoryCode = request.getHeader(key.substring(8)).replace("ds_","");
qcCheckTaskWarehousing.setCheckNo(bpDD+liushuiStr); qcCheckTaskWarehousing.setCheckNo(bpDD+liushuiStr);

@ -10,6 +10,7 @@ import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.uuid.IdUtils; import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils; import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.*; import com.op.quality.domain.*;
import com.op.quality.mapper.QMSFileMapper;
import com.op.quality.mapper.QcCheckTaskIncomeMapper; import com.op.quality.mapper.QcCheckTaskIncomeMapper;
import com.op.quality.mapper.QcProCheckMapper; import com.op.quality.mapper.QcProCheckMapper;
import com.op.quality.service.QcProCheckService; import com.op.quality.service.QcProCheckService;
@ -36,6 +37,9 @@ public class QcProCheckServiceImpl implements QcProCheckService {
@Autowired @Autowired
private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper; private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper;
@Autowired
private QMSFileMapper qmsFileMapper;
@Override @Override
public R<Boolean> saveQcProCheck(QcProCheck qcProCheck) { public R<Boolean> saveQcProCheck(QcProCheck qcProCheck) {
DynamicDataSourceContextHolder.push("ds_" + qcProCheck.getFactoryCode()); DynamicDataSourceContextHolder.push("ds_" + qcProCheck.getFactoryCode());
@ -133,6 +137,13 @@ public class QcProCheckServiceImpl implements QcProCheckService {
defects =qcCheckTaskIncomeMapper.getDefectType(qcCheckTaskDetail); defects =qcCheckTaskIncomeMapper.getDefectType(qcCheckTaskDetail);
} }
dto.setDefects(defects); dto.setDefects(defects);
for(QcCheckTaskDetail qcd:qcCheckTaskDetails){
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(qcd.getRecordId());
if (CollectionUtils.isEmpty(files)) {
qcd.setFiles(files);
}
}
return dto; return dto;
} }

@ -0,0 +1,47 @@
<?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.op.quality.mapper.QMSFileMapper">
<resultMap type="BaseFile" id="BaseFileResult">
<result property="fileId" column="file_id" />
<result property="fileName" column="file_name" />
<result property="fileAddress" column="file_address" />
<result property="sourceId" column="source_id" />
<result property="remark" column="remark" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectBaseFileVo">
select file_id, file_name, file_address, source_id, remark, attr1,
attr2, attr3, attr4, create_by, create_time, update_by,
update_time from base_file
</sql>
<insert id="insertBaseFileBatch">
INSERT INTO base_file(file_id, file_name, file_address, source_id, remark, create_by, create_time)
VALUES
<foreach collection="baseFiles" index="" item="baseFile" separator=",">
(
#{baseFile.fileId},
#{baseFile.fileName},
#{baseFile.fileAddress},
#{baseFile.sourceId},
#{baseFile.remark},
#{baseFile.createBy},
#{baseFile.createTime}
)
</foreach>
</insert>
<select id="getBaseFileBatch" resultMap="BaseFileResult">
<include refid="selectBaseFileVo"/>
where source_id = #{recordId}
</select>
</mapper>
Loading…
Cancel
Save