Procházet zdrojové kódy

计量支付相关

qianxb před 1 rokem
rodič
revize
57f7024e13

+ 10 - 1
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/MaterialMeterForm.java

@@ -65,6 +65,15 @@ public class MaterialMeterForm extends BaseEntity {
      */
     @ApiModelProperty(value = "合同材料id")
     private Long contractMaterialId;
+    @ApiModelProperty(value = "合同材料名称")
+    private String contractMaterialName;
+    @ApiModelProperty(value = "期号")
+    private String periodNumber;
+    /**
+     * 期名称
+     */
+    @ApiModelProperty(value = "期名称")
+    private String periodName;
     /**
      * 单价
      */
@@ -74,7 +83,7 @@ public class MaterialMeterForm extends BaseEntity {
      * 计量数量
      */
     @ApiModelProperty(value = "计量数量")
-    private Integer meterAmount;
+    private BigDecimal meterAmount;
     /**
      * 计量金额
      */

+ 8 - 0
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/entity/StartPayMeterForm.java

@@ -55,6 +55,14 @@ public class StartPayMeterForm extends BaseEntity {
      */
     @ApiModelProperty(value = "计量期id,s_meter_period")
     private Long meterPeriodId;
+
+    @ApiModelProperty(value = "期号")
+    private String periodNumber;
+    /**
+     * 期名称
+     */
+    @ApiModelProperty(value = "期名称")
+    private String periodName;
     /**
      * 业务日期
      */

+ 0 - 3
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MaterialMeterFormVO.java

@@ -42,9 +42,6 @@ public class MaterialMeterFormVO extends MaterialMeterForm {
 	@ApiModelProperty(value = "计量期名称")
 	private String meterPeriodName;
 
-	@ApiModelProperty(value = "合同材料名称")
-	private String contractMaterialName;
-
 	@ApiModelProperty(value = "材料是否符合要求名称")
 	private String materialConformName;
 

+ 3 - 3
blade-service-api/blade-meter-api/src/main/java/org/springblade/meter/vo/MeterInventoryDetailVO.java

@@ -25,7 +25,7 @@ public class MeterInventoryDetailVO {
     private String formNumber;
 
     @ApiModelProperty(value = "变更后数量")
-    private Integer changeTotal;
+    private BigDecimal changeTotal;
 
     @ApiModelProperty(value = "审批状态名称")
     private String approveStatusName;
@@ -43,7 +43,7 @@ public class MeterInventoryDetailVO {
     private BigDecimal currentPrice;
 
     @ApiModelProperty(value = "本期计量数量")
-    private Integer currentMeterTotal;
+    private BigDecimal currentMeterTotal;
 
     @ApiModelProperty(value = "本期计量金额")
     private BigDecimal currentMeterMoney;
@@ -52,7 +52,7 @@ public class MeterInventoryDetailVO {
     private BigDecimal allMeterMoney;
 
     @ApiModelProperty(value = "累计计量数量")
-    private Integer allMeterTotal;
+    private BigDecimal allMeterTotal;
 
     @ApiModelProperty(value = "明细")
     private List<MeterInventoryDetailVO> detail;

+ 2 - 3
blade-service/blade-meter/src/main/java/org/springblade/meter/mapper/MaterialMeterFormMapper.xml

@@ -32,7 +32,6 @@
     </resultMap>
     <select id="meterPage" resultType="org.springblade.meter.vo.MaterialMeterFormVO">
         select *,
-             (select material_name from s_contract_material scm where scm.id = mmf.contract_material_id )  as contractMaterialName,
             CASE when approve_status = 0 then '未上报' when approve_status = 1 then '待审批' when approve_status = 2 then '已审批'
                  else '已废除' end as approveStatusName
         from s_material_meter_form mmf
@@ -44,8 +43,8 @@
     <select id="detail" resultType="org.springblade.meter.vo.MaterialMeterFormVO">
         select *,
               (select period_number from s_meter_period smp where smp.id = mmf.meter_period_id) as meterPeriodName,
-            if(material_conform = 0,'否','是') as materialConformName,
-            if(storage_conform = 0,'否','是') as storageConformName
+               (CASE when material_conform is null then '' when material_conform = 0 then '否' else '是' end) as materialConformName,
+               (CASE when storage_conform is null then '' when storage_conform = 0 then '否' else '是' end) as storageConformName
         from s_material_meter_form mmf
         where id = #{id}
     </select>

+ 2 - 2
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MaterialMeterFormServiceImpl.java

@@ -62,7 +62,7 @@ public class MaterialMeterFormServiceImpl extends BaseServiceImpl<MaterialMeterF
         Long id = SnowFlakeUtil.getId();
         form.setId(id);
         if (form.getPrice() != null && form.getMeterAmount() != null){
-            form.setMeterMoney(form.getPrice().multiply(new BigDecimal(form.getMeterAmount())));
+            form.setMeterMoney(form.getPrice().multiply(form.getMeterAmount()));
         }
         this.save(form);
         //保存附件信息
@@ -111,7 +111,7 @@ public class MaterialMeterFormServiceImpl extends BaseServiceImpl<MaterialMeterF
         MaterialMeterForm form = new MaterialMeterForm();
         BeanUtils.copyProperties(dto,form);
         if (form.getPrice() != null && form.getMeterAmount() != null){
-            form.setMeterMoney(form.getPrice().multiply(new BigDecimal(form.getMeterAmount())));
+            form.setMeterMoney(form.getPrice().multiply(form.getMeterAmount()));
         }
         this.updateById(form);
         //删除附件信息

+ 10 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MeterPeriodServiceImpl.java

@@ -67,6 +67,8 @@ public class MeterPeriodServiceImpl extends BaseServiceImpl<MeterPeriodMapper, M
         }else {
             //存在数据,先删再存,循环排序
             baseMapper.remove(dto.getContractId(),dto.getType());
+            int year = -1;
+            int month = -1;
             for (int i = 0; i < list.size(); i++) {
                 MeterPeriod period = list.get(i);
                 period.setProjectId(dto.getProjectId());
@@ -80,6 +82,14 @@ public class MeterPeriodServiceImpl extends BaseServiceImpl<MeterPeriodMapper, M
                 if (period.getPeriodYear() == null || period.getPeriodMonth() == null) {
                     throw new ServiceException("请填写年份、月份");
                 }
+                //year为年month为月,period.getPeriodYear()为年,period.getPeriodMonth()为月
+                if (year != -1 && month != -1){
+                    if (period.getPeriodYear() < year || (period.getPeriodYear() == year && period.getPeriodMonth() < month)){
+                        throw new ServiceException("下一期年月不能小于上一期");
+                    }
+                }
+                year = period.getPeriodYear();
+                month = period.getPeriodMonth();
                 period.setSort(i);
             }
             this.saveOrUpdateBatch(list);

+ 2 - 2
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/MiddleMeterApplyServiceImpl.java

@@ -327,10 +327,10 @@ public class MiddleMeterApplyServiceImpl extends BaseServiceImpl<MiddleMeterAppl
             vo.setFormName(vo1.getFormName());
             vo.setChangeTotal(vo1.getChangeTotal());
             vo.setCurrentPrice(vo1.getCurrentPrice());
-            Integer total = 0;
+            BigDecimal total = new BigDecimal(0);
             BigDecimal money = new BigDecimal(0);
             for (MeterInventoryDetailVO inventoryVO : voList) {
-                total += inventoryVO.getCurrentMeterTotal();
+                total = total.add(inventoryVO.getCurrentMeterTotal());
                 money = money.add(inventoryVO.getCurrentMeterMoney());
             }
             vo.setAllMeterTotal(total);