|
|
@@ -1,6 +1,7 @@
|
|
|
package com.goafanti.techproject.service.impl;
|
|
|
|
|
|
import com.goafanti.common.bo.Result;
|
|
|
+import com.goafanti.common.constant.AFTConstants;
|
|
|
import com.goafanti.common.dao.*;
|
|
|
import com.goafanti.common.model.*;
|
|
|
import com.goafanti.common.utils.DateUtils;
|
|
|
@@ -73,24 +74,40 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
TaskDetails taskDetails=taskDetailsMapper.selectById(tOrderTask.getProgressTid());
|
|
|
if (taskDetails !=null){
|
|
|
BeanUtils.copyProperties( taskDetails,res);
|
|
|
+ if (res.getProjectId()!=null&&res.getProjectId().equals(TokenManager.getAdminId())){
|
|
|
+ res.setUpdateStatus(1);
|
|
|
+ }else {
|
|
|
+ res.setUpdateStatus(0);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ res.setTid(id);
|
|
|
}
|
|
|
addOrderInformation(res);
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Result export(InputTaskDetailsBo in) {
|
|
|
+ public Result pushExport(InputTaskDetailsBo in) {
|
|
|
in.setPageNo(1);
|
|
|
in.setPageSize(10000);
|
|
|
- Pagination<TaskDetailsBo> page = detailsList(in);
|
|
|
+ Pagination<TaskDetailsBo> page = pushDetailsList(in);
|
|
|
List<TaskDetailsBo> list = (List<TaskDetailsBo>) page.getList();
|
|
|
NewExcelUtil<TaskDetailsBo> excel=new NewExcelUtil<>(TaskDetailsBo.class);
|
|
|
return excel.exportTaskDetailsExcel(list,"项目进度表",uploadPath);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Pagination<TaskDetailsBo> detailsList(InputTaskDetailsBo in) {
|
|
|
- in.setAid(TokenManager.getUserId());
|
|
|
+ public Pagination<TaskDetailsBo> pushDetailsList(InputTaskDetailsBo in) {
|
|
|
+
|
|
|
+ // 0=查询所有,1=查询自己,2=查询下级,3=负责人查询
|
|
|
+ if (TokenManager.hasRole(AFTConstants.SUPERADMIN)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)){
|
|
|
+ in.setRoleStatus(0);
|
|
|
+ } else {
|
|
|
+ in.setAid(TokenManager.getAdminId());
|
|
|
+ if (in.getRoleStatus()==null){
|
|
|
+ in.setRoleStatus(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
Pagination<?> page = findPage("selectTaskDetailsList", "selectTaskDetailsCount", in);
|
|
|
List<TaskDetails> list = (List<TaskDetails>) page.getList();
|
|
|
List<TaskDetailsBo> list2=new ArrayList<>();
|
|
|
@@ -109,7 +126,6 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
TOrderNew tOrderNew = tOrderNewMapper.selectByTid(bo.getTid());
|
|
|
TOrderTask tOrderTask = tOrderTaskMapper.queryById(bo.getTid());
|
|
|
TOrderMid mid = tOrderMidMapper.selectByOrderNo(tOrderNew.getOrderNo());
|
|
|
- List<Map<String,Object >> list;
|
|
|
//获取项目服务年份算出平均值
|
|
|
List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(tOrderNew.getOrderNo(), null);
|
|
|
List<TOrderTaskBo> collect = tOrderTaskBos.stream().filter(e -> e.getSplitStatus() == 1).collect(Collectors.toList());
|
|
|
@@ -122,13 +138,15 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
}
|
|
|
TTaskMember tTaskMember = ttaskMemberMapper.selectByTid(tOrderTask.getId());
|
|
|
String serviceYear = getServiceYer(tTaskMember.getServiceYear());
|
|
|
- list=addOrderList(collect2,serviceYear);
|
|
|
+ if (StringUtils.isEmpty(bo.getTaskName())){
|
|
|
+ bo.setTaskName(mid.getSalesmanName());
|
|
|
+ }
|
|
|
+ addOrderList(collect2,serviceYear,bo);
|
|
|
bo.setUserName(mid.getBuyerName());
|
|
|
bo.setOrderNo(tOrderNew.getOrderNo());
|
|
|
bo.setContractNo(tOrderNew.getContractNo());
|
|
|
bo.setServiceYear(serviceYear);
|
|
|
bo.setMemberStatus(mid.getProjectType());
|
|
|
- bo.setTaskList(list);
|
|
|
if (bo.getMemberStatus()==null){
|
|
|
BigDecimal totalAmount = tOrderNew.getTotalAmount().divide(new BigDecimal(yearSum), 2, RoundingMode.HALF_UP);
|
|
|
Integer lvl=getOrderLvl(totalAmount);
|
|
|
@@ -137,6 +155,8 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
bo.setFeatureList(taskFeatureMapper.selectByTdId(bo.getId()));
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
private String getServiceYer(String serviceYear) {
|
|
|
String serviceYear2;
|
|
|
if (StringUtils.isEmpty(serviceYear)){
|
|
|
@@ -180,6 +200,7 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
* 新增数据
|
|
|
*
|
|
|
* @param taskDetails 实例对象
|
|
|
+ * @param type 0=初步新增,1=新增切同步日志
|
|
|
* @return 实例对象
|
|
|
*/
|
|
|
@Override
|
|
|
@@ -198,6 +219,7 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
//新增日志数据
|
|
|
if (type==1){
|
|
|
try {
|
|
|
+ pushFeature(taskDetails);
|
|
|
addTaskDetailsLog(taskDetails);
|
|
|
} catch (InvocationTargetException | IllegalAccessException e) {
|
|
|
throw new RuntimeException(e);
|
|
|
@@ -206,6 +228,37 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
return taskDetails;
|
|
|
}
|
|
|
|
|
|
+ private void pushFeature(TaskDetails taskDetails) {
|
|
|
+ List<TaskFeature> list = taskFeatureMapper.selectByTdId(taskDetails.getId());
|
|
|
+ for (TaskFeature e : list) {
|
|
|
+ StringBuilder str=new StringBuilder();
|
|
|
+ String dateStr = DateUtils.formatDate(e.getStartTime(), "yyyy-MM-dd");
|
|
|
+ str.append(dateStr).append(" 检查部门(").append(e.getDepName()).append(") ");
|
|
|
+ String type=e.getInspectWay()==0?"线上":e.getInspectWay()==1?"线下":"无";
|
|
|
+ str.append(type).append(";");
|
|
|
+ if (e.getType()==1){
|
|
|
+ taskDetails.setFeatureHt(str.toString());
|
|
|
+ }else if (e.getType()==2){
|
|
|
+ taskDetails.setFeatureAd(str.toString());
|
|
|
+ }else if (e.getType()==3){
|
|
|
+ taskDetails.setFeatureTr(str.toString());
|
|
|
+ }else if (e.getType()==4){
|
|
|
+ taskDetails.setFeatureTe(str.toString());
|
|
|
+ }else if (e.getType()==5){
|
|
|
+ taskDetails.setFeatureTi(str.toString());
|
|
|
+ }else if (e.getType()==0){
|
|
|
+ taskDetails.setFeatureOther(str.toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isEmpty(taskDetails.getFeatureHt()))taskDetails.setFeatureHt("无");
|
|
|
+ if (StringUtils.isEmpty(taskDetails.getFeatureAd()))taskDetails.setFeatureAd("无");
|
|
|
+ if (StringUtils.isEmpty(taskDetails.getFeatureTr()))taskDetails.setFeatureTr("无");
|
|
|
+ if (StringUtils.isEmpty(taskDetails.getFeatureTe()))taskDetails.setFeatureTe("无");
|
|
|
+ if (StringUtils.isEmpty(taskDetails.getFeatureTi()))taskDetails.setFeatureTi("无");
|
|
|
+ if (StringUtils.isEmpty(taskDetails.getFeatureOther()))taskDetails.setFeatureOther("无");
|
|
|
+ taskDetailsMapper.update(taskDetails);
|
|
|
+ }
|
|
|
+
|
|
|
private void updateTask(TaskDetails taskDetails, String orderNo) {
|
|
|
List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(orderNo, null);
|
|
|
List<TOrderTaskBo> collect = tOrderTaskBos.stream().filter(e -> e.getSplitStatus() == 0||e.getSplitStatus() == 2).collect(Collectors.toList());
|
|
|
@@ -316,7 +369,7 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(tOrderNew.getOrderNo(), 4);
|
|
|
int yearSum=1;
|
|
|
for (TOrderTaskBo e : tOrderTaskBos) {
|
|
|
- if (e.getYearSum()>yearSum){
|
|
|
+ if (e.getYearSum()!=null&&e.getYearSum()>yearSum){
|
|
|
yearSum=e.getYearSum();
|
|
|
}
|
|
|
}
|
|
|
@@ -341,14 +394,18 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
*/
|
|
|
@Override
|
|
|
public TaskDetails update(TaskDetails taskDetails,Integer type) {
|
|
|
-
|
|
|
taskDetails.setUpdateTime(new Date());
|
|
|
+ if (taskDetails.getTid()==null){
|
|
|
+ TaskDetails use = taskDetailsMapper.selectById(taskDetails.getId());
|
|
|
+ taskDetails.setTid(use.getTid());
|
|
|
+ }
|
|
|
countTaskDetails(taskDetails);
|
|
|
this.taskDetailsMapper.update(taskDetails);
|
|
|
TaskDetails res = this.queryById(taskDetails.getId());
|
|
|
//调用就保存,不需要区分不保存
|
|
|
// if (type !=null&&type==1){
|
|
|
try {
|
|
|
+ pushFeature(taskDetails);
|
|
|
addTaskDetailsLog(res);
|
|
|
} catch (InvocationTargetException | IllegalAccessException e) {
|
|
|
throw new RuntimeException(e);
|
|
|
@@ -442,7 +499,6 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
TaskDetailsBo res = new TaskDetailsBo();
|
|
|
TOrderNew tOrderNew = tOrderNewMapper.selectByTid(tid);
|
|
|
TOrderMid mid = tOrderMidMapper.selectByOrderNo(tOrderNew.getOrderNo());
|
|
|
- List<Map<String,Object >> list;
|
|
|
List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(tOrderNew.getOrderNo(), 4);
|
|
|
//如果是会员
|
|
|
TOrderTaskBo thisTask = new TOrderTaskBo();
|
|
|
@@ -453,7 +509,7 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
}
|
|
|
}
|
|
|
String serviceYear = getServiceYer(thisTask.getServiceYear());
|
|
|
- list=addOrderList(tOrderTaskBos, serviceYear);
|
|
|
+ addOrderList(tOrderTaskBos, serviceYear,res);
|
|
|
if (taskDetails !=null){
|
|
|
BeanUtils.copyProperties(log, res);
|
|
|
}
|
|
|
@@ -461,19 +517,19 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
res.setOrderNo(tOrderNew.getOrderNo());
|
|
|
res.setContractNo(tOrderNew.getContractNo());
|
|
|
res.setMemberStatus(mid.getProjectType());
|
|
|
- res.setTaskList(list);
|
|
|
BigDecimal totalAmount = tOrderNew.getTotalAmount();
|
|
|
if (res.getMemberLvl()==null){
|
|
|
Integer lvl=getOrderLvl(totalAmount);
|
|
|
res.setMemberLvl(lvl);
|
|
|
}
|
|
|
- res.setTaskList(list);
|
|
|
res.setFeatureList(taskFeatureLogMapper.selectByTdlid(id));
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
- private List<Map<String, Object>> addOrderList(List<TOrderTaskBo> tOrderTaskBos, String serviceYear) {
|
|
|
+ private void addOrderList(List<TOrderTaskBo> tOrderTaskBos, String serviceYear,TaskDetailsBo bo) {
|
|
|
List<Map<String, Object>> list =new ArrayList<>();
|
|
|
+ //判定是否是需要修改,只有在没有财税和技术,并且编号不是空才需要新增
|
|
|
+ boolean flag=false;
|
|
|
for (TOrderTaskBo e : tOrderTaskBos) {
|
|
|
String serviceYear1 = getServiceYer(e.getServiceYear());
|
|
|
if (serviceYear1.equals(serviceYear)){
|
|
|
@@ -482,9 +538,36 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
map.put("taskName", e.getCommodityName());
|
|
|
map.put("id",e.getId());
|
|
|
list.add(map);
|
|
|
+ if (StringUtils.isEmpty(bo.getFinanceTaxationName())){
|
|
|
+ if (e.getCommodityName().contains("财税")){
|
|
|
+ bo.setFinanceTaxationName(e.getReceiverName());
|
|
|
+ }
|
|
|
+ if (bo.getId()!=null) flag=true;
|
|
|
+ }
|
|
|
+ if (StringUtils.isEmpty(bo.getTechnologyName())){
|
|
|
+ if (e.getCommodityName().contains("技术")){
|
|
|
+ bo.setTechnologyName(e.getReceiverName());
|
|
|
+ }
|
|
|
+ if (bo.getId()!=null) flag=true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (e.getId().equals(bo.getTid())
|
|
|
+ &&StringUtils.isEmpty(bo.getProjectName())){
|
|
|
+ bo.setProjectName(e.getReceiverName());
|
|
|
}
|
|
|
}
|
|
|
- return list;
|
|
|
+ if (flag){
|
|
|
+ TaskDetails update = new TaskDetails();
|
|
|
+ update.setId(bo.getId());
|
|
|
+ update.setFinanceTaxationName(bo.getFinanceTaxationName());
|
|
|
+ update.setTechnologyName(bo.getTechnologyName());
|
|
|
+ if (update.getFinanceTaxationName()!=null||
|
|
|
+ update.getTechnologyName()!=null){
|
|
|
+ taskDetailsMapper.update(update);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ bo.setTaskList(list);
|
|
|
}
|
|
|
|
|
|
@Override
|