浏览代码

修改单集中派单

DLC 1 月之前
父节点
当前提交
7698362e4e

+ 7 - 0
qcs-common/src/main/java/com/rongwei/bscommon/sys/dao/QcsMdfDetailDao.java

@@ -0,0 +1,7 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.rongwei.bsentity.domain.QcsMdfDetailDo;
+import com.rongwei.rwcommon.base.BaseDao;
+
+public interface QcsMdfDetailDao extends BaseDao<QcsMdfDetailDo> {
+}

+ 3 - 0
qcs-common/src/main/java/com/rongwei/bscommon/sys/dao/QcsMdfFormDao.java

@@ -41,4 +41,7 @@ public interface QcsMdfFormDao extends BaseMapper<QcsMdfFormDo> {
 
     @Update("${inSql}")
     void insertLossDetail(@Param(value = "inSql") String inSql);
+
+    @Select("select ID,FULLNAME from  sys_organization where ORGTYPE='4' and DELETED='0' and ENABLED='y'")
+    List<Map<String, String>> getUnitMap();
 }

+ 7 - 0
qcs-common/src/main/java/com/rongwei/bscommon/sys/service/QcsMdfDetailService.java

@@ -0,0 +1,7 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.QcsMdfDetailDo;
+
+public interface QcsMdfDetailService extends IService<QcsMdfDetailDo> {
+}

+ 2 - 0
qcs-common/src/main/java/com/rongwei/bscommon/sys/service/QcsMdfFormService.java

@@ -8,4 +8,6 @@ import java.util.Map;
 
 public interface QcsMdfFormService extends IService<QcsMdfFormDo> {
     R afterSave(Map<String, String> params);
+
+    R centerSell(Map<String, String> params);
 }

+ 1 - 0
qcs-common/src/main/java/com/rongwei/bscommon/sys/service/impl/CommonServiceImpl.java

