日计划管道气销售结算

This commit is contained in:
2026-02-10 15:54:46 +08:00
parent 4c90f45ab8
commit a50834f302
15 changed files with 155 additions and 29 deletions

View File

@ -55,63 +55,63 @@ public class UpdateLngPngSettleSalesDtlDto implements Serializable {
/**
* 主计量单位(从lng_png_settle_sales带)
*/
@LogField(name="主计量单位(从lng_png_settle_sales带)",index=4)
@LogField(name="主计量单位",index=4)
@ApiModelProperty("主计量单位(从lng_png_settle_sales带)")
private String uomCode;
/**
* 阶梯量(吉焦)
*/
@LogField(name="阶梯量(吉焦)",index=5)
@LogField(name="阶梯量",index=5)
@ApiModelProperty("阶梯量(吉焦)")
private BigDecimal rateQtyGj;
/**
* 阶梯量(方)
*/
@LogField(name="阶梯量(方)",index=6)
@LogField(name="阶梯量",index=6)
@ApiModelProperty("阶梯量(方)")
private BigDecimal rateQtyM3;
/**
* 比值(方/吉焦)
*/
@LogField(name="比值(方/吉焦)",index=7)
@LogField(name="比值",index=7)
@ApiModelProperty("比值(方/吉焦)")
private BigDecimal rateM3Gj;
/**
* 结算数量(吉焦)
*/
@LogField(name="结算数量(吉焦)",index=8)
@LogField(name="结算数量",index=8)
@ApiModelProperty("结算数量(吉焦)")
private BigDecimal qtySettleGj;
/**
* 结算数量(方)
*/
@LogField(name="结算数量(方)",index=9)
@LogField(name="结算数量",index=9)
@ApiModelProperty("结算数量(方)")
private BigDecimal qtySettleM3;
/**
* 价格(元/吉焦)
*/
@LogField(name="价格(元/吉焦)",index=10)
@LogField(name="价格",index=10)
@ApiModelProperty("价格(元/吉焦)")
private BigDecimal priceGj;
/**
* 价格(元/方)
*/
@LogField(name="价格(元/方)",index=11)
@ApiModelProperty("价格(元/方)")
@LogField(name="价格",index=11)
@ApiModelProperty("价格")
private BigDecimal priceM3;
/**
* 金额(自动计算)
*/
@LogField(name="金额(自动计算)",index=12)
@LogField(name="金额",index=12)
@ApiModelProperty("金额(自动计算)")
private BigDecimal amount;

View File

@ -4,6 +4,9 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xjrsoft.common.annotation.Trans;
import com.xjrsoft.common.enums.TransType;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import io.swagger.annotations.ApiModelProperty;
@ -29,6 +32,7 @@ public class LngPngSettleHdrPurVo extends com.xjrsoft.common.model.base.BaseMode
* 结算月
*/
@ApiModelProperty("结算月")
@JsonFormat(pattern = "yyyy-MM")
private LocalDateTime settleMonth;
@ -36,6 +40,7 @@ public class LngPngSettleHdrPurVo extends com.xjrsoft.common.model.base.BaseMode
* 结算月开始日期
*/
@ApiModelProperty("结算月开始日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime dateFrom;
@ -43,6 +48,7 @@ public class LngPngSettleHdrPurVo extends com.xjrsoft.common.model.base.BaseMode
* 结算月结束日期
*/
@ApiModelProperty("结算月结束日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime dateTo;
@ -50,22 +56,30 @@ public class LngPngSettleHdrPurVo extends com.xjrsoft.common.model.base.BaseMode
* 结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)
*/
@ApiModelProperty("结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)")
@Trans(type = TransType.DIC, id = "2016806282214830081",transToFieldName = "discTypeName")
private String settleTypeCode;
private String settleTypeName;
/**
* 供应商/客户(根据结算类型关联供应商/客户)
*/
@ApiModelProperty("供应商/客户(根据结算类型关联供应商/客户)")
@Trans(type = TransType.SUPPLIER, transToFieldName = "cpName")
private String cpCode;
private String cpName;
/**
* 交易主体(天然气公司/惠贸)
*/
@ApiModelProperty("交易主体(天然气公司/惠贸)")
@Trans(type = TransType.DEPT, transToFieldName = "comName")
private Long comId;
private String comName;
/**
* 结算总数量(吉焦)(不包含二次结算的数量)
@ -108,6 +122,8 @@ public class LngPngSettleHdrPurVo extends com.xjrsoft.common.model.base.BaseMode
@ApiModelProperty("审批状态")
private String approCode;
private String approName;
/**
* 结算说明

View File

@ -4,6 +4,9 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xjrsoft.common.annotation.Trans;
import com.xjrsoft.common.enums.TransType;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import io.swagger.annotations.ApiModelProperty;
@ -29,6 +32,7 @@ public class LngPngSettleHdrVo extends com.xjrsoft.common.model.base.BaseModel{
* 结算月
*/
@ApiModelProperty("结算月")
@JsonFormat(pattern = "yyyy-MM")
private LocalDateTime settleMonth;
@ -36,6 +40,7 @@ public class LngPngSettleHdrVo extends com.xjrsoft.common.model.base.BaseModel{
* 结算月开始日期
*/
@ApiModelProperty("结算月开始日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime dateFrom;
@ -43,6 +48,7 @@ public class LngPngSettleHdrVo extends com.xjrsoft.common.model.base.BaseModel{
* 结算月结束日期
*/
@ApiModelProperty("结算月结束日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime dateTo;
@ -57,15 +63,21 @@ public class LngPngSettleHdrVo extends com.xjrsoft.common.model.base.BaseModel{
* 供应商/客户(根据结算类型关联供应商/客户)
*/
@ApiModelProperty("供应商/客户(根据结算类型关联供应商/客户)")
@Trans(type = TransType.CUSTOMER, transToFieldName = "cpName")
private String cpCode;
private String cpName;
/**
* 交易主体(天然气公司/惠贸)
*/
@ApiModelProperty("交易主体(天然气公司/惠贸)")
@Trans(type = TransType.DEPT, transToFieldName = "comName")
private Long comId;
private String comName;
/**
* 结算总数量(吉焦)(不包含二次结算的数量)

View File

@ -4,6 +4,8 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -55,6 +57,7 @@ public class LngPngSettlePurVo extends com.xjrsoft.common.model.base.BaseModel{
* 结算月
*/
@ApiModelProperty("结算月")
@JsonFormat(pattern = "yyyy-MM")
private LocalDateTime settleMonth;
@ -69,6 +72,7 @@ public class LngPngSettlePurVo extends com.xjrsoft.common.model.base.BaseModel{
* 计划日期(从lng_png_sales_pur带)
*/
@ApiModelProperty("计划日期(从lng_png_sales_pur带)")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime datePlan;
@ -76,6 +80,7 @@ public class LngPngSettlePurVo extends com.xjrsoft.common.model.base.BaseModel{
* 计量日期(从lng_png_sales_pur带)
*/
@ApiModelProperty("计量日期(从lng_png_sales_pur带)")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime dateMea;

View File

@ -4,6 +4,10 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xjrsoft.common.annotation.Trans;
import com.xjrsoft.common.enums.TransType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -41,6 +45,7 @@ public class LngPngSettleSalesVo extends com.xjrsoft.common.model.base.BaseModel
* 结算月(从主表带)
*/
@ApiModelProperty("结算月(从主表带)")
@JsonFormat(pattern = "yyyy-MM")
private LocalDateTime settleMonth;
@ -55,6 +60,7 @@ public class LngPngSettleSalesVo extends com.xjrsoft.common.model.base.BaseModel
* 计划日期(从lng_png_sales带)
*/
@ApiModelProperty("计划日期(从lng_png_sales带)")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime datePlan;
@ -62,6 +68,7 @@ public class LngPngSettleSalesVo extends com.xjrsoft.common.model.base.BaseModel
* 计量日期(从lng_png_sales带)
*/
@ApiModelProperty("计量日期(从lng_png_sales带)")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime dateMea;
@ -69,8 +76,9 @@ public class LngPngSettleSalesVo extends com.xjrsoft.common.model.base.BaseModel
* 客户(从lng_png_sales带)
*/
@ApiModelProperty("客户(从lng_png_sales带)")
@Trans(type = TransType.CUSTOMER, transToFieldName = "cuName")
private String cuCode;
private String cuName;
/**
* 合同主键(从lng_png_sales带)
@ -90,8 +98,11 @@ public class LngPngSettleSalesVo extends com.xjrsoft.common.model.base.BaseModel
* 交割点(从lng_png_sales带)
*/
@ApiModelProperty("交割点(从lng_png_sales带)")
@Trans(type = TransType.LNG_STATION, transToFieldName = "pointDelyName")
private String pointDelyCode;
private String pointDelyName;
/**
* 主计量单位(从lng_png_sales带)

View File

@ -15,6 +15,8 @@ import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
@ -23,6 +25,7 @@ import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import com.xjrsoft.module.dayPlan.dto.LngPngSettleHdrPageDto;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrDto;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrPurDto;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrPur;
import com.xjrsoft.module.dayPlan.service.IPngSettleHdrPurService;
@ -90,23 +93,60 @@ public class PngSettleHdrPurController {
@PostMapping
@ApiOperation(value = "新增LngPngSettleHdr")
@SaCheckPermission("pngSettleHdrPur:add")
public R add(@Valid @RequestBody UpdateLngPngSettleHdrDto dto){
UpdateLngPngSettleHdrDto res = dataService.insert(dto);
return R.ok(res.getId());
public R add(@Valid @RequestBody UpdateLngPngSettleHdrPurDto dto){
return R.ok(dataService.insert(dto,new DataOperationListener<UpdateLngPngSettleHdrPurDto>() {
@Override
public UpdateLngPngSettleHdrPurDto before(DataOperationContent<UpdateLngPngSettleHdrPurDto> content) {
return null;
}
@Override
public UpdateLngPngSettleHdrPurDto after(DataOperationContent<UpdateLngPngSettleHdrPurDto> content) {
return null;
}
}));
}
@PutMapping
@ApiOperation(value = "修改LngPngSettleHdr")
@SaCheckPermission("pngSettleHdrPur:edit")
public R update(@Valid @RequestBody UpdateLngPngSettleHdrDto dto){
return R.ok(dataService.updateById(dto));
public R update(@Valid @RequestBody UpdateLngPngSettleHdrPurDto dto){
//return R.ok(dataService.updateById(dto));
return R.ok(dataService.updateById(dto,new DataOperationListener<UpdateLngPngSettleHdrPurDto>() {
@Override
public UpdateLngPngSettleHdrPurDto before(DataOperationContent<UpdateLngPngSettleHdrPurDto> content) {
return null;
}
@Override
public UpdateLngPngSettleHdrPurDto after(DataOperationContent<UpdateLngPngSettleHdrPurDto> content) {
return null;
}
}));
}
@DeleteMapping
@ApiOperation(value = "删除")
@SaCheckPermission("pngSettleHdrPur:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngPngSettleHdrDto.class, ids));
return R.ok(dataService.deleteByIds(UpdateLngPngSettleHdrPurDto.class, ids,new DataOperationListener<UpdateLngPngSettleHdrPurDto>() {
@Override
public UpdateLngPngSettleHdrPurDto before(DataOperationContent<UpdateLngPngSettleHdrPurDto> content) {
return null;
}
@Override
public UpdateLngPngSettleHdrPurDto after(DataOperationContent<UpdateLngPngSettleHdrPurDto> content) {
return null;
}
}));
}

View File

@ -25,12 +25,14 @@ import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import com.xjrsoft.module.dayPlan.dto.LngPngSettleHdrPageDto;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrDto;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleSalesDto;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import com.xjrsoft.module.dayPlan.service.IPngSettleHdrService;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrPageVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrVo;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import io.swagger.annotations.Api;
@ -101,6 +103,14 @@ public class PngSettleHdrSalesController {
@SaCheckPermission("pngSettleHdr:add")
public R add(@Valid @RequestBody UpdateLngPngSettleHdrDto dto){
if(CollectionUtil.isNotEmpty(dto.getLngPngSettleSalesList())) {
for(UpdateLngPngSettleSalesDto temp: dto.getLngPngSettleSalesList()) {
if(temp != null) {
Long times = pngSettleHdrService.countSettleTimes(temp.getSalesId(),temp.getSettleTypeCode());
temp.setSettleTimes((byte) (times+1));
}
}
}
return R.ok(dataService.insert(dto,new DataOperationListener<UpdateLngPngSettleHdrDto>() {

View File

@ -106,6 +106,7 @@ public class LngPngSettlePur implements Serializable {
@ApiModelProperty("合同主键(从lng_png_sales_pur带)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long kpId;
/**
* 合同-国内采购-管道气-上载点主键(从lng_png_sales_pur带)
@ -283,5 +284,9 @@ public class LngPngSettlePur implements Serializable {
@TableField(exist = false)
@EntityMapping(thisField = "id", joinField = "settleId")
private List<LngPngSettlePurDtl> lngPngSettlePurDtlList;
@TableField(exist = false)
private String ksName;
}

View File

@ -242,5 +242,9 @@ public class LngPngSettleSales implements Serializable {
@TableField(exist = false)
@EntityMapping(thisField = "id", joinField = "settleId")
private List<LngPngSettleSalesDtl> lngPngSettleSalesDtlList;
@TableField(exist = false)
private String ksName;
}

View File

@ -1,9 +1,12 @@
package com.xjrsoft.module.dayPlan.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
@ -14,4 +17,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface LngPngSettleHdrMapper extends MPJBaseMapper<LngPngSettleHdr>,BaseMapper<LngPngSettleHdr> {
}

View File

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.dayPlan.entity.LngPngSettlePur;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @title: mapper
@ -14,4 +16,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface LngPngSettlePurMapper extends MPJBaseMapper<LngPngSettlePur> ,BaseMapper<LngPngSettlePur>{
@Select("SELECT k.k_name FROM lng_contract k WHERE k.id = #{id}")
String getKsNameBygId(@Param("id") Long id);
}

View File

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleSales;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @title: mapper
@ -14,4 +16,11 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface LngPngSettleSalesMapper extends MPJBaseMapper<LngPngSettleSales>,BaseMapper<LngPngSettleSales> {
@Select("SELECT k.k_name FROM lng_contract k WHERE k.id = #{id}")
String getKsNameBygId(@Param("id") Long id);
@Select(" SELECT count(ss.id) "+
" FROM lng_png_settle_sales ss "+
" WHERE ss.sales_id = #{salesId} and ss.settle_type_code = #{settleTypeCode}")
Long countSettleTimes(@Param("salesId") Long salesId,@Param("settleTypeCode") String settleTypeCode);
}

View File

@ -22,5 +22,7 @@ public interface IPngSettleHdrService extends MPJBaseService<LngPngSettleHdr>, M
LngPngSettleHdrVo getInfoById(Long id);
void cancel(@Valid List<Long> ids);
Long countSettleTimes(Long salesId, String settleTypeCode);
}

View File

@ -64,10 +64,11 @@ public class PngSettleHdrPurServiceImpl extends MPJBaseServiceImpl<LngPngSettleH
}
if(CollectionUtils.isNotEmpty(lngPngSettleHdr.getLngPngSettlePurList())) {
for(LngPngSettlePur ss:lngPngSettleHdr.getLngPngSettlePurList()) {
for(LngPngSettlePur sp:lngPngSettleHdr.getLngPngSettlePurList()) {
sp.setKsName(lngPngSettlePurMapper.getKsNameBygId(sp.getKsId()));
List<LngPngSettlePurDtl> list = lngPngSettlePurDtlMapper.selectList(new LambdaQueryWrapper<LngPngSettlePurDtl>()
.eq(LngPngSettlePurDtl::getSettleId, ss.getId()));
ss.setLngPngSettlePurDtlList(list);
.eq(LngPngSettlePurDtl::getSettleId, sp.getId()));
sp.setLngPngSettlePurDtlList(list);
}
}
LngPngSettleHdrPurVo vo = BeanUtil.toBean(lngPngSettleHdr, LngPngSettleHdrPurVo.class);
@ -75,7 +76,7 @@ public class PngSettleHdrPurServiceImpl extends MPJBaseServiceImpl<LngPngSettleH
vo.setLngFileUploadList(fileList);
List<LngFileUploadVo> billFileList = fileClient.getTableFiles("lng_png_settle_hdr", "billList", vo.getId());
vo.setLngFileUploadList(billFileList);
vo.setBillList(billFileList);
return vo;
}

View File

@ -64,6 +64,7 @@ public class PngSettleHdrServiceImpl extends MPJBaseServiceImpl<LngPngSettleHdrM
if(CollectionUtils.isNotEmpty(lngPngSettleHdr.getLngPngSettleSalesList())) {
for(LngPngSettleSales ss:lngPngSettleHdr.getLngPngSettleSalesList()) {
ss.setKsName(lngPngSettleSalesMapper.getKsNameBygId(ss.getKsId()));
List<LngPngSettleSalesDtl> list = lngPngSettleSalesDtlMapper.selectList(new LambdaQueryWrapper<LngPngSettleSalesDtl>()
.eq(LngPngSettleSalesDtl::getSettleId, ss.getId()));
ss.setLngPngSettleSalesDtlList(list);
@ -74,7 +75,7 @@ public class PngSettleHdrServiceImpl extends MPJBaseServiceImpl<LngPngSettleHdrM
vo.setLngFileUploadList(fileList);
List<LngFileUploadVo> billFileList = fileClient.getTableFiles("lng_png_settle_hdr", "billList", vo.getId());
vo.setLngFileUploadList(billFileList);
vo.setBillList(billFileList);
return vo;
}
@ -87,12 +88,7 @@ public class PngSettleHdrServiceImpl extends MPJBaseServiceImpl<LngPngSettleHdrM
throw new BusinessException(BusinessCode.of(10500,"找不到此数据!"));
}
/**
if(!ApproveCodeEnum.WTJ.getCode().equals(lngPngDemand.getApproCode()) &&
!ApproveCodeEnum.YBH.getCode().equals(lngPngDemand.getApproCode()) ) {
throw new BusinessException(BusinessCode.of(10500,"审批状态变化,不能提交"));
}
**/
lngPngSettleHdr.setApproCode(ApproveCodeEnum.WTJ.getCode());
tempList.add(BeanUtil.copyProperties(lngPngSettleHdr,UpdateLngPngSettleHdrDto.class));
@ -123,6 +119,12 @@ public class PngSettleHdrServiceImpl extends MPJBaseServiceImpl<LngPngSettleHdrM
});
}
@Override
public Long countSettleTimes(Long salesId,String settleTypeCode) {
return lngPngSettleSalesMapper.countSettleTimes(salesId, settleTypeCode);
}
}