Browse Source

后台表格添加

wwh 1 year ago
parent
commit
77bc888e83
19 changed files with 989 additions and 121 deletions
  1. 2 1
      admin/src/main/java/com/huimv/farm/damsubsidy/config/InterceptorConfig.java
  2. 71 2
      admin/src/main/java/com/huimv/farm/damsubsidy/controller/BillSubsidyBatchController.java
  3. 11 6
      admin/src/main/java/com/huimv/farm/damsubsidy/controller/BillSubsidyController.java
  4. 1 1
      admin/src/main/java/com/huimv/farm/damsubsidy/entity/BaseEntity.java
  5. 4 0
      admin/src/main/java/com/huimv/farm/damsubsidy/entity/BillSubsidy.java
  6. 11 2
      admin/src/main/java/com/huimv/farm/damsubsidy/entity/BillSubsidyBatch.java
  7. 47 0
      admin/src/main/java/com/huimv/farm/damsubsidy/entity/vo/BillSubsidyBatchCount.java
  8. 36 0
      admin/src/main/java/com/huimv/farm/damsubsidy/entity/vo/BillSubsidyBatchDetail.java
  9. 39 0
      admin/src/main/java/com/huimv/farm/damsubsidy/entity/vo/BillSubsidyBatchPay.java
  10. 255 0
      admin/src/main/java/com/huimv/farm/damsubsidy/entity/vo/BillSubsidyDto.java
  11. 1 0
      admin/src/main/java/com/huimv/farm/damsubsidy/entity/vo/BillSubsidyPayVo.java
  12. 8 0
      admin/src/main/java/com/huimv/farm/damsubsidy/mapper/BillSubsidyMapper.java
  13. 15 0
      admin/src/main/java/com/huimv/farm/damsubsidy/service/IBillSubsidyBatchService.java
  14. 2 0
      admin/src/main/java/com/huimv/farm/damsubsidy/service/IBillSubsidyService.java
  15. 160 0
      admin/src/main/java/com/huimv/farm/damsubsidy/service/impl/BillSubsidyBatchServiceImpl.java
  16. 75 47
      admin/src/main/java/com/huimv/farm/damsubsidy/service/impl/BillSubsidyServiceImpl.java
  17. 230 41
      admin/src/main/java/com/huimv/farm/test/Print3.java
  18. 2 2
      admin/src/main/resources/application.properties
  19. 19 19
      admin/src/main/resources/com/huimv/farm/damsubsidy/mapper/BillSubsidyMapper.xml

+ 2 - 1
admin/src/main/java/com/huimv/farm/damsubsidy/config/InterceptorConfig.java

@@ -19,7 +19,8 @@ public class InterceptorConfig implements WebMvcConfigurer {
         registry.addInterceptor(jwtInterceptor()).
                 excludePathPatterns("/admSubsidy/sys-user/*","/admSubsidy/bill-subsidy/print"
                         ,"/admSubsidy/bill-subsidy/printPay","/admSubsidy/bill-subsidy/printAmount",
-                        "/admSubsidy/bill-subsidy/printWaitPay","/admSubsidy/bill-subsidy/QRCode","/admSubsidy/bill-landing-inspection/QRImage");
+                        "/admSubsidy/bill-subsidy/printWaitPay","/admSubsidy/bill-subsidy/QRCode","/admSubsidy/bill-landing-inspection/QRImage"
+                        ,"/admSubsidy/bill-subsidy-batch/printPay","/admSubsidy/bill-subsidy-batch/printCount","/admSubsidy/bill-subsidy-batch/printDetail");
     }
 }
 

+ 71 - 2
admin/src/main/java/com/huimv/farm/damsubsidy/controller/BillSubsidyBatchController.java

@@ -1,9 +1,18 @@
 package com.huimv.farm.damsubsidy.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.huimv.farm.damsubsidy.common.utils.PdfUtil;
+import com.huimv.farm.damsubsidy.common.utils.Result;
+import com.huimv.farm.damsubsidy.entity.BillSubsidyBatch;
+import com.huimv.farm.damsubsidy.service.IBillSubsidyBatchService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * <p>
@@ -15,6 +24,66 @@ import org.springframework.web.bind.annotation.RestController;
  */
 @RestController
 @RequestMapping("/bill-subsidy-batch")
+@CrossOrigin
 public class BillSubsidyBatchController {
 
+    @Autowired
+    private IBillSubsidyBatchService billSubsidyBatchService;
+
+    @RequestMapping("/add")
+    public Result add(HttpServletRequest httpServletRequest, @RequestBody BillSubsidyBatch billSubsidyBatch) {
+        return billSubsidyBatchService.add(httpServletRequest, billSubsidyBatch);
+    }
+    @RequestMapping("/list")
+    public Result list(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return billSubsidyBatchService.list(httpServletRequest, paramsMap);
+    }
+
+    @RequestMapping("/listById")
+    public Result listById(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return billSubsidyBatchService.listById(httpServletRequest, paramsMap);
+    }
+
+    @GetMapping("/printPay")
+    public void printPay2(HttpServletResponse response, @RequestParam(name = "ids", required = true) String ids,
+                          @RequestParam(name = "batchName", required = true) String batchName,
+                          @RequestParam(name = "date", required = true) String date
+    ) throws Exception {
+        Map<String, String> map = new HashMap<>();
+        map.put("ids", ids);
+        map.put("batchName", batchName);
+        map.put("date", date);
+        billSubsidyBatchService.printHua(map);
+        String path = "/opt/subsidy/new_pay.xls";
+        PdfUtil.returnPdfStream3(response, path, "花名册");
+    }
+
+
+    @GetMapping("/printCount")
+    public void printCount(HttpServletResponse response, @RequestParam(name = "ids", required = true) String ids,
+                          @RequestParam(name = "batchName", required = true) String batchName,
+                          @RequestParam(name = "date", required = true) String date
+    ) throws Exception {
+        Map<String, String> map = new HashMap<>();
+        map.put("ids", ids);
+        map.put("batchName", batchName);
+        map.put("date", date);
+        billSubsidyBatchService.printCount(map);
+        String path = "/opt/subsidy/new_xian.xls";
+        PdfUtil.returnPdfStream3(response, path, "统计表");
+    }
+
+    @GetMapping("/printDetail")
+    public void printDetail(HttpServletResponse response, @RequestParam(name = "ids", required = true) String ids,
+                           @RequestParam(name = "batchName", required = true) String batchName,
+                           @RequestParam(name = "date", required = true) String date
+    ) throws Exception {
+        Map<String, String> map = new HashMap<>();
+        map.put("ids", ids);
+        map.put("batchName", batchName);
+        map.put("date", date);
+        billSubsidyBatchService.printDetail(map);
+        String path = "/opt/subsidy/new_detail.xls";
+        PdfUtil.returnPdfStream3(response, path, "明细表");
+    }
 }

+ 11 - 6
admin/src/main/java/com/huimv/farm/damsubsidy/controller/BillSubsidyController.java

@@ -80,7 +80,7 @@ public class BillSubsidyController {
     }
 
     @PostMapping("/editSubsidy")
