销售流程

product
杨世强 2 years ago
commit 8327a16bc0

@ -11,7 +11,6 @@ import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
/**
*
@ -191,6 +190,7 @@ public class DownUtil {
}
//强制将缓存区的数据进行输出
outputStream.flush();
}catch (Exception e){
e.getMessage();
}

@ -17,8 +17,36 @@
<maven.compiler.target>1.8</maven.compiler.target>
<djl.version>0.17.0</djl.version>
</properties>
<!--导入Spire-->
<repositories>
<repository>
<id>com.e-iceblue</id>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<!--spire.doc 操作word文档-->
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc.free</artifactId>
<version>5.2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<!--freemarker-->
<dependency>
<groupId>org.freemarker</groupId>
@ -67,17 +95,16 @@
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.bytedeco</groupId>-->
<!-- <artifactId>javacv-platform</artifactId>-->
<!-- <version>1.3.2</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.commons</groupId>-->
<!-- <artifactId>commons-lang3</artifactId>-->
<!-- <version>3.3.2</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.bytedeco</groupId>-->
<!-- <artifactId>javacv-platform</artifactId>-->
<!-- <version>1.3.2</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.commons</groupId>-->
<!-- <artifactId>commons-lang3</artifactId>-->
<!-- <version>3.3.2</version>-->
<!-- </dependency>-->
<dependency>
@ -99,9 +126,7 @@
</dependency>
<!-- 图像识别-->
<!-- 图像识别-->
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
@ -195,9 +220,4 @@
</dependency>
</dependencies>
<build>
</build>
</project>

@ -113,7 +113,10 @@ public class CollectionEntity {
@TableField("CUSTOMER_ID")
private String customerId;
<<<<<<< HEAD
@TableField("CONTRACT_ID")
private String contractId;
=======
>>>>>>> 6b66ea0276198dd5eb24cd6f115f6e164cbd7df3
}

@ -2,6 +2,7 @@
package jnpf.collection.model.collection;
import com.baomidou.mybatisplus.annotation.TableField;
import jnpf.collection.model.collection.Collection_item0Model;
import lombok.Data;
import java.util.List;
@ -76,6 +77,7 @@ public class CollectionCrForm {
/** 子表数据 **/
@JsonProperty("collection_item0List")
private List<Collection_item0Model> collection_item0List;
/** 客户id **/
@JsonProperty("customerId")
private String customerId;
}

@ -79,4 +79,7 @@ public class CollectionInfoVO{
/** 子表数据 **/
@JsonProperty("collection_item0List")
private List<Collection_item0Model> collection_item0List;
/** 客户id **/
@JsonProperty("customerId")
private String customerId;
}

@ -86,6 +86,8 @@ public class CollectionListVO{
/** 制单人 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 客户id **/
@JsonProperty("customerId")
private String customerId;
}

@ -90,5 +90,8 @@ public class CollectionUpForm{
/** 子表数据 **/
@JsonProperty("collection_item0List")
private List<Collection_item0Model> collection_item0List;
/** 客户id **/
@JsonProperty("customerId")
private String customerId;
}

@ -0,0 +1,44 @@
package jnpf.contractMobile.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jnpf.base.ActionResult;
import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.contractMobile.entity.ContractMobileEntity;
import jnpf.contractMobile.model.contractMobile.ContractMobileListVO;
import jnpf.contractMobile.model.contractMobile.ContractMobilePagination;
import jnpf.contractMobile.service.ContractMobileService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.util.*;
import jnpf.util.*;
@Slf4j
@RestController
@Api(tags = "合同档案(移)", value = "contractMobile")
@RequestMapping("/api/contractMobile/ContractMobile")
public class ContractMobileController {
@Autowired
private ContractMobileService contractMobileService;
@PostMapping("/getList")
@ApiOperation("合同档案列表")
public ActionResult list(@RequestBody ContractMobilePagination contractMobilePagination) throws IOException {
List<ContractMobileEntity> list = contractMobileService.getList(contractMobilePagination);
List<ContractMobileListVO> listVO = JsonUtil.getJsonToList(list, ContractMobileListVO.class);
PageListVO vo = new PageListVO();
vo.setList(listVO);
PaginationVO page = JsonUtil.getJsonToBean(contractMobilePagination, PaginationVO.class);
vo.setPagination(page);
return ActionResult.success(vo);
}
}

@ -0,0 +1,139 @@
package jnpf.contractMobile.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.math.BigDecimal;
/**
* ()
*/
@Data
@TableName("jg_contract")
public class ContractMobileEntity {
@TableId("ID")
private String id;
@TableField("CREATOR_USER_ID")
private String creatorUserId;
@TableField("CREATOR_USER_NAME")
private String creatorUserName;
@TableField("CREATOR_TIME")
private Date creatorTime;
@TableField("LAST_MODIFY_USER_ID")
private String lastModifyUserId;
@TableField("LAST_MODIFY_USER_NAME")
private String lastModifyUserName;
@TableField("LAST_MODIFY_TIME")
private Date lastModifyTime;
@TableField("DELETE_USER_ID")
private String deleteUserId;
@TableField("DELETE_USER_NAME")
private String deleteUserName;
@TableField("DELETE_TIME")
private Date deleteTime;
@TableField("DELETE_MARK")
private String deleteMark;
@TableField("ORGNIZE_ID")
private String orgnizeId;
@TableField("DEPARTMENT_ID")
private String departmentId;
@TableField("CONTRACT_CODE")
private String contractCode;
@TableField("CONTRACT_NAME")
private String contractName;
@TableField("CONTRACT_NO")
private String contractNo;
@TableField("CONTRACT_TYPE")
private String contractType;
@TableField("CLASSIFICATION")
private String classification;
@TableField("DECLARATION_DATE")
private Date declarationDate;
@TableField("CODE")
private String code;
@TableField("NAME")
private String name;
@TableField("NUM")
private BigDecimal num;
@TableField("AMOUNT")
private BigDecimal amount;
@TableField("DEPT_CODE")
private String deptCode;
@TableField("DEPT_NAME")
private String deptName;
@TableField("STATUS")
private String status;
@TableField("BID_OPENING_DATE")
private Date bidOpeningDate;
@TableField("START_DATE")
private Date startDate;
@TableField("AUDIT_DATE")
private Date auditDate;
@TableField("COMPLETION_DATE")
private Date completionDate;
@TableField("CLOSING_DATE")
private Date closingDate;
@TableField("COLLECTION_CYCLE")
private Integer collectionCycle;
@TableField("SIGNING_DATE")
private Date signingDate;
@TableField("END_DATE")
private Date endDate;
@TableField("CURRENCY")
private String currency;
@TableField("ORGANIZATION")
private String organization;
@TableField("REMARK")
private String remark;
@TableField("APPROVAL")
private String approval;
@TableField("EXCHANGE_RATE")
private String exchangeRate;
@TableField("BANK_NO")
private String bankNo;
@TableField("TAX_NO")
private String taxNo;
}

@ -0,0 +1,7 @@
package jnpf.contractMobile.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.contractMobile.entity.ContractMobileEntity;
public interface ContractMobileMapper extends BaseMapper<ContractMobileEntity> {
}

@ -0,0 +1,159 @@
package jnpf.contractMobile.model.contractMobile;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.Date;
/**
*
*
*
*/
@Data
public class ContractMobileListVO{
/** 主键 */
private String id;
/** 合同类型 **/
@JsonProperty("contractType")
private String contractType;
/** 合同编码 **/
@JsonProperty("contractCode")
private String contractCode;
/** 合同名称 **/
@JsonProperty("contractName")
private String contractName;
/** 合同状态 **/
@JsonProperty("status")
private String status;
/** 开标日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("bidOpeningDate")
private Date bidOpeningDate;
/** 开始日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("startDate")
private Date startDate;
/** 审核日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("auditDate")
private Date auditDate;
/** 供货完成日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("completionDate")
private Date completionDate;
/** 关闭日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("closingDate")
private Date closingDate;
/** 回款周期(日) **/
@JsonProperty("collectionCycle")
private String collectionCycle;
/** 签订日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("signingDate")
private Date signingDate;
/** 截止日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("endDate")
private Date endDate;
/** 供应商/客户编 **/
@JsonProperty("code")
private String code;
/** 供应商/客户名 **/
@JsonProperty("name")
private String name;
/** 对方合同号 **/
@JsonProperty("contractNo")
private String contractNo;
/** 币种 **/
@JsonProperty("currency")
private String currency;
/** 数量 **/
@JsonProperty("num")
private String num;
/** 金额 **/
@JsonProperty("amount")
private String amount;
/** 库存组织 **/
@JsonProperty("organization")
private String organization;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 合同分类 **/
@JsonProperty("classification")
private String classification;
/** 申报日期 **/
@JsonProperty("declarationDate")
private String declarationDate;
/** 部门编码 **/
@JsonProperty("deptCode")
private String deptCode;
/** 录入人 **/
@JsonProperty("creatorusername")
private String creatorusername;
/** 部门名称 **/
@JsonProperty("deptName")
private String deptName;
/** 集团审批 **/
@JsonProperty("approval")
private String approval;
}

@ -0,0 +1,13 @@
package jnpf.contractMobile.model.contractMobile;
import jnpf.base.Pagination;
import lombok.Data;
@Data
public class ContractMobilePagination extends Pagination {
/**
* id
*/
private String menuId;
}

@ -0,0 +1,11 @@
package jnpf.contractMobile.service;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.contractMobile.entity.ContractMobileEntity;
import jnpf.contractMobile.model.contractMobile.ContractMobilePagination;
import java.util.*;
public interface ContractMobileService extends IService<ContractMobileEntity> {
List<ContractMobileEntity> getList(ContractMobilePagination contractMobilePagination);
}

@ -0,0 +1,65 @@
package jnpf.contractMobile.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.contractMobile.entity.ContractMobileEntity;
import jnpf.contractMobile.mapper.ContractMobileMapper;
import jnpf.contractMobile.model.contractMobile.ContractMobilePagination;
import jnpf.contractMobile.service.ContractMobileService;
import jnpf.supplyProcessAnalysis.entity.ContractMEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import jnpf.util.*;
import java.util.*;
@Service
public class ContractMobileServiceImpl extends ServiceImpl<ContractMobileMapper, ContractMobileEntity> implements ContractMobileService {
@Autowired
private UserProvider userProvider;
@Override
public List<ContractMobileEntity> getList(ContractMobilePagination contractMobilePagination) {
String userId = userProvider.get().getUserId();
List<String> AllIdList = new ArrayList();
int total = 0;
int contractMNum = 0;
QueryWrapper<ContractMobileEntity> contractMobileQueryWrapper = new QueryWrapper<>();
boolean pcPermission = false;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if (isPc && pcPermission) {
if (!userProvider.get().getIsAdministrator()) {
return new ArrayList<>();
}
}
if (!isPc && appPermission) {
if (!userProvider.get().getIsAdministrator()) {
return new ArrayList<>();
}
}
// if (StringUtil.isNotEmpty(contractMPagination.getContractCode())) {
// contractMNum++;
// contractMQueryWrapper.lambda().like(ContractMEntity::getContractCode, contractMPagination.getContractCode());
// }
// if (StringUtil.isNotEmpty(contractMPagination.getContractName())) {
// contractMNum++;
// contractMQueryWrapper.lambda().like(ContractMEntity::getContractName, contractMPagination.getContractName());
// }
// if (StringUtil.isNotEmpty(contractMPagination.getName())) {
// contractMNum++;
// contractMQueryWrapper.lambda().like(ContractMEntity::getName, contractMPagination.getName());
// }
if ((total > 0 && AllIdList.size() > 0) || total == 0) {
Page<ContractMobileEntity> page = new Page<>(contractMobilePagination.getCurrentPage(), contractMobilePagination.getPageSize());
IPage<ContractMobileEntity> userIPage = this.page(page, contractMobileQueryWrapper);
return contractMobilePagination.setData(userIPage.getRecords(), userIPage.getTotal());
} else {
List<ContractMobileEntity> list = new ArrayList();
return contractMobilePagination.setData(list, list.size());
}
}
}

