This commit is contained in:
张秉卓
2026-03-05 18:09:46 +08:00
51 changed files with 7661 additions and 29 deletions

View File

@ -24,12 +24,11 @@ import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import com.xjrsoft.module.mdm.dto.LngBDocCpPageDto;
import com.xjrsoft.module.mdm.dto.UpdateLngBDocCpDto;
import com.xjrsoft.module.mdm.entity.LngBCurrency;
import com.xjrsoft.module.mdm.entity.LngBDocCp;
import com.xjrsoft.module.mdm.entity.LngBRegion;
import com.xjrsoft.module.mdm.service.IDocCpService;
import com.xjrsoft.module.mdm.vo.LngBDocCpPageVo;
import com.xjrsoft.module.mdm.vo.LngBDocCpVo;
import com.xjrsoft.module.mdm.vo.LngBRegionVo;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanUtil;
@ -132,11 +131,25 @@ public class DocCpController {
LambdaQueryWrapper<LngBDocCp> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.like(StrUtil.isNotBlank(dto.getFullName()), LngBDocCp::getFullName, dto.getFullName())
.eq(StrUtil.isNotBlank(dto.getValid()), LngBDocCp::getValid, dto.getValid())
.eq(StrUtil.isNotBlank(dto.getSuSign()), LngBDocCp::getSuSign, dto.getSuSign())
.eq(StrUtil.isNotBlank(dto.getCuSign()), LngBDocCp::getCuSign, dto.getCuSign())
.orderByDesc(LngBDocCp::getCode);
.like(StrUtil.isNotBlank(dto.getFullName()), LngBDocCp::getFullName, dto.getFullName());
if (StrUtil.isNotBlank(dto.getDocTypeCode())) {
queryWrapper.and(wrapper -> {
// 构建 (valid AND suSign) 的交集
wrapper.eq(StrUtil.isNotBlank(dto.getValid()),LngBDocCp::getValid, dto.getValid())
.eq(StrUtil.isNotBlank(dto.getCuSign()),LngBDocCp::getCuSign, dto.getCuSign())
.eq(StrUtil.isNotBlank(dto.getSuSign()),LngBDocCp::getSuSign, dto.getSuSign())
.or(w -> w.eq(LngBDocCp::getCode, dto.getDocTypeCode()));
});
}else {
queryWrapper.eq(StrUtil.isNotBlank(dto.getValid()),LngBDocCp::getValid, dto.getValid())
.eq(StrUtil.isNotBlank(dto.getCuSign()),LngBDocCp::getCuSign, dto.getCuSign())
.eq(StrUtil.isNotBlank(dto.getSuSign()),LngBDocCp::getSuSign, dto.getSuSign());
}
queryWrapper.orderByDesc(LngBDocCp::getCode);
List<LngBDocCpVo> voList = CollectionUtils.newArrayList();
List<LngBDocCp> docList = docCpService.list(queryWrapper);
if(docList != null && docList.size() > 0) {

View File

@ -2,8 +2,15 @@ package com.xjrsoft.module.sales.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.dayPlan.vo.LngPngSettlePurVo;
import com.xjrsoft.module.sales.entity.LngCustomerDoc;
import com.xjrsoft.module.sales.vo.LngCustomerDocVo;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @title: mapper
@ -14,4 +21,10 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface LngCustomerDocMapper extends MPJBaseMapper<LngCustomerDoc>,BaseMapper<LngCustomerDoc> {
@Select("SELECT a.*, cu.cu_sname,doc.full_name as doc_type_name" +
" FROM lng_customer_doc a" +
" LEFT JOIN lng_customer cu ON cu.cu_code=a.cu_code" +
" LEFT JOIN lng_b_doc_cp doc ON doc.code=a.doc_type_code"+
" WHERE a.cu_code = #{cuCode} order by a.sort")
List<LngCustomerDocVo> queryLngCustomerDocList(@Param("cuCode")String cuCode);
}

View File

@ -86,6 +86,8 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl<LngCustomerMapper, L
}
}
}
List<LngCustomerDocVo> docList = lngCustomerDocMapper.queryLngCustomerDocList(vo.getCuCode());
vo.setLngCustomerDocList(docList);
if(CollectionUtil.isNotEmpty(vo.getLngCustomerDocList())) {
for(LngCustomerDocVo lngCustomerDoc: vo.getLngCustomerDocList()) {
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_customer_doc", "fileList", lngCustomerDoc.getId());

View File

@ -0,0 +1,187 @@
package com.xjrsoft.module.ship.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.google.common.collect.Lists;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
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.StringUtils;
import com.xjrsoft.common.exception.BusinessException;
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.ship.dto.LngMeaPurIntPageDto;
import com.xjrsoft.module.ship.dto.UpdateLngMeaPurIntDto;
import com.xjrsoft.module.ship.dto.UpdateLngOpsPurIntDto;
import com.xjrsoft.module.ship.entity.LngMeaPurInt;
import com.xjrsoft.module.ship.service.IMeaPurIntService;
import com.xjrsoft.module.ship.vo.LngMeaPurIntPageVo;
import com.xjrsoft.module.ship.vo.LngMeaPurIntVo;
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-03-03
* @Version 1.0
*/
@RestController
@RequestMapping("/ship/meaPurInt")
@Api(value = "/ship" + "/meaPurInt",tags = "国际采购计量代码")
@AllArgsConstructor
public class MeaPurIntController {
private final IMeaPurIntService meaPurIntService;
private final DatalogService dataService;
@GetMapping(value = "/page")
@ApiOperation(value="LngMeaPurInt列表(分页)")
@SaCheckPermission("meaPurInt:list")
public R page(@Valid LngMeaPurIntPageDto dto){
LambdaQueryWrapper<LngMeaPurInt> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
//.like(StrUtil.isNotBlank(dto.getDateMea()),LngMeaPurInt::getDateMea,dto.getDateMea())
.like(StrUtil.isNotBlank(dto.getTypeCode()),LngMeaPurInt::getTypeCode,dto.getTypeCode())
.like(StrUtil.isNotBlank(dto.getInspName()),LngMeaPurInt::getInspName,dto.getInspName())
.eq(ObjectUtil.isNotNull(dto.getId()),LngMeaPurInt::getId,dto.getId())
.eq(ObjectUtil.isNotNull(dto.getQtyMmbtu()),LngMeaPurInt::getQtyMmbtu,dto.getQtyMmbtu())
.eq(ObjectUtil.isNotNull(dto.getQtyGj()),LngMeaPurInt::getQtyGj,dto.getQtyGj())
.eq(ObjectUtil.isNotNull(dto.getQtyTon()),LngMeaPurInt::getQtyTon,dto.getQtyTon())
.eq(ObjectUtil.isNotNull(dto.getQtyM3L()),LngMeaPurInt::getQtyM3L,dto.getQtyM3L())
.eq(ObjectUtil.isNotNull(dto.getQtyM3()),LngMeaPurInt::getQtyM3,dto.getQtyM3())
.eq(ObjectUtil.isNotNull(dto.getRateTonM3L()),LngMeaPurInt::getRateTonM3L,dto.getRateTonM3L())
.eq(ObjectUtil.isNotNull(dto.getRateTonGj()),LngMeaPurInt::getRateTonGj,dto.getRateTonGj())
.eq(ObjectUtil.isNotNull(dto.getRateM3Gj()),LngMeaPurInt::getRateM3Gj,dto.getRateM3Gj())
.eq(ObjectUtil.isNotNull(dto.getRateTonM3()),LngMeaPurInt::getRateTonM3,dto.getRateTonM3())
.like(StrUtil.isNotBlank(dto.getNote()),LngMeaPurInt::getNote,dto.getNote())
.orderByDesc(LngMeaPurInt::getId)
.select(LngMeaPurInt.class,x -> VoToColumnUtil.fieldsToColumns(LngMeaPurIntPageVo.class).contains(x.getProperty()));
IPage<LngMeaPurInt> page = meaPurIntService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngMeaPurIntPageVo> pageOutput = ConventPage.getPageOutput(page, LngMeaPurIntPageVo.class);
return R.ok(pageOutput);
}
@GetMapping(value = "/info")
@ApiOperation(value="根据id查询LngMeaPurInt信息")
@SaCheckPermission("meaPurInt:detail")
public R info(@RequestParam Long id){
return R.ok(meaPurIntService.getMeaPurIntById(id));
}
@GetMapping(value = "/datalog")
@ApiOperation(value="根据id查询LngMeaPurInt数据详细日志")
@SaCheckPermission("meaPurInt:datalog")
public R datalog(@RequestParam Long id){
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngMeaPurIntDto.class,id);
return R.ok(logs);
}
@PostMapping
@ApiOperation(value = "新增LngMeaPurInt")
@SaCheckPermission("meaPurInt:add")
public R add(@Valid @RequestBody UpdateLngMeaPurIntDto dto){
return R.ok(dataService.insert(dto, new DataOperationListener<UpdateLngMeaPurIntDto>() {
@Override
public UpdateLngMeaPurIntDto before(DataOperationContent<UpdateLngMeaPurIntDto> content) {
return null;
}
@Override
public UpdateLngMeaPurIntDto after(DataOperationContent<UpdateLngMeaPurIntDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}",
content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
if(dto.getId() == null) {
params.add(JdbcParam.ofString("I"));
}else {
params.add(JdbcParam.ofString("U"));
}
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();
}
}));
}
@PutMapping
@ApiOperation(value = "修改LngMeaPurInt")
@SaCheckPermission("meaPurInt:edit")
public R update(@Valid @RequestBody UpdateLngMeaPurIntDto dto){
return R.ok(dataService.updateById(dto, new DataOperationListener<UpdateLngMeaPurIntDto>() {
@Override
public UpdateLngMeaPurIntDto before(DataOperationContent<UpdateLngMeaPurIntDto> content) {
return null;
}
@Override
public UpdateLngMeaPurIntDto after(DataOperationContent<UpdateLngMeaPurIntDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}",
content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
if(dto.getId() == null) {
params.add(JdbcParam.ofString("I"));
}else {
params.add(JdbcParam.ofString("U"));
}
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();
}
}));
}
@DeleteMapping
@ApiOperation(value = "删除")
@SaCheckPermission("meaPurInt:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngMeaPurIntDto.class, ids));
}
}

View File

@ -0,0 +1,203 @@
package com.xjrsoft.module.ship.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.google.common.collect.Lists;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
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.StringUtils;
import com.xjrsoft.common.exception.BusinessException;
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.ship.dto.LngOpsPurIntPageDto;
import com.xjrsoft.module.ship.dto.UpdateLngOpsPurIntDto;
import com.xjrsoft.module.ship.dto.UpdateLngOpsSalesIntDto;
import com.xjrsoft.module.ship.entity.LngOpsPurInt;
import com.xjrsoft.module.ship.service.IOpsPurIntService;
import com.xjrsoft.module.ship.vo.LngOpsPurIntPageVo;
import cn.dev33.satoken.annotation.SaCheckPermission;
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-03-03
* @Version 1.0
*/
@RestController
@RequestMapping("/ship/opsPurInt")
@Api(value = "/ship" + "/opsPurInt",tags = "采购执行代码")
@AllArgsConstructor
public class OpsPurIntController {
private final IOpsPurIntService opsPurIntService;
private final DatalogService dataService;
@GetMapping(value = "/page")
@ApiOperation(value="LngOpsPurInt列表(分页)")
@SaCheckPermission("opsPurInt:list")
public R page(@Valid LngOpsPurIntPageDto dto){
LambdaQueryWrapper<LngOpsPurInt> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.eq(ObjectUtil.isNotNull(dto.getId()),LngOpsPurInt::getId,dto.getId())
.like(StrUtil.isNotBlank(dto.getSsNo()),LngOpsPurInt::getSsNo,dto.getSsNo())
.eq(ObjectUtil.isNotNull(dto.getKId()),LngOpsPurInt::getKId,dto.getKId())
.like(StrUtil.isNotBlank(dto.getLongSpotCode()),LngOpsPurInt::getLongSpotCode,dto.getLongSpotCode())
.eq(ObjectUtil.isNotNull(dto.getComId()),LngOpsPurInt::getComId,dto.getComId())
// .between(ObjectUtil.isNotNull(dto.getDateEtaStart()) && ObjectUtil.isNotNull(dto.getDateEtaEnd()),LngOpsPurInt::getDateEta,dto.getDateEtaStart(),dto.getDateEtaEnd())
.like(StrUtil.isNotBlank(dto.getStaCode()),LngOpsPurInt::getStaCode,dto.getStaCode())
.like(StrUtil.isNotBlank(dto.getSuName()),LngOpsPurInt::getSuName,dto.getSuName())
.like(StrUtil.isNotBlank(dto.getSsTypeCode()),LngOpsPurInt::getSsTypeCode,dto.getSsTypeCode())
.orderByDesc(LngOpsPurInt::getId)
.select(LngOpsPurInt.class,x -> VoToColumnUtil.fieldsToColumns(LngOpsPurIntPageVo.class).contains(x.getProperty()));
IPage<LngOpsPurInt> page = opsPurIntService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngOpsPurIntPageVo> pageOutput = ConventPage.getPageOutput(page, LngOpsPurIntPageVo.class);
return R.ok(pageOutput);
}
@GetMapping(value = "/info")
@ApiOperation(value="根据id查询LngOpsPurInt信息")
@SaCheckPermission("opsPurInt:detail")
public R info(@RequestParam Long id){
return R.ok(opsPurIntService.getOpsPurIntById(id));
}
@GetMapping(value = "/datalog")
@ApiOperation(value="根据id查询LngOpsPurInt数据详细日志")
@SaCheckPermission("opsPurInt:datalog")
public R datalog(@RequestParam Long id){
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngOpsPurIntDto.class,id);
return R.ok(logs);
}
@PostMapping
@ApiOperation(value = "新增LngOpsPurInt")
@SaCheckPermission("opsPurInt:add")
public R add(@Valid @RequestBody UpdateLngOpsPurIntDto dto){
return R.ok(dataService.insert(dto, new DataOperationListener<UpdateLngOpsPurIntDto>() {
@Override
public UpdateLngOpsPurIntDto before(DataOperationContent<UpdateLngOpsPurIntDto> content) {
return null;
}
@Override
public UpdateLngOpsPurIntDto after(DataOperationContent<UpdateLngOpsPurIntDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}",
content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
if(dto.getId() == null) {
params.add(JdbcParam.ofString("I"));
}else {
params.add(JdbcParam.ofString("U"));
}
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();
}
}));
}
@PutMapping
@ApiOperation(value = "修改LngOpsPurInt")
@SaCheckPermission("opsPurInt:edit")
public R update(@Valid @RequestBody UpdateLngOpsPurIntDto dto){
return R.ok(dataService.updateById(dto, new DataOperationListener<UpdateLngOpsPurIntDto>() {
@Override
public UpdateLngOpsPurIntDto before(DataOperationContent<UpdateLngOpsPurIntDto> content) {
return null;
}
@Override
public UpdateLngOpsPurIntDto after(DataOperationContent<UpdateLngOpsPurIntDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}",
content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
if(dto.getId() == null) {
params.add(JdbcParam.ofString("I"));
}else {
params.add(JdbcParam.ofString("U"));
}
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();
}
}));
}
@DeleteMapping
@ApiOperation(value = "删除")
@SaCheckPermission("opsPurInt:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngOpsPurIntDto.class, ids, new DataOperationListener<UpdateLngOpsPurIntDto>() {
@Override
public UpdateLngOpsPurIntDto before(DataOperationContent<UpdateLngOpsPurIntDto> content) {
return null;
}
@Override
public UpdateLngOpsPurIntDto after(DataOperationContent<UpdateLngOpsPurIntDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_before_delete(?)}",
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

@ -0,0 +1,204 @@
package com.xjrsoft.module.ship.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.google.common.collect.Lists;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
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.StringUtils;
import com.xjrsoft.common.exception.BusinessException;
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.ship.dto.LngOpsSalesIntPageDto;
import com.xjrsoft.module.ship.dto.UpdateLngOpsSalesIntDto;
import com.xjrsoft.module.ship.entity.LngOpsSalesInt;
import com.xjrsoft.module.ship.service.IOpsSalesIntService;
import com.xjrsoft.module.ship.vo.LngOpsSalesIntPageVo;
import cn.dev33.satoken.annotation.SaCheckPermission;
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-03-03
* @Version 1.0
*/
@RestController
@RequestMapping("/ship/opsSalesInt")
@Api(value = "/ship" + "/opsSalesInt",tags = "销售执行代码")
@AllArgsConstructor
public class OpsSalesIntController {
private final IOpsSalesIntService opsSalesIntService;
private final DatalogService dataService;
@GetMapping(value = "/page")
@ApiOperation(value="LngOpsSalesInt列表(分页)")
@SaCheckPermission("opsSalesInt:list")
public R page(@Valid LngOpsSalesIntPageDto dto){
LambdaQueryWrapper<LngOpsSalesInt> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.eq(ObjectUtil.isNotNull(dto.getId()),LngOpsSalesInt::getId,dto.getId())
.like(StrUtil.isNotBlank(dto.getSsNo()),LngOpsSalesInt::getSsNo,dto.getSsNo())
.eq(ObjectUtil.isNotNull(dto.getKId()),LngOpsSalesInt::getKId,dto.getKId())
.like(StrUtil.isNotBlank(dto.getLongSpotCode()),LngOpsSalesInt::getLongSpotCode,dto.getLongSpotCode())
.eq(ObjectUtil.isNotNull(dto.getComId()),LngOpsSalesInt::getComId,dto.getComId())
// .between(ObjectUtil.isNotNull(dto.getDateEtaStart()) && ObjectUtil.isNotNull(dto.getDateEtaEnd()),LngOpsSalesInt::getDateEta,dto.getDateEtaStart(),dto.getDateEtaEnd())
.like(StrUtil.isNotBlank(dto.getPortUnloading1Code()),LngOpsSalesInt::getPortUnloading1Code,dto.getPortUnloading1Code())
.like(StrUtil.isNotBlank(dto.getCuName()),LngOpsSalesInt::getCuName,dto.getCuName())
.orderByDesc(LngOpsSalesInt::getId)
.select(LngOpsSalesInt.class,x -> VoToColumnUtil.fieldsToColumns(LngOpsSalesIntPageVo.class).contains(x.getProperty()));
IPage<LngOpsSalesInt> page = opsSalesIntService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngOpsSalesIntPageVo> pageOutput = ConventPage.getPageOutput(page, LngOpsSalesIntPageVo.class);
return R.ok(pageOutput);
}
@GetMapping(value = "/info")
@ApiOperation(value="根据id查询LngOpsSalesInt信息")
@SaCheckPermission("opsSalesInt:detail")
public R info(@RequestParam Long id){
return R.ok(opsSalesIntService.getOpsSalesIntById(id));
}
@GetMapping(value = "/datalog")
@ApiOperation(value="根据id查询LngOpsSalesInt数据详细日志")
@SaCheckPermission("opsSalesInt:datalog")
public R datalog(@RequestParam Long id){
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngOpsSalesIntDto.class,id);
return R.ok(logs);
}
@PostMapping
@ApiOperation(value = "新增LngOpsSalesInt")
@SaCheckPermission("opsSalesInt:add")
public R add(@Valid @RequestBody UpdateLngOpsSalesIntDto dto){
UpdateLngOpsSalesIntDto res = dataService.insert(dto,new DataOperationListener<UpdateLngOpsSalesIntDto>() {
@Override
public UpdateLngOpsSalesIntDto before(DataOperationContent<UpdateLngOpsSalesIntDto> content) {
return null;
}
@Override
public UpdateLngOpsSalesIntDto after(DataOperationContent<UpdateLngOpsSalesIntDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}",
content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
if(dto.getId() == null) {
params.add(JdbcParam.ofString("I"));
}else {
params.add(JdbcParam.ofString("U"));
}
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();
}
});
return R.ok(res);
}
@PutMapping
@ApiOperation(value = "修改LngOpsSalesInt")
@SaCheckPermission("opsSalesInt:edit")
public R update(@Valid @RequestBody UpdateLngOpsSalesIntDto dto){
return R.ok(dataService.updateById(dto, new DataOperationListener<UpdateLngOpsSalesIntDto>() {
@Override
public UpdateLngOpsSalesIntDto before(DataOperationContent<UpdateLngOpsSalesIntDto> content) {
return null;
}
@Override
public UpdateLngOpsSalesIntDto after(DataOperationContent<UpdateLngOpsSalesIntDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}",
content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
if(dto.getId() == null) {
params.add(JdbcParam.ofString("I"));
}else {
params.add(JdbcParam.ofString("U"));
}
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();
}
}));
}
@DeleteMapping
@ApiOperation(value = "删除")
@SaCheckPermission("opsSalesInt:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngOpsSalesIntDto.class, ids, new DataOperationListener<UpdateLngOpsSalesIntDto>() {
@Override
public UpdateLngOpsSalesIntDto before(DataOperationContent<UpdateLngOpsSalesIntDto> content) {
return null;
}
@Override
public UpdateLngOpsSalesIntDto after(DataOperationContent<UpdateLngOpsSalesIntDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_before_delete(?)}",
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

@ -0,0 +1,230 @@
package com.xjrsoft.module.ship.controller;
import java.time.LocalDateTime;
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.google.common.collect.Lists;
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.StringUtils;
import com.xjrsoft.common.exception.BusinessException;
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.entity.LngPngDemand;
import com.xjrsoft.module.ship.dto.LngShipSchedulePageDto;
import com.xjrsoft.module.ship.dto.UpdateLngShipScheduleDto;
import com.xjrsoft.module.ship.entity.LngShipSchedule;
import com.xjrsoft.module.ship.service.IShipScheduleService;
import com.xjrsoft.module.ship.vo.LngShipSchedulePageVo;
import com.xjrsoft.module.system.client.ICodeRuleClient;
import cn.dev33.satoken.annotation.SaCheckPermission;
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-03-03
* @Version 1.0
*/
@RestController
@RequestMapping("/ship" + "/shipSchedule")
@Api(value = "/ship" + "/shipSchedule",tags = "船期计划排布代码")
@AllArgsConstructor
public class ShipScheduleController {
private final IShipScheduleService shipScheduleService;
private final DatalogService dataService;
private final ICodeRuleClient codeRuleClient;
private final String SHIP_SCHEDULE_CODE = "shipScheduleCode";
@GetMapping(value = "/page")
@ApiOperation(value="LngShipSchedule列表(分页)")
@SaCheckPermission("shipSchedule:list")
public R page(@Valid LngShipSchedulePageDto dto){
LambdaQueryWrapper<LngShipSchedule> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.eq(ObjectUtil.isNotNull(dto.getId()),LngShipSchedule::getId,dto.getId())
.like(StrUtil.isNotBlank(dto.getSsNo()),LngShipSchedule::getSsNo,dto.getSsNo())
.eq(ObjectUtil.isNotNull(dto.getKId()),LngShipSchedule::getKId,dto.getKId())
.like(StrUtil.isNotBlank(dto.getLongSpotCode()),LngShipSchedule::getLongSpotCode,dto.getLongSpotCode())
.eq(ObjectUtil.isNotNull(dto.getComId()),LngShipSchedule::getComId,dto.getComId())
//.between(ObjectUtil.isNotNull(dto.getDateEtaStart()) && ObjectUtil.isNotNull(dto.getDateEtaEnd()),LngShipSchedule::getDateEta,dto.getDateEtaStart(),dto.getDateEtaEnd())
.like(StrUtil.isNotBlank(dto.getStaCode()),LngShipSchedule::getStaCode,dto.getStaCode())
.like(StrUtil.isNotBlank(dto.getSuName()),LngShipSchedule::getSuName,dto.getSuName())
.like(StrUtil.isNotBlank(dto.getSsTypeCode()),LngShipSchedule::getSsTypeCode,dto.getSsTypeCode())
.eq(ObjectUtil.isNotNull(dto.getOpsPurId()),LngShipSchedule::getOpsPurId,dto.getOpsPurId())
.eq(ObjectUtil.isNotNull(dto.getOpsSalesId()),LngShipSchedule::getOpsSalesId,dto.getOpsSalesId())
.orderByDesc(LngShipSchedule::getId)
.select(LngShipSchedule.class,x -> VoToColumnUtil.fieldsToColumns(LngShipSchedulePageVo.class).contains(x.getProperty()));
IPage<LngShipSchedule> page = shipScheduleService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngShipSchedulePageVo> pageOutput = ConventPage.getPageOutput(page, LngShipSchedulePageVo.class);
return R.ok(pageOutput);
}
@GetMapping(value = "/info")
@ApiOperation(value="根据id查询LngShipSchedule信息")
@SaCheckPermission("shipSchedule:detail")
public R info(@RequestParam Long id){
return R.ok(shipScheduleService.getShipScheduleById(id));
}
@GetMapping(value = "/datalog")
@ApiOperation(value="根据id查询LngShipSchedule数据详细日志")
@SaCheckPermission("shipSchedule:datalog")
public R datalog(@RequestParam Long id){
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngShipScheduleDto.class,id);
return R.ok(logs);
}
@PostMapping
@ApiOperation(value = "新增LngShipSchedule")
@SaCheckPermission("shipSchedule:add")
public R add(@Valid @RequestBody UpdateLngShipScheduleDto dto){
LocalDateTime dateEta = dto.getDateEta();
String ssNo = dateEta.getYear()+codeRuleClient.genEncode(SHIP_SCHEDULE_CODE);
dto.setSsNo(ssNo);
UpdateLngShipScheduleDto res = dataService.insert(dto,new DataOperationListener<UpdateLngShipScheduleDto>() {
@Override
public UpdateLngShipScheduleDto before(DataOperationContent<UpdateLngShipScheduleDto> content) {
return null;
}
@Override
public UpdateLngShipScheduleDto after(DataOperationContent<UpdateLngShipScheduleDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}",
content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
if(dto.getId() == null) {
params.add(JdbcParam.ofString("I"));
}else {
params.add(JdbcParam.ofString("U"));
}
JdbcTools.call(sql,params);
String error = outParam.getStringValue();
if (StringUtils.isNotEmpty(error)) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error));
}
codeRuleClient.useEncode(SHIP_SCHEDULE_CODE);
return content.getObj();
}
});
return R.ok(res);
}
@PutMapping
@ApiOperation(value = "修改LngShipSchedule")
@SaCheckPermission("shipSchedule:edit")
public R update(@Valid @RequestBody UpdateLngShipScheduleDto dto){
return R.ok(dataService.updateById(dto, new DataOperationListener<UpdateLngShipScheduleDto>() {
@Override
public UpdateLngShipScheduleDto before(DataOperationContent<UpdateLngShipScheduleDto> content) {
return null;
}
@Override
public UpdateLngShipScheduleDto after(DataOperationContent<UpdateLngShipScheduleDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}",
content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
if(dto.getId() == null) {
params.add(JdbcParam.ofString("I"));
}else {
params.add(JdbcParam.ofString("U"));
}
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();
}
}));
}
@DeleteMapping
@ApiOperation(value = "删除")
@SaCheckPermission("shipSchedule:delete")
public R delete(@Valid @RequestBody List<Long> ids){
for(Long id:ids) {
LngShipSchedule lngShipSchedule = shipScheduleService.getById(id);
if (lngShipSchedule == null) {
throw new BusinessException(BusinessCode.of(10500,"找不到此数据!"));
}
if(!(lngShipSchedule.getOpsPurId() == null) &&
!(lngShipSchedule.getOpsSalesId() == null) ) {
throw new BusinessException(BusinessCode.of(10500,"已进行销售执行或采购执行,不能删除"));
}
}
return R.ok(dataService.deleteByIds(UpdateLngShipScheduleDto.class, ids, new DataOperationListener<UpdateLngShipScheduleDto>() {
@Override
public UpdateLngShipScheduleDto before(DataOperationContent<UpdateLngShipScheduleDto> content) {
return null;
}
@Override
public UpdateLngShipScheduleDto after(DataOperationContent<UpdateLngShipScheduleDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_before_delete(?)}",
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

@ -0,0 +1,194 @@
package com.xjrsoft.module.ship.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-03-03
* @Version 1.0
*/
@Data
@TableName("lng_mea_pur_int")
@ApiModel(value = "国际采购计量对象", description = "国际采购计量")
public class LngMeaPurInt implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long id;
/**
* 执行ID
*/
@ApiModelProperty("执行ID")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long opsId;
/**
* 计量类型(L-装载计量/U-卸载计量)
*/
@ApiModelProperty("计量类型(L-装载计量/U-卸载计量)")
private String typeCode;
/**
* 计量时间
*/
@ApiModelProperty("计量时间")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Object dateMea;
/**
* 热值MMBtu
*/
@ApiModelProperty("热值MMBtu")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyMmbtu;
/**
* 热值GJ
*/
@ApiModelProperty("热值GJ")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyGj;
/**
* 重量(吨)
*/
@ApiModelProperty("重量(吨)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyTon;
/**
* 液态体积(方)
*/
@ApiModelProperty("液态体积(方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyM3L;
/**
* 气态体积(方)
*/
@ApiModelProperty("气态体积(方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyM3;
/**
* 密度(吨/液态方)
*/
@ApiModelProperty("密度(吨/液态方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal rateTonM3L;
/**
* 热值比(吨/GJ)
*/
@ApiModelProperty("热值比(吨/GJ)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal rateTonGj;
/**
* 热值比(气态方/GJ)
*/
@ApiModelProperty("热值比(气态方/GJ)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal rateM3Gj;
/**
* 气化率(吨/气态方)
*/
@ApiModelProperty("气化率(吨/气态方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal rateTonM3;
/**
* 商检公司
*/
@ApiModelProperty("商检公司")
private String inspName;
/**
* 来源(接收站发送数据表主键;非空时记录不可修改删除)
*/
@ApiModelProperty("来源(接收站发送数据表主键;非空时记录不可修改删除)")
private String dataSource;
/**
* 备注
*/
@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

@ -0,0 +1,525 @@
package com.xjrsoft.module.ship.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-03-03
* @Version 1.0
*/
@Data
@TableName("lng_ops_pur_int")
@ApiModel(value = "采购执行对象", description = "采购执行")
public class LngOpsPurInt implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long id;
/**
* 船期计划主键
*/
@ApiModelProperty("船期计划主键")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long ssId;
/**
* 船期计划编号(令=船期计划编号)
*/
@ApiModelProperty("船期计划编号(令=船期计划编号)")
private String ssNo;
/**
* 交易主体编码(根据船期计划带出来)
*/
@ApiModelProperty("交易主体编码(根据船期计划带出来)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long comId;
/**
* 合同-主信息主键
*/
@ApiModelProperty("合同-主信息主键")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long kId;
/**
* 长协/现货(长协/现货……;未关联合同时用,关联合同后以合同为准)
*/
@ApiModelProperty("长协/现货(长协/现货……;未关联合同时用,关联合同后以合同为准)")
private String longSpotCode;
/**
* 供应商(国际采购合同的供应商)
*/
@ApiModelProperty("供应商(国际采购合同的供应商)")
private String suCode;
/**
* 供应商名称(国际采购合同的供应商)
*/
@ApiModelProperty("供应商名称(国际采购合同的供应商)")
private String suName;
/**
* 信用证号(缺省从合同关联的信用证中带出来,空为不需担保)
*/
@ApiModelProperty("信用证号(缺省从合同关联的信用证中带出来,空为不需担保)")
private String lcNo;
/**
* 业务类型编码(进口船货、纯转口船货、窗口转让船货、到岸交付船货)
*/
@ApiModelProperty("业务类型编码(进口船货、纯转口船货、窗口转让船货、到岸交付船货)")
private String ssTypeCode;
/**
* 接收站
*/
@ApiModelProperty("接收站")
private String staCode;
/**
* 国际气源地
*/
@ApiModelProperty("国际气源地")
private String sourceName;
/**
* 销售区域
*/
@ApiModelProperty("销售区域")
private String salesAreaCode;
/**
* 我方联系人(缺省登录人编码)
*/
@ApiModelProperty("我方联系人(缺省登录人编码)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long empId;
/**
* 我方联系人电话(根据联系人获取)
*/
@ApiModelProperty("我方联系人电话(根据联系人获取)")
private String empTel;
/**
* 我方联系人所在部门(缺省登录人所在部门)
*/
@ApiModelProperty("我方联系人所在部门(缺省登录人所在部门)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long empDeptId;
/**
* 执行日期
*/
@ApiModelProperty("执行日期")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateOps;
/**
* 货权转移日
*/
@ApiModelProperty("货权转移日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateTrans;
/**
* 价格条款(FOB/DES……录入执行时必须)
*/
@ApiModelProperty("价格条款(FOB/DES……录入执行时必须)")
private String prcTermCode;
/**
* 是否自租船
*/
@ApiModelProperty("是否自租船")
private String frtSign;
/**
* 是否保险
*/
@ApiModelProperty("是否保险")
private String insurSign;
/**
* 船只IMO
*/
@ApiModelProperty("船只IMO")
private String shipCode;
/**
* 船名
*/
@ApiModelProperty("船名")
private String shipName;
/**
* 热值MMBtu
*/
@ApiModelProperty("热值MMBtu")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyMmbtu;
/**
* 热值GJ
*/
@ApiModelProperty("热值GJ")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyGj;
/**
* 重量(吨)
*/
@ApiModelProperty("重量(吨)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyTon;
/**
* 体积(标方)
*/
@ApiModelProperty("体积(标方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyM3;
/**
* 币种
*/
@ApiModelProperty("币种")
private String curCode;
/**
* 汇率
*/
@ApiModelProperty("汇率")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal rateEx;
/**
* 预估币种价格
*/
@ApiModelProperty("预估币种价格")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal priceCurrEst;
/**
* 预估币种金额(自动计算)
*/
@ApiModelProperty("预估币种金额(自动计算)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amountCurrEst;
/**
* 结算量MMBtu(与上游结算数量)
*/
@ApiModelProperty("结算量MMBtu(与上游结算数量)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtySettleMmbtu;
/**
* 结算币种价格
*/
@ApiModelProperty("结算币种价格")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal priceCurr;
/**
* 结算币种金额(自动计算)
*/
@ApiModelProperty("结算币种金额(自动计算)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amountCurr;
/**
* 本币金额(收付款审批时汇总写入)
*/
@ApiModelProperty("本币金额(收付款审批时汇总写入)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amount;
/**
* NOR日
*/
@ApiModelProperty("NOR日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateNor;
/**
* 最迟交货日
*/
@ApiModelProperty("最迟交货日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEnd;
/**
* 发出付款通知日
*/
@ApiModelProperty("发出付款通知日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime datePayNtc;
/**
* 收到发票日
*/
@ApiModelProperty("收到发票日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateInv;
/**
* 收付款日
*/
@ApiModelProperty("收付款日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateRp;
/**
* 装港
*/
@ApiModelProperty("装港")
private String portLoading1Code;
/**
* 替代装港
*/
@ApiModelProperty("替代装港")
private String portLoading2;
/**
* 卸港
*/
@ApiModelProperty("卸港")
private String portUnloading1Code;
/**
* 替代卸港
*/
@ApiModelProperty("替代卸港")
private String portUnloading2;
/**
* 装港ETA
*/
@ApiModelProperty("装港ETA")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtaL;
/**
* 装港ETB
*/
@ApiModelProperty("装港ETB")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtbL;
/**
* 装港ETC
*/
@ApiModelProperty("装港ETC")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtcL;
/**
* 装港ETD
*/
@ApiModelProperty("装港ETD")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtdL;
/**
* 卸港ETA
*/
@ApiModelProperty("卸港ETA")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEta;
/**
* 卸港ETB
*/
@ApiModelProperty("卸港ETB")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtb;
/**
* 卸港ETC
*/
@ApiModelProperty("卸港ETC")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtc;
/**
* 卸港ETD
*/
@ApiModelProperty("卸港ETD")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtd;
/**
* 卸港信息说明
*/
@ApiModelProperty("卸港信息说明")
private String noteArrival;
/**
* 卸载日期/商检报告日期(财务报表中的卸载日期;入库回写)
*/
@ApiModelProperty("卸载日期/商检报告日期(财务报表中的卸载日期;入库回写)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateIn;
/**
* 提单号
*/
@ApiModelProperty("提单号")
private String blNo;
/**
* 提单日
*/
@ApiModelProperty("提单日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateBl;
/**
* 报关单号
*/
@ApiModelProperty("报关单号")
private String cdNo;
/**
* 邮寄报关资料日
*/
@ApiModelProperty("邮寄报关资料日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime datePost;
/**
* 许可证编号
*/
@ApiModelProperty("许可证编号")
private String licNo;
/**
* 办理许可证日期
*/
@ApiModelProperty("办理许可证日期")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateLic;
/**
* 商检公司
*/
@ApiModelProperty("商检公司")
private String inspName;
/**
* 产地证
*/
@ApiModelProperty("产地证")
private String origin;
/**
* 装货港计量数据(仅用于对应附件,字段本身不显示)
*/
@ApiModelProperty("装货港计量数据(仅用于对应附件,字段本身不显示)")
private String attLoadingMea;
/**
* 计量附件(仅用于对应附件,字段本身不显示)
*/
@ApiModelProperty("计量附件(仅用于对应附件,字段本身不显示)")
private String attMea;
/**
* 提货单(仅用于对应附件,字段本身不显示)
*/
@ApiModelProperty("提货单(仅用于对应附件,字段本身不显示)")
private String attBl;
/**
* 审批状态(待提交/审批中/已审批/已驳回;审批之后发送接收站)
*/
@ApiModelProperty("审批状态(待提交/审批中/已审批/已驳回;审批之后发送接收站)")
private String approCode;
/**
* 备注
*/
@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

@ -0,0 +1,496 @@
package com.xjrsoft.module.ship.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-03-03
* @Version 1.0
*/
@Data
@TableName("lng_ops_sales_int")
@ApiModel(value = "销售执行对象", description = "销售执行")
public class LngOpsSalesInt implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long id;
/**
* 船期计划主键
*/
@ApiModelProperty("船期计划主键")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long ssId;
/**
* 船期计划编号(令=船期计划编号)
*/
@ApiModelProperty("船期计划编号(令=船期计划编号)")
private String ssNo;
/**
* 交易主体编码(根据船期计划带出来)
*/
@ApiModelProperty("交易主体编码(根据船期计划带出来)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long comId;
/**
* 合同-主信息主键
*/
@ApiModelProperty("合同-主信息主键")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long kId;
/**
* 长协/现货(长协/现货……;未关联合同时用,关联合同后以合同为准)
*/
@ApiModelProperty("长协/现货(长协/现货……;未关联合同时用,关联合同后以合同为准)")
private String longSpotCode;
/**
* 客户(国际销售合同的客户)
*/
@ApiModelProperty("客户(国际销售合同的客户)")
private String cuCode;
/**
* 客户名称(国际销售合同的客户)
*/
@ApiModelProperty("客户名称(国际销售合同的客户)")
private String cuName;
/**
* 信用证号(缺省从合同关联的信用证中带出来,空为不需担保)
*/
@ApiModelProperty("信用证号(缺省从合同关联的信用证中带出来,空为不需担保)")
private String lcNo;
/**
* 业务类型编码(进口船货、纯转口船货、窗口转让船货、到岸交付船货)
*/
@ApiModelProperty("业务类型编码(进口船货、纯转口船货、窗口转让船货、到岸交付船货)")
private String ssTypeCode;
/**
* 接收站(财务报表需要)
*/
@ApiModelProperty("接收站(财务报表需要)")
private String staCode;
/**
* 国际气源地
*/
@ApiModelProperty("国际气源地")
private String sourceName;
/**
* 销售区域
*/
@ApiModelProperty("销售区域")
private String salesAreaCode;
/**
* 我方联系人(缺省登录人编码)
*/
@ApiModelProperty("我方联系人(缺省登录人编码)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long empId;
/**
* 我方联系人电话(根据联系人获取)
*/
@ApiModelProperty("我方联系人电话(根据联系人获取)")
private String empTel;
/**
* 我方联系人所在部门(缺省登录人所在部门)
*/
@ApiModelProperty("我方联系人所在部门(缺省登录人所在部门)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long empDeptId;
/**
* 执行日期(录入执行时必须)
*/
@ApiModelProperty("执行日期(录入执行时必须)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateOps;
/**
* 货权转移日
*/
@ApiModelProperty("货权转移日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateTrans;
/**
* 价格条款(FOB/DES……录入执行时必须)
*/
@ApiModelProperty("价格条款(FOB/DES……录入执行时必须)")
private String prcTermCode;
/**
* 是否自租船
*/
@ApiModelProperty("是否自租船")
private String frtSign;
/**
* 是否保险
*/
@ApiModelProperty("是否保险")
private String insurSign;
/**
* 船只IMO
*/
@ApiModelProperty("船只IMO")
private String shipCode;
/**
* 船名
*/
@ApiModelProperty("船名")
private String shipName;
/**
* 热值MMBtu
*/
@ApiModelProperty("热值MMBtu")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyMmbtu;
/**
* 热值GJ
*/
@ApiModelProperty("热值GJ")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyGj;
/**
* 重量(吨)
*/
@ApiModelProperty("重量(吨)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyTon;
/**
* 体积(标方)
*/
@ApiModelProperty("体积(标方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyM3;
/**
* 币种
*/
@ApiModelProperty("币种")
private String curCode;
/**
* 汇率
*/
@ApiModelProperty("汇率")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal rateEx;
/**
* 预估币种价格
*/
@ApiModelProperty("预估币种价格")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal priceCurrEst;
/**
* 预估币种金额(自动计算)
*/
@ApiModelProperty("预估币种金额(自动计算)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amountCurrEst;
/**
* 结算量MMBtu
*/
@ApiModelProperty("结算量MMBtu")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtySettleMmbtu;
/**
* 结算币种价格
*/
@ApiModelProperty("结算币种价格")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal priceCurr;
/**
* 结算币种金额(自动计算)
*/
@ApiModelProperty("结算币种金额(自动计算)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amountCurr;
/**
* 本币金额(收付款审批时汇总写入)
*/
@ApiModelProperty("本币金额(收付款审批时汇总写入)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amount;
/**
* NOR日
*/
@ApiModelProperty("NOR日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateNor;
/**
* 最迟交货日
*/
@ApiModelProperty("最迟交货日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEnd;
/**
* 发出付款通知日
*/
@ApiModelProperty("发出付款通知日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime datePayNtc;
/**
* 开具发票日
*/
@ApiModelProperty("开具发票日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateInv;
/**
* 收付款日
*/
@ApiModelProperty("收付款日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateRp;
/**
* 装港
*/
@ApiModelProperty("装港")
private String portLoading1Code;
/**
* 替代装港
*/
@ApiModelProperty("替代装港")
private String portLoading2;
/**
* 卸港
*/
@ApiModelProperty("卸港")
private String portUnloading1Code;
/**
* 替代卸港
*/
@ApiModelProperty("替代卸港")
private String portUnloading2;
/**
* 卸港ETA
*/
@ApiModelProperty("卸港ETA")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEta;
/**
* 卸港ETB
*/
@ApiModelProperty("卸港ETB")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtb;
/**
* 卸港ETC
*/
@ApiModelProperty("卸港ETC")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtc;
/**
* 卸港ETD
*/
@ApiModelProperty("卸港ETD")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtd;
/**
* 卸港信息说明
*/
@ApiModelProperty("卸港信息说明")
private String noteArrival;
/**
* 卸载日期/商检报告日期(财务报表中的卸载日期)
*/
@ApiModelProperty("卸载日期/商检报告日期(财务报表中的卸载日期)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateIn;
/**
* 提单号
*/
@ApiModelProperty("提单号")
private String blNo;
/**
* 提单日
*/
@ApiModelProperty("提单日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateBl;
/**
* 报关单号
*/
@ApiModelProperty("报关单号")
private String cdNo;
/**
* 邮寄报关资料日
*/
@ApiModelProperty("邮寄报关资料日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime datePost;
/**
* 许可证编号
*/
@ApiModelProperty("许可证编号")
private String licNo;
/**
* 办理许可证日期
*/
@ApiModelProperty("办理许可证日期")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateLic;
/**
* 商检公司
*/
@ApiModelProperty("商检公司")
private String inspName;
/**
* 产地证
*/
@ApiModelProperty("产地证")
private String origin;
/**
* 装货港计量数据(仅用于对应附件,字段本身不显示)
*/
@ApiModelProperty("装货港计量数据(仅用于对应附件,字段本身不显示)")
private String attLoadingMea;
/**
* 计量附件(仅用于对应附件,字段本身不显示)
*/
@ApiModelProperty("计量附件(仅用于对应附件,字段本身不显示)")
private String attMea;
/**
* 提货单(仅用于对应附件,字段本身不显示)
*/
@ApiModelProperty("提货单(仅用于对应附件,字段本身不显示)")
private String attBl;
/**
* 审批状态(待提交/审批中/已审批/已驳回;审批之后发送接收站)
*/
@ApiModelProperty("审批状态(待提交/审批中/已审批/已驳回;审批之后发送接收站)")
private String approCode;
/**
* 备注
*/
@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

@ -0,0 +1,350 @@
package com.xjrsoft.module.ship.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @title: 船期计划排布
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
@Data
@TableName("lng_ship_schedule")
@ApiModel(value = "船期计划排布对象", description = "船期计划排布")
public class LngShipSchedule implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long id;
/**
* 计划编号(按年度排序自动生成)
*/
@ApiModelProperty("计划编号(按年度排序自动生成)")
private String ssNo;
/**
* 是否自采(其他代加工客户的船期是N)
*/
@ApiModelProperty("是否自采(其他代加工客户的船期是N)")
private String ownSign;
/**
* 交易主体编码(own_sign=Y时是天然气公司/惠贸own_sign=N时是代加工客户)
*/
@ApiModelProperty("交易主体编码(own_sign=Y时是天然气公司/惠贸own_sign=N时是代加工客户)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long comId;
/**
* 交易主体名称
*/
@ApiModelProperty("交易主体名称")
private String comName;
/**
* 合同-档案主键
*/
@ApiModelProperty("合同-档案主键")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long kId;
/**
* 供应商(国际采购合同的供应商)
*/
@ApiModelProperty("供应商(国际采购合同的供应商)")
private String suCode;
/**
* 供应商名称(国际采购合同的供应商)
*/
@ApiModelProperty("供应商名称(国际采购合同的供应商)")
private String suName;
/**
* 长协/现货(长协/现货……;未关联合同时用,关联合同后以合同为准)
*/
@ApiModelProperty("长协/现货(长协/现货……;未关联合同时用,关联合同后以合同为准)")
private String longSpotCode;
/**
* 贸易性质/价格条款(DES/FOB)
*/
@ApiModelProperty("贸易性质/价格条款(DES/FOB)")
private String prcTermCode;
/**
* 货源/国际气源地
*/
@ApiModelProperty("货源/国际气源地")
private String sourceName;
/**
* 业务类型编码(进口船货、纯转口船货、窗口转让船货、到岸交付船货、资源置换船货)
*/
@ApiModelProperty("业务类型编码(进口船货、纯转口船货、窗口转让船货、到岸交付船货、资源置换船货)")
private String ssTypeCode;
/**
* 客户编码
*/
@ApiModelProperty("客户编码")
private String cuCode;
/**
* 客户名称
*/
@ApiModelProperty("客户名称")
private String cuName;
/**
* 卸载港口
*/
@ApiModelProperty("卸载港口")
private String portUnloading1Code;
/**
* 接收站
*/
@ApiModelProperty("接收站")
private String staCode;
/**
* 船只IMO
*/
@ApiModelProperty("船只IMO")
private String shipCode;
/**
* 船名
*/
@ApiModelProperty("船名")
private String shipName;
/**
* 是否接卸(Y/N)
*/
@ApiModelProperty("是否接卸(Y/N)")
private String unloadSign;
/**
* NOR日
*/
@ApiModelProperty("NOR日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateNor;
/**
* 最迟交货日
*/
@ApiModelProperty("最迟交货日")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEnd;
/**
* 卸港ETA
*/
@ApiModelProperty("卸港ETA")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEta;
/**
* 卸港ETB
*/
@ApiModelProperty("卸港ETB")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtb;
/**
* 卸港ETC
*/
@ApiModelProperty("卸港ETC")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtc;
/**
* 卸港ETD
*/
@ApiModelProperty("卸港ETD")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateEtd;
/**
* 热值MMBtu
*/
@ApiModelProperty("热值MMBtu")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyMmbtu;
/**
* 热值GJ
*/
@ApiModelProperty("热值GJ")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyGj;
/**
* 重量(吨)
*/
@ApiModelProperty("重量(吨)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyTon;
/**
* 体积(标方)
*/
@ApiModelProperty("体积(标方)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtyM3;
/**
* 币种
*/
@ApiModelProperty("币种")
private String curCode;
/**
* 汇率
*/
@ApiModelProperty("汇率")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal rateEx;
/**
* 采购价格
*/
@ApiModelProperty("采购价格")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal priceMmbtuPur;
/**
* 采购金额(自动计算)
*/
@ApiModelProperty("采购金额(自动计算)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amountPur;
/**
* 销售价格(隐藏)
*/
@ApiModelProperty("销售价格(隐藏)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal priceMmbtuSales;
/**
* 销售金额(自动计算;隐藏)
*/
@ApiModelProperty("销售金额(自动计算;隐藏)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amountSales;
/**
* 我方联系人(自采需要录入)
*/
@ApiModelProperty("我方联系人(自采需要录入)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long empId;
/**
* 我方联系人电话(根据联系人获取)
*/
@ApiModelProperty("我方联系人电话(根据联系人获取)")
private String empTel;
/**
* 是否对在港烧气有特别要求
*/
@ApiModelProperty("是否对在港烧气有特别要求")
private String request;
/**
* 采购执行id(隐藏,系统字段)
*/
@ApiModelProperty("采购执行id(隐藏,系统字段)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long opsPurId;
/**
* 销售执行id(隐藏,系统字段)
*/
@ApiModelProperty("销售执行id(隐藏,系统字段)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long opsSalesId;
/**
* 备注
*/
@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

@ -0,0 +1,34 @@
package com.xjrsoft.module.ship.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.xjrsoft.module.ship.entity.LngMeaPurInt;
import com.xjrsoft.module.ship.vo.LngMeaPurIntVo;
import com.xjrsoft.module.ship.vo.LngShipScheduleVo;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
@Mapper
public interface LngMeaPurIntMapper extends BaseMapper<LngMeaPurInt> {
@Select("SELECT mpi.*,k.k_name,k.K_no,NVL(com.short_name,com.name) AS com_name ,"
+ " opi.ss_no,opi.su_code,opi.su_name,"
+ " sl.full_name AS sta_name, dd_m.name AS ss_type_name"
+ " FROM lng_mea_pur_int mpi "
+ " LEFT JOIN lng_ops_pur_int opi ON opi.id=mpi.ops_id "
+ " LEFT JOIN lng_contract k ON k.id=opi.k_id "
+ " LEFT JOIN lng_b_station_lng sl ON sl.code=opi.sta_code "
+ " LEFT JOIN xjr_dictionary_item di_m on di_m.code='LNG_MEA_I' "
+ " LEFT JOIN xjr_dictionary_detail dd_m on dd_m.item_id=di_m.id AND dd_m.code=mpi.type_code "
+ " LEFT JOIN xjr_department com on com.id=opi.com_id "
+ " WHERE mpi.id = #{id}")
LngMeaPurIntVo getInfoBygId(@Param("id") Long id);
}

View File

@ -0,0 +1,37 @@
package com.xjrsoft.module.ship.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.ship.entity.LngOpsPurInt;
import com.xjrsoft.module.ship.vo.LngOpsPurIntVo;
import com.xjrsoft.module.ship.vo.LngOpsSalesIntVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
@Mapper
public interface LngOpsPurIntMapper extends BaseMapper<LngOpsPurInt> {
@Select("SELECT ss.*,k.k_name,NVL(com.short_name,com.name) AS comName ,"+
" dd_l.name AS long_spot_name, sl.full_name AS sta_name, dd_st.name AS ss_type_name, " +
" port.full_name AS port_unloading1_name,lport.full_name AS port_loading1_name" +
" FROM lng_ops_pur_int ss " +
" LEFT JOIN lng_contract k ON k.id=ss.k_id " +
" LEFT JOIN lng_b_port port ON port.code=ss.port_unloading1_code "+
" LEFT JOIN lng_b_port lport ON lport.code=ss.port_loading1_code "+
" LEFT JOIN xjr_dictionary_item di_l on di_l.code='LNG_LONG' " +
" LEFT JOIN xjr_dictionary_detail dd_l on dd_l.item_id=di_l.id AND dd_l.code=ss.long_spot_code " +
" LEFT JOIN lng_b_station_lng sl ON sl.code=ss.sta_code " +
" LEFT JOIN xjr_dictionary_item di_st on di_st.code='LNG_SHP_S' " +
" LEFT JOIN xjr_dictionary_detail dd_st on dd_st.item_id=di_st.id AND dd_st.code=ss.ss_type_code " +
" LEFT JOIN xjr_department com on com.id=ss.com_id "+
" WHERE ss.id = #{id}")
LngOpsPurIntVo getInfoBygId(@Param("id") Long id);
}

View File

@ -0,0 +1,38 @@
package com.xjrsoft.module.ship.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.ship.entity.LngOpsSalesInt;
import com.xjrsoft.module.ship.vo.LngOpsSalesIntVo;
import com.xjrsoft.module.ship.vo.LngShipScheduleVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
@Mapper
public interface LngOpsSalesIntMapper extends BaseMapper<LngOpsSalesInt> {
@Select("SELECT ss.*,k.k_name,NVL(com.short_name,com.name) AS comName ,"+
" dd_l.name AS long_spot_name, sl.full_name AS sta_name, dd_st.name AS ss_type_name, " +
" port.full_name AS port_unloading1_name,lport.full_name AS port_loading1_name" +
" FROM lng_ops_sales_int ss " +
" LEFT JOIN lng_contract k ON k.id=ss.k_id " +
" LEFT JOIN lng_b_port port ON port.code=ss.port_unloading1_code "+
" LEFT JOIN lng_b_port lport ON lport.code=ss.port_loading1_code "+
" LEFT JOIN xjr_dictionary_item di_l on di_l.code='LNG_LONG' " +
" LEFT JOIN xjr_dictionary_detail dd_l on dd_l.item_id=di_l.id AND dd_l.code=ss.long_spot_code " +
" LEFT JOIN lng_b_station_lng sl ON sl.code=ss.sta_code " +
" LEFT JOIN xjr_dictionary_item di_st on di_st.code='LNG_SHP_S' " +
" LEFT JOIN xjr_dictionary_detail dd_st on dd_st.item_id=di_st.id AND dd_st.code=ss.ss_type_code " +
" LEFT JOIN xjr_department com on com.id=ss.com_id "+
" WHERE ss.id = #{id}")
LngOpsSalesIntVo getInfoBygId(@Param("id") Long id);
}

View File

@ -0,0 +1,36 @@
package com.xjrsoft.module.ship.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.xjrsoft.module.dayPlan.vo.LngPngDemandVo;
import com.xjrsoft.module.ship.entity.LngShipSchedule;
import com.xjrsoft.module.ship.vo.LngShipScheduleVo;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
@Mapper
public interface LngShipScheduleMapper extends BaseMapper<LngShipSchedule> {
@Select("SELECT ss.*,k.k_name,NVL(com.short_name,com.name) AS comName ,"+
" dd_l.name AS long_spot_name, sl.full_name AS sta_name, dd_st.name AS ss_type_name, " +
" port.full_name AS port_unloading1_name" +
" FROM lng_ship_schedule ss " +
" LEFT JOIN lng_contract k ON k.id=ss.k_id " +
" LEFT JOIN lng_b_port port ON port.code=ss.port_unloading1_code "+
" LEFT JOIN xjr_dictionary_item di_l on di_l.code='LNG_LONG' " +
" LEFT JOIN xjr_dictionary_detail dd_l on dd_l.item_id=di_l.id AND dd_l.code=ss.long_spot_code " +
" LEFT JOIN lng_b_station_lng sl ON sl.code=ss.sta_code " +
" LEFT JOIN xjr_dictionary_item di_st on di_st.code='LNG_SHP_S' " +
" LEFT JOIN xjr_dictionary_detail dd_st on dd_st.item_id=di_st.id AND dd_st.code=ss.ss_type_code " +
" LEFT JOIN xjr_department com on com.id=ss.com_id "+
" WHERE ss.id = #{id}")
LngShipScheduleVo getInfoBygId(@Param("id") Long id);
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.ship.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjrsoft.module.ship.entity.LngMeaPurInt;
import com.xjrsoft.module.ship.vo.LngMeaPurIntVo;
/**
* @title: service
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
public interface IMeaPurIntService extends IService<LngMeaPurInt> {
LngMeaPurIntVo getMeaPurIntById(Long id);
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.ship.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjrsoft.module.ship.entity.LngOpsPurInt;
import com.xjrsoft.module.ship.vo.LngOpsPurIntVo;
/**
* @title: service
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
public interface IOpsPurIntService extends IService<LngOpsPurInt> {
LngOpsPurIntVo getOpsPurIntById(Long id);
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.ship.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjrsoft.module.ship.entity.LngOpsSalesInt;
import com.xjrsoft.module.ship.vo.LngOpsSalesIntVo;
/**
* @title: service
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
public interface IOpsSalesIntService extends IService<LngOpsSalesInt> {
LngOpsSalesIntVo getOpsSalesIntById(Long id);
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.ship.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjrsoft.module.ship.entity.LngShipSchedule;
import com.xjrsoft.module.ship.vo.LngShipScheduleVo;
/**
* @title: service
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
public interface IShipScheduleService extends IService<LngShipSchedule> {
LngShipScheduleVo getShipScheduleById(Long id);
}

View File

@ -0,0 +1,44 @@
package com.xjrsoft.module.ship.service.impl;
import java.util.List;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.ship.entity.LngMeaPurInt;
import com.xjrsoft.module.ship.mapper.LngMeaPurIntMapper;
import com.xjrsoft.module.ship.service.IMeaPurIntService;
import com.xjrsoft.module.ship.vo.LngMeaPurIntVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import cn.hutool.core.bean.BeanUtil;
import lombok.AllArgsConstructor;
/**
* @title: service
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class MeaPurIntServiceImpl extends ServiceImpl<LngMeaPurIntMapper, LngMeaPurInt> implements IMeaPurIntService {
private final IFileClient fileClient;
@Override
public LngMeaPurIntVo getMeaPurIntById(Long id) {
LngMeaPurIntVo vo = this.baseMapper.getInfoBygId(id);
if (vo == null) {
throw new BusinessException(BusinessCode.of(10500, "找不到此数据!"));
}
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_mea_pur_int", "lngFileUploadList", vo.getId());
vo.setLngFileUploadList(fileList);
return vo;
}
}

View File

@ -0,0 +1,43 @@
package com.xjrsoft.module.ship.service.impl;
import java.util.List;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.ship.entity.LngOpsPurInt;
import com.xjrsoft.module.ship.mapper.LngOpsPurIntMapper;
import com.xjrsoft.module.ship.service.IOpsPurIntService;
import com.xjrsoft.module.ship.vo.LngOpsPurIntVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import lombok.AllArgsConstructor;
/**
* @title: service
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class OpsPurIntServiceImpl extends ServiceImpl<LngOpsPurIntMapper, LngOpsPurInt> implements IOpsPurIntService {
private final IFileClient fileClient;
@Override
public LngOpsPurIntVo getOpsPurIntById(Long id) {
LngOpsPurIntVo vo = this.baseMapper.getInfoBygId(id);
if (vo == null) {
throw new BusinessException(BusinessCode.of(10500, "找不到此数据!"));
}
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_ops_pur_int", "lngFileUploadList", vo.getId());
vo.setLngFileUploadList(fileList);
return vo;
}
}

View File

@ -0,0 +1,44 @@
package com.xjrsoft.module.ship.service.impl;
import java.util.List;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.ship.entity.LngOpsSalesInt;
import com.xjrsoft.module.ship.mapper.LngOpsSalesIntMapper;
import com.xjrsoft.module.ship.service.IOpsSalesIntService;
import com.xjrsoft.module.ship.vo.LngOpsSalesIntVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import cn.hutool.core.bean.BeanUtil;
import lombok.AllArgsConstructor;
/**
* @title: service
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class OpsSalesIntServiceImpl extends ServiceImpl<LngOpsSalesIntMapper, LngOpsSalesInt> implements IOpsSalesIntService {
private final IFileClient fileClient;
@Override
public LngOpsSalesIntVo getOpsSalesIntById(Long id) {
LngOpsSalesIntVo vo = this.baseMapper.getInfoBygId(id);
if (vo == null) {
throw new BusinessException(BusinessCode.of(10500, "找不到此数据!"));
}
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_ops_sales_int", "lngFileUploadList", vo.getId());
vo.setLngFileUploadList(fileList);
return vo;
}
}

View File

@ -0,0 +1,39 @@
package com.xjrsoft.module.ship.service.impl;
import java.util.List;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.ship.entity.LngShipSchedule;
import com.xjrsoft.module.ship.mapper.LngShipScheduleMapper;
import com.xjrsoft.module.ship.service.IShipScheduleService;
import com.xjrsoft.module.ship.vo.LngShipScheduleVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import cn.hutool.core.bean.BeanUtil;
import lombok.AllArgsConstructor;
/**
* @title: service
* @Author 管理员
* @Date: 2026-03-03
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class ShipScheduleServiceImpl extends ServiceImpl<LngShipScheduleMapper, LngShipSchedule> implements IShipScheduleService {
private final IFileClient fileClient;
@Override
public LngShipScheduleVo getShipScheduleById(Long id) {
LngShipScheduleVo vo = this.baseMapper.getInfoBygId(id);
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_ship_schedule", "lngFileUploadList", vo.getId());
vo.setLngFileUploadList(fileList);
return vo;
}
}

View File

@ -2,9 +2,16 @@ package com.xjrsoft.module.supplier.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.sales.vo.LngCustomerDocVo;
import com.xjrsoft.module.supplier.entity.LngSupplierContact;
import com.xjrsoft.module.supplier.entity.LngSupplierDoc;
import com.xjrsoft.module.supplier.vo.LngSupplierDocVo;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @title: mapper
@ -15,4 +22,10 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface LngSupplierDocMapper extends MPJBaseMapper<LngSupplierDoc>,BaseMapper<LngSupplierDoc> {
@Select("SELECT a.*, su.su_sname,doc.full_name as doc_type_name" +
" FROM lng_supplier_doc a" +
" LEFT JOIN lng_supplier su ON su.su_code=a.su_code" +
" LEFT JOIN lng_b_doc_cp doc ON doc.code=a.doc_type_code"+
" WHERE a.su_code = #{suCode} order by a.sort")
List<LngSupplierDocVo> queryLngSupplierDocList(@Param("suCode")String suCode);
}

View File

@ -1,10 +1,13 @@
package com.xjrsoft.module.supplier.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.supplier.entity.LngScore;
import com.xjrsoft.module.supplier.vo.LngScoreVo;
/**
* @title: mapper
@ -14,5 +17,10 @@ import com.xjrsoft.module.supplier.entity.LngScore;
*/
@Mapper
public interface LngSupplierScoreMapper extends MPJBaseMapper<LngScore>,BaseMapper<LngScore> {
@Select("SELECT ss.*,ls.class_code as cp_class_code,ls.su_name as cp_name" +
" FROM lng_score ss " +
" LEFT JOIN lng_supplier ls on ls.su_code=ss.cp_code "+
" WHERE ss.id = #{id}")
LngScoreVo getInfoBygId(@Param("id") Long id);
}

View File

@ -29,7 +29,7 @@ public interface ISupplierService extends MPJBaseService<LngSupplier>, MPJDeepSe
* @param ids
* @return
*/
Boolean delete(List<Long> ids);
//Boolean delete(List<Long> ids);
LngSupplierVo getSupplierById(Long id);

View File

@ -13,6 +13,7 @@ import com.xjrsoft.module.supplier.mapper.LngSupplierScoreDtlMapper;
import com.xjrsoft.module.supplier.mapper.LngSupplierScoreMapper;
import com.xjrsoft.module.supplier.service.IScoreSupplierService;
import com.xjrsoft.module.supplier.vo.LngScoreVo;
import com.xjrsoft.module.supplier.vo.LngSupplierVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
@ -47,13 +48,10 @@ public class SupplierScoreServiceImpl extends MPJBaseServiceImpl<LngSupplierScor
return null;
}
LngScoreVo vo = BeanUtil.toBean(lngScore, LngScoreVo.class);
LngSupplier supplier = supplierMapper.selectOne(new LambdaQueryWrapper<LngSupplier>()
.eq(LngSupplier::getSuCode, vo.getCpCode()));
if(supplier != null) {
vo.setCpClassCode(supplier.getClassCode());
vo.setCpName(supplier.getSuName());
}
LngScoreVo temp = supplierScoreMapper.getInfoBygId(vo.getId());
vo.setCpClassCode(temp.getCpClassCode());
vo.setCpName(temp.getCpName());
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_score", "lngFileUploadList", vo.getId());
vo.setLngFileUploadList(fileList);
return vo;

View File

@ -15,6 +15,7 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
import com.pictc.enums.ApproveCodeEnum;
import com.xjrsoft.module.mdm.client.ILngBankClient;
import com.xjrsoft.module.mdm.dto.UpdateLngBBankDto;
import com.xjrsoft.module.sales.vo.LngCustomerDocVo;
import com.xjrsoft.module.supplier.entity.LngSupplier;
import com.xjrsoft.module.supplier.entity.LngSupplierBank;
import com.xjrsoft.module.supplier.entity.LngSupplierContact;
@ -46,25 +47,14 @@ import lombok.AllArgsConstructor;
public class SupplierServiceImpl extends MPJBaseServiceImpl<LngSupplierMapper, LngSupplier> implements ISupplierService {
private final LngSupplierMapper supplierMapper;
private final LngSupplierBankMapper supplierLngSupplierBankMapper;
private final LngSupplierContactMapper supplierLngSupplierContactMapper;
private final LngSupplierDocMapper supplierLngSupplierDocMapper;
private final LngSupplierBankMapper lngSupplierBankMapper;
private final LngSupplierContactMapper lngSupplierContactMapper;
private final LngSupplierDocMapper lngSupplierDocMapper;
private final IFileClient fileClient;
private final ILngBankClient bankClient;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean delete(List<Long> ids) {
supplierMapper.deleteBatchIds(ids);
supplierLngSupplierBankMapper.delete(Wrappers.lambdaQuery(LngSupplierBank.class).in(LngSupplierBank::getSuCode, ids));
supplierLngSupplierContactMapper.delete(Wrappers.lambdaQuery(LngSupplierContact.class).in(LngSupplierContact::getSuCode, ids));
supplierLngSupplierDocMapper.delete(Wrappers.lambdaQuery(LngSupplierDoc.class).in(LngSupplierDoc::getSuCode, ids));
return true;
}
@Override
public LngSupplierVo getSupplierById(Long id) {
LngSupplier lngSupplier = this.getByIdDeep(id);
@ -86,6 +76,8 @@ public class SupplierServiceImpl extends MPJBaseServiceImpl<LngSupplierMapper, L
}
}
}
List<LngSupplierDocVo> docList = lngSupplierDocMapper.queryLngSupplierDocList(vo.getSuCode());
vo.setLngSupplierDocList(docList);
if(CollectionUtil.isNotEmpty(vo.getLngSupplierDocList())) {
for(LngSupplierDocVo lngSupplierDoc: vo.getLngSupplierDocList()) {
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_Supplier_doc", "fileList", lngSupplierDoc.getId());