-    public Result editSubsidy(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap){
+    public Result editSubsidy(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
         return subsidyService.editSubsidy(httpServletRequest, paramsMap);
     }
 
@@ -164,7 +164,7 @@ public class BillSubsidyController {
         worksheet.getRange().get("H20").getStyle().setWrapText(true);//银行卡号
 
         //调用方法保存为PDF格式
-        String pdfPath = "/opt/subsidy/" +subsidy.getSubsidyName() + ".pdf";
+        String pdfPath = "/opt/subsidy/" + subsidy.getSubsidyName() + ".pdf";
         wb.saveToFile(pdfPath, FileFormat.PDF);
         wb.dispose();
 
@@ -178,18 +178,18 @@ public class BillSubsidyController {
     }
 
     @PostMapping("/QRCode")
-    public Result QrCode(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap) {
+    public Result QrCode(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
         String id = paramsMap.get("id");
         BillSubsidy subsidy = subsidyService.getById(id);
         if (ObjectUtil.isEmpty(subsidy)) {
             return new Result(10001, "订单编号错误!!", false);
-        }else {
+        } else {
             String addressCode = TokenSign.getAddressCode(httpServletRequest);
             String detailedAdressCode = subsidy.getDetailedAdressCode();
             String[] split = detailedAdressCode.split(",");
             if (addressCode.equals(split[2])) {
                 return new Result(ResultCode.SUCCESS, subsidy);
-            }else {
+            } else {
                 return new Result(10003, "该订单与您所在乡镇不符!!!", false);
             }
         }
@@ -311,6 +311,11 @@ public class BillSubsidyController {
         return iBillSubsidyService.countPay(httpServletRequest, parasMap);
     }
 
+    //支付管理
+    @PostMapping("/payList")
+    public Result payList(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> parasMap) {
+        return iBillSubsidyService.payList(httpServletRequest, parasMap);
+    }
     public static void main(String[] args) throws Exception {
         QrCodeExcelPrinter qrCodeExcelPrinter = new QrCodeExcelPrinter();
         String str = "6";
@@ -321,6 +326,6 @@ public class BillSubsidyController {
         //Base64解码
         byte[] decodedBytes = Base64.getMimeDecoder().decode(encode);
         String decodedMime = new String(decodedBytes);
-        System.out.println("解码:"+decodedMime);
+        System.out.println("解码:" + decodedMime);
     }
 }

+ 1 - 1
admin/src/main/java/com/huimv/farm/damsubsidy/entity/BaseEntity.java

@@ -48,7 +48,7 @@ public class BaseEntity implements Serializable {
     /**
      * 创建时间
      */
-    @TableField(fill = FieldFill.INSERT)
+//    @TableField(fill = FieldFill.INSERT)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 

+ 4 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/entity/BillSubsidy.java

@@ -246,4 +246,8 @@ public class BillSubsidy extends BaseEntity implements Serializable {
     private String bankReservePhone;
 
     private Integer subsidyType;
+    private Integer isBatch;
+
+   /* @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;*/
 }

+ 11 - 2
admin/src/main/java/com/huimv/farm/damsubsidy/entity/BillSubsidyBatch.java

@@ -5,6 +5,13 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.huimv.farm.damsubsidy.common.utils.LongJsonDeserializer;
+import com.huimv.farm.damsubsidy.common.utils.LongJsonSerializer;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -53,11 +60,13 @@ public class BillSubsidyBatch implements Serializable {
     /**
      * 创建时间
      */
-    private LocalDateTime createTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
 
     private String createUser;
 
-    private LocalDateTime updateUser;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateUser;
 
     private String updateTime;
 

+ 47 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/entity/vo/BillSubsidyBatchCount.java

@@ -0,0 +1,47 @@
+package com.huimv.farm.damsubsidy.entity.vo;
+
+import com.huimv.farm.damsubsidy.entity.BaseEntity;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 补贴信息表
+ * </p>
+ *
+ * @author author
+ * @since 2023-04-26
+ */
+@Data
+public class BillSubsidyBatchCount extends BaseEntity implements Serializable {
+
+
+    private Integer id;
+    private String name;
+
+
+    private String houseHolds;
+    private Integer cattleNum;
+    private BigDecimal money;
+    private String houseHolds1;
+    private Integer cattleNum1;
+    private BigDecimal money1;
+    private String houseHolds2;
+    private Integer cattleNum2;
+    private BigDecimal money2;
+    private String houseHolds3;
+    private Integer cattleNum3;
+    private BigDecimal money3;
+    private String houseHolds4;
+    private Integer cattleNum4;
+    private BigDecimal money4;
+    private String houseHolds5;
+    private Integer cattleNum5;
+    private BigDecimal money5;
+
+
+
+
+}

+ 36 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/entity/vo/BillSubsidyBatchDetail.java

@@ -0,0 +1,36 @@
+package com.huimv.farm.damsubsidy.entity.vo;
+
+import com.huimv.farm.damsubsidy.entity.BaseEntity;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 补贴信息表
+ * </p>
+ *
+ * @author author
+ * @since 2023-04-26
+ */
+@Data
+public class BillSubsidyBatchDetail extends BaseEntity implements Serializable {
+
+
+    private Integer id;
+    private String address;
+    private String country;
+    private String companyName;
+    private String name;
+    private String idCard;
+    private Integer number;
+    private BigDecimal money;
+    private String bank;
+    private String bankName;
+    private String bankCard;
+    private String notes;
+
+
+
+}

+ 39 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/entity/vo/BillSubsidyBatchPay.java

@@ -0,0 +1,39 @@
+package com.huimv.farm.damsubsidy.entity.vo;
+
+import com.huimv.farm.damsubsidy.entity.BaseEntity;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 补贴信息表
+ * </p>
+ *
+ * @author author
+ * @since 2023-04-26
+ */
+@Data
+public class BillSubsidyBatchPay extends BaseEntity implements Serializable {
+
+
+    private Integer id;
+
+    private String country;
+
+    private String userName;
+    private String idCard;
+    private String bankCard;
+
+    private String bankName;
+    private Integer farmType;
+    private Integer number;
+    private BigDecimal money;
+    private String phone;
+    private String saleName;
+    private String address;
+
+
+
+}

+ 255 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/entity/vo/BillSubsidyDto.java

@@ -0,0 +1,255 @@
+package com.huimv.farm.damsubsidy.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.huimv.farm.damsubsidy.common.utils.LongJsonDeserializer;
+import com.huimv.farm.damsubsidy.common.utils.LongJsonSerializer;
+import com.huimv.farm.damsubsidy.entity.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.Date;
+
+/**
+ * <p>
+ * 补贴信息表
+ * </p>
+ *
+ * @author author
+ * @since 2023-04-26
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("bill_subsidy")
+public class BillSubsidyDto extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    @JsonSerialize(using = LongJsonSerializer.class)
+    @JsonDeserialize(using = LongJsonDeserializer.class)
+    private Long id;
+
+    private String subsidyName;
+
+    /**
+     * old审核进度; 0待受理,1已受理,2已拒接,3审核通过,4审核不通过,5申诉中,6已发放,7未提交(保存),8撤销
+     *
+     * 0待受理、1审核中、2已审核(包括已拒绝)、3已支付 4保存
+     */
+    private Integer subsidySch;
+
+    /**
+     * 农户姓名
+     */
+    private String farmerName;
+
+    /**
+     * 详细地址
+     */
+    private String cargoOwnedetailedAdressr;
+
+    /**
+     * 农户类别:0动态监测对象,1已脱贫,2其他养殖场(户)
+     */
+    private Integer farmerType;
+
+    /**
+     * 养殖场名称
+     */
+    private String farmName;
+
+    /**
+     * 身份证号
+     */
+    private String idCard;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 存栏数
+     */
+    private Integer existNum;
+
+    /**
+     * 引进数
+     */
+    private Integer importNum;
+
+    /**
+     * 奖补类别:0肉牛,1肉羊,2生猪,3青贮池,4生态及地质灾害避险搬迁户,5贷款户,
+     */
+    private Integer rewardType;
+
+    /**
+     * 引进奖补数量
+     */
+    private Integer rewardNum;
+
+    /**
+     * 补贴面积
+     */
+    private Integer rewardArea;
+
+    /**
+     * 上一年享受情况
+     */
+    private String rewardLastYear;
+
+    /**
+     * 检疫单号
+     */
+    private String inspectionNum;
+
+    /**
+     * 耳标号
+     */
+    private String eartagNo;
+
+    /**
+     * 贷款信息
+     */
+    private String loanInfo;
+
+    /**
+     * 申报金额
+     */
+    private BigDecimal applyMoney;
+
+    /**
+     * 补贴账号
+     */
+    private String bankCardId;
+
+    /**
+     * 开户行名称
+     */
+    private String bankName;
+
+
+    private String bankImgUrl;
+
+    /**
+     * 审核部门
+     */
+    private String reviewedDepart;
+
+    /**
+     * 审核部门id
+     */
+    @JsonSerialize(using = LongJsonSerializer.class)
+    private Long reviewedDepartId;
+
+    /**
+     * 提交时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date subTime;
+
+    /**
+     * 受理时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date acceptTime;
+
+    /**
+     * 拒绝理由
+     */
+    private String refuseReason;
+
+    /**
+     * 审核时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date reviewedTime;
+
+    /**
+     * 驳回理由
+     */
+    private String rejectReason;
+
+    /**
+     * 申诉理由
+     */
+    private String appeal;
+
+    /**
+     * 申诉时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date appealTime;
+
+    /**
+     * 支付时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date payTime;
+
+    /**
+     * 支付金额
+     */
+    private BigDecimal payMoney;
+
+    /**
+     * 工作验收表图片地址
+     */
+    private String workAccptUrl;
+
+    /**
+     * 撤销时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDate revokeTime;
+
+    /*
+     * 0未上传验收,1未发放,2已发放'
+     * */
+    private Integer isPay;
+
+    /**
+     * 支付凭证
+     */
+    private String payImgUrl;
+
+    /*
+     * 是否再次申诉0为第一次,1为第二次
+     * */
+    private Integer isShensu;
+
+    private String detailedAdress;
+
+    private String detailedAdressCode;
+
+    private String briefAddress;
+
+    private String briefAddressCode;
+
+    private String saleName;
+    // name_two bank_belong_to   bank_reserve_phone
+    //负责人
+    private String nameTwo;
+    //银行卡所属人
+    private String bankBelongTo;
+    //银行预留手机
+    private String bankReservePhone;
+
+    private Integer subsidyType;
+    private Integer isBatch;
+    private String country;
+    private String sellerName;
+
+ /*   @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;*/
+}

+ 1 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/entity/vo/BillSubsidyPayVo.java

@@ -32,5 +32,6 @@ public class BillSubsidyPayVo extends BaseEntity implements Serializable {
     private BigDecimal money;
     private String phone;
     private String saleName;
+    private String address;
 
 }

+ 8 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/mapper/BillSubsidyMapper.java

@@ -2,7 +2,9 @@ package com.huimv.farm.damsubsidy.mapper;
 
 import com.huimv.farm.damsubsidy.entity.BillSubsidy;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.farm.damsubsidy.entity.vo.BillSubsidyEnterpriseVo;
 import com.huimv.farm.damsubsidy.entity.vo.BillSubsidyReportVo;
+import com.huimv.farm.damsubsidy.entity.vo.BillSubsidyTotalVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -19,4 +21,10 @@ public interface BillSubsidyMapper extends BaseMapper<BillSubsidy> {
     List<BillSubsidyReportVo> listReport(@Param("townCode") String townCode,@Param("startTime") String startTime,@Param("endTime") String endTime);
 
     List<BillSubsidyReportVo> lisTowntReport(@Param("townCode") String townCode,@Param("startTime") String startTime,@Param("endTime") String endTime);
+
+
+    List<BillSubsidyTotalVo> listTotal(@Param("list") String list);
+
+
+    List<BillSubsidyEnterpriseVo> listEnterprise(@Param("list") String list);
 }

+ 15 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/service/IBillSubsidyBatchService.java

@@ -1,8 +1,12 @@
 package com.huimv.farm.damsubsidy.service;
 
+import com.huimv.farm.damsubsidy.common.utils.Result;
 import com.huimv.farm.damsubsidy.entity.BillSubsidyBatch;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
  * <p>
  * 补贴批次表 服务类
@@ -13,4 +17,15 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IBillSubsidyBatchService extends IService<BillSubsidyBatch> {
 
+    Result add(HttpServletRequest httpServletRequest,BillSubsidyBatch billSubsidyBatch);
+
+    Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result listById(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    void printHua(Map<String, String> paramsMap);
+
+    void printCount(Map<String, String> paramsMap);
+
+    void printDetail(Map<String, String> paramsMap);
 }

+ 2 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/service/IBillSubsidyService.java

@@ -58,4 +58,6 @@ public interface IBillSubsidyService extends IService<BillSubsidy> {
     Result countPay(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
 
     Result editSubsidy(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result payList(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
 }

+ 160 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/service/impl/BillSubsidyBatchServiceImpl.java

@@ -1,11 +1,37 @@
 package com.huimv.farm.damsubsidy.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.farm.damsubsidy.common.utils.Result;
+import com.huimv.farm.damsubsidy.common.utils.ResultCode;
+import com.huimv.farm.damsubsidy.entity.AreaAll;
+import com.huimv.farm.damsubsidy.entity.BillBuyInfo;
+import com.huimv.farm.damsubsidy.entity.BillSubsidy;
 import com.huimv.farm.damsubsidy.entity.BillSubsidyBatch;
+import com.huimv.farm.damsubsidy.entity.vo.BillSubsidyDto;
+import com.huimv.farm.damsubsidy.entity.vo.BillSubsidyEnterpriseVo;
+import com.huimv.farm.damsubsidy.entity.vo.BillSubsidyTotalVo;
+import com.huimv.farm.damsubsidy.mapper.AreaAllMapper;
+import com.huimv.farm.damsubsidy.mapper.BillBuyInfoMapper;
 import com.huimv.farm.damsubsidy.mapper.BillSubsidyBatchMapper;
+import com.huimv.farm.damsubsidy.mapper.BillSubsidyMapper;
 import com.huimv.farm.damsubsidy.service.IBillSubsidyBatchService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.farm.test.Print3;
+import com.spire.ms.System.Collections.ArrayList;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 补贴批次表 服务实现类
@@ -17,4 +43,138 @@ import org.springframework.stereotype.Service;
 @Service
 public class BillSubsidyBatchServiceImpl extends ServiceImpl<BillSubsidyBatchMapper, BillSubsidyBatch> implements IBillSubsidyBatchService {
 
+    @Autowired
+    private BillSubsidyBatchMapper billSubsidyMapper;
+    @Autowired
+    private BillSubsidyMapper subsidyMapper;
+    @Autowired
+    private AreaAllMapper areaAllMapper;
+    @Autowired
+    private BillBuyInfoMapper buyInfoMapper;
+
+    @Override
+    public Result add(HttpServletRequest httpServletRequest, BillSubsidyBatch billSubsidyBatch) {
+        Date date = new Date();
+        billSubsidyBatch.setCreateTime(date);
+        String subsidyIds = billSubsidyBatch.getSubsidyIds();
+        String[] split = subsidyIds.split(",");
+        for (String s : split) {
+            QueryWrapper<BillSubsidy> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("id", s);
+            BillSubsidy billSubsidy1 = subsidyMapper.selectOne(queryWrapper);
+            billSubsidy1.setIsBatch(1);
+            subsidyMapper.updateById(billSubsidy1);
+        }
+        billSubsidyMapper.insert(billSubsidyBatch);
+        return new Result(10000, "添加成功!", true);
+    }
+
+    @Override
+    public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String name = paramsMap.get("name");//支付批次名称
+        QueryWrapper<BillSubsidyBatch> queryWrapper = new QueryWrapper<>();
+        queryWrapper.like(StringUtils.isNotBlank("batch_name"), "batch_name", name);
+        List<BillSubsidyBatch> billSubsidyBatches = billSubsidyMapper.selectList(queryWrapper);
+        return new Result(ResultCode.SUCCESS, billSubsidyBatches);
+    }
+
+    @Override
+    public Result listById(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");//批次表中的id
+        String name = paramsMap.get("name");
+        QueryWrapper<BillSubsidyBatch> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("id", id);
+        BillSubsidyBatch batch = billSubsidyMapper.selectOne(queryWrapper);
+        String subsidyIds = batch.getSubsidyIds();
+        String[] split = subsidyIds.split(",");
+        JSONObject jsonObject = new JSONObject();
+        List<BillSubsidyDto> list = new ArrayList();
+        for (String s : split) {
+            QueryWrapper<BillSubsidy> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("id",s).eq(StringUtils.isNotBlank(name), "farmer_name", name);
+            BillSubsidy billSubsidy = subsidyMapper.selectOne(queryWrapper1);
+            BillSubsidyDto dto = new BillSubsidyDto();
+            BeanUtil.copyProperties(billSubsidy, dto);
+            QueryWrapper<AreaAll> queryWrapper2 = new QueryWrapper<>();
+            String detailedAdressCode = dto.getDetailedAdressCode();
+            String[] split1 = detailedAdressCode.split(",");
+            queryWrapper2.eq("id",split1[2]);
+            AreaAll areaAll = areaAllMapper.selectOne(queryWrapper2);
+            dto.setCountry(areaAll.getName());
+            list.add(dto);
+        }
+        jsonObject.put("ids", subsidyIds);
+        jsonObject.put("batchName", batch.getBatchName());
+        jsonObject.put("list", list);
+        Date createTime = batch.getCreateTime();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        jsonObject.put("time", sdf.format(createTime));
+        return new Result(ResultCode.SUCCESS, jsonObject);
+    }
+
+    @Override
+    public void printHua(Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        String batchName = paramsMap.get("batchName");//批次
+        String date = paramsMap.get("date");//时间
+
+        String[] split = ids.split(",");
+        List<BillSubsidyDto> subsidyList = new ArrayList();
+        for (String s : split) {
+            BillSubsidyDto subsidyDto = new BillSubsidyDto();
+            QueryWrapper<BillSubsidy> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("id", s);
+            BillSubsidy billSubsidy = subsidyMapper.selectOne(queryWrapper);
+            BeanUtil.copyProperties(billSubsidy, subsidyDto);
+            String num = subsidyDto.getInspectionNum();
+            QueryWrapper<BillBuyInfo> queryWrapper2 = new QueryWrapper<>();
+            queryWrapper2.eq("inspection_num", num);
+            BillBuyInfo billBuyInfo = buyInfoMapper.selectOne(queryWrapper2);
+
+            String detailedAdressCode = billSubsidy.getDetailedAdressCode();
+            String[] split1 = detailedAdressCode.split(",");
+            QueryWrapper<AreaAll> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("id",  split1[2]);
+            AreaAll areaAll = areaAllMapper.selectOne(queryWrapper1);
+            subsidyDto.setSellerName(billBuyInfo.getSellerName());
+            subsidyDto.setCountry(areaAll.getName());
+            System.out.println(subsidyDto);
+            subsidyList.add(subsidyDto);
+        }
+        try {
+            Print3.print2(subsidyList, batchName, date);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    @Override
+    public void printCount(Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        String batchName = paramsMap.get("batchName");//批次
+        String date = paramsMap.get("date");//时间
+        ids = "("+ids+")";
+
+        List<BillSubsidyTotalVo> billSubsidyTotalVos = subsidyMapper.listTotal(ids);
+        try {
+            Print3.print3(billSubsidyTotalVos,batchName,date);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void printDetail(Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        String batchName = paramsMap.get("batchName");//批次
+        String date = paramsMap.get("date");//时间
+        List<BillSubsidyEnterpriseVo> billSubsidyEnterpriseVos = subsidyMapper.listEnterprise("("+ids+")");
+        try {
+            Print3.print4(billSubsidyEnterpriseVos,batchName,date);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
 }

+ 75 - 47
admin/src/main/java/com/huimv/farm/damsubsidy/service/impl/BillSubsidyServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huimv.farm.damsubsidy.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -19,6 +20,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.farm.damsubsidy.common.utils.Result;
 import com.huimv.farm.damsubsidy.common.utils.ResultCode;
+import com.huimv.farm.damsubsidy.entity.vo.BillSubsidyDto;
 import com.huimv.farm.damsubsidy.entity.vo.BillSubsidyReportVo;
 import com.huimv.farm.damsubsidy.mapper.*;
 import com.huimv.farm.damsubsidy.service.IBillSubsidyService;
@@ -132,7 +134,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
                 baseAnimal.setIsLoated(0);
                 if (animalMapper.updateById(baseAnimal) != 1) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return new Result(10001,"操作失败",false);
+                    return new Result(10001, "操作失败", false);
                 }
             }
             billSubsidy.setRefuseReason(refuseReason);
@@ -184,7 +186,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
                 baseAnimal.setAnimalStatus(1);
                 if (animalMapper.updateById(baseAnimal) != 1) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return new Result(10001,"操作失败",false);
+                    return new Result(10001, "操作失败", false);
                 }
             }
             subsidyMapper.updateById(billSubsidy);
@@ -238,28 +240,28 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
     public Result addApplication(HttpServletRequest httpServletRequest, BillSubsidy billSubsidy) {
         Integer type = sysUserMapper.selectOne(new QueryWrapper<SysUser>().eq("id", TokenSign.getMemberIdByJwtToken(httpServletRequest))).getUserType();
 
-        if (type == 2){
-            if ("".equals(billSubsidy.getFarmName())){
-                return new Result(10001,"牧场名称不能为空",false);
+        if (type == 2) {
+            if ("".equals(billSubsidy.getFarmName())) {
+                return new Result(10001, "牧场名称不能为空", false);
             }
-            if ("".equals(billSubsidy.getNameTwo())){
-                return new Result(10001,"负责人不能为空",false);
+            if ("".equals(billSubsidy.getNameTwo())) {
+                return new Result(10001, "负责人不能为空", false);
             }
             billSubsidy.setSubsidyType(1);
         }
-        if (type == 3){
-            if ("".equals(billSubsidy.getFarmerName())){
-                return new Result(10001,"农户姓名不能为空",false);
+        if (type == 3) {
+            if ("".equals(billSubsidy.getFarmerName())) {
+                return new Result(10001, "农户姓名不能为空", false);
             }
-            if ("".equals(billSubsidy.getFarmerType())){
-                return new Result(10001,"农户类型不能为空",false);
+            if ("".equals(billSubsidy.getFarmerType())) {
+                return new Result(10001, "农户类型不能为空", false);
             }
             billSubsidy.setSubsidyType(0);
         }
         String eartagNo = billSubsidy.getEartagNo();
         String[] eartags = eartagNo.split(",");
-        if (eartags.length !=  billSubsidy.getRewardNum()){
-            return new Result(10001,"奖补数应与实际耳标号数量相同",false);
+        if (eartags.length != billSubsidy.getRewardNum()) {
+            return new Result(10001, "奖补数应与实际耳标号数量相同", false);
         }
         Long id = TokenSign.getMemberIdByJwtToken(httpServletRequest);
         SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().eq("id", id));
@@ -286,7 +288,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
                 animal.setIsLoated(1);
                 if (baseAnimalMapper.updateById(animal) != 1) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return new Result(10001,"操作失败",false);
+                    return new Result(10001, "操作失败", false);
                 }
             } else {
                 String start = eartag.substring(0, eartag.indexOf("-"));
@@ -303,7 +305,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
                     animal.setIsLoated(1);
                     if (baseAnimalMapper.updateById(animal) != 1) {
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return new Result(10001,"操作失败",false);
+                        return new Result(10001, "操作失败", false);
                     }
                 }
             }
@@ -320,10 +322,10 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         BillLandingInspection billLandingInspection = billLandingInspectionMapper.selectOne(new QueryWrapper<BillLandingInspection>()
                 .eq("inspection_num", billSubsidy.getInspectionNum())
 //                .ne("inspection_type",0)
-                .eq("inspection_sch",4));
+                .eq("inspection_sch", 4));
         Integer userType = sysUserMapper.selectOne(new QueryWrapper<SysUser>().eq("id", billLandingInspection.getCreateUser())).getUserType();
 
-        if (count != 0 && userType == 2){
+        if (count != 0 && userType == 2) {
             billSubsidy.setSaleName(billLandingInspection.getCargoOwner());
         }
         billSubsidy.setSubsidySch(0);
@@ -397,24 +399,24 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             String addressCode = TokenSign.getAddressCode(httpServletRequest);
             QueryWrapper<BillSubsidy> queryWrapper = new QueryWrapper<>();
             queryWrapper.between(StringUtils.isNotBlank(date), "create_time", date + " 00:00:00", date + " 23:59:59")
-                    .like(StringUtils.isNotBlank(userName), "farmer_name", userName).like("brief_address_code",addressCode);
+                    .like(StringUtils.isNotBlank(userName), "farmer_name", userName).like("brief_address_code", addressCode);
 
             if (Integer.parseInt(type) == 7) {
-                queryWrapper.eq("is_pay", 1).orderByDesc("create_time").like("brief_address_code",addressCode);
+                queryWrapper.eq("is_pay", 1).orderByDesc("create_time").like("brief_address_code", addressCode);
                 Page<BillSubsidy> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
                 return new Result(ResultCode.SUCCESS, subsidyMapper.selectPage(page, queryWrapper));
             }
             if (Integer.parseInt(type) == 6) {
-                queryWrapper.eq("is_pay", 2).orderByDesc("create_time").like("brief_address_code",addressCode);
+                queryWrapper.eq("is_pay", 2).orderByDesc("create_time").like("brief_address_code", addressCode);
                 Page<BillSubsidy> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
                 return new Result(ResultCode.SUCCESS, subsidyMapper.selectPage(page, queryWrapper));
             }
             if (Integer.parseInt(type) == 3) {
-                queryWrapper.in("is_pay", 0, 1).eq("subsidy_sch", 3).orderByDesc("create_time").like("brief_address_code",addressCode);
+                queryWrapper.in("is_pay", 0, 1).eq("subsidy_sch", 3).orderByDesc("create_time").like("brief_address_code", addressCode);
                 Page<BillSubsidy> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
                 return new Result(ResultCode.SUCCESS, subsidyMapper.selectPage(page, queryWrapper));
             }
-            queryWrapper.eq(StringUtils.isNotBlank(type), "subsidy_sch", type).orderByDesc("create_time").like("brief_address_code",addressCode);
+            queryWrapper.eq(StringUtils.isNotBlank(type), "subsidy_sch", type).orderByDesc("create_time").like("brief_address_code", addressCode);
             Page<BillSubsidy> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
             return new Result(ResultCode.SUCCESS, subsidyMapper.selectPage(page, queryWrapper));
         }
@@ -447,7 +449,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
                 baseAnimal.setIsLoated(0);
                 if (baseAnimalMapper.updateById(baseAnimal) != 1) {
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return new Result(10001,"操作失败",false);
+                    return new Result(10001, "操作失败", false);
                 }
             }
             this.removeById(billSubsidy);
@@ -790,8 +792,8 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             String endTime = endDate + " 23:59:59";
             wrapper.le("create_time", endTime);
         } else {
-             startDate = startDate + " 00:00:00";
-             endDate = endDate + " 23:59:59";
+            startDate = startDate + " 00:00:00";
+            endDate = endDate + " 23:59:59";
             wrapper.between("create_time", startDate, endDate);
         }
         wrapper.eq("is_pay", 1);
@@ -885,22 +887,22 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         String end = paramsMap.get("end");
         Date date = new Date();
         String format = DateUtil.format(date, "yyyy-MM-dd");
-        if (StringUtils.isBlank(start)){
-            start = format+" 00:00:00";
-        }else {
-            start = start+" 00:00:00";
+        if (StringUtils.isBlank(start)) {
+            start = format + " 00:00:00";
+        } else {
+            start = start + " 00:00:00";
         }
-        if (StringUtils.isBlank(end)){
-            end = format+" 23:59:59";
-        }else {
-            end = end+" 23:59:59";
+        if (StringUtils.isBlank(end)) {
+            end = format + " 23:59:59";
+        } else {
+            end = end + " 23:59:59";
         }
         QueryWrapper<AreaAll> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("id", code);
         AreaAll all = areaAllMapper.selectOne(queryWrapper);
         QueryWrapper<BillSubsidy> subsidyQueryWrapper = new QueryWrapper<>();
 
-        subsidyQueryWrapper.like(StringUtils.isNotBlank(code),"detailed_adress_code", code)
+        subsidyQueryWrapper.like(StringUtils.isNotBlank(code), "detailed_adress_code", code)
                 .between("create_time", start, end).eq("subsidy_sch", 3).eq("is_pay", 1)
                 .groupBy("id_card");
         List<BillSubsidy> subsidyList = subsidyMapper.selectList(subsidyQueryWrapper);
@@ -946,19 +948,19 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         String end = paramsMap.get("endDate");
         Date date = new Date();
         String format = DateUtil.format(date, "yyyy-MM-dd");
-        if (StringUtils.isBlank(start)){
-            start = format+" 00:00:00";
-        }else {
-            start = start+" 00:00:00";
+        if (StringUtils.isBlank(start)) {
+            start = format + " 00:00:00";
+        } else {
+            start = start + " 00:00:00";
         }
-        if (StringUtils.isBlank(end)){
-            end = format+" 23:59:59";
-        }else {
-            end = end+" 23:59:59";
+        if (StringUtils.isBlank(end)) {
+            end = format + " 23:59:59";
+        } else {
+            end = end + " 23:59:59";
         }
 
         QueryWrapper<BillSubsidy> subsidyQueryWrapper = new QueryWrapper<>();
-        subsidyQueryWrapper.like(StringUtils.isNotBlank(code),"detailed_adress_code", code)
+        subsidyQueryWrapper.like(StringUtils.isNotBlank(code), "detailed_adress_code", code)
                 .between("create_time", start, end).eq("subsidy_sch", 3).eq("is_pay", 1)
                 .groupBy("id_card");
         List<BillSubsidy> subsidyList = subsidyMapper.selectList(subsidyQueryWrapper);
@@ -976,8 +978,8 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         BillSubsidy billSubsidy = subsidyMapper.selectById(id);
         String[] beforeSplit = billSubsidy.getEartagNo().split(",");
         String[] afterSplit = afterEartagNo.split(",");
-        if (afterSplit.length != Integer.parseInt(afterRewardNum)){
-            return new Result(10001,"奖补数量与实际耳标号数量不符",false);
+        if (afterSplit.length != Integer.parseInt(afterRewardNum)) {
+            return new Result(10001, "奖补数量与实际耳标号数量不符", false);
         }
         List<String> afterList = Arrays.asList(afterSplit);
         List<String> beforeList = Arrays.asList(beforeSplit);
@@ -993,7 +995,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             baseAnimal.setAnimalStatus(4);
             if (baseAnimalMapper.updateById(baseAnimal) != 1) {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                return new Result(10001,"耳标号"+baseAnimal.getEaratgNo()+"修改失败",false);
+                return new Result(10001, "耳标号" + baseAnimal.getEaratgNo() + "修改失败", false);
             }
         }
 
@@ -1017,5 +1019,31 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         return Result.SUCCESS();
     }
 
+    @Override
+    public Result payList(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String code = paramsMap.get("code");//所选乡镇的编码
+        String name = paramsMap.get("name");
+
+        QueryWrapper<BillSubsidy> subsidyQueryWrapper = new QueryWrapper<>();
+        subsidyQueryWrapper.like(StringUtils.isNotBlank(code), "detailed_adress_code", code).like(StringUtils.isNotBlank(name),"farmer_name", name)
+                .eq("subsidy_sch", 3).eq("is_pay", 1)
+                .eq("is_batch", 0)
+                .groupBy("id_card");
+        List<BillSubsidy> subsidyList = subsidyMapper.selectList(subsidyQueryWrapper);
+        JSONArray jsonArray = new JSONArray();
+        for (BillSubsidy billSubsidy : subsidyList) {
+            BillSubsidyDto subsidyDto = new BillSubsidyDto();
+            BeanUtil.copyProperties(billSubsidy,subsidyDto);
+            String detailedAdressCode = billSubsidy.getDetailedAdressCode();
+            String[] split = detailedAdressCode.split(",");
+            QueryWrapper<AreaAll> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("id",  split[2]);
+            AreaAll areaAll = areaAllMapper.selectOne(queryWrapper);
+            subsidyDto.setCountry(areaAll.getName());
+            jsonArray.add(subsidyDto);
+        }
+        return new Result(ResultCode.SUCCESS, jsonArray);
+    }
+
 
 }

+ 230 - 41
admin/src/main/java/com/huimv/farm/test/Print3.java

@@ -1,9 +1,7 @@
 package com.huimv.farm.test;
 
 import com.huimv.farm.damsubsidy.entity.BillSubsidy;
-import com.huimv.farm.damsubsidy.entity.vo.BillSubsidyPayVo;
-import com.huimv.farm.damsubsidy.entity.vo.BillSubsidyReportVo;
-import com.huimv.farm.damsubsidy.entity.vo.BillSubsidyVo;
+import com.huimv.farm.damsubsidy.entity.vo.*;
 import org.jxls.common.Context;
 import org.jxls.util.JxlsHelper;
 
@@ -12,6 +10,7 @@ import java.io.FileOutputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -55,10 +54,9 @@ public class Print3 {
             i = i + 1;
         }
         context.putVar("list", list);
-        context.putVar("address", address);
-        context.putVar("date", date);
         context.putVar("numCount", number);
         context.putVar("moneyCount", money);
+        context.putVar("address",address);
 
 
         //生成
@@ -67,42 +65,233 @@ public class Print3 {
 
     }
 
+    public  static void print2(List<BillSubsidyDto> subsidies, String address, String date) throws Exception {
+        //准备数据
+        String path ="/opt/subsidy/new_pay.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        //如果为系统路径 为: InputStream is = new FileInputStream("F://student.xlsx");
+        InputStream is = new FileInputStream("/opt/subsidy/new_pay.xlsx");
+
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        List<BillSubsidyBatchPay> list = new ArrayList<>();
+        Context context = new Context();
+        BigDecimal money = BigDecimal.valueOf(0);//奖补奖金
+        Integer number = 0;//新引进数量
+        Integer i = 1;
+        for (BillSubsidyDto subsidy : subsidies) {
+            BillSubsidyBatchPay payVo = new BillSubsidyBatchPay();
+            payVo.setId(i);
+            payVo.setAddress(subsidy.getCountry());
+            payVo.setSaleName(subsidy.getSellerName());
+            payVo.setCountry(subsidy.getBriefAddress());
+            payVo.setUserName(subsidy.getFarmerName());
+            payVo.setIdCard(subsidy.getIdCard());
+            payVo.setBankName(subsidy.getBankName());
+            payVo.setBankCard(subsidy.getBankCardId());
+            payVo.setFarmType(subsidy.getFarmerType());
+            payVo.setNumber(subsidy.getRewardNum());
+            payVo.setMoney(subsidy.getApplyMoney());
+            payVo.setPhone(subsidy.getPhone());
+            payVo.setSaleName(subsidy.getSaleName());
+            number = number + subsidy.getRewardNum();
+            money = money.add(subsidy.getApplyMoney());
+            list.add(payVo);
+            i = i + 1;
+        }
+        context.putVar("list", list);
+        context.putVar("numCount", number);
+        context.putVar("moneyCount", money);
+        context.putVar("word", address);
+        String[] split = date.split("-");
+        context.putVar("date1", split[0]);
+        context.putVar("date2", split[1]);
+        context.putVar("date3", split[2]);
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+//        String path = String.valueOf(os);
+
+    }
+
+    public  static void print3(List<BillSubsidyTotalVo> subsidies, String address, String date) throws Exception {
+        //准备数据
+        String path ="/opt/subsidy/new_xian.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        //如果为系统路径 为: InputStream is = new FileInputStream("F://student.xlsx");
+        InputStream is = new FileInputStream("/opt/subsidy/new_xian.xlsx");
+
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        List<BillSubsidyBatchCount> list = new ArrayList<>();
+        Context context = new Context();
+
+        Integer huNum = 0;//奖补户数
+        BigDecimal money = BigDecimal.valueOf(0);//奖补奖金
+        Integer number = 0;//新引进数量
+
+        Integer huNum1 = 0;//奖补户数
+        BigDecimal money1 = BigDecimal.valueOf(0);//奖补奖金
+        Integer number1 = 0;//新引进数量
+
+        Integer huNum2 = 0;//奖补户数
+        BigDecimal money2 = BigDecimal.valueOf(0);//奖补奖金
+        Integer number2 = 0;//新引进数量
+
+        Integer huNum3 = 0;//奖补户数
+        BigDecimal money3 = BigDecimal.valueOf(0);//奖补奖金
+        Integer number3 = 0;//新引进数量
+
+        Integer huNum4 = 0;//奖补户数
+        BigDecimal money4 = BigDecimal.valueOf(0);//奖补奖金
+        Integer number4 = 0;//新引进数量
+
+        Integer huNum5 = 0;//奖补户数
+        BigDecimal money5 = BigDecimal.valueOf(0);//奖补奖金
+        Integer number5 = 0;//新引进数量
+
+        Integer i = 1;
+        for (BillSubsidyTotalVo subsidy : subsidies) {
+            BillSubsidyBatchCount payVo = new BillSubsidyBatchCount();
+            payVo.setId(i);
+            payVo.setName(subsidy.getTownName());
+
+            payVo.setHouseHolds(subsidy.getSubsidyFarmerNum().toString());
+            payVo.setCattleNum(subsidy.getSubsidyCattleNum());
+            payVo.setMoney(subsidy.getSubsidyTotalMoney());
 
-//    /**
-//     * 打印方法  不插入图片
-//     *
-//     * 模板文件为student1.xlsx
-//     * 注意事项:模板文件新加入了一行,所以整体范围也就有所改变,大家注意一下批注中的结束范围
-//     * 图片所占用的范围为B2到C2
-//     *
-//     *
-//     * @throws Exception
-//     */
-//    public static void print1() throws Exception {
-//        //准备数据
-//
-//        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
-//        //如果为系统路径 为: InputStream is = new FileInputStream("F://student.xlsx");
-//        InputStream is = Print.class.getClassLoader().getResourceAsStream("student1.xlsx");
-//        //根据模板生成的文件保存路径  我这里保存在本地D盘
-//        OutputStream os = new FileOutputStream("D://student1.xlsx");
-//
-//        //图片路径
-//        InputStream imageInputStream =Print.class.getClassLoader().getResourceAsStream("a.png");
-//        //转为字节码,插入的图片只能是字节码格式
-//        byte[] imageBytes = Util.toByteArray(imageInputStream);
-//        //绑定数据
-//        Context context = new Context();
-//        context.putVar("imageBytes", imageBytes);
-//        context.putVar("title", "学上统计表");
-////        context.putVar("list", list);
-//        //生成
-//        JxlsHelper.getInstance().processTemplate(is, os, context);
-//    }
-//
-//    public static void main(String[] args) throws Exception {
-//        print();
-////        print1();
-//    }
+            payVo.setHouseHolds1(subsidy.getGetRidOfPovertyNum().toString());
+            payVo.setCattleNum1(subsidy.getGetRidOfPovertyCattleNum());
+            payVo.setMoney1(subsidy.getGetRidOfPovertyMoney());
+
+            payVo.setHouseHolds2(subsidy.getMonitorNum().toString());
+            payVo.setCattleNum2(subsidy.getMonitorCattleNum());
+            payVo.setMoney2(subsidy.getMonitorMoney());
+
+            payVo.setHouseHolds3(subsidy.getOtherNum().toString());
+            payVo.setCattleNum3(subsidy.getOtherCattleNum());
+            payVo.setMoney3(subsidy.getOtherMoney());
+
+            payVo.setHouseHolds4(subsidy.getBigNum().toString());
+            payVo.setCattleNum4(subsidy.getBigCattleNum());
+            payVo.setMoney4(subsidy.getBigMoney());
+
+            payVo.setHouseHolds5(subsidy.getEnterpriseNum().toString());
+            payVo.setCattleNum5(subsidy.getEnterpriseCattleNum());
+            payVo.setMoney5(subsidy.getEnterpriseMoney());
+
+            number = number + subsidy.getSubsidyCattleNum();
+            huNum = huNum + subsidy.getSubsidyFarmerNum();
+            money = money.add(subsidy.getSubsidyTotalMoney());
+
+            number1 = number1 + subsidy.getGetRidOfPovertyCattleNum();
+            huNum1 = huNum1 + subsidy.getGetRidOfPovertyNum();
+            money1 = money1.add(subsidy.getGetRidOfPovertyMoney());
+
+            number2 = number2 + subsidy.getMonitorCattleNum();
+            huNum2 = huNum2 + subsidy.getMonitorNum();
+            money2 = money2.add(subsidy.getMonitorMoney());
+
+            number3 = number3 +subsidy.getOtherCattleNum();
+            huNum3 = huNum3 + subsidy.getOtherNum();
+            money3 = money3.add(subsidy.getOtherMoney());
+
+            number4 = number4 + subsidy.getBigCattleNum();
+            huNum4 = huNum4 + subsidy.getBigNum();
+            money4 = money4.add(subsidy.getBigMoney());
+
+            number5 = number5 + subsidy.getEnterpriseCattleNum();
+            huNum5 = huNum5 + subsidy.getEnterpriseNum();
+            money5 = money5.add(subsidy.getEnterpriseMoney());
+
+
+            list.add(payVo);
+            i = i + 1;
+        }
+        context.putVar("list", list);
+        context.putVar("word", address);
+//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+//        String format = sdf.format(date);
+
+        String[] split = date.split("-");
+        context.putVar("date1", split[0]);
+        context.putVar("date2", split[1]);
+        context.putVar("date3", split[2]);
+        context.putVar("numCount1",huNum);
+        context.putVar("numCount2",number);
+        context.putVar("numCount3",money);
+        context.putVar("numCount4",huNum1);
+        context.putVar("numCount5",number1);
+        context.putVar("numCount6",money1);
+        context.putVar("numCount7",huNum2);
+        context.putVar("numCount8",number2);
+        context.putVar("numCount9",money2);
+        context.putVar("numCount10",huNum2);
+        context.putVar("numCount11",number3);
+        context.putVar("numCount12",money3);
+        context.putVar("numCount13",huNum3);
+        context.putVar("numCount14",number4);
+        context.putVar("numCount15",money4);
+        context.putVar("numCount16",huNum5);
+        context.putVar("numCount17",number5);
+        context.putVar("numCount18",money5);
+
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+//        String path = String.valueOf(os);
+
+    }
+
+    public  static void print4(List<BillSubsidyEnterpriseVo> subsidies, String address, String date) throws Exception {
+        //准备数据
+        String path ="/opt/subsidy/new_detail.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        //如果为系统路径 为: InputStream is = new FileInputStream("F://student.xlsx");
+        InputStream is = new FileInputStream("/opt/subsidy/new_detail.xlsx");
+
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        List<BillSubsidyBatchDetail> list = new ArrayList<>();
+        Context context = new Context();
+        BigDecimal money = BigDecimal.valueOf(0);//奖补奖金
+        Integer number = 0;//新引进数量
+        Integer i = 1;
+        for (BillSubsidyEnterpriseVo subsidy : subsidies) {
+            BillSubsidyBatchDetail payVo = new BillSubsidyBatchDetail();
+            payVo.setId(i);
+            payVo.setAddress(subsidy.getTown());
+            payVo.setCountry(subsidy.getBriefAddress());
+            payVo.setCompanyName(subsidy.getUserName());
+            payVo.setName(subsidy.getCompanyName());
+            payVo.setIdCard(subsidy.getIdCard());
+            payVo.setNumber(subsidy.getRewardNum());
+            payVo.setMoney(subsidy.getApplyMoney());
+            payVo.setBank(subsidy.getBankName());
+            payVo.setBankName(subsidy.getBankName());
+            payVo.setBankCard(subsidy.getBankCardId());
+            payVo.setNotes("");
+
+            number = number + subsidy.getRewardNum();
+            money = money.add(subsidy.getApplyMoney());
+            list.add(payVo);
+            i = i + 1;
+        }
+        context.putVar("list", list);
+        context.putVar("numCount", number);
+        context.putVar("moneyCount", money);
+        context.putVar("word", address);
+     /*   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        String format = sdf.format(date);*/
+        String[] split = date.split("-");
+        context.putVar("date1", split[0]);
+        context.putVar("date2", split[1]);
+        context.putVar("date3", split[2]);
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+//        String path = String.valueOf(os);
+
+    }
 
 }

+ 2 - 2
admin/src/main/resources/application.properties

@@ -1,5 +1,5 @@
-#spring.profiles.active=dev
-spring.profiles.active=formal
+spring.profiles.active=dev
+#spring.profiles.active=formal
 #spring.profiles.active=root
 
 #spring.profiles.active=prod

+ 19 - 19
admin/src/main/resources/com/huimv/farm/damsubsidy/mapper/BillSubsidyMapper.xml

@@ -101,24 +101,24 @@
 
     <select id="listTotal" resultType="com.huimv.farm.damsubsidy.entity.vo.BillSubsidyTotalVo">
         SELECT aa.name AS 'townName',aa.id,
-        (SELECT COUNT(*) FROM `bill_subsidy` s1 WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND s1.id IN #{list}) AS subsidyFarmerNum,
-        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND s1.id IN #{list}) AS subsidyCattleNum,
-        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND s1.id IN #{list}) AS subsidyTotalMoney,
-        (SELECT COUNT(*) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &amp;lt '10' AND s1.reward_type = 0 AND su.farm_type = 1 AND su.user_type = 3 AND s1.id IN #{list}) AS getRidOfPovertyNum,
-        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code AND reward_num &amp;lt '10' LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND su.farm_type = 1 AND su.user_type = 3 AND s1.id IN #{list}) AS getRidOfPovertyCattleNum,
-        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code AND reward_num &amp;lt '10' LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND su.farm_type = 1 AND su.user_type = 3 AND s1.id IN #{list}) AS getRidOfPovertyMoney,
-        (SELECT COUNT(*) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &amp;lt '10' AND s1.reward_type = 0 AND su.farm_type = 0 AND su.user_type = 3 AND s1.id IN #{list}) AS monitorNum,
-        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &amp;lt '10' AND s1.reward_type = 0 AND su.farm_type = 0 AND su.user_type = 3 AND s1.id IN #{list}) AS monitorCattleNum,
-        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &amp;lt '10' AND s1.reward_type = 0 AND su.farm_type = 0 AND su.user_type = 3 AND s1.id IN #{list}) AS monitorMoney,
-        (SELECT COUNT(*) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND reward_num &amp;lt '10' AND su.farm_type = 2 AND su.user_type = 3 AND s1.id IN #{list}) AS otherNum,
-        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &amp;lt '10' AND s1.reward_type = 0 AND su.farm_type = 2 AND su.user_type = 3 AND s1.id IN #{list}) AS otherCattleNum,
-        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &amp;lt '10' AND s1.reward_type = 0 AND su.farm_type = 2 AND su.user_type = 3 AND s1.id IN #{list}) AS otherMoney,
-        (SELECT COUNT(*) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND reward_num &gt;= '10' AND su.user_type = 3 AND s1.id IN #{list}) AS bigNum,
-        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &gt;= '10' AND s1.reward_type = 0 AND su.user_type = 3 AND s1.id IN #{list}) AS bigCattleNum,
-        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &gt;= '10' AND s1.reward_type = 0 AND su.user_type = 3 AND s1.id IN #{list}) AS bigMoney,
-        (SELECT COUNT(*) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0  AND su.user_type = 2 AND s1.id IN #{list}) AS enterpriseNum,
-        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND su.user_type = 2 AND s1.id IN #{list}) AS enterpriseCattleNum,
-        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND su.user_type = 2 AND s1.id IN #{list}) AS enterpriseMoney
+        (SELECT COUNT(*) FROM `bill_subsidy` s1 WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND s1.id IN ${list}) AS subsidyFarmerNum,
+        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND s1.id IN ${list}) AS subsidyCattleNum,
+        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND s1.id IN ${list}) AS subsidyTotalMoney,
+        (SELECT COUNT(*) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &lt; 10 AND s1.reward_type = 0 AND su.farm_type = 1 AND su.user_type = 3 AND s1.id IN ${list}) AS getRidOfPovertyNum,
+        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code AND reward_num &lt; 10 LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND su.farm_type = 1 AND su.user_type = 3 AND s1.id IN ${list}) AS getRidOfPovertyCattleNum,
+        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code AND reward_num &lt; 10 LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND su.farm_type = 1 AND su.user_type = 3 AND s1.id IN ${list}) AS getRidOfPovertyMoney,
+        (SELECT COUNT(*) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &lt; 10 AND s1.reward_type = 0 AND su.farm_type = 0 AND su.user_type = 3 AND s1.id IN ${list}) AS monitorNum,
+        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &lt; 10 AND s1.reward_type = 0 AND su.farm_type = 0 AND su.user_type = 3 AND s1.id IN ${list}) AS monitorCattleNum,
+        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &lt; 10 AND s1.reward_type = 0 AND su.farm_type = 0 AND su.user_type = 3 AND s1.id IN ${list}) AS monitorMoney,
+        (SELECT COUNT(*) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND reward_num &lt; 10 AND su.farm_type = 2 AND su.user_type = 3 AND s1.id IN ${list}) AS otherNum,
+        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &lt; 10 AND s1.reward_type = 0 AND su.farm_type = 2 AND su.user_type = 3 AND s1.id IN ${list}) AS otherCattleNum,
+        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &lt; 10 AND s1.reward_type = 0 AND su.farm_type = 2 AND su.user_type = 3 AND s1.id IN ${list}) AS otherMoney,
+        (SELECT COUNT(*) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND reward_num &gt;= 10 AND su.user_type = 3 AND s1.id IN ${list}) AS bigNum,
+        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &gt;= 10 AND s1.reward_type = 0 AND su.user_type = 3 AND s1.id IN ${list}) AS bigCattleNum,
+        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND reward_num &gt;= 10 AND s1.reward_type = 0 AND su.user_type = 3 AND s1.id IN ${list}) AS bigMoney,
+        (SELECT COUNT(*) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0  AND su.user_type = 2 AND s1.id IN ${list}) AS enterpriseNum,
+        (SELECT COALESCE(SUM(s1.reward_num),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND su.user_type = 2 AND s1.id IN ${list}) AS enterpriseCattleNum,
+        (SELECT COALESCE(SUM(s1.apply_money),0) FROM `bill_subsidy` s1 LEFT JOIN `sys_user` su ON s1.create_user = su.id  WHERE s1.brief_address_code LIKE CONCAT(aa.id,'%') AND s1.reward_type = 0 AND su.user_type = 2 AND s1.id IN ${list}) AS enterpriseMoney
         FROM `area_all` aa
         WHERE aa.id LIKE '621121%' AND LEVEL = '4+'
         ORDER BY aa.id ASC
@@ -126,7 +126,7 @@
     
     <select id="listEnterprise" resultType="com.huimv.farm.damsubsidy.entity.vo.BillSubsidyEnterpriseVo">
 SELECT (SELECT NAME FROM `area_all` WHERE id = LEFT(bs.brief_address_code,9)) AS town,bs.brief_address,su.user_name,bs.company_name,bs.id_card,bs.reward_num,bs.apply_money,bs.bank_name,bs.bank_card_id
-FROM `bill_subsidy` bs LEFT JOIN `sys_user` su ON bs.create_user = su.id WHERE subsidy_type = 1  AND bs.id IN #{list}
+FROM `bill_subsidy` bs LEFT JOIN `sys_user` su ON bs.create_user = su.id WHERE subsidy_type = 1  AND bs.id IN ${list}
     </select>
 
 </mapper>