红字信息修改和删除

beta-enc
kane 2 years ago
parent 2b80a765fc
commit 53d39f5a86
  1. 12
      jianshui-admin/src/main/java/com/jianshui/web/controller/platform/RedInformationController.java
  2. 12
      jianshui-platform/src/main/java/com/jianshui/platform/constant/ExceptionInformationConstants.java
  3. 6
      jianshui-platform/src/main/java/com/jianshui/platform/constant/RedWordConstants.java
  4. 2
      jianshui-platform/src/main/java/com/jianshui/platform/dto/invoicered/RedWordDTO.java
  5. 1
      jianshui-platform/src/main/java/com/jianshui/platform/dto/invoicered/RedinfodetailDTO.java
  6. 14
      jianshui-platform/src/main/java/com/jianshui/platform/service/RedInformationService.java
  7. 98
      jianshui-platform/src/main/java/com/jianshui/platform/service/impl/RedInformationServiceImpl.java
  8. 2
      jianshui-platform/src/main/java/com/jianshui/platform/vo/invoicered/FindRedWordVO.java

@ -48,4 +48,16 @@ public class RedInformationController {
public AjaxResult findRedWordDetail(@PathVariable Long id){
return redInformationService.findRedWordDetail(id);
}
@ApiOperation("红字信息删除")
@DeleteMapping("/deleteRedWord/{ids}")
public AjaxResult deleteRedWord(@PathVariable Long[] ids){
return redInformationService.deleteRedWord(ids);
}
@ApiOperation("红字信息修改")
@PutMapping("/updateRedWord")
public AjaxResult updateRedWord(@RequestBody RedWordDTO dto){
return redInformationService.updateRedWord(dto);
}
}

@ -20,13 +20,19 @@ public class ExceptionInformationConstants {
// 申请类型有误
public static final String REQUESTTYPEERROR = "申请类型有误";
//发票相关信息为空
// 发票相关信息为空
public static final String INVOICEINFORMATIONISEMPTY = "发票相关信息为空";
//红字信息为空
// 红字信息为空
public static final String REDWORDINFOISEMPT = "传入红字信息为空";
//未查询到红字信息
// 未查询到红字信息
public static final String NOTFINREDWORDINFO = "未查询到该红字信息表";
// 上传红字信息不能删除
public static final String NOTDELETEREDWORD = "已上传红字信息不能删除,请重新选择";
// 上传红字信息不能修改
public static final String NOTUPDATEREDWORD = "已上传红字信息不能修改,请重新选择";
}

@ -23,4 +23,10 @@ public class RedWordConstants {
// 提交结果响应
public static final String SUBMITSUCCESS = "提交成功";
//删除成功
public static final String DELETESUCCESS = "删除成功";
//修改成功
public static final String UPDATESUCCESS = "修改成功";
}

