jiangping
2024-01-18 601bb38a72ec10d43962cdcf1bd7b51835e8b011
调整
已添加2个文件
已删除1个文件
已修改38个文件
768 ■■■■■ 文件已修改
server/company/src/main/java/com/doumee/api/business/CompanyController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/SolutionsBaseController.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/CompanyController.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/api/business/TaxesController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/platform/src/main/java/com/doumee/shiro/ShiroRealm.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/utils/Constants.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/join/TaxDetailJoinMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/join/TaxesJoinMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/ApplyChagneDetail.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/ApplyLog.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Areas.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Company.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/CompanyPermission.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/CompanySolution.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/DuLog.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/DuSolution.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/DuWorktype.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Insurance.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/InterfaceLog.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Member.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Multifile.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Notices.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsLog.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/SignRecord.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/SmsEmail.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/SolutionWorktype.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Solutions.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/SolutionsBase.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/TaxDetial.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Taxes.java 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Worktype.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/system/model/SystemUser.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/TaxesService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java 272 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/CompanyController.java
@@ -70,48 +70,11 @@
        companyService.startSignAuth(company.getId());
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID禁用启用")
    @PostMapping("/updateStatus")
    @RequiresPermissions("business:company:update")
    public ApiResponse updateStatus(@RequestBody Company company) {
        companyService.updateStatus(company);
        return ApiResponse.success(null);
    }
    @ApiOperation("修改保险方案")
    @PostMapping("/updateSolutions")
    @RequiresPermissions("business:company:update")
    public ApiResponse updateSolutions(@RequestBody Company company) {
        companyService.updateSolutions(company);
        return ApiResponse.success(null);
    }
    @ApiOperation("企业更换手机号")
    @PostMapping("/updatePhone")
    @RequiresPermissions("business:company:update")
    public ApiResponse updatePhone(@RequestBody Company company) {
        companyService.updatePhone(company);
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID电子签认证企业信息")
    @PostMapping("/startSignAuth/{id}")
    @RequiresPermissions("business:company:update")
    public ApiResponse startSignAuth(@PathVariable Integer id) {
        companyService.startSignAuth(id);
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:company:query")
    public ApiResponse<PageData<Company>> findPage (@RequestBody PageWrap<Company> pageWrap) {
        //权限范围内
        return ApiResponse.success(companyService.findPage(pageWrap));
    }
    @ApiOperation("查询全部数据(账号分配企业使用)")
    @PostMapping("/pageAll")
    @RequiresPermissions("business:companypermission:create")
    public ApiResponse<PageData<Company>> findPageAll (@RequestBody PageWrap<Company> pageWrap) {
        pageWrap.getModel().setQueryFlag(Constants.ONE);//查询全部
        return ApiResponse.success(companyService.findPage(pageWrap));
    }
server/company/src/main/java/com/doumee/api/business/SolutionsBaseController.java
ÎļþÒÑɾ³ý
server/platform/src/main/java/com/doumee/api/business/CompanyController.java
@@ -6,11 +6,12 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.Company;
import com.doumee.service.business.CompanyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -35,7 +36,9 @@
    @PostMapping("/create")
    @RequiresPermissions("business:company:create")
    public ApiResponse create(@RequestBody Company company) {
        return ApiResponse.success(companyService.create(company));
        companyService.create(company);
        companyService.startSignAuth(company.getId());
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID删除")
@@ -64,6 +67,36 @@
    @RequiresPermissions("business:company:update")
    public ApiResponse updateById(@RequestBody Company company) {
        companyService.updateById(company);
        companyService.startSignAuth(company.getId());
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID禁用启用")
    @PostMapping("/updateStatus")
    @RequiresPermissions("business:company:update")
    public ApiResponse updateStatus(@RequestBody Company company) {
        companyService.updateStatus(company);
        return ApiResponse.success(null);
    }
    @ApiOperation("修改保险方案")
    @PostMapping("/updateSolutions")
    @RequiresPermissions("business:company:update")
    public ApiResponse updateSolutions(@RequestBody Company company) {
        companyService.updateSolutions(company);
        return ApiResponse.success(null);
    }
    @ApiOperation("企业更换手机号")
    @PostMapping("/updatePhone")
    @RequiresPermissions("business:company:update")
    public ApiResponse updatePhone(@RequestBody Company company) {
        companyService.updatePhone(company);
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID电子签认证企业信息")
    @PostMapping("/startSignAuth/{id}")
    @RequiresPermissions("business:company:update")
    public ApiResponse startSignAuth(@PathVariable Integer id) {
        companyService.startSignAuth(id);
        return ApiResponse.success(null);
    }
@@ -71,6 +104,14 @@
    @PostMapping("/page")
    @RequiresPermissions("business:company:query")
    public ApiResponse<PageData<Company>> findPage (@RequestBody PageWrap<Company> pageWrap) {
        //权限范围内
        return ApiResponse.success(companyService.findPage(pageWrap));
    }
    @ApiOperation("查询全部数据(账号分配企业使用)")
    @PostMapping("/pageAll")
    @RequiresPermissions("business:companypermission:create")
    public ApiResponse<PageData<Company>> findPageAll (@RequestBody PageWrap<Company> pageWrap) {
        pageWrap.getModel().setQueryFlag(Constants.ONE);//查询全部
        return ApiResponse.success(companyService.findPage(pageWrap));
    }
@@ -84,7 +125,8 @@
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @RequiresPermissions("business:company:query")
    public ApiResponse findById(@PathVariable Integer id) {
    public ApiResponse<Company> findById(@PathVariable Integer id) {
        return ApiResponse.success(companyService.findById(id));
    }
}
server/platform/src/main/java/com/doumee/api/business/TaxesController.java
@@ -67,6 +67,21 @@
        return ApiResponse.success(null);
    }
    @ApiOperation("根据ID退回申请")
    @PostMapping("/backApply")
    @RequiresPermissions("business:taxes:update")
    public ApiResponse backApply(@RequestBody Taxes taxes) {
        taxesService.backApply(taxes);
        return ApiResponse.success(null);
    }
    @ApiOperation("上传发票凭证提交保存")
    @PostMapping("/doneApply")
    @RequiresPermissions("business:taxes:update")
    public ApiResponse doneApply(@RequestBody Taxes taxes) {
        taxesService.doneApply(taxes);
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:taxes:query")
server/platform/src/main/java/com/doumee/shiro/ShiroRealm.java
@@ -4,9 +4,11 @@
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.CompanyPermission;
import com.doumee.dao.system.model.SystemPermission;
import com.doumee.dao.system.model.SystemRole;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.CompanyPermissionService;
import com.doumee.service.system.SystemDataPermissionService;
import com.doumee.service.system.SystemPermissionService;
import com.doumee.service.system.SystemRoleService;
@@ -23,6 +25,7 @@
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
@@ -39,6 +42,9 @@
    @Lazy
    @Autowired
    private SystemUserService systemUserService;
    @Lazy
    @Autowired
    private CompanyPermissionService companyPermissionService;
    @Lazy
    @Autowired
@@ -88,6 +94,18 @@
        List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
        List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
        LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
        CompanyPermission c = new CompanyPermission();
        c.setUserId(user.getId());
        c.setIsdeleted(Constants.ZERO);
        List<CompanyPermission> pList = companyPermissionService.findList(c);
        if(pList!=null){
            for (CompanyPermission cc : pList){
                if(user.getCompanyIdList() == null){
                    user.setCompanyIdList(new ArrayList<>());
                }
                user.getCompanyIdList().add(cc.getCompanyId());
            }
        }
        // éªŒè¯ç”¨æˆ·
        return new SimpleAuthenticationInfo(userInfo, user.getPassword(), this.getName());
    }
server/service/src/main/java/com/doumee/core/model/LoginUserInfo.java
@@ -44,8 +44,9 @@
    private List<String> roles;
    private List<String> permissions;
    private List<Integer> companyIdList;
    public static LoginUserInfo from(SystemUser user, List<SystemRole> roles, List<SystemPermission> permissions) {
    public static LoginUserInfo from(SystemUser user, List<SystemRole> roles, List<SystemPermission> permissions ) {
        if (user == null) {
            return null;
        }
@@ -65,6 +66,7 @@
            pms.add(permission.getCode());
        }
        loginUserInfo.setPermissions(pms);
        loginUserInfo.setCompanyIdList(user.getCompanyIdList());
        return loginUserInfo;
    }
}
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -65,6 +65,7 @@
    public static final String SIGN_APPSECRET = "SIGN_APPSECRET";
    public static final String COMPANY_FILE ="COMPANY_FILE" ;
    public static final String SMS_COMNAME = "SMS_COMNAME";
    public static final String TAXES_FILE = "TAXES_FILE";
    /**
     * ä¼ä¸šæ•°æ®æ¥æº 0平台注册 1后台导入
server/service/src/main/java/com/doumee/dao/business/join/TaxDetailJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
package com.doumee.dao.business.join;
import com.doumee.dao.business.model.TaxDetial;
import com.doumee.dao.business.model.Taxes;
import com.github.yulichang.base.mapper.MPJJoinMapper;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
public interface TaxDetailJoinMapper extends MPJJoinMapper<TaxDetial> {
}
server/service/src/main/java/com/doumee/dao/business/join/TaxesJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
package com.doumee.dao.business.join;
import com.doumee.dao.business.model.CompanySolution;
import com.doumee.dao.business.model.Taxes;
import com.github.yulichang.base.mapper.MPJJoinMapper;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
public interface TaxesJoinMapper extends MPJJoinMapper<Taxes> {
    void insertBatchSomeColumn(List<Taxes> list);
}
server/service/src/main/java/com/doumee/dao/business/model/ApplyChagneDetail.java
@@ -32,7 +32,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -41,7 +41,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -74,7 +74,7 @@
    @ApiModelProperty(value = "最近操作时间")
    @ExcelColumn(name="最近操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date idcardNo;
    @ApiModelProperty(value = "派遣单位编码(关联dispatch_unit)")
server/service/src/main/java/com/doumee/dao/business/model/ApplyChange.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -65,7 +65,7 @@
    @ApiModelProperty(value = "批单生效时间")
    @ExcelColumn(name="批单生效时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date applyStartTime;
    @ApiModelProperty(value = "状态 0待签署 1已签章 2已上传批单 3退回申请")
@@ -74,7 +74,7 @@
    @ApiModelProperty(value = "期望保险生效起期")
    @ExcelColumn(name="期望保险生效起期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date validTime;
    @ApiModelProperty(value = "批单号")
server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java
@@ -32,7 +32,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -41,7 +41,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -74,7 +74,7 @@
    @ApiModelProperty(value = "最近操作时间")
    @ExcelColumn(name="最近操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date idcardNo;
    @ApiModelProperty(value = "派遣单位编码(关联dispatch_unit)", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/ApplyLog.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/Areas.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "编辑人", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "编辑时间")
    @ExcelColumn(name="编辑时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否已删除 0未删除 1已删除")
server/service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -33,7 +33,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -42,7 +42,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -124,7 +124,7 @@
    @ApiModelProperty(value = "电子签认证时间")
    @ExcelColumn(name="电子签认证时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date signDate;
    @ApiModelProperty(value = "查询辨识 0权限范围内 1全部")
    @TableField(exist = false)
server/service/src/main/java/com/doumee/dao/business/model/CompanyPermission.java
@@ -32,7 +32,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -41,7 +41,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/CompanySolution.java
@@ -33,7 +33,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -42,7 +42,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -85,7 +85,7 @@
    @ApiModelProperty(value = "审核时间")
    @ExcelColumn(name="审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date checkDate;
    @ApiModelProperty(value = "审核备注")
server/service/src/main/java/com/doumee/dao/business/model/DuLog.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/DuSolution.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -69,7 +69,7 @@
    @ApiModelProperty(value = "审核时间")
    @ExcelColumn(name="审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date checkDate;
    @ApiModelProperty(value = "审核备注")
server/service/src/main/java/com/doumee/dao/business/model/DuWorktype.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -73,7 +73,7 @@
    @ApiModelProperty(value = "审核时间")
    @ExcelColumn(name="审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date checkDate;
    @ApiModelProperty(value = "审核备注")
server/service/src/main/java/com/doumee/dao/business/model/Insurance.java
@@ -33,7 +33,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -42,7 +42,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -65,27 +65,27 @@
    @ApiModelProperty(value = "期望保险生效止期")
    @ExcelColumn(name="期望保险生效止期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date applyEndTime;
    @ApiModelProperty(value = "期望保险生效起期")
    @ExcelColumn(name="期望保险生效起期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date applyStartTime;
    @ApiModelProperty(value = "实际保险生效止期")
    @ExcelColumn(name="实际保险生效止期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endTime;
    @ApiModelProperty(value = "实际保险生效起期")
    @ExcelColumn(name="实际保险生效起期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startTime;
    @ApiModelProperty(value = "最近操作时间")
    @ExcelColumn(name="最近操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date checkDate;
    @ApiModelProperty(value = "最近操作备注")
server/service/src/main/java/com/doumee/dao/business/model/InterfaceLog.java
@@ -32,7 +32,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -41,7 +41,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -69,7 +69,7 @@
    @ApiModelProperty(value = "最近操作时间")
    @ExcelColumn(name="最近操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date idcardNo;
    @ApiModelProperty(value = "企业编码(关联company)", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/Multifile.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/Notices.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/SettleClaims.java
@@ -32,7 +32,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -41,7 +41,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -74,7 +74,7 @@
    @ApiModelProperty(value = "最近操作时间")
    @ExcelColumn(name="最近操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date idcardNo;
    @ApiModelProperty(value = "派遣单位编码(关联dispatch_unit)", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/SettleClaimsLog.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/SignRecord.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -81,7 +81,7 @@
    @ApiModelProperty(value = "签署时间")
    @ExcelColumn(name="签署时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date signDate;
    @ApiModelProperty(value = "签署备注")
server/service/src/main/java/com/doumee/dao/business/model/SmsEmail.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/SolutionWorktype.java
@@ -32,7 +32,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -41,7 +41,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/Solutions.java
@@ -34,7 +34,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -43,7 +43,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/SolutionsBase.java
@@ -32,7 +32,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -41,7 +41,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/TaxDetial.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -32,7 +33,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -41,7 +42,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
@@ -58,7 +59,7 @@
    @ApiModelProperty(value = "加减保单据申请编码(关联 apply_change)", example = "1")
    @ExcelColumn(name="加减保单据申请编码(关联 apply_change)")
    private Integer applyHcangeId;
    private Integer applyChangeId;
    @ApiModelProperty(value = "冲红单发票编码(关联taxes)", example = "1")
    @ExcelColumn(name="冲红单发票编码(关联taxes)")
@@ -74,10 +75,34 @@
    @ApiModelProperty(value = "产生总费用", example = "1")
    @ExcelColumn(name="产生总费用")
    private BigDecimal tOTAlFee;
    private BigDecimal totalFee;
    @ApiModelProperty(value = "类型 0保单申请 1加减保申请 2冲红单", example = "1")
    @ExcelColumn(name="类型 0保单申请 1加减保申请 2冲红单")
    private Integer type;
    @ApiModelProperty(value = "冲红单发票号", example = "1")
    @TableField(exist = false)
    private String taxDoneCode;
    @ApiModelProperty(value = "保险方案名称" )
    @TableField(exist = false)
    private String solutionName;
    @ApiModelProperty(value = "申请开票时间" )
    @TableField(exist = false)
    private String taxCreateDate;
    @ApiModelProperty(value = "保单号" )
    @TableField(exist = false)
    private String applyCode;
    @ApiModelProperty(value = "批单号" )
    @TableField(exist = false)
    private String changApplyCode;
    @ApiModelProperty(value = "投保人数" )
    @TableField(exist = false)
    private String applyNum;
    @ApiModelProperty(value = "加保人数" )
    @TableField(exist = false)
    private String applyChangeAddNum;
    @ApiModelProperty(value = "减保人数" )
    @TableField(exist = false)
    private String applyChangeReduceNum;
}
server/service/src/main/java/com/doumee/dao/business/model/Taxes.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -8,8 +9,11 @@
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.ArrayList;
import java.util.Date;
import java.math.BigDecimal;
import java.util.List;
/**
 * å‘票信息表
@@ -32,7 +36,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -41,7 +45,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "开户行")
@@ -56,13 +60,16 @@
    @ExcelColumn(name="备注")
    private String remark;
    @ApiModelProperty(value = "状态 0待处理 1已开票 2平台撤回", example = "1")
    @ExcelColumn(name="状态 0待处理 1已开票 2平台撤回")
    @ApiModelProperty(value = "状态 0待处理 1已开票 2平台撤回 3已冲红", example = "1")
    @ExcelColumn(name="状态 0待处理 1已开票 2平台撤回3已冲红")
    private Integer status;
    @ApiModelProperty(value = "企业编码(关联company)", example = "1")
    @ExcelColumn(name="企业编码(关联company)")
    private Integer companyId;
    @ApiModelProperty(value = "方案编码(关联solutions)", example = "1")
    @ExcelColumn(name="方案编码(solutions)")
    private Integer solutionId;
    @ApiModelProperty(value = "总金额", example = "1")
    @ExcelColumn(name="总金额")
@@ -88,13 +95,25 @@
    @ExcelColumn(name="发票接收地址")
    private String addr;
    @ApiModelProperty(value = "开票名称")
    @ExcelColumn(name="开票名称")
    @ApiModelProperty(value = "申请企业名称")
    @ExcelColumn(name="申请企业名称")
    private String companyName;
    @ApiModelProperty(value = "发票电子版")
    @ExcelColumn(name="发票电子版")
    private String imgurl;
    @ApiModelProperty(value = "发票号")
    @ExcelColumn(name="发票号")
    private String doneCode;
    @ApiModelProperty(value = "上传发票备注")
    @ExcelColumn(name="上传发票备注")
    private String doneInfo;
    @ApiModelProperty(value = "上传发票时间")
    @ExcelColumn(name="上传发票时间")
    private Date doneDate;
    @ApiModelProperty(value = "上传发票用户编码")
    @ExcelColumn(name="上传发票用户编码")
    private Integer doneUserId;
    @ApiModelProperty(value = "单据类型 0委托开票 1直保", example = "1")
    @ExcelColumn(name="单据类型 0委托开票 1直保")
@@ -102,7 +121,7 @@
    @ApiModelProperty(value = "平台撤回时间")
    @ExcelColumn(name="平台撤回时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date cancelDate;
    @ApiModelProperty(value = "撤回备注")
@@ -112,5 +131,40 @@
    @ApiModelProperty(value = "撤回操作人员编码", example = "1")
    @ExcelColumn(name="撤回操作人员编码")
    private Integer cancelUserId;
    @ApiModelProperty(value = "冲红时间")
    @ExcelColumn(name="冲红时间")
    private Date delDate;
    @ApiModelProperty(value = "冲红备注")
    @ExcelColumn(name="冲红备注")
    private String delIInfo;
    @ApiModelProperty(value = "冲红操作人员编码", example = "1")
    @ExcelColumn(name="冲红操作人员编码")
    private Integer  delUserId;
    @ApiModelProperty(value = "申请人")
    @TableField(exist = false)
    private String creatorName;
    @ApiModelProperty(value = "方案名称")
    @TableField(exist = false)
    private String solutionName;
    @ApiModelProperty(value = "发票附件完整显示地址")
    @TableField(exist = false)
    private String imgurlFull;
    @ApiModelProperty(value = "查询开始时间")
    @TableField(exist = false)
    private Date startDate;
    @ApiModelProperty(value = "查询截止时间")
    @TableField(exist = false)
    private Date endDate;
    @ApiModelProperty(value = "投保和加减保")
    @TableField(exist = false)
    List<TaxDetial> applyList;//
    @ApiModelProperty(value = "冲红单列表")
    @TableField(exist = false)
    List<TaxDetial> delTaxList ;//
}
server/service/src/main/java/com/doumee/dao/business/model/Worktype.java
@@ -31,7 +31,7 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDate;
    @ApiModelProperty(value = "更新人编码", example = "1")
@@ -40,7 +40,7 @@
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date editDate;
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
server/service/src/main/java/com/doumee/dao/system/model/SystemUser.java
@@ -17,6 +17,7 @@
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
 * ç³»ç»Ÿç”¨æˆ·
@@ -97,8 +98,11 @@
    @ApiModelProperty(value = "0 å¯ç”¨ 1 ç¦ç”¨")
    private Integer status;
    @ApiModelProperty(value = "0 å¯ç”¨ 1 ç¦ç”¨")
    @ApiModelProperty(value = "所属企业信息对")
    @TableField(exist = false)
    private Company company;
    @ApiModelProperty(value = "权限内企业编码集合")
    @TableField(exist = false)
    private List<Integer> companyIdList;
}
server/service/src/main/java/com/doumee/service/business/TaxesService.java
@@ -94,4 +94,7 @@
     * @return long
     */
    long count(Taxes taxes);
    void doneApply(Taxes taxes);
    void backApply(Taxes taxes);
}
server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -609,7 +609,12 @@
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(pageWrap.getModel().getQueryFlag() == 0){
            //只能看权限范围内
            queryWrapper.exists("select b.id from company_permission b where b.user_id="+user.getId()+" and b.isdeleted=0 and b.company_id=company.id");
            if(user.getCompanyIdList() == null || user.getCompanyIdList().size() == 0){
                queryWrapper.lambda().eq(Company::getId,-1);//设置无效访问
            }else {
                queryWrapper.lambda().in(Company::getId, user.getCompanyIdList());
            }
//            queryWrapper.exists("select b.id from company_permission b where b.user_id="+user.getId()+" and b.isdeleted=0 and b.company_id=company.id");
        } else if (pageWrap.getModel().getQueryFlag() == 1) {
            //查詢是否有查看權限
            queryWrapper.select("*,(select count(1) from company_permission b where b.user_id="+user.getId()+" and b.isdeleted=0 and b.company_id=company.id) as hasPerimission");
server/service/src/main/java/com/doumee/service/business/impl/TaxesServiceImpl.java
@@ -1,19 +1,36 @@
package com.doumee.service.business.impl;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.TaxDetialMapper;
import com.doumee.dao.business.TaxesMapper;
import com.doumee.dao.business.model.Taxes;
import com.doumee.dao.business.join.TaxDetailJoinMapper;
import com.doumee.dao.business.join.TaxesJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.TaxesService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import jdk.nashorn.internal.runtime.options.LoggingOption;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.yaml.snakeyaml.scanner.Constant;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@@ -26,11 +43,128 @@
    @Autowired
    private TaxesMapper taxesMapper;
    @Autowired
    private TaxDetialMapper taxDetialMapper;
    @Autowired
    private TaxesJoinMapper taxesJoinMapper;
    @Autowired
    private TaxDetailJoinMapper taxDetailJoinMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Override
    public Integer create(Taxes taxes) {
        taxesMapper.insert(taxes);
        return taxes.getId();
    }
    /**
     * é€€å›žç”³è¯·
     * @param taxes
     */
    @Override
    @Transactional
    public void backApply(Taxes taxes) {
        if(taxes.getId() == null ){
            throw   new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        Taxes model = taxesMapper.selectById(taxes.getId());
        if(model == null ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(taxes.getStatus(), Constants.ZERO)){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前发票状态不支持撤回申请!");
        }
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Taxes update = new Taxes();
        update.setId(taxes.getId());
        update.setImgurl(taxes.getImgurl());
        update.setEditDate(new Date());
        update.setStatus(Constants.TWO);
        update.setEditor(user.getId());
        update.setCancelUserId(user.getId());
        update.setCancelDate(update.getEditDate());
        update.setCancelInfo(taxes.getCancelInfo());
        taxesMapper.updateById(update);
        List<TaxDetial> detialList = getDetailListById(taxes.getId());
        if(detialList!=null && detialList.size()>0){
            for(TaxDetial detial :detialList){
                //类型 0保单申请 1加减保申请 2冲红单
                if(Constants.equalsInteger(detial.getType(),Constants.TWO)){
                    //如果是冲红单,还原该申请为已开票
                    Taxes tu = new Taxes();
                    tu.setId(detial.getDelTaxId());
                    tu.setEditDate(new Date());
                    tu.setStatus(Constants.ONE);
                    tu.setEditor(user.getId());
                    taxesMapper.updateById(tu);
                }
            }
        }
    }
    private List<TaxDetial> getDetailListById(Integer id) {
        List<TaxDetial> detialList =  taxDetialMapper.selectList(new QueryWrapper<TaxDetial>().lambda().eq(TaxDetial::getTaxId,id).eq(TaxDetial::getIsdeleted,Constants.ZERO));
        return detialList;
    }
    private List<TaxDetial> getJoinDetailListById(Integer id) {
        MPJLambdaWrapper<TaxDetial> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(TaxDetial.class);
        queryWrapper.selectAs(Taxes::getDoneCode,TaxDetial::getTaxDoneCode);
        queryWrapper.selectAs(Taxes::getCreateDate,TaxDetial::getTaxCreateDate);
        queryWrapper.selectAs(InsuranceApply::getCode,TaxDetial::getApplyCode);
        queryWrapper.selectAs(ApplyChange::getCode,TaxDetial::getChangApplyCode);
        queryWrapper.select("(CASE t.type\n" +
                "WHEN 0 THEN (select count(1) from apply_detail c where c.APPLY_ID=t.INSURANCE_APPLY_ID) \n" +
                "ELSE 0  \n" +
                "END) as applyNum,\n" +
                "(CASE t.type \n" +
                "WHEN 1 THEN (select count(1) from apply_chagne_detail c where c.APPLY_CHANGE_ID=t.INSURANCE_APPLY_ID)  \n" +
                "ELSE 0  \n" +
                "END) as applyChangeAddNum,\n" +
                "(CASE t.type \n" +
                "WHEN 1 THEN  (select count(1) from apply_chagne_detail c where c.APPLY_CHANGE_ID=t.APPLY_CHANGE_ID)  \n" +
                "ELSE 0  \n" +
                "END) as applyChangeAddNum");
        queryWrapper.leftJoin(InsuranceApply.class,InsuranceApply::getId,TaxDetial::getInsuranceApplyId);
        queryWrapper.leftJoin(ApplyChange.class,ApplyChange::getId,TaxDetial::getApplyChangeId);
        queryWrapper.leftJoin(Taxes.class,Taxes::getId,TaxDetial::getDelTaxId);
        List<TaxDetial> detialList =  taxDetailJoinMapper.selectJoinList(TaxDetial.class,queryWrapper.orderByAsc(TaxDetial::getType));
        return detialList;
    }
    /**
     * ä¸Šä¼ å‘票凭证
     * @param taxes
     */
    @Override
    public void doneApply(Taxes taxes) {
        if(taxes.getId() == null
         ||StringUtils.isBlank(taxes.getImgurl())
         ||StringUtils.isBlank(taxes.getDoneCode())){
            throw   new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        Taxes model = taxesMapper.selectById(taxes.getId());
        if(model == null ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!Constants.equalsInteger(taxes.getStatus(), Constants.ZERO)){
            throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前发票状态不支持上传发票信息!");
        }
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        Taxes update = new Taxes();
        update.setId(taxes.getId());
        update.setImgurl(taxes.getImgurl());
        update.setEditDate(new Date());
        update.setStatus(Constants.ONE);
        update.setEditor(user.getId());
        update.setDoneCode(taxes.getDoneCode());
        update.setDoneUserId(user.getId());
        update.setDoneDate(update.getEditDate());
        update.setImgurl(taxes.getImgurl());
        taxesMapper.updateById(update);
    }
    @Override
@@ -69,7 +203,33 @@
    @Override
    public Taxes findById(Integer id) {
        return taxesMapper.selectById(id);
        MPJLambdaWrapper<Taxes> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(Taxes.class);
        queryWrapper.selectAs(Solutions::getName,Taxes::getSolutionName);
        queryWrapper.leftJoin(Solutions.class,Solutions::getId,Taxes::getSolutionId);
        Taxes model =taxesJoinMapper.selectById(id);
        if(model==null || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
            throw  new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        //查询明细列表
        List<TaxDetial> detialList = getJoinDetailListById(id);
        List<TaxDetial> applyList = new ArrayList<>();//投保和加减保
        List<TaxDetial> delList = new ArrayList<>();//冲红单
        if(detialList!=null){
            for(TaxDetial d :delList){
                d.setSolutionName(model.getSolutionName());
                d.setFee(Constants.formatBigdecimal(d.getFee()));
                d.setTotalFee(Constants.formatBigdecimal(d.getTotalFee()));
                if(Constants.equalsInteger(d.getType(),Constants.ZERO) || Constants.equalsInteger(d.getType(),Constants.ONE)){
                    applyList.add(d);
                }else  if(Constants.equalsInteger(d.getType(),Constants.TWO)){
                    delList.add(d);
                }
            }
        }
        model.setApplyList(applyList);
        model.setDelTaxList(delList);
        return model;
    }
    @Override
@@ -86,86 +246,44 @@
  
    @Override
    public PageData<Taxes> findPage(PageWrap<Taxes> pageWrap) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        IPage<Taxes> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<Taxes> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<Taxes> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(Taxes.class);
        queryWrapper.selectAs(SystemUser::getRealname,Taxes::getCreatorName);
        queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Taxes::getCreator);
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(Taxes::getId, pageWrap.getModel().getId());
        queryWrapper.eq(Taxes::getIsdeleted, Constants.ZERO);
        if(user.getCompanyIdList() == null || user.getCompanyIdList().size() == 0){
            queryWrapper.eq(Taxes::getCompanyId,-1);//设置无效访问
        }else{
            queryWrapper.in(Taxes::getCompanyId,user.getCompanyIdList());
            queryWrapper.ge(pageWrap.getModel().getStartDate() != null,Taxes::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate()));
            queryWrapper.le(SignRecord::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate()));
            queryWrapper.eq(pageWrap.getModel().getTaxBank() != null,Taxes::getTaxBank, pageWrap.getModel().getTaxBank());
            queryWrapper.eq(pageWrap.getModel().getTaxBank() != null,Taxes::getTaxBank, pageWrap.getModel().getTaxBank());
            queryWrapper.eq(pageWrap.getModel().getRemark() != null,Taxes::getRemark, pageWrap.getModel().getRemark());
            queryWrapper.eq(pageWrap.getModel().getStatus() != null,Taxes::getStatus, pageWrap.getModel().getStatus());
            queryWrapper.eq(pageWrap.getModel().getCompanyId() != null,Taxes::getCompanyId, pageWrap.getModel().getCompanyId());
            queryWrapper.eq(pageWrap.getModel().getType() != null,Taxes::getType, pageWrap.getModel().getType());
            queryWrapper.eq(pageWrap.getModel().getTaxCode() != null,Taxes::getTaxCode, pageWrap.getModel().getTaxCode());
            queryWrapper.eq(pageWrap.getModel().getTaxAccount() != null,Taxes::getTaxAccount, pageWrap.getModel().getTaxAccount());
            queryWrapper.eq(pageWrap.getModel().getTaxAddr() != null,Taxes::getTaxAddr, pageWrap.getModel().getTaxAddr());
            queryWrapper.eq(pageWrap.getModel().getAddr() !=null,Taxes::getAddr, pageWrap.getModel().getAddr());
            queryWrapper.like(pageWrap.getModel().getCompanyName() != null,Taxes::getCompanyName, pageWrap.getModel().getCompanyName());
            queryWrapper.eq(pageWrap.getModel().getApplyType() != null,Taxes::getApplyType, pageWrap.getModel().getApplyType());
            queryWrapper.orderByDesc(Taxes::getCreateDate);
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(Taxes::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(Taxes::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(Taxes::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(Taxes::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(Taxes::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(Taxes::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getTaxBank() != null) {
            queryWrapper.lambda().eq(Taxes::getTaxBank, pageWrap.getModel().getTaxBank());
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(Taxes::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(Taxes::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(Taxes::getStatus, pageWrap.getModel().getStatus());
        }
        if (pageWrap.getModel().getCompanyId() != null) {
            queryWrapper.lambda().eq(Taxes::getCompanyId, pageWrap.getModel().getCompanyId());
        }
        if (pageWrap.getModel().getPrice() != null) {
            queryWrapper.lambda().eq(Taxes::getPrice, pageWrap.getModel().getPrice());
        }
        if (pageWrap.getModel().getType() != null) {
            queryWrapper.lambda().eq(Taxes::getType, pageWrap.getModel().getType());
        }
        if (pageWrap.getModel().getTaxCode() != null) {
            queryWrapper.lambda().eq(Taxes::getTaxCode, pageWrap.getModel().getTaxCode());
        }
        if (pageWrap.getModel().getTaxAccount() != null) {
            queryWrapper.lambda().eq(Taxes::getTaxAccount, pageWrap.getModel().getTaxAccount());
        }
        if (pageWrap.getModel().getTaxAddr() != null) {
            queryWrapper.lambda().eq(Taxes::getTaxAddr, pageWrap.getModel().getTaxAddr());
        }
        if (pageWrap.getModel().getAddr() != null) {
            queryWrapper.lambda().eq(Taxes::getAddr, pageWrap.getModel().getAddr());
        }
        if (pageWrap.getModel().getCompanyName() != null) {
            queryWrapper.lambda().eq(Taxes::getCompanyName, pageWrap.getModel().getCompanyName());
        }
        if (pageWrap.getModel().getImgurl() != null) {
            queryWrapper.lambda().eq(Taxes::getImgurl, pageWrap.getModel().getImgurl());
        }
        if (pageWrap.getModel().getApplyType() != null) {
            queryWrapper.lambda().eq(Taxes::getApplyType, pageWrap.getModel().getApplyType());
        }
        if (pageWrap.getModel().getCancelDate() != null) {
            queryWrapper.lambda().ge(Taxes::getCancelDate, Utils.Date.getStart(pageWrap.getModel().getCancelDate()));
            queryWrapper.lambda().le(Taxes::getCancelDate, Utils.Date.getEnd(pageWrap.getModel().getCancelDate()));
        }
        if (pageWrap.getModel().getCancelInfo() != null) {
            queryWrapper.lambda().eq(Taxes::getCancelInfo, pageWrap.getModel().getCancelInfo());
        }
        if (pageWrap.getModel().getCancelUserId() != null) {
            queryWrapper.lambda().eq(Taxes::getCancelUserId, pageWrap.getModel().getCancelUserId());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
        PageData<Taxes>  result =PageData.from(taxesJoinMapper.selectJoinPage(page,Taxes.class, queryWrapper));
        if(result!=null && result.getRecords()!=null){
            String path =systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+systemDictDataBiz.queryByCode(Constants.OSS,Constants.TAXES_FILE).getCode();
            for(Taxes t : result.getRecords()){
                if(StringUtils.isNotBlank(t.getImgurl())){
                    t.setImgurlFull(path + t.getImgurl());
                }
            }
        }
        return PageData.from(taxesMapper.selectPage(page, queryWrapper));
        return result;
    }
    @Override