Kaynağa Gözat

欠费缴费时修改账单

java110 5 yıl önce
ebeveyn
işleme
1506dc6ae6

+ 2 - 0
java110-bean/src/main/java/com/java110/dto/fee/BillOweFeeDto.java

@@ -14,6 +14,8 @@ import java.io.Serializable;
  **/
  **/
 public class BillOweFeeDto extends PageDto implements Serializable {
 public class BillOweFeeDto extends PageDto implements Serializable {
 
 
+    public static final String STATE_FINISH_FEE = "2000";//已缴费
+
     private String oweId;
     private String oweId;
     private String billId;
     private String billId;
     private String feeId;
     private String feeId;

+ 4 - 0
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml

@@ -547,6 +547,10 @@
         #{ownerTel}, #{payerObjName}, #{payerObjType}, #{communityId}, #{state})
         #{ownerTel}, #{payerObjName}, #{payerObjType}, #{communityId}, #{state})
     </insert>
     </insert>
 
 
+    <update id="updateBillOweFees" parameterType="Map">
+        update bill_owe_fee t set t.state = #{state} where t.fee_id = #{feeId} and t.community_id=#{communityId}
+    </update>
+
     <insert id="insertBill" parameterType="Map">
     <insert id="insertBill" parameterType="Map">
         INSERT INTO bill (`bill_id`, `bill_name`, `receivable`, `receipts`, `bill_time`, `community_id`, `config_id`,
         INSERT INTO bill (`bill_id`, `bill_name`, `receivable`, `receipts`, `bill_time`, `community_id`, `config_id`,
        `remark`, `cur_bill`, `cur_receivable`)
        `remark`, `cur_bill`, `cur_receivable`)

+ 9 - 0
java110-interface/src/main/java/com/java110/intf/fee/IFeeInnerServiceSMO.java

@@ -119,6 +119,15 @@ public interface IFeeInnerServiceSMO {
      */
      */
     @RequestMapping(value = "/insertBillOweFees", method = RequestMethod.POST)
     @RequestMapping(value = "/insertBillOweFees", method = RequestMethod.POST)
     public int insertBillOweFees(@RequestBody BillOweFeeDto billDto) ;
     public int insertBillOweFees(@RequestBody BillOweFeeDto billDto) ;
+
+    /**
+     * 保存欠费
+     *
+     * @param billDto
+     * @return
+     */
+    @RequestMapping(value = "/updateBillOweFees", method = RequestMethod.POST)
+    public int updateBillOweFees(@RequestBody BillOweFeeDto billDto) ;
     /**
     /**
      * 保存账单
      * 保存账单
      *
      *

+ 25 - 0
service-fee/src/main/java/com/java110/fee/bmo/impl/PayOweFeeImpl.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.RoomDto;
 import com.java110.dto.RoomDto;
+import com.java110.dto.fee.BillOweFeeDto;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.fee.FeeDto;
@@ -111,6 +112,9 @@ public class PayOweFeeImpl implements IPayOweFee {
 
 
             modifyFee(feeObj);
             modifyFee(feeObj);
 
 
+            //将有账单下的 状态改为已经缴费
+            modifyFeeBill(feeObj);
+
             //判断是否有派单属性ID
             //判断是否有派单属性ID
             FeeAttrDto feeAttrDto = new FeeAttrDto();
             FeeAttrDto feeAttrDto = new FeeAttrDto();
             feeAttrDto.setCommunityId(feeObj.getString("communityId"));
             feeAttrDto.setCommunityId(feeObj.getString("communityId"));
@@ -136,6 +140,26 @@ public class PayOweFeeImpl implements IPayOweFee {
         }
         }
     }
     }
 
 
+    /**
+     * @param feeObj
+     */
+    private void modifyFeeBill(JSONObject feeObj) {
+
+        if (FeeConfigDto.BILL_TYPE_EVERY.equals(feeObj.getString("billType"))) {
+            return;
+        }
+
+        BillOweFeeDto billOweFeeDto = new BillOweFeeDto();
+        billOweFeeDto.setCommunityId(feeObj.getString("communityId"));
+        billOweFeeDto.setFeeId(feeObj.getString("feeId"));
+        billOweFeeDto.setState(BillOweFeeDto.STATE_FINISH_FEE);
+        int updateFlag = feeInnerServiceSMOImpl.updateBillOweFees(billOweFeeDto);
+
+        if (updateFlag < 1) {
+            throw new IllegalArgumentException("修改账单失败");
+        }
+    }
+
     /**
     /**
      * @param feeObj
      * @param feeObj
      */
      */
@@ -156,6 +180,7 @@ public class PayOweFeeImpl implements IPayOweFee {
 
 
         Assert.listOnlyOne(feeConfigDtos, "未找到费用配置");
         Assert.listOnlyOne(feeConfigDtos, "未找到费用配置");
         payFeePo.setEndTime(DateUtil.getFormatTimeString(endCalender.getTime(), DateUtil.DATE_FORMATE_STRING_A));
         payFeePo.setEndTime(DateUtil.getFormatTimeString(endCalender.getTime(), DateUtil.DATE_FORMATE_STRING_A));
+        feeObj.put("billType", feeConfigDtos.get(0).getBillType());
         // 一次性收费类型,缴费后,则设置费用状态为收费结束、设置结束日期为费用项终止日期
         // 一次性收费类型,缴费后,则设置费用状态为收费结束、设置结束日期为费用项终止日期
         if (FeeFlagTypeConstant.ONETIME.equals(feeConfigDtos.get(0).getFeeFlag())) {
         if (FeeFlagTypeConstant.ONETIME.equals(feeConfigDtos.get(0).getFeeFlag())) {
             payFeePo.setState(FeeStateConstant.END);
             payFeePo.setState(FeeStateConstant.END);

+ 10 - 0
service-fee/src/main/java/com/java110/fee/dao/IFeeServiceDao.java

@@ -136,6 +136,16 @@ public interface IFeeServiceDao {
      */
      */
     int insertBillOweFees(Map info) throws DAOException;
     int insertBillOweFees(Map info) throws DAOException;
 
 
+
+    /**
+     * 修改账单欠费
+     *
+     * @param info bId 信息
+     * @return List<Map>
+     * @throws DAOException DAO异常
+     */
+    int updateBillOweFees(Map info) throws DAOException;
+
     /**
     /**
      *  保存账单
      *  保存账单
      *
      *

+ 16 - 0
service-fee/src/main/java/com/java110/fee/dao/impl/FeeServiceDaoImpl.java

@@ -238,6 +238,22 @@ public class FeeServiceDaoImpl extends BaseServiceDao implements IFeeServiceDao
         return saveFlag;
         return saveFlag;
     }
     }
 
 
+    /**
+     * 保存欠费
+     *
+     * @param info bId 信息
+     * @return List<Map>
+     * @throws DAOException DAO异常
+     */
+    @Override
+    public int updateBillOweFees(Map info) throws DAOException {
+        logger.debug("保存欠费费用信息 入参 info : {}", info);
+
+        int saveFlag = sqlSessionTemplate.insert("feeServiceDaoImpl.updateBillOweFees", info);
+
+        return saveFlag;
+    }
+
     /**
     /**
      * 保存欠费
      * 保存欠费
      *
      *

+ 5 - 0
service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java

@@ -197,6 +197,11 @@ public class FeeInnerServiceSMOImpl extends BaseServiceSMO implements IFeeInnerS
         return feeServiceDaoImpl.insertBillOweFees(BeanConvertUtil.beanCovertMap(billDto));
         return feeServiceDaoImpl.insertBillOweFees(BeanConvertUtil.beanCovertMap(billDto));
     }
     }
 
 
+    @Override
+    public int updateBillOweFees(@RequestBody BillOweFeeDto billDto) {
+        return feeServiceDaoImpl.updateBillOweFees(BeanConvertUtil.beanCovertMap(billDto));
+    }
+
     /**
     /**
      * 保存账单
      * 保存账单
      *
      *