Jelajahi Sumber

转账记录新增查询条件、账户信息导出新增本年开票额和本季度开票额

Qchen 2 tahun lalu
induk
melakukan
0e9efe5327

+ 1 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -155,6 +155,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                             teamNum.setJqPremiumSum(String.valueOf(new BigDecimal(teamNum.getJqPremiumSum()).add(new BigDecimal(quTeamNum.getJqPremiumSum()))));
                             teamNum.setQuoteNum(String.valueOf(new BigDecimal(teamNum.getQuoteNum()).add(new BigDecimal(quTeamNum.getCount()))));
                             teamNum.setHasInsuredNum(String.valueOf(new BigDecimal(teamNum.getHasInsuredNum()).add(new BigDecimal(quTeamNum.getCount()))));
+                            teamNum.setTaxaMountSum(String.valueOf(new BigDecimal(quTeamNum.getTaxaMountSum())));
                         }
                         if (quTeamNum.getOrderStatus().equals("2")) {
                             teamNum.setSubmitNum(String.valueOf(new BigDecimal(teamNum.getSubmitNum()).add(new BigDecimal(quTeamNum.getCount()))));

+ 3 - 1
src/main/java/com/ydtech/modules/inv/controller/InvAccountOperateController.java

@@ -10,6 +10,8 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.text.ParseException;
+
 import static com.ydtech.modules.inv.utils.TransferUtils.isProfitFull;
 
 
@@ -34,7 +36,7 @@ public class InvAccountOperateController {
 
     @PostMapping("getAccountOperate")
     @ApiOperation("获取账户操作")
-    public HttpResult<IPage<InvAccountOperate>> getAccountOperate(@RequestBody InvAccountOperate accountOperate) {
+    public HttpResult<IPage<InvAccountOperate>> getAccountOperate(@RequestBody InvAccountOperate accountOperate) throws ParseException {
         return HttpResult.ok("", invAccountOperateService.selectList(accountOperate));
     }
 

+ 5 - 0
src/main/java/com/ydtech/modules/inv/dao/InvAccountMapper.java

@@ -3,6 +3,9 @@ package com.ydtech.modules.inv.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 import com.ydtech.modules.inv.model.InvAccount;
+import com.ydtech.modules.inv.model.InvAccountIncoice;
+import com.ydtech.modules.inv.model.InvAccountIncoiceResult;
+import com.ydtech.modules.inv.model.InvAccountSumAmount;
 import com.ydtech.modules.inv.model.vo.InvAccountQueryVo;
 import org.apache.ibatis.annotations.Param;
 
@@ -21,6 +24,8 @@ public interface InvAccountMapper extends BaseMapper<InvAccount> {
     List<InvAccount> selectAccountsList(@Param("account") InvAccountQueryVo invAccountQueryVo);
 
     List<InvAccount> getSumInvoicingAmount(@Param("account") InvAccountQueryVo invAccountQueryVo);
+
+    List<InvAccountSumAmount> getYearAndQuarterAmount();
 }
 
 

+ 2 - 2
src/main/java/com/ydtech/modules/inv/model/InvAccountOperate.java

@@ -40,10 +40,10 @@ public class InvAccountOperate implements Serializable {
 
 
     @ApiModelProperty(value = "创建时间")
-    @JsonFormat(pattern = "yyyy-MM-dd")
+//    @JsonFormat(pattern = "yyyy-MM-dd")
     @ExcelProperty("支出时间")
     @TableField(value = "create_time",fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime createTime;
+    private String createTime;
 
     /**
      * 申请人

+ 17 - 0
src/main/java/com/ydtech/modules/inv/model/InvAccountSumAmount.java

@@ -0,0 +1,17 @@
+package com.ydtech.modules.inv.model;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+@Data
+public class InvAccountSumAmount {
+    @ApiModelProperty("账户id")
+    private String accountId;
+
+    @ApiModelProperty("本年开票额")
+    private String yearAmount;
+
+    @ApiModelProperty("本季度开票额")
+    private String quarterAmount;
+}

+ 6 - 0
src/main/java/com/ydtech/modules/inv/model/excel/AccountExcel.java

@@ -37,6 +37,12 @@ public class AccountExcel implements Serializable {
     @ExcelProperty("剩余开票额度")
     private String invoicingAmountExcess;
 
+    @ExcelProperty("本年开票额")
+    private String yearAmount;
+
+    @ExcelProperty("本季度开票额")
+    private String quarterAmount;
+
     @ExcelProperty("暂估")
     private String estimate;
 }

+ 3 - 1
src/main/java/com/ydtech/modules/inv/service/InvAccountOperateService.java

@@ -6,6 +6,8 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.inv.model.InvAccountOperate;
 import org.apache.ibatis.annotations.Param;
 
+import java.text.ParseException;
+
 /**
 * @author Administrator
 * @description 针对表【ins_account_operate(账户操作记录表)】的数据库操作Service
@@ -13,7 +15,7 @@ import org.apache.ibatis.annotations.Param;
 */
 public interface InvAccountOperateService extends IService<InvAccountOperate> {
 
-    IPage<InvAccountOperate> selectList(InvAccountOperate list);
+    IPage<InvAccountOperate> selectList(InvAccountOperate list) throws ParseException;
 
     HttpResult insert(InvAccountOperate invAccountOperate);
 

+ 2 - 2
src/main/java/com/ydtech/modules/inv/service/impl/InvAccountIncoiceServiceImpl.java

@@ -141,7 +141,7 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
         invAccountOperate.setFundUse(invAccountIncoice.getFundUse());
         invAccountOperate.setFundFen(invAccountIncoice.getFundFen());
         invAccountOperate.setInvoiceId(invAccountIncoice1.getInvoiceId());
-        invAccountOperate.setCreateTime(LocalDateTime.now());
+        invAccountOperate.setCreateTime(LocalDateTime.now().toString());
         invAccountOperate.setEntProfit(entProfit);
         invAccountOperate.setDel(String.valueOf(date.getTime()));
         invAccountOperate.setOutCardNum(outCard.getBankCardNum());
@@ -161,7 +161,7 @@ public class InvAccountIncoiceServiceImpl extends ServiceImpl<InvAccountIncoiceM
         outInvAccountOperate.setFundUse(invAccountIncoice.getFundUse());
         outInvAccountOperate.setFundFen(invAccountIncoice.getFundFen());
         outInvAccountOperate.setInvoiceId(invAccountIncoice1.getInvoiceId());
-        outInvAccountOperate.setCreateTime(LocalDateTime.now());
+        outInvAccountOperate.setCreateTime(LocalDateTime.now().toString());
         outInvAccountOperate.setOutProfit(outProfit);
         outInvAccountOperate.setDel(String.valueOf(date.getTime()));
         outInvAccountOperate.setOutCardNum(outCard.getBankCardNum());

+ 9 - 2
src/main/java/com/ydtech/modules/inv/service/impl/InvAccountOperateServiceImpl.java

@@ -23,6 +23,8 @@ import org.springframework.stereotype.Service;
 
 import java.io.File;
 import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Date;
@@ -72,7 +74,7 @@ public class InvAccountOperateServiceImpl extends ServiceImpl<InvAccountOperateM
      * @return
      */
     @Override
-    public IPage<InvAccountOperate> selectList(InvAccountOperate accountOperate) {
+    public IPage<InvAccountOperate> selectList(InvAccountOperate accountOperate) throws ParseException {
         PageRequest pageRequest = new PageRequest();
         pageRequest.setPageNum(accountOperate.getPageNo());
         pageRequest.setPageSize(accountOperate.getPageSize());
@@ -80,6 +82,11 @@ public class InvAccountOperateServiceImpl extends ServiceImpl<InvAccountOperateM
         IPage<InvAccountOperate> invAccountOperateIPage = invAccountOperateMapper.selectInsAccountOperate(page, accountOperate);
         List<InvAccountOperate> records = invAccountOperateIPage.getRecords();
         for (InvAccountOperate record : records) {
+            String createTime = record.getCreateTime();
+            SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");
+            String outputDate = outputFormat.format(inputFormat.parse(createTime));
+            record.setCreateTime(outputDate);
             StringBuilder a = new StringBuilder();
             if (record.getPayMethod() != null) {
                 String[] split = record.getPayMethod().split(",");
@@ -133,7 +140,7 @@ public class InvAccountOperateServiceImpl extends ServiceImpl<InvAccountOperateM
             InvAccountCard invAccount = outsideTransfer(outAccountCard, outAccount, entAccountCard, entAccount, applyAmount);
             invAccountCardService.updateById(invAccount);
             BaseController baseController = new BaseController();
-            invAccountOperate.setCreateTime(LocalDateTime.now());
+            invAccountOperate.setCreateTime(LocalDateTime.now().toString());
             invAccountOperate.setOutProfit(null);
             invAccountOperate.setEnterCardNum(entAccountCard.getBankCardNum());
             invAccountOperate.setCreateBy(baseController.getUserName());

+ 14 - 3
src/main/java/com/ydtech/modules/inv/service/impl/InvAccountServiceImpl.java

@@ -8,10 +8,8 @@ import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.inv.dao.InvAccountMapper;
-import com.ydtech.modules.inv.model.InvAccount;
-import com.ydtech.modules.inv.model.InvAccountOp;
+import com.ydtech.modules.inv.model.*;
 import com.ydtech.modules.inv.model.dto.InvAccountOpDto;
-import com.ydtech.modules.inv.model.InvAccountProfit;
 import com.ydtech.modules.inv.model.excel.AccountExcel;
 import com.ydtech.modules.inv.model.vo.InvAccountQueryVo;
 import com.ydtech.modules.inv.service.InvAccountOpService;
@@ -264,6 +262,19 @@ public class InvAccountServiceImpl extends ServiceImpl<InvAccountMapper, InvAcco
                     LocalDateTime establishTime = LocalDateTime.fromDateFields(invAccount.getEstablishTime());
                     accountExcel.setEstablishTime(establishTime.toString().substring(0, establishTime.toString().indexOf("T")));
                 }
+                List<InvAccountSumAmount> sumYearAmount = insAccountMapper.getYearAndQuarterAmount();
+                boolean found = false;
+                for (InvAccountSumAmount yearAmount : sumYearAmount) {
+                    if (yearAmount.getAccountId().equals(invAccount.getAccountId())) {
+                        accountExcel.setYearAmount(yearAmount.getYearAmount());
+                        accountExcel.setQuarterAmount(yearAmount.getQuarterAmount());
+                        found = true;
+                    }
+                }
+                if (!found) {
+                    accountExcel.setYearAmount("0.00");
+                    accountExcel.setQuarterAmount("0.00");
+                }
                 accountExcel.setSumInvoicingAmount(invAccount.getSumInvoicingAmount());
                 accountExcel.setQuarterAmountExcess(invAccount.getQuarterAmountExcess());
                 accountExcel.setInvoicingAmountExcess(invAccount.getInvoicingAmountExcess());

+ 2 - 2
src/main/java/com/ydtech/modules/inv/utils/TransferUtils.java

@@ -88,7 +88,7 @@ public class TransferUtils {
         InvAccountOperate operate = operate(insAccountExcel, insAccountOperate);
         operate.setRevenueOutlay("1");
         operate.setOutProfit(insAccountExcel.getOutProfit());
-        operate.setCreateTime(LocalDateTime.now());
+        operate.setCreateTime(LocalDateTime.now().toString());
         operate.setCreateBy(baseController.getUserName());
         operate.setCreateId(baseController.getUserId());
         operate.setRemark(insAccountExcel.getRemark());
@@ -106,7 +106,7 @@ public class TransferUtils {
         InvAccountOperate operate = operate(insAccountExcel, insAccountOperate);
         operate.setRevenueOutlay("0");
         operate.setEntProfit(insAccountExcel.getEntProfit());
-        operate.setCreateTime(LocalDateTime.now());
+        operate.setCreateTime(LocalDateTime.now().toString());
         operate.setRemark(insAccountExcel.getRemark());
         operate.setCreateBy(baseController.getUserName());
         operate.setCreateId(baseController.getUserId());

+ 21 - 0
src/main/resources/mapper/modules/inv/InvAccountMapper.xml

@@ -178,4 +178,25 @@
         a.account_id,
         b.bank_card_num
     </select>
+    <resultMap id="yearAmountResultMap"  type="com.ydtech.modules.inv.model.InvAccountSumAmount">
+        <id property="accountId" column="account_id"/>
+        <result property="yearAmount" column="yearAmount" jdbcType="VARCHAR"/>
+        <result property="quarterAmount" column="quarterAmount" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <select id="getYearAndQuarterAmount" resultMap="yearAmountResultMap">
+        SELECT
+            ia.account_id,
+            SUM(CASE WHEN YEAR(invoice_time) = YEAR(CURDATE()) AND QUARTER(invoice_time) = QUARTER(CURDATE()) THEN no_has_tax ELSE 0 END) AS yearAmount,
+            SUM(CASE WHEN YEAR(invoice_time) = YEAR(CURDATE()) THEN no_has_tax ELSE 0 END) AS quarterAmount
+        FROM
+            inv_account ia
+                LEFT JOIN inv_account_incoice iai ON iai.account_id = ia.account_id
+        WHERE
+            clear_flag = '1' and iai.del_flag ='0'
+        GROUP BY
+            ia.account_id
+        ORDER BY
+            account_id ASC;
+    </select>
 </mapper>

+ 8 - 0
src/main/resources/mapper/modules/inv/InvAccountOperateMapper.xml

@@ -71,9 +71,17 @@
         <if test="insAccountOperate.invoiceId != null and insAccountOperate.invoiceId != ''">
             and invoice_id like concat('%',#{insAccountOperate.invoiceId},'%')
         </if>
+        <if test="insAccountOperate.applyAmount != null and insAccountOperate.applyAmount != '' ">
+            and apply_amount = #{insAccountOperate.applyAmount}
+        </if>
+        <if test="insAccountOperate.createTime != null and insAccountOperate.createTime != ''">
+            and DATE_FORMAT(create_time,'%Y-%m-%d') = CONVERT(#{insAccountOperate.createTime}, DATE)
+        </if>
         order by create_time
         desc
     </select>
+
+
     <select id="selectInsAccountOperateList" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>