zhizhi wu 4 years ago
parent
commit
5ea018610d
  1. 6
      src/main/java/com/ccsens/ptccsens/api/finance/FinanceController.java
  2. 6
      src/main/java/com/ccsens/ptccsens/bean/dto/FinanceDto.java
  3. 4
      src/main/java/com/ccsens/ptccsens/bean/vo/FinanceVo.java
  4. 19
      src/main/java/com/ccsens/ptccsens/service/FinanceService.java
  5. 1
      src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java
  6. 2
      src/main/java/com/ccsens/ptccsens/util/BasicsConstant.java
  7. 4
      src/main/resources/application.yml
  8. 2
      src/main/resources/mapper_dao/FinanceDao.xml

6
src/main/java/com/ccsens/ptccsens/api/finance/FinanceController.java

@ -42,6 +42,7 @@ public class FinanceController {
log.info("通过任务id查看任务关联的财务信息结束:{}", item); log.info("通过任务id查看任务关联的财务信息结束:{}", item);
return JsonResponse.newInstance().ok(item); return JsonResponse.newInstance().ok(item);
} }
@MustLogin
@ApiOperation(value = "查询费用申请类型", notes = "") @ApiOperation(value = "查询费用申请类型", notes = "")
@RequestMapping(value = "/queryType", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/queryType", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<FinanceVo.Type> queryType(@ApiParam @Validated @RequestBody QueryDto<FinanceDto.Type> params) { public JsonResponse<FinanceVo.Type> queryType(@ApiParam @Validated @RequestBody QueryDto<FinanceDto.Type> params) {
@ -50,7 +51,7 @@ public class FinanceController {
log.info("查询数据类型结束:{}", types); log.info("查询数据类型结束:{}", types);
return JsonResponse.newInstance().ok(types); return JsonResponse.newInstance().ok(types);
} }
@MustLogin
@ApiOperation(value = "发起申请", notes = "") @ApiOperation(value = "发起申请", notes = "")
@RequestMapping(value = "/apply", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/apply", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse apply(@ApiParam @Validated @RequestBody QueryDto<FinanceDto.Apply> params) { public JsonResponse apply(@ApiParam @Validated @RequestBody QueryDto<FinanceDto.Apply> params) {
@ -59,6 +60,7 @@ public class FinanceController {
log.info("发起申请结束"); log.info("发起申请结束");
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok();
} }
@MustLogin
@ApiOperation(value = "查询申请详情", notes = "") @ApiOperation(value = "查询申请详情", notes = "")
@RequestMapping(value = "/getApplyDetail", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/getApplyDetail", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<FinanceVo.ApplyDetail> getApplyDetail(@ApiParam @Validated @RequestBody QueryDto<FinanceDto.ApplyId> params) { public JsonResponse<FinanceVo.ApplyDetail> getApplyDetail(@ApiParam @Validated @RequestBody QueryDto<FinanceDto.ApplyId> params) {
@ -67,7 +69,7 @@ public class FinanceController {
log.info("查询申请详情结束:{}", detail); log.info("查询申请详情结束:{}", detail);
return JsonResponse.newInstance().ok(detail); return JsonResponse.newInstance().ok(detail);
} }
@MustLogin
@ApiOperation(value = "审批", notes = "") @ApiOperation(value = "审批", notes = "")
@RequestMapping(value = "/audit", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/audit", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse audit(@ApiParam @Validated @RequestBody QueryDto<FinanceDto.Audit> params) { public JsonResponse audit(@ApiParam @Validated @RequestBody QueryDto<FinanceDto.Audit> params) {

6
src/main/java/com/ccsens/ptccsens/bean/dto/FinanceDto.java

@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
@ -105,7 +107,9 @@ public class FinanceDto {
@ApiModelProperty("审核id") @ApiModelProperty("审核id")
private Long financeCheckId; private Long financeCheckId;
@NotNull @NotNull
@ApiModelProperty("审核状态 0待审核 1已通过 2驳回") @Min(value = 1)
@Max(value = 2)
@ApiModelProperty("审核状态 1已通过 2驳回")
private Byte checkStatus; private Byte checkStatus;
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String remark; private String remark;

4
src/main/java/com/ccsens/ptccsens/bean/vo/FinanceVo.java

@ -108,9 +108,9 @@ public class FinanceVo {
@ApiModelProperty("检查状态, 0待审核 1已通过 2驳回") @ApiModelProperty("检查状态, 0待审核 1已通过 2驳回")
private Byte checkStatus; private Byte checkStatus;
@ApiModelProperty("检查的时间") @ApiModelProperty("检查的时间")
private Byte time; private Long time;
@ApiModelProperty("备注") @ApiModelProperty("备注")
private Byte remark; private String remark;
} }
@Data @Data

19
src/main/java/com/ccsens/ptccsens/service/FinanceService.java

@ -41,7 +41,8 @@ public class FinanceService implements IFinanceService {
private PluFinanceCheckMapper pluFinanceCheckMapper; private PluFinanceCheckMapper pluFinanceCheckMapper;
@Resource @Resource
private PluFinanceCheckLogMapper pluFinanceCheckLogMapper; private PluFinanceCheckLogMapper pluFinanceCheckLogMapper;
@Resource
private PluFinanceMapper pluFinanceMapper;
@ -85,6 +86,15 @@ public class FinanceService implements IFinanceService {
if (CollectionUtil.isEmpty(proMembers)) { if (CollectionUtil.isEmpty(proMembers)) {
throw new BaseException(BasicsCodeError.NOT_MEMBER_SHEET); throw new BaseException(BasicsCodeError.NOT_MEMBER_SHEET);
} }
// 查找对应的预算信息
PluFinanceExample financeExample = new PluFinanceExample();
financeExample.createCriteria().andTaskIdEqualTo(param.getTaskDetailId());
financeExample.setOrderByClause("id desc limit 1");
List<PluFinance> pluFinances = pluFinanceMapper.selectByExample(financeExample);
log.info("财务预算信息:{}", pluFinances);
if (CollectionUtil.isEmpty(pluFinances)) {
throw new BaseException(BasicsCodeError.FINANCE_NOT_FOUND);
}
// 计算总金额和发票金额是否一致 // 计算总金额和发票金额是否一致
if (CollectionUtil.isNotEmpty(param.getInvoiceList())) { if (CollectionUtil.isNotEmpty(param.getInvoiceList())) {
long invoiceTotal = 0L; long invoiceTotal = 0L;
@ -100,6 +110,10 @@ public class FinanceService implements IFinanceService {
BeanUtils.copyProperties(param, apply); BeanUtils.copyProperties(param, apply);
apply.setId(snowflake.nextId()); apply.setId(snowflake.nextId());
apply.setMemberId(proMembers.get(0).getId()); apply.setMemberId(proMembers.get(0).getId());
apply.setTaskId(param.getTaskDetailId());
apply.setFinanceId(pluFinances.get(0).getId());
apply.setApplyTime(System.currentTimeMillis());
apply.setInvoice(CollectionUtil.isEmpty(param.getInvoiceList()) ? BasicsConstant.Finance.INVOICE_UPLOAD_NO : BasicsConstant.Finance.INVOICE_UPLOAD_YES);
pluFinanceApplyMapper.insertSelective(apply); pluFinanceApplyMapper.insertSelective(apply);
if (CollectionUtil.isNotEmpty(param.getInvoiceList())) { if (CollectionUtil.isNotEmpty(param.getInvoiceList())) {
List<PluFinanceInvoice> invoices = new ArrayList<>(); List<PluFinanceInvoice> invoices = new ArrayList<>();
@ -153,8 +167,7 @@ public class FinanceService implements IFinanceService {
} }
// 判断是否已经审核过 // 判断是否已经审核过
PluFinanceCheckLogExample logExample = new PluFinanceCheckLogExample(); PluFinanceCheckLogExample logExample = new PluFinanceCheckLogExample();
logExample.createCriteria().andCheckIdEqualTo(param.getFinanceCheckId()) logExample.createCriteria().andCheckIdEqualTo(param.getFinanceCheckId());
.andCheckIdEqualTo(check.getCheckerId());
long l = pluFinanceCheckLogMapper.countByExample(logExample); long l = pluFinanceCheckLogMapper.countByExample(logExample);
log.info("{}关于{}的审核数:{}", check.getCheckerId(), check.getId(), l); log.info("{}关于{}的审核数:{}", check.getCheckerId(), check.getId(), l);
if (l > 0) { if (l > 0) {

1
src/main/java/com/ccsens/ptccsens/util/BasicsCodeError.java

@ -38,6 +38,7 @@ public class BasicsCodeError extends CodeError {
public static final Code TOTAL_MONEY_ERROR = new Code(526,"申请总金额和发票总金额不一致,请检查修改后重新提交。", true); public static final Code TOTAL_MONEY_ERROR = new Code(526,"申请总金额和发票总金额不一致,请检查修改后重新提交。", true);
public static final Code CHECK_NOT_FOUND = new Code(527,"没有找到对应的审核记录,请确认后重新提交。", true); public static final Code CHECK_NOT_FOUND = new Code(527,"没有找到对应的审核记录,请确认后重新提交。", true);
public static final Code CHECK_EXISTED = new Code(528,"您已经提交过审核结果了,无需重复提交。", true); public static final Code CHECK_EXISTED = new Code(528,"您已经提交过审核结果了,无需重复提交。", true);
public static final Code FINANCE_NOT_FOUND = new Code(529,"没有找到任务对应的财务预算信息,请修改后重新提交申请。", true);

2
src/main/java/com/ccsens/ptccsens/util/BasicsConstant.java

@ -49,5 +49,7 @@ public class BasicsConstant {
public static class Finance{ public static class Finance{
public static final byte AUDIT_PASS = 1; public static final byte AUDIT_PASS = 1;
public static final byte AUDIT_FAIL = 2; public static final byte AUDIT_FAIL = 2;
public static final byte INVOICE_UPLOAD_NO = 0;
public static final byte INVOICE_UPLOAD_YES = 1;
} }
} }

4
src/main/resources/application.yml

@ -1,4 +1,4 @@
spring: spring:
profiles: profiles:
active: test active: dev
include: common, util-test include: common, util-dev

2
src/main/resources/mapper_dao/FinanceDao.xml

@ -12,7 +12,7 @@
<insert id="batchSaveCheck"> <insert id="batchSaveCheck">
insert into t_plu_finance_check(id, finance_apply_id,checker_id,operator) values insert into t_plu_finance_check(id, finance_apply_id,checker_id,operator) values
<foreach collection="checks" item="item" separator=","> <foreach collection="checks" item="item" separator=",">
(#{id}, #{item.financeApplyId},#{item.checkerId},#{item.operator}) (#{item.id}, #{item.financeApplyId},#{item.checkerId},#{item.operator})
</foreach> </foreach>
</insert> </insert>

Loading…
Cancel
Save