@ -17,6 +17,8 @@ import java.util.List;
@ApiModel("红字信息")
@Data
public class RedWordDTO {
@ApiModelProperty("红字信息id")
private Long id;
@NotEmpty
@ApiModelProperty("填开类型")

@ -3,7 +3,6 @@ package com.jianshui.platform.dto.invoicered;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@ -39,4 +39,18 @@ public interface RedInformationService {
* @return : com.jianshui.common.core.domain.AjaxResult
*/
AjaxResult findRedWordDetail(Long id);
/**
* 功能描述: 批量删除红字信息
* @param ids
* @return : com.jianshui.common.core.domain.AjaxResult
*/
AjaxResult deleteRedWord(Long[] ids);
/**
* 功能描述: 修改红字信息
* @param dto
* @return : com.jianshui.common.core.domain.AjaxResult
*/
AjaxResult updateRedWord(RedWordDTO dto);
}

@ -37,7 +37,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import static com.github.pagehelper.page.PageMethod.startPage;
/**
* @Author: kane
@ -205,7 +204,7 @@ public class RedInformationServiceImpl implements RedInformationService {
redinfo.setOutTradeOrderno(outOrderNO);
redinfo.setFpqqlsh(uuidhm);
redinfo.setCompanyId(sysUser.getCompanyId());
redinfo.setRedInfoStatus("0");
redinfo.setRedInfoStatus("6");
String serviceKey = null;
try {
serviceKey = serviceManageService.getCompanyServiceSupplier("invoice", sysUser.getCompanyId());
@ -311,4 +310,99 @@ public class RedInformationServiceImpl implements RedInformationService {
return AjaxResult.success(redWordDTO);
}
/**
* 功能描述: 批量删除红字信息
* @param ids
* @return : com.jianshui.common.core.domain.AjaxResult
*/
@Override
public AjaxResult deleteRedWord(Long[] ids) {
if (ids == null || ids.length == 0){
return AjaxResult.error(ExceptionInformationConstants.REDWORDINFOISEMPT);
}
for (Long id : ids) {
Redinfo redinfo = redinfoMapper.selectRedinfoById(id);
String redInfoStatus = redinfo.getRedInfoStatus();
if (!"6".equals(redInfoStatus)){
return AjaxResult.error(ExceptionInformationConstants.NOTDELETEREDWORD);
}
}
//批量删除
redinfoMapper.deleteRedinfoByIds(ids);
redinfoMapper.deleteRedinfodetailByRedinfoIds(ids);
return AjaxResult.success(RedWordConstants.DELETESUCCESS);
}
/**
* 功能描述: 红字信息修改
* @param dto
* @return : com.jianshui.common.core.domain.AjaxResult
*/
@Override
public AjaxResult updateRedWord(RedWordDTO dto) {
if (dto.getId() == null){
return AjaxResult.error(ExceptionInformationConstants.REDWORDINFOISEMPT);
}
Redinfo redinfo = redinfoMapper.selectRedinfoById(dto.getId());
if (redinfo == null){
return AjaxResult.error(ExceptionInformationConstants.NOTFINREDWORDINFO);
}
if ("6".equals(redinfo.getRedInfoStatus()) || "2".equals(redinfo.getRedInfoStatus())){
BeanUtils.copyProperties(dto,redinfo);
if (RedWordConstants.TAXINVOICE.equals(dto.getStatus())){
// 含税总计金额
redinfo.setTaxamt(dto.getTotalMoney());
// 总计税额
redinfo.setTax(dto.getTotalTax());
// 不含税总计金额
redinfo.setTaxfreeamt(dto.getTotalMoney().subtract(dto.getTotalTax()));
}
if (RedWordConstants.NOTTAXINVOICE.equals(dto.getStatus())){
// 不含税总计金额
redinfo.setTaxfreeamt(dto.getTotalMoney());
// 含税总计金额
redinfo.setTaxamt(dto.getTotalMoney().add(dto.getTotalTax()));
// 总计税额
redinfo.setTax(dto.getTotalTax());
}
redinfoMapper.updateRedinfo(redinfo);
// 红字信息详情
List<RedinfodetailDTO> redinfodetailList = dto.getRedinfodetailList();
List<Redinfodetail> redinfodetails = new ArrayList<>();
int count = 1;
for (RedinfodetailDTO redinfodetailDTO : redinfodetailList) {
//删除详情表
redinfoMapper.deleteRedinfodetailByRedinfoId(dto.getId());
Redinfodetail redinfodetail = new Redinfodetail();
BeanUtils.copyProperties(redinfodetailDTO,redinfodetail);
redinfodetail.setRedinfoId(redinfo.getId());
redinfodetail.setIndex(count);
redinfodetail.setTaxrate(redinfodetailDTO.getTaxrate().divide(new BigDecimal("100"),4,BigDecimal.ROUND_HALF_UP));
if (RedWordConstants.TAXINVOICE.equals(dto.getStatus())){
//单价税额
BigDecimal taxCost = redinfodetailDTO.getTax().divide(redinfodetailDTO.getNum(),2,BigDecimal.ROUND_HALF_UP);
//不含税单价
redinfodetail.setPrice(redinfodetailDTO.getCost().subtract(taxCost));
//含税金额
redinfodetail.setTaxamt(redinfodetailDTO.getMoney());
//不含税金额
redinfodetail.setTaxfreeamt(redinfodetailDTO.getMoney().subtract(redinfodetailDTO.getTax()));
}else if (RedWordConstants.NOTTAXINVOICE.equals(dto.getStatus())){
//不含税单价
redinfodetail.setPrice(redinfodetailDTO.getCost());
//不含税金额
redinfodetail.setTaxfreeamt(redinfodetailDTO.getMoney());
//含税金额
redinfodetail.setTaxamt(redinfodetailDTO.getMoney().add(redinfodetailDTO.getTax()));
}
redinfodetails.add(redinfodetail);
count++;
}
redinfoMapper.batchRedinfodetail(redinfodetails);
return AjaxResult.success(RedWordConstants.SUBMITSUCCESS);
}else {
return AjaxResult.error(ExceptionInformationConstants.NOTUPDATEREDWORD);
}
}
}

@ -16,6 +16,8 @@ import java.math.BigDecimal;
@ApiModel("红字信息查询返回结果")
public class FindRedWordVO {
@ApiModelProperty("主键id 红字信息id")
private Long id;
@ApiModelProperty("信息表编号")
private String redInfoNo;

Loading…
Cancel
Save