|
@@ -0,0 +1,95 @@
|
|
|
+package com.rongwei.bscommon.sys.service.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.rongwei.bscommon.sys.service.ZhcxPmqManagementDistributionDetailService;
|
|
|
+import com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDetailDo;
|
|
|
+import com.rongwei.bsentity.domain.ZhcxPmqManagementDistributionDo;
|
|
|
+import com.rongwei.bscommon.sys.dao.ZhcxPmqManagementDistributionDao;
|
|
|
+import com.rongwei.bscommon.sys.service.ZhcxPmqManagementDistributionService;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.rongwei.rwcommon.base.R;
|
|
|
+import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
|
+import com.rongwei.rwcommon.utils.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 三单管理_派发机台 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author xuan
|
|
|
+ * @since 2024-11-13
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class ZhcxPmqManagementDistributionServiceImpl extends ServiceImpl<ZhcxPmqManagementDistributionDao, ZhcxPmqManagementDistributionDo> implements ZhcxPmqManagementDistributionService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ZhcxPmqManagementDistributionDetailService detailService;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R generateDistributionDetail(String pid) {
|
|
|
+ if(StringUtils.isEmpty(pid)){
|
|
|
+ return R.error("id不能为空");
|
|
|
+ }
|
|
|
+ // 一个sql直接把数据拆开
|
|
|
+ List<ZhcxPmqManagementDistributionDo> baseList = baseMapper.selectListByPidForConfirmer(pid);
|
|
|
+ if(baseList.isEmpty()){
|
|
|
+ return R.ok("暂无数据需要派单");
|
|
|
+ }
|
|
|
+ // 派单集合
|
|
|
+ List<ZhcxPmqManagementDistributionDetailDo> addList = new ArrayList<>();
|
|
|
+ List<ZhcxPmqManagementDistributionDetailDo> updateList = new ArrayList<>();
|
|
|
+ // 正文如下
|
|
|
+ for (ZhcxPmqManagementDistributionDo zhcxPmqManagementDistributionDo : baseList) {
|
|
|
+ // 防止脏数据
|
|
|
+ if(StringUtils.isEmpty(zhcxPmqManagementDistributionDo.getId())
|
|
|
+ || StringUtils.isEmpty(zhcxPmqManagementDistributionDo.getMachineid())
|
|
|
+ || StringUtils.isEmpty(zhcxPmqManagementDistributionDo.getConfirmerid())){
|
|
|
+ return R.error("派单数据异常,含有脏数据");
|
|
|
+ }
|
|
|
+ // 判断数据是否已生成派单
|
|
|
+ List<ZhcxPmqManagementDistributionDetailDo> details =
|
|
|
+ baseMapper.getDetailList(zhcxPmqManagementDistributionDo.getId(),
|
|
|
+ pid,
|
|
|
+ zhcxPmqManagementDistributionDo.getMachineid(),
|
|
|
+ zhcxPmqManagementDistributionDo.getConfirmerid());
|
|
|
+ if(details.size() > 2){return R.error("派单数据异常");}
|
|
|
+ if(details.isEmpty()){
|
|
|
+ // 添加
|
|
|
+ ZhcxPmqManagementDistributionDetailDo add = new ZhcxPmqManagementDistributionDetailDo();
|
|
|
+ add.setId(SecurityUtil.getUUID())
|
|
|
+ .setPid(pid)
|
|
|
+ .setProjectid(zhcxPmqManagementDistributionDo.getProjectid())
|
|
|
+ .setMachineid(zhcxPmqManagementDistributionDo.getMachineid())
|
|
|
+ .setMachineno(zhcxPmqManagementDistributionDo.getMachineno())
|
|
|
+ .setProjectno(zhcxPmqManagementDistributionDo.getProjectno())
|
|
|
+ .setProjectname(zhcxPmqManagementDistributionDo.getProjectname())
|
|
|
+ .setConfirmerid(zhcxPmqManagementDistributionDo.getConfirmerid())
|
|
|
+ .setConfirmer(zhcxPmqManagementDistributionDo.getConfirmer())
|
|
|
+ .setEstimatedclosedata(zhcxPmqManagementDistributionDo.getEstimatedclosedata())
|
|
|
+ .setSerialnumber(zhcxPmqManagementDistributionDo.getSerialnumber())
|
|
|
+ .setDistributid(zhcxPmqManagementDistributionDo.getId());
|
|
|
+ addList.add(add);
|
|
|
+ }else {
|
|
|
+ // 更新
|
|
|
+ ZhcxPmqManagementDistributionDetailDo detailDo = details.get(0);
|
|
|
+ detailDo.setEstimatedclosedata(zhcxPmqManagementDistributionDo.getEstimatedclosedata());
|
|
|
+ updateList.add(detailDo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 操作派单表
|
|
|
+ if(!addList.isEmpty()){
|
|
|
+ detailService.saveBatch(addList);
|
|
|
+ }
|
|
|
+ if(!updateList.isEmpty()){
|
|
|
+ detailService.updateBatchById(updateList);
|
|
|
+ }
|
|
|
+ return R.ok("生成派单成功");
|
|
|
+ }
|
|
|
+}
|