@@ -92,6 +92,7 @@ public class CommonServiceImpl implements CommonService {
                     qcsMdfFormVo.setDatasource("修改单系统");
                     qcsMdfFormVo.setIssend("未下发");
                     qcsMdfFormVo.setSubmitstate("已提交");
+                    qcsMdfFormVo.setCentersell("1");//集中派发默认是
                     qcsMdfFormDoList.add(qcsMdfFormVo);
                     for (QcsMdfSectionVo qcsMdfSectionVo : qcsMdfFormVo.getSections()) {
                         if (qcsMdfSectionVo.getFormid() == null) {

+ 11 - 0
qcs-common/src/main/java/com/rongwei/bscommon/sys/service/impl/QcsMdfDetailImpl.java

@@ -0,0 +1,11 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.QcsMdfDetailDao;
+import com.rongwei.bscommon.sys.service.QcsMdfDetailService;
+import com.rongwei.bsentity.domain.QcsMdfDetailDo;
+import org.springframework.stereotype.Service;
+
+@Service
+public class QcsMdfDetailImpl extends ServiceImpl<QcsMdfDetailDao, QcsMdfDetailDo> implements QcsMdfDetailService {
+}

+ 81 - 6
qcs-common/src/main/java/com/rongwei/bscommon/sys/service/impl/QcsMdfFormServiceImpl.java

@@ -3,10 +3,10 @@ package com.rongwei.bscommon.sys.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bscommon.sys.dao.QcsMdfFormDao;
 import com.rongwei.bscommon.sys.service.QcsMainCostService;
+import com.rongwei.bscommon.sys.service.QcsMdfDetailService;
 import com.rongwei.bscommon.sys.service.QcsMdfFormService;
-import com.rongwei.bsentity.domain.QcsLossDetailDo;
-import com.rongwei.bsentity.domain.QcsMainCostDo;
-import com.rongwei.bsentity.domain.QcsMdfFormDo;
+import com.rongwei.bscommon.sys.service.QcsMdfRowService;
+import com.rongwei.bsentity.domain.*;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.utils.SecurityUtil;
 import com.rongwei.rwcommon.utils.StringUtils;
@@ -17,9 +17,8 @@ import org.springframework.transaction.annotation.Transactional;
 import java.math.BigDecimal;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class QcsMdfFormServiceImpl extends ServiceImpl<QcsMdfFormDao, QcsMdfFormDo> implements QcsMdfFormService {
@@ -29,9 +28,14 @@ public class QcsMdfFormServiceImpl extends ServiceImpl<QcsMdfFormDao, QcsMdfForm
     QcsMdfFormService qcsMdfFormService;
     @Autowired
     QcsMainCostService qcsMainCostService;
+    @Autowired
+    QcsMdfRowService qcsMdfRowService;
+    @Autowired
+    QcsMdfDetailService qcsMdfDetailService;
 
     DecimalFormat df = new DecimalFormat("0.##");
 
+    //修改单保存之后
     @Override
     @Transactional
     public R afterSave(Map<String, String> params) {
@@ -100,4 +104,75 @@ public class QcsMdfFormServiceImpl extends ServiceImpl<QcsMdfFormDao, QcsMdfForm
             return R.error();
         }
     }
+
+    //集中派发
+    @Override
+    @Transactional
+    public R centerSell(Map<String, String> params) {
+        String formId = params.get("formId");
+        List<Map<String, String>> unitMap = qcsMdfFormDao.getUnitMap();
+        Map<String, Object> map = new HashMap<>();
+        map.put("FORMID", formId);
+        List<QcsMdfRowDo> qcsMdfRowDos = qcsMdfRowService.listByMap(map).stream().collect(Collectors.toList());
+
+        List<QcsMdfDetailDo> qcsMdfDetailDoList = new ArrayList<>();
+        QcsMdfFormDo qcsMdfFormDo = qcsMdfFormService.getById(formId);
+        qcsMdfFormDo.setIssend("已下发");
+        if (qcsMdfFormDo.getCentersell().equals("1")) {//集中派发
+            String[] deptIdArr = qcsMdfFormDo.getSelldeptids().split(",");
+            for (String deptid : deptIdArr) {
+                for (QcsMdfRowDo qcsMdfRowDo : qcsMdfRowDos) {
+                    List<Map<String, String>> mapList = unitMap.stream()
+                            .filter(umap -> {
+                                // 设置你的筛选条件
+                                String id = umap.get("ID");
+                                return id.equals(deptid);
+                            }).collect(Collectors.toList());
+                    if (mapList.size() > 0) {
+                        QcsMdfDetailDo qcsMdfDetailDo = new QcsMdfDetailDo();
+                        qcsMdfDetailDo.setId(SecurityUtil.getUUID());
+                        qcsMdfDetailDo.setDeptid(deptid);
+                        qcsMdfDetailDo.setDeptname(mapList.get(0).get("FULLNAME"));
+                        qcsMdfDetailDo.setFormid(formId);
+                        qcsMdfDetailDo.setSectionid(qcsMdfRowDo.getSectionid());
+                        qcsMdfDetailDo.setRowid(qcsMdfRowDo.getId());
+                        qcsMdfDetailDoList.add(qcsMdfDetailDo);
+                    }
+                }
+            }
+        } else {
+            for (QcsMdfRowDo mdfRowDo : qcsMdfRowDos) {
+                String[] deptArr = mdfRowDo.getDeptids().split(",");
+                for (String deptid : deptArr) {
+                    List<Map<String, String>> mapList = unitMap.stream()
+                            .filter(umap -> {
+                                // 设置你的筛选条件
+                                String id = umap.get("ID");
+                                return id.equals(deptid);
+                            }).collect(Collectors.toList());
+                    if (mapList.size() > 0) {
+                        QcsMdfDetailDo qcsMdfDetailDo = new QcsMdfDetailDo();
+                        qcsMdfDetailDo.setId(SecurityUtil.getUUID());
+                        qcsMdfDetailDo.setDeptid(deptid);
+                        qcsMdfDetailDo.setDeptname(mapList.get(0).get("FULLNAME"));
+                        qcsMdfDetailDo.setFormid(formId);
+                        qcsMdfDetailDo.setSectionid(mdfRowDo.getSectionid());
+                        qcsMdfDetailDo.setRowid(mdfRowDo.getId());
+                        qcsMdfDetailDoList.add(qcsMdfDetailDo);
+                    }
+                }
+            }
+        }
+
+        Boolean bool1 = qcsMdfFormService.updateById(qcsMdfFormDo);
+        Boolean bool2 = true;
+        if (qcsMdfDetailDoList.size() > 0) {
+            bool2 = qcsMdfDetailService.saveBatch(qcsMdfDetailDoList);
+        }
+        if (bool1 && bool2) {
+            return R.ok();
+        } else {
+            return R.error();
+        }
+    }
 }

+ 87 - 0
qcs-entity/src/main/java/com/rongwei/bsentity/domain/QcsMdfDetailDo.java

@@ -0,0 +1,87 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("qcs_mdf_detail")
+public class QcsMdfDetailDo extends BaseDo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * ID
+     */
+    private String id;
+    /**
+     * 施工方ID
+     */
+    private String deptid;
+
+    /**
+     * 施工方
+     */
+    private String deptname;
+
+    /**
+     * 人工
+     */
+    private BigDecimal manday;
+
+    /**
+     * 材料
+     */
+    private BigDecimal mater;
+
+    /**
+     * 设备
+     */
+    private BigDecimal equip;
+
+    /**
+     * 其他
+     */
+    private BigDecimal other;
+
+    /**
+     * 合计金额
+     */
+    private BigDecimal totalamount;
+
+    /**
+     * 实际金额
+     */
+    private BigDecimal actamount;
+
+    /**
+     * 修改单id
+     */
+    private String formid;
+
+    /**
+     * 序列组id
+     */
+    private String sectionid;
+
+    /**
+     * 排号id
+     */
+    private String rowid;
+
+    /**
+     * 状态
+     */
+    private String status;
+
+    /**
+     * 提交时间
+     */
+    private Date submitdate;
+}

+ 15 - 0
qcs-entity/src/main/java/com/rongwei/bsentity/domain/QcsMdfFormDo.java

@@ -273,5 +273,20 @@ public class QcsMdfFormDo extends BaseDo {
      */
     private String submitdeptid;
 
+    /**
+     * 集中派发
+     */
+    private String centersell;
+
+    /**
+     * 派发施工单位
+     */
+    private String selldeptids;
+
+    /**
+     * 抄送单位
+     */
+    private String copydeptids;
+
 
 }

+ 10 - 0
qcs-entity/src/main/java/com/rongwei/bsentity/domain/QcsMdfRowDo.java

@@ -148,6 +148,16 @@ public class QcsMdfRowDo extends BaseDo {
      */
     @TableField("DTWHOAPPROVEPATH")
     private String dtwhoapprovepath;
+    /**
+     * 排号附件
+     */
+    @TableField("ROWFILE")
+    private String rowfile;
+    /**
+     * 施工方
+     */
+    @TableField("DEPTIDS")
+    private String deptids;
 
 
 }

+ 13 - 0
qcs-server/src/main/java/com/rongwei/controller/QcsMdfFormController.java

@@ -30,4 +30,17 @@ public class QcsMdfFormController {
             return R.error();
         }
     }
+
+    //集中派发
+    @PostMapping("/centerSell")
+    public R centerSell(@RequestBody Map<String, String> params) {
+        try {
+            log.info("集中派发开始--" + params);
+            return qcsMdfFormService.centerSell(params);
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.info("集中派发异常..." + e.getMessage());
+            return R.error();
+        }
+    }
 }