Skip to content
Snippets Groups Projects
Commit 756c46de authored by bandigits's avatar bandigits
Browse files

Merge branch 'develop' into feature/bandi

parents 7bb413db 83c04562
No related merge requests found
Pipeline #75720 failed with stage
Showing
with 176 additions and 7 deletions
......@@ -372,4 +372,14 @@ public interface IProjectPlan {
*/
@PostMapping(path = "/export")
Result<Object> export(HttpServletRequest request, HttpServletResponse response, ProjectPlanBooksCmd projectPlanBooksCmd);
/**
* 主题列表
*
* @param subjectCmdList cmd主题列表
* @return {@link Result}<{@link SubjectOut}>
*/
@PostMapping(path = "/queryPayNameAndMoneyByProjectCode")
Result<SubjectOut> queryPayNameAndMoneyByProjectCode(List<SubjectCmd> subjectCmdList);
}
package com.seasky.projectplan.dto.projectplan;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.seasky.micro.basedata.dto.BaseDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* @Author wangxingjun
* @Data 2022/6/22 15:59
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.ALWAYS)
public class SubjectCmd extends BaseDTO {
@ApiModelProperty(value = "项目编号",example = "")
private String code;
@ApiModelProperty(value = "年份",example = "")
private Integer year;
}
package com.seasky.projectplan.dto.projectplan;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.seasky.micro.basedata.dto.BaseDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author wangxingjun
* @Data 2022/6/22 15:53
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.ALWAYS)
public class SubjectOut extends BaseDTO {
@ApiModelProperty(value = "支出名称",example = "")
private String subjectName;
@ApiModelProperty(value = "支出编号",example = "")
private String subjectCode;
@ApiModelProperty(value = "金额",example = "")
private BigDecimal subtotal;
public SubjectOut merge(SubjectOut subjectOut){
return new SubjectOut(this.subjectName,this.subjectCode,subjectOut.getSubtotal().add(this.subtotal));
}
}
......@@ -251,4 +251,13 @@ public interface ProjectPlanQueryService extends BaseService<ProjectPlanBookPo>
void export(HttpServletRequest request, HttpServletResponse response, ProjectPlanBooksCmd projectPlanBooksCmd);
/**
* 主题列表
*
* @param subjectCmdList cmd主题列表
* @return {@link List}<{@link SubjectOut}>
*/
List<SubjectOut> queryPayNameAndMoneyByProjectCode(List<SubjectCmd> subjectCmdList);
}
package com.seasky.projectplan.infrastructure.dataobject.co;
import com.baomidou.mybatisplus.annotation.TableField;
import com.seasky.core.ddd.base.BaseDataObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* @Author wangxingjun
* @Data 2022/6/22 16:05
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SubjectDo extends BaseDataObject {
@ApiModelProperty(value = "支出名称",example = "")
@TableField("subject_name")
private String subjectName;
@ApiModelProperty(value = "支出编号",example = "")
@TableField("subject_code")
private String subjectCode;
@ApiModelProperty(value = "金额",example = "")
@TableField("subtotal")
private BigDecimal subtotal;
}
package com.seasky.projectplan.infrastructure.db.mapper.table;
import com.seasky.core.base.BaseMapper;
import com.seasky.projectplan.dto.projectplan.SubjectCmd;
import com.seasky.projectplan.infrastructure.dataobject.co.SubjectDo;
import com.seasky.projectplan.infrastructure.dataobject.po.PlanBookSubjectPo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 计划本主题映射器
*
......@@ -30,4 +34,6 @@ public interface PlanBookSubjectMapper extends BaseMapper<PlanBookSubjectPo> {
*/
int deleteByPId(@Param("pm") Long parentId);
List<SubjectDo> listSubject(@Param("pm") SubjectCmd subjectCmd);
}
......@@ -14,4 +14,19 @@
and plan_book_id = #{pm}
</where>
</delete>
<select id="listSubject" resultType="com.seasky.projectplan.infrastructure.dataobject.co.SubjectDo">
select c.subject_name,c.subject_code,c.subtotal
FROM ExpenseCardNumber as a
inner JOIN project_plan_book as b on a.ProjectPlanID = B.id and b.available = 'YES'
inner JOIN plan_book_subject as c on b.id = c.plan_book_id and c.available = 'YES'
<where>
a.available = 'YES'
<if test="pm.code != null and pm.code != ''">
and a.funCode like concat('%', #{pm.code}, '%')
</if>
<if test="pm.year != null">
and b.year = #{pm.year}
</if>
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -39,10 +39,7 @@ import com.seasky.projectplan.dto.schoolStudentInformation.SchoolStudentInformat
import com.seasky.projectplan.dto.target.QueryTargetPlan;
import com.seasky.projectplan.dto.target.TargetListOut;
import com.seasky.projectplan.dto.target.TargetQry;
import com.seasky.projectplan.infrastructure.dataobject.co.ProjectDailyPlanDo;
import com.seasky.projectplan.infrastructure.dataobject.co.ProjectInfoPlanDo;
import com.seasky.projectplan.infrastructure.dataobject.co.ProjectPersonPlanDo;
import com.seasky.projectplan.infrastructure.dataobject.co.ProjectPlanBookFundsDo;
import com.seasky.projectplan.infrastructure.dataobject.co.*;
import com.seasky.projectplan.infrastructure.dataobject.po.*;
import com.seasky.projectplan.infrastructure.db.mapper.table.*;
import com.seasky.projectplan.infrastructure.reader.attachment.AttachmentQueryConvert;
......@@ -63,6 +60,7 @@ import java.math.BigDecimal;
import java.math.BigInteger;
import java.net.URLEncoder;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
......@@ -77,15 +75,12 @@ public class ProjectPlanQueryServiceImpl extends AbstractService<ProjectPlanBook
@Resource
ProjectPlanBookMapper mapper;
@Resource
BudgetInfoMapper budgetInfoMapper;
@Resource
TargetPlanMapper targetPlanMapper;
@Autowired
AttachmentMapper budgetAttachmentMapper;
@Autowired
CollegeclassesMapper collegeclassesMapper;
@Autowired
......@@ -112,6 +107,8 @@ public class ProjectPlanQueryServiceImpl extends AbstractService<ProjectPlanBook
PlanBookTargetMapper planBookTargetMapper;
@Resource
ExpenseCardNumberMapper expenseCardNumberMapper;
@Resource
PlanBookSubjectMapper planBookSubjectMapper;
@Resource
FlowRpc flowRpc;
......@@ -1300,6 +1297,35 @@ public class ProjectPlanQueryServiceImpl extends AbstractService<ProjectPlanBook
}
}
/**
* 主题列表
*
* @param subjectCmdList cmd主题列表
* @return {@link List}<{@link SubjectOut}>
*/
@Override
public List<SubjectOut> queryPayNameAndMoneyByProjectCode(List<SubjectCmd> subjectCmdList) {
//创建返回对象
List<SubjectOut> subjectOuts1 = new ArrayList<>();
for (SubjectCmd subjectCmd : subjectCmdList) {
//根据入参查询所需数据
List<SubjectDo> subjectDos = planBookSubjectMapper.listSubject(subjectCmd);
//创建存放支出信息的集合
List<SubjectOut> collect = subjectDos.stream().map(item -> new SubjectOut(
item.getSubjectName(),
item.getSubjectCode(),
item.getSubtotal()
)).collect(Collectors.toList());
//一个项目的汇总
subjectOuts1.addAll(collect);
}
subjectOuts1 = new ArrayList<>
(subjectOuts1.stream().
collect(Collectors.toMap(SubjectOut::getSubjectName, Function.identity(), SubjectOut::merge))
.values());
return subjectOuts1;
}
/**
* 得到代码列表
*
......
......@@ -339,4 +339,10 @@ public class ProjectPlanController extends BaseController implements IProjectPla
queryService.export(request, response, projectPlanBooksCmd);
return ok(ResponseCode.SUCCESS);
}
@Override
@ApiOperation("获取支出信息")
public Result<SubjectOut> queryPayNameAndMoneyByProjectCode(@RequestBody List<SubjectCmd> subjectCmdList) {
return ok(ResponseCode.SUCCESS, queryService.queryPayNameAndMoneyByProjectCode(subjectCmdList));
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment