浏览代码

no message

ly 1 年之前
父节点
当前提交
45970dd8b5

+ 35 - 26
src/main/java/cn/ezhizao/project/business/finance/IndividualIncomeTax/controller/BizFinancialIndividualIncomeTaxDetailController.java

@@ -27,6 +27,7 @@ import cn.ezhizao.project.business.workOrder.domain.BizWorkOrderRecord;
 import cn.ezhizao.project.business.workOrder.service.IBizWorkOrderRecordService;
 import cn.ezhizao.project.system.domain.SysFileStorage;
 import cn.ezhizao.project.system.service.ISysFileStorageService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import io.swagger.annotations.ApiOperation;
@@ -38,6 +39,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -52,8 +54,7 @@ import java.util.stream.Collectors;
  */
 @RestController
 @RequestMapping("/business/individualIncomeTaxDetail")
-public class BizFinancialIndividualIncomeTaxDetailController extends BaseController
-{
+public class BizFinancialIndividualIncomeTaxDetailController extends BaseController {
     @Resource
     private IBizFinancialIndividualIncomeTaxDetailService bizFinancialIndividualIncomeTaxDetailService;
 
@@ -87,14 +88,12 @@ public class BizFinancialIndividualIncomeTaxDetailController extends BaseControl
     IBizCompanyService companyService;
 
 
-
     /**
      * 查询个税详情列表
      */
     @PreAuthorize("@ss.hasPermi('business:individualIncomeTaxDetail:list')")
     @GetMapping("/list")
-    public TableDataInfo list(BizFinancialIndividualIncomeTaxDetail bizFinancialIndividualIncomeTaxDetail) throws NoSuchFieldException, IllegalAccessException
-    {
+    public TableDataInfo list(BizFinancialIndividualIncomeTaxDetail bizFinancialIndividualIncomeTaxDetail) throws NoSuchFieldException, IllegalAccessException {
         setTenantId(bizFinancialIndividualIncomeTaxDetail);
         startPage();
         List<BizFinancialIndividualIncomeTaxDetail> list = bizFinancialIndividualIncomeTaxDetailService.getList(bizFinancialIndividualIncomeTaxDetail);
@@ -107,8 +106,7 @@ public class BizFinancialIndividualIncomeTaxDetailController extends BaseControl
     @PreAuthorize("@ss.hasPermi('business:individualIncomeTaxDetail:export')")
     @Log(title = "个税详情", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, BizFinancialIndividualIncomeTaxDetail bizFinancialIndividualIncomeTaxDetail) throws NoSuchFieldException, IllegalAccessException
-    {
+    public void export(HttpServletResponse response, BizFinancialIndividualIncomeTaxDetail bizFinancialIndividualIncomeTaxDetail) throws NoSuchFieldException, IllegalAccessException {
         setTenantId(bizFinancialIndividualIncomeTaxDetail);
         List<BizFinancialIndividualIncomeTaxDetail> list = bizFinancialIndividualIncomeTaxDetailService.getList(bizFinancialIndividualIncomeTaxDetail);
         ExcelUtil<BizFinancialIndividualIncomeTaxDetail> util = new ExcelUtil<BizFinancialIndividualIncomeTaxDetail>(BizFinancialIndividualIncomeTaxDetail.class);
@@ -119,14 +117,27 @@ public class BizFinancialIndividualIncomeTaxDetailController extends BaseControl
      * 获取个税详情详细信息
      */
     @PreAuthorize("@ss.hasPermi('business:individualIncomeTaxDetail:query')")
-    @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id)
-    {
-        BizFinancialIndividualIncomeTaxDetail biz= bizFinancialIndividualIncomeTaxDetailService.getById(id);
+    @GetMapping(value = "/{id}/{year}/{month}")
+    public AjaxResult getInfo(@PathVariable("id") Long financialIndividualIncomeTaxId, @PathVariable("year") String year, @PathVariable("month") String month) {
+        int nowYear = LocalDate.now().getYear();
+        int nowMonth = LocalDate.now().getMonthValue()-1;
+        String formattedMonth = String.format("%02d", nowMonth);
+        BizFinancialIndividualIncomeTaxDetail biz = bizFinancialIndividualIncomeTaxDetailService.getOne(new LambdaQueryWrapper<BizFinancialIndividualIncomeTaxDetail>()
+                .eq(BizFinancialIndividualIncomeTaxDetail::getFinancialIndividualIncomeTaxId, financialIndividualIncomeTaxId)
+                .eq(BizFinancialIndividualIncomeTaxDetail::getYear, year)
+                .eq(BizFinancialIndividualIncomeTaxDetail::getMonth, month));
+        String s1= year+month;
+        String s2 = nowYear+ formattedMonth;
+        if(s1.equals(s2) && biz == null){
+            return success(new BizFinancialIndividualIncomeTaxDetail());
+        }
+        if (biz==null  ) {
+            return error("当前月未找到数据");
+        }
         List<SysFileStorage> files = bizFinancialIndividualIncomeTaxDetailService.getFiles(biz.getId());
-        if (CollectionUtils.isEmpty(files)){
+        if (CollectionUtils.isEmpty(files)) {
             ArrayList<SysFileStorage> objects = new ArrayList<>();
-            if (StringUtils.isNotEmpty(biz.getReportFile()) ){
+            if (StringUtils.isNotEmpty(biz.getReportFile())) {
                 SysFileStorage sysFileStorage = new SysFileStorage();
                 sysFileStorage.setFileUrl(biz.getReportFile());
                 String[] parts = splitFileName(biz.getReportFile());
@@ -141,7 +152,7 @@ public class BizFinancialIndividualIncomeTaxDetailController extends BaseControl
         return success(biz);
     }
 
-    public  String[] splitFileName(String filePath) {
+    public String[] splitFileName(String filePath) {
         // 从路径中获取文件名部分
         String[] pathParts = filePath.split("/");
         String fileNameWithExtension = pathParts[pathParts.length - 1]; // 获取最后一部分,即文件名部分
@@ -155,18 +166,18 @@ public class BizFinancialIndividualIncomeTaxDetailController extends BaseControl
         int underscoreIndex = fileName.lastIndexOf('_');
         if (underscoreIndex != -1) {
             String originalFilename = fileName.substring(0, underscoreIndex) + extension;
-            return new String[] { fileNameWithExtension, originalFilename };
+            return new String[]{fileNameWithExtension, originalFilename};
         } else {
-            return new String[] { fileNameWithExtension, fileNameWithExtension }; // 如果没有找到时间戳,则原始文件名与文件名相同
+            return new String[]{fileNameWithExtension, fileNameWithExtension}; // 如果没有找到时间戳,则原始文件名与文件名相同
         }
     }
+
     @PreAuthorize("@ss.hasPermi('business:individualIncomeTaxDetail:saveDetail')")
     @ApiOperation("保存detail")
     @Log(title = "个税详情", businessType = BusinessType.UPDATE)
     @PostMapping()
     @Transactional(rollbackFor = Exception.class)
-    public AjaxResult saveDetail(@RequestBody BizFinancialIndividualIncomeTaxDetail bizFinancialIndividualIncomeTaxDetail) throws NoSuchFieldException, IllegalAccessException
-    {
+    public AjaxResult saveDetail(@RequestBody BizFinancialIndividualIncomeTaxDetail bizFinancialIndividualIncomeTaxDetail) throws NoSuchFieldException, IllegalAccessException {
         String status = "";
         boolean bool = bizFinancialIndividualIncomeTaxDetailService.saveOrUpdate(bizFinancialIndividualIncomeTaxDetail);
         switch (bizFinancialIndividualIncomeTaxDetail.getStatus()) {
@@ -193,11 +204,10 @@ public class BizFinancialIndividualIncomeTaxDetailController extends BaseControl
         fileStorageService.physicalDelete(delConditions);
         bool = bool && (fileStorages.isEmpty() || fileStorageService.saveOrUpdateBatch(fileStorages));
         return toAjax(addRecord(bizFinancialIndividualIncomeTaxDetail.getFinancialIndividualIncomeTaxId(),
-                bizFinancialIndividualIncomeTaxDetail.getYear(),bizFinancialIndividualIncomeTaxDetail.getMonth(), SecurityUtils.getUserId(),status)&&bool);
+                bizFinancialIndividualIncomeTaxDetail.getYear(), bizFinancialIndividualIncomeTaxDetail.getMonth(), SecurityUtils.getUserId(), status) && bool);
     }
 
 
-
     private Boolean checkDeduction(BizFinancialIndividualIncomeTaxDetail detail) {
         // 判断当前月是否报税
         // 20230915 假设未报税也插入一条税款,合并税款记录中的是否可扣款未0
@@ -220,7 +230,7 @@ public class BizFinancialIndividualIncomeTaxDetailController extends BaseControl
         } else {
             deductions = deductionService.query().in("source_id", financialMerges.stream().map(BizFinancialMerge::getId).collect(Collectors.toList())).list();
         }
-        BigDecimal amount = reportTaxDetail == null ? detail.getAmount() == null ? BigDecimal.ZERO :detail.getAmount() : reportTaxDetail.getSumTax().add(detail.getAmount() == null ? BigDecimal.ZERO : detail.getAmount());
+        BigDecimal amount = reportTaxDetail == null ? detail.getAmount() == null ? BigDecimal.ZERO : detail.getAmount() : reportTaxDetail.getSumTax().add(detail.getAmount() == null ? BigDecimal.ZERO : detail.getAmount());
         if (amount.doubleValue() > 0) {
             if (deductions.isEmpty()) {
                 BizFinancialMerge financialMerge = financialMerges.isEmpty() ? new BizFinancialMerge() : financialMerges.get(0);
@@ -274,14 +284,14 @@ public class BizFinancialIndividualIncomeTaxDetailController extends BaseControl
         detail.setStatus(1);
         QueryWrapper<BizFinancialMerge> qw = new QueryWrapper<>();
         qw.eq("financial_individual_income_tax_detail_id", detail.getId());
-        BizFinancialMerge merge =  financialMergeService.getOne(qw);
+        BizFinancialMerge merge = financialMergeService.getOne(qw);
         if (merge != null) {
             merge.setFinancialIndividualIncomeTaxDetailId(0L);
             if (merge.getFinancialIndividualIncomeTaxDetailId().equals(0L) && merge.getFinancialReportTaxDetailId().equals(0L)) {
                 removeDeductionByMerge(merge);
             } else {
                 BizFinancialReportTaxDetail financialReportTaxDetail = financialReportTaxDetailService.getById(merge.getFinancialReportTaxDetailId());
-                if(financialReportTaxDetail.getSumTax().doubleValue() > 0) {
+                if (financialReportTaxDetail.getSumTax().doubleValue() > 0) {
                     financialMergeService.updateById(merge);
                     BizDeduction deduction = deductionService.getOne(Wrappers.<BizDeduction>lambdaQuery().eq(BizDeduction::getSourceTableName, "financial_merge").eq(BizDeduction::getSourceId, merge.getId()));
                     deduction.setDeductible(0);
@@ -311,9 +321,8 @@ public class BizFinancialIndividualIncomeTaxDetailController extends BaseControl
      */
     @PreAuthorize("@ss.hasPermi('business:individualIncomeTaxDetail:remove')")
     @Log(title = "个税详情", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable List<Long> ids)
-    {
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable List<Long> ids) {
         return toAjax(bizFinancialIndividualIncomeTaxDetailService.removeBatchByIds(ids));
     }