This commit is contained in:
张秉卓
2026-02-11 17:30:26 +08:00
33 changed files with 2830 additions and 72 deletions

View File

@ -25,7 +25,6 @@ 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.pictc.datalog.DefaultDataOperationListener;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
@ -35,7 +34,6 @@ import com.xjrsoft.common.utils.VoToColumnUtil;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import com.xjrsoft.module.dayPlan.dto.LngPngMeasureSalesPurPageDto;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngDemandDto;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngMeasureSalesPurDto;
import com.xjrsoft.module.dayPlan.entity.LngPngMeasureSalesPur;
import com.xjrsoft.module.dayPlan.service.IPngMeasureSalesPurService;
@ -204,7 +202,7 @@ public class PngMeasureSalesPurController {
@DeleteMapping
@ApiOperation(value = "删除")
//@SaCheckPermission("pngMeasureSalesPur:delete")
@SaCheckPermission("pngMeasureSalesPur:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngPngMeasureSalesPurDto.class, ids));

View File

@ -0,0 +1,160 @@
package com.xjrsoft.module.dayPlan.controller;
import java.util.List;
import javax.validation.Valid;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
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;
import com.xjrsoft.common.utils.VoToColumnUtil;
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;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrPageVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrPurVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrVo;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
/**
* @title: 管道气采购结算
* @Author 管理员
* @Date: 2026-02-09
* @Version 1.0
*/
@RestController
@RequestMapping("/dayPlan/pngSettleHdrPur")
@Api(value = "/dayPlan" + "/pngSettleHdrPur",tags = "管道气采购结算代码")
@AllArgsConstructor
public class PngSettleHdrPurController {
private final IPngSettleHdrPurService pngSettleHdrPurService;
private final DatalogService dataService;
@GetMapping(value = "/page")
@ApiOperation(value="LngPngSettleHdr列表(分页)")
@SaCheckPermission("pngSettleHdrPur:list")
public R page(@Valid LngPngSettleHdrPageDto dto){
LambdaQueryWrapper<LngPngSettleHdrPur> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.eq(ObjectUtil.isNotNull(dto.getId()),LngPngSettleHdrPur::getId,dto.getId())
.like(StrUtil.isNotBlank(dto.getCpCode()),LngPngSettleHdrPur::getCpCode,dto.getCpCode())
.like(StrUtil.isNotBlank(dto.getApproCode()),LngPngSettleHdrPur::getApproCode,dto.getApproCode())
.orderByDesc(LngPngSettleHdrPur::getId);
IPage<LngPngSettleHdrPur> page = pngSettleHdrPurService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngPngSettleHdrPageVo> pageOutput = ConventPage.getPageOutput(page, LngPngSettleHdrPageVo.class);
return R.ok(pageOutput);
}
@GetMapping(value = "/info")
@ApiOperation(value="根据id查询LngPngSettleHdr信息")
@SaCheckPermission("pngSettleHdrPur:detail")
public R info(@RequestParam Long id){
LngPngSettleHdrPurVo lngPngSettleHdrVo = pngSettleHdrPurService.getInfoById(id);
return R.ok(lngPngSettleHdrVo);
}
@GetMapping(value = "/datalog")
@ApiOperation(value="根据id查询LngPngSettleHdr数据详细日志")
@SaCheckPermission("pngSettleHdrPur:datalog")
public R datalog(@RequestParam Long id){
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngPngSettleHdrDto.class,id);
return R.ok(logs);
}
@PostMapping
@ApiOperation(value = "新增LngPngSettleHdr")
@SaCheckPermission("pngSettleHdrPur:add")
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 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(UpdateLngPngSettleHdrPurDto.class, ids,new DataOperationListener<UpdateLngPngSettleHdrPurDto>() {
@Override
public UpdateLngPngSettleHdrPurDto before(DataOperationContent<UpdateLngPngSettleHdrPurDto> content) {
return null;
}
@Override
public UpdateLngPngSettleHdrPurDto after(DataOperationContent<UpdateLngPngSettleHdrPurDto> content) {
return null;
}
}));
}
@PostMapping(value="/cancel")
@ApiOperation(value = "取消结算")
@SaCheckPermission("pngSettleHdrPur:cancel")
public R cancel(@Valid @RequestBody List<Long> ids){
pngSettleHdrPurService.cancel(ids);
return R.ok();
}
}

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,13 +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.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import io.swagger.annotations.Api;
@ -46,7 +49,7 @@ import lombok.AllArgsConstructor;
@RequestMapping("/dayPlan/pngSettleHdr")
@Api(value = "/dayPlan" + "/pngSettleHdr",tags = "管道气销售结算代码")
@AllArgsConstructor
public class PngSettleHdrController {
public class PngSettleHdrSalesController {
private final IPngSettleHdrService pngSettleHdrService;
@ -82,11 +85,8 @@ public class PngSettleHdrController {
@ApiOperation(value="根据id查询LngPngSettleHdr信息")
@SaCheckPermission("pngSettleHdr:detail")
public R info(@RequestParam Long id){
LngPngSettleHdr lngPngSettleHdr = pngSettleHdrService.getByIdDeep(id);
if (lngPngSettleHdr == null) {
return R.error("找不到此数据!");
}
return R.ok(BeanUtil.toBean(lngPngSettleHdr, LngPngSettleHdrVo.class));
LngPngSettleHdrVo lngPngSettleHdrVo = pngSettleHdrService.getInfoById(id);
return R.ok(lngPngSettleHdrVo);
}
@GetMapping(value = "/datalog")
@ -102,24 +102,80 @@ public class PngSettleHdrController {
@ApiOperation(value = "新增LngPngSettleHdr")
@SaCheckPermission("pngSettleHdr:add")
public R add(@Valid @RequestBody UpdateLngPngSettleHdrDto dto){
UpdateLngPngSettleHdrDto res = dataService.insert(dto);
return R.ok(res.getId());
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>() {
@Override
public UpdateLngPngSettleHdrDto before(DataOperationContent<UpdateLngPngSettleHdrDto> content) {
return null;
}
@Override
public UpdateLngPngSettleHdrDto after(DataOperationContent<UpdateLngPngSettleHdrDto> content) {
return null;
}
}));
}
@PutMapping
@ApiOperation(value = "修改LngPngSettleHdr")
@SaCheckPermission("pngSettleHdr:edit")
public R update(@Valid @RequestBody UpdateLngPngSettleHdrDto dto){
return R.ok(dataService.updateById(dto));
return R.ok(dataService.updateById(dto,new DataOperationListener<UpdateLngPngSettleHdrDto>() {
@Override
public UpdateLngPngSettleHdrDto before(DataOperationContent<UpdateLngPngSettleHdrDto> content) {
return null;
}
@Override
public UpdateLngPngSettleHdrDto after(DataOperationContent<UpdateLngPngSettleHdrDto> content) {
return null;
}
}));
}
@DeleteMapping
@ApiOperation(value = "删除")
@SaCheckPermission("pngSettleHdr:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngPngSettleHdrDto.class, ids));
return R.ok(dataService.deleteByIds(UpdateLngPngSettleHdrDto.class, ids,new DataOperationListener<UpdateLngPngSettleHdrDto>() {
@Override
public UpdateLngPngSettleHdrDto before(DataOperationContent<UpdateLngPngSettleHdrDto> content) {
return null;
}
@Override
public UpdateLngPngSettleHdrDto after(DataOperationContent<UpdateLngPngSettleHdrDto> content) {
return null;
}
}));
}
@PostMapping(value="/cancel")
@ApiOperation(value = "取消结算")
@SaCheckPermission("pngSettleHdr:cancel")
public R cancel(@Valid @RequestBody List<Long> ids){
pngSettleHdrService.cancel(ids);
return R.ok();
}
}

View File

@ -0,0 +1,191 @@
package com.xjrsoft.module.dayPlan.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.yulichang.annotation.EntityMapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @title: 管道气采购结算
* @Author 管理员
* @Date: 2026-02-09
* @Version 1.0
*/
@Data
@TableName("lng_png_settle_hdr")
@ApiModel(value = "管道气采购结算对象", description = "管道气采购结算")
public class LngPngSettleHdrPur implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long id;
/**
* 结算月
*/
@ApiModelProperty("结算月")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime settleMonth;
/**
* 结算月开始日期
*/
@ApiModelProperty("结算月开始日期")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateFrom;
/**
* 结算月结束日期
*/
@ApiModelProperty("结算月结束日期")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateTo;
/**
* 结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)
*/
@ApiModelProperty("结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)")
private String settleTypeCode;
/**
* 供应商/客户(根据结算类型关联供应商/客户)
*/
@ApiModelProperty("供应商/客户(根据结算类型关联供应商/客户)")
private String cpCode;
/**
* 交易主体(天然气公司/惠贸)
*/
@ApiModelProperty("交易主体(天然气公司/惠贸)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long comId;
/**
* 结算总数量(吉焦)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(吉焦)(不包含二次结算的数量)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtySettleGj;
/**
* 结算总数量(方)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(方)(不包含二次结算的数量)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtySettleM3;
/**
* 结算总金额
*/
@ApiModelProperty("结算总金额")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amount;
/**
* 账期内含预收付款(Y-是N-否正常结算Y特殊结算N)
*/
@ApiModelProperty("账期内含预收付款(Y-是N-否正常结算Y特殊结算N)")
private String rpSign;
/**
* 对账单(不显示,挂对账单附件用)
*/
@ApiModelProperty("对账单(不显示,挂对账单附件用)")
private String billAccount;
/**
* 审批状态
*/
@ApiModelProperty("审批状态")
private String approCode;
/**
* 结算说明
*/
@ApiModelProperty("结算说明")
private String settleDesc;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
@TableField(fill = FieldFill.UPDATE, updateStrategy = FieldStrategy.IGNORED)
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
@TableField(fill = FieldFill.UPDATE, updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private Long ruleUserId;
/**
* lngPngSettlePur
*/
@ApiModelProperty("lngPngSettlePur子表")
@TableField(exist = false)
@EntityMapping(thisField = "id", joinField = "settleHdrId")
private List<LngPngSettlePur> lngPngSettlePurList;
}

View File

@ -0,0 +1,292 @@
package com.xjrsoft.module.dayPlan.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.Version;
import com.github.yulichang.annotation.EntityMapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
/**
* @title: 管道气采购结算
* @Author 管理员
* @Date: 2026-02-09
* @Version 1.0
*/
@Data
@TableName("lng_png_settle_pur")
@ApiModel(value = "管道气采购结算对象", description = "管道气采购结算")
public class LngPngSettlePur implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long id;
/**
* 结算-管道气-销售-主表主键
*/
@ApiModelProperty("结算-管道气-销售-主表主键")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long settleHdrId;
/**
* 日计划-管道气-销售主键(lng_png_sales.id)
*/
@ApiModelProperty("日计划-管道气-销售主键(lng_png_sales.id)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long salesId;
/**
* 日计划-管道气-销售-采购主键(lng_png_sales_pur.id)
*/
@ApiModelProperty("日计划-管道气-销售-采购主键(lng_png_sales_pur.id)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long salesPurId;
/**
* 计量-管道气-销售-采购主键(lng_png_measure_sales_pur.id)
*/
@ApiModelProperty("计量-管道气-销售-采购主键(lng_png_measure_sales_pur.id)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long meaId;
/**
* 结算月
*/
@ApiModelProperty("结算月")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime settleMonth;
/**
* 结算类型(C-气费成本)
*/
@ApiModelProperty("结算类型(C-气费成本)")
private String settleTypeCode;
/**
* 计划日期(从lng_png_sales_pur带)
*/
@ApiModelProperty("计划日期(从lng_png_sales_pur带)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime datePlan;
/**
* 计量日期(从lng_png_sales_pur带)
*/
@ApiModelProperty("计量日期(从lng_png_sales_pur带)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateMea;
/**
* 供应商(从lng_png_sales_pur带)
*/
@ApiModelProperty("供应商(从lng_png_sales_pur带)")
private String suCode;
/**
* 合同主键(从lng_png_sales_pur带)
*/
@ApiModelProperty("合同主键(从lng_png_sales_pur带)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long kpId;
/**
* 合同-国内采购-管道气-上载点主键(从lng_png_sales_pur带)
*/
@ApiModelProperty("合同-国内采购-管道气-上载点主键(从lng_png_sales_pur带)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long kpppId;
/**
* 上载点(从lng_png_sales_pur带)
*/
@ApiModelProperty("上载点(从lng_png_sales_pur带)")
private String pointUpCode;
/**
* 主计量单位(从lng_png_sales_pur带)
*/
@ApiModelProperty("主计量单位(从lng_png_sales_pur带)")
private String uomCode;
/**
* 客户(从lng_png_sales带)
*/
@ApiModelProperty("客户(从lng_png_sales带)")
private String cuCode;
/**
* 合同-主信息主键(销售)(从lng_png_sales带)
*/
@ApiModelProperty("合同-主信息主键(销售)(从lng_png_sales带)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long ksId;
/**
* 合同-国内销售-管道气-交割点主键(从lng_png_sales带)
*/
@ApiModelProperty("合同-国内销售-管道气-交割点主键(从lng_png_sales带)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long ksppId;
/**
* 交割点编码(从lng_png_sales带)
*/
@ApiModelProperty("交割点编码(从lng_png_sales带)")
private String pointDelyCode;
/**
* 比值(方/吉焦)
*/
@ApiModelProperty("比值(方/吉焦)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal rateM3Gj;
/**
* 完成量(吉焦)
*/
@ApiModelProperty("完成量(吉焦)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyMeaGj;
/**
* 完成量(方)
*/
@ApiModelProperty("完成量(方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyMeaM3;
/**
* 结算量(吉焦)
*/
@ApiModelProperty("结算量(吉焦)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtySettleGj;
/**
* 结算量(方)
*/
@ApiModelProperty("结算量(方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtySettleM3;
/**
* 结算价格(元/吉焦)(气费收入/成本时,金额/总量;非气费收入/成本时录入管输费8位小数其他4位)
*/
@ApiModelProperty("结算价格(元/吉焦)(气费收入/成本时,金额/总量;非气费收入/成本时录入管输费8位小数其他4位)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal priceGj;
/**
* 结算价格(元/方)(气费收入/成本时,金额/总量;非气费收入/成本时录入管输费8位小数其他4位)
*/
@ApiModelProperty("结算价格(元/方)(气费收入/成本时,金额/总量;非气费收入/成本时录入管输费8位小数其他4位)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal priceM3;
/**
* 结算金额(自动计算,子表合计)
*/
@ApiModelProperty("结算金额(自动计算,子表合计)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amount;
/**
* 价格组成说明(子表记录合并字符串;价格类型:数量*价格=金额居民10000*2.85=28500)
*/
@ApiModelProperty("价格组成说明(子表记录合并字符串;价格类型:数量*价格=金额居民10000*2.85=28500)")
private String priceDesc;
/**
* 结算次数(第一次结算1第二次结算2……)
*/
@ApiModelProperty("结算次数(第一次结算1第二次结算2……)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Byte settleTimes;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
@TableField(fill = FieldFill.UPDATE, updateStrategy = FieldStrategy.IGNORED)
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
@TableField(fill = FieldFill.UPDATE, updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private Long ruleUserId;
/**
* lngPngSettlePurDtl
*/
@ApiModelProperty("lngPngSettlePurDtl子表")
@TableField(exist = false)
@EntityMapping(thisField = "id", joinField = "settleId")
private List<LngPngSettlePurDtl> lngPngSettlePurDtlList;
@TableField(exist = false)
private String ksName;
}

View File

@ -0,0 +1,174 @@
package com.xjrsoft.module.dayPlan.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.Version;
import com.github.yulichang.annotation.EntityMapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
/**
* @title: 管道气采购结算
* @Author 管理员
* @Date: 2026-02-09
* @Version 1.0
*/
@Data
@TableName("lng_png_settle_pur_dtl")
@ApiModel(value = "管道气采购结算对象", description = "管道气采购结算")
public class LngPngSettlePurDtl implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long id;
/**
* 结算-管道气-采购主键
*/
@ApiModelProperty("结算-管道气-采购主键")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long settleId;
/**
* 价格类型(基础量/增量)
*/
@ApiModelProperty("价格类型(基础量/增量)")
private String priceCode;
/**
* 优先级
*/
@ApiModelProperty("优先级")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Byte sort;
/**
* 主计量单位(从lng_png_settle_pur带)
*/
@ApiModelProperty("主计量单位(从lng_png_settle_pur带)")
private String uomCode;
/**
* 阶梯量(吉焦)
*/
@ApiModelProperty("阶梯量(吉焦)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal rateQtyGj;
/**
* 阶梯量(方)
*/
@ApiModelProperty("阶梯量(方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal rateQtyM3;
/**
* 比值(方/吉焦)
*/
@ApiModelProperty("比值(方/吉焦)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal rateM3Gj;
/**
* 结算数量(吉焦)
*/
@ApiModelProperty("结算数量(吉焦)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtySettleGj;
/**
* 结算数量(方)
*/
@ApiModelProperty("结算数量(方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtySettleM3;
/**
* 价格(元/方)
*/
@ApiModelProperty("价格(元/方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal priceM3;
/**
* 金额(自动计算)
*/
@ApiModelProperty("金额(自动计算)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amount;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
@TableField(fill = FieldFill.UPDATE, updateStrategy = FieldStrategy.IGNORED)
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
@TableField(fill = FieldFill.UPDATE, updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
@TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
private Long ruleUserId;
}

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
@ -12,6 +15,8 @@ import org.apache.ibatis.annotations.Mapper;
* @Version 1.0
*/
@Mapper
public interface LngPngSettleHdrMapper extends MPJBaseMapper<LngPngSettleHdr> {
public interface LngPngSettleHdrMapper extends MPJBaseMapper<LngPngSettleHdr>,BaseMapper<LngPngSettleHdr> {
}

View File

@ -0,0 +1,19 @@
package com.xjrsoft.module.dayPlan.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrPur;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-02-09
* @Version 1.0
*/
@Mapper
public interface LngPngSettleHdrPurMapper extends MPJBaseMapper<LngPngSettleHdrPur>,BaseMapper<LngPngSettleHdrPur> {
}

View File

@ -0,0 +1,33 @@
package com.xjrsoft.module.dayPlan.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.dayPlan.entity.LngPngSettlePurDtl;
import com.xjrsoft.module.dayPlan.vo.LngPngSettlePurDtlVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleSalesDtlVo;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-02-09
* @Version 1.0
*/
@Mapper
public interface LngPngSettlePurDtlMapper extends MPJBaseMapper<LngPngSettlePurDtl>,BaseMapper<LngPngSettlePurDtl> {
@Select("SELECT spd.*, dd_a.name AS uom_name,dd_b.name as price_name" +
" FROM lng_png_settle_pur_dtl spd" +
" LEFT JOIN xjr_dictionary_item di_a on di_a.code='LNG_UOM'" +
" LEFT JOIN xjr_dictionary_detail dd_a on dd_a.item_id=di_a.id AND dd_a.code=spd.uom_code" +
" LEFT JOIN xjr_dictionary_item di_b on di_b.code='LNG_BASE'" +
" LEFT JOIN xjr_dictionary_detail dd_b on dd_b.item_id=di_b.id AND dd_b.code=spd.price_code" +
" WHERE spd.settle_id = #{id}" +
" ORDER BY spd.sort")
List<LngPngSettlePurDtlVo> queryDtlList(@Param("id")Long id);
}

View File

@ -0,0 +1,21 @@
package com.xjrsoft.module.dayPlan.mapper;
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
* @Author 管理员
* @Date: 2026-02-09
* @Version 1.0
*/
@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

@ -3,7 +3,14 @@ package com.xjrsoft.module.dayPlan.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleSalesDtl;
import com.xjrsoft.module.dayPlan.vo.LngPngDemandPurVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleSalesDtlVo;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @title: mapper
@ -12,6 +19,15 @@ import org.apache.ibatis.annotations.Mapper;
* @Version 1.0
*/
@Mapper
public interface LngPngSettleSalesDtlMapper extends MPJBaseMapper<LngPngSettleSalesDtl> {
public interface LngPngSettleSalesDtlMapper extends MPJBaseMapper<LngPngSettleSalesDtl>,BaseMapper<LngPngSettleSalesDtl> {
@Select("SELECT ssd.*, dd_a.name AS uom_name,dd_b.name as price_name" +
" FROM lng_png_settle_sales_dtl ssd" +
" LEFT JOIN xjr_dictionary_item di_a on di_a.code='LNG_UOM'" +
" LEFT JOIN xjr_dictionary_detail dd_a on dd_a.item_id=di_a.id AND dd_a.code=ssd.uom_code" +
" LEFT JOIN xjr_dictionary_item di_b on di_b.code='LNG_BASE'" +
" LEFT JOIN xjr_dictionary_detail dd_b on dd_b.item_id=di_b.id AND dd_b.code=ssd.price_code" +
" WHERE ssd.settle_id = #{id}" +
" ORDER BY ssd.sort")
List<LngPngSettleSalesDtlVo> queryDtlList(@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
@ -12,6 +14,13 @@ import org.apache.ibatis.annotations.Mapper;
* @Version 1.0
*/
@Mapper
public interface LngPngSettleSalesMapper extends MPJBaseMapper<LngPngSettleSales> {
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

@ -0,0 +1,27 @@
package com.xjrsoft.module.dayPlan.service;
import java.util.List;
import javax.validation.Valid;
import com.github.yulichang.base.MPJBaseService;
import com.github.yulichang.extension.mapping.base.MPJDeepService;
import com.github.yulichang.extension.mapping.base.MPJRelationService;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrPur;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrPurVo;
/**
* @title: service
* @Author 管理员
* @Date: 2026-02-09
* @Version 1.0
*/
public interface IPngSettleHdrPurService extends MPJBaseService<LngPngSettleHdrPur>, MPJDeepService<LngPngSettleHdrPur>, MPJRelationService<LngPngSettleHdrPur> {
LngPngSettleHdrPurVo getInfoById(Long id);
void cancel(@Valid List<Long> ids);
}

View File

@ -1,9 +1,14 @@
package com.xjrsoft.module.dayPlan.service;
import java.util.List;
import javax.validation.Valid;
import com.github.yulichang.base.MPJBaseService;
import com.github.yulichang.extension.mapping.base.MPJDeepService;
import com.github.yulichang.extension.mapping.base.MPJRelationService;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrVo;
/**
* @title: service
@ -13,5 +18,11 @@ import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
*/
public interface IPngSettleHdrService extends MPJBaseService<LngPngSettleHdr>, MPJDeepService<LngPngSettleHdr>, MPJRelationService<LngPngSettleHdr> {
LngPngSettleHdrVo getInfoById(Long id);
void cancel(@Valid List<Long> ids);
Long countSettleTimes(Long salesId, String settleTypeCode);
}

View File

@ -22,7 +22,6 @@ import com.pictc.utils.DataLogTools;
import com.pictc.utils.ObjectDiffUtils;
import com.pictc.utils.StringUtils;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.CompareResultVo;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngApproDto;
@ -32,7 +31,6 @@ import com.xjrsoft.module.dayPlan.entity.LngPngAppro;
import com.xjrsoft.module.dayPlan.entity.LngPngDemand;
import com.xjrsoft.module.dayPlan.mapper.LngPngApproMapper;
import com.xjrsoft.module.dayPlan.mapper.LngPngDemandMapper;
import com.xjrsoft.module.dayPlan.mapper.LngPngDemandPurMapper;
import com.xjrsoft.module.dayPlan.service.IDemandService;
import com.xjrsoft.module.dayPlan.vo.LngPngDemandPurVo;
import com.xjrsoft.module.dayPlan.vo.LngPngDemandVo;
@ -205,7 +203,7 @@ public class DemandServiceImpl extends MPJBaseServiceImpl<LngPngDemandMapper, Ln
public void submit(@Valid List<Long> ids) {
List<UpdateLngPngDemandDto> tempList = Lists.newArrayList();
for(Long id:ids) {
LngPngDemand lngPngDemand = this.getByIdDeep(id);
LngPngDemandVo lngPngDemand = this.getInfoById(id);
if (lngPngDemand == null) {
throw new BusinessException(BusinessCode.of(10500,"找不到此数据!"));
@ -360,7 +358,7 @@ public class DemandServiceImpl extends MPJBaseServiceImpl<LngPngDemandMapper, Ln
@Override
public void update(@Valid UpdateLngPngDemandDto dto) {
LngPngDemand lngPngDemand = this.getByIdDeep(dto.getId());
LngPngDemand lngPngDemand = this.getById(dto.getId());
if (lngPngDemand == null) {
throw new BusinessException(BusinessCode.of(10500,"找不到此数据!"));
}

View File

@ -0,0 +1,127 @@
package com.xjrsoft.module.dayPlan.service.impl;
import java.util.List;
import javax.validation.Valid;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
import com.pictc.enums.ApproveCodeEnum;
import com.pictc.enums.BusinessCode;
import com.pictc.enums.ExceptionCommonCode;
import com.pictc.jdbc.JdbcTools;
import com.pictc.jdbc.model.JdbcParam;
import com.pictc.utils.CollectionUtils;
import com.pictc.utils.StringUtils;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrPurDto;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrPur;
import com.xjrsoft.module.dayPlan.entity.LngPngSettlePur;
import com.xjrsoft.module.dayPlan.entity.LngPngSettlePurDtl;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleHdrPurMapper;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettlePurDtlMapper;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettlePurMapper;
import com.xjrsoft.module.dayPlan.service.IPngSettleHdrPurService;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrPurVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettlePurDtlVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettlePurVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import cn.hutool.core.bean.BeanUtil;
import lombok.AllArgsConstructor;
import shade.powerjob.com.google.common.collect.Lists;
/**
* @title: service
* @Author 管理员
* @Date: 2026-02-09
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class PngSettleHdrPurServiceImpl extends MPJBaseServiceImpl<LngPngSettleHdrPurMapper, LngPngSettleHdrPur> implements IPngSettleHdrPurService {
private final LngPngSettleHdrPurMapper lngPngSettleHdrPurMapper;
private final LngPngSettlePurMapper lngPngSettlePurMapper;
private final LngPngSettlePurDtlMapper lngPngSettlePurDtlMapper;
private final IFileClient fileClient;
private final DatalogService dataService;
@Override
public LngPngSettleHdrPurVo getInfoById(Long id) {
LngPngSettleHdrPur lngPngSettleHdr = this.getByIdDeep(id);
if(lngPngSettleHdr == null) {
return null;
}
LngPngSettleHdrPurVo vo = BeanUtil.toBean(lngPngSettleHdr, LngPngSettleHdrPurVo.class);
if(CollectionUtils.isNotEmpty(vo.getLngPngSettlePurList())) {
for(LngPngSettlePurVo sp:vo.getLngPngSettlePurList()) {
sp.setKsName(lngPngSettlePurMapper.getKsNameBygId(sp.getKsId()));
List<LngPngSettlePurDtlVo> list = lngPngSettlePurDtlMapper.queryDtlList(sp.getId());
sp.setLngPngSettlePurDtlList(list);
}
}
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_png_settle_hdr", "lngFileUploadList", vo.getId());
vo.setLngFileUploadList(fileList);
List<LngFileUploadVo> billFileList = fileClient.getTableFiles("lng_png_settle_hdr", "billList", vo.getId());
vo.setBillList(billFileList);
return vo;
}
@Override
public void cancel(@Valid List<Long> ids) {
List<LngPngSettleHdrPur> tempList = Lists.newArrayList();
for(Long id:ids) {
LngPngSettleHdrPur lngPngSettleHdr = this.getById(id);
if (lngPngSettleHdr == null) {
throw new BusinessException(BusinessCode.of(10500,"找不到此数据!"));
}
lngPngSettleHdr.setApproCode(ApproveCodeEnum.WTJ.getCode());
tempList.add(lngPngSettleHdr);
}
dataService.updateBatch(tempList,new DataOperationListener<LngPngSettleHdrPur>() {
@Override
public LngPngSettleHdrPur before(DataOperationContent<LngPngSettleHdrPur> content) {
return null;
}
@Override
public LngPngSettleHdrPur after(DataOperationContent<LngPngSettleHdrPur> content) {
String sql = StringUtils.format("{? = call pc_lng_png_settle.f_submit_x(?)}",
content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
JdbcTools.call(sql,params);
String error = outParam.getStringValue();
if (StringUtils.isNotEmpty(error)) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error));
}
return content.getObj();
}
});
}
}

View File

@ -1,21 +1,41 @@
package com.xjrsoft.module.dayPlan.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleSales;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleSalesMapper;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleSalesDtl;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleSalesDtlMapper;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleHdrMapper;
import com.xjrsoft.module.dayPlan.service.IPngSettleHdrService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import javax.validation.Valid;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
import com.pictc.enums.ApproveCodeEnum;
import com.pictc.enums.BusinessCode;
import com.pictc.enums.ExceptionCommonCode;
import com.pictc.jdbc.JdbcTools;
import com.pictc.jdbc.model.JdbcParam;
import com.pictc.utils.CollectionUtils;
import com.pictc.utils.StringUtils;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrDto;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleSales;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleSalesDtl;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleHdrMapper;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleSalesDtlMapper;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleSalesMapper;
import com.xjrsoft.module.dayPlan.service.IPngSettleHdrService;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleSalesDtlVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleSalesVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import cn.hutool.core.bean.BeanUtil;
import lombok.AllArgsConstructor;
import shade.powerjob.com.google.common.collect.Lists;
/**
* @title: service
@ -26,10 +46,87 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@Service
@AllArgsConstructor
public class PngSettleHdrServiceImpl extends MPJBaseServiceImpl<LngPngSettleHdrMapper, LngPngSettleHdr> implements IPngSettleHdrService {
private final LngPngSettleHdrMapper pngSettleHdrLngPngSettleHdrMapper;
private final LngPngSettleHdrMapper lngPngSettleHdrMapper;
private final LngPngSettleSalesMapper pngSettleHdrLngPngSettleSalesMapper;
private final LngPngSettleSalesDtlMapper pngSettleHdrLngPngSettleSalesDtlMapper;
private final LngPngSettleSalesMapper lngPngSettleSalesMapper;
private final LngPngSettleSalesDtlMapper lngPngSettleSalesDtlMapper;
private final IFileClient fileClient;
private final DatalogService dataService;
@Override
public LngPngSettleHdrVo getInfoById(Long id) {
LngPngSettleHdr lngPngSettleHdr = this.getByIdDeep(id);
if(lngPngSettleHdr == null) {
return null;
}
LngPngSettleHdrVo vo = BeanUtil.toBean(lngPngSettleHdr, LngPngSettleHdrVo.class);
if(CollectionUtils.isNotEmpty(vo.getLngPngSettleSalesList())) {
for(LngPngSettleSalesVo ss:vo.getLngPngSettleSalesList()) {
ss.setKsName(lngPngSettleSalesMapper.getKsNameBygId(ss.getKsId()));
List<LngPngSettleSalesDtlVo> list = lngPngSettleSalesDtlMapper.queryDtlList(ss.getId());
ss.setLngPngSettleSalesDtlList(list);
}
}
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_png_settle_hdr", "lngFileUploadList", vo.getId());
vo.setLngFileUploadList(fileList);
List<LngFileUploadVo> billFileList = fileClient.getTableFiles("lng_png_settle_hdr", "billList", vo.getId());
vo.setBillList(billFileList);
return vo;
}
@Override
public void cancel(@Valid List<Long> ids) {
List<LngPngSettleHdr> tempList = Lists.newArrayList();
for(Long id:ids) {
LngPngSettleHdr lngPngSettleHdr = this.getById(id);
if (lngPngSettleHdr == null) {
throw new BusinessException(BusinessCode.of(10500,"找不到此数据!"));
}
lngPngSettleHdr.setApproCode(ApproveCodeEnum.WTJ.getCode());
tempList.add(lngPngSettleHdr);
}
dataService.updateBatch(tempList,new DataOperationListener<LngPngSettleHdr>() {
@Override
public LngPngSettleHdr before(DataOperationContent<LngPngSettleHdr> content) {
return null;
}
@Override
public LngPngSettleHdr after(DataOperationContent<LngPngSettleHdr> content) {
String sql = StringUtils.format("{? = call pc_lng_png_settle.f_submit_x(?)}",
content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
JdbcTools.call(sql,params);
String error = outParam.getStringValue();
if (StringUtils.isNotEmpty(error)) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error));
}
return content.getObj();
}
});
}
@Override
public Long countSettleTimes(Long salesId,String settleTypeCode) {
return lngPngSettleSalesMapper.countSettleTimes(salesId, settleTypeCode);
}
}