Selaa lähdekoodia

会计-发票管理:电话号码调整

lizhenhao 2 vuotta sitten
vanhempi
commit
b7327c7809

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/domain/CwFinanceInvoice.java

@@ -180,5 +180,10 @@ public class CwFinanceInvoice extends BaseEntity {
      */
      */
     private String isMultiple;
     private String isMultiple;
 
 
+    /**
+     * 实际开票单位的开票信息id
+     */
+    private String billingId;
+
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 }
 }

+ 3 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/mapper/xml/CwFinanceInvoiceMapper.xml

@@ -45,6 +45,7 @@
             <result property="invalidTaskId" column="invalid_task_id" jdbcType="VARCHAR"/>
             <result property="invalidTaskId" column="invalid_task_id" jdbcType="VARCHAR"/>
             <result property="taskId" column="task_id" jdbcType="VARCHAR"/>
             <result property="taskId" column="task_id" jdbcType="VARCHAR"/>
             <result property="isMultiple" column="is_multiple" jdbcType="VARCHAR"/>
             <result property="isMultiple" column="is_multiple" jdbcType="VARCHAR"/>
+            <result property="billingId" column="billing_id" jdbcType="VARCHAR"/>
             <association property="financeInvoiceInvalidDTO" column="id" select="getFii" javaType="com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceInvalidDTO"></association>
             <association property="financeInvoiceInvalidDTO" column="id" select="getFii" javaType="com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceInvalidDTO"></association>
             <collection property="financeInvoiceReceivablesDTOList" column="id" select="getFirList" ofType="com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceReceivablesDTO"></collection>
             <collection property="financeInvoiceReceivablesDTOList" column="id" select="getFirList" ofType="com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceReceivablesDTO"></collection>
             <collection property="financeInvoiceBaseDTOList" column="id" select="getBaseList" ofType="com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceBaseDTO"></collection>
             <collection property="financeInvoiceBaseDTOList" column="id" select="getBaseList" ofType="com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceBaseDTO"></collection>
@@ -148,7 +149,8 @@
         fi.receivables_status,
         fi.receivables_status,
         fi.invalid_status,
         fi.invalid_status,
         fi.receivables_date,
         fi.receivables_date,
-        fi.is_multiple
+        fi.is_multiple,
+        fi.billing_id
     </sql>
     </sql>
 
 
     <sql id="File_Column_List">
     <sql id="File_Column_List">

+ 33 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/service/CwFinanceInvoiceService.java

@@ -22,6 +22,10 @@ import com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceDTO;
 import com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceDetailDTO;
 import com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceDetailDTO;
 import com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceReceivablesDTO;
 import com.jeeplus.test.cw.invoice.service.dto.CwFinanceInvoiceReceivablesDTO;
 import com.jeeplus.test.cw.invoice.service.mapstruct.*;
 import com.jeeplus.test.cw.invoice.service.mapstruct.*;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBase;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBilling;
+import com.jeeplus.test.cw.workClientInfo.service.CwWorkClientBillingService;
+import com.jeeplus.test.cw.workClientInfo.service.CwWorkClientService;
 import com.jeeplus.test.mould.service.SerialnumTplService;
 import com.jeeplus.test.mould.service.SerialnumTplService;
 import com.jeeplus.test.oss.mapper.OssServiceMapper;
 import com.jeeplus.test.oss.mapper.OssServiceMapper;
 import com.jeeplus.test.oss.service.OssService;
 import com.jeeplus.test.oss.service.OssService;
@@ -61,6 +65,10 @@ public class CwFinanceInvoiceService extends ServiceImpl<CwFinanceInvoiceMapper,
     private UserService userService;
     private UserService userService;
     @Resource
     @Resource
     private OssService ossService;
     private OssService ossService;
