|
@@ -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();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|