wwh преди 2 години
родител
ревизия
ee89fa7145

+ 15 - 5
admin/src/main/java/com/huimv/farm/damsubsidy/common/token/TokenSign.java

@@ -26,7 +26,7 @@ public class TokenSign {
      * 产生token
      * @return
      */
-    public static String sign(String userName,String phone,Long id){
+    public static String sign(String userName,String phone,Long id,String addressCode,Integer userType){
 
         String JwtToken = Jwts.builder()
                 //头部信息
@@ -38,8 +38,10 @@ public class TokenSign {
                 .setExpiration(new Date(System.currentTimeMillis() + EXPIRE_TIME))
                 //token主体部分,存储用户信息
                 .claim("userName", userName)
-                .claim("phone",phone)
-                .claim("id",id)
+                .claim("phone", phone)
+                .claim("id", id)
+                .claim("addressCode", addressCode)
+                .claim("userType", userType)
                 .signWith(SignatureAlgorithm.HS256, APP_SECRET)
                 .compact();
 
@@ -89,14 +91,14 @@ public class TokenSign {
         return  id instanceof  Integer ? Long.valueOf((Integer)  id) :(Long) id;
     }
 
-    public static String getFarmIds(HttpServletRequest request) {
+    public static String getAddressCode(HttpServletRequest request) {
         String jwtToken = request.getHeader("accessToken");
         if (StringUtils.isBlank(jwtToken)) {
             return null;
         }
         Claims claims = getClaims(jwtToken);
         assert claims != null;
-        return (String) claims.get("farmIds");
+        return (String) claims.get("addressCode");
     }
 
     public static String getUserName(HttpServletRequest request) {
@@ -116,6 +118,14 @@ public class TokenSign {
         Claims claims = getClaims(jwtToken);
         return (String) claims.get("phone");
     }
+    public static Integer getUserType(HttpServletRequest request) {
+        String jwtToken = request.getHeader("accessToken");
+        if (StringUtils.isBlank(jwtToken)) {
+            return null;
+        }
+        Claims claims = getClaims(jwtToken);
+        return (Integer) claims.get("userType");
+    }
 
     /**
      * 获取claims对象

+ 23 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/common/utils/LongJsonDeserializer.java

@@ -0,0 +1,23 @@
+package com.huimv.farm.damsubsidy.common.utils;
+
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.IOException;
+
+@Slf4j
+public class LongJsonDeserializer extends JsonDeserializer<Long> {
+
+    @Override
+    public Long deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)throws IOException {
+        String value = jsonParser.getText();
+        try {
+            return value == null ? null : Long.parseLong(value);
+        } catch (NumberFormatException e) {
+            log.error("解析长整形错误", e);
+            return null;
+        }
+    }
+}

+ 18 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/common/utils/LongJsonSerializer.java

@@ -0,0 +1,18 @@
+package com.huimv.farm.damsubsidy.common.utils;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+
+import java.io.IOException;
+
+public class LongJsonSerializer extends JsonSerializer<Long> {
+
+    @Override
+    public void serialize(Long value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)throws IOException {
+        String text = (value == null ? null : String.valueOf(value));
+        if (text != null) {
+            jsonGenerator.writeString(text);
+        }
+    }
+}

+ 50 - 12
admin/src/main/java/com/huimv/farm/damsubsidy/controller/BillSubsidyController.java

@@ -4,6 +4,7 @@ package com.huimv.farm.damsubsidy.controller;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.UUID;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.farm.damsubsidy.common.token.TokenSign;
 import com.huimv.farm.damsubsidy.common.utils.Result;
 import com.huimv.farm.damsubsidy.common.utils.UploadImage;
 import com.huimv.farm.damsubsidy.entity.AreaAll;
@@ -209,17 +210,45 @@ public class BillSubsidyController {
 
     //阶段性统计表
     @GetMapping("/printAmount")
-    public void printAmount(HttpServletResponse response, @RequestParam(name = "country", required = true) String country
+    public void printAmount(HttpServletResponse response,HttpServletRequest httpServletRequest, @RequestParam(name = "country", required = false) String country
             , @RequestParam(name = "startDate", required = true) String startDate, @RequestParam(name = "endDate", required = true) String endDate) throws Exception {
-        Map<String, String> map = new HashMap<>();
-        map.put("start", startDate);
-        map.put("end", endDate);
-        map.put("code", country);
-        iBillSubsidyService.printAmount(response, map);
 
-        String path = "/opt/subsidy/amount.xls";
-        PdfUtil.returnPdfStream2(response,path,"阶段性统计表");
-        //文件删除 TODO
+
+        Integer userType = TokenSign.getUserType(httpServletRequest);
+        if (userType == 0) {
+            //畜牧中心
+            if (country == null || "".equals(country)) {
+                //打印县
+                Map<String, String> map = new HashMap<>();
+                map.put("start", startDate);
+                map.put("end", endDate);
+                map.put("code","1");
+                iBillSubsidyService.printAmount(response, map);
+                String path = "/opt/subsidy/xian.xls";
+                PdfUtil.returnPdfStream2(response, path, "县阶段性统计表");
+            } else {
+                //打印镇
+                Map<String, String> map = new HashMap<>();
+                map.put("start", startDate);
+                map.put("end", endDate);
+                map.put("code",country);
+                iBillSubsidyService.printAmount(response, map);
+                String path = "/opt/subsidy/amount.xls";
+                PdfUtil.returnPdfStream2(response, path, "镇阶段性统计表");
+            }
+
+        }else {
+            //专干
+            country = TokenSign.getAddressCode(httpServletRequest);//镇的编码
+            Map<String, String> map = new HashMap<>();
+            map.put("start", startDate);
+            map.put("end", endDate);
+            map.put("code", country);
+            iBillSubsidyService.printAmount(response, map);
+            String path = "/opt/subsidy/amount.xls";
+            PdfUtil.returnPdfStream2(response, path, "镇阶段性统计表");
+        }
+
     }
 
     //阶段性待支付统计表
@@ -233,10 +262,19 @@ public class BillSubsidyController {
         iBillSubsidyService.printWaitPay(response, map);
 
         String path = "/opt/subsidy/pay.xls";
-
-//        queryWrapper.eq()
-//        Print2.print();
         PdfUtil.returnPdfStream2(response,path,"待支付表");
         //文件删除 TODO
     }
+
+    //阶段性统计表展示
+    @PostMapping("/listCount")
+    public Result listCount(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> parasMap){
+        return iBillSubsidyService.countState(httpServletRequest, parasMap);
+    }
+
+    //阶段性待支付统计表展示
+    @PostMapping("/listCountPay")
+    public Result listCountPay(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> parasMap){
+        return iBillSubsidyService.countPay(httpServletRequest, parasMap);
+    }
 }

+ 8 - 6
admin/src/main/java/com/huimv/farm/damsubsidy/controller/SysUserController.java

@@ -62,7 +62,7 @@ public class SysUserController {
             accessToken.setAccountName(user.getUserName());
             accessToken.setCreated(new Date());
             accessToken.setType(user.getUserType());
-            accessToken.setToken(TokenSign.sign(user.getUserName(), user.getPhone(),user.getId()));
+            accessToken.setToken(TokenSign.sign(user.getUserName(), user.getPhone(),user.getId(),user.getDetailedAdressCode(),user.getUserType()));
             accessToken.setCode(result.getCode());
             accessToken.setMessage(result.getMessage());
             accessToken.setUserId(user.getId());
@@ -73,7 +73,7 @@ public class SysUserController {
         if (result.getCode() == 10004) {
             accessToken.setAccountName("游客");
             accessToken.setCreated(new Date());
-            accessToken.setToken(TokenSign.sign("游客", map.get("phone"),null));
+            accessToken.setToken(TokenSign.sign("游客", map.get("phone"),null,"",10));
             accessToken.setLoginIp("");
             accessToken.setCode(result.getCode());
             accessToken.setMessage(result.getMessage());
@@ -121,12 +121,14 @@ public class SysUserController {
                 accessToken.setAccountName(accountName);
                 accessToken.setCode(result.getCode());
                 accessToken.setMessage(result.getMessage());
-                String token = TokenSign.sign(accountName,accountEntity.getPhone(),accountEntity.getId());
+                String token = TokenSign.sign(accountName,accountEntity.getPhone(),accountEntity.getId(),accountEntity.getDetailedAdressCode(),accountEntity.getUserType());
                 accessToken.setToken(token);
 
                 accessToken.setUserName(accountEntity.getUserName());
                 accessToken.setUserId(accountEntity.getId());
                 accessToken.setPhone(accountEntity.getPhone());
+                SysUser user = (SysUser) result.getData();
+                accessToken.setUser(user);
 
                 accessToken.setLoginIp(remoteHost);
                 return new Result(ResultCode.SUCCESS,accessToken);
@@ -218,7 +220,7 @@ public class SysUserController {
             accessToken.setCreated(new Date());
             accessToken.setLoginIp(user.getLastIp());
             accessToken.setType(user.getUserType());
-            accessToken.setToken(TokenSign.sign(user.getUserName(), user.getPhone(),user.getId()));
+            accessToken.setToken(TokenSign.sign(user.getUserName(), user.getPhone(),user.getId(),user.getDetailedAdressCode(),user.getUserType()));
             accessToken.setPhone(user.getPhone());
             accessToken.setUser(user);
             accessToken.setUserName(user.getUserName());
@@ -271,7 +273,7 @@ public class SysUserController {
     //测试-token
     @PostMapping(value = "/getToken")
     public String getToken(HttpServletRequest req) {
-        String token = TokenSign.sign("养殖户测试", "13112341236",6L);
+        String token = TokenSign.sign("养殖户测试", "13112341236",6L,"",10);
         return token;
     }
 
@@ -369,7 +371,7 @@ public class SysUserController {
             AccessToken accessToken = new AccessToken();
             accessToken.setUser(user);
             accessToken.setUserId(user.getId());
-            accessToken.setToken(TokenSign.sign(user.getUserName(), user.getPhone(), user.getId()));
+            accessToken.setToken(TokenSign.sign(user.getUserName(), user.getPhone(), user.getId(),user.getDetailedAdressCode(),user.getUserType()));
             accessToken.setAccountName(user.getUserName());
             accessToken.setCreated(new Date());
             accessToken.setLoginIp(user.getLastIp());

+ 8 - 0
admin/src/main/java/com/huimv/farm/damsubsidy/entity/SysUser.java

@@ -5,6 +5,12 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.util.Date;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+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;
@@ -25,6 +31,8 @@ public class SysUser extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = LongJsonSerializer.class)
+    @JsonDeserialize(using = LongJsonDeserializer.class)
     @TableId(value = "id", type = IdType.ASSIGN_ID)
     private Long id;
 

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

@@ -52,4 +52,8 @@ public interface IBillSubsidyService extends IService<BillSubsidy> {
     void printAmount(HttpServletResponse httpServletResponse,Map<String,String> paramsMap);
 
     void printWaitPay(HttpServletResponse httpServletResponse,Map<String,String> paramsMap);
+
+    Result countState(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
+
+    Result countPay(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
 }

+ 192 - 140
admin/src/main/java/com/huimv/farm/damsubsidy/service/impl/BillSubsidyServiceImpl.java

@@ -80,9 +80,9 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         } else if (Integer.parseInt(type) == 1) {
             queryWrapper.eq("subsidy_sch", 0).orderByDesc("create_time");
         } else if (Integer.parseInt(type) == 2) {
-            queryWrapper.in("subsidy_sch", 1,5).orderByDesc("create_time");
+            queryWrapper.in("subsidy_sch", 1, 5).orderByDesc("create_time");
         } else {
-            queryWrapper.in("subsidy_sch", 2,3).orderByDesc("create_time");
+            queryWrapper.in("subsidy_sch", 2, 3).orderByDesc("create_time");
         }
         Page<BillSubsidy> page = new Page(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
 //        List<BillSubsidy> billSubsidies = subsidyMapper.selectList(queryWrapper);
@@ -115,7 +115,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         if (type == 1) {
             String refuseReason = paramsMap.get("refuseReason"); //拒绝理由
             if (refuseReason == "" || refuseReason == null) {
-                return new Result(10001, "拒绝理由不能为空!",false);
+                return new Result(10001, "拒绝理由不能为空!", false);
             }
             QueryWrapper<BillSubsidy> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("id", id);
@@ -158,10 +158,10 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         if (type == 1) { //驳回
             String rejectReason = paramsMap.get("rejectReason");
             if (rejectReason == null || "".equals(rejectReason)) {
-                return new Result(10001, "驳回理由不能为空!",false);
+                return new Result(10001, "驳回理由不能为空!", false);
             }
             if (workAccptUrl == null || "".equals(workAccptUrl)) {
-                return new Result(10001, "工作验收表不能为空!",false);
+                return new Result(10001, "工作验收表不能为空!", false);
             }
             billSubsidy.setSubsidySch(4);
             billSubsidy.setRejectReason(rejectReason);
@@ -224,28 +224,28 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         String bankCardId = billSubsidy.getBankCardId();
         Long id = TokenSign.getMemberIdByJwtToken(httpServletRequest);
         SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().eq("id", id));
-        if (billSubsidy.getExistNum() < billSubsidy.getImportNum()){
-            return new Result(10001,"引进数应小于或等于存栏数!",false);
+        if (billSubsidy.getExistNum() < billSubsidy.getImportNum()) {
+            return new Result(10001, "引进数应小于或等于存栏数!", false);
         }
-        if (billSubsidy.getImportNum() < billSubsidy.getRewardNum()){
-            return new Result(10001,"奖补数应小于或等于引进数!",false);
+        if (billSubsidy.getImportNum() < billSubsidy.getRewardNum()) {
+            return new Result(10001, "奖补数应小于或等于引进数!", false);
         }
-        if(!(BankUtil.checkBankCard(bankCardId))){
-            return new Result(10001,"银行卡号不符合标准!",false);
+        if (!(BankUtil.checkBankCard(bankCardId))) {
+            return new Result(10001, "银行卡号不符合标准!", false);
         }
-        if (ObjectUtil.isEmpty(BankUtil.getname(bankCardId))){
-            return new Result(10001,"补贴账号有误,请检查!",false);
+        if (ObjectUtil.isEmpty(BankUtil.getname(bankCardId))) {
+            return new Result(10001, "补贴账号有误,请检查!", false);
         }
         for (String eartag : eartags) {
-            if (!eartag.contains("-")){
+            if (!eartag.contains("-")) {
                 BaseAnimal animal = baseAnimalMapper.selectOne(new QueryWrapper<BaseAnimal>().eq("earatg_no", eartag));
                 animal.setIsLoated(1);
                 baseAnimalMapper.updateById(animal);
-            }else {
+            } else {
                 String start = eartag.substring(0, eartag.indexOf("-"));
                 String end = eartag.substring(eartag.indexOf("-") + 1);
                 String substring = start.substring(0, start.length() - end.length());
-                String finish = substring+end;
+                String finish = substring + end;
                 List<Integer> numbers = new ArrayList<>();
                 for (int i = Integer.parseInt(start); i <= Integer.parseInt(finish); i++) {
                     numbers.add(i);
@@ -259,7 +259,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             }
         }
         billSubsidy.setBankName(BankUtil.getname(bankCardId));
-        billSubsidy.setSubsidyName(billSubsidy.getFarmerName()+"的补贴申请");
+        billSubsidy.setSubsidyName(billSubsidy.getFarmerName() + "的补贴申请");
         billSubsidy.setDetailedAdress(sysUser.getDetailedAdress());
         billSubsidy.setDetailedAdressCode(sysUser.getDetailedAdressCode());
         billSubsidy.setBriefAddress(sysUser.getBriefAddress());
@@ -269,10 +269,10 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         billSubsidy.setSubsidySch(0);
         Long userName = id;
         BillSubsidy subsidy = this.getOne(new QueryWrapper<BillSubsidy>().eq("create_user", userName).eq("subsidy_sch", 7));
-        if (ObjectUtil.isEmpty(subsidy)){
+        if (ObjectUtil.isEmpty(subsidy)) {
             this.save(billSubsidy);
-        }else {
-            this.update(billSubsidy,new QueryWrapper<BillSubsidy>().eq("create_user",userName).eq("subsidy_sch",7));
+        } else {
+            this.update(billSubsidy, new QueryWrapper<BillSubsidy>().eq("create_user", userName).eq("subsidy_sch", 7));
         }
         return Result.SUCCESS();
     }
@@ -283,10 +283,10 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         BillSubsidy subsidy = this.getOne(new QueryWrapper<BillSubsidy>().eq("create_user", userName).eq("subsidy_sch", 7));
         billSubsidy.setSubsidySch(7);
         billSubsidy.setCreateUser(userName);
-        if (ObjectUtil.isEmpty(subsidy)){
+        if (ObjectUtil.isEmpty(subsidy)) {
             this.save(billSubsidy);
-        }else {
-            this.update(billSubsidy,new QueryWrapper<BillSubsidy>().eq("create_user",userName).eq("subsidy_sch",7));
+        } else {
+            this.update(billSubsidy, new QueryWrapper<BillSubsidy>().eq("create_user", userName).eq("subsidy_sch", 7));
         }
         return Result.SUCCESS();
     }
@@ -306,8 +306,8 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         }
 
         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);
+        queryWrapper.between(StringUtils.isNotBlank(date), "create_time", date + " 00:00:00", date + " 23:59:59")
+                .like(StringUtils.isNotBlank(userName), "farmer_name", userName);
 
         if (Integer.parseInt(type) == 7) {
             queryWrapper.eq("is_pay", 1).orderByDesc("create_time");
@@ -320,11 +320,11 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             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");
+            queryWrapper.in("is_pay", 0, 1).eq("subsidy_sch", 3).orderByDesc("create_time");
             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");
+        queryWrapper.eq(StringUtils.isNotBlank(type), "subsidy_sch", type).orderByDesc("create_time");
         Page<BillSubsidy> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
         return new Result(ResultCode.SUCCESS, subsidyMapper.selectPage(page, queryWrapper));
     }
@@ -349,7 +349,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         if ("1".equals(type)) {
             List<BaseAnimal> baseAnimals = baseAnimalMapper.selectList(new QueryWrapper<BaseAnimal>()
                     .eq("inspection_num", billSubsidy.getInspectionNum())
-                    .eq("belong_to_user",TokenSign.getMemberIdByJwtToken(httpServletRequest)));
+                    .eq("belong_to_user", TokenSign.getMemberIdByJwtToken(httpServletRequest)));
             for (BaseAnimal baseAnimal : baseAnimals) {
                 baseAnimal.setIsLoated(0);
                 baseAnimalMapper.updateById(baseAnimal);
@@ -385,32 +385,32 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
 
         if (userType == 2 || userType == 3) {
             subsidyQueryWrapper.eq("create_user", userName);
-            if (ObjectUtil.isNotEmpty(subsidySch)){
-                if (subsidySch.equals("1")){
-                    subsidyQueryWrapper.eq("subsidy_sch",0);
-                }else if (subsidySch.equals("2")){
-                    subsidyQueryWrapper.in("subsidy_sch",1,5);
-                }else if (subsidySch.equals("3")){
-                    subsidyQueryWrapper.in("subsidy_sch",2,3,4);
-                }else if (subsidySch.equals("4")){
-                    subsidyQueryWrapper.eq("is_pay",2);
+            if (ObjectUtil.isNotEmpty(subsidySch)) {
+                if (subsidySch.equals("1")) {
+                    subsidyQueryWrapper.eq("subsidy_sch", 0);
+                } else if (subsidySch.equals("2")) {
+                    subsidyQueryWrapper.in("subsidy_sch", 1, 5);
+                } else if (subsidySch.equals("3")) {
+                    subsidyQueryWrapper.in("subsidy_sch", 2, 3, 4);
+                } else if (subsidySch.equals("4")) {
+                    subsidyQueryWrapper.eq("is_pay", 2);
                 }
-            }else {
-                subsidyQueryWrapper.ne("subsidy_sch",7);
+            } else {
+                subsidyQueryWrapper.ne("subsidy_sch", 7);
             }
-        }else {
-            if (ObjectUtil.isNotEmpty(subsidySch)){
-                if (subsidySch.equals("1")){
-                    subsidyQueryWrapper.eq("subsidy_sch",0);
-                }else if (subsidySch.equals("2")){
-                    subsidyQueryWrapper.in("subsidy_sch",1,5);
-                }else if (subsidySch.equals("3")){
-                    subsidyQueryWrapper.in("subsidy_sch",2,3,4);
-                }else if (subsidySch.equals("4")){
-                    subsidyQueryWrapper.eq("is_pay",2);
+        } else {
+            if (ObjectUtil.isNotEmpty(subsidySch)) {
+                if (subsidySch.equals("1")) {
+                    subsidyQueryWrapper.eq("subsidy_sch", 0);
+                } else if (subsidySch.equals("2")) {
+                    subsidyQueryWrapper.in("subsidy_sch", 1, 5);
+                } else if (subsidySch.equals("3")) {
+                    subsidyQueryWrapper.in("subsidy_sch", 2, 3, 4);
+                } else if (subsidySch.equals("4")) {
+                    subsidyQueryWrapper.eq("is_pay", 2);
                 }
-            }else {
-                subsidyQueryWrapper.ne("subsidy_sch",7);
+            } else {
+                subsidyQueryWrapper.ne("subsidy_sch", 7);
             }
         }
 //        if (startTime != null) {
@@ -423,17 +423,17 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
 //        }
 
         subsidyQueryWrapper.orderByDesc("create_time");
-        Page<BillSubsidy> page = new Page(Integer.parseInt(pageNum),Integer.parseInt(pageSize));
-        return new Result(ResultCode.SUCCESS,subsidyMapper.selectPage(page,subsidyQueryWrapper));
+        Page<BillSubsidy> page = new Page(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
+        return new Result(ResultCode.SUCCESS, subsidyMapper.selectPage(page, subsidyQueryWrapper));
     }
 
     @Override
     public Result getLast(HttpServletRequest httpServletRequest, Map<String, String> parasMap) {
         BillSubsidy billSubsidy = this.getOne(new QueryWrapper<BillSubsidy>().eq("create_user", TokenSign.getMemberIdByJwtToken(httpServletRequest)).eq("subsidy_sch", 7));
-        if (ObjectUtil.isEmpty(billSubsidy)){
-            return new Result(ResultCode.SUCCESS,null);
-        }else {
-            return new Result(ResultCode.SUCCESS,billSubsidy);
+        if (ObjectUtil.isEmpty(billSubsidy)) {
+            return new Result(ResultCode.SUCCESS, null);
+        } else {
+            return new Result(ResultCode.SUCCESS, billSubsidy);
         }
     }
 
@@ -442,7 +442,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         String id = parasMap.get("id");
         BillSubsidy billSubsidy = this.getById(id);
         List result = new ArrayList();
-        if (billSubsidy.getSubsidySch() == 0){
+        if (billSubsidy.getSubsidySch() == 0) {
             RejectApplication addApplication = new RejectApplication();
             addApplication.setTitle("提交申请");
             addApplication.setStatus(true);
@@ -454,7 +454,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             lastApplication.setStatus(true);
             lastApplication.setTitle("待受理");
             result.add(lastApplication);
-        }else if (billSubsidy.getSubsidySch() == 1){
+        } else if (billSubsidy.getSubsidySch() == 1) {
             RejectApplication addApplication = new RejectApplication();
             addApplication.setTitle("提交申请");
             addApplication.setStatus(true);
@@ -473,7 +473,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             lastApplication.setStatus(true);
             lastApplication.setTitle("审核中");
             result.add(lastApplication);
-        }else if (billSubsidy.getSubsidySch() == 2){
+        } else if (billSubsidy.getSubsidySch() == 2) {
             RejectApplication addApplication = new RejectApplication();
             addApplication.setTitle("提交申请");
             addApplication.setReason("");
@@ -484,7 +484,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             rejectApplication.setTitle("已拒绝");
             rejectApplication.setStatus(false);
             rejectApplication.setTime(billSubsidy.getAcceptTime());
-            rejectApplication.setReason("拒绝理由:"+billSubsidy.getRefuseReason());
+            rejectApplication.setReason("拒绝理由:" + billSubsidy.getRefuseReason());
             result.add(rejectApplication);
             if (billSubsidy.getAppeal() != null) {
                 RejectApplication shensuApplication = new RejectApplication();
@@ -494,7 +494,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
                 shensuApplication.setReason("");
                 result.add(shensuApplication);
             }
-        }else if (billSubsidy.getSubsidySch() == 3){
+        } else if (billSubsidy.getSubsidySch() == 3) {
             RejectApplication addApplication = new RejectApplication();
             addApplication.setTitle("提交申请");
             addApplication.setReason("");
@@ -525,25 +525,25 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             acceptApplication.setTime(billSubsidy.getAcceptTime());
             result.add(acceptApplication);
 
-            if (billSubsidy.getIsPay() == 2){
+            if (billSubsidy.getIsPay() == 2) {
                 RejectApplication payApplication = new RejectApplication();
                 payApplication.setTitle("已支付");
                 payApplication.setStatus(true);
                 payApplication.setTime(billSubsidy.getPayTime());
-                if (ObjectUtil.isEmpty(billSubsidy.getPayMoney())){
-                    payApplication.setReason("支付金额: ¥"+"");
-                }else {
-                    payApplication.setReason("支付金额: ¥"+billSubsidy.getPayMoney().toString());
+                if (ObjectUtil.isEmpty(billSubsidy.getPayMoney())) {
+                    payApplication.setReason("支付金额: ¥" + "");
+                } else {
+                    payApplication.setReason("支付金额: ¥" + billSubsidy.getPayMoney().toString());
                 }
                 result.add(payApplication);
-            }else {
+            } else {
                 RejectApplication lastApplication = new RejectApplication();
                 lastApplication.setTitle("待支付");
                 lastApplication.setReason("");
                 lastApplication.setStatus(true);
                 result.add(lastApplication);
             }
-        }else if (billSubsidy.getSubsidySch() == 4){
+        } else if (billSubsidy.getSubsidySch() == 4) {
             RejectApplication addApplication = new RejectApplication();
             addApplication.setTitle("提交申请");
             addApplication.setReason("");
@@ -577,10 +577,10 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             rejectApplication.setTitle("审核不通过");
             rejectApplication.setStatus(false);
             rejectApplication.setTime(billSubsidy.getReviewedTime());
-            rejectApplication.setReason("驳回理由: "+billSubsidy.getRejectReason());
+            rejectApplication.setReason("驳回理由: " + billSubsidy.getRejectReason());
             result.add(rejectApplication);
 
-        }else if (billSubsidy.getSubsidySch() == 5){
+        } else if (billSubsidy.getSubsidySch() == 5) {
             RejectApplication addApplication = new RejectApplication();
             addApplication.setTitle("提交申请");
             addApplication.setReason("");
@@ -600,14 +600,14 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             rejectApplication.setTitle("审核不通过");
             rejectApplication.setStatus(false);
             rejectApplication.setTime(billSubsidy.getReviewedTime());
-            rejectApplication.setReason("驳回理由: "+billSubsidy.getRejectReason());
+            rejectApplication.setReason("驳回理由: " + billSubsidy.getRejectReason());
             result.add(rejectApplication);
 
             RejectApplication appealApplication = new RejectApplication();
             appealApplication.setTitle("已申诉");
             appealApplication.setStatus(true);
             appealApplication.setTime(billSubsidy.getAppealTime());
-            appealApplication.setReason("申诉内容描述: "+billSubsidy.getAppeal());
+            appealApplication.setReason("申诉内容描述: " + billSubsidy.getAppeal());
             result.add(appealApplication);
 
             RejectApplication lastApplication = new RejectApplication();
@@ -616,7 +616,7 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
             lastApplication.setReason("");
             result.add(lastApplication);
         }
-        return new Result(ResultCode.SUCCESS,result);
+        return new Result(ResultCode.SUCCESS, result);
     }
 
     //打印待支付的
@@ -628,79 +628,80 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         String address = paramsMap.get("address");
 
         QueryWrapper<BillSubsidy> wrapper = new QueryWrapper<>();
-        if (StringUtils.isBlank(startDate)){
+        if (StringUtils.isBlank(startDate)) {
             Date date = new Date();
-             startDate = DateUtil.format(date, "yyyy-MM-dd");
-            wrapper.ge("create_time",startDate);
+            startDate = DateUtil.format(date, "yyyy-MM-dd");
+            wrapper.ge("create_time", startDate);
         }
-        if (StringUtils.isNotBlank(endDate)){
-            String endTime = endDate +" 23:59:59";
-            wrapper.le("create_time",endTime);
+        if (StringUtils.isNotBlank(endDate)) {
+            String endTime = endDate + " 23:59:59";
+            wrapper.le("create_time", endTime);
         }
 
 
-        if (StringUtils.isNotBlank(ids)){
+        if (StringUtils.isNotBlank(ids)) {
             List<String> list = Arrays.asList(ids.split(","));
-            wrapper.in("id",list);
+            wrapper.in("id", list);
         }
-        wrapper.eq("is_pay",1);
-        wrapper.eq("subsidy_sch",3);
+        wrapper.eq("is_pay", 1);
+        wrapper.eq("subsidy_sch", 3);
         List<BillSubsidy> billSubsidies = subsidyMapper.selectList(wrapper);
-        if (ObjectUtil.isEmpty(billSubsidies)){
-            return new Result(10001,"当前无待支付名单",true);
+        if (ObjectUtil.isEmpty(billSubsidies)) {
+            return new Result(10001, "当前无待支付名单", true);
         }
         ExcelWriter writer = ExcelUtil.getWriter();
         ServletOutputStream outputStream = null;
         try {
             outputStream = response.getOutputStream();
 
-            writer.merge(5,startDate +"-"+endDate +"  待支付名单");
-            writer.write(billSubsidies,true);
-            writer.addHeaderAlias("farmerName","姓名");
-            writer.addHeaderAlias("bankCardId","卡号");
-            writer.addHeaderAlias("idCard","身份证");
-            writer.addHeaderAlias("bankName","开户行");
-            writer.addHeaderAlias("phone","手机号");
-            writer.addHeaderAlias("createTime","提交时间");
-            writer.addHeaderAlias("applyMoney","申报金额");
+            writer.merge(5, startDate + "-" + endDate + "  待支付名单");
+            writer.write(billSubsidies, true);
+            writer.addHeaderAlias("farmerName", "姓名");
+            writer.addHeaderAlias("bankCardId", "卡号");
+            writer.addHeaderAlias("idCard", "身份证");
+            writer.addHeaderAlias("bankName", "开户行");
+            writer.addHeaderAlias("phone", "手机号");
+            writer.addHeaderAlias("createTime", "提交时间");
+            writer.addHeaderAlias("applyMoney", "申报金额");
 
             writer.flush(outputStream);
 
         } catch (IOException e) {
             e.printStackTrace();
-        }finally {
+        } finally {
             writer.close();
             outputStream.close();
         }
         return null;
     }
+
     @Override
-    public void printPay2(HttpServletResponse response, String startDate,String endDate) throws IOException {
+    public void printPay2(HttpServletResponse response, String startDate, String endDate) throws IOException {
 
         QueryWrapper<BillSubsidy> wrapper = new QueryWrapper<>();
-        if (StringUtils.isBlank(startDate)){
+        if (StringUtils.isBlank(startDate)) {
             Date date = new Date();
             startDate = DateUtil.format(date, "yyyy-MM-dd");
-            wrapper.ge("create_time",startDate);
+            wrapper.ge("create_time", startDate);
         }
-        if (StringUtils.isNotBlank(endDate)){
-            String endTime = endDate +" 23:59:59";
-            wrapper.le("create_time",endTime);
+        if (StringUtils.isNotBlank(endDate)) {
+            String endTime = endDate + " 23:59:59";
+            wrapper.le("create_time", endTime);
         }
 
-        wrapper.eq("is_pay",1);
-        wrapper.eq("subsidy_sch",3);
+        wrapper.eq("is_pay", 1);
+        wrapper.eq("subsidy_sch", 3);
         List<BillSubsidy> billSubsidies = subsidyMapper.selectList(wrapper);
-       List list = new ArrayList();
+        List list = new ArrayList();
         for (BillSubsidy billSubsidy : billSubsidies) {
-            Map<String,Object> map = new HashMap();
-            map.put("姓名",billSubsidy.getFarmerName());
-            map.put("卡号",billSubsidy.getBankCardId());
-            map.put("身份证",billSubsidy.getIdCard());
-            map.put("开户行",billSubsidy.getBankName());
-            map.put("手机号",billSubsidy.getPhone());
-            map.put("提交时间",billSubsidy.getCreateTime());
-            map.put("申报金额",billSubsidy.getApplyMoney());
+            Map<String, Object> map = new HashMap();
+            map.put("姓名", billSubsidy.getFarmerName());
+            map.put("卡号", billSubsidy.getBankCardId());
+            map.put("身份证", billSubsidy.getIdCard());
+            map.put("开户行", billSubsidy.getBankName());
+            map.put("手机号", billSubsidy.getPhone());
+            map.put("提交时间", billSubsidy.getCreateTime());
+            map.put("申报金额", billSubsidy.getApplyMoney());
             list.add(map);
         }
 
@@ -708,38 +709,38 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         ServletOutputStream outputStream = null;
         try {
             outputStream = response.getOutputStream();
-            StringBuffer  fileName = new StringBuffer();
-            if (StringUtils.isNotBlank(endDate)){
+            StringBuffer fileName = new StringBuffer();
+            if (StringUtils.isNotBlank(endDate)) {
                 fileName.append(startDate);
                 fileName.append(" 至 ");
                 fileName.append(endDate);
-                fileName.append( "   待支付名单");
-            }else {
+                fileName.append("   待支付名单");
+            } else {
                 fileName.append(startDate);
                 fileName.append(" 至  待支付名单");
             }
-            writer.merge(6,fileName.toString());
+            writer.merge(6, fileName.toString());
 
             System.out.println(fileName);
             fileName.append(".xls");
-            response.setHeader("content-disposition", "attachment;fileName="+ URLEncoder.encode(fileName.toString(), "UTF-8"));
-
-            writer.write(list,true);
-            writer.setRowHeight(0,25);
-            writer.setRowHeight(1,15);
-            writer.setColumnWidth(0,10);
-            writer.setColumnWidth(1,20);
-            writer.setColumnWidth(2,20);
-            writer.setColumnWidth(3,25);
-            writer.setColumnWidth(4,25);
-            writer.setColumnWidth(5,30);
-            writer.setColumnWidth(6,30);
+            response.setHeader("content-disposition", "attachment;fileName=" + URLEncoder.encode(fileName.toString(), "UTF-8"));
+
+            writer.write(list, true);
+            writer.setRowHeight(0, 25);
+            writer.setRowHeight(1, 15);
+            writer.setColumnWidth(0, 10);
+            writer.setColumnWidth(1, 20);
+            writer.setColumnWidth(2, 20);
+            writer.setColumnWidth(3, 25);
+            writer.setColumnWidth(4, 25);
+            writer.setColumnWidth(5, 30);
+            writer.setColumnWidth(6, 30);
 
             writer.flush(outputStream);
 
         } catch (IOException e) {
             e.printStackTrace();
-        }finally {
+        } finally {
             writer.close();
             outputStream.close();
         }
@@ -751,13 +752,24 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         String start = paramsMap.get("start");
         String end = paramsMap.get("end");
         QueryWrapper<AreaAll> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("id",code);
+        queryWrapper.eq("id", code);
         AreaAll areaAll = areaAllMapper.selectOne(queryWrapper);//得到乡镇地址
-        List<BillSubsidyReportVo> billSubsidyReportVos = subsidyMapper.listReport(code, start, end);
-        try {
-            Print2.print(billSubsidyReportVos,areaAll.getName(),end);
-        } catch (Exception e) {
-            e.printStackTrace();
+        if ("1".equals(code)) {
+            List<BillSubsidyReportVo> billSubsidyReportVos = subsidyMapper.lisTowntReport("621121", start, end);
+            try {
+                Print2.print2(billSubsidyReportVos, areaAll.getName(), end);
+            } catch (Exception e) {
+                System.out.println("打印县阶段统计表出异常!!!");
+                e.printStackTrace();
+            }
+        } else {
+            List<BillSubsidyReportVo> billSubsidyReportVos = subsidyMapper.listReport(code, start, end);
+            try {
+                Print2.print(billSubsidyReportVos, areaAll.getName(), end);
+            } catch (Exception e) {
+                System.out.println("打印镇阶段统计表出异常!!!");
+                e.printStackTrace();
+            }
         }
 
     }
@@ -771,18 +783,58 @@ public class BillSubsidyServiceImpl extends ServiceImpl<BillSubsidyMapper, BillS
         queryWrapper.eq("id", code);
         AreaAll all = areaAllMapper.selectOne(queryWrapper);
         QueryWrapper<BillSubsidy> subsidyQueryWrapper = new QueryWrapper<>();
-        //.select("farmer_name,farmer_type, id_card," +
-        //                "phone,reward_num,bank_card_id,bank_name,brief_address,sale_name,apply_money")
         subsidyQueryWrapper.like("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);
         try {
-            Print3.print(subsidyList,all.getName(),end);
+            Print3.print(subsidyList, all.getName(), end);
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
 
+    @Override
+    public Result countState(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String code = paramsMap.get("country");
+        String start = paramsMap.get("startDate");
+        String end = paramsMap.get("endDate");
+        Integer userType = TokenSign.getUserType(httpServletRequest);
+        if (userType == 0) {
+            if (code == null || "".equals(code)) {
+                code = "621121";
+                List<BillSubsidyReportVo> billSubsidyReportVos = subsidyMapper.lisTowntReport(code, start, end);//县
+                return new Result(ResultCode.SUCCESS, billSubsidyReportVos);
+            } else {
+                List<BillSubsidyReportVo> billSubsidyReportVos = subsidyMapper.listReport(code, start, end);//镇
+                return new Result(ResultCode.SUCCESS, billSubsidyReportVos);
+            }
+        }
+        if (userType == 4) {
+            code = TokenSign.getAddressCode(httpServletRequest);
+            List<BillSubsidyReportVo> billSubsidyReportVos = subsidyMapper.listReport(code, start, end);//县
+            return new Result(ResultCode.SUCCESS, billSubsidyReportVos);
+        }
+        List<BillSubsidyReportVo> billSubsidyReportVos = subsidyMapper.listReport(code, start, end);
+        return new Result(ResultCode.SUCCESS, billSubsidyReportVos);
+    }
+
+    @Override
+    public Result countPay(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String code = paramsMap.get("country");
+        if (code == null || "".equals(code)) {
+            code = TokenSign.getAddressCode(httpServletRequest);//镇的编码
+        }
+        String start = paramsMap.get("startDate");
+        String end = paramsMap.get("endDate");
+
+        QueryWrapper<BillSubsidy> subsidyQueryWrapper = new QueryWrapper<>();
+        subsidyQueryWrapper.like("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);
+        return new Result(ResultCode.SUCCESS, subsidyList);
+    }
+
 
 }

+ 3 - 2
admin/src/main/java/com/huimv/farm/damsubsidy/service/impl/SysUserServiceImpl.java

@@ -352,9 +352,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     public Result editState(HttpServletRequest httpServletRequest, Map<String,String> paramsMap) {
         String id = paramsMap.get("id");
-        String accoutType = paramsMap.get("accoutType");
+        Integer accoutType =Integer.parseInt(paramsMap.get("accoutType"));
+        System.out.println(accoutType);
         SysUser user = userMapper.selectById(id);
-        user.setAccoutType(Integer.parseInt(accoutType));
+        user.setAccoutType(accoutType);
         userMapper.updateById(user);
         AccountGroup accountGroup = new AccountGroup();
         accountGroup.setAccountId(user.getId().intValue());

+ 54 - 0
admin/src/main/java/com/huimv/farm/test/Print2.java

@@ -75,7 +75,61 @@ public class Print2 {
 
     }
 
+    public  static void print2(List<BillSubsidyReportVo> billSubsidyReportVos, String address, String date) throws Exception {
+        //准备数据
+        String path ="/opt/subsidy/xian.xls";
+        //获取模板文件,你自己当前模板的位置  我这里为当前项目下
+        //如果为系统路径 为: InputStream is = new FileInputStream("F://student.xlsx");
+        InputStream is = new FileInputStream("/opt/subsidy/xian.xlsx");
+//        InputStream is = Print.class.getClassLoader().getResourceAsStream("student.xlsx");
+//        InputStream is = Print.class.getClassLoader().getResourceAsStream("order_contract.xls");
+        //根据模板生成的文件保存路径  我这里保存在本地D盘
+        OutputStream os = new FileOutputStream(path);
+        //绑定数据
+        List<BillSubsidyVo> list = new ArrayList<>();
+        Context context = new Context();
+        BigDecimal count = BigDecimal.valueOf(0);
+        Integer i = 1;
+        for (BillSubsidyReportVo reportVo : billSubsidyReportVos) {
+            BillSubsidyVo subsidyVo = new BillSubsidyVo();
+            subsidyVo.setId(i);
+            subsidyVo.setName(reportVo.getVillageName());
+            subsidyVo.setType1(reportVo.getJcdx());
+            subsidyVo.setType2(reportVo.getYtph());
+            subsidyVo.setType3(reportVo.getQt());
+            subsidyVo.setCount(reportVo.getRnhs());
+            subsidyVo.setNumber(reportVo.getRnts());
+            subsidyVo.setMoney(reportVo.getRnje());
+            subsidyVo.setCount1(reportVo.getRyhs());
+            subsidyVo.setNumber1(reportVo.getRyts());
+            subsidyVo.setMoney1(reportVo.getRyje());
+            subsidyVo.setCount2(reportVo.getSzhs());
+            subsidyVo.setNumber2(reportVo.getSzts());
+            subsidyVo.setMoney2(reportVo.getSzje());
+            subsidyVo.setCount3(reportVo.getLgshs());
+            subsidyVo.setNumber3(reportVo.getLgsmj());
+            subsidyVo.setMoney3(reportVo.getLgsje());
+            subsidyVo.setCount4(reportVo.getQzchs());
+            subsidyVo.setNumber4(reportVo.getQzcmj());
+            subsidyVo.setMoney4(reportVo.getQzcje());
+            subsidyVo.setCount5(reportVo.getSths());
+            subsidyVo.setNumber5(reportVo.getStmj());
+            subsidyVo.setMoney5(reportVo.getStje());
+            subsidyVo.setMoneycount(reportVo.getJe());
+            list.add(subsidyVo);
+            i = i + 1;
+            count = reportVo.getJe().add(count);
+        }
+        context.putVar("list", list);
+        context.putVar("address", address);
+        context.putVar("date", date);
+        context.putVar("moneyamount", count);
+
+        //生成
+        JxlsHelper.getInstance().processTemplate(is, os, context);
+//        String path = String.valueOf(os);
 
+    }
 //    /**
 //     * 打印方法  不插入图片
 //     *