|
@@ -4,15 +4,12 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.rongwei.bscommon.sys.dao.ZhcxPmqManagementDistributionDao;
|
|
|
-import com.rongwei.bscommon.sys.service.ZhcxPmqManagementDistributionDetailService;
|
|
|
-import com.rongwei.bscommon.sys.service.ZhcxPmqManagementDistributionService;
|
|
|
-import com.rongwei.bscommon.sys.service.ZhcxPmqManagementService;
|
|
|
+import com.rongwei.bscommon.sys.service.*;
|
|
|
import com.rongwei.bscommon.sys.utils.CommonUtils;
|
|
|
import com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDetailDo;
|
|
|
import com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDo;
|
|
|
import com.rongwei.bsentity.domain.ZhcxPmqManagementRecoredDo;
|
|
|
import com.rongwei.bscommon.sys.dao.ZhcxPmqManagementRecoredDao;
|
|
|
-import com.rongwei.bscommon.sys.service.ZhcxPmqManagementRecoredService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.rongwei.bsentity.dto.ZhcxPmqManagementDistributionDTO;
|
|
|
import com.rongwei.bsentity.dto.sqlServer.JuFileInfoDto;
|
|
@@ -70,7 +67,7 @@ public class ZhcxPmqManagementRecoredServiceImpl extends ServiceImpl<ZhcxPmqMana
|
|
|
private ZhcxPmqManagementDistributionDetailService zhcxPmqManagementDistributionDetailService;
|
|
|
|
|
|
@Autowired
|
|
|
- private ZhcxPmqManagementDistributionDao zhcxPmqManagementDistributionDao;
|
|
|
+ private ZhcxPmqManagementMapService managementMapService;
|
|
|
|
|
|
@Autowired
|
|
|
private SysFileItemService sysFileItemService;
|
|
@@ -505,4 +502,72 @@ public class ZhcxPmqManagementRecoredServiceImpl extends ServiceImpl<ZhcxPmqMana
|
|
|
}
|
|
|
return R.ok("批量派单成功");
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R updateBatchList(List<ZhcxPmqManagementDistributionDTO> list,String status,String dispatchstatus) {
|
|
|
+ String pids = list.get(0).getPid();
|
|
|
+ if(StringUtils.isEmpty(pids)){
|
|
|
+ return R.error("数据异常,请联系管理员");
|
|
|
+ }
|
|
|
+ String[] pidStr = pids.split(",");
|
|
|
+ // 第2.5层集合
|
|
|
+ List<ZhcxPmqManagementDistributionDo> resultList1 = new ArrayList<>();
|
|
|
+ // 第三层集合
|
|
|
+ List<ZhcxPmqManagementDistributionDetailDo> resultList2 = new ArrayList<>();
|
|
|
+ // 第一层主表ID
|
|
|
+ List<String> managementIds = new ArrayList<>();
|
|
|
+ for (String pid : pidStr) {
|
|
|
+ // 第二层数据
|
|
|
+ ZhcxPmqManagementRecoredDo recoredDo = this.getById(pid);
|
|
|
+ for (ZhcxPmqManagementDistributionDTO zhcxPmqManagementDistributionDTO : list) {
|
|
|
+ ZhcxPmqManagementDistributionDo result = new ZhcxPmqManagementDistributionDo();
|
|
|
+ String distributionId = SecurityUtil.getUUID();
|
|
|
+ result.setId(distributionId);
|
|
|
+ result.setPid(pid);
|
|
|
+ result.setProjectid(zhcxPmqManagementDistributionDTO.getProjectid());
|
|
|
+ result.setProjectname(zhcxPmqManagementDistributionDTO.getProjectname());
|
|
|
+ result.setProjectno(zhcxPmqManagementDistributionDTO.getProjectno());
|
|
|
+ result.setMachineid(zhcxPmqManagementDistributionDTO.getMachineid());
|
|
|
+ result.setMachineno(zhcxPmqManagementDistributionDTO.getMachineno());
|
|
|
+ result.setConfirmerid(zhcxPmqManagementDistributionDTO.getConfirmerid());
|
|
|
+ result.setConfirmer(zhcxPmqManagementDistributionDTO.getConfirmer());
|
|
|
+ // 关闭状态
|
|
|
+ result.setStatus(status);
|
|
|
+ if(!StringUtils.isEmpty(String.valueOf(recoredDo.getSeqno()))) {
|
|
|
+ result.setSerialnumber(String.valueOf(recoredDo.getSeqno()));
|
|
|
+ }
|
|
|
+ if(!StringUtils.isEmpty(zhcxPmqManagementDistributionDTO.getSupplement())) {
|
|
|
+ result.setSupplement(zhcxPmqManagementDistributionDTO.getSupplement());
|
|
|
+ }
|
|
|
+ result.setRemark("批量派单");
|
|
|
+ resultList1.add(result);
|
|
|
+ // 第三层数据
|
|
|
+ ZhcxPmqManagementDistributionDetailDo bean = new ZhcxPmqManagementDistributionDetailDo();
|
|
|
+ BeanUtil.copyProperties(result,bean);
|
|
|
+ bean.setDistributid(distributionId);
|
|
|
+ bean.setId(SecurityUtil.getUUID());
|
|
|
+ resultList2.add(bean);
|
|
|
+ }
|
|
|
+ // 更新第二层表数据
|
|
|
+ recoredDo.setClosestatus(status);
|
|
|
+ recoredDo.setDispatchstatus(dispatchstatus);
|
|
|
+ this.updateById(recoredDo);
|
|
|
+
|
|
|
+ managementIds.add(recoredDo.getPmqmid());
|
|
|
+ }
|
|
|
+ // 保存2.5层 3层数据
|
|
|
+ if(!resultList1.isEmpty()){
|
|
|
+ zhcxPmqManagementDistributionService.saveBatch(resultList1);
|
|
|
+ zhcxPmqManagementDistributionDetailService.saveBatch(resultList2);
|
|
|
+ }
|
|
|
+ // 如果关闭状态为 已关闭/NA 需要去同步更新第一层的状态
|
|
|
+ if(status.equals("已关闭") || status.equals("NA")){
|
|
|
+ List<String> ids = managementIds.stream().distinct().collect(Collectors.toList());
|
|
|
+ if(!ids.isEmpty()){
|
|
|
+ // 异步去更新第一层状态
|
|
|
+ managementMapService.updateClosedStateInFirstFloor(ids);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return R.ok("批量派单成功");
|
|
|
+ }
|
|
|
}
|