|
@@ -12,6 +12,7 @@ import com.rongwei.bscommon.sys.service.ZhcxCommissionCheckService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.rongwei.bsentity.domain.ZhcxCommissionCheckParameterSetDetalDo;
|
|
|
import com.rongwei.bsentity.domain.ZhcxCommissionCheckParameterSetDo;
|
|
|
+import com.rongwei.bsentity.dto.CheckDetailDTO;
|
|
|
import com.rongwei.bsentity.dto.CommissionCheckDTO;
|
|
|
import com.rongwei.rwcommon.base.R;
|
|
|
import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
@@ -126,6 +127,108 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
|
|
|
return R.ok("保存成功");
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R updateSynchronizationDetail(CheckDetailDTO detailDTO) {
|
|
|
+ String masterId = detailDTO.getMasterId();
|
|
|
+ if (masterId == null){
|
|
|
+ return R.error("主表id为空");
|
|
|
+ }
|
|
|
+ // 判断该机台是否已发运 如果已发运 就直接返回
|
|
|
+ if(baseMapper.checkedShippedByMasterId(masterId) >0){
|
|
|
+ return R.ok("该机台已发运,无需同步");
|
|
|
+ }
|
|
|
+ // 找到该项目下面其他 还没有发运的 机台主表数据
|
|
|
+ List<ZhcxCommissionCheckDo> list = baseMapper.getOtherShippeCheckList(masterId);
|
|
|
+ if(list.isEmpty()){
|
|
|
+ return R.ok("暂无其他机台需要同步");
|
|
|
+ }
|
|
|
+ // 主试车检查下的试车检查内容子表
|
|
|
+ LambdaQueryWrapper<ZhcxCommissionCheckDetailDo> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(ZhcxCommissionCheckDetailDo::getDeleted,"0")
|
|
|
+ .eq(ZhcxCommissionCheckDetailDo::getPid,masterId);
|
|
|
+ List<ZhcxCommissionCheckDetailDo> detailDos = commissionCheckDetailService.list(queryWrapper);
|
|
|
+ if(detailDos.isEmpty()){
|
|
|
+ return R.ok("试车检查内容为空");
|
|
|
+ }
|
|
|
+ // 创建检查内容结果集合
|
|
|
+ List<ZhcxCommissionCheckDetailDo> resultCheckDetailDo = new ArrayList<>();
|
|
|
+ for (ZhcxCommissionCheckDo zhcxCommissionCheckDo : list) {
|
|
|
+ // 1.将其他机台的子表全删
|
|
|
+ baseMapper.deleteCheckDetailByPid(zhcxCommissionCheckDo.getId());
|
|
|
+ // 2.将主试车表的检查内容复制
|
|
|
+ for (ZhcxCommissionCheckDetailDo detailDo : detailDos) {
|
|
|
+ ZhcxCommissionCheckDetailDo detailVo = structureCheckDetailVo(detailDo,zhcxCommissionCheckDo.getId());
|
|
|
+ resultCheckDetailDo.add(detailVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!resultCheckDetailDo.isEmpty()){
|
|
|
+ commissionCheckDetailService.saveBatch(resultCheckDetailDo);
|
|
|
+ }
|
|
|
+ return R.ok("同步成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 构建一条新的试车检查内容数据
|
|
|
+ * @param detailDo
|
|
|
+ * @param pid
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private ZhcxCommissionCheckDetailDo structureCheckDetailVo(ZhcxCommissionCheckDetailDo detailDo,String pid){
|
|
|
+ ZhcxCommissionCheckDetailDo detailVo = new ZhcxCommissionCheckDetailDo();
|
|
|
+ detailVo.setId(SecurityUtil.getUUID());
|
|
|
+ detailVo.setPid(pid);
|
|
|
+ // 一级分类
|
|
|
+ detailVo.setOnelevelclassification(detailDo.getOnelevelclassification());
|
|
|
+ // 二级分类
|
|
|
+ detailVo.setSecondlevelclassification(detailDo.getSecondlevelclassification());
|
|
|
+ // 标准库子表id
|
|
|
+ detailVo.setBasedetailid(detailDo.getBasedetailid());
|
|
|
+ // 章节号
|
|
|
+ detailVo.setChapterno(detailDo.getChapterno());
|
|
|
+ // 模式一
|
|
|
+ detailVo.setClassification(detailDo.getClassification());
|
|
|
+ // 模式二
|
|
|
+ detailVo.setClassificationtwo(detailDo.getClassificationtwo());
|
|
|
+ // 标题中文
|
|
|
+ detailVo.setChtitle(detailDo.getChtitle());
|
|
|
+ // 标题英文
|
|
|
+ detailVo.setEntitle(detailDo.getEntitle());
|
|
|
+ // 测试内容中文
|
|
|
+ detailVo.setChtestcontent(detailDo.getChtestcontent());
|
|
|
+ // 测试内容英文
|
|
|
+ detailVo.setEntestcontent(detailDo.getEntestcontent());
|
|
|
+ // 标准测试方法
|
|
|
+ detailVo.setTestmethod(detailDo.getTestmethod());
|
|
|
+ // 标准测试时间
|
|
|
+ detailVo.setTesttime(detailDo.getTesttime());
|
|
|
+ // 状态
|
|
|
+ detailVo.setStatus(detailDo.getStatus());
|
|
|
+
|
|
|
+ if(Objects.nonNull(detailDo.getChapterno())) {
|
|
|
+ List<ZhcxCommissionCheckDetailDo> doList = baseMapper.selectDetailListByPidAndChapterno(pid,detailDo.getChapterno());
|
|
|
+ if (!doList.isEmpty()) {
|
|
|
+ ZhcxCommissionCheckDetailDo checkDetailDo = doList.get(0);
|
|
|
+ // 用户填选填充
|
|
|
+ detailVo.setDebuggerresult(checkDetailDo.getDebuggerresult());
|
|
|
+ detailVo.setDebuggerdate(checkDetailDo.getDebuggerdate());
|
|
|
+ detailVo.setDebuggerdata(checkDetailDo.getDebuggerdata());
|
|
|
+ detailVo.setSelftester(checkDetailDo.getSelftester());
|
|
|
+ detailVo.setSelftesterid(checkDetailDo.getSelftesterid());
|
|
|
+ detailVo.setDebuggerpic(checkDetailDo.getDebuggerpic());
|
|
|
+ detailVo.setDebuggernotes(checkDetailDo.getDebuggernotes());
|
|
|
+
|
|
|
+ detailVo.setTestresult(checkDetailDo.getTestresult());
|
|
|
+ detailVo.setTestdata(checkDetailDo.getTestdata());
|
|
|
+ detailVo.setQa(checkDetailDo.getQa());
|
|
|
+ detailVo.setQaid(checkDetailDo.getQaid());
|
|
|
+ detailVo.setTestdate(checkDetailDo.getTestdate());
|
|
|
+ detailVo.setTestpic(checkDetailDo.getTestpic());
|
|
|
+ detailVo.setTestnotes(checkDetailDo.getTestnotes());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return detailVo;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 构建/查找返回 试车参数主表
|
|
|
* @param check 伪试车主表
|