+    @Resource
+    private CwWorkClientBillingService cwWorkClientBillingService;
+    @Resource
+    private CwWorkClientService cwWorkClientService;
 
 
     public List<String> getSearchList(ArrayList<String> searchIdList, List<String> ids) {
     public List<String> getSearchList(ArrayList<String> searchIdList, List<String> ids) {
         List<String> newSearchIdList = searchIdList.stream().filter(item -> {
         List<String> newSearchIdList = searchIdList.stream().filter(item -> {
@@ -278,6 +286,31 @@ public class CwFinanceInvoiceService extends ServiceImpl<CwFinanceInvoiceMapper,
 
 
         CwFinanceInvoiceDTO cwFinanceInvoiceDTO = cwFinanceInvoiceMapper.queryById(id);
         CwFinanceInvoiceDTO cwFinanceInvoiceDTO = cwFinanceInvoiceMapper.queryById(id);
 
 
+        // 电话号获取
+        if (ObjectUtil.isNotEmpty(cwFinanceInvoiceDTO) && StringUtils.isNotBlank(cwFinanceInvoiceDTO.getBillingId())) {
+            CwWorkClientBilling cwWorkClientBilling = cwWorkClientBillingService.getById(cwFinanceInvoiceDTO.getBillingId());
+            if (ObjectUtil.isNotEmpty(cwWorkClientBilling) && StringUtils.isNotBlank(cwWorkClientBilling.getPhone())) {
+                // 如果通过billingId(开票信息id)可以查询到数据,并且数据的phone(电话)有值的话,那么就将方法返回结果的telPhone替换为查询到的phone
+                cwFinanceInvoiceDTO.setTelPhone(cwWorkClientBilling.getPhone());
+            } else {
+                // 如果通过billingId(开票信息id)查询不到数据或者查询到数据的phone值为空
+                // 将billingId(开票信息id)置空,因为前端根据billingId是否有值来判断->是否允许电话号码可以手填
+                cwFinanceInvoiceDTO.setBillingId("");
+                // 将telPhone(电话号)置空
+//                cwFinanceInvoiceDTO.setTelPhone("");
+            }
+        }
+
+        // 实际开票单位名称获取
+        if (ObjectUtil.isNotEmpty(cwFinanceInvoiceDTO) && StringUtils.isNotBlank(cwFinanceInvoiceDTO.getBillingWorkplaceRealId())) {
+            CwWorkClientBase cwWorkClientBase = cwWorkClientService.getById(cwFinanceInvoiceDTO.getBillingWorkplaceRealId());
+            if (ObjectUtil.isNotEmpty(cwWorkClientBase) && StringUtils.isNotBlank(cwWorkClientBase.getName())) {
+                // 如果通过billingWorkplaceRealId(实际开票单位id)可以查询到数据,并且数据的name(实际开票单位名称)有值的话,
+                // 那么就将方法返回结果的billingWorkplaceReal替换
+                cwFinanceInvoiceDTO.setBillingWorkplaceReal(cwWorkClientBase.getName());
+            }
+        }
+
         return cwFinanceInvoiceDTO;
         return cwFinanceInvoiceDTO;
     }
     }
 
 

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/service/dto/CwFinanceInvoiceDTO.java

@@ -309,5 +309,10 @@ public class CwFinanceInvoiceDTO extends BaseDTO {
      */
      */
     private String isMultiple;
     private String isMultiple;
 
 
+    /**
+     * 实际开票单位的开票信息id
+     */
+    private String billingId;
+
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 }
 }

+ 18 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/controller/CwWorkClientController.java

@@ -16,8 +16,10 @@ import com.jeeplus.sys.constant.enums.LogTypeEnum;
 import com.jeeplus.sys.utils.DictUtils;
 import com.jeeplus.sys.utils.DictUtils;
 import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.sys.utils.StringUtils;
 import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientTemp;
 import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientTemp;
+import com.jeeplus.test.cw.workClientInfo.service.CwWorkClientBillingService;
 import com.jeeplus.test.cw.workClientInfo.service.CwWorkClientService;
 import com.jeeplus.test.cw.workClientInfo.service.CwWorkClientService;
 import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBaseDTO;
 import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBaseDTO;
+import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBillingDTO;
 import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientContactDTO;
 import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientContactDTO;
 import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientTempDTO;
 import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientTempDTO;
 import com.jeeplus.test.jobPosion.domain.JobPosition;
 import com.jeeplus.test.jobPosion.domain.JobPosition;
@@ -59,6 +61,9 @@ public class CwWorkClientController {
     @Resource
     @Resource
     private FlowTaskService flowTaskService;
     private FlowTaskService flowTaskService;
 
 
+    @Resource
+    private CwWorkClientBillingService cwWorkClientBillingService;
+
     /**
     /**
      * 查询客户信息列表
      * 查询客户信息列表
      * @param cwWorkClientBaseDTO
      * @param cwWorkClientBaseDTO
@@ -322,4 +327,17 @@ public class CwWorkClientController {
         return cwWorkClientService.queryUpdateLogList ( tempDto );
         return cwWorkClientService.queryUpdateLogList ( tempDto );
     }
     }
 
 
+    /**
+     * 根据客户id查询开票信息
+     * @param cwWorkClientBillingDTO
+     * @return
+     * @throws Exception
+     */
+    @ApiLog("根据客户id查询开票信息")
+    @GetMapping("getBillingListByClientId")
+    public ResponseEntity<List<CwWorkClientBillingDTO>> getBillingListByClientId(CwWorkClientBillingDTO cwWorkClientBillingDTO) throws Exception {
+        List<CwWorkClientBillingDTO> result = cwWorkClientBillingService.getBillingListByClientId(cwWorkClientBillingDTO);
+        return ResponseEntity.ok (result);
+    }
+
 }
 }

+ 8 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/mapper/CwWorkClientBillingMapper.java

@@ -1,8 +1,15 @@
 package com.jeeplus.test.cw.workClientInfo.mapper;
 package com.jeeplus.test.cw.workClientInfo.mapper;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBase;
 import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBilling;
 import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBilling;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBillingDTO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 /**
 /**
  * @Entity com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBilling
  * @Entity com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBilling
@@ -10,6 +17,7 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 @Mapper
 public interface CwWorkClientBillingMapper extends BaseMapper<CwWorkClientBilling> {
 public interface CwWorkClientBillingMapper extends BaseMapper<CwWorkClientBilling> {
 
 
+    List<CwWorkClientBillingDTO> getBillingListByClientId(@Param(Constants.WRAPPER) QueryWrapper<CwWorkClientBilling> queryWrapper);
 }
 }
 
 
 
 

+ 8 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/mapper/xml/CwWorkClientBillingMapper.xml

@@ -19,7 +19,7 @@
             <result property="account" column="account" jdbcType="VARCHAR"/>
             <result property="account" column="account" jdbcType="VARCHAR"/>
             <result property="phone" column="phone" jdbcType="VARCHAR"/>
             <result property="phone" column="phone" jdbcType="VARCHAR"/>
             <result property="address" column="address" jdbcType="VARCHAR"/>
             <result property="address" column="address" jdbcType="VARCHAR"/>
-        <result property="companyName" column="company_name" jdbcType="VARCHAR"/>
+            <result property="companyName" column="company_name" jdbcType="VARCHAR"/>
     </resultMap>
     </resultMap>
 
 
     <sql id="Billing_Column_List">
     <sql id="Billing_Column_List">
@@ -39,4 +39,11 @@
         cw_wcbi.address,
         cw_wcbi.address,
         cw_wcbi.company_name
         cw_wcbi.company_name
     </sql>
     </sql>
+
+    <select id="getBillingListByClientId" resultMap="BaseResultMap">
+        select
+        <include refid="Billing_Column_List"></include>
+        from cw_work_client_billing cw_wcbi
+        ${ew.customSqlSegment}
+    </select>
 </mapper>
 </mapper>

+ 36 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/CwWorkClientBillingService.java

@@ -1,15 +1,50 @@
 package com.jeeplus.test.cw.workClientInfo.service;
 package com.jeeplus.test.cw.workClientInfo.service;
 
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.core.query.QueryWrapperGenerator;
+import com.jeeplus.sys.utils.StringUtils;
+import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBase;
 import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBilling;
 import com.jeeplus.test.cw.workClientInfo.domain.CwWorkClientBilling;
 import com.jeeplus.test.cw.workClientInfo.mapper.CwWorkClientBillingMapper;
 import com.jeeplus.test.cw.workClientInfo.mapper.CwWorkClientBillingMapper;
+import com.jeeplus.test.cw.workClientInfo.service.dto.CwWorkClientBillingDTO;
+import com.jeeplus.test.cw.workClientInfo.service.mapstruct.CwWorkClientBaseWrapper;
+import com.jeeplus.test.cw.workClientInfo.service.mapstruct.CwWorkClientBillingWrapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 @Service
-@Transactional
+@Transactional(rollbackFor = Exception.class)
 public class CwWorkClientBillingService extends ServiceImpl<CwWorkClientBillingMapper, CwWorkClientBilling> {
 public class CwWorkClientBillingService extends ServiceImpl<CwWorkClientBillingMapper, CwWorkClientBilling> {
 
 
+    @Resource
     private CwWorkClientBillingMapper cwWorkClientBillingMapper;
     private CwWorkClientBillingMapper cwWorkClientBillingMapper;
 
 
+    /**
+     * 根据客户id查询开票信息
+     * @param cwWorkClientBillingDTO
+     * @return
+     */
+    public List<CwWorkClientBillingDTO> getBillingListByClientId(CwWorkClientBillingDTO cwWorkClientBillingDTO) throws Exception {
+        QueryWrapper<CwWorkClientBilling> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("cw_wcbi.del_flag", "0");
+        if (ObjectUtil.isNotEmpty(cwWorkClientBillingDTO) && StringUtils.isNotBlank(cwWorkClientBillingDTO.getClientId())) {
+            queryWrapper.eq("cw_wcbi.client_id", cwWorkClientBillingDTO.getClientId());
+            if (StringUtils.isNotBlank(cwWorkClientBillingDTO.getCompanyName())) { // 公司名称
+                queryWrapper.like("cw_wcbi.company_name", cwWorkClientBillingDTO.getCompanyName());
+            }
+            if (StringUtils.isNotBlank(cwWorkClientBillingDTO.getTaxpayerIdentificationNo())) { // 纳税人识别号
+                queryWrapper.like("cw_wcbi.taxpayer_identification_no", cwWorkClientBillingDTO.getTaxpayerIdentificationNo());
+            }
+        } else {
+            return new ArrayList<>();
+        }
+        return cwWorkClientBillingMapper.getBillingListByClientId(queryWrapper);
+    }
 }
 }

+ 3 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/workClientInfo/service/CwWorkClientTypeService.java

@@ -6,10 +6,13 @@ import com.jeeplus.test.cw.workClientInfo.mapper.CwWorkClientTypeMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import javax.annotation.Resource;
+
 @Service
 @Service
 @Transactional
 @Transactional
 public class CwWorkClientTypeService extends ServiceImpl<CwWorkClientTypeMapper, CwWorkClientType> {
 public class CwWorkClientTypeService extends ServiceImpl<CwWorkClientTypeMapper, CwWorkClientType> {
 
 
+    @Resource
     private CwWorkClientTypeMapper cwWorkClientTypeMapper;
     private CwWorkClientTypeMapper cwWorkClientTypeMapper;
 
 
 }
 }