@ -13,6 +13,7 @@ import io.swagger.annotations.ApiOperation;
import jnpf.base.ActionResult;
import jnpf.base.NoDataSourceBind;
import jnpf.base.UserInfo;
import jnpf.base.entity.BillRuleEntity;
import jnpf.base.util.OptimizeUtil;
import jnpf.base.vo.DownloadVO;
import jnpf.base.vo.PageListVO;
@ -27,9 +28,14 @@ import jnpf.contractfile.service.ContractFileService;
import jnpf.contractfile.service.Contract_item0Service;
import jnpf.contractfile.service.Contract_item1Service;
import jnpf.exception.DataException;
import jnpf.model.EmployeeModel;
import jnpf.model.UploaderVO;
import jnpf.model.employee.EmployeeImportVO;
import jnpf.permission.model.user.vo.UserExportVO;
import jnpf.permission.model.user.vo.UserImportVO;
import jnpf.util.*;
import jnpf.util.enums.FileTypeEnum;
import jnpf.util.enums.ModuleTypeEnum;
import jnpf.util.file.UploadUtil;
import jnpf.utils.YozoUtils;
import lombok.Cleanup;
@ -44,6 +50,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@ -52,8 +59,8 @@ import java.util.List;
import java.util.Map;
/**
*
* contractFile
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
@ -61,7 +68,7 @@ import java.util.Map;
*/
@Slf4j
@RestController
@Api(tags = "contractFile" , value = "example")
@Api(tags = "contractFile", value = "example")
@RequestMapping("/api/example/ContractFile")
public class ContractFileController {
@ -85,7 +92,6 @@ public class ContractFileController {
private YozoUtils yozoUtils;
/**
*
*
@ -93,20 +99,20 @@ public class ContractFileController {
* @return
*/
@PostMapping("/getList")
public ActionResult list(@RequestBody ContractFilePagination contractFilePagination)throws IOException{
List<ContractFileEntity> list= contractFileService.getList(contractFilePagination);
public ActionResult list(@RequestBody ContractFilePagination contractFilePagination) throws IOException {
List<ContractFileEntity> list = contractFileService.getList(contractFilePagination);
//处理id字段转名称若无需转或者为空可删除
for(ContractFileEntity entity:list){
entity.setApproval(generaterSwapUtil.switchSelectValue(entity.getApproval() ,"开" ,"关"));
for (ContractFileEntity entity : list) {
entity.setApproval(generaterSwapUtil.switchSelectValue(entity.getApproval(), "开", "关"));
}
List<ContractFileListVO> listVO=JsonUtil.getJsonToList(list,ContractFileListVO.class);
for(ContractFileListVO contractFileVO:listVO){
List<ContractFileListVO> listVO = JsonUtil.getJsonToList(list, ContractFileListVO.class);
for (ContractFileListVO contractFileVO : listVO) {
}
PageListVO vo=new PageListVO();
PageListVO vo = new PageListVO();
vo.setList(listVO);
PaginationVO page=JsonUtil.getJsonToBean(contractFilePagination,PaginationVO.class);
PaginationVO page = JsonUtil.getJsonToBean(contractFilePagination, PaginationVO.class);
vo.setPagination(page);
return ActionResult.success(vo);
}
@ -121,31 +127,23 @@ public class ContractFileController {
@PostMapping
@Transactional
public ActionResult create(@RequestBody @Valid ContractFileCrForm contractFileCrForm) throws DataException {
String mainId =RandomUtil.uuId();
UserInfo userInfo=userProvider.get();
String mainId = RandomUtil.uuId();
UserInfo userInfo = userProvider.get();
contractFileCrForm.setStatus("1");
ContractFileEntity entity = JsonUtil.getJsonToBean(contractFileCrForm, ContractFileEntity.class);
entity.setId(mainId);
contractFileService.save(entity);
List<Contract_item0Entity> Contract_item0List = JsonUtil.getJsonToList(contractFileCrForm.getContract_item0List(),Contract_item0Entity.class);
for(Contract_item0Entity entitys : Contract_item0List){
List<Contract_item0Entity> Contract_item0List = JsonUtil.getJsonToList(contractFileCrForm.getContract_item0List(), Contract_item0Entity.class);
for (Contract_item0Entity entitys : Contract_item0List) {
entitys.setId(RandomUtil.uuId());
entitys.setContractId(entity.getId());
contract_item0Service.save(entitys);
}
List<Contract_item1Entity> Contract_item1List = JsonUtil.getJsonToList(contractFileCrForm.getContract_item1List(),Contract_item1Entity.class);
for(Contract_item1Entity entitys : Contract_item1List){
List<Contract_item1Entity> Contract_item1List = JsonUtil.getJsonToList(contractFileCrForm.getContract_item1List(), Contract_item1Entity.class);
for (Contract_item1Entity entitys : Contract_item1List) {
entitys.setId(RandomUtil.uuId());
entitys.setContractId(entity.getId());
@ -153,10 +151,8 @@ public class ContractFileController {
}
return ActionResult.success("创建成功");
}
}
/**
@ -165,18 +161,78 @@ public class ContractFileController {
* @return
*/
@ApiOperation("模板下载")
@GetMapping("/templateDownload")
public ActionResult<DownloadVO> TemplateDownload(){
UserInfo userInfo=userProvider.get();
DownloadVO vo=DownloadVO.builder().build();
try{
vo.setName("职员信息.xlsx");
vo.setUrl(UploaderUtil.uploaderFile("/api/Common/DownloadModel?encryption=" ,userInfo.getId()+"#"+"职员信息.xlsx"+"#"+"Temporary"));
}catch(Exception e){
log.error("信息导出Excel错误:{}" ,e.getMessage());
@GetMapping("/TemplateDownload")
public ActionResult<DownloadVO> TemplateDownload() {
UserInfo userInfo = userProvider.get();
DownloadVO vo = DownloadVO.builder().build();
try {
vo.setName("合同档案信息.xlsx");
vo.setUrl(UploaderUtil.uploaderFile("/api/file/DownloadModel?encryption=", userInfo.getId() + "#" + "合同档案信息" +
".xlsx" + "#" + "Temporary"));
} catch (Exception e) {
log.error("信息导出Excel错误:" + e.getMessage());
}
return ActionResult.success(vo);
}
/**
* (excel)
*
* @return
*/
@ApiOperation("上传文件")
@PostMapping("/Uploader")
public ActionResult Uploader() {
List<MultipartFile> list = UpUtil.getFileAll();
MultipartFile file = list.get(0);
if (file.getOriginalFilename().endsWith(".xlsx") || file.getOriginalFilename().endsWith(".xls")) {
String filePath = configValueUtil.getTemporaryFilePath();
String fileName = RandomUtil.uuId() + "." + UpUtil.getFileType(file);
fileName = XSSEscape.escape(fileName);
//上传文件
FileUtil.upFile(file, filePath, fileName);
DownloadVO vo = DownloadVO.builder().build();
vo.setName(fileName);
return ActionResult.success(vo);
} else {
return ActionResult.fail("选择文件不符合导入");
}
}
/**
*
*
* @return
*/
@ApiOperation("导入预览")
@GetMapping("/ImportPreview")
public ActionResult ImportPreview(String fileName) {
String filePath = configValueUtil.getTemporaryFilePath();
File temporary = new File(XSSEscape.escapePath(filePath + fileName));
//得到数据
List<ContractFileModel> personList = ExcelUtil.importExcel(temporary, 0, 1, ContractFileModel.class);
//预览数据
Map<String, Object> map = contractFileService.importPreview(personList);
return ActionResult.success(map);
}
/**
*
*
* @return
*/
@ApiOperation("导入数据")
@PostMapping("/ImportData")
public ActionResult ImportData(@RequestBody ContractFileModel data) {
List<ContractFileModel> dataList = JsonUtil.getJsonToList(data.getList(), ContractFileModel.class);
//导入数据
ContractfileImportVO result = contractFileService.importData(dataList);
return ActionResult.success(result);
}
/**
* Excel
*
@ -185,110 +241,111 @@ public class ContractFileController {
@ApiOperation("导出Excel")
@GetMapping("/Actions/Export")
public ActionResult Export(ContractFilePaginationExportModel contractFilePaginationExportModel) throws IOException {
if (StringUtil.isEmpty(contractFilePaginationExportModel.getSelectKey())){
if (StringUtil.isEmpty(contractFilePaginationExportModel.getSelectKey())) {
return ActionResult.fail("请选择导出字段");
}
ContractFilePagination contractFilePagination=JsonUtil.getJsonToBean(contractFilePaginationExportModel, ContractFilePagination.class);
List<ContractFileEntity> list= contractFileService.getTypeList(contractFilePagination,contractFilePaginationExportModel.getDataType());
ContractFilePagination contractFilePagination = JsonUtil.getJsonToBean(contractFilePaginationExportModel, ContractFilePagination.class);
List<ContractFileEntity> list = contractFileService.getTypeList(contractFilePagination, contractFilePaginationExportModel.getDataType());
//处理id字段转名称若无需转或者为空可删除
for(ContractFileEntity entity:list){
entity.setApproval(generaterSwapUtil.switchSelectValue(entity.getApproval() ,"开" ,"关"));
for (ContractFileEntity entity : list) {
entity.setApproval(generaterSwapUtil.switchSelectValue(entity.getApproval(), "开", "关"));
}
List<ContractFileListVO> listVO=JsonUtil.getJsonToList(list,ContractFileListVO.class);
for(ContractFileListVO contractFileVO:listVO){
List<ContractFileListVO> listVO = JsonUtil.getJsonToList(list, ContractFileListVO.class);
for (ContractFileListVO contractFileVO : listVO) {
}
//转换为map输出
List<Map<String, Object>>mapList=JsonUtil.getJsonToListMap(JsonUtil.getObjectToStringDateFormat(listVO,"yyyy-MM-dd HH:mm:ss"));
String[]keys=!StringUtil.isEmpty(contractFilePaginationExportModel.getSelectKey())?contractFilePaginationExportModel.getSelectKey().split(","):new String[0];
UserInfo userInfo=userProvider.get();
DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),mapList,keys,userInfo);
List<Map<String, Object>> mapList = JsonUtil.getJsonToListMap(JsonUtil.getObjectToStringDateFormat(listVO, "yyyy-MM-dd HH:mm:ss"));
String[] keys = !StringUtil.isEmpty(contractFilePaginationExportModel.getSelectKey()) ? contractFilePaginationExportModel.getSelectKey().split(",") : new String[0];
UserInfo userInfo = userProvider.get();
DownloadVO vo = this.creatModelExcel(configValueUtil.getTemporaryFilePath(), mapList, keys, userInfo);
return ActionResult.success(vo);
}
//导出表格
public DownloadVO creatModelExcel(String path,List<Map<String, Object>>list,String[]keys,UserInfo userInfo){
DownloadVO vo=DownloadVO.builder().build();
List<ExcelExportEntity> entitys=new ArrayList<>();
if(keys.length>0){
for(String key:keys){
switch(key){
case "contractType" :
entitys.add(new ExcelExportEntity("合同类型 " ,"contractType"));
public DownloadVO creatModelExcel(String path, List<Map<String, Object>> list, String[] keys, UserInfo userInfo) {
DownloadVO vo = DownloadVO.builder().build();
List<ExcelExportEntity> entitys = new ArrayList<>();
if (keys.length > 0) {
for (String key : keys) {
switch (key) {
case "contractType":
entitys.add(new ExcelExportEntity("合同类型 ", "contractType"));
break;
case "contractCode" :
entitys.add(new ExcelExportEntity("合同编码" ,"contractCode"));
case "contractCode":
entitys.add(new ExcelExportEntity("合同编码", "contractCode"));
break;
case "contractName" :
entitys.add(new ExcelExportEntity("合同名称" ,"contractName"));
case "contractName":
entitys.add(new ExcelExportEntity("合同名称", "contractName"));
break;
case "status" :
entitys.add(new ExcelExportEntity("合同状态" ,"status"));
case "status":
entitys.add(new ExcelExportEntity("合同状态", "status"));
break;
case "bidOpeningDate" :
entitys.add(new ExcelExportEntity("开标日期" ,"bidOpeningDate"));
case "bidOpeningDate":
entitys.add(new ExcelExportEntity("开标日期", "bidOpeningDate"));
break;
case "startDate" :
entitys.add(new ExcelExportEntity("开始日期" ,"startDate"));
case "startDate":
entitys.add(new ExcelExportEntity("开始日期", "startDate"));
break;
case "auditDate" :
entitys.add(new ExcelExportEntity("审核日期" ,"auditDate"));
case "auditDate":
entitys.add(new ExcelExportEntity("审核日期", "auditDate"));
break;
case "completionDate" :
entitys.add(new ExcelExportEntity("供货完成日期" ,"completionDate"));
case "completionDate":
entitys.add(new ExcelExportEntity("供货完成日期", "completionDate"));
break;
case "closingDate" :
entitys.add(new ExcelExportEntity("关闭日期" ,"closingDate"));
case "closingDate":
entitys.add(new ExcelExportEntity("关闭日期", "closingDate"));
break;
case "collectionCycle" :
entitys.add(new ExcelExportEntity("回款周期(日)" ,"collectionCycle"));
case "collectionCycle":
entitys.add(new ExcelExportEntity("回款周期(日)", "collectionCycle"));
break;
case "signingDate" :
entitys.add(new ExcelExportEntity("签订日期" ,"signingDate"));
case "signingDate":
entitys.add(new ExcelExportEntity("签订日期", "signingDate"));
break;
case "endDate" :
entitys.add(new ExcelExportEntity("截止日期" ,"endDate"));
case "endDate":
entitys.add(new ExcelExportEntity("截止日期", "endDate"));
break;
case "code" :
entitys.add(new ExcelExportEntity("供应商/客户编" ,"code"));
case "code":
entitys.add(new ExcelExportEntity("供应商/客户编", "code"));
break;
case "name" :
entitys.add(new ExcelExportEntity("供应商/客户名" ,"name"));
case "name":
entitys.add(new ExcelExportEntity("供应商/客户名", "name"));
break;
case "contractNo" :
entitys.add(new ExcelExportEntity("对方合同号" ,"contractNo"));
case "contractNo":
entitys.add(new ExcelExportEntity("对方合同号", "contractNo"));
break;
case "currency" :
entitys.add(new ExcelExportEntity("币种 " ,"currency"));
case "currency":
entitys.add(new ExcelExportEntity("币种 ", "currency"));
break;
case "num" :
entitys.add(new ExcelExportEntity("数量" ,"num"));
case "num":
entitys.add(new ExcelExportEntity("数量", "num"));
break;
case "amount" :
entitys.add(new ExcelExportEntity("金额" ,"amount"));
case "amount":
entitys.add(new ExcelExportEntity("金额", "amount"));
break;
case "organization" :
entitys.add(new ExcelExportEntity("库存组织" ,"organization"));
case "organization":
entitys.add(new ExcelExportEntity("库存组织", "organization"));
break;
case "remark" :
entitys.add(new ExcelExportEntity("备注" ,"remark"));
case "remark":
entitys.add(new ExcelExportEntity("备注", "remark"));
break;
case "classification" :
entitys.add(new ExcelExportEntity("合同分类 " ,"classification"));
case "classification":
entitys.add(new ExcelExportEntity("合同分类 ", "classification"));
break;
case "declarationDate" :
entitys.add(new ExcelExportEntity("申报日期" ,"declarationDate"));
case "declarationDate":
entitys.add(new ExcelExportEntity("申报日期", "declarationDate"));
break;
case "deptCode" :
entitys.add(new ExcelExportEntity("部门编码" ,"deptCode"));
case "deptCode":
entitys.add(new ExcelExportEntity("部门编码", "deptCode"));
break;
case "creatorusername" :
entitys.add(new ExcelExportEntity("录入人" ,"creatorusername"));
case "creatorusername":
entitys.add(new ExcelExportEntity("录入人", "creatorusername"));
break;
case "deptName" :
entitys.add(new ExcelExportEntity("部门名称" ,"deptName"));
case "deptName":
entitys.add(new ExcelExportEntity("部门名称", "deptName"));
break;
case "approval" :
entitys.add(new ExcelExportEntity("集团审批" ,"approval"));
case "approval":
entitys.add(new ExcelExportEntity("集团审批", "approval"));
break;
default:
break;
@ -298,9 +355,9 @@ public class ContractFileController {
ExportParams exportParams = new ExportParams(null, "表单信息");
exportParams.setType(ExcelType.XSSF);
try{
try {
@Cleanup Workbook workbook = new HSSFWorkbook();
if (entitys.size()>0){
if (entitys.size() > 0) {
workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list);
}
String name = "表单信息" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx";
@ -329,14 +386,14 @@ public class ContractFileController {
*/
@DeleteMapping("/batchRemove/{ids}")
@Transactional
public ActionResult batchRemove(@PathVariable("ids") String ids){
public ActionResult batchRemove(@PathVariable("ids") String ids) {
String[] idList = ids.split(",");
int i =0;
for (String allId : idList){
int i = 0;
for (String allId : idList) {
this.delete(allId);
i++;
}
if (i == 0 ){
if (i == 0) {
return ActionResult.fail("删除失败");
}
return ActionResult.success("删除成功");
@ -350,19 +407,19 @@ public class ContractFileController {
* @return
*/
@GetMapping("/{id}")
public ActionResult<ContractFileInfoVO> info(@PathVariable("id") String id){
ContractFileEntity entity= contractFileService.getInfo(id);
ContractFileInfoVO vo=JsonUtil.getJsonToBean(entity, ContractFileInfoVO.class);
public ActionResult<ContractFileInfoVO> info(@PathVariable("id") String id) {
ContractFileEntity entity = contractFileService.getInfo(id);
ContractFileInfoVO vo = JsonUtil.getJsonToBean(entity, ContractFileInfoVO.class);
//子表
List<Contract_item0Entity> Contract_item0List = contractFileService.GetContract_item0List(id);
for(Contract_item0Entity contract_item0Entity : Contract_item0List){
for (Contract_item0Entity contract_item0Entity : Contract_item0List) {
}
vo.setContract_item0List(JsonUtil.getJsonToList(Contract_item0List,Contract_item0Model.class ));
vo.setContract_item0List(JsonUtil.getJsonToList(Contract_item0List, Contract_item0Model.class));
List<Contract_item1Entity> Contract_item1List = contractFileService.GetContract_item1List(id);
for(Contract_item1Entity contract_item1Entity : Contract_item1List){
for (Contract_item1Entity contract_item1Entity : Contract_item1List) {
}
vo.setContract_item1List(JsonUtil.getJsonToList(Contract_item1List,Contract_item1Model.class ));
vo.setContract_item1List(JsonUtil.getJsonToList(Contract_item1List, Contract_item1Model.class));
//副表
return ActionResult.success(vo);
}
@ -374,19 +431,19 @@ public class ContractFileController {
* @return
*/
@GetMapping("/detail/{id}")
public ActionResult<ContractFileInfoVO> detailInfo(@PathVariable("id") String id){
ContractFileEntity entity= contractFileService.getInfo(id);
ContractFileInfoVO vo=JsonUtil.getJsonToBean(entity, ContractFileInfoVO.class);
public ActionResult<ContractFileInfoVO> detailInfo(@PathVariable("id") String id) {
ContractFileEntity entity = contractFileService.getInfo(id);
ContractFileInfoVO vo = JsonUtil.getJsonToBean(entity, ContractFileInfoVO.class);
//子表数据转换
List<Contract_item0Entity> jg_contract_item0List = contractFileService.GetContract_item0List(id);
List<Contract_item0Model> jg_contract_item0ModelList = JsonUtil.getJsonToList(jg_contract_item0List,Contract_item0Model.class);
for(Contract_item0Model jg_contract_item0Model : jg_contract_item0ModelList){
List<Contract_item0Model> jg_contract_item0ModelList = JsonUtil.getJsonToList(jg_contract_item0List, Contract_item0Model.class);
for (Contract_item0Model jg_contract_item0Model : jg_contract_item0ModelList) {
}
vo.setContract_item0List(jg_contract_item0ModelList);
List<Contract_item1Entity> jg_contract_item1List = contractFileService.GetContract_item1List(id);
List<Contract_item1Model> jg_contract_item1ModelList = JsonUtil.getJsonToList(jg_contract_item1List,Contract_item1Model.class);
for(Contract_item1Model jg_contract_item1Model : jg_contract_item1ModelList){
List<Contract_item1Model> jg_contract_item1ModelList = JsonUtil.getJsonToList(jg_contract_item1List, Contract_item1Model.class);
for (Contract_item1Model jg_contract_item1Model : jg_contract_item1ModelList) {
jg_contract_item1Model.setEnclosure(generaterSwapUtil.getFileNameInJson(jg_contract_item1Model.getEnclosure()));
}
vo.setContract_item1List(jg_contract_item1ModelList);
@ -394,14 +451,12 @@ public class ContractFileController {
//附表数据转换
//添加到详情表单对象中
vo.setApproval(generaterSwapUtil.switchSelectValue(vo.getApproval() ,"开" ,"关"));
vo.setApproval(generaterSwapUtil.switchSelectValue(vo.getApproval(), "开", "关"));
return ActionResult.success(vo);
}
/**
*
*
@ -410,28 +465,19 @@ public class ContractFileController {
*/
@PutMapping("/{id}")
@Transactional
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid ContractFileUpForm contractFileUpForm) throws DataException {
UserInfo userInfo=userProvider.get();
ContractFileEntity entity= contractFileService.getInfo(id);
if(entity!=null){
ContractFileEntity subentity=JsonUtil.getJsonToBean(contractFileUpForm, ContractFileEntity.class);
public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid ContractFileUpForm contractFileUpForm) throws DataException {
UserInfo userInfo = userProvider.get();
ContractFileEntity entity = contractFileService.getInfo(id);
if (entity != null) {
ContractFileEntity subentity = JsonUtil.getJsonToBean(contractFileUpForm, ContractFileEntity.class);
contractFileService.update(id, subentity);
QueryWrapper<Contract_item0Entity> Contract_item0queryWrapper = new QueryWrapper<>();
Contract_item0queryWrapper.lambda().eq(Contract_item0Entity::getContractId, entity.getId());
contract_item0Service.remove(Contract_item0queryWrapper);
List<Contract_item0Entity> Contract_item0List = JsonUtil.getJsonToList(contractFileUpForm.getContract_item0List(),Contract_item0Entity.class);
for(Contract_item0Entity entitys : Contract_item0List){
List<Contract_item0Entity> Contract_item0List = JsonUtil.getJsonToList(contractFileUpForm.getContract_item0List(), Contract_item0Entity.class);
for (Contract_item0Entity entitys : Contract_item0List) {
entitys.setId(RandomUtil.uuId());
@ -444,8 +490,8 @@ public class ContractFileController {
Contract_item1queryWrapper.lambda().eq(Contract_item1Entity::getContractId, entity.getId());
contract_item1Service.remove(Contract_item1queryWrapper);
List<Contract_item1Entity> Contract_item1List = JsonUtil.getJsonToList(contractFileUpForm.getContract_item1List(),Contract_item1Entity.class);
for(Contract_item1Entity entitys : Contract_item1List){
List<Contract_item1Entity> Contract_item1List = JsonUtil.getJsonToList(contractFileUpForm.getContract_item1List(), Contract_item1Entity.class);
for (Contract_item1Entity entitys : Contract_item1List) {
entitys.setId(RandomUtil.uuId());
entitys.setContractId(entity.getId());
@ -453,13 +499,12 @@ public class ContractFileController {
}
return ActionResult.success("更新成功");
}else{
} else {
return ActionResult.fail("更新失败,数据不存在");
}
}
/**
*
*
@ -468,15 +513,15 @@ public class ContractFileController {
*/
@DeleteMapping("/{id}")
@Transactional
public ActionResult delete(@PathVariable("id") String id){
ContractFileEntity entity= contractFileService.getInfo(id);
if(entity!=null){
public ActionResult delete(@PathVariable("id") String id) {
ContractFileEntity entity = contractFileService.getInfo(id);
if (entity != null) {
contractFileService.delete(entity);
QueryWrapper<Contract_item0Entity> queryWrapperContract_item0=new QueryWrapper<>();
queryWrapperContract_item0.lambda().eq(Contract_item0Entity::getContractId,entity.getId());
QueryWrapper<Contract_item0Entity> queryWrapperContract_item0 = new QueryWrapper<>();
queryWrapperContract_item0.lambda().eq(Contract_item0Entity::getContractId, entity.getId());
contract_item0Service.remove(queryWrapperContract_item0);
QueryWrapper<Contract_item1Entity> queryWrapperContract_item1=new QueryWrapper<>();
queryWrapperContract_item1.lambda().eq(Contract_item1Entity::getContractId,entity.getId());
QueryWrapper<Contract_item1Entity> queryWrapperContract_item1 = new QueryWrapper<>();
queryWrapperContract_item1.lambda().eq(Contract_item1Entity::getContractId, entity.getId());
contract_item1Service.remove(queryWrapperContract_item1);
}
@ -484,7 +529,6 @@ public class ContractFileController {
}
/**
*
*
@ -492,14 +536,14 @@ public class ContractFileController {
* @return
*/
@PostMapping("/getListByCustomer")
public ActionResult getListByCustomer(@RequestBody ContractFileEntity contractFileEntity)throws IOException{
public ActionResult getListByCustomer(@RequestBody ContractFileEntity contractFileEntity) throws IOException {
LambdaQueryWrapper<ContractFileEntity> queryWrapper = new LambdaQueryWrapper<ContractFileEntity>();
queryWrapper.eq(ContractFileEntity::getContractType, "1");
queryWrapper.eq(ContractFileEntity::getStatus, "1");
if(StringUtils.isNotEmpty(contractFileEntity.getCode())){
if (StringUtils.isNotEmpty(contractFileEntity.getCode())) {
queryWrapper.eq(ContractFileEntity::getCode, contractFileEntity.getCode());
}
if(StringUtils.isNotEmpty(contractFileEntity.getName())){
if (StringUtils.isNotEmpty(contractFileEntity.getName())) {
queryWrapper.eq(ContractFileEntity::getName, contractFileEntity.getName());
}
queryWrapper.orderByAsc(ContractFileEntity::getBidOpeningDate);
@ -556,8 +600,8 @@ public class ContractFileController {
vo.setUrl(UploaderUtil.uploaderImg("/api/file/Image/annex/", fileName));
} else if (type.equalsIgnoreCase(FileTypeEnum.ANNEXPIC)) {
vo.setUrl(UploaderUtil.uploaderImg("/api/file/Image/annex/", fileName));
}else {
vo.setUrl(UploaderUtil.uploaderImg("/api/file/Image/"+type.toLowerCase()+"/", fileName));
} else {
vo.setUrl(UploaderUtil.uploaderImg("/api/file/Image/" + type.toLowerCase() + "/", fileName));
}
//上传到永中

@ -3,6 +3,7 @@
package jnpf.contractfile.model.contractfile;
import jnpf.permission.model.user.vo.UserExportVO;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
@ -131,4 +132,6 @@ public class ContractFileInfoVO{
/** 子表数据 **/
@JsonProperty("contract_item1List")
private List<Contract_item1Model> contract_item1List;
private List<ContractFileInfoVO> list;
}

@ -0,0 +1,48 @@
package jnpf.contractfile.model.contractfile;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.List;
/**
*
* @author Allen Pan
* @version V3.4.1
* @copyright
*
*/
@Data
public class ContractFileModel {
@Excel(name = "合同编码")
private String contractCode;
@Excel(name = "合同名称")
private String contractName;
@Excel(name = "对方合同号")
private String contractNo;
@Excel(name = "合同类型")
private String contractType;
@Excel(name = "合同分类")
private String classification;
@Excel(name = "申报日期")
private String declarationDate;
@Excel(name = "供应商/客户")
private String name;
@Excel(name = "数量")
private String num;
@Excel(name = "金额")
private String amount;
@Excel(name = "部门名称")
private String deptName;
@Excel(name = "备注")
private String remark;
@Excel(name = "录入人")
private String creatorusername;
@Excel(name = "合同状态")
private String status;
@Excel(name = "集团审批")
private String approval;
private List<ContractFileModel> list;
private String creatorTime;
}

@ -0,0 +1,36 @@
package jnpf.contractfile.model.contractfile;
import jnpf.contractfile.model.contractfile.ContractFileModel;
import lombok.Data;
import java.util.List;
/**
*
* @author Allen Pan
* @version V3.4.1
* @copyright
*
*/
@Data
public class ContractfileImportVO {
/**
*
*/
private int snum;
/**
*
*/
private int fnum;
/**
* (0, 1)
*/
private int resultType;
/**
*
*/
private List<ContractFileModel> failResult;
}

@ -1,10 +1,21 @@
package jnpf.contractfile.service;
import jnpf.base.ActionResult;
import jnpf.base.entity.BillRuleEntity;
import jnpf.contractfile.entity.Contract_item0Entity;
import jnpf.contractfile.entity.Contract_item1Entity;
import jnpf.contractfile.entity.ContractFileEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.contractfile.model.contractfile.ContractFileInfoVO;
import jnpf.contractfile.model.contractfile.ContractFileModel;
import jnpf.contractfile.model.contractfile.ContractFilePagination;
import jnpf.contractfile.model.contractfile.ContractfileImportVO;
import jnpf.exception.DataException;
import jnpf.model.EmployeeModel;
import jnpf.model.employee.EmployeeImportVO;
import jnpf.permission.model.user.vo.UserExportVO;
import jnpf.permission.model.user.vo.UserImportVO;
import java.util.*;
/**
*
@ -30,6 +41,22 @@ public interface ContractFileService extends IService<ContractFileEntity> {
boolean update( String id, ContractFileEntity entity);
/**
*
*
* @param personList
* @return
*/
Map<String, Object> importPreview(List<ContractFileModel> personList);
/**
*
*
* @param dt
*/
ContractfileImportVO importData(List<ContractFileModel> dt);
// 子表方法
List<Contract_item0Entity> GetContract_item0List(String id);
List<Contract_item1Entity> GetContract_item1List(String id);

@ -2,16 +2,23 @@ package jnpf.contractfile.service.impl;
import jnpf.contractfile.entity.*;
import jnpf.contractfile.mapper.ContractFileMapper;
import jnpf.contractfile.model.contractfile.ContractFileModel;
import jnpf.contractfile.model.contractfile.ContractfileImportVO;
import jnpf.contractfile.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.hutool.core.util.ObjectUtil;
import jnpf.entity.EmployeeEntity;
import jnpf.model.EmployeeModel;
import jnpf.model.employee.EmployeeImportVO;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import jnpf.contractfile.model.contractfile.ContractFilePagination;
import jnpf.permission.service.AuthorizeService;
import java.lang.reflect.Field;
import com.baomidou.mybatisplus.annotation.TableField;
@ -21,10 +28,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import jnpf.util.*;
import java.util.*;
/**
*
* contractFile
* V3.2.0
* LINKAGE-BOOT
@ -32,7 +39,7 @@ import java.util.*;
* 2023-01-04
*/
@Service
public class ContractFileServiceImpl extends ServiceImpl<ContractFileMapper, ContractFileEntity> implements ContractFileService{
public class ContractFileServiceImpl extends ServiceImpl<ContractFileMapper, ContractFileEntity> implements ContractFileService {
@Autowired
@ -49,239 +56,362 @@ public class ContractFileServiceImpl extends ServiceImpl<ContractFileMapper, Con
private Contract_item1Service contract_item1Service;
@Override
public List<ContractFileEntity> getList(ContractFilePagination contractFilePagination){
String userId=userProvider.get().getUserId();
List<String> AllIdList =new ArrayList();
int total=0;
int contractFileNum =0;
QueryWrapper<ContractFileEntity> contractFileQueryWrapper=new QueryWrapper<>();
int contract_item0Num =0;
QueryWrapper<Contract_item0Entity> contract_item0QueryWrapper=new QueryWrapper<>();
int contract_item1Num =0;
QueryWrapper<Contract_item1Entity> contract_item1QueryWrapper=new QueryWrapper<>();
boolean pcPermission = false;
public List<ContractFileEntity> getList(ContractFilePagination contractFilePagination) {
String userId = userProvider.get().getUserId();
List<String> AllIdList = new ArrayList();
int total = 0;
int contractFileNum = 0;
QueryWrapper<ContractFileEntity> contractFileQueryWrapper = new QueryWrapper<>();
int contract_item0Num = 0;
QueryWrapper<Contract_item0Entity> contract_item0QueryWrapper = new QueryWrapper<>();
int contract_item1Num = 0;
QueryWrapper<Contract_item1Entity> contract_item1QueryWrapper = new QueryWrapper<>();
boolean pcPermission = true;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){
Object contractFileObj=authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper,contractFilePagination.getMenuId(),"contractFile"));
if (ObjectUtil.isEmpty(contractFileObj)){
if (isPc && pcPermission) {
if (!userProvider.get().getIsAdministrator()) {
Object contractFileObj = authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper, contractFilePagination.getMenuId(), "jg_contract"));
if (ObjectUtil.isEmpty(contractFileObj)) {
return new ArrayList<>();
} else {
contractFileQueryWrapper = (QueryWrapper<ContractFileEntity>)contractFileObj;
contractFileQueryWrapper = (QueryWrapper<ContractFileEntity>) contractFileObj;
contractFileNum++;
}
Object contract_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper,contractFilePagination.getMenuId(),"contract_item0"));
if (ObjectUtil.isEmpty(contract_item0Obj)){
Object contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper, contractFilePagination.getMenuId(), "jg_contract_item0"));
if (ObjectUtil.isEmpty(contract_item0Obj)) {
return new ArrayList<>();
} else {
contract_item0QueryWrapper = (QueryWrapper<Contract_item0Entity>)contract_item0Obj;
contract_item0QueryWrapper = (QueryWrapper<Contract_item0Entity>) contract_item0Obj;
contract_item0Num++;
}
Object contract_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper,contractFilePagination.getMenuId(),"contract_item1"));
if (ObjectUtil.isEmpty(contract_item1Obj)){
Object contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper, contractFilePagination.getMenuId(), "jg_contract_item1"));
if (ObjectUtil.isEmpty(contract_item1Obj)) {
return new ArrayList<>();
} else {
contract_item1QueryWrapper = (QueryWrapper<Contract_item1Entity>)contract_item1Obj;
contract_item1QueryWrapper = (QueryWrapper<Contract_item1Entity>) contract_item1Obj;
contract_item1Num++;
}
}
}
if(!isPc && appPermission){
if (!userProvider.get().getIsAdministrator()){
Object contractFileObj=authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper,contractFilePagination.getMenuId(),"contractFile"));
if (ObjectUtil.isEmpty(contractFileObj)){
if (!isPc && appPermission) {
if (!userProvider.get().getIsAdministrator()) {
Object contractFileObj = authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper, contractFilePagination.getMenuId(), "jg_contract"));
if (ObjectUtil.isEmpty(contractFileObj)) {
return new ArrayList<>();
} else {
contractFileQueryWrapper = (QueryWrapper<ContractFileEntity>)contractFileObj;
contractFileQueryWrapper = (QueryWrapper<ContractFileEntity>) contractFileObj;
contractFileNum++;
}
Object contract_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper,contractFilePagination.getMenuId(),"contract_item0"));
if (ObjectUtil.isEmpty(contract_item0Obj)){
Object contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper, contractFilePagination.getMenuId(), "jg_contract_item0"));
if (ObjectUtil.isEmpty(contract_item0Obj)) {
return new ArrayList<>();
} else {
contract_item0QueryWrapper = (QueryWrapper<Contract_item0Entity>)contract_item0Obj;
contract_item0QueryWrapper = (QueryWrapper<Contract_item0Entity>) contract_item0Obj;
contract_item0Num++;
}
Object contract_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper,contractFilePagination.getMenuId(),"contract_item1"));
if (ObjectUtil.isEmpty(contract_item1Obj)){
Object contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper, contractFilePagination.getMenuId(), "jg_contract_item1"));
if (ObjectUtil.isEmpty(contract_item1Obj)) {
return new ArrayList<>();
} else {
contract_item1QueryWrapper = (QueryWrapper<Contract_item1Entity>)contract_item1Obj;
contract_item1QueryWrapper = (QueryWrapper<Contract_item1Entity>) contract_item1Obj;
contract_item1Num++;
}
}
}
if(AllIdList.size()>0){
if (AllIdList.size() > 0) {
contractFileQueryWrapper.lambda().in(ContractFileEntity::getId, AllIdList);
}
//排序
if(StringUtil.isEmpty(contractFilePagination.getSidx())){
if (StringUtil.isEmpty(contractFilePagination.getSidx())) {
contractFileQueryWrapper.lambda().orderByDesc(ContractFileEntity::getId);
}else{
} else {
try {
String sidx = contractFilePagination.getSidx();
ContractFileEntity contractFileEntity = new ContractFileEntity();
Field declaredField = contractFileEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
contractFileQueryWrapper="asc".equals(contractFilePagination.getSort().toLowerCase())?contractFileQueryWrapper.orderByAsc(value):contractFileQueryWrapper.orderByDesc(value);
contractFileQueryWrapper = "asc".equals(contractFilePagination.getSort().toLowerCase()) ? contractFileQueryWrapper.orderByAsc(value) : contractFileQueryWrapper.orderByDesc(value);
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
if((total>0 && AllIdList.size()>0) || total==0){
Page<ContractFileEntity> page=new Page<>(contractFilePagination.getCurrentPage(), contractFilePagination.getPageSize());
IPage<ContractFileEntity> userIPage=this.page(page, contractFileQueryWrapper);
return contractFilePagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{
if ((total > 0 && AllIdList.size() > 0) || total == 0) {
Page<ContractFileEntity> page = new Page<>(contractFilePagination.getCurrentPage(), contractFilePagination.getPageSize());
IPage<ContractFileEntity> userIPage = this.page(page, contractFileQueryWrapper);
return contractFilePagination.setData(userIPage.getRecords(), userIPage.getTotal());
} else {
List<ContractFileEntity> list = new ArrayList();
return contractFilePagination.setData(list, list.size());
}
}
@Override
public List<ContractFileEntity> getTypeList(ContractFilePagination contractFilePagination,String dataType){
String userId=userProvider.get().getUserId();
List<String> AllIdList =new ArrayList();
int total=0;
int contractFileNum =0;
QueryWrapper<ContractFileEntity> contractFileQueryWrapper=new QueryWrapper<>();
int contract_item0Num =0;
QueryWrapper<Contract_item0Entity> contract_item0QueryWrapper=new QueryWrapper<>();
int contract_item1Num =0;
QueryWrapper<Contract_item1Entity> contract_item1QueryWrapper=new QueryWrapper<>();
boolean pcPermission = false;
public List<ContractFileEntity> getTypeList(ContractFilePagination contractFilePagination, String dataType) {
String userId = userProvider.get().getUserId();
List<String> AllIdList = new ArrayList();
int total = 0;
int contractFileNum = 0;
QueryWrapper<ContractFileEntity> contractFileQueryWrapper = new QueryWrapper<>();
int contract_item0Num = 0;
QueryWrapper<Contract_item0Entity> contract_item0QueryWrapper = new QueryWrapper<>();
int contract_item1Num = 0;
QueryWrapper<Contract_item1Entity> contract_item1QueryWrapper = new QueryWrapper<>();
boolean pcPermission = true;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){
Object contractFileObj=authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper,contractFilePagination.getMenuId(),"contractFile"));
if (ObjectUtil.isEmpty(contractFileObj)){
if (isPc && pcPermission) {
if (!userProvider.get().getIsAdministrator()) {
Object contractFileObj = authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper, contractFilePagination.getMenuId(), "jg_contract"));
if (ObjectUtil.isEmpty(contractFileObj)) {
return new ArrayList<>();
} else {
contractFileQueryWrapper = (QueryWrapper<ContractFileEntity>)contractFileObj;
contractFileQueryWrapper = (QueryWrapper<ContractFileEntity>) contractFileObj;
contractFileNum++;
}
Object contract_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper,contractFilePagination.getMenuId(),"contract_item0"));
if (ObjectUtil.isEmpty(contract_item0Obj)){
Object contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper, contractFilePagination.getMenuId(), "jg_contract_item0"));
if (ObjectUtil.isEmpty(contract_item0Obj)) {
return new ArrayList<>();
} else {
contract_item0QueryWrapper = (QueryWrapper<Contract_item0Entity>)contract_item0Obj;
contract_item0QueryWrapper = (QueryWrapper<Contract_item0Entity>) contract_item0Obj;
contract_item0Num++;
}
Object contract_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper,contractFilePagination.getMenuId(),"contract_item1"));
if (ObjectUtil.isEmpty(contract_item1Obj)){
Object contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper, contractFilePagination.getMenuId(), "jg_contract_item1"));
if (ObjectUtil.isEmpty(contract_item1Obj)) {
return new ArrayList<>();
} else {
contract_item1QueryWrapper = (QueryWrapper<Contract_item1Entity>)contract_item1Obj;
contract_item1QueryWrapper = (QueryWrapper<Contract_item1Entity>) contract_item1Obj;
contract_item1Num++;
}
}
}
if(!isPc && appPermission){
if (!userProvider.get().getIsAdministrator()){
Object contractFileObj=authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper,contractFilePagination.getMenuId(),"contractFile"));
if (ObjectUtil.isEmpty(contractFileObj)){
if (!isPc && appPermission) {
if (!userProvider.get().getIsAdministrator()) {
Object contractFileObj = authorizeService.getCondition(new AuthorizeConditionModel(contractFileQueryWrapper, contractFilePagination.getMenuId(), "jg_contract"));
if (ObjectUtil.isEmpty(contractFileObj)) {
return new ArrayList<>();
} else {
contractFileQueryWrapper = (QueryWrapper<ContractFileEntity>)contractFileObj;
contractFileQueryWrapper = (QueryWrapper<ContractFileEntity>) contractFileObj;
contractFileNum++;
}
Object contract_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper,contractFilePagination.getMenuId(),"contract_item0"));
if (ObjectUtil.isEmpty(contract_item0Obj)){
Object contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item0QueryWrapper, contractFilePagination.getMenuId(), "jg_contract_item0"));
if (ObjectUtil.isEmpty(contract_item0Obj)) {
return new ArrayList<>();
} else {
contract_item0QueryWrapper = (QueryWrapper<Contract_item0Entity>)contract_item0Obj;
contract_item0QueryWrapper = (QueryWrapper<Contract_item0Entity>) contract_item0Obj;
contract_item0Num++;
}
Object contract_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper,contractFilePagination.getMenuId(),"contract_item1"));
if (ObjectUtil.isEmpty(contract_item1Obj)){
Object contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(contract_item1QueryWrapper, contractFilePagination.getMenuId(), "jg_contract_item1"));
if (ObjectUtil.isEmpty(contract_item1Obj)) {
return new ArrayList<>();
} else {
contract_item1QueryWrapper = (QueryWrapper<Contract_item1Entity>)contract_item1Obj;
contract_item1QueryWrapper = (QueryWrapper<Contract_item1Entity>) contract_item1Obj;
contract_item1Num++;
}
}
}
if(AllIdList.size()>0){
if (AllIdList.size() > 0) {
contractFileQueryWrapper.lambda().in(ContractFileEntity::getId, AllIdList);
}
//排序
if(StringUtil.isEmpty(contractFilePagination.getSidx())){
if (StringUtil.isEmpty(contractFilePagination.getSidx())) {
contractFileQueryWrapper.lambda().orderByDesc(ContractFileEntity::getId);
}else{
} else {
try {
String sidx = contractFilePagination.getSidx();
ContractFileEntity contractFileEntity = new ContractFileEntity();
Field declaredField = contractFileEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
contractFileQueryWrapper="asc".equals(contractFilePagination.getSort().toLowerCase())?contractFileQueryWrapper.orderByAsc(value):contractFileQueryWrapper.orderByDesc(value);
contractFileQueryWrapper = "asc".equals(contractFilePagination.getSort().toLowerCase()) ? contractFileQueryWrapper.orderByAsc(value) : contractFileQueryWrapper.orderByDesc(value);
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
if("0".equals(dataType)){
if((total>0 && AllIdList.size()>0) || total==0){
Page<ContractFileEntity> page=new Page<>(contractFilePagination.getCurrentPage(), contractFilePagination.getPageSize());
IPage<ContractFileEntity> userIPage=this.page(page, contractFileQueryWrapper);
return contractFilePagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{
if ("0".equals(dataType)) {
if ((total > 0 && AllIdList.size() > 0) || total == 0) {
Page<ContractFileEntity> page = new Page<>(contractFilePagination.getCurrentPage(), contractFilePagination.getPageSize());
IPage<ContractFileEntity> userIPage = this.page(page, contractFileQueryWrapper);
return contractFilePagination.setData(userIPage.getRecords(), userIPage.getTotal());
} else {
List<ContractFileEntity> list = new ArrayList();
return contractFilePagination.setData(list, list.size());
}
}else{
} else {
return this.list(contractFileQueryWrapper);
}
}
@Override
public ContractFileEntity getInfo(String id){
QueryWrapper<ContractFileEntity> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(ContractFileEntity::getId,id);
public ContractFileEntity getInfo(String id) {
QueryWrapper<ContractFileEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ContractFileEntity::getId, id);
return this.getOne(queryWrapper);
}
@Override
public void create(ContractFileEntity entity){
public void create(ContractFileEntity entity) {
this.save(entity);
}
@Override
public boolean update(String id, ContractFileEntity entity){
public boolean update(String id, ContractFileEntity entity) {
entity.setId(id);
return this.updateById(entity);
}
@Override //预览
public Map<String, Object> importPreview(List<ContractFileModel> personList) {
List<Map<String, Object>> dataRow = new ArrayList<>();
List<Map<String, Object>> columns = new ArrayList<>();
if (personList != null) {
for (int i = 0; i < personList.size(); i++) {
Map<String, Object> dataRowMap = new HashMap<>();
ContractFileModel model = personList.get(i);
dataRowMap.put("contractCode", model.getContractCode());
dataRowMap.put("contractName", model.getContractName());
dataRowMap.put("contractNo", model.getContractNo());
dataRowMap.put("contractType", model.getContractType());
dataRowMap.put("classification", model.getClassification());
dataRowMap.put("declarationDate", model.getDeclarationDate());
dataRowMap.put("name", model.getName());
dataRowMap.put("num", model.getNum());
dataRowMap.put("amount", model.getAmount());
dataRowMap.put("deptName", model.getDeptName());
dataRowMap.put("remark", model.getRemark());
dataRowMap.put("creatorusername", model.getCreatorusername());
dataRowMap.put("status", model.getStatus());
dataRowMap.put("approval", model.getApproval());
dataRow.add(dataRowMap);
}
for (int i = 1; i < 15; i++) {
Map<String, Object> columnsMap = new HashMap<>();
columnsMap.put("AllowDBNull", true);
columnsMap.put("AutoIncrement", false);
columnsMap.put("AutoIncrementSeed", 0);
columnsMap.put("AutoIncrementStep", 1);
columnsMap.put("Caption", this.getColumns(i));
columnsMap.put("ColumnMapping", 1);
columnsMap.put("ColumnName", this.getColumns(i));
columnsMap.put("Container", null);
columnsMap.put("DataType", "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
columnsMap.put("DateTimeMode", 3);
columnsMap.put("DefaultValue", null);
columnsMap.put("DesignMode", false);
columnsMap.put("Expression", "");
columnsMap.put("ExtendedProperties", "");
columnsMap.put("MaxLength", -1);
columnsMap.put("Namespace", "");
columnsMap.put("Ordinal", 0);
columnsMap.put("Prefix", "");
columnsMap.put("ReadOnly", false);
columnsMap.put("Site", null);
columnsMap.put("Table", personList);
columnsMap.put("Unique", false);
columns.add(columnsMap);
}
}
Map<String, Object> map = new HashMap<>();
map.put("dataRow", dataRow);
map.put("columns", columns);
return map;
}
//导入
@Override
public void delete(ContractFileEntity entity){
if(entity!=null){
public ContractfileImportVO importData(List<ContractFileModel> dt) {
for (ContractFileModel model : dt) {
model.setCreatorTime(DateUtil.cstFormat(model.getCreatorTime()));
model.setNum(DateUtil.cstFormat(model.getNum()));
if (model.getContractType() != null) {
if (model.getContractType().equals("采购合同")) {
model.setContractType("0");
} else if (model.getContractType().equals("销售合同")) {
model.setContractType("1");
}
}
if (model.getClassification() != null) {
if (model.getClassification().equals("采购类")) {
model.setClassification("0");
} else if (model.getClassification().equals("销售类")) {
model.setClassification("1");
}
}
if (model.getStatus() != null) {
if (model.getStatus().equals("合同进行中")) {
model.setStatus("0");
} else if (model.getStatus().equals("合同审批中")) {
model.setStatus("1");
} else if (model.getStatus().equals("合同审批结束")) {
model.setStatus("2");
}
}
}
List<ContractFileEntity> entitys = JsonUtil.getJsonToList(dt, ContractFileEntity.class);
//记录成功了几条
int sum = 0;
//记录第几条失败
int num = 0;
List<ContractFileEntity> errList = new ArrayList<>();
for (ContractFileEntity entity : entitys) {
entity.setId(RandomUtil.uuId());
entity.setCreatoruserid(userProvider.get().getUserId());
entity.setCreatortime(new Date());
try {
this.baseMapper.insert(entity);
sum++;
} catch (Exception e) {
errList.add(entity);
num++;
log.error("导入第" + (num + 1) + "条数据失败");
}
}
ContractfileImportVO vo = new ContractfileImportVO();
vo.setSnum(sum);
vo.setFnum(num);
if (vo.getFnum() > 0) {
vo.setResultType(1);
vo.setFailResult(JsonUtil.getJsonToList(errList, ContractFileModel.class));
return vo;
} else {
vo.setResultType(0);
return vo;
}
}
@Override
public void delete(ContractFileEntity entity) {
if (entity != null) {
this.removeById(entity.getId());
}
}
//子表方法
@Override
public List<Contract_item0Entity> GetContract_item0List(String id){
public List<Contract_item0Entity> GetContract_item0List(String id) {
QueryWrapper<Contract_item0Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(Contract_item0Entity::getContractId, id);
return contract_item0Service.list(queryWrapper);
}
@Override
public List<Contract_item1Entity> GetContract_item1List(String id){
public List<Contract_item1Entity> GetContract_item1List(String id) {
QueryWrapper<Contract_item1Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(Contract_item1Entity::getContractId, id);
return contract_item1Service.list(queryWrapper);
@ -290,4 +420,42 @@ public class ContractFileServiceImpl extends ServiceImpl<ContractFileMapper, Con
//列表子表数据方法
private String getKey(String key) {
Map<String, String> map = new HashMap<>();
map.put("工号", "F_EnCode");
map.put("姓名", "F_FullName");
map.put("性别", "F_Gender");
map.put("部门", "F_DepartmentName");
map.put("岗位", "F_PositionName");
map.put("用工性质", "F_WorkingNature");
map.put("身份证号", "F_IDNumber");
map.put("联系电话", "F_Telephone");
map.put("出生年月", "F_Birthday");
map.put("参加工作", "F_AttendWorkTime");
map.put("最高学历", "F_Education");
map.put("所学专业", "F_Major");
map.put("毕业院校", "F_GraduationAcademy");
map.put("毕业时间", "F_GraduationTime");
return map.get(key);
}
private String getColumns(Integer key) {
Map<Integer, String> map = new HashMap<>();
map.put(1, "合同编码");
map.put(2, "合同名称");
map.put(3, "对方合同号");
map.put(4, "合同类型");
map.put(5, "合同分类");
map.put(6, "申报日期");
map.put(7, "供应商");
map.put(8, "数量");
map.put(9, "金额");
map.put(10, "部门名称");
map.put(11, "备注");
map.put(12, "录入人");
map.put(13, "单据状态");
map.put(14, "集团审批");
return map.get(key);
}
}

@ -0,0 +1,425 @@
package jnpf.demo.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jnpf.base.ActionResult;
import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.base.UserInfo;
import jnpf.base.vo.DownloadVO;
import jnpf.config.ConfigValueUtil;
import jnpf.exception.DataException;
import org.springframework.transaction.annotation.Transactional;
import jnpf.base.entity.ProvinceEntity;
import jnpf.demo.model.jg_supplier.*;
import jnpf.demo.model.jg_supplier.Jg_supplierPagination;
import jnpf.demo.entity.*;
import jnpf.util.*;
import jnpf.base.util.*;
import jnpf.base.vo.ListVO;
import jnpf.util.context.SpringContext;
import cn.hutool.core.util.ObjectUtil;
import lombok.extern.slf4j.Slf4j;
import lombok.Cleanup;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import jnpf.demo.entity.Jg_supplierEntity;
import jnpf.demo.service.Jg_supplierService;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import jnpf.util.GeneraterSwapUtil;
import java.util.*;
import jnpf.util.file.UploadUtil;
import jnpf.util.enums.FileTypeEnum;
/**
*
* jg_supplier
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Slf4j
@RestController
@Api(tags = "jg_supplier" , value = "example")
@RequestMapping("/api/example/Jg_supplier")
public class Jg_supplierController {
@Autowired
private GeneraterSwapUtil generaterSwapUtil;
@Autowired
private ConfigValueUtil configValueUtil;
@Autowired
private UserProvider userProvider;
@Autowired
private Jg_supplierService jg_supplierService;
/**
*
*
* @param jg_supplierPagination
* @return
*/
@PostMapping("/getList")
public ActionResult list(@RequestBody Jg_supplierPagination jg_supplierPagination)throws IOException{
List<Jg_supplierEntity> list= jg_supplierService.getList(jg_supplierPagination);
//处理id字段转名称若无需转或者为空可删除
for(Jg_supplierEntity entity:list){
entity.setCreatorUserId(generaterSwapUtil.userSelectValue(entity.getCreatorUserId()));
entity.setCreatorUserName(generaterSwapUtil.userSelectValue(entity.getCreatorUserName()));
Map<String,Object> companyIdMap = new HashMap<>();
entity.setCompanyId(generaterSwapUtil.getPopupSelectValue("394016341591396805","F_Id","F_FullName",entity.getCompanyId(),companyIdMap));
entity.setProvince(generaterSwapUtil.provinceData(entity.getProvince()));
}
List<Jg_supplierListVO> listVO=JsonUtil.getJsonToList(list,Jg_supplierListVO.class);
for(Jg_supplierListVO jg_supplierVO:listVO){
}
PageListVO vo=new PageListVO();
vo.setList(listVO);
PaginationVO page=JsonUtil.getJsonToBean(jg_supplierPagination,PaginationVO.class);
vo.setPagination(page);
return ActionResult.success(vo);
}
/**
*
*
* @param jg_supplierCrForm
* @return
*/
@PostMapping
@Transactional
public ActionResult create(@RequestBody @Valid Jg_supplierCrForm jg_supplierCrForm) throws DataException {
String mainId =RandomUtil.uuId();
UserInfo userInfo=userProvider.get();
jg_supplierCrForm.setCreatorUserId(userInfo.getUserId());
jg_supplierCrForm.setCreatorUserName(userInfo.getUserId());
jg_supplierCrForm.setCreatorTime(DateUtil.getNow());
Jg_supplierEntity entity = JsonUtil.getJsonToBean(jg_supplierCrForm, Jg_supplierEntity.class);
entity.setId(mainId);
jg_supplierService.save(entity);
return ActionResult.success("创建成功");
}
/**
*
*
* @return
*/
@ApiOperation("模板下载")
@GetMapping("/templateDownload")
public ActionResult<DownloadVO> TemplateDownload(){
UserInfo userInfo=userProvider.get();
DownloadVO vo=DownloadVO.builder().build();
try{
vo.setName("职员信息.xlsx");
vo.setUrl(UploaderUtil.uploaderFile("/api/Common/DownloadModel?encryption=" ,userInfo.getId()+"#"+"职员信息.xlsx"+"#"+"Temporary"));
}catch(Exception e){
log.error("信息导出Excel错误:{}" ,e.getMessage());
}
return ActionResult.success(vo);
}
/**
* Excel
*
* @return
*/
@ApiOperation("导出Excel")
@GetMapping("/Actions/Export")
public ActionResult Export(Jg_supplierPaginationExportModel jg_supplierPaginationExportModel) throws IOException {
if (StringUtil.isEmpty(jg_supplierPaginationExportModel.getSelectKey())){
return ActionResult.fail("请选择导出字段");
}
Jg_supplierPagination jg_supplierPagination=JsonUtil.getJsonToBean(jg_supplierPaginationExportModel, Jg_supplierPagination.class);
List<Jg_supplierEntity> list= jg_supplierService.getTypeList(jg_supplierPagination,jg_supplierPaginationExportModel.getDataType());
//处理id字段转名称若无需转或者为空可删除
for(Jg_supplierEntity entity:list){
entity.setCreatorUserId(generaterSwapUtil.userSelectValue(entity.getCreatorUserId()));
entity.setCreatorUserName(generaterSwapUtil.userSelectValue(entity.getCreatorUserName()));
Map<String,Object> companyIdMap = new HashMap<>();
entity.setCompanyId(generaterSwapUtil.getPopupSelectValue("394016341591396805","F_Id","F_FullName",entity.getCompanyId(),companyIdMap));
entity.setProvince(generaterSwapUtil.provinceData(entity.getProvince()));
}
List<Jg_supplierListVO> listVO=JsonUtil.getJsonToList(list,Jg_supplierListVO.class);
for(Jg_supplierListVO jg_supplierVO:listVO){
}
//转换为map输出
List<Map<String, Object>>mapList=JsonUtil.getJsonToListMap(JsonUtil.getObjectToStringDateFormat(listVO,"yyyy-MM-dd HH:mm:ss"));
String[]keys=!StringUtil.isEmpty(jg_supplierPaginationExportModel.getSelectKey())?jg_supplierPaginationExportModel.getSelectKey().split(","):new String[0];
UserInfo userInfo=userProvider.get();
DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),mapList,keys,userInfo);
return ActionResult.success(vo);
}
//导出表格
public DownloadVO creatModelExcel(String path,List<Map<String, Object>>list,String[]keys,UserInfo userInfo){
DownloadVO vo=DownloadVO.builder().build();
List<ExcelExportEntity> entitys=new ArrayList<>();
if(keys.length>0){
for(String key:keys){
switch(key){
case "creatorUserId" :
entitys.add(new ExcelExportEntity("创建人" ,"creatorUserId"));
break;
case "creatorUserName" :
entitys.add(new ExcelExportEntity("创建人名称" ,"creatorUserName"));
break;
case "supplierCode" :
entitys.add(new ExcelExportEntity("供应商编码" ,"supplierCode"));
break;
case "companyId" :
entitys.add(new ExcelExportEntity("所属公司" ,"companyId"));
break;
case "supplierName" :
entitys.add(new ExcelExportEntity("供应商名称" ,"supplierName"));
break;
case "country" :
entitys.add(new ExcelExportEntity("国家" ,"country"));
break;
case "supply" :
entitys.add(new ExcelExportEntity("供货指标" ,"supply"));
break;
case "province" :
entitys.add(new ExcelExportEntity("省" ,"province"));
break;
case "contactName" :
entitys.add(new ExcelExportEntity("联系人" ,"contactName"));
break;
case "supplierLevel" :
entitys.add(new ExcelExportEntity("供应商等级" ,"supplierLevel"));
break;
case "contactPhone" :
entitys.add(new ExcelExportEntity("联系电话" ,"contactPhone"));
break;
case "enterprise" :
entitys.add(new ExcelExportEntity("供应商性质" ,"enterprise"));
break;
case "address" :
entitys.add(new ExcelExportEntity("地址" ,"address"));
break;
case "classification" :
entitys.add(new ExcelExportEntity("供应商类型" ,"classification"));
break;
case "bank" :
entitys.add(new ExcelExportEntity("开户行" ,"bank"));
break;
case "taxCode" :
entitys.add(new ExcelExportEntity("默认税码" ,"taxCode"));
break;
case "vatRegistrationNum" :
entitys.add(new ExcelExportEntity("纳税编号" ,"vatRegistrationNum"));
break;
case "isPurchase" :
entitys.add(new ExcelExportEntity("是否采购" ,"isPurchase"));
break;
case "bankAccount" :
entitys.add(new ExcelExportEntity("银行账户" ,"bankAccount"));
break;
case "isPayment" :
entitys.add(new ExcelExportEntity("是否付款" ,"isPayment"));
break;
case "payable" :
entitys.add(new ExcelExportEntity("应付科目" ,"payable"));
break;
case "status" :
entitys.add(new ExcelExportEntity("是否启用" ,"status"));
break;
case "prepaid" :
entitys.add(new ExcelExportEntity("预付科目" ,"prepaid"));
break;
case "supplierSiteCode" :
entitys.add(new ExcelExportEntity("供应商地点" ,"supplierSiteCode"));
break;
case "creatorTime" :
entitys.add(new ExcelExportEntity("创建时间" ,"creatorTime"));
break;
case "lastModifyTime" :
entitys.add(new ExcelExportEntity("修改时间" ,"lastModifyTime"));
break;
default:
break;
}
}
}
ExportParams exportParams = new ExportParams(null, "表单信息");
exportParams.setType(ExcelType.XSSF);
try{
@Cleanup Workbook workbook = new HSSFWorkbook();
if (entitys.size()>0){
workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list);
}
String name = "表单信息" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx";
String fileName = configValueUtil.getTemporaryFilePath() + name;
@Cleanup FileOutputStream output = new FileOutputStream(XSSEscape.escapePath(fileName));
workbook.write(output);
//上传文件
UploadUtil.uploadFile(configValueUtil.getFileType(), fileName, FileTypeEnum.TEMPORARY, name);
vo.setName(name);
vo.setUrl(UploaderUtil.uploaderFile(userInfo.getId() + "#" + name + "#" + "Temporary"));
} catch (Exception e) {
log.error("信息导出Excel错误:{}", e.getMessage());
e.printStackTrace();
}
return vo;
}
/**
*
*
* @param ids
* @return
*/
@DeleteMapping("/batchRemove/{ids}")
@Transactional
public ActionResult batchRemove(@PathVariable("ids") String ids){
String[] idList = ids.split(",");
int i =0;
for (String allId : idList){
this.delete(allId);
i++;
}
if (i == 0 ){
return ActionResult.fail("删除失败");
}
return ActionResult.success("删除成功");
}
/**
*
*
* @param id
* @return
*/
@GetMapping("/{id}")
public ActionResult<Jg_supplierInfoVO> info(@PathVariable("id") String id){
Jg_supplierEntity entity= jg_supplierService.getInfo(id);
Jg_supplierInfoVO vo=JsonUtil.getJsonToBean(entity, Jg_supplierInfoVO.class);
vo.setCreatorUserId(generaterSwapUtil.userSelectValue(vo.getCreatorUserId()));
vo.setCreatorUserName(generaterSwapUtil.userSelectValue(vo.getCreatorUserName()));
if(vo.getCreatorTime()!=null){
vo.setCreatorTime(vo.getCreatorTime());
}
if(vo.getLastModifyTime()!=null){
vo.setLastModifyTime(vo.getLastModifyTime());
}
//子表
//副表
return ActionResult.success(vo);
}
/**
* ()
*
* @param id
* @return
*/
@GetMapping("/detail/{id}")
public ActionResult<Jg_supplierInfoVO> detailInfo(@PathVariable("id") String id){
Jg_supplierEntity entity= jg_supplierService.getInfo(id);
Jg_supplierInfoVO vo=JsonUtil.getJsonToBean(entity, Jg_supplierInfoVO.class);
//子表数据转换
//附表数据转换
//添加到详情表单对象中
vo.setCreatorUserId(generaterSwapUtil.userSelectValue(vo.getCreatorUserId()));
vo.setCreatorUserName(generaterSwapUtil.userSelectValue(vo.getCreatorUserName()));
Map<String,Object> companyIdMap = new HashMap<>();
vo.setCompanyId(generaterSwapUtil.getPopupSelectValue("394016341591396805","F_Id","F_FullName",vo.getCompanyId(),companyIdMap));
vo.setProvince(generaterSwapUtil.provinceData(vo.getProvince()));
return ActionResult.success(vo);
}
/**
*
*
* @param id
* @return
*/
@PutMapping("/{id}")
@Transactional
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid Jg_supplierUpForm jg_supplierUpForm) throws DataException {
UserInfo userInfo=userProvider.get();
Jg_supplierEntity entity= jg_supplierService.getInfo(id);
if(entity!=null){
jg_supplierUpForm.setLastModifyTime(DateUtil.getNow());
Jg_supplierEntity subentity=JsonUtil.getJsonToBean(jg_supplierUpForm, Jg_supplierEntity.class);
subentity.setCreatorUserId(entity.getCreatorUserId());
subentity.setCreatorUserName(entity.getCreatorUserName());
subentity.setCreatorTime(entity.getCreatorTime());
jg_supplierService.update(id, subentity);
return ActionResult.success("更新成功");
}else{
return ActionResult.fail("更新失败,数据不存在");
}
}
/**
*
*
* @param id
* @return
*/
@DeleteMapping("/{id}")
@Transactional
public ActionResult delete(@PathVariable("id") String id){
Jg_supplierEntity entity= jg_supplierService.getInfo(id);
if(entity!=null){
jg_supplierService.delete(entity);
}
return ActionResult.success("删除成功");
}
}

@ -1,4 +1,4 @@
package jnpf.invoices.entity;
package jnpf.demo.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
@ -16,11 +16,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-26
*/
@Data
@TableName("jg_supplier")
public class SupplierinvoicesEntity {
public class Jg_supplierEntity {
@TableId("ID")
private String id;
@ -70,9 +70,6 @@ public class SupplierinvoicesEntity {
@TableField("COMPANY_ID")
private String companyId;
@TableField("COMPANY_NAME")
private String companyName;
@TableField("VAT_REGISTRATION_NUM")
private String vatRegistrationNum;
@ -100,4 +97,37 @@ public class SupplierinvoicesEntity {
@TableField("STATUS")
private String status;
@TableField("COUNTRY")
private String country;
@TableField("PROVINCE")
private String province;
@TableField("CLASSIFICATION")
private String classification;
@TableField("ENTERPRISE")
private String enterprise;
@TableField("BANK")
private String bank;
@TableField("BANK_ACCOUNT")
private String bankAccount;
@TableField("TAX_CODE")
private String taxCode;
@TableField("PAYABLE")
private String payable;
@TableField("PREPAID")
private String prepaid;
@TableField("IS_PURCHASE")
private String isPurchase;
@TableField("IS_PAYMENT")
private String isPayment;
}

@ -0,0 +1,17 @@
package jnpf.demo.mapper;
import jnpf.demo.entity.Jg_supplierEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
* jg_supplier
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-26
*/
public interface Jg_supplierMapper extends BaseMapper<Jg_supplierEntity> {
}

@ -0,0 +1,128 @@
package jnpf.demo.model.jg_supplier;
import lombok.Data;
import java.util.List;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_supplierCrForm {
/** 创建人 **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 供应商编码 **/
@JsonProperty("supplierCode")
private String supplierCode;
/** 所属公司 **/
@JsonProperty("companyId")
private String companyId;
/** 供应商名称 **/
@JsonProperty("supplierName")
private String supplierName;
/** 国家 **/
@JsonProperty("country")
private String country;
/** 供货指标 **/
@JsonProperty("supply")
private String supply;
/** 省 **/
@JsonProperty("province")
private String province;
/** 联系人 **/
@JsonProperty("contactName")
private String contactName;
/** 供应商等级 **/
@JsonProperty("supplierLevel")
private String supplierLevel;
/** 联系电话 **/
@JsonProperty("contactPhone")
private String contactPhone;
/** 供应商性质 **/
@JsonProperty("enterprise")
private String enterprise;
/** 地址 **/
@JsonProperty("address")
private String address;
/** 供应商类型 **/
@JsonProperty("classification")
private String classification;
/** 开户行 **/
@JsonProperty("bank")
private String bank;
/** 默认税码 **/
@JsonProperty("taxCode")
private String taxCode;
/** 纳税编号 **/
@JsonProperty("vatRegistrationNum")
private String vatRegistrationNum;
/** 是否采购 **/
@JsonProperty("isPurchase")
private String isPurchase;
/** 银行账户 **/
@JsonProperty("bankAccount")
private String bankAccount;
/** 是否付款 **/
@JsonProperty("isPayment")
private String isPayment;
/** 应付科目 **/
@JsonProperty("payable")
private String payable;
/** 是否启用 **/
@JsonProperty("status")
private String status;
/** 预付科目 **/
@JsonProperty("prepaid")
private String prepaid;
/** 供应商地点 **/
@JsonProperty("supplierSiteCode")
private String supplierSiteCode;
/** 创建时间 **/
@JsonProperty("creatorTime")
private String creatorTime;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
}

@ -0,0 +1,132 @@
package jnpf.demo.model.jg_supplier;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_supplierInfoVO{
/** 主键 **/
@JsonProperty("id")
private String id;
/** 创建人 **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 供应商编码 **/
@JsonProperty("supplierCode")
private String supplierCode;
/** 所属公司 **/
@JsonProperty("companyId")
private String companyId;
/** 供应商名称 **/
@JsonProperty("supplierName")
private String supplierName;
/** 国家 **/
@JsonProperty("country")
private String country;
/** 供货指标 **/
@JsonProperty("supply")
private String supply;
/** 省 **/
@JsonProperty("province")
private String province;
/** 联系人 **/
@JsonProperty("contactName")
private String contactName;
/** 供应商等级 **/
@JsonProperty("supplierLevel")
private String supplierLevel;
/** 联系电话 **/
@JsonProperty("contactPhone")
private String contactPhone;
/** 供应商性质 **/
@JsonProperty("enterprise")
private String enterprise;
/** 地址 **/
@JsonProperty("address")
private String address;
/** 供应商类型 **/
@JsonProperty("classification")
private String classification;
/** 开户行 **/
@JsonProperty("bank")
private String bank;
/** 默认税码 **/
@JsonProperty("taxCode")
private String taxCode;
/** 纳税编号 **/
@JsonProperty("vatRegistrationNum")
private String vatRegistrationNum;
/** 是否采购 **/
@JsonProperty("isPurchase")
private String isPurchase;
/** 银行账户 **/
@JsonProperty("bankAccount")
private String bankAccount;
/** 是否付款 **/
@JsonProperty("isPayment")
private String isPayment;
/** 应付科目 **/
@JsonProperty("payable")
private String payable;
/** 是否启用 **/
@JsonProperty("status")
private String status;
/** 预付科目 **/
@JsonProperty("prepaid")
private String prepaid;
/** 供应商地点 **/
@JsonProperty("supplierSiteCode")
private String supplierSiteCode;
/** 创建时间 **/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonProperty("creatorTime")
private Date creatorTime;
/** 修改时间 **/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonProperty("lastModifyTime")
private Date lastModifyTime;
}

@ -0,0 +1,36 @@
package jnpf.demo.model.jg_supplier;
import lombok.Data;
import java.util.Date;
import jnpf.base.Pagination;
import java.util.List;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_supplierListQuery extends Pagination {
/** 供应商编码 */
private String supplierCode;
/** 供应商名称 */
private String supplierName;
/** 联系人 */
private String contactName;
/** 联系电话 */
private String contactPhone;
/** 供应商地点 */
private String supplierSiteCode;
/**
* id
*/
private String menuId;
}

@ -0,0 +1,159 @@
package jnpf.demo.model.jg_supplier;
import lombok.Data;
import java.sql.Time;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.math.BigDecimal;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_supplierListVO{
/** 主键 */
private String id;
/** 创建人 **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 供应商编码 **/
@JsonProperty("supplierCode")
private String supplierCode;
/** 所属公司 **/
@JsonProperty("companyId")
private String companyId;
/** 供应商名称 **/
@JsonProperty("supplierName")
private String supplierName;
/** 国家 **/
@JsonProperty("country")
private String country;
/** 供货指标 **/
@JsonProperty("supply")
private String supply;
/** 省 **/
@JsonProperty("province")
private String province;
/** 联系人 **/
@JsonProperty("contactName")
private String contactName;
/** 供应商等级 **/
@JsonProperty("supplierLevel")
private String supplierLevel;
/** 联系电话 **/
@JsonProperty("contactPhone")
private String contactPhone;
/** 供应商性质 **/
@JsonProperty("enterprise")
private String enterprise;
/** 地址 **/
@JsonProperty("address")
private String address;
/** 供应商类型 **/
@JsonProperty("classification")
private String classification;
/** 开户行 **/
@JsonProperty("bank")
private String bank;
/** 默认税码 **/
@JsonProperty("taxCode")
private String taxCode;
/** 纳税编号 **/
@JsonProperty("vatRegistrationNum")
private String vatRegistrationNum;
/** 是否采购 **/
@JsonProperty("isPurchase")
private String isPurchase;
/** 银行账户 **/
@JsonProperty("bankAccount")
private String bankAccount;
/** 是否付款 **/
@JsonProperty("isPayment")
private String isPayment;
/** 应付科目 **/
@JsonProperty("payable")
private String payable;
/** 是否启用 **/
@JsonProperty("status")
private String status;
/** 预付科目 **/
@JsonProperty("prepaid")
private String prepaid;
/** 供应商地点 **/
@JsonProperty("supplierSiteCode")
private String supplierSiteCode;
/** 创建时间 **/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonProperty("creatorTime")
private Date creatorTime;
/** 修改时间 **/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonProperty("lastModifyTime")
private Date lastModifyTime;
}

@ -0,0 +1,37 @@
package jnpf.demo.model.jg_supplier;
import lombok.Data;
import jnpf.base.Pagination;
import java.util.List;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_supplierPagination extends Pagination {
/** 供应商编码 */
private String supplierCode;
/** 供应商名称 */
private String supplierName;
/** 联系人 */
private String contactName;
/** 联系电话 */
private String contactPhone;
/** 供应商地点 */
private String supplierSiteCode;
/**
* id
*/
private String menuId;
}

@ -0,0 +1,38 @@
package jnpf.demo.model.jg_supplier;
import lombok.Data;
import jnpf.base.Pagination;
import java.util.*;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_supplierPaginationExportModel extends Pagination {
private String selectKey;
private String json;
private String dataType;
/** 供应商编码 */
private String supplierCode;
/** 供应商名称 */
private String supplierName;
/** 联系人 */
private String contactName;
/** 联系电话 */
private String contactPhone;
/** 供应商地点 */
private String supplierSiteCode;
}

@ -0,0 +1,156 @@
package jnpf.demo.model.jg_supplier;
import lombok.Data;
import java.util.List;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_supplierUpForm{
/** 主键 */
private String id;
/** 创建人 **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 供应商编码 **/
@JsonProperty("supplierCode")
private String supplierCode;
/** 所属公司 **/
@JsonProperty("companyId")
private String companyId;
/** 供应商名称 **/
@JsonProperty("supplierName")
private String supplierName;
/** 国家 **/
@JsonProperty("country")
private String country;
/** 供货指标 **/
@JsonProperty("supply")
private String supply;
/** 省 **/
@JsonProperty("province")
private String province;
/** 联系人 **/
@JsonProperty("contactName")
private String contactName;
/** 供应商等级 **/
@JsonProperty("supplierLevel")
private String supplierLevel;
/** 联系电话 **/
@JsonProperty("contactPhone")
private String contactPhone;
/** 供应商性质 **/
@JsonProperty("enterprise")
private String enterprise;
/** 地址 **/
@JsonProperty("address")
private String address;
/** 供应商类型 **/
@JsonProperty("classification")
private String classification;
/** 开户行 **/
@JsonProperty("bank")
private String bank;
/** 默认税码 **/
@JsonProperty("taxCode")
private String taxCode;
/** 纳税编号 **/
@JsonProperty("vatRegistrationNum")
private String vatRegistrationNum;
/** 是否采购 **/
@JsonProperty("isPurchase")
private String isPurchase;
/** 银行账户 **/
@JsonProperty("bankAccount")
private String bankAccount;
/** 是否付款 **/
@JsonProperty("isPayment")
private String isPayment;
/** 应付科目 **/
@JsonProperty("payable")
private String payable;
/** 是否启用 **/
@JsonProperty("status")
private String status;
/** 预付科目 **/
@JsonProperty("prepaid")
private String prepaid;
/** 供应商地点 **/
@JsonProperty("supplierSiteCode")
private String supplierSiteCode;
/** 创建时间 **/
@JsonProperty("creatorTime")
private String creatorTime;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
}

@ -0,0 +1,35 @@
package jnpf.demo.service;
import jnpf.demo.entity.Jg_supplierEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.demo.model.jg_supplier.Jg_supplierPagination;
import java.util.*;
/**
*
* jg_supplier
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-26
*/
public interface Jg_supplierService extends IService<Jg_supplierEntity> {
List<Jg_supplierEntity> getList(Jg_supplierPagination jg_supplierPagination);
List<Jg_supplierEntity> getTypeList(Jg_supplierPagination jg_supplierPagination,String dataType);
Jg_supplierEntity getInfo(String id);
void delete(Jg_supplierEntity entity);
void create(Jg_supplierEntity entity);
boolean update( String id, Jg_supplierEntity entity);
// 子表方法
//列表子表数据方法
}

@ -0,0 +1,252 @@
package jnpf.demo.service.impl;
import jnpf.demo.entity.*;
import jnpf.demo.mapper.Jg_supplierMapper;
import jnpf.demo.model.jg_supplier.Jg_supplierPagination;
import jnpf.demo.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.hutool.core.util.ObjectUtil;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import jnpf.permission.service.AuthorizeService;
import java.lang.reflect.Field;
import com.baomidou.mybatisplus.annotation.TableField;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import jnpf.util.*;
import java.util.*;
/**
*
* jg_supplier
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-26
*/
@Service
public class Jg_supplierServiceImpl extends ServiceImpl<Jg_supplierMapper, Jg_supplierEntity> implements Jg_supplierService{
@Autowired
private UserProvider userProvider;
@Autowired
private AuthorizeService authorizeService;
@Override
public List<Jg_supplierEntity> getList(Jg_supplierPagination jg_supplierPagination){
String userId=userProvider.get().getUserId();
List<String> AllIdList =new ArrayList();
int total=0;
int jg_supplierNum =0;
QueryWrapper<Jg_supplierEntity> jg_supplierQueryWrapper=new QueryWrapper<>();
boolean pcPermission = true;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){
Object jg_supplierObj=authorizeService.getCondition(new AuthorizeConditionModel(jg_supplierQueryWrapper,jg_supplierPagination.getMenuId(),"jg_supplier"));
if (ObjectUtil.isEmpty(jg_supplierObj)){
return new ArrayList<>();
} else {
jg_supplierQueryWrapper = (QueryWrapper<Jg_supplierEntity>)jg_supplierObj;
jg_supplierNum++;
}
}
}
if(!isPc && appPermission){
if (!userProvider.get().getIsAdministrator()){
Object jg_supplierObj=authorizeService.getCondition(new AuthorizeConditionModel(jg_supplierQueryWrapper,jg_supplierPagination.getMenuId(),"jg_supplier"));
if (ObjectUtil.isEmpty(jg_supplierObj)){
return new ArrayList<>();
} else {
jg_supplierQueryWrapper = (QueryWrapper<Jg_supplierEntity>)jg_supplierObj;
jg_supplierNum++;
}
}
}
if(StringUtil.isNotEmpty(jg_supplierPagination.getSupplierCode())){
jg_supplierNum++;
jg_supplierQueryWrapper.lambda().like(Jg_supplierEntity::getSupplierCode,jg_supplierPagination.getSupplierCode());
}
if(StringUtil.isNotEmpty(jg_supplierPagination.getSupplierName())){
jg_supplierNum++;
jg_supplierQueryWrapper.lambda().like(Jg_supplierEntity::getSupplierName,jg_supplierPagination.getSupplierName());
}
if(StringUtil.isNotEmpty(jg_supplierPagination.getContactName())){
jg_supplierNum++;
jg_supplierQueryWrapper.lambda().like(Jg_supplierEntity::getContactName,jg_supplierPagination.getContactName());
}
if(StringUtil.isNotEmpty(jg_supplierPagination.getContactPhone())){
jg_supplierNum++;
jg_supplierQueryWrapper.lambda().like(Jg_supplierEntity::getContactPhone,jg_supplierPagination.getContactPhone());
}
if(StringUtil.isNotEmpty(jg_supplierPagination.getSupplierSiteCode())){
jg_supplierNum++;
jg_supplierQueryWrapper.lambda().like(Jg_supplierEntity::getSupplierSiteCode,jg_supplierPagination.getSupplierSiteCode());
}
if(AllIdList.size()>0){
jg_supplierQueryWrapper.lambda().in(Jg_supplierEntity::getId, AllIdList);
}
//排序
if(StringUtil.isEmpty(jg_supplierPagination.getSidx())){
jg_supplierQueryWrapper.lambda().orderByDesc(Jg_supplierEntity::getCreatorTime);
}else{
try {
String sidx = jg_supplierPagination.getSidx();
Jg_supplierEntity jg_supplierEntity = new Jg_supplierEntity();
Field declaredField = jg_supplierEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
jg_supplierQueryWrapper="asc".equals(jg_supplierPagination.getSort().toLowerCase())?jg_supplierQueryWrapper.orderByAsc(value):jg_supplierQueryWrapper.orderByDesc(value);
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
if((total>0 && AllIdList.size()>0) || total==0){
Page<Jg_supplierEntity> page=new Page<>(jg_supplierPagination.getCurrentPage(), jg_supplierPagination.getPageSize());
IPage<Jg_supplierEntity> userIPage=this.page(page, jg_supplierQueryWrapper);
return jg_supplierPagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{
List<Jg_supplierEntity> list = new ArrayList();
return jg_supplierPagination.setData(list, list.size());
}
}
@Override
public List<Jg_supplierEntity> getTypeList(Jg_supplierPagination jg_supplierPagination,String dataType){
String userId=userProvider.get().getUserId();
List<String> AllIdList =new ArrayList();
int total=0;
int jg_supplierNum =0;
QueryWrapper<Jg_supplierEntity> jg_supplierQueryWrapper=new QueryWrapper<>();
boolean pcPermission = true;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){
Object jg_supplierObj=authorizeService.getCondition(new AuthorizeConditionModel(jg_supplierQueryWrapper,jg_supplierPagination.getMenuId(),"jg_supplier"));
if (ObjectUtil.isEmpty(jg_supplierObj)){
return new ArrayList<>();
} else {
jg_supplierQueryWrapper = (QueryWrapper<Jg_supplierEntity>)jg_supplierObj;
jg_supplierNum++;
}
}
}
if(!isPc && appPermission){
if (!userProvider.get().getIsAdministrator()){
Object jg_supplierObj=authorizeService.getCondition(new AuthorizeConditionModel(jg_supplierQueryWrapper,jg_supplierPagination.getMenuId(),"jg_supplier"));
if (ObjectUtil.isEmpty(jg_supplierObj)){
return new ArrayList<>();
} else {
jg_supplierQueryWrapper = (QueryWrapper<Jg_supplierEntity>)jg_supplierObj;
jg_supplierNum++;
}
}
}
if(StringUtil.isNotEmpty(jg_supplierPagination.getSupplierCode())){
jg_supplierNum++;
jg_supplierQueryWrapper.lambda().like(Jg_supplierEntity::getSupplierCode,jg_supplierPagination.getSupplierCode());
}
if(StringUtil.isNotEmpty(jg_supplierPagination.getSupplierName())){
jg_supplierNum++;
jg_supplierQueryWrapper.lambda().like(Jg_supplierEntity::getSupplierName,jg_supplierPagination.getSupplierName());
}
if(StringUtil.isNotEmpty(jg_supplierPagination.getContactName())){
jg_supplierNum++;
jg_supplierQueryWrapper.lambda().like(Jg_supplierEntity::getContactName,jg_supplierPagination.getContactName());
}
if(StringUtil.isNotEmpty(jg_supplierPagination.getContactPhone())){
jg_supplierNum++;
jg_supplierQueryWrapper.lambda().like(Jg_supplierEntity::getContactPhone,jg_supplierPagination.getContactPhone());
}
if(StringUtil.isNotEmpty(jg_supplierPagination.getSupplierSiteCode())){
jg_supplierNum++;
jg_supplierQueryWrapper.lambda().like(Jg_supplierEntity::getSupplierSiteCode,jg_supplierPagination.getSupplierSiteCode());
}
if(AllIdList.size()>0){
jg_supplierQueryWrapper.lambda().in(Jg_supplierEntity::getId, AllIdList);
}
//排序
if(StringUtil.isEmpty(jg_supplierPagination.getSidx())){
jg_supplierQueryWrapper.lambda().orderByDesc(Jg_supplierEntity::getCreatorTime);
}else{
try {
String sidx = jg_supplierPagination.getSidx();
Jg_supplierEntity jg_supplierEntity = new Jg_supplierEntity();
Field declaredField = jg_supplierEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
jg_supplierQueryWrapper="asc".equals(jg_supplierPagination.getSort().toLowerCase())?jg_supplierQueryWrapper.orderByAsc(value):jg_supplierQueryWrapper.orderByDesc(value);
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
if("0".equals(dataType)){
if((total>0 && AllIdList.size()>0) || total==0){
Page<Jg_supplierEntity> page=new Page<>(jg_supplierPagination.getCurrentPage(), jg_supplierPagination.getPageSize());
IPage<Jg_supplierEntity> userIPage=this.page(page, jg_supplierQueryWrapper);
return jg_supplierPagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{
List<Jg_supplierEntity> list = new ArrayList();
return jg_supplierPagination.setData(list, list.size());
}
}else{
return this.list(jg_supplierQueryWrapper);
}
}
@Override
public Jg_supplierEntity getInfo(String id){
QueryWrapper<Jg_supplierEntity> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(Jg_supplierEntity::getId,id);
return this.getOne(queryWrapper);
}
@Override
public void create(Jg_supplierEntity entity){
this.save(entity);
}
@Override
public boolean update(String id, Jg_supplierEntity entity){
entity.setId(id);
return this.updateById(entity);
}
@Override
public void delete(Jg_supplierEntity entity){
if(entity!=null){
this.removeById(entity.getId());
}
}
//子表方法
//列表子表数据方法
}

@ -0,0 +1,513 @@
package jnpf.demo2.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jnpf.base.ActionResult;
import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.base.UserInfo;
import jnpf.base.vo.DownloadVO;
import jnpf.config.ConfigValueUtil;
import jnpf.exception.DataException;
import org.springframework.transaction.annotation.Transactional;
import jnpf.base.entity.ProvinceEntity;
import jnpf.demo2.model.jg_contract.*;
import jnpf.demo2.model.jg_contract.Jg_contractPagination;
import jnpf.demo2.entity.*;
import jnpf.demo2.entity.Jg_contract_item0Entity;
import jnpf.demo2.entity.Jg_contract_item1Entity;
import jnpf.util.*;
import jnpf.base.util.*;
import jnpf.base.vo.ListVO;
import jnpf.util.context.SpringContext;
import cn.hutool.core.util.ObjectUtil;
import lombok.extern.slf4j.Slf4j;
import lombok.Cleanup;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import jnpf.demo2.entity.Jg_contractEntity;
import jnpf.demo2.service.Jg_contractService;
import jnpf.demo2.entity.Jg_contract_item0Entity;
import jnpf.demo2.service.Jg_contract_item0Service;
import jnpf.demo2.entity.Jg_contract_item1Entity;
import jnpf.demo2.service.Jg_contract_item1Service;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import jnpf.util.GeneraterSwapUtil;
import java.util.*;
import jnpf.util.file.UploadUtil;
import jnpf.util.enums.FileTypeEnum;
/**
*
* jg_contract
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Slf4j
@RestController
@Api(tags = "jg_contract" , value = "example")
@RequestMapping("/api/example/Jg_contract")
public class Jg_contractController {
@Autowired
private GeneraterSwapUtil generaterSwapUtil;
@Autowired
private ConfigValueUtil configValueUtil;
@Autowired
private UserProvider userProvider;
@Autowired
private Jg_contractService jg_contractService;
@Autowired
private Jg_contract_item0Service jg_contract_item0Service;
@Autowired
private Jg_contract_item1Service jg_contract_item1Service;
/**
*
*
* @param jg_contractPagination
* @return
*/
@PostMapping("/getList")
public ActionResult list(@RequestBody Jg_contractPagination jg_contractPagination)throws IOException{
List<Jg_contractEntity> list= jg_contractService.getList(jg_contractPagination);
//处理id字段转名称若无需转或者为空可删除
for(Jg_contractEntity entity:list){
entity.setCreatorUserId(generaterSwapUtil.userSelectValue(entity.getCreatorUserId()));
entity.setCreatorUserName(generaterSwapUtil.userSelectValue(entity.getCreatorUserName()));
entity.setApproval(generaterSwapUtil.switchSelectValue(entity.getApproval() ,"开" ,"关"));
}
List<Jg_contractListVO> listVO=JsonUtil.getJsonToList(list,Jg_contractListVO.class);
for(Jg_contractListVO jg_contractVO:listVO){
}
PageListVO vo=new PageListVO();
vo.setList(listVO);
PaginationVO page=JsonUtil.getJsonToBean(jg_contractPagination,PaginationVO.class);
vo.setPagination(page);
return ActionResult.success(vo);
}
/**
*
*
* @param jg_contractCrForm
* @return
*/
@PostMapping
@Transactional
public ActionResult create(@RequestBody @Valid Jg_contractCrForm jg_contractCrForm) throws DataException {
String mainId =RandomUtil.uuId();
UserInfo userInfo=userProvider.get();
jg_contractCrForm.setCreatorUserId(userInfo.getUserId());
jg_contractCrForm.setCreatorUserName(userInfo.getUserId());
Jg_contractEntity entity = JsonUtil.getJsonToBean(jg_contractCrForm, Jg_contractEntity.class);
entity.setId(mainId);
jg_contractService.save(entity);
List<Jg_contract_item0Entity> Jg_contract_item0List = JsonUtil.getJsonToList(jg_contractCrForm.getJg_contract_item0List(),Jg_contract_item0Entity.class);
for(Jg_contract_item0Entity entitys : Jg_contract_item0List){
entitys.setId(RandomUtil.uuId());
entitys.setContractId(entity.getId());
jg_contract_item0Service.save(entitys);
}
List<Jg_contract_item1Entity> Jg_contract_item1List = JsonUtil.getJsonToList(jg_contractCrForm.getJg_contract_item1List(),Jg_contract_item1Entity.class);
for(Jg_contract_item1Entity entitys : Jg_contract_item1List){
entitys.setId(RandomUtil.uuId());
entitys.setContractId(entity.getId());
jg_contract_item1Service.save(entitys);
}
return ActionResult.success("创建成功");
}
/**
*
*
* @return
*/
@ApiOperation("模板下载")
@GetMapping("/templateDownload")
public ActionResult<DownloadVO> TemplateDownload(){
UserInfo userInfo=userProvider.get();
DownloadVO vo=DownloadVO.builder().build();
try{
vo.setName("职员信息.xlsx");
vo.setUrl(UploaderUtil.uploaderFile("/api/Common/DownloadModel?encryption=" ,userInfo.getId()+"#"+"职员信息.xlsx"+"#"+"Temporary"));
}catch(Exception e){
log.error("信息导出Excel错误:{}" ,e.getMessage());
}
return ActionResult.success(vo);
}
/**
* Excel
*
* @return
*/
@ApiOperation("导出Excel")
@GetMapping("/Actions/Export")
public ActionResult Export(Jg_contractPaginationExportModel jg_contractPaginationExportModel) throws IOException {
if (StringUtil.isEmpty(jg_contractPaginationExportModel.getSelectKey())){
return ActionResult.fail("请选择导出字段");
}
Jg_contractPagination jg_contractPagination=JsonUtil.getJsonToBean(jg_contractPaginationExportModel, Jg_contractPagination.class);
List<Jg_contractEntity> list= jg_contractService.getTypeList(jg_contractPagination,jg_contractPaginationExportModel.getDataType());
//处理id字段转名称若无需转或者为空可删除
for(Jg_contractEntity entity:list){
entity.setCreatorUserId(generaterSwapUtil.userSelectValue(entity.getCreatorUserId()));
entity.setCreatorUserName(generaterSwapUtil.userSelectValue(entity.getCreatorUserName()));
entity.setApproval(generaterSwapUtil.switchSelectValue(entity.getApproval() ,"开" ,"关"));
}
List<Jg_contractListVO> listVO=JsonUtil.getJsonToList(list,Jg_contractListVO.class);
for(Jg_contractListVO jg_contractVO:listVO){
}
//转换为map输出
List<Map<String, Object>>mapList=JsonUtil.getJsonToListMap(JsonUtil.getObjectToStringDateFormat(listVO,"yyyy-MM-dd HH:mm:ss"));
String[]keys=!StringUtil.isEmpty(jg_contractPaginationExportModel.getSelectKey())?jg_contractPaginationExportModel.getSelectKey().split(","):new String[0];
UserInfo userInfo=userProvider.get();
DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),mapList,keys,userInfo);
return ActionResult.success(vo);
}
//导出表格
public DownloadVO creatModelExcel(String path,List<Map<String, Object>>list,String[]keys,UserInfo userInfo){
DownloadVO vo=DownloadVO.builder().build();
List<ExcelExportEntity> entitys=new ArrayList<>();
if(keys.length>0){
for(String key:keys){
switch(key){
case "creatorUserId" :
entitys.add(new ExcelExportEntity("创建人id" ,"creatorUserId"));
break;
case "creatorUserName" :
entitys.add(new ExcelExportEntity("创建人名称" ,"creatorUserName"));
break;
case "contractType" :
entitys.add(new ExcelExportEntity("合同类型 " ,"contractType"));
break;
case "contractCode" :
entitys.add(new ExcelExportEntity("合同编码" ,"contractCode"));
break;
case "contractName" :
entitys.add(new ExcelExportEntity("合同名称" ,"contractName"));
break;
case "status" :
entitys.add(new ExcelExportEntity("合同状态" ,"status"));
break;
case "bidOpeningDate" :
entitys.add(new ExcelExportEntity("开标日期" ,"bidOpeningDate"));
break;
case "startDate" :
entitys.add(new ExcelExportEntity("开始日期" ,"startDate"));
break;
case "auditDate" :
entitys.add(new ExcelExportEntity("审核日期" ,"auditDate"));
break;
case "completionDate" :
entitys.add(new ExcelExportEntity("供货完成日期" ,"completionDate"));
break;
case "closingDate" :
entitys.add(new ExcelExportEntity("关闭日期" ,"closingDate"));
break;
case "collectionCycle" :
entitys.add(new ExcelExportEntity("回款周期(日)" ,"collectionCycle"));
break;
case "signingDate" :
entitys.add(new ExcelExportEntity("签订日期" ,"signingDate"));
break;
case "endDate" :
entitys.add(new ExcelExportEntity("截止日期" ,"endDate"));
break;
case "code" :
entitys.add(new ExcelExportEntity("供应商/客户编" ,"code"));
break;
case "name" :
entitys.add(new ExcelExportEntity("供应商/客户名" ,"name"));
break;
case "contractNo" :
entitys.add(new ExcelExportEntity("对方合同号" ,"contractNo"));
break;
case "currency" :
entitys.add(new ExcelExportEntity("币种 " ,"currency"));
break;
case "num" :
entitys.add(new ExcelExportEntity("数量" ,"num"));
break;
case "amount" :
entitys.add(new ExcelExportEntity("金额" ,"amount"));
break;
case "organization" :
entitys.add(new ExcelExportEntity("库存组织" ,"organization"));
break;
case "remark" :
entitys.add(new ExcelExportEntity("备注" ,"remark"));
break;
case "classification" :
entitys.add(new ExcelExportEntity("合同分类 " ,"classification"));
break;
case "declarationDate" :
entitys.add(new ExcelExportEntity("申报日期" ,"declarationDate"));
break;
case "deptCode" :
entitys.add(new ExcelExportEntity("部门编码" ,"deptCode"));
break;
case "creatorusername" :
entitys.add(new ExcelExportEntity("录入人" ,"creatorusername"));
break;
case "deptName" :
entitys.add(new ExcelExportEntity("部门名称" ,"deptName"));
break;
case "approval" :
entitys.add(new ExcelExportEntity("集团审批" ,"approval"));
break;
default:
break;
}
}
}
ExportParams exportParams = new ExportParams(null, "表单信息");
exportParams.setType(ExcelType.XSSF);
try{
@Cleanup Workbook workbook = new HSSFWorkbook();
if (entitys.size()>0){
workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list);
}
String name = "表单信息" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx";
String fileName = configValueUtil.getTemporaryFilePath() + name;
@Cleanup FileOutputStream output = new FileOutputStream(XSSEscape.escapePath(fileName));
workbook.write(output);
//上传文件
UploadUtil.uploadFile(configValueUtil.getFileType(), fileName, FileTypeEnum.TEMPORARY, name);
vo.setName(name);
vo.setUrl(UploaderUtil.uploaderFile(userInfo.getId() + "#" + name + "#" + "Temporary"));
} catch (Exception e) {
log.error("信息导出Excel错误:{}", e.getMessage());
e.printStackTrace();
}
return vo;
}
/**
*
*
* @param ids
* @return
*/
@DeleteMapping("/batchRemove/{ids}")
@Transactional
public ActionResult batchRemove(@PathVariable("ids") String ids){
String[] idList = ids.split(",");
int i =0;
for (String allId : idList){
this.delete(allId);
i++;
}
if (i == 0 ){
return ActionResult.fail("删除失败");
}
return ActionResult.success("删除成功");
}
/**
*
*
* @param id
* @return
*/
@GetMapping("/{id}")
public ActionResult<Jg_contractInfoVO> info(@PathVariable("id") String id){
Jg_contractEntity entity= jg_contractService.getInfo(id);
Jg_contractInfoVO vo=JsonUtil.getJsonToBean(entity, Jg_contractInfoVO.class);
vo.setCreatorUserId(generaterSwapUtil.userSelectValue(vo.getCreatorUserId()));
vo.setCreatorUserName(generaterSwapUtil.userSelectValue(vo.getCreatorUserName()));
//子表
List<Jg_contract_item0Entity> Jg_contract_item0List = jg_contractService.GetJg_contract_item0List(id);
for(Jg_contract_item0Entity jg_contract_item0Entity : Jg_contract_item0List){
}
vo.setJg_contract_item0List(JsonUtil.getJsonToList(Jg_contract_item0List,Jg_contract_item0Model.class ));
List<Jg_contract_item1Entity> Jg_contract_item1List = jg_contractService.GetJg_contract_item1List(id);
for(Jg_contract_item1Entity jg_contract_item1Entity : Jg_contract_item1List){
}
vo.setJg_contract_item1List(JsonUtil.getJsonToList(Jg_contract_item1List,Jg_contract_item1Model.class ));
//副表
return ActionResult.success(vo);
}
/**
* ()
*
* @param id
* @return
*/
@GetMapping("/detail/{id}")
public ActionResult<Jg_contractInfoVO> detailInfo(@PathVariable("id") String id){
Jg_contractEntity entity= jg_contractService.getInfo(id);
Jg_contractInfoVO vo=JsonUtil.getJsonToBean(entity, Jg_contractInfoVO.class);
//子表数据转换
List<Jg_contract_item0Entity> jg_contract_item0List = jg_contractService.GetJg_contract_item0List(id);
List<Jg_contract_item0Model> jg_contract_item0ModelList = JsonUtil.getJsonToList(jg_contract_item0List,Jg_contract_item0Model.class);
for(Jg_contract_item0Model jg_contract_item0Model : jg_contract_item0ModelList){
}
vo.setJg_contract_item0List(jg_contract_item0ModelList);
List<Jg_contract_item1Entity> jg_contract_item1List = jg_contractService.GetJg_contract_item1List(id);
List<Jg_contract_item1Model> jg_contract_item1ModelList = JsonUtil.getJsonToList(jg_contract_item1List,Jg_contract_item1Model.class);
for(Jg_contract_item1Model jg_contract_item1Model : jg_contract_item1ModelList){
jg_contract_item1Model.setEnclosure(generaterSwapUtil.getFileNameInJson(jg_contract_item1Model.getEnclosure()));
}
vo.setJg_contract_item1List(jg_contract_item1ModelList);
//附表数据转换
//添加到详情表单对象中
vo.setCreatorUserId(generaterSwapUtil.userSelectValue(vo.getCreatorUserId()));
vo.setCreatorUserName(generaterSwapUtil.userSelectValue(vo.getCreatorUserName()));
vo.setApproval(generaterSwapUtil.switchSelectValue(vo.getApproval() ,"开" ,"关"));
return ActionResult.success(vo);
}
/**
*
*
* @param id
* @return
*/
@PutMapping("/{id}")
@Transactional
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid Jg_contractUpForm jg_contractUpForm) throws DataException {
UserInfo userInfo=userProvider.get();
Jg_contractEntity entity= jg_contractService.getInfo(id);
if(entity!=null){
Jg_contractEntity subentity=JsonUtil.getJsonToBean(jg_contractUpForm, Jg_contractEntity.class);
subentity.setCreatorUserId(entity.getCreatorUserId());
subentity.setCreatorUserName(entity.getCreatorUserName());
jg_contractService.update(id, subentity);
QueryWrapper<Jg_contract_item0Entity> Jg_contract_item0queryWrapper = new QueryWrapper<>();
Jg_contract_item0queryWrapper.lambda().eq(Jg_contract_item0Entity::getContractId, entity.getId());
jg_contract_item0Service.remove(Jg_contract_item0queryWrapper);
List<Jg_contract_item0Entity> Jg_contract_item0List = JsonUtil.getJsonToList(jg_contractUpForm.getJg_contract_item0List(),Jg_contract_item0Entity.class);
for(Jg_contract_item0Entity entitys : Jg_contract_item0List){
entitys.setId(RandomUtil.uuId());
entitys.setContractId(entity.getId());
jg_contract_item0Service.save(entitys);
}
QueryWrapper<Jg_contract_item1Entity> Jg_contract_item1queryWrapper = new QueryWrapper<>();
Jg_contract_item1queryWrapper.lambda().eq(Jg_contract_item1Entity::getContractId, entity.getId());
jg_contract_item1Service.remove(Jg_contract_item1queryWrapper);
List<Jg_contract_item1Entity> Jg_contract_item1List = JsonUtil.getJsonToList(jg_contractUpForm.getJg_contract_item1List(),Jg_contract_item1Entity.class);
for(Jg_contract_item1Entity entitys : Jg_contract_item1List){
entitys.setId(RandomUtil.uuId());
entitys.setContractId(entity.getId());
jg_contract_item1Service.save(entitys);
}
return ActionResult.success("更新成功");
}else{
return ActionResult.fail("更新失败,数据不存在");
}
}
/**
*
*
* @param id
* @return
*/
@DeleteMapping("/{id}")
@Transactional
public ActionResult delete(@PathVariable("id") String id){
Jg_contractEntity entity= jg_contractService.getInfo(id);
if(entity!=null){
jg_contractService.delete(entity);
QueryWrapper<Jg_contract_item0Entity> queryWrapperJg_contract_item0=new QueryWrapper<>();
queryWrapperJg_contract_item0.lambda().eq(Jg_contract_item0Entity::getContractId,entity.getId());
jg_contract_item0Service.remove(queryWrapperJg_contract_item0);
QueryWrapper<Jg_contract_item1Entity> queryWrapperJg_contract_item1=new QueryWrapper<>();
queryWrapperJg_contract_item1.lambda().eq(Jg_contract_item1Entity::getContractId,entity.getId());
jg_contract_item1Service.remove(queryWrapperJg_contract_item1);
}
return ActionResult.success("删除成功");
}
}

@ -1,4 +1,4 @@
package jnpf.invoices.entity;
package jnpf.demo2.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
@ -18,11 +18,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-27
*/
@Data
@TableName("jg_contract")
public class ContractinvoicesEntity {
public class Jg_contractEntity {
@TableId("ID")
private String id;

@ -0,0 +1,105 @@
package jnpf.demo2.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
@TableName("jg_contract_item0")
public class Jg_contract_item0Entity {
@TableId("ID")
private String id;
@TableField("CREATOR_USER_ID")
private String creatorUserId;
@TableField("CREATOR_USER_NAME")
private String creatorUserName;
@TableField("CREATOR_TIME")
private Date creatorTime;
@TableField("LAST_MODIFY_USER_ID")
private String lastModifyUserId;
@TableField("LAST_MODIFY_USER_NAME")
private String lastModifyUserName;
@TableField("LAST_MODIFY_TIME")
private Date lastModifyTime;
@TableField("DELETE_USER_ID")
private String deleteUserId;
@TableField("DELETE_USER_NAME")
private String deleteUserName;
@TableField("DELETE_TIME")
private Date deleteTime;
@TableField("DELETE_MARK")
private String deleteMark;
@TableField("ORGNIZE_ID")
private String orgnizeId;
@TableField("DEPARTMENT_ID")
private String departmentId;
@TableField("MATERIAL_CODE")
private String materialCode;
@TableField("MATERIAL_NAME")
private String materialName;
@TableField("SPECIFICATION")
private String specification;
@TableField("UNIT")
private String unit;
@TableField("NUM")
private BigDecimal num;
@TableField("PRICE")
private BigDecimal price;
@TableField("AMOUNT")
private BigDecimal amount;
@TableField("RATE")
private String rate;
@TableField("NOT_AMOUNT")
private BigDecimal notAmount;
@TableField("NOT_PRICE")
private BigDecimal notPrice;
@TableField("REMARK")
private String remark;
@TableField("CONTRACT_ID")
private String contractId;
}

@ -0,0 +1,70 @@
package jnpf.demo2.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
@TableName("jg_contract_item1")
public class Jg_contract_item1Entity {
@TableId("ID")
private String id;
@TableField("CREATOR_USER_ID")
private String creatorUserId;
@TableField("CREATOR_USER_NAME")
private String creatorUserName;
@TableField("CREATOR_TIME")
private Date creatorTime;
@TableField("LAST_MODIFY_USER_ID")
private String lastModifyUserId;
@TableField("LAST_MODIFY_USER_NAME")
private String lastModifyUserName;
@TableField("LAST_MODIFY_TIME")
private Date lastModifyTime;
@TableField("DELETE_USER_ID")
private String deleteUserId;
@TableField("DELETE_USER_NAME")
private String deleteUserName;
@TableField("DELETE_TIME")
private Date deleteTime;
@TableField("DELETE_MARK")
private String deleteMark;
@TableField("ORGNIZE_ID")
private String orgnizeId;
@TableField("DEPARTMENT_ID")
private String departmentId;
@TableField("ENCLOSURE")
private String enclosure;
@TableField("CONTRACT_ID")
private String contractId;
}

@ -0,0 +1,17 @@
package jnpf.demo2.mapper;
import jnpf.demo2.entity.Jg_contractEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
* jg_contract
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-27
*/
public interface Jg_contractMapper extends BaseMapper<Jg_contractEntity> {
}

@ -0,0 +1,17 @@
package jnpf.demo2.mapper;
import jnpf.demo2.entity.Jg_contract_item0Entity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
* jg_contract_item0
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-27
*/
public interface Jg_contract_item0Mapper extends BaseMapper<Jg_contract_item0Entity> {
}

@ -0,0 +1,17 @@
package jnpf.demo2.mapper;
import jnpf.demo2.entity.Jg_contract_item1Entity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
* jg_contract_item1
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-27
*/
public interface Jg_contract_item1Mapper extends BaseMapper<Jg_contract_item1Entity> {
}

@ -0,0 +1,144 @@
package jnpf.demo2.model.jg_contract;
import jnpf.demo2.model.jg_contract.Jg_contract_item0Model;
import jnpf.demo2.model.jg_contract.Jg_contract_item1Model;
import lombok.Data;
import java.util.List;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_contractCrForm {
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 合同类型 **/
@JsonProperty("contractType")
private String contractType;
/** 合同编码 **/
@JsonProperty("contractCode")
private String contractCode;
/** 合同名称 **/
@JsonProperty("contractName")
private String contractName;
/** 合同状态 **/
@JsonProperty("status")
private String status;
/** 开标日期 **/
@JsonProperty("bidOpeningDate")
private Long bidOpeningDate;
/** 开始日期 **/
@JsonProperty("startDate")
private Long startDate;
/** 审核日期 **/
@JsonProperty("auditDate")
private Long auditDate;
/** 供货完成日期 **/
@JsonProperty("completionDate")
private Long completionDate;
/** 关闭日期 **/
@JsonProperty("closingDate")
private Long closingDate;
/** 回款周期(日) **/
@JsonProperty("collectionCycle")
private String collectionCycle;
/** 签订日期 **/
@JsonProperty("signingDate")
private Long signingDate;
/** 截止日期 **/
@JsonProperty("endDate")
private Long endDate;
/** 供应商/客户编 **/
@JsonProperty("code")
private String code;
/** 供应商/客户名 **/
@JsonProperty("name")
private String name;
/** 对方合同号 **/
@JsonProperty("contractNo")
private String contractNo;
/** 币种 **/
@JsonProperty("currency")
private String currency;
/** 数量 **/
@JsonProperty("num")
private String num;
/** 金额 **/
@JsonProperty("amount")
private String amount;
/** 库存组织 **/
@JsonProperty("organization")
private String organization;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 合同分类 **/
@JsonProperty("classification")
private String classification;
/** 申报日期 **/
@JsonProperty("declarationDate")
private String declarationDate;
/** 部门编码 **/
@JsonProperty("deptCode")
private String deptCode;
/** 录入人 **/
@JsonProperty("creatorusername")
private String creatorusername;
/** 部门名称 **/
@JsonProperty("deptName")
private String deptName;
/** 集团审批 **/
@JsonProperty("approval")
private String approval;
/** 子表数据 **/
@JsonProperty("jg_contract_item0List")
private List<Jg_contract_item0Model> jg_contract_item0List;
/** 子表数据 **/
@JsonProperty("jg_contract_item1List")
private List<Jg_contract_item1Model> jg_contract_item1List;
}

@ -0,0 +1,146 @@
package jnpf.demo2.model.jg_contract;
import jnpf.demo2.model.jg_contract.Jg_contract_item0Model;
import jnpf.demo2.model.jg_contract.Jg_contract_item1Model;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_contractInfoVO{
/** 主键 **/
@JsonProperty("id")
private String id;
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 合同类型 **/
@JsonProperty("contractType")
private String contractType;
/** 合同编码 **/
@JsonProperty("contractCode")
private String contractCode;
/** 合同名称 **/
@JsonProperty("contractName")
private String contractName;
/** 合同状态 **/
@JsonProperty("status")
private String status;
/** 开标日期 **/
@JsonProperty("bidOpeningDate")
private Long bidOpeningDate;
/** 开始日期 **/
@JsonProperty("startDate")
private Long startDate;
/** 审核日期 **/
@JsonProperty("auditDate")
private Long auditDate;
/** 供货完成日期 **/
@JsonProperty("completionDate")
private Long completionDate;
/** 关闭日期 **/
@JsonProperty("closingDate")
private Long closingDate;
/** 回款周期(日) **/
@JsonProperty("collectionCycle")
private String collectionCycle;
/** 签订日期 **/
@JsonProperty("signingDate")
private Long signingDate;
/** 截止日期 **/
@JsonProperty("endDate")
private Long endDate;
/** 供应商/客户编 **/
@JsonProperty("code")
private String code;
/** 供应商/客户名 **/
@JsonProperty("name")
private String name;
/** 对方合同号 **/
@JsonProperty("contractNo")
private String contractNo;
/** 币种 **/
@JsonProperty("currency")
private String currency;
/** 数量 **/
@JsonProperty("num")
private String num;
/** 金额 **/
@JsonProperty("amount")
private String amount;
/** 库存组织 **/
@JsonProperty("organization")
private String organization;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 合同分类 **/
@JsonProperty("classification")
private String classification;
/** 申报日期 **/
@JsonProperty("declarationDate")
private String declarationDate;
/** 部门编码 **/
@JsonProperty("deptCode")
private String deptCode;
/** 录入人 **/
@JsonProperty("creatorusername")
private String creatorusername;
/** 部门名称 **/
@JsonProperty("deptName")
private String deptName;
/** 集团审批 **/
@JsonProperty("approval")
private String approval;
/** 子表数据 **/
@JsonProperty("jg_contract_item0List")
private List<Jg_contract_item0Model> jg_contract_item0List;
/** 子表数据 **/
@JsonProperty("jg_contract_item1List")
private List<Jg_contract_item1Model> jg_contract_item1List;
}

@ -0,0 +1,27 @@
package jnpf.demo2.model.jg_contract;
import lombok.Data;
import java.util.Date;
import jnpf.base.Pagination;
import java.util.List;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_contractListQuery extends Pagination {
/** 合同编码 */
private String contractCode;
/** 合同名称 */
private String contractName;
/**
* id
*/
private String menuId;
}

@ -0,0 +1,174 @@
package jnpf.demo2.model.jg_contract;
import lombok.Data;
import java.sql.Time;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.math.BigDecimal;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_contractListVO{
/** 主键 */
private String id;
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 合同类型 **/
@JsonProperty("contractType")
private String contractType;
/** 合同编码 **/
@JsonProperty("contractCode")
private String contractCode;
/** 合同名称 **/
@JsonProperty("contractName")
private String contractName;
/** 合同状态 **/
@JsonProperty("status")
private String status;
/** 开标日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("bidOpeningDate")
private Date bidOpeningDate;
/** 开始日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("startDate")
private Date startDate;
/** 审核日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("auditDate")
private Date auditDate;
/** 供货完成日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("completionDate")
private Date completionDate;
/** 关闭日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("closingDate")
private Date closingDate;
/** 回款周期(日) **/
@JsonProperty("collectionCycle")
private String collectionCycle;
/** 签订日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("signingDate")
private Date signingDate;
/** 截止日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("endDate")
private Date endDate;
/** 供应商/客户编 **/
@JsonProperty("code")
private String code;
/** 供应商/客户名 **/
@JsonProperty("name")
private String name;
/** 对方合同号 **/
@JsonProperty("contractNo")
private String contractNo;
/** 币种 **/
@JsonProperty("currency")
private String currency;
/** 数量 **/
@JsonProperty("num")
private String num;
/** 金额 **/
@JsonProperty("amount")
private String amount;
/** 库存组织 **/
@JsonProperty("organization")
private String organization;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 合同分类 **/
@JsonProperty("classification")
private String classification;
/** 申报日期 **/
@JsonProperty("declarationDate")
private String declarationDate;
/** 部门编码 **/
@JsonProperty("deptCode")
private String deptCode;
/** 录入人 **/
@JsonProperty("creatorusername")
private String creatorusername;
/** 部门名称 **/
@JsonProperty("deptName")
private String deptName;
/** 集团审批 **/
@JsonProperty("approval")
private String approval;
}

@ -0,0 +1,28 @@
package jnpf.demo2.model.jg_contract;
import lombok.Data;
import jnpf.base.Pagination;
import java.util.List;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_contractPagination extends Pagination {
/** 合同编码 */
private String contractCode;
/** 合同名称 */
private String contractName;
/**
* id
*/
private String menuId;
}

@ -0,0 +1,29 @@
package jnpf.demo2.model.jg_contract;
import lombok.Data;
import jnpf.base.Pagination;
import java.util.*;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_contractPaginationExportModel extends Pagination {
private String selectKey;
private String json;
private String dataType;
/** 合同编码 */
private String contractCode;
/** 合同名称 */
private String contractName;
}

@ -0,0 +1,174 @@
package jnpf.demo2.model.jg_contract;
import jnpf.demo2.model.jg_contract.Jg_contract_item0Model;
import jnpf.demo2.model.jg_contract.Jg_contract_item1Model;
import lombok.Data;
import java.util.List;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-27
*/
@Data
public class Jg_contractUpForm{
/** 主键 */
private String id;
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 合同类型 **/
@JsonProperty("contractType")
private String contractType;
/** 合同编码 **/
@JsonProperty("contractCode")
private String contractCode;
/** 合同名称 **/
@JsonProperty("contractName")
private String contractName;
/** 合同状态 **/
@JsonProperty("status")
private String status;
/** 开标日期 **/
@JsonProperty("bidOpeningDate")
private Long bidOpeningDate;
/** 开始日期 **/
@JsonProperty("startDate")
private Long startDate;
/** 审核日期 **/
@JsonProperty("auditDate")
private Long auditDate;
/** 供货完成日期 **/
@JsonProperty("completionDate")
private Long completionDate;
/** 关闭日期 **/
@JsonProperty("closingDate")
private Long closingDate;
/** 回款周期(日) **/
@JsonProperty("collectionCycle")
private String collectionCycle;
/** 签订日期 **/
@JsonProperty("signingDate")
private Long signingDate;
/** 截止日期 **/
@JsonProperty("endDate")
private Long endDate;
/** 供应商/客户编 **/
@JsonProperty("code")
private String code;
/** 供应商/客户名 **/
@JsonProperty("name")
private String name;
/** 对方合同号 **/
@JsonProperty("contractNo")
private String contractNo;
/** 币种 **/
@JsonProperty("currency")
private String currency;
/** 数量 **/
@JsonProperty("num")
private String num;
/** 金额 **/
@JsonProperty("amount")
private String amount;
/** 库存组织 **/
@JsonProperty("organization")
private String organization;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 合同分类 **/
@JsonProperty("classification")
private String classification;
/** 申报日期 **/
@JsonProperty("declarationDate")
private String declarationDate;
/** 部门编码 **/
@JsonProperty("deptCode")
private String deptCode;
/** 录入人 **/
@JsonProperty("creatorusername")
private String creatorusername;
/** 部门名称 **/
@JsonProperty("deptName")
private String deptName;
/** 集团审批 **/
@JsonProperty("approval")
private String approval;
/** 子表数据 **/
@JsonProperty("jg_contract_item0List")
private List<Jg_contract_item0Model> jg_contract_item0List;
/** 子表数据 **/
@JsonProperty("jg_contract_item1List")
private List<Jg_contract_item1Model> jg_contract_item1List;
}

@ -0,0 +1,66 @@
package jnpf.demo2.model.jg_contract;
import lombok.Data;
import java.util.List;
import java.util.Date;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.alibaba.fastjson.annotation.JSONField;
/**
*
*
* V3.2.0
* : LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-27
*/
@Data
public class Jg_contract_item0Model {
/** 物料编码 **/
@JsonProperty("materialCode")
private String materialCode;
/** 物料名称 **/
@JsonProperty("materialName")
private String materialName;
/** 规格型号 **/
@JsonProperty("specification")
private String specification;
/** 单位 **/
@JsonProperty("unit")
private String unit;
/** 数量 **/
@JsonProperty("num")
private String num;
/** 单价 **/
@JsonProperty("price")
private String price;
/** 金额 **/
@JsonProperty("amount")
private String amount;
/** 税率 **/
@JsonProperty("rate")
private String rate;
/** 不含税单价 **/
@JsonProperty("notPrice")
private String notPrice;
/** 不含税金额 **/
@JsonProperty("notAmount")
private String notAmount;
/** 备注 **/
@JsonProperty("remark")
private String remark;
}

@ -0,0 +1,26 @@
package jnpf.demo2.model.jg_contract;
import lombok.Data;
import java.util.List;
import java.util.Date;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.alibaba.fastjson.annotation.JSONField;
/**
*
*
* V3.2.0
* : LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-27
*/
@Data
public class Jg_contract_item1Model {
/** 附件内容 **/
@JsonProperty("enclosure")
private String enclosure;
}

@ -0,0 +1,39 @@
package jnpf.demo2.service;
import jnpf.demo2.entity.Jg_contract_item0Entity;
import jnpf.demo2.entity.Jg_contract_item1Entity;
import jnpf.demo2.entity.Jg_contractEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.demo2.model.jg_contract.Jg_contractPagination;
import java.util.*;
/**
*
* jg_contract
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-27
*/
public interface Jg_contractService extends IService<Jg_contractEntity> {
List<Jg_contractEntity> getList(Jg_contractPagination jg_contractPagination);
List<Jg_contractEntity> getTypeList(Jg_contractPagination jg_contractPagination,String dataType);
Jg_contractEntity getInfo(String id);
void delete(Jg_contractEntity entity);
void create(Jg_contractEntity entity);
boolean update( String id, Jg_contractEntity entity);
// 子表方法
List<Jg_contract_item0Entity> GetJg_contract_item0List(String id);
List<Jg_contract_item1Entity> GetJg_contract_item1List(String id);
//列表子表数据方法
}

@ -0,0 +1,15 @@
package jnpf.demo2.service;
import jnpf.demo2.entity.Jg_contract_item0Entity;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* jg_contract_item0
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-27
*/
public interface Jg_contract_item0Service extends IService<Jg_contract_item0Entity> {
}

@ -0,0 +1,15 @@
package jnpf.demo2.service;
import jnpf.demo2.entity.Jg_contract_item1Entity;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* jg_contract_item1
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-27
*/
public interface Jg_contract_item1Service extends IService<Jg_contract_item1Entity> {
}

@ -0,0 +1,318 @@
package jnpf.demo2.service.impl;
import jnpf.demo2.entity.*;
import jnpf.demo2.mapper.Jg_contractMapper;
import jnpf.demo2.model.jg_contract.Jg_contractPagination;
import jnpf.demo2.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.hutool.core.util.ObjectUtil;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import jnpf.permission.service.AuthorizeService;
import java.lang.reflect.Field;
import com.baomidou.mybatisplus.annotation.TableField;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import jnpf.util.*;
import java.util.*;
/**
* jg_contract
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-27
*/
@Service
public class Jg_contractServiceImpl extends ServiceImpl<Jg_contractMapper, Jg_contractEntity> implements Jg_contractService {
@Autowired
private UserProvider userProvider;
@Autowired
private AuthorizeService authorizeService;
@Autowired
private Jg_contract_item0Service jg_contract_item0Service;
@Autowired
private Jg_contract_item1Service jg_contract_item1Service;
@Override
public List<Jg_contractEntity> getList(Jg_contractPagination jg_contractPagination) {
String userId = userProvider.get().getUserId();
List<String> AllIdList = new ArrayList();
int total = 0;
int jg_contractNum = 0;
QueryWrapper<Jg_contractEntity> jg_contractQueryWrapper = new QueryWrapper<>();
int jg_contract_item0Num = 0;
QueryWrapper<Jg_contract_item0Entity> jg_contract_item0QueryWrapper = new QueryWrapper<>();
int jg_contract_item1Num = 0;
QueryWrapper<Jg_contract_item1Entity> jg_contract_item1QueryWrapper = new QueryWrapper<>();
boolean pcPermission = true;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if (isPc && pcPermission) {
if (!userProvider.get().getIsAdministrator()) {
Object jg_contractObj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contractQueryWrapper, jg_contractPagination.getMenuId(), "jg_contract"));
if (ObjectUtil.isEmpty(jg_contractObj)) {
return new ArrayList<>();
} else {
jg_contractQueryWrapper = (QueryWrapper<Jg_contractEntity>) jg_contractObj;
jg_contractNum++;
}
Object jg_contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contract_item0QueryWrapper, jg_contractPagination.getMenuId(), "jg_contract_item0"));
if (ObjectUtil.isEmpty(jg_contract_item0Obj)) {
return new ArrayList<>();
} else {
jg_contract_item0QueryWrapper = (QueryWrapper<Jg_contract_item0Entity>) jg_contract_item0Obj;
jg_contract_item0Num++;
}
Object jg_contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contract_item1QueryWrapper, jg_contractPagination.getMenuId(), "jg_contract_item1"));
if (ObjectUtil.isEmpty(jg_contract_item1Obj)) {
return new ArrayList<>();
} else {
jg_contract_item1QueryWrapper = (QueryWrapper<Jg_contract_item1Entity>) jg_contract_item1Obj;
jg_contract_item1Num++;
}
}
}
if (!isPc && appPermission) {
if (!userProvider.get().getIsAdministrator()) {
Object jg_contractObj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contractQueryWrapper, jg_contractPagination.getMenuId(), "jg_contract"));
if (ObjectUtil.isEmpty(jg_contractObj)) {
return new ArrayList<>();
} else {
jg_contractQueryWrapper = (QueryWrapper<Jg_contractEntity>) jg_contractObj;
jg_contractNum++;
}
Object jg_contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contract_item0QueryWrapper, jg_contractPagination.getMenuId(), "jg_contract_item0"));
if (ObjectUtil.isEmpty(jg_contract_item0Obj)) {
return new ArrayList<>();
} else {
jg_contract_item0QueryWrapper = (QueryWrapper<Jg_contract_item0Entity>) jg_contract_item0Obj;
jg_contract_item0Num++;
}
Object jg_contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contract_item1QueryWrapper, jg_contractPagination.getMenuId(), "jg_contract_item1"));
if (ObjectUtil.isEmpty(jg_contract_item1Obj)) {
return new ArrayList<>();
} else {
jg_contract_item1QueryWrapper = (QueryWrapper<Jg_contract_item1Entity>) jg_contract_item1Obj;
jg_contract_item1Num++;
}
}
}
if (StringUtil.isNotEmpty(jg_contractPagination.getContractCode())) {
jg_contractNum++;
jg_contractQueryWrapper.lambda().like(Jg_contractEntity::getContractCode, jg_contractPagination.getContractCode());
}
if (StringUtil.isNotEmpty(jg_contractPagination.getContractName())) {
jg_contractNum++;
jg_contractQueryWrapper.lambda().like(Jg_contractEntity::getContractName, jg_contractPagination.getContractName());
}
if (AllIdList.size() > 0) {
jg_contractQueryWrapper.lambda().in(Jg_contractEntity::getId, AllIdList);
}
//排序
if (StringUtil.isEmpty(jg_contractPagination.getSidx())) {
jg_contractQueryWrapper.lambda().orderByDesc(Jg_contractEntity::getId);
} else {
try {
String sidx = jg_contractPagination.getSidx();
Jg_contractEntity jg_contractEntity = new Jg_contractEntity();
Field declaredField = jg_contractEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
jg_contractQueryWrapper = "asc".equals(jg_contractPagination.getSort().toLowerCase()) ? jg_contractQueryWrapper.orderByAsc(value) : jg_contractQueryWrapper.orderByDesc(value);
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
if ((total > 0 && AllIdList.size() > 0) || total == 0) {
Page<Jg_contractEntity> page = new Page<>(jg_contractPagination.getCurrentPage(), jg_contractPagination.getPageSize());
IPage<Jg_contractEntity> userIPage = this.page(page, jg_contractQueryWrapper);
return jg_contractPagination.setData(userIPage.getRecords(), userIPage.getTotal());
} else {
List<Jg_contractEntity> list = new ArrayList();
return jg_contractPagination.setData(list, list.size());
}
}
@Override
public List<Jg_contractEntity> getTypeList(Jg_contractPagination jg_contractPagination, String dataType) {
String userId = userProvider.get().getUserId();
List<String> AllIdList = new ArrayList();
int total = 0;
int jg_contractNum = 0;
QueryWrapper<Jg_contractEntity> jg_contractQueryWrapper = new QueryWrapper<>();
int jg_contract_item0Num = 0;
QueryWrapper<Jg_contract_item0Entity> jg_contract_item0QueryWrapper = new QueryWrapper<>();
int jg_contract_item1Num = 0;
QueryWrapper<Jg_contract_item1Entity> jg_contract_item1QueryWrapper = new QueryWrapper<>();
boolean pcPermission = true;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if (isPc && pcPermission) {
if (!userProvider.get().getIsAdministrator()) {
Object jg_contractObj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contractQueryWrapper, jg_contractPagination.getMenuId(), "jg_contract"));
if (ObjectUtil.isEmpty(jg_contractObj)) {
return new ArrayList<>();
} else {
jg_contractQueryWrapper = (QueryWrapper<Jg_contractEntity>) jg_contractObj;
jg_contractNum++;
}
Object jg_contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contract_item0QueryWrapper, jg_contractPagination.getMenuId(), "jg_contract_item0"));
if (ObjectUtil.isEmpty(jg_contract_item0Obj)) {
return new ArrayList<>();
} else {
jg_contract_item0QueryWrapper = (QueryWrapper<Jg_contract_item0Entity>) jg_contract_item0Obj;
jg_contract_item0Num++;
}
Object jg_contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contract_item1QueryWrapper, jg_contractPagination.getMenuId(), "jg_contract_item1"));
if (ObjectUtil.isEmpty(jg_contract_item1Obj)) {
return new ArrayList<>();
} else {
jg_contract_item1QueryWrapper = (QueryWrapper<Jg_contract_item1Entity>) jg_contract_item1Obj;
jg_contract_item1Num++;
}
}
}
if (!isPc && appPermission) {
if (!userProvider.get().getIsAdministrator()) {
Object jg_contractObj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contractQueryWrapper, jg_contractPagination.getMenuId(), "jg_contract"));
if (ObjectUtil.isEmpty(jg_contractObj)) {
return new ArrayList<>();
} else {
jg_contractQueryWrapper = (QueryWrapper<Jg_contractEntity>) jg_contractObj;
jg_contractNum++;
}
Object jg_contract_item0Obj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contract_item0QueryWrapper, jg_contractPagination.getMenuId(), "jg_contract_item0"));
if (ObjectUtil.isEmpty(jg_contract_item0Obj)) {
return new ArrayList<>();
} else {
jg_contract_item0QueryWrapper = (QueryWrapper<Jg_contract_item0Entity>) jg_contract_item0Obj;
jg_contract_item0Num++;
}
Object jg_contract_item1Obj = authorizeService.getCondition(new AuthorizeConditionModel(jg_contract_item1QueryWrapper, jg_contractPagination.getMenuId(), "jg_contract_item1"));
if (ObjectUtil.isEmpty(jg_contract_item1Obj)) {
return new ArrayList<>();
} else {
jg_contract_item1QueryWrapper = (QueryWrapper<Jg_contract_item1Entity>) jg_contract_item1Obj;
jg_contract_item1Num++;
}
}
}
if (StringUtil.isNotEmpty(jg_contractPagination.getContractCode())) {
jg_contractNum++;
jg_contractQueryWrapper.lambda().like(Jg_contractEntity::getContractCode, jg_contractPagination.getContractCode());
}
if (StringUtil.isNotEmpty(jg_contractPagination.getContractName())) {
jg_contractNum++;
jg_contractQueryWrapper.lambda().like(Jg_contractEntity::getContractName, jg_contractPagination.getContractName());
}
if (AllIdList.size() > 0) {
jg_contractQueryWrapper.lambda().in(Jg_contractEntity::getId, AllIdList);
}
//排序
if (StringUtil.isEmpty(jg_contractPagination.getSidx())) {
jg_contractQueryWrapper.lambda().orderByDesc(Jg_contractEntity::getId);
} else {
try {
String sidx = jg_contractPagination.getSidx();
Jg_contractEntity jg_contractEntity = new Jg_contractEntity();
Field declaredField = jg_contractEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
jg_contractQueryWrapper = "asc".equals(jg_contractPagination.getSort().toLowerCase()) ? jg_contractQueryWrapper.orderByAsc(value) : jg_contractQueryWrapper.orderByDesc(value);
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
if ("0".equals(dataType)) {
if ((total > 0 && AllIdList.size() > 0) || total == 0) {
Page<Jg_contractEntity> page = new Page<>(jg_contractPagination.getCurrentPage(), jg_contractPagination.getPageSize());
IPage<Jg_contractEntity> userIPage = this.page(page, jg_contractQueryWrapper);
return jg_contractPagination.setData(userIPage.getRecords(), userIPage.getTotal());
} else {
List<Jg_contractEntity> list = new ArrayList();
return jg_contractPagination.setData(list, list.size());
}
} else {
return this.list(jg_contractQueryWrapper);
}
}
@Override
public Jg_contractEntity getInfo(String id) {
QueryWrapper<Jg_contractEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(Jg_contractEntity::getId, id);
return this.getOne(queryWrapper);
}
@Override
public void create(Jg_contractEntity entity) {
this.save(entity);
}
@Override
public boolean update(String id, Jg_contractEntity entity) {
entity.setId(id);
return this.updateById(entity);
}
@Override
public void delete(Jg_contractEntity entity) {
if (entity != null) {
this.removeById(entity.getId());
}
}
//子表方法
@Override
public List<Jg_contract_item0Entity> GetJg_contract_item0List(String id) {
QueryWrapper<Jg_contract_item0Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(Jg_contract_item0Entity::getContractId, id);
return jg_contract_item0Service.list(queryWrapper);
}
@Override
public List<Jg_contract_item1Entity> GetJg_contract_item1List(String id) {
QueryWrapper<Jg_contract_item1Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(Jg_contract_item1Entity::getContractId, id);
return jg_contract_item1Service.list(queryWrapper);
}
//列表子表数据方法
}

@ -1,41 +1,39 @@
package jnpf.invoices.service.impl;
package jnpf.demo2.service.impl;
import jnpf.invoices.entity.*;
import jnpf.invoices.mapper.SupplierinvoicesMapper;
import jnpf.invoices.service.*;
import jnpf.demo2.entity.*;
import jnpf.demo2.mapper.Jg_contract_item0Mapper;
import jnpf.demo2.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.util.RandomUtil;
import java.math.BigDecimal;
import cn.hutool.core.util.ObjectUtil;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.text.SimpleDateFormat;
import jnpf.util.*;
import java.util.*;
/**
*
* jg_supplier
* jg_contract_item0
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-27
*/
@Service
public class SupplierinvoicesServiceImpl extends ServiceImpl<SupplierinvoicesMapper, SupplierinvoicesEntity> implements SupplierinvoicesService{
public class Jg_contract_item0ServiceImpl extends ServiceImpl<Jg_contract_item0Mapper, Jg_contract_item0Entity> implements Jg_contract_item0Service {
}

@ -1,41 +1,37 @@
package jnpf.invoices.service.impl;
package jnpf.demo2.service.impl;
import jnpf.invoices.entity.*;
import jnpf.invoices.mapper.ContractinvoicesMapper;
import jnpf.invoices.service.*;
import jnpf.demo2.entity.*;
import jnpf.demo2.mapper.Jg_contract_item1Mapper;
import jnpf.demo2.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.util.RandomUtil;
import java.math.BigDecimal;
import cn.hutool.core.util.ObjectUtil;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.text.SimpleDateFormat;
import jnpf.util.*;
import java.util.*;
/**
*
* jg_contract
* jg_contract_item1
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-27
*/
@Service
public class ContractinvoicesServiceImpl extends ServiceImpl<ContractinvoicesMapper, ContractinvoicesEntity> implements ContractinvoicesService{
public class Jg_contract_item1ServiceImpl extends ServiceImpl<Jg_contract_item1Mapper, Jg_contract_item1Entity> implements Jg_contract_item1Service {
}

@ -15,12 +15,20 @@ import jnpf.base.UserInfo;
import jnpf.base.vo.DownloadVO;
import jnpf.config.ConfigValueUtil;
import jnpf.exception.DataException;
import jnpf.poundlist.entity.PoundlistEntity;
import jnpf.poundlist.service.PoundlistService;
import jnpf.purchaseback.entity.PurchaseorderEntity;
import jnpf.purchaseback.service.PurchaseorderService;
import jnpf.purchaseorder.entity.Purchaseorder_item0Entity;
import jnpf.purchaseorder.entity.PurchaseorderitemEntity;
import jnpf.purchaseorder.service.PurchaseorderitemService;
import org.springframework.transaction.annotation.Transactional;
import jnpf.base.entity.ProvinceEntity;
import jnpf.invoices.model.invoices.*;
import jnpf.invoices.model.invoices.InvoicesPagination;
import jnpf.invoices.entity.*;
import jnpf.invoices.entity.Invoices_item0Entity;
import jnpf.invoices.entity.InvoicesItem1Entity;
import jnpf.invoices.entity.InvoicesItem0Entity;
import jnpf.util.*;
import jnpf.base.util.*;
import jnpf.base.vo.ListVO;
@ -34,8 +42,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import jnpf.invoices.entity.InvoicesEntity;
import jnpf.invoices.service.InvoicesService;
import jnpf.invoices.entity.Invoices_item0Entity;
import jnpf.invoices.service.Invoices_item0Service;
import jnpf.invoices.entity.InvoicesItem1Entity;
import jnpf.invoices.service.InvoicesItem1Service;
import jnpf.invoices.entity.InvoicesItem0Entity;
import jnpf.invoices.service.InvoicesItem0Service;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.multipart.MultipartFile;
@ -51,15 +61,15 @@ import jnpf.util.enums.FileTypeEnum;
/**
*
* invoices
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-22
*/
@Slf4j
@RestController
@Api(tags = "invoices" , value = "invoices")
@Api(tags = "应付发票" , value = "invoices")
@RequestMapping("/api/invoices/Invoices")
public class InvoicesController {
@ -76,9 +86,15 @@ public class InvoicesController {
private InvoicesService invoicesService;
@Autowired
private Invoices_item0Service invoices_item0Service;
private InvoicesItem1Service invoicesItem1Service;
@Autowired
private InvoicesItem0Service invoicesItem0Service;
@Autowired
private PurchaseorderService purchaseorderService;
@Autowired
private PurchaseorderitemService purchaseorderitemService;
@Autowired
private PoundlistService poundlistService;
/**
*
@ -122,25 +138,37 @@ public class InvoicesController {
public ActionResult create(@RequestBody @Valid InvoicesCrForm invoicesCrForm) throws DataException {
String mainId =RandomUtil.uuId();
UserInfo userInfo=userProvider.get();
invoicesCrForm.setDocumentNo(generaterSwapUtil.getBillNumber("yffp", false));
InvoicesEntity entity = JsonUtil.getJsonToBean(invoicesCrForm, InvoicesEntity.class);
entity.setId(mainId);
invoicesService.save(entity);
List<Invoices_item0Entity> Invoices_item0List = JsonUtil.getJsonToList(invoicesCrForm.getInvoices_item0List(),Invoices_item0Entity.class);
for(Invoices_item0Entity entitys : Invoices_item0List){
List<InvoicesItem1Entity> InvoicesItem1List = JsonUtil.getJsonToList(invoicesCrForm.getInvoicesitem1List(),InvoicesItem1Entity.class);
for(InvoicesItem1Entity entitys : InvoicesItem1List){
entitys.setId(RandomUtil.uuId());
entitys.setInvoicesId(entity.getId());
invoices_item0Service.save(entitys);
invoicesItem1Service.save(entitys);
}
List<InvoicesItem0Entity> InvoicesItem0List = JsonUtil.getJsonToList(invoicesCrForm.getInvoicesitem0List(),InvoicesItem0Entity.class);
for(InvoicesItem0Entity entitys : InvoicesItem0List){
entitys.setId(RandomUtil.uuId());
entitys.setInvoicesId(entity.getId());
invoicesItem0Service.save(entitys);
}
//更新采购订单状态
PurchaseorderEntity purchaseorderEntity = purchaseorderService.getById(entity.getPurchaseorderId());
purchaseorderEntity.setStatus("1");//开票中
purchaseorderEntity.setInvoiceAmount(entity.getInvoiceAmount());
purchaseorderEntity.setInvoiceNum(entity.getInvoiceQuantity());
purchaseorderService.updateById(purchaseorderEntity);
List<Purchaseorder_item0Entity> jg_purchaseorder_item0List = purchaseorderitemService.GetPurchaseorder_item0List(entity.getPurchaseorderId());
for (Purchaseorder_item0Entity purchaseorder_item0Entity: jg_purchaseorder_item0List) {
PoundlistEntity poundlistEntity = poundlistService.getById(purchaseorder_item0Entity.getPoundlistId());
poundlistEntity.setPurchaseStatus("1");
poundlistEntity.setIsInvoicing("1");
poundlistService.updateById(poundlistEntity);
}
return ActionResult.success("创建成功");
}
}
@ -309,10 +337,14 @@ public class InvoicesController {
InvoicesInfoVO vo=JsonUtil.getJsonToBean(entity, InvoicesInfoVO.class);
//子表
List<Invoices_item0Entity> Invoices_item0List = invoicesService.GetInvoices_item0List(id);
for(Invoices_item0Entity invoices_item0Entity : Invoices_item0List){
List<InvoicesItem1Entity> InvoicesItem1List = invoicesService.GetInvoicesItem1List(id);
for(InvoicesItem1Entity invoicesitem1Entity : InvoicesItem1List){
}
vo.setInvoices_item0List(JsonUtil.getJsonToList(Invoices_item0List,Invoices_item0Model.class ));
vo.setInvoicesItem1List(JsonUtil.getJsonToList(InvoicesItem1List,InvoicesItem1Model.class ));
List<InvoicesItem0Entity> InvoicesItem0List = invoicesService.GetInvoicesItem0List(id);
for(InvoicesItem0Entity invoicesitem0Entity : InvoicesItem0List){
}
vo.setInvoicesItem0List(JsonUtil.getJsonToList(InvoicesItem0List,InvoicesItem0Model.class ));
//副表
return ActionResult.success(vo);
}
@ -329,11 +361,18 @@ public class InvoicesController {
InvoicesInfoVO vo=JsonUtil.getJsonToBean(entity, InvoicesInfoVO.class);
//子表数据转换
List<Invoices_item0Entity> jg_invoices_item0List = invoicesService.GetInvoices_item0List(id);
List<Invoices_item0Model> jg_invoices_item0ModelList = JsonUtil.getJsonToList(jg_invoices_item0List,Invoices_item0Model.class);
for(Invoices_item0Model jg_invoices_item0Model : jg_invoices_item0ModelList){
List<InvoicesItem1Entity> jg_invoices_item1List = invoicesService.GetInvoicesItem1List(id);
List<InvoicesItem1Model> jg_invoices_item1ModelList = JsonUtil.getJsonToList(jg_invoices_item1List,InvoicesItem1Model.class);
for(InvoicesItem1Model jg_invoices_item1Model : jg_invoices_item1ModelList){
Map<String,Object> materialIdMap = new HashMap<>();
jg_invoices_item1Model.setMaterialId(generaterSwapUtil.getPopupSelectValue("397736371898382533","id","item_name",jg_invoices_item1Model.getMaterialId(),materialIdMap));
}
vo.setInvoicesItem1List(jg_invoices_item1ModelList);
List<InvoicesItem0Entity> jg_invoices_item0List = invoicesService.GetInvoicesItem0List(id);
List<InvoicesItem0Model> jg_invoices_item0ModelList = JsonUtil.getJsonToList(jg_invoices_item0List,InvoicesItem0Model.class);
for(InvoicesItem0Model jg_invoices_item0Model : jg_invoices_item0ModelList){
}
vo.setInvoices_item0List(jg_invoices_item0ModelList);
vo.setInvoicesItem0List(jg_invoices_item0ModelList);
//附表数据转换
@ -365,23 +404,37 @@ public class InvoicesController {
if(entity!=null){
InvoicesEntity subentity=JsonUtil.getJsonToBean(invoicesUpForm, InvoicesEntity.class);
invoicesService.update(id, subentity);
QueryWrapper<Invoices_item0Entity> Invoices_item0queryWrapper = new QueryWrapper<>();
Invoices_item0queryWrapper.lambda().eq(Invoices_item0Entity::getInvoicesId, entity.getId());
invoices_item0Service.remove(Invoices_item0queryWrapper);
List<Invoices_item0Entity> Invoices_item0List = JsonUtil.getJsonToList(invoicesUpForm.getInvoices_item0List(),Invoices_item0Entity.class);
for(Invoices_item0Entity entitys : Invoices_item0List){
QueryWrapper<InvoicesItem1Entity> InvoicesItem1queryWrapper = new QueryWrapper<>();
InvoicesItem1queryWrapper.lambda().eq(InvoicesItem1Entity::getInvoicesId, entity.getId());
invoicesItem1Service.remove(InvoicesItem1queryWrapper);
List<InvoicesItem1Entity> InvoicesItem1List = JsonUtil.getJsonToList(invoicesUpForm.getInvoicesitem1List(),InvoicesItem1Entity.class);
for(InvoicesItem1Entity entitys : InvoicesItem1List){
entitys.setId(RandomUtil.uuId());
entitys.setInvoicesId(entity.getId());
invoices_item0Service.save(entitys);
invoicesItem1Service.save(entitys);
}
QueryWrapper<InvoicesItem0Entity> InvoicesItem0queryWrapper = new QueryWrapper<>();
InvoicesItem0queryWrapper.lambda().eq(InvoicesItem0Entity::getInvoicesId, entity.getId());
invoicesItem0Service.remove(InvoicesItem0queryWrapper);
List<InvoicesItem0Entity> InvoicesItem0List = JsonUtil.getJsonToList(invoicesUpForm.getInvoicesitem0List(),InvoicesItem0Entity.class);
for(InvoicesItem0Entity entitys : InvoicesItem0List){
entitys.setId(RandomUtil.uuId());
entitys.setInvoicesId(entity.getId());
invoicesItem0Service.save(entitys);
}
//更新采购订单状态
PurchaseorderEntity purchaseorderEntity = purchaseorderService.getById(entity.getPurchaseorderId());
purchaseorderEntity.setStatus("1");//开票中
purchaseorderEntity.setInvoiceAmount(entity.getInvoiceAmount());
purchaseorderEntity.setInvoiceNum(entity.getInvoiceQuantity());
purchaseorderService.updateById(purchaseorderEntity);
List<Purchaseorder_item0Entity> jg_purchaseorder_item0List = purchaseorderitemService.GetPurchaseorder_item0List(entity.getPurchaseorderId());
for (Purchaseorder_item0Entity purchaseorder_item0Entity: jg_purchaseorder_item0List) {
PoundlistEntity poundlistEntity = poundlistService.getById(purchaseorder_item0Entity.getPoundlistId());
poundlistEntity.setPurchaseStatus("1");
poundlistEntity.setIsInvoicing("1");
poundlistService.updateById(poundlistEntity);
}
return ActionResult.success("更新成功");
}else{
return ActionResult.fail("更新失败,数据不存在");
@ -402,9 +455,12 @@ public class InvoicesController {
InvoicesEntity entity= invoicesService.getInfo(id);
if(entity!=null){
invoicesService.delete(entity);
QueryWrapper<Invoices_item0Entity> queryWrapperInvoices_item0=new QueryWrapper<>();
queryWrapperInvoices_item0.lambda().eq(Invoices_item0Entity::getInvoicesId,entity.getId());
invoices_item0Service.remove(queryWrapperInvoices_item0);
QueryWrapper<InvoicesItem1Entity> queryWrapperInvoicesItem1=new QueryWrapper<>();
queryWrapperInvoicesItem1.lambda().eq(InvoicesItem1Entity::getInvoicesId,entity.getId());
invoicesItem1Service.remove(queryWrapperInvoicesItem1);
QueryWrapper<InvoicesItem0Entity> queryWrapperInvoicesItem0=new QueryWrapper<>();
queryWrapperInvoicesItem0.lambda().eq(InvoicesItem0Entity::getInvoicesId,entity.getId());
invoicesItem0Service.remove(queryWrapperInvoicesItem0);
}
return ActionResult.success("删除成功");

@ -20,7 +20,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-22
*/
@Data
@TableName("jg_invoices")

@ -20,11 +20,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-22
*/
@Data
@TableName("jg_invoices_item0")
public class Invoices_item0Entity {
public class InvoicesItem0Entity {
@TableId("ID")
private String id;
@ -101,4 +101,10 @@ public class Invoices_item0Entity {
@TableField("INVOICES_ID")
private String invoicesId;
@TableField("MATERIAL_NAME")
private String materialName;
@TableField("PURCHASEORDER_ID")
private String purchaseorderId;
}

@ -21,11 +21,11 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-22
*/
@Data
@TableName("jg_invoices_item1")
public class Invoices_item1Entity {
public class InvoicesItem1Entity {
@TableId("ID")
private String id;

@ -1,17 +0,0 @@
package jnpf.invoices.mapper;
import jnpf.invoices.entity.ContractinvoicesEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
* jg_contract
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
*/
public interface ContractinvoicesMapper extends BaseMapper<ContractinvoicesEntity> {
}

@ -1,7 +1,7 @@
package jnpf.invoices.mapper;
import jnpf.invoices.entity.Invoices_item0Entity;
import jnpf.invoices.entity.InvoicesItem0Entity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
@ -10,8 +10,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-22
*/
public interface Invoices_item0Mapper extends BaseMapper<Invoices_item0Entity> {
public interface InvoicesItem0Mapper extends BaseMapper<InvoicesItem0Entity> {
}

@ -1,7 +1,7 @@
package jnpf.invoices.mapper;
import jnpf.invoices.entity.Invoices_item1Entity;
import jnpf.invoices.entity.InvoicesItem1Entity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
@ -10,8 +10,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-22
*/
public interface Invoices_item1Mapper extends BaseMapper<Invoices_item1Entity> {
public interface InvoicesItem1Mapper extends BaseMapper<InvoicesItem1Entity> {
}

@ -6,11 +6,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
* invoices
*
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-22
*/
public interface InvoicesMapper extends BaseMapper<InvoicesEntity> {

@ -1,17 +0,0 @@
package jnpf.invoices.mapper;
import jnpf.invoices.entity.PurchaseorderinvoicesEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
* jg_purchaseorder
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
*/
public interface PurchaseorderinvoicesMapper extends BaseMapper<PurchaseorderinvoicesEntity> {
}

@ -1,17 +0,0 @@
package jnpf.invoices.mapper;
import jnpf.invoices.entity.SupplierinvoicesEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
* jg_supplier
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
*/
public interface SupplierinvoicesMapper extends BaseMapper<SupplierinvoicesEntity> {
}

@ -2,8 +2,11 @@
package jnpf.invoices.model.invoices;
import jnpf.invoices.model.invoices.Invoices_item0Model;
import jnpf.invoices.model.invoices.InvoicesItem1Model;
import jnpf.invoices.model.invoices.InvoicesItem0Model;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
@ -15,7 +18,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-22
*/
@Data
public class InvoicesCrForm {
@ -26,15 +29,15 @@ public class InvoicesCrForm {
/** 业务日期 **/
@JsonProperty("businessDate")
private Long businessDate;
private Date businessDate;
/** 金额 **/
@JsonProperty("amount")
private String amount;
private BigDecimal amount;
/** 数量 **/
@JsonProperty("quantity")
private String quantity;
private BigDecimal quantity;
/** 发票类型 **/
@JsonProperty("invoiceType")
@ -48,21 +51,17 @@ public class InvoicesCrForm {
@JsonProperty("remark")
private String remark;
/** 单据状态 **/
@JsonProperty("status")
private String status;
/** 发票金额 **/
@JsonProperty("invoiceAmount")
private String invoiceAmount;
private BigDecimal invoiceAmount;
/** 发票数量 **/
@JsonProperty("invoiceQuantity")
private String invoiceQuantity;
/** 单据状态 **/
@JsonProperty("status")
private String status;
/** 制单人 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
private BigDecimal invoiceQuantity;
/** 采购订单号 **/
@JsonProperty("purchaseorderId")
@ -77,8 +76,11 @@ public class InvoicesCrForm {
private String supplierId;
/** 子表数据 **/
@JsonProperty("invoices_item0List")
private List<Invoices_item0Model> invoices_item0List;
@JsonProperty("invoicesitem1List")
private List<InvoicesItem1Model> invoicesitem1List;
/** 子表数据 **/
@JsonProperty("invoicesitem0List")
private List<InvoicesItem0Model> invoicesitem0List;
}

@ -3,7 +3,8 @@
package jnpf.invoices.model.invoices;
import jnpf.invoices.model.invoices.Invoices_item0Model;
import jnpf.invoices.model.invoices.InvoicesItem1Model;
import jnpf.invoices.model.invoices.InvoicesItem0Model;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
@ -16,7 +17,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-22
*/
@Data
public class InvoicesInfoVO{
@ -34,11 +35,11 @@ public class InvoicesInfoVO{
/** 金额 **/
@JsonProperty("amount")
private String amount;
private BigDecimal amount;
/** 数量 **/
@JsonProperty("quantity")
private String quantity;
private BigDecimal quantity;
/** 发票类型 **/
@JsonProperty("invoiceType")
@ -52,21 +53,17 @@ public class InvoicesInfoVO{
@JsonProperty("remark")
private String remark;
/** 单据状态 **/
@JsonProperty("status")
private String status;
/** 发票金额 **/
@JsonProperty("invoiceAmount")
private String invoiceAmount;
private BigDecimal invoiceAmount;
/** 发票数量 **/
@JsonProperty("invoiceQuantity")
private String invoiceQuantity;
/** 单据状态 **/
@JsonProperty("status")
private String status;
/** 制单人 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
private BigDecimal invoiceQuantity;
/** 采购订单号 **/
@JsonProperty("purchaseorderId")
@ -81,6 +78,9 @@ public class InvoicesInfoVO{
private String supplierId;
/** 子表数据 **/
@JsonProperty("invoices_item0List")
private List<Invoices_item0Model> invoices_item0List;
@JsonProperty("invoicesitem1List")
private List<InvoicesItem1Model> invoicesItem1List;
/** 子表数据 **/
@JsonProperty("invoicesitem0List")
private List<InvoicesItem0Model> invoicesItem0List;
}

@ -13,10 +13,14 @@ import com.alibaba.fastjson.annotation.JSONField;
* V3.2.0
* : LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-22
*/
@Data
public class Invoices_item0Model {
public class InvoicesItem0Model {
/** 物料名称 **/
@JsonProperty("materialName")
private String materialName;
/** 发票代码 **/
@JsonProperty("invoiceCode")
@ -26,6 +30,26 @@ public class Invoices_item0Model {
@JsonProperty("invoiceNo")
private String invoiceNo;
/** 发票数量 **/
@JsonProperty("invoiceQuantity")
private String invoiceQuantity;
/** 发票金额 **/
@JsonProperty("invoiceAmount")
private String invoiceAmount;
/** 税率 **/
@JsonProperty("taxRate")
private String taxRate;
/** 税额 **/
@JsonProperty("taxAmount")
private String taxAmount;
/** 不含税金额 **/
@JsonProperty("amountNotTax")
private String amountNotTax;
/** 发票状态 **/
@JsonProperty("invoiceStatus")
private String invoiceStatus;
@ -38,7 +62,4 @@ public class Invoices_item0Model {
@JsonProperty("invoicingDate")
private Long invoicingDate;
/** 备注信息 **/
@JsonProperty("remark")
private String remark;
}

@ -0,0 +1,54 @@
package jnpf.invoices.model.invoices;
import lombok.Data;
import java.util.List;
import java.util.Date;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.alibaba.fastjson.annotation.JSONField;
/**
*
*
* V3.2.0
* : LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-22
*/
@Data
public class InvoicesItem1Model {
/** 物料 **/
@JsonProperty("materialId")
private String materialId;
/** 数量 **/
@JsonProperty("quantity")
private String quantity;
/** 单价 **/
@JsonProperty("unitPrice")
private String unitPrice;
/** 金额 **/
@JsonProperty("amount")
private String amount;
/** 税率 **/
@JsonProperty("taxRate")
private String taxRate;
/** 税额 **/
@JsonProperty("taxAmount")
private String taxAmount;
/** 不含税金额 **/
@JsonProperty("amountNotTax")
private String amountNotTax;
/** 备注信息 **/
@JsonProperty("remark")
private String remark;
}

@ -10,7 +10,7 @@ import java.util.List;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-22
*/
@Data
public class InvoicesListQuery extends Pagination {

@ -15,7 +15,7 @@ import java.math.BigDecimal;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-22
*/
@Data
public class InvoicesListVO{
@ -37,13 +37,11 @@ public class InvoicesListVO{
/** 金额 **/
@JsonProperty("amount")
private String amount;
private BigDecimal amount;
/** 数量 **/
@JsonProperty("quantity")
private String quantity;
private BigDecimal quantity;
/** 发票类型 **/
@JsonProperty("invoiceType")
@ -60,25 +58,18 @@ public class InvoicesListVO{
private String remark;
/** 发票金额 **/
@JsonProperty("invoiceAmount")
private String invoiceAmount;
/** 发票数量 **/
@JsonProperty("invoiceQuantity")
private String invoiceQuantity;
/** 单据状态 **/
@JsonProperty("status")
private String status;
/** 制单人 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 发票金额 **/
@JsonProperty("invoiceAmount")
private BigDecimal invoiceAmount;
/** 发票数量 **/
@JsonProperty("invoiceQuantity")
private BigDecimal invoiceQuantity;
/** 采购订单号 **/
@JsonProperty("purchaseorderId")

@ -11,7 +11,7 @@ import java.util.List;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-22
*/
@Data
public class InvoicesPagination extends Pagination {

@ -9,7 +9,7 @@ import java.util.*;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-22
*/
@Data
public class InvoicesPaginationExportModel extends Pagination {

@ -2,7 +2,8 @@
package jnpf.invoices.model.invoices;
import jnpf.invoices.model.invoices.Invoices_item0Model;
import jnpf.invoices.model.invoices.InvoicesItem1Model;
import jnpf.invoices.model.invoices.InvoicesItem0Model;
import lombok.Data;
import java.util.List;
import java.math.BigDecimal;
@ -16,7 +17,7 @@ import lombok.Data;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-29
* @ 2023-02-22
*/
@Data
public class InvoicesUpForm{
@ -36,12 +37,12 @@ public class InvoicesUpForm{
/** 金额 **/
@JsonProperty("amount")
private String amount;
private BigDecimal amount;
/** 数量 **/
@JsonProperty("quantity")
private String quantity;
private BigDecimal quantity;
/** 发票类型 **/
@ -59,24 +60,19 @@ public class InvoicesUpForm{
private String remark;
/** 单据状态 **/
@JsonProperty("status")
private String status;
/** 发票金额 **/
@JsonProperty("invoiceAmount")
private String invoiceAmount;
private BigDecimal invoiceAmount;
/** 发票数量 **/
@JsonProperty("invoiceQuantity")
private String invoiceQuantity;
/** 单据状态 **/
@JsonProperty("status")
private String status;
/** 制单人 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
private BigDecimal invoiceQuantity;
/** 采购订单号 **/
@ -94,7 +90,10 @@ public class InvoicesUpForm{
private String supplierId;
/** 子表数据 **/
@JsonProperty("invoices_item0List")
private List<Invoices_item0Model> invoices_item0List;
@JsonProperty("invoicesitem1List")
private List<InvoicesItem1Model> invoicesitem1List;
/** 子表数据 **/
@JsonProperty("invoicesitem0List")
private List<InvoicesItem0Model> invoicesitem0List;
}

@ -1,15 +0,0 @@
package jnpf.invoices.service;
import jnpf.invoices.entity.ContractinvoicesEntity;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* jg_contract
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
*/
public interface ContractinvoicesService extends IService<ContractinvoicesEntity> {
}

@ -1,6 +1,6 @@
package jnpf.invoices.service;
import jnpf.invoices.entity.Invoices_item0Entity;
import jnpf.invoices.entity.InvoicesItem0Entity;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
@ -8,8 +8,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-22
*/
public interface Invoices_item0Service extends IService<Invoices_item0Entity> {
public interface InvoicesItem0Service extends IService<InvoicesItem0Entity> {
}

@ -1,6 +1,6 @@
package jnpf.invoices.service;
import jnpf.invoices.entity.Invoices_item1Entity;
import jnpf.invoices.entity.InvoicesItem1Entity;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
@ -8,8 +8,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-22
*/
public interface Invoices_item1Service extends IService<Invoices_item1Entity> {
public interface InvoicesItem1Service extends IService<InvoicesItem1Entity> {
}

@ -1,6 +1,8 @@
package jnpf.invoices.service;
import jnpf.invoices.entity.Invoices_item0Entity;
import jnpf.invoices.service.Invoices_item0Service;
import jnpf.invoices.entity.InvoicesItem1Entity;
import jnpf.invoices.service.InvoicesItem1Service;
import jnpf.invoices.entity.InvoicesItem0Entity;
import jnpf.invoices.service.InvoicesItem0Service;
import jnpf.invoices.entity.InvoicesEntity;
import com.baomidou.mybatisplus.extension.service.IService;
@ -8,17 +10,17 @@ import jnpf.invoices.model.invoices.InvoicesPagination;
import java.util.*;
/**
*
* invoices
*
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-22
*/
public interface InvoicesService extends IService<InvoicesEntity> {
List<InvoicesEntity> getList(InvoicesPagination invoicesPagination);
List<InvoicesEntity> getTypeList(InvoicesPagination invoicesPagination,String dataType);
List<InvoicesEntity> getTypeList(InvoicesPagination invoicesPagination, String dataType);
@ -28,10 +30,11 @@ public interface InvoicesService extends IService<InvoicesEntity> {
void create(InvoicesEntity entity);
boolean update( String id, InvoicesEntity entity);
boolean update(String id, InvoicesEntity entity);
// 子表方法
List<Invoices_item0Entity> GetInvoices_item0List(String id);
List<InvoicesItem1Entity> GetInvoicesItem1List(String id);
List<InvoicesItem0Entity> GetInvoicesItem0List(String id);
//列表子表数据方法
}

@ -1,15 +0,0 @@
package jnpf.invoices.service;
import jnpf.invoices.entity.PurchaseorderinvoicesEntity;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* jg_purchaseorder
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
*/
public interface PurchaseorderinvoicesService extends IService<PurchaseorderinvoicesEntity> {
}

@ -1,15 +0,0 @@
package jnpf.invoices.service;
import jnpf.invoices.entity.SupplierinvoicesEntity;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* jg_supplier
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
*/
public interface SupplierinvoicesService extends IService<SupplierinvoicesEntity> {
}

@ -1,7 +1,7 @@
package jnpf.invoices.service.impl;
import jnpf.invoices.entity.*;
import jnpf.invoices.mapper.Invoices_item0Mapper;
import jnpf.invoices.mapper.InvoicesItem0Mapper;
import jnpf.invoices.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.util.RandomUtil;
@ -32,10 +32,10 @@ import java.util.*;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-22
*/
@Service
public class Invoices_item0ServiceImpl extends ServiceImpl<Invoices_item0Mapper, Invoices_item0Entity> implements Invoices_item0Service{
public class InvoicesItem0ServiceImpl extends ServiceImpl<InvoicesItem0Mapper, InvoicesItem0Entity> implements InvoicesItem0Service{
}

@ -1,7 +1,7 @@
package jnpf.invoices.service.impl;
import jnpf.invoices.entity.*;
import jnpf.invoices.mapper.Invoices_item1Mapper;
import jnpf.invoices.mapper.InvoicesItem1Mapper;
import jnpf.invoices.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.util.RandomUtil;
@ -32,10 +32,10 @@ import java.util.*;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-22
*/
@Service
public class Invoices_item1ServiceImpl extends ServiceImpl<Invoices_item1Mapper, Invoices_item1Entity> implements Invoices_item1Service{
public class InvoicesItem1ServiceImpl extends ServiceImpl<InvoicesItem1Mapper, InvoicesItem1Entity> implements InvoicesItem1Service{
}

@ -34,11 +34,11 @@ import java.util.*;
/**
*
* invoices
*
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
* 2023-02-22
*/
@Service
public class InvoicesServiceImpl extends ServiceImpl<InvoicesMapper, InvoicesEntity> implements InvoicesService{
@ -52,7 +52,10 @@ public class InvoicesServiceImpl extends ServiceImpl<InvoicesMapper, InvoicesEnt
@Autowired
private Invoices_item0Service invoices_item0Service;
private InvoicesItem1Service invoicesItem1Service;
@Autowired
private InvoicesItem0Service invoicesItem0Service;
@ -64,16 +67,10 @@ public class InvoicesServiceImpl extends ServiceImpl<InvoicesMapper, InvoicesEnt
int total=0;
int invoicesNum =0;
QueryWrapper<InvoicesEntity> invoicesQueryWrapper=new QueryWrapper<>();
int invoices_item0Num =0;
QueryWrapper<Invoices_item0Entity> invoices_item0QueryWrapper=new QueryWrapper<>();
int invoices_item1Num =0;
QueryWrapper<Invoices_item1Entity> invoices_item1QueryWrapper=new QueryWrapper<>();
int purchaseorderinvoicesNum =0;
QueryWrapper<PurchaseorderinvoicesEntity> purchaseorderinvoicesQueryWrapper=new QueryWrapper<>();
int contractinvoicesNum =0;
QueryWrapper<ContractinvoicesEntity> contractinvoicesQueryWrapper=new QueryWrapper<>();
int supplierinvoicesNum =0;
QueryWrapper<SupplierinvoicesEntity> supplierinvoicesQueryWrapper=new QueryWrapper<>();
int invoicesItem0Num =0;
QueryWrapper<InvoicesItem0Entity> invoicesItem0QueryWrapper=new QueryWrapper<>();
int invoicesItem1Num =0;
QueryWrapper<InvoicesItem1Entity> invoicesItem1QueryWrapper=new QueryWrapper<>();
boolean pcPermission = false;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
@ -86,40 +83,19 @@ public class InvoicesServiceImpl extends ServiceImpl<InvoicesMapper, InvoicesEnt
invoicesQueryWrapper = (QueryWrapper<InvoicesEntity>)invoicesObj;
invoicesNum++;
}
Object invoices_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoices_item0QueryWrapper,invoicesPagination.getMenuId(),"invoices_item0"));
if (ObjectUtil.isEmpty(invoices_item0Obj)){
Object invoicesItem0Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoicesItem0QueryWrapper,invoicesPagination.getMenuId(),"invoicesItem0"));
if (ObjectUtil.isEmpty(invoicesItem0Obj)){
return new ArrayList<>();
} else {
invoices_item0QueryWrapper = (QueryWrapper<Invoices_item0Entity>)invoices_item0Obj;
invoices_item0Num++;
invoicesItem0QueryWrapper = (QueryWrapper<InvoicesItem0Entity>)invoicesItem0Obj;
invoicesItem0Num++;
}
Object invoices_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoices_item1QueryWrapper,invoicesPagination.getMenuId(),"invoices_item1"));
if (ObjectUtil.isEmpty(invoices_item1Obj)){
Object invoicesItem1Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoicesItem1QueryWrapper,invoicesPagination.getMenuId(),"invoicesItem1"));
if (ObjectUtil.isEmpty(invoicesItem1Obj)){
return new ArrayList<>();
} else {
invoices_item1QueryWrapper = (QueryWrapper<Invoices_item1Entity>)invoices_item1Obj;
invoices_item1Num++;
}
Object purchaseorderinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorderinvoicesQueryWrapper,invoicesPagination.getMenuId(),"purchaseorderinvoices"));
if (ObjectUtil.isEmpty(purchaseorderinvoicesObj)){
return new ArrayList<>();
} else {
purchaseorderinvoicesQueryWrapper = (QueryWrapper<PurchaseorderinvoicesEntity>)purchaseorderinvoicesObj;
purchaseorderinvoicesNum++;
}
Object contractinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(contractinvoicesQueryWrapper,invoicesPagination.getMenuId(),"contractinvoices"));
if (ObjectUtil.isEmpty(contractinvoicesObj)){
return new ArrayList<>();
} else {
contractinvoicesQueryWrapper = (QueryWrapper<ContractinvoicesEntity>)contractinvoicesObj;
contractinvoicesNum++;
}
Object supplierinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(supplierinvoicesQueryWrapper,invoicesPagination.getMenuId(),"supplierinvoices"));
if (ObjectUtil.isEmpty(supplierinvoicesObj)){
return new ArrayList<>();
} else {
supplierinvoicesQueryWrapper = (QueryWrapper<SupplierinvoicesEntity>)supplierinvoicesObj;
supplierinvoicesNum++;
invoicesItem1QueryWrapper = (QueryWrapper<InvoicesItem1Entity>)invoicesItem1Obj;
invoicesItem1Num++;
}
}
}
@ -134,48 +110,21 @@ public class InvoicesServiceImpl extends ServiceImpl<InvoicesMapper, InvoicesEnt
}
Object invoices_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoices_item0QueryWrapper,invoicesPagination.getMenuId(),"invoices_item0"));
if (ObjectUtil.isEmpty(invoices_item0Obj)){
return new ArrayList<>();
} else {
invoices_item0QueryWrapper = (QueryWrapper<Invoices_item0Entity>)invoices_item0Obj;
invoices_item0Num++;
}
Object invoices_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoices_item1QueryWrapper,invoicesPagination.getMenuId(),"invoices_item1"));
if (ObjectUtil.isEmpty(invoices_item1Obj)){
return new ArrayList<>();
} else {
invoices_item1QueryWrapper = (QueryWrapper<Invoices_item1Entity>)invoices_item1Obj;
invoices_item1Num++;
}
Object purchaseorderinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorderinvoicesQueryWrapper,invoicesPagination.getMenuId(),"purchaseorderinvoices"));
if (ObjectUtil.isEmpty(purchaseorderinvoicesObj)){
return new ArrayList<>();
} else {
purchaseorderinvoicesQueryWrapper = (QueryWrapper<PurchaseorderinvoicesEntity>)purchaseorderinvoicesObj;
purchaseorderinvoicesNum++;
}
Object contractinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(contractinvoicesQueryWrapper,invoicesPagination.getMenuId(),"contractinvoices"));
if (ObjectUtil.isEmpty(contractinvoicesObj)){
Object invoicesItem0Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoicesItem0QueryWrapper,invoicesPagination.getMenuId(),"invoicesItem0"));
if (ObjectUtil.isEmpty(invoicesItem0Obj)){
return new ArrayList<>();
} else {
contractinvoicesQueryWrapper = (QueryWrapper<ContractinvoicesEntity>)contractinvoicesObj;
contractinvoicesNum++;
invoicesItem0QueryWrapper = (QueryWrapper<InvoicesItem0Entity>)invoicesItem0Obj;
invoicesItem0Num++;
}
Object supplierinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(supplierinvoicesQueryWrapper,invoicesPagination.getMenuId(),"supplierinvoices"));
if (ObjectUtil.isEmpty(supplierinvoicesObj)){
Object invoicesItem1Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoicesItem1QueryWrapper,invoicesPagination.getMenuId(),"invoicesItem1"));
if (ObjectUtil.isEmpty(invoicesItem1Obj)){
return new ArrayList<>();
} else {
supplierinvoicesQueryWrapper = (QueryWrapper<SupplierinvoicesEntity>)supplierinvoicesObj;
supplierinvoicesNum++;
invoicesItem1QueryWrapper = (QueryWrapper<InvoicesItem1Entity>)invoicesItem1Obj;
invoicesItem1Num++;
}
@ -220,16 +169,10 @@ public class InvoicesServiceImpl extends ServiceImpl<InvoicesMapper, InvoicesEnt
int total=0;
int invoicesNum =0;
QueryWrapper<InvoicesEntity> invoicesQueryWrapper=new QueryWrapper<>();
int invoices_item0Num =0;
QueryWrapper<Invoices_item0Entity> invoices_item0QueryWrapper=new QueryWrapper<>();
int invoices_item1Num =0;
QueryWrapper<Invoices_item1Entity> invoices_item1QueryWrapper=new QueryWrapper<>();
int purchaseorderinvoicesNum =0;
QueryWrapper<PurchaseorderinvoicesEntity> purchaseorderinvoicesQueryWrapper=new QueryWrapper<>();
int contractinvoicesNum =0;
QueryWrapper<ContractinvoicesEntity> contractinvoicesQueryWrapper=new QueryWrapper<>();
int supplierinvoicesNum =0;
QueryWrapper<SupplierinvoicesEntity> supplierinvoicesQueryWrapper=new QueryWrapper<>();
int invoicesItem0Num =0;
QueryWrapper<InvoicesItem0Entity> invoicesItem0QueryWrapper=new QueryWrapper<>();
int invoicesItem1Num =0;
QueryWrapper<InvoicesItem1Entity> invoicesItem1QueryWrapper=new QueryWrapper<>();
boolean pcPermission = false;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
@ -242,40 +185,19 @@ public class InvoicesServiceImpl extends ServiceImpl<InvoicesMapper, InvoicesEnt
invoicesQueryWrapper = (QueryWrapper<InvoicesEntity>)invoicesObj;
invoicesNum++;
}
Object invoices_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoices_item0QueryWrapper,invoicesPagination.getMenuId(),"invoices_item0"));
if (ObjectUtil.isEmpty(invoices_item0Obj)){
Object invoicesItem0Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoicesItem0QueryWrapper,invoicesPagination.getMenuId(),"invoicesItem0"));
if (ObjectUtil.isEmpty(invoicesItem0Obj)){
return new ArrayList<>();
} else {
invoices_item0QueryWrapper = (QueryWrapper<Invoices_item0Entity>)invoices_item0Obj;
invoices_item0Num++;
invoicesItem0QueryWrapper = (QueryWrapper<InvoicesItem0Entity>)invoicesItem0Obj;
invoicesItem0Num++;
}
Object invoices_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoices_item1QueryWrapper,invoicesPagination.getMenuId(),"invoices_item1"));
if (ObjectUtil.isEmpty(invoices_item1Obj)){
Object invoicesItem1Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoicesItem1QueryWrapper,invoicesPagination.getMenuId(),"invoicesItem1"));
if (ObjectUtil.isEmpty(invoicesItem1Obj)){
return new ArrayList<>();
} else {
invoices_item1QueryWrapper = (QueryWrapper<Invoices_item1Entity>)invoices_item1Obj;
invoices_item1Num++;
}
Object purchaseorderinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorderinvoicesQueryWrapper,invoicesPagination.getMenuId(),"purchaseorderinvoices"));
if (ObjectUtil.isEmpty(purchaseorderinvoicesObj)){
return new ArrayList<>();
} else {
purchaseorderinvoicesQueryWrapper = (QueryWrapper<PurchaseorderinvoicesEntity>)purchaseorderinvoicesObj;
purchaseorderinvoicesNum++;
}
Object contractinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(contractinvoicesQueryWrapper,invoicesPagination.getMenuId(),"contractinvoices"));
if (ObjectUtil.isEmpty(contractinvoicesObj)){
return new ArrayList<>();
} else {
contractinvoicesQueryWrapper = (QueryWrapper<ContractinvoicesEntity>)contractinvoicesObj;
contractinvoicesNum++;
}
Object supplierinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(supplierinvoicesQueryWrapper,invoicesPagination.getMenuId(),"supplierinvoices"));
if (ObjectUtil.isEmpty(supplierinvoicesObj)){
return new ArrayList<>();
} else {
supplierinvoicesQueryWrapper = (QueryWrapper<SupplierinvoicesEntity>)supplierinvoicesObj;
supplierinvoicesNum++;
invoicesItem1QueryWrapper = (QueryWrapper<InvoicesItem1Entity>)invoicesItem1Obj;
invoicesItem1Num++;
}
}
}
@ -290,48 +212,21 @@ public class InvoicesServiceImpl extends ServiceImpl<InvoicesMapper, InvoicesEnt
}
Object invoices_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoices_item0QueryWrapper,invoicesPagination.getMenuId(),"invoices_item0"));
if (ObjectUtil.isEmpty(invoices_item0Obj)){
return new ArrayList<>();
} else {
invoices_item0QueryWrapper = (QueryWrapper<Invoices_item0Entity>)invoices_item0Obj;
invoices_item0Num++;
}
Object invoices_item1Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoices_item1QueryWrapper,invoicesPagination.getMenuId(),"invoices_item1"));
if (ObjectUtil.isEmpty(invoices_item1Obj)){
Object invoicesItem0Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoicesItem0QueryWrapper,invoicesPagination.getMenuId(),"invoicesItem0"));
if (ObjectUtil.isEmpty(invoicesItem0Obj)){
return new ArrayList<>();
} else {
invoices_item1QueryWrapper = (QueryWrapper<Invoices_item1Entity>)invoices_item1Obj;
invoices_item1Num++;
invoicesItem0QueryWrapper = (QueryWrapper<InvoicesItem0Entity>)invoicesItem0Obj;
invoicesItem0Num++;
}
Object purchaseorderinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorderinvoicesQueryWrapper,invoicesPagination.getMenuId(),"purchaseorderinvoices"));
if (ObjectUtil.isEmpty(purchaseorderinvoicesObj)){
Object invoicesItem1Obj=authorizeService.getCondition(new AuthorizeConditionModel(invoicesItem1QueryWrapper,invoicesPagination.getMenuId(),"invoicesItem1"));
if (ObjectUtil.isEmpty(invoicesItem1Obj)){
return new ArrayList<>();
} else {
purchaseorderinvoicesQueryWrapper = (QueryWrapper<PurchaseorderinvoicesEntity>)purchaseorderinvoicesObj;
purchaseorderinvoicesNum++;
}
Object contractinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(contractinvoicesQueryWrapper,invoicesPagination.getMenuId(),"contractinvoices"));
if (ObjectUtil.isEmpty(contractinvoicesObj)){
return new ArrayList<>();
} else {
contractinvoicesQueryWrapper = (QueryWrapper<ContractinvoicesEntity>)contractinvoicesObj;
contractinvoicesNum++;
}
Object supplierinvoicesObj=authorizeService.getCondition(new AuthorizeConditionModel(supplierinvoicesQueryWrapper,invoicesPagination.getMenuId(),"supplierinvoices"));
if (ObjectUtil.isEmpty(supplierinvoicesObj)){
return new ArrayList<>();
} else {
supplierinvoicesQueryWrapper = (QueryWrapper<SupplierinvoicesEntity>)supplierinvoicesObj;
supplierinvoicesNum++;
invoicesItem1QueryWrapper = (QueryWrapper<InvoicesItem1Entity>)invoicesItem1Obj;
invoicesItem1Num++;
}
@ -399,10 +294,16 @@ public class InvoicesServiceImpl extends ServiceImpl<InvoicesMapper, InvoicesEnt
}
//子表方法
@Override
public List<Invoices_item0Entity> GetInvoices_item0List(String id){
QueryWrapper<Invoices_item0Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(Invoices_item0Entity::getInvoicesId, id);
return invoices_item0Service.list(queryWrapper);
public List<InvoicesItem1Entity> GetInvoicesItem1List(String id){
QueryWrapper<InvoicesItem1Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(InvoicesItem1Entity::getInvoicesId, id);
return invoicesItem1Service.list(queryWrapper);
}
@Override
public List<InvoicesItem0Entity> GetInvoicesItem0List(String id){
QueryWrapper<InvoicesItem0Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(InvoicesItem0Entity::getInvoicesId, id);
return invoicesItem0Service.list(queryWrapper);
}
//列表子表数据方法

@ -1,41 +0,0 @@
package jnpf.invoices.service.impl;
import jnpf.invoices.entity.*;
import jnpf.invoices.mapper.PurchaseorderinvoicesMapper;
import jnpf.invoices.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.util.RandomUtil;
import java.math.BigDecimal;
import cn.hutool.core.util.ObjectUtil;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.text.SimpleDateFormat;
import jnpf.util.*;
import java.util.*;
/**
*
* jg_purchaseorder
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-29
*/
@Service
public class PurchaseorderinvoicesServiceImpl extends ServiceImpl<PurchaseorderinvoicesMapper, PurchaseorderinvoicesEntity> implements PurchaseorderinvoicesService{
}

@ -4,14 +4,15 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jnpf.base.ActionResult;
import jnpf.contractfile.model.contractfile.ContractFileListQueryModel;
import jnpf.purchaseorder.entity.PurchaseorderitemEntity;
import jnpf.purchaseorder.service.PurchaseorderitemService;
import jnpf.util.JsonUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
@ -25,43 +26,18 @@ public class MobilePortController {
@Resource
private PurchaseorderitemService purchaseorderitemService;
/**
*
* @param response
* @param documentNo
* @throws Exception
*/
@GetMapping(value = "/exportPdf", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public ResponseEntity<byte[]> exportBillInfo() {
// byte[] bytes = null;
// HttpHeaders headers = null;
// ByteArrayOutputStream out=null;
// try {
// ExportPdf exportPdf = new ExportPdf();
// //渲染模板参数
// Map map=new HashMap();
// map.put("title","标题");
// map.put("name", "老王");
// //repotData自己加测试数据
// map.put("repotData", new ArrayList<>());
//
// out= exportPdf.createPdf(map, "test.ftl", "/templates/export");
// bytes = out.toByteArray();
// String fileName="测试.pdf";
// fileName = URLEncoder.encode(fileName, "utf-8");
// headers = new HttpHeaders();
// headers.add("Content-Disposition",
// "attachment; filename=" + fileName);
// //"attachment; filename=" + new String(fileName.getBytes("gbk"), StandardCharsets.ISO_8859_1));
// } catch (Exception e) {
// log.error("导出pdf失败:{}", e);
//// throw new SubBusinessException(ErrorCode.FILE_DOWNLOAD_ERROR, "导出pdf失败!");
//
// }finally {
// if (null!=out){
// try {
// out.close();
// } catch (IOException e) {
// log.error("out close error:{}", e);
// }
// }
// }
// return new ResponseEntity<>(bytes, headers, HttpStatus.OK);
return purchaseorderitemService.getPdfInfo();
public void exportBillInfo(HttpServletResponse response,String documentNo) throws Exception {
// public void exportBillInfo(HttpServletResponse response) throws Exception {
PurchaseorderitemEntity purchaseorderitemEntity = new PurchaseorderitemEntity();
purchaseorderitemEntity.setContractNo(documentNo);
purchaseorderitemService.getPdfInfo(purchaseorderitemEntity,response);
}

@ -1,7 +1,6 @@
package jnpf.mobilePort.entity;
import com.fasterxml.jackson.annotation.JsonProperty;
import jnpf.purchaseorder.model.purchaseorder.*;
import lombok.Data;
import java.util.List;
@ -86,8 +85,9 @@ public class PurchaseOrderVO {
@JsonProperty("status")
private String status;
/** 子表数据 **/
@JsonProperty("purchaseorder_item0List")
private List<Purchaseorder_item0Model> purchaseorder_item0List;
@JsonProperty("purchaseorderItemModelVO")
private List<PurchaseorderItemModelVO> purchaseorder_item0List;
}

@ -0,0 +1,96 @@
package jnpf.mobilePort.entity;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
/**
* @Author: WangChuang
* @Date: 22/2/2023 1:53
* @Description //注释:
* @Version 1.0
*/
@Data
public class PurchaseorderItemModelVO {
/** 车牌号 **/
@JsonProperty("licenseNum")
private String licenseNum;
/** 物料名称 **/
@JsonProperty("materialName")
private String materialName;
/** 类型 **/
@JsonProperty("pountType")
private String pountType;
/** 净重 **/
@JsonProperty("netWeight")
private String netWeight;
/** 单位 **/
@JsonProperty("unit")
private String unit;
/** 是否垫资 **/
@JsonProperty("advance")
private String advance;
/** 单价 **/
@JsonProperty("price")
private String price;
/** 结算重量 **/
@JsonProperty("settlement")
private String settlement;
/** 税率 **/
@JsonProperty("rate")
private String rate;
/** 金额 **/
@JsonProperty("amount")
private String amount;
/** 不含税金额 **/
@JsonProperty("notAmount")
private String notAmount;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 磅单图片 **/
@JsonProperty("poundPictures")
private String poundPictures;
/** 车辆图片 **/
@JsonProperty("vehiclePictures")
private String vehiclePictures;
/** 客户名称 **/
@JsonProperty("supplierNm")
private String supplierNm;
/** 收货日期 **/
@JsonProperty("poundDate")
private String poundDate;
/** 送货车号 **/
@JsonProperty("ticketNo")
private String ticketNo;
/** 毛重 **/
@JsonProperty("grossWeight")
private String grossWeight;
/** 皮重 **/
@JsonProperty("tareWeight")
private String tareWeight;
/** 扣重 **/
@JsonProperty("buckleWeight")
private String buckleWeight;
}

@ -3,9 +3,11 @@ package jnpf.mobilePort.utils;
import com.lowagie.text.pdf.BaseFont;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
import org.xhtmlrenderer.pdf.ITextRenderer;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.StringWriter;
import java.util.Locale;
@ -20,6 +22,43 @@ import java.util.Map;
*/
public class ExportPdf {
public String createWord(Map data, String templateFileName) throws IOException, TemplateException {
// 模板的位置
String path = "/templates/export/";
// 创建一个FreeMarker实例, 负责管理FreeMarker模板的Configuration实例
Configuration cfg = new Configuration();
cfg.setDefaultEncoding("UTF-8");
// 指定FreeMarker模板文件的位置
cfg.setClassForTemplateLoading(this.getClass(), path);
// 设置 css中 的字体样式(暂时仅支持宋体和黑体) 必须,不然中文不显示
//String path = ExportPdf.class.getResource("").getPath();
//String path = ExportPdf.class.getResource("/").getPath() + "templates/export/";
// 设置模板的编码格式
cfg.setEncoding(Locale.getDefault(), "UTF-8");
// 获取模板文件
Template template = cfg.getTemplate(templateFileName, "UTF-8");
StringWriter writer = new StringWriter();
// 将数据输出到html中
template.process(data, writer);
writer.flush();
String word = writer.toString();
// 把html代码传入渲染器中
// 设置模板中的图片路径 这里的images在resources目录下 模板中img标签src路径需要相对路径加图片名 如<img src="images/xh.jpg"/>
// String url = ImportExcelUtil.class.getClassLoader().getResource("images").toURI().toString();
// renderer.getSharedContext().setBaseURL(url);
writer.close();
return word;
}
/**
* pdf
*
@ -29,7 +68,8 @@ public class ExportPdf {
*/
public ByteArrayOutputStream createPdf(Map data, String templateFileName, String basePackagePath) throws Exception {
OutputStream out = new ByteArrayOutputStream();
StringWriter writer = new StringWriter();
try{
// 创建一个FreeMarker实例, 负责管理FreeMarker模板的Configuration实例
Configuration cfg = new Configuration();
cfg.setDefaultEncoding("UTF-8");
@ -45,7 +85,7 @@ public class ExportPdf {
cfg.setEncoding(Locale.CHINA, "UTF-8");
// 获取模板文件
Template template = cfg.getTemplate(templateFileName, "UTF-8");
StringWriter writer = new StringWriter();
// 将数据输出到html中
template.process(data, writer);
writer.flush();
@ -60,9 +100,11 @@ public class ExportPdf {
renderer.layout();
renderer.createPDF(out, false);
renderer.finishPDF();
renderer.finishPDF();}
finally {
out.flush();
writer.close();
}
return (ByteArrayOutputStream) out;
}

@ -0,0 +1,227 @@
package jnpf.mobilePort.utils;
import jnpf.util.FilePathUtil;
import jnpf.util.JsonUtil;
import sun.misc.BASE64Encoder;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: WangChuang
* @Date: 22/2/2023 11:00
* @Description // TODO实现文件或文件夹的复制到指定目录
* @Version 1.0
*/
public class FileCopy {
public static void createFile(String path){
File file = new File(path);
if (!file.exists()){
file.mkdirs();
}
}
/**
* @TODO
* @param path
* @return
*/
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件
// delFolder(path + "/" + tempList[i]);//再删除空文件夹
flag = true;
}
}
return flag;
}
/**
* base64
* @param picturesInfo
* @return
* @throws Exception
*/
public static List<Map<String,Object>> getImageInfo(String picturesInfo) throws Exception {
List<Map<String,Object>> imageBaseList = new ArrayList<>();
if (!picturesInfo.equals("null")){
for (Object o : JsonUtil.getJsonToJsonArray(picturesInfo)) {
Map<String,String> map =(Map<String,String>)o;
String url = map.get("url");
System.out.println(url);
int i = url.indexOf("/", 16);
String type = url.substring(16, i);
// System.out.println("type"+type);
// System.out.println("type.toLowerCase()"+type.toLowerCase());
String fileId = map.get("fileId");
// 本地文件路径
String filePath = FilePathUtil.getFilePath(type.toLowerCase())+fileId;
// 获得图片的base64码
String imageBase = FileCopy.getImageBase(filePath);
int[] imgWidthHeight = FileCopy.getImgWidthHeight(filePath);
HashMap<String, Object> map1 = new HashMap<>();
map1.put("imgBase",imageBase);
map1.put("name",fileId);
map1.put("filePath",filePath);
if (imgWidthHeight!=null){
map1.put("width",String.valueOf(imgWidthHeight[0]));
map1.put("height",String.valueOf(imgWidthHeight[1]));
}
imageBaseList.add(map1);
// System.out.println(filePath);
// System.out.println(imageBase);
}
}
return imageBaseList;
}
/**
*
* @param
* @return
*/
public static int[] getImgWidthHeight(String srcc) {
if (srcc == null || srcc == "") {
return null;
}
File file = new File(srcc);
if (!file.exists()) {
return null;
}
InputStream is = null;
BufferedImage src = null;
int result[] = { 0, 0 };
try {
// 获得文件输入流
is = new FileInputStream(file);
// 从流里将图片写入缓冲图片区
src = ImageIO.read(is);
result[0] =src.getWidth(null); // 得到源图片宽
result[1] =src.getHeight(null);// 得到源图片高
is.close(); //关闭输入流
src = null;
} catch (Exception ef) {
ef.printStackTrace();
}
System.gc();
return result;
}
//获得图片的base64码
public static String getImageBase(String src) throws Exception {
if (src == null || src == "") {
return "";
}
File file = new File(src);
if (!file.exists()) {
return "";
}
InputStream in = null;
byte[] data = null;
try {
in = new FileInputStream(file);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(data);
}
public static void copySCMFile(File source, String dest )throws IOException{
File parentFile = source.getParentFile();
if (!parentFile.exists()){
parentFile.mkdirs();
copyFile(source, dest);
}else{
copyFile(source, dest);
}
}
public static void copyFile(File source, String dest )throws IOException {
if (source.exists()){
//创建目的地文件夹
File destfile = new File(dest);
if(!destfile.exists()){
destfile.mkdir();
}
//如果source是文件夹则在目的地址中创建新的文件夹
if(source.isDirectory()){
File file = new File(dest+"\\"+source.getName());//用目的地址加上source的文件夹名称创建新的文件夹
file.mkdir();
//得到source文件夹的所有文件及目录
File[] files = source.listFiles();
if(files.length==0){
return;
}else{
for(int i = 0 ;i<files.length;i++){
copyFile(files[i],file.getPath());
}
}
}
//source是文件则用字节输入输出流复制文件
else if(source.isFile()){
FileInputStream fis = new FileInputStream(source);
//创建新的文件,保存复制内容,文件名称与源文件名称一致
File dfile = new File(dest+"\\"+source.getName());
if(!dfile.exists()){
dfile.createNewFile();
}
FileOutputStream fos = new FileOutputStream(dfile);
// 读写数据
// 定义数组
byte[] b = new byte[1024];
// 定义长度
int len;
// 循环读取
while ((len = fis.read(b))!=-1) {
// 写出数据
fos.write(b, 0 , len);
}
//关闭资源
fos.close();
fis.close();
}
}
}
}

@ -16,11 +16,21 @@ import jnpf.base.UserInfo;
import jnpf.base.vo.DownloadVO;
import jnpf.collection.model.collection.Collection_item0Model;
import jnpf.config.ConfigValueUtil;
import jnpf.contractfile.entity.ContractFileEntity;
import jnpf.contractfile.service.ContractFileService;
import jnpf.exception.DataException;
import jnpf.paymentdoc.entity.Paymentdoc_item0Entity;
import jnpf.paymentdoc.service.Paymentdoc_item0Service;
import jnpf.paymentdoc.entity.PaymentdocEntity;
import jnpf.paymentdoc.entity.PaymentdocItem0Entity;
import jnpf.paymentdoc.service.PaymentdocItem0Service;
import jnpf.paymentdoc.service.PaymentdocService;
import jnpf.poundlist.entity.PoundlistEntity;
import jnpf.poundlist.service.PoundlistService;
import jnpf.purchaseback.entity.PurchaseorderEntity;
import jnpf.purchaseback.service.PurchaseorderService;
import jnpf.purchaseorder.entity.Purchaseorder_item0Entity;
import jnpf.purchaseorder.entity.PurchaseorderitemEntity;
import jnpf.purchaseorder.service.PurchaseorderitemService;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.transaction.annotation.Transactional;
import jnpf.base.entity.ProvinceEntity;
@ -88,36 +98,73 @@ public class PaymentController {
private Payment_item0Service payment_item0Service;
@Autowired
private Paymentdoc_item0Service paymentdoc_item0Service;
private PaymentdocItem0Service paymentdoc_item0Service;
@Autowired
private PurchaseorderService purchaseorderService;
private PurchaseorderitemService purchaseorderitemService;
@Autowired
private ContractFileService contractFileService;
@Autowired
private PaymentdocService paymentdocService;
@Autowired
private PoundlistService poundlistService;
@PostMapping("/submitprice")
@Transactional
public ActionResult submitprice(@RequestBody PaymentListVO paymentListVO) {
PaymentEntity paymentEntity = paymentService.getById(paymentListVO.getId());
paymentEntity.setStatus("1");
paymentService.updateById(paymentEntity);
QueryWrapper<PaymentdocEntity> paymentdocQueryWrapper=new QueryWrapper<>();
paymentdocQueryWrapper.lambda().eq(PaymentdocEntity::getDocumentNo, paymentEntity.getPaymentno());
List<PaymentdocEntity> paymentdocList = paymentdocService.list(paymentdocQueryWrapper);
for (PaymentdocEntity paymentdocEntity : paymentdocList) {
paymentdocEntity.setDocStatus("3");
paymentdocEntity.setPaymentAmount(paymentEntity.getPaymentamount());
paymentdocEntity.setUnpaymentAmount(paymentdocEntity.getRamount().subtract(paymentdocEntity.getPaymentAmount()));
paymentdocService.updateById(paymentdocEntity);
}
return ActionResult.success("提交成功");
}
@PostMapping("/confirmprice")
@Transactional
public ActionResult confirmPrice(@RequestBody PaymentListVO paymentListVO) {
PaymentEntity paymentEntity = paymentService.getInfo(paymentListVO.getId());
if (!paymentEntity.getStatus().equals("2")){
return ActionResult.fail("审核中,请先通过审核");
}
QueryWrapper<Payment_item0Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(Payment_item0Entity::getPaymentId,paymentListVO.getId());
List<Payment_item0Entity> dList = payment_item0Service.list(queryWrapper);
for (Payment_item0Entity payment_item0Entity : dList){
Paymentdoc_item0Entity paymentdoc_item0Entity = paymentdoc_item0Service.getById(payment_item0Entity.getPaymentdocitemId());
PurchaseorderEntity purchaseorderEntity = purchaseorderService.getById(paymentdoc_item0Entity.getPurchaseorderId());
if (purchaseorderEntity.getPayPrice().equals(purchaseorderEntity.getAmount())){
return ActionResult.fail("回款金额等于金额");
}
BigDecimal sum = purchaseorderEntity.getPayPrice().add(payment_item0Entity.getAmount());
if (sum.compareTo(purchaseorderEntity.getAmount()) > 0){
return ActionResult.fail("总回款金额大于金额");
}
purchaseorderEntity.setPayPrice(sum);
purchaseorderEntity.setStatus("1");
purchaseorderService.updateById(purchaseorderEntity);
PaymentEntity paymentEntity = paymentService.getById(paymentListVO.getId());
paymentEntity.setStatus("2");
paymentService.updateById(paymentEntity);
List<Payment_item0Entity> Payment_item0List = paymentService.GetPayment_item0List(paymentEntity.getId());
for (Payment_item0Entity payment_item0Entity: Payment_item0List) {
PaymentdocItem0Entity paymentdocItem0Entity = paymentdoc_item0Service.getById(payment_item0Entity.getPaymentdocitemId());
PurchaseorderitemEntity purchaseorderitemEntity = purchaseorderitemService.getById(paymentdocItem0Entity.getPurchaseorderId());
purchaseorderitemEntity.setPayPrice(purchaseorderitemEntity.getPayPrice().add(paymentdocItem0Entity.getAmount()));
purchaseorderitemService.updateById(purchaseorderitemEntity);
List<Purchaseorder_item0Entity> Purchaseorder_item0List = purchaseorderitemService.GetPurchaseorder_item0List(purchaseorderitemEntity.getId());
List<String> poundlistIds = new ArrayList<>();
for (Purchaseorder_item0Entity purchaseorder_item0Entity: Purchaseorder_item0List) {
poundlistIds.add(purchaseorder_item0Entity.getPoundlistId());
}
QueryWrapper<PoundlistEntity> poundlistQueryWrapper=new QueryWrapper<>();
poundlistQueryWrapper.lambda().in(PoundlistEntity::getId, poundlistIds).orderByAsc(PoundlistEntity::getPoundDate);
List<PoundlistEntity> poundlistEntityList = poundlistService.list(poundlistQueryWrapper);
Purchaseorder_item0Entity orderItem = Purchaseorder_item0List.stream().filter(item0 -> ObjectUtil.equals(item0.getPoundlistId(), poundlistEntityList.get(0).getId())).findAny().get();
BigDecimal total = orderItem.getAmount();
int i = 0;
while (purchaseorderitemEntity.getPayPrice().compareTo(total) >= 0){
i++;
if(i < poundlistEntityList.size()){
String poundlistId = poundlistEntityList.get(i).getId();
orderItem = Purchaseorder_item0List.stream().filter(item0 -> ObjectUtil.equals(item0.getPoundlistId(), poundlistId)).findAny().get();
total = total.add(orderItem.getAmount());
}else{
break;
}
}
for (int j = 0;j<i;j++) {
poundlistEntityList.get(j).setIsPay("1");
poundlistEntityList.get(j).setPayDate(new Date());
poundlistService.updateById(poundlistEntityList.get(j));
}
}
return ActionResult.success("认款成功");
}
@ -341,18 +388,26 @@ public class PaymentController {
List<Payment_item0Model> payment_item0Models = new ArrayList<>();
Payment_item0Model payment_item0Model = new Payment_item0Model();
for(Payment_item0Entity payment_item0Entity : Payment_item0List){
Paymentdoc_item0Entity paymentdoc_item0Entity = paymentdoc_item0Service.getById(payment_item0Entity.getPaymentdocitemId());
PurchaseorderEntity purchaseorderEntity = purchaseorderService.getById(paymentdoc_item0Entity.getPurchaseorderId());
payment_item0Model.setAmount(String.valueOf(payment_item0Entity.getAmount()));
// payment_item0Model.setAmount(String.valueOf(purchaseorderEntity.getAmount()));
// payment_item0Model.setAmount(String.valueOf(purchaseorderEntity.getAmount()));
payment_item0Model.setPayPrice(String.valueOf(purchaseorderEntity.getPayPrice()));
payment_item0Model.setDocumentNo(String.valueOf(purchaseorderEntity.getDocumentNo()));
payment_item0Model.setContractCode(String.valueOf(purchaseorderEntity.getContractCode()));
payment_item0Model.setNum(String.valueOf(purchaseorderEntity.getNum()));
payment_item0Model.setAdvanceAmount(String.valueOf(purchaseorderEntity.getAdvanceAmount()));
payment_item0Model.setRate(String.valueOf(purchaseorderEntity.getRate()));
payment_item0Model.setNotAmount(String.valueOf(purchaseorderEntity.getNotAmount()));
PaymentdocItem0Entity paymentdoc_item0Entity = paymentdoc_item0Service.getById(payment_item0Entity.getPaymentdocitemId());
PurchaseorderitemEntity purchaseorderEntity = purchaseorderitemService.getById(paymentdoc_item0Entity.getPurchaseorderId());
if(purchaseorderEntity != null && StringUtils.isNotEmpty(purchaseorderEntity.getContractCode())){
ContractFileEntity contractFileEntity = contractFileService.getById(purchaseorderEntity.getContractCode());
if(contractFileEntity != null && StringUtils.isNotEmpty(contractFileEntity.getContractName())){
purchaseorderEntity.setContractNo(contractFileEntity.getContractCode());
}
}
payment_item0Model.setPaymentdocitemId(payment_item0Entity.getPaymentdocitemId());
payment_item0Model.setAmount(payment_item0Entity.getAmount());
payment_item0Model.setAllAmount(purchaseorderEntity.getAmount());
payment_item0Model.setRequestAmount(purchaseorderEntity.getAmount());
payment_item0Model.setPayPrice(purchaseorderEntity.getPayPrice());
payment_item0Model.setDocumentNo(purchaseorderEntity.getDocumentNo());
payment_item0Model.setContractNo(purchaseorderEntity.getContractNo());
payment_item0Model.setNum(purchaseorderEntity.getNum());
payment_item0Model.setAdvanceAmount(purchaseorderEntity.getAdvanceAmount());
payment_item0Model.setRate(purchaseorderEntity.getRate());
payment_item0Model.setNotAmount(purchaseorderEntity.getNotAmount());
payment_item0Model.setCreatorTime(purchaseorderEntity.getCreatorTime());
payment_item0Models.add(payment_item0Model);
}
vo.setPayment_item0List(payment_item0Models);

@ -3,6 +3,9 @@ package jnpf.payment.mapper;
import jnpf.payment.entity.PaymentEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.payment.model.payment.PaymentListVO;
import java.util.List;
/**
*
@ -14,5 +17,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface PaymentMapper extends BaseMapper<PaymentEntity> {
List<PaymentListVO> queryByPurchaseorderId(String id);
}

@ -20,7 +20,7 @@ public class Payment_item0Model {
/** 付款金额 **/
@JsonProperty("amount")
private String amount;
private BigDecimal amount;
/** 采购订单主表id **/
@JsonProperty("id")
@ -30,9 +30,14 @@ public class Payment_item0Model {
@JsonProperty("paymentdocitemId")
private String paymentdocitemId;
// /** 申请金额 **/
// @JsonProperty("amount")
// private String amount;
/** 申请金额 **/
@JsonProperty("allAmount")
private BigDecimal allAmount;
/** 合同编码 **/
@JsonProperty("contractNo")
private String contractNo;
//
// /** 订单金额 **/
// @JsonProperty("amount")
@ -40,7 +45,7 @@ public class Payment_item0Model {
/** 已付金额 **/
@JsonProperty("payPrice")
private String payPrice;
private BigDecimal payPrice;
/** 订单编号 **/
@JsonProperty("documentNo")
@ -52,22 +57,25 @@ public class Payment_item0Model {
/** 重量 **/
@JsonProperty("num")
private String num;
private BigDecimal num;
/** 垫资金额 **/
@JsonProperty("advanceAmount")
private String advanceAmount;
private BigDecimal advanceAmount;
/** 税额 **/
@JsonProperty("rate")
private String rate;
private BigDecimal rate;
/** 不含税金额 **/
@JsonProperty("notAmount")
private String notAmount;
private BigDecimal notAmount;
/** 业务日期 **/
@JsonProperty("creatorTime")
private Long creatorTime;
private Date creatorTime;
/** 业务日期 **/
@JsonProperty("requestAmount")
private BigDecimal requestAmount;
}

@ -1,5 +1,6 @@
package jnpf.payment.service;
import jnpf.payment.entity.Payment_item0Entity;
import jnpf.payment.model.payment.PaymentListVO;
import jnpf.payment.service.Payment_item0Service;
import jnpf.payment.entity.PaymentEntity;
@ -33,5 +34,7 @@ public interface PaymentService extends IService<PaymentEntity> {
// 子表方法
List<Payment_item0Entity> GetPayment_item0List(String id);
List<PaymentListVO> queryByPurchaseorderId(String id);
//列表子表数据方法
}

@ -2,6 +2,7 @@ package jnpf.payment.service.impl;
import jnpf.payment.entity.*;
import jnpf.payment.mapper.PaymentMapper;
import jnpf.payment.model.payment.PaymentListVO;
import jnpf.payment.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.util.RandomUtil;
@ -53,7 +54,8 @@ public class PaymentServiceImpl extends ServiceImpl<PaymentMapper, PaymentEntity
@Autowired
private Payment_item0Service payment_item0Service;
@Autowired
private PaymentMapper paymentMapper;
@ -261,6 +263,11 @@ public class PaymentServiceImpl extends ServiceImpl<PaymentMapper, PaymentEntity
return payment_item0Service.list(queryWrapper);
}
@Override
public List<PaymentListVO> queryByPurchaseorderId(String id) {
return paymentMapper.queryByPurchaseorderId(id);
}
//列表子表数据方法

@ -1,10 +1,8 @@
package jnpf.paymentdoc.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -14,31 +12,42 @@ import jnpf.base.vo.PaginationVO;
import jnpf.base.UserInfo;
import jnpf.base.vo.DownloadVO;
import jnpf.config.ConfigValueUtil;
import jnpf.contractfile.entity.ContractFileEntity;
import jnpf.contractfile.service.ContractFileService;
import jnpf.exception.DataException;
import jnpf.payment.entity.PaymentEntity;
import jnpf.payment.entity.Payment_item0Entity;
import jnpf.payment.mapper.PaymentMapper;
import jnpf.payment.model.payment.PaymentCrForm;
import jnpf.payment.service.PaymentService;
import jnpf.payment.service.Payment_item0Service;
import jnpf.purchaseback.entity.PurchaseorderEntity;
import jnpf.purchaseback.service.PurchaseorderService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.transaction.annotation.Transactional;
import jnpf.base.entity.ProvinceEntity;
import jnpf.paymentdoc.model.paymentdoc.*;
import jnpf.paymentdoc.model.paymentdoc.PaymentdocPagination;
import jnpf.paymentdoc.entity.Paymentdoc_item0Entity;
import jnpf.paymentdoc.entity.*;
import jnpf.paymentdoc.entity.PaymentdocItem0Entity;
import jnpf.util.*;
import jnpf.base.util.*;
import jnpf.base.vo.ListVO;
import jnpf.util.context.SpringContext;
import cn.hutool.core.util.ObjectUtil;
import lombok.extern.slf4j.Slf4j;
import lombok.Cleanup;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import jnpf.engine.entity.FlowTaskEntity;
import jnpf.base.entity.VisualdevEntity;
import jnpf.paymentdoc.entity.PaymentdocEntity;
import jnpf.paymentdoc.service.PaymentdocService;
import jnpf.paymentdoc.service.Paymentdoc_item0Service;
import jnpf.paymentdoc.entity.PaymentdocItem0Entity;
import jnpf.paymentdoc.service.PaymentdocItem0Service;
import jnpf.exception.WorkFlowException;
import jnpf.engine.enums.FlowStatusEnum;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import jnpf.util.GeneraterSwapUtil;
@ -47,25 +56,25 @@ import java.util.*;
import jnpf.util.file.UploadUtil;
import jnpf.util.enums.FileTypeEnum;
/**
*
* paymentdoc
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-09
* @ 2023-02-23
*/
@Slf4j
@RestController
@Api(tags = "paymentdoc" , value = "example")
@RequestMapping("/api/example/Paymentdoc")
@Api(tags = "paymentdoc" , value = "paymentdoc")
@RequestMapping("/api/paymentdoc/Paymentdoc")
public class PaymentdocController {
@Autowired
private GeneraterSwapUtil generaterSwapUtil;
@Autowired
private ConfigValueUtil configValueUtil;
@Autowired
private UserProvider userProvider;
@ -74,78 +83,13 @@ public class PaymentdocController {
private PaymentdocService paymentdocService;
@Autowired
private Paymentdoc_item0Service paymentdoc_item0Service;
@Autowired
private PaymentService paymentService;
@Autowired
private PaymentMapper paymentMapper;
@Autowired
private Payment_item0Service payment_item0Service;
/**
*
*
* @param
* @return
*/
// @GetMapping("/{id}")
@PostMapping("/paymentapplylist")
public ActionResult paymentapplylist(@RequestBody PaymentdocCrForms paymentdocCrForms) throws DataException {
PaymentEntity paymentEntity = new PaymentEntity();
PaymentCrForm paymentCrForm =new PaymentCrForm();
// String mainId =RandomUtil.uuId();
// UserInfo userInfo=userProvider.get();
// paymentEntity.setCreatorUserName(paymentdocUpForms.getCreatorUserName());
// paymentEntity.setCreatorTime(new Date());
PaymentEntity entity = JsonUtil.getJsonToBean(paymentEntity, PaymentEntity.class);
// entity.setId(mainId);
PaymentdocEntity paymentdocEntity=paymentdocService.getById(paymentdocCrForms.getId());
//添加到付款单
// paymentEntity.setId(paymentdocUpForms.getId());
paymentEntity.setDocumentno(generaterSwapUtil.getBillNumber("payment" ,false));
paymentEntity.setPaymentno(paymentdocCrForms.getDocumentNo());
paymentEntity.setPaymentamount(paymentdocCrForms.getPaymentAmount());
paymentEntity.setRequestedamount(paymentdocCrForms.getRamount());
paymentEntity.setBusinessdate(paymentdocCrForms.getBusinessDate());
paymentEntity.setDuedate(paymentdocCrForms.getDueDate());
paymentEntity.setStatus(paymentdocCrForms.getStatus());
paymentEntity.setSuppliercode(paymentdocCrForms.getSupplierCode());
paymentEntity.setSuppliername(paymentdocCrForms.getSupplierName());
paymentEntity.setCurrency(paymentCrForm.getCurrency());
paymentEntity.setPaymenttype(paymentdocCrForms.getPaymentType());
paymentEntity.setSettlementtype(paymentdocCrForms.getSettlementType());
paymentEntity.setRemark(paymentdocCrForms.getRemark());
paymentEntity.setCollectionaccount(paymentdocCrForms.getCollectionAccount());
paymentEntity.setCollectionbank(paymentdocCrForms.getColectionBank());
paymentEntity.setCreatorUserId(paymentdocCrForms.getCreatorUserId());
paymentEntity.setCreatorUserName(paymentdocCrForms.getCreatorUserName());
paymentEntity.setCreatorTime(paymentdocCrForms.getCreatorTime());
paymentEntity.setLastModifyUserId(paymentdocCrForms.getLastModifyUserId());
paymentEntity.setLastModifyUserName(paymentdocCrForms.getLastModifyUserName());
paymentEntity.setLastModifyTime(paymentdocCrForms.getLastModifyTime());
paymentMapper.insert(paymentEntity);
//修改付款状态
paymentdocEntity.setIsPay("1");
paymentdocService.updateById(paymentdocEntity);
//子表
List<Paymentdoc_item0Entity> Paymentdoc_item0List = JsonUtil.getJsonToList(paymentdocCrForms.getPaymentdoc_item0List(),Paymentdoc_item0Entity.class);
List<Payment_item0Entity> Payment_item0List = JsonUtil.getJsonToList(paymentdocCrForms.getPayment_item0List(),Payment_item0Entity.class);
for(Payment_item0Entity entitys : Payment_item0List){
entitys.setId(RandomUtil.uuId());
entitys.setPaymentId(entity.getId());
payment_item0Service.save(entitys);
}
return ActionResult.success("修改(付款)成功");
}
private PaymentdocItem0Service paymentdocItem0Service;
@Autowired
private PurchaseorderService purchaseorderService;
@Autowired
private ContractFileService contractFileService;
/**
*
@ -158,17 +102,28 @@ public class PaymentdocController {
List<PaymentdocEntity> list= paymentdocService.getList(paymentdocPagination);
//处理id字段转名称若无需转或者为空可删除
for(PaymentdocEntity entity:list){
Map<String,Object> supplierNameMap = new HashMap<>();
entity.setSupplierName(generaterSwapUtil.getPopupSelectValue("393307526961100037","supplier_name","supplier_name",entity.getSupplierName(),supplierNameMap));
entity.setCreatorUserName(generaterSwapUtil.userSelectValue(entity.getCreatorUserName()));
// entity.setCreatorTime(generaterSwapUtil.userSelectValue(entity.getCreatorTime()));
entity.setLastModifyUserName(generaterSwapUtil.userSelectValue(entity.getLastModifyUserName()));
Map<String,Object> purchaseIdMap = new HashMap<>();
entity.setPurchaseId(generaterSwapUtil.getPopupSelectValue("389673535976550149","id","document_no",entity.getPurchaseId(),purchaseIdMap));
Map<String,Object> contractIdMap = new HashMap<>();
entity.setContractId(generaterSwapUtil.getPopupSelectValue("389673903103979269","id","contract_name",entity.getContractId(),contractIdMap));
Map<String,Object> supplierIdMap = new HashMap<>();
entity.setSupplierId(generaterSwapUtil.getPopupSelectValue("389674191453990661","id","supplier_name",entity.getSupplierId(),supplierIdMap));
}
List<PaymentdocListVO> listVO=JsonUtil.getJsonToList(list,PaymentdocListVO.class);
for(PaymentdocListVO paymentdocVO:listVO){
}
for(PaymentdocListVO vo:listVO){
FlowTaskEntity flowTaskEntity = generaterSwapUtil.getInfoSubmit(vo.getId(), FlowTaskEntity::getStatus);
if (flowTaskEntity!=null){
vo.setFlowState(flowTaskEntity.getStatus());
}else{
vo.setFlowState(null);
}
}
PageListVO vo=new PageListVO();
vo.setList(listVO);
PaginationVO page=JsonUtil.getJsonToBean(paymentdocPagination,PaginationVO.class);
@ -180,198 +135,45 @@ public class PaymentdocController {
/**
*
*
* @param paymentdocCrForm
* @param crData
* @return
*/
@PostMapping
@Transactional
public ActionResult create(@RequestBody @Valid PaymentdocCrForm paymentdocCrForm) throws DataException {
public ActionResult create(@RequestBody @Valid Map<String,Object> crData) throws DataException {
PaymentdocCrForm paymentdocCrForm = JsonUtil.getJsonToBean(crData,PaymentdocCrForm.class);
String visualId ="398482034802139205";
VisualdevEntity visualdevEntity =generaterSwapUtil.getVisualEntity(visualId);
String mainId =RandomUtil.uuId();
UserInfo userInfo=userProvider.get();
paymentdocCrForm.setDocumentNo(generaterSwapUtil.getBillNumber("fukuanshenqing", false));
paymentdocCrForm.setCreatorUserName(userInfo.getUserId());
paymentdocCrForm.setCreatorTime(userInfo.getUserId());
PaymentdocEntity entity = JsonUtil.getJsonToBean(paymentdocCrForm, PaymentdocEntity.class);
entity.setId(mainId);
paymentdocService.save(entity);
List<Paymentdoc_item0Entity> Paymentdoc_item0List = JsonUtil.getJsonToList(paymentdocCrForm.getPaymentdoc_item0List(),Paymentdoc_item0Entity.class);
for(Paymentdoc_item0Entity entitys : Paymentdoc_item0List){
List<PaymentdocItem0Entity> PaymentdocItem0List = JsonUtil.getJsonToList(paymentdocCrForm.getPaymentdocitem0List(),PaymentdocItem0Entity.class);
for(PaymentdocItem0Entity entitys : PaymentdocItem0List){
entitys.setId(RandomUtil.uuId());
entitys.setPaymentdocId(entity.getId());
paymentdoc_item0Service.save(entitys);
}
return ActionResult.success("创建成功");
}
/**
*
*
* @return
*/
@ApiOperation("模板下载")
@GetMapping("/templateDownload")
public ActionResult<DownloadVO> TemplateDownload(){
UserInfo userInfo=userProvider.get();
DownloadVO vo=DownloadVO.builder().build();
try{
vo.setName("职员信息.xlsx");
vo.setUrl(UploaderUtil.uploaderFile("/api/Common/DownloadModel?encryption=" ,userInfo.getId()+"#"+"职员信息.xlsx"+"#"+"Temporary"));
}catch(Exception e){
log.error("信息导出Excel错误:{}" ,e.getMessage());
}
return ActionResult.success(vo);
}
/**
* Excel
*
* @return
*/
@ApiOperation("导出Excel")
@GetMapping("/Actions/Export")
public ActionResult Export(PaymentdocPaginationExportModel paymentdocPaginationExportModel) throws IOException {
if (StringUtil.isEmpty(paymentdocPaginationExportModel.getSelectKey())){
return ActionResult.fail("请选择导出字段");
}
PaymentdocPagination paymentdocPagination=JsonUtil.getJsonToBean(paymentdocPaginationExportModel, PaymentdocPagination.class);
List<PaymentdocEntity> list= paymentdocService.getTypeList(paymentdocPagination,paymentdocPaginationExportModel.getDataType());
//处理id字段转名称若无需转或者为空可删除
for(PaymentdocEntity entity:list){
Map<String,Object> supplierNameMap = new HashMap<>();
entity.setSupplierName(generaterSwapUtil.getPopupSelectValue("393307526961100037","supplier_name","supplier_name",entity.getSupplierName(),supplierNameMap));
entity.setCreatorUserName(generaterSwapUtil.userSelectValue(entity.getCreatorUserName()));
// entity.setCreatorTime(generaterSwapUtil.userSelectValue(entity.getCreatorTime()));
entity.setLastModifyUserName(generaterSwapUtil.userSelectValue(entity.getLastModifyUserName()));
}
List<PaymentdocListVO> listVO=JsonUtil.getJsonToList(list,PaymentdocListVO.class);
for(PaymentdocListVO paymentdocVO:listVO){
}
//转换为map输出
List<Map<String, Object>>mapList=JsonUtil.getJsonToListMap(JsonUtil.getObjectToStringDateFormat(listVO,"yyyy-MM-dd HH:mm:ss"));
String[]keys=!StringUtil.isEmpty(paymentdocPaginationExportModel.getSelectKey())?paymentdocPaginationExportModel.getSelectKey().split(","):new String[0];
UserInfo userInfo=userProvider.get();
DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),mapList,keys,userInfo);
return ActionResult.success(vo);
}
//导出表格
public DownloadVO creatModelExcel(String path,List<Map<String, Object>>list,String[]keys,UserInfo userInfo){
DownloadVO vo=DownloadVO.builder().build();
List<ExcelExportEntity> entitys=new ArrayList<>();
if(keys.length>0){
for(String key:keys){
switch(key){
case "documentNo" :
entitys.add(new ExcelExportEntity("单据编号" ,"documentNo"));
break;
case "businessDate" :
entitys.add(new ExcelExportEntity("申请时间" ,"businessDate"));
break;
case "supplierName" :
entitys.add(new ExcelExportEntity("供应商名称" ,"supplierName"));
break;
case "paymentType" :
entitys.add(new ExcelExportEntity("付款类型" ,"paymentType"));
break;
case "ramount" :
entitys.add(new ExcelExportEntity("申请金额" ,"ramount"));
break;
case "dueDate" :
entitys.add(new ExcelExportEntity("应付日期" ,"dueDate"));
break;
case "currency" :
entitys.add(new ExcelExportEntity("币别 " ,"currency"));
break;
case "collectionAccount" :
entitys.add(new ExcelExportEntity("收款账户" ,"collectionAccount"));
break;
case "colectionBank" :
entitys.add(new ExcelExportEntity("收款银行" ,"colectionBank"));
break;
case "settlementType" :
entitys.add(new ExcelExportEntity("结算类型" ,"settlementType"));
break;
case "remark" :
entitys.add(new ExcelExportEntity("备注" ,"remark"));
break;
case "paymentAmount" :
entitys.add(new ExcelExportEntity("付款金额" ,"paymentAmount"));
break;
case "unpaymentAmount" :
entitys.add(new ExcelExportEntity("未付款金额" ,"unpaymentAmount"));
break;
case "status" :
entitys.add(new ExcelExportEntity("单据状态 " ,"status"));
break;
case "creatorUserName" :
entitys.add(new ExcelExportEntity("制单人" ,"creatorUserName"));
break;
case "creatorTime" :
entitys.add(new ExcelExportEntity("创建时间" ,"creatorTime"));
break;
case "lastModifyUserName" :
entitys.add(new ExcelExportEntity("修改人名称" ,"lastModifyUserName"));
break;
case "lastModifyTime" :
entitys.add(new ExcelExportEntity("修改时间" ,"lastModifyTime"));
break;
default:
break;
}
paymentdocItem0Service.save(entitys);
}
}
ExportParams exportParams = new ExportParams(null, "表单信息");
exportParams.setType(ExcelType.XSSF);
try{
@Cleanup Workbook workbook = new HSSFWorkbook();
if (entitys.size()>0){
workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list);
}
String name = "表单信息" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx";
String fileName = configValueUtil.getTemporaryFilePath() + name;
@Cleanup FileOutputStream output = new FileOutputStream(XSSEscape.escapePath(fileName));
workbook.write(output);
//上传文件
UploadUtil.uploadFile(configValueUtil.getFileType(), fileName, FileTypeEnum.TEMPORARY, name);
vo.setName(name);
vo.setUrl(UploaderUtil.uploaderFile(userInfo.getId() + "#" + name + "#" + "Temporary"));
} catch (Exception e) {
log.error("信息导出Excel错误:{}", e.getMessage());
if (FlowStatusEnum.submit.getMessage().equals(paymentdocCrForm.getStatus())){
try {
generaterSwapUtil.submitFlowTask(visualdevEntity,mainId,paymentdocCrForm,userInfo,paymentdocCrForm.getCandidateList());
} catch (WorkFlowException e) {
e.printStackTrace();
}
return vo;
//提交流程,状态改为 1审批中
entity.setDocStatus("1");
paymentdocService.updateById(entity);
return ActionResult.success("提交成功,请耐心等待");
}
/**
*
*
* @param ids
* @return
*/
@DeleteMapping("/batchRemove/{ids}")
@Transactional
public ActionResult batchRemove(@PathVariable("ids") String ids){
String[] idList = ids.split(",");
int i =0;
for (String allId : idList){
this.delete(allId);
i++;
}
if (i == 0 ){
return ActionResult.fail("删除失败");
}
return ActionResult.success("删除成功");
return ActionResult.success("保存成功");
}
/**
*
*
@ -382,57 +184,39 @@ public class PaymentdocController {
public ActionResult<PaymentdocInfoVO> info(@PathVariable("id") String id){
PaymentdocEntity entity= paymentdocService.getInfo(id);
PaymentdocInfoVO vo=JsonUtil.getJsonToBean(entity, PaymentdocInfoVO.class);
vo.setCreatorUserName(generaterSwapUtil.userSelectValue(vo.getCreatorUserName()));
vo.setCreatorTime(generaterSwapUtil.userSelectValue(vo.getCreatorTime()));
vo.setLastModifyUserName(generaterSwapUtil.userSelectValue(vo.getLastModifyUserName()));
if(vo.getLastModifyTime()!=null){
vo.setLastModifyTime(vo.getLastModifyTime());
}
//子表
List<Paymentdoc_item0Entity> Paymentdoc_item0List = paymentdocService.GetPaymentdoc_item0List(id);
for(Paymentdoc_item0Entity paymentdoc_item0Entity : Paymentdoc_item0List){
List<String> purchaseorderIdList = new ArrayList<>();
List<PurchaseorderEntity> purchaseorderEntityList = new ArrayList<>();
List<PaymentdocItem0Entity> PaymentdocItem0List = paymentdocService.GetPaymentdocItem0List(id);
List<PaymentdocItem0Model> list = JsonUtil.getJsonToList(PaymentdocItem0List,PaymentdocItem0Model.class );
for (PaymentdocItem0Model paymentdocItem0Model : list) {
PurchaseorderEntity purchaseorderEntity = purchaseorderService.getById(paymentdocItem0Model.getPurchaseorderId());
if(purchaseorderEntity != null && StringUtils.isNotEmpty(purchaseorderEntity.getContractCode())){
ContractFileEntity contractFileEntity = contractFileService.getById(purchaseorderEntity.getContractCode());
if(contractFileEntity != null && StringUtils.isNotEmpty(contractFileEntity.getContractName())){
purchaseorderEntity.setContractNo(contractFileEntity.getContractCode());
}
vo.setPaymentdoc_item0List(JsonUtil.getJsonToList(Paymentdoc_item0List,Paymentdoc_item0Model.class ));
//副表
return ActionResult.success(vo);
}
/**
* ()
*
* @param id
* @return
*/
@GetMapping("/detail/{id}")
public ActionResult<PaymentdocInfoVO> detailInfo(@PathVariable("id") String id){
PaymentdocEntity entity= paymentdocService.getInfo(id);
PaymentdocInfoVO vo=JsonUtil.getJsonToBean(entity, PaymentdocInfoVO.class);
//子表数据转换
List<Paymentdoc_item0Entity> jg_paymentdoc_item0List = paymentdocService.GetPaymentdoc_item0List(id);
List<Paymentdoc_item0Model> jg_paymentdoc_item0ModelList = JsonUtil.getJsonToList(jg_paymentdoc_item0List,Paymentdoc_item0Model.class);
for(Paymentdoc_item0Model jg_paymentdoc_item0Model : jg_paymentdoc_item0ModelList){
Map<String,Object> purchaseorderIdMap = new HashMap<>();
jg_paymentdoc_item0Model.setPurchaseorderId(generaterSwapUtil.getPopupSelectValue("393348986343324485","id","document_no",jg_paymentdoc_item0Model.getPurchaseorderId(),purchaseorderIdMap));
paymentdocItem0Model.setAllAmount(purchaseorderEntity.getAmount());
paymentdocItem0Model.setPayPrice(purchaseorderEntity.getPayPrice());
paymentdocItem0Model.setDocumentNo(purchaseorderEntity.getDocumentNo());
paymentdocItem0Model.setContractNo(purchaseorderEntity.getContractNo());
paymentdocItem0Model.setNum(purchaseorderEntity.getNum());
paymentdocItem0Model.setAdvanceAmount(purchaseorderEntity.getAdvanceAmount());
paymentdocItem0Model.setRate(purchaseorderEntity.getRate());
paymentdocItem0Model.setNotAmount(purchaseorderEntity.getNotAmount());
paymentdocItem0Model.setCreatorTime(purchaseorderEntity.getCreatorTime());
}
vo.setPaymentdoc_item0List(jg_paymentdoc_item0ModelList);
//附表数据转换
//添加到详情表单对象中
Map<String,Object> supplierNameMap = new HashMap<>();
vo.setSupplierName(generaterSwapUtil.getPopupSelectValue("393307526961100037","supplier_name","supplier_name",vo.getSupplierName(),supplierNameMap));
vo.setCreatorUserName(generaterSwapUtil.userSelectValue(vo.getCreatorUserName()));
vo.setCreatorTime(generaterSwapUtil.userSelectValue(vo.getCreatorTime()));
vo.setLastModifyUserName(generaterSwapUtil.userSelectValue(vo.getLastModifyUserName()));
vo.setPaymentdocItem0List(list);
//副表
return ActionResult.success(vo);
}
/**
*
*
@ -441,48 +225,46 @@ public class PaymentdocController {
*/
@PutMapping("/{id}")
@Transactional
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid PaymentdocUpForm paymentdocUpForm) throws DataException {
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid Map<String,Object> upData) throws DataException {
PaymentdocUpForm paymentdocUpForm = JsonUtil.getJsonToBean(upData,PaymentdocUpForm.class);
String visualId ="398482034802139205";
VisualdevEntity visualdevEntity =generaterSwapUtil.getVisualEntity(visualId);
UserInfo userInfo=userProvider.get();
PaymentdocEntity entity= paymentdocService.getInfo(id);
if(entity!=null){
paymentdocUpForm.setLastModifyUserName(userInfo.getUserId());
paymentdocUpForm.setLastModifyTime(DateUtil.getNow());
PaymentdocEntity subentity=JsonUtil.getJsonToBean(paymentdocUpForm, PaymentdocEntity.class);
subentity.setCreatorUserName(entity.getCreatorUserName());
subentity.setCreatorTime(entity.getCreatorTime());
paymentdocService.update(id, subentity);
QueryWrapper<Paymentdoc_item0Entity> Paymentdoc_item0queryWrapper = new QueryWrapper<>();
Paymentdoc_item0queryWrapper.lambda().eq(Paymentdoc_item0Entity::getPaymentdocId, entity.getId());
paymentdoc_item0Service.remove(Paymentdoc_item0queryWrapper);
List<Paymentdoc_item0Entity> Paymentdoc_item0List = JsonUtil.getJsonToList(paymentdocUpForm.getPaymentdoc_item0List(),Paymentdoc_item0Entity.class);
for(Paymentdoc_item0Entity entitys : Paymentdoc_item0List){
QueryWrapper<PaymentdocItem0Entity> PaymentdocItem0queryWrapper = new QueryWrapper<>();
PaymentdocItem0queryWrapper.lambda().eq(PaymentdocItem0Entity::getPaymentdocId, entity.getId());
paymentdocItem0Service.remove(PaymentdocItem0queryWrapper);
List<PaymentdocItem0Entity> PaymentdocItem0List = JsonUtil.getJsonToList(paymentdocUpForm.getPaymentdocitem0List(),PaymentdocItem0Entity.class);
for(PaymentdocItem0Entity entitys : PaymentdocItem0List){
entitys.setId(RandomUtil.uuId());
entitys.setPaymentdocId(entity.getId());
paymentdoc_item0Service.save(entitys);
paymentdocItem0Service.save(entitys);
}
if (FlowStatusEnum.submit.getMessage().equals(paymentdocUpForm.getStatus())){
try {
generaterSwapUtil.submitFlowTask(visualdevEntity,id,subentity,userInfo,paymentdocUpForm.getCandidateList());
//提交流程,状态改为 1审批中
entity.setDocStatus("1");
paymentdocService.updateById(entity);
} catch (WorkFlowException e) {
e.printStackTrace();
}
return ActionResult.success("提交成功,请耐心等待");
}
return ActionResult.success("更新成功");
}else{
return ActionResult.fail("更新失败,数据不存在");
}
}
/**
*
*
@ -494,23 +276,22 @@ public class PaymentdocController {
public ActionResult delete(@PathVariable("id") String id){
PaymentdocEntity entity= paymentdocService.getInfo(id);
if(entity!=null){
FlowTaskEntity taskEntity = generaterSwapUtil.getInfoSubmit(id, FlowTaskEntity::getId, FlowTaskEntity::getStatus);
if (taskEntity != null) {
try {
generaterSwapUtil.deleteFlowTask(taskEntity);
} catch (WorkFlowException e) {
e.printStackTrace();
}
}
paymentdocService.delete(entity);
QueryWrapper<Paymentdoc_item0Entity> queryWrapperPaymentdoc_item0=new QueryWrapper<>();
queryWrapperPaymentdoc_item0.lambda().eq(Paymentdoc_item0Entity::getPaymentdocId,entity.getId());
paymentdoc_item0Service.remove(queryWrapperPaymentdoc_item0);
QueryWrapper<PaymentdocItem0Entity> queryWrapperPaymentdocItem0=new QueryWrapper<>();
queryWrapperPaymentdocItem0.lambda().eq(PaymentdocItem0Entity::getPaymentdocId,entity.getId());
paymentdocItem0Service.remove(queryWrapperPaymentdocItem0);
}
return ActionResult.success("删除成功");
}
}

@ -7,19 +7,17 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-09
* @ 2023-02-23
*/
@Data
@TableName("jg_paymentdoc")
@ -76,8 +74,8 @@ public class PaymentdocEntity {
@TableField("RAMOUNT")
private BigDecimal ramount;
@TableField("STATUS")
private String status;
@TableField("DOC_STATUS")
private String docStatus;
@TableField("SUPPLIER_CODE")
private String supplierCode;
@ -118,4 +116,13 @@ public class PaymentdocEntity {
@TableField("IS_PAY")
private String isPay;
@TableField("SUPPLIER_ID")
private String supplierId;
@TableField("PURCHASE_ID")
private String purchaseId;
@TableField("CONTRACT_ID")
private String contractId;
}

@ -7,21 +7,19 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.math.BigDecimal;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-09
* @ 2023-02-23
*/
@Data
@TableName("jg_paymentdoc_item0")
public class Paymentdoc_item0Entity {
public class PaymentdocItem0Entity {
@TableId("ID")
private String id;

@ -1,7 +1,7 @@
package jnpf.paymentdoc.mapper;
import jnpf.paymentdoc.entity.Paymentdoc_item0Entity;
import jnpf.paymentdoc.entity.PaymentdocItem0Entity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
@ -10,8 +10,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-09
* 2023-02-23
*/
public interface Paymentdoc_item0Mapper extends BaseMapper<Paymentdoc_item0Entity> {
public interface PaymentdocItem0Mapper extends BaseMapper<PaymentdocItem0Entity> {
}

@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-09
* 2023-02-23
*/
public interface PaymentdocMapper extends BaseMapper<PaymentdocEntity> {

@ -2,13 +2,12 @@
package jnpf.paymentdoc.model.paymentdoc;
import com.baomidou.mybatisplus.annotation.TableField;
import jnpf.paymentdoc.model.paymentdoc.Paymentdoc_item0Model;
import jnpf.paymentdoc.model.paymentdoc.PaymentdocItem0Model;
import lombok.Data;
import java.util.List;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Map;
/**
*
@ -16,87 +15,101 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-09
* @ 2023-02-23
*/
@Data
public class PaymentdocCrForm {
/** 流程状态 **/
@JsonProperty("status")
private String status;
private Map<String, List<String>> candidateList;
/** 单据编号 **/
@JsonProperty("documentNo")
private String documentNo;
/** 申请时间 **/
@JsonProperty("businessDate")
private Long businessDate;
/** 供应商名称 **/
@JsonProperty("supplierName")
private String supplierName;
/** 采购订单 **/
@JsonProperty("purchaseId")
private String purchaseId;
/** 合同 **/
@JsonProperty("contractId")
private String contractId;
/** 供应商 **/
@JsonProperty("supplierId")
private String supplierId;
/** 付款类型 **/
@JsonProperty("paymentType")
private String paymentType;
/** 申请金额 **/
@JsonProperty("ramount")
private String ramount;
/** 应付日期 **/
@JsonProperty("dueDate")
private Long dueDate;
/** 业务日期 **/
@JsonProperty("businessDate")
private Long businessDate;
/** 币别 **/
@JsonProperty("currency")
private String currency;
/** 收款账户 **/
@JsonProperty("collectionAccount")
private String collectionAccount;
/** 收款银行 **/
@JsonProperty("colectionBank")
private String colectionBank;
/** 结算类型 **/
@JsonProperty("settlementType")
private String settlementType;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 申请金额 **/
@JsonProperty("ramount")
private BigDecimal ramount;
/** 付款金额 **/
@JsonProperty("paymentAmount")
private String paymentAmount;
private BigDecimal paymentAmount;
/** 未付款金额 **/
@JsonProperty("unpaymentAmount")
private String unpaymentAmount;
private BigDecimal unpaymentAmount;
/** 单据状态 **/
@JsonProperty("status")
private String status;
/** 制单人 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 收款账户 **/
@JsonProperty("collectionAccount")
private String collectionAccount;
/** 创建时间 **/
@JsonProperty("creatorTime")
private String creatorTime;
/** 修改人名称 **/
@JsonProperty("lastModifyUserName")
private String lastModifyUserName;
/** 收款银行 **/
@JsonProperty("colectionBank")
private String colectionBank;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
/** 应付日期 **/
@JsonProperty("dueDate")
private Long dueDate;
/** 子表数据 **/
@JsonProperty("paymentdoc_item0List")
private List<Paymentdoc_item0Model> paymentdoc_item0List;
/** 是否付款 **/
@JsonProperty("isPay")
private String isPay;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 状态 **/
@JsonProperty("docStatus")
private String docStatus;
/** 子表数据 **/
@JsonProperty("paymentdocitem0List")
private List<PaymentdocItem0Model> paymentdocitem0List;
}

@ -1,121 +0,0 @@
package jnpf.paymentdoc.model.paymentdoc;
import com.fasterxml.jackson.annotation.JsonProperty;
import jnpf.payment.entity.PaymentEntity;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-09
*/
@Data
public class PaymentdocCrForms {
/** id **/
@JsonProperty("id")
private String id;
/** 单据编号 **/
@JsonProperty("documentNo")
private String documentNo;
/** 供应商编码 **/
@JsonProperty("supplierCode")
private String supplierCode;
/** 供应商名称 **/
@JsonProperty("supplierName")
private String supplierName;
/** 付款类型 **/
@JsonProperty("paymentType")
private String paymentType;
/** 申请金额 **/
@JsonProperty("ramount")
private BigDecimal ramount;
/** 申请时间 **/
@JsonProperty("businessDate")
private String businessDate;
/** 应付日期 **/
@JsonProperty("dueDate")
private Date dueDate;
/** 币别 **/
@JsonProperty("currency")
private String currency;
/** 收款账户 **/
@JsonProperty("collectionAccount")
private String collectionAccount;
/** 收款银行 **/
@JsonProperty("colectionBank")
private String colectionBank;
/** 结算类型 **/
@JsonProperty("settlementType")
private String settlementType;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 付款金额 **/
@JsonProperty("paymentAmount")
private BigDecimal paymentAmount;
/** 未付款金额 **/
@JsonProperty("unpaymentAmount")
private String unpaymentAmount;
/** 单据状态 **/
@JsonProperty("status")
private String status;
/** 制单人id **/
@JsonProperty("CreatorUserId")
private String CreatorUserId;
/** 制单人 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 创建时间 **/
@JsonProperty("creatorTime")
private String creatorTime;
/** 修改人ID **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 修改人名称 **/
@JsonProperty("lastModifyUserName")
private String lastModifyUserName;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
@JsonProperty("isPay")
private String isPay;
/** 子表数据 **/
@JsonProperty("paymentdoc_item0List")
private List<Paymentdoc_item0Model> paymentdoc_item0List;
/** 子表数据付款 **/
@JsonProperty("payment_item0List")
private List<PaymentEntity> payment_item0List;
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save