Merge remote-tracking branch 'origin/main'

product
chuang 2 years ago
commit f4fa35e19e

@ -113,6 +113,7 @@ public class UtilsController {
return ActionResult.fail(MsgCode.FA017.get());
}
UploaderVO vo = uploaderVO(file, type);
return ActionResult.success(vo);
}

@ -144,6 +144,11 @@ public class CollectionController {
return ActionResult.success(vo);
}
@GetMapping("autoCreate")
public ActionResult autoCreate() throws DataException {
String document = generaterSwapUtil.getBillNumber("collection",false);
return ActionResult.success(document);
}
/**
*

@ -6,15 +6,19 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.NoDataSourceBind;
import jnpf.base.UserInfo;
import jnpf.base.util.OptimizeUtil;
import jnpf.base.vo.DownloadVO;
import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.config.ConfigValueUtil;
import jnpf.constant.MsgCode;
import jnpf.contractfile.entity.ContractFileEntity;
import jnpf.contractfile.entity.Contract_item0Entity;
import jnpf.contractfile.entity.Contract_item1Entity;
@ -23,20 +27,26 @@ import jnpf.contractfile.service.ContractFileService;
import jnpf.contractfile.service.Contract_item0Service;
import jnpf.contractfile.service.Contract_item1Service;
import jnpf.exception.DataException;
import jnpf.model.UploaderVO;
import jnpf.util.*;
import jnpf.util.enums.FileTypeEnum;
import jnpf.util.file.UploadUtil;
import jnpf.utils.YozoUtils;
import lombok.Cleanup;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -71,7 +81,8 @@ public class ContractFileController {
private Contract_item0Service contract_item0Service;
@Autowired
private Contract_item1Service contract_item1Service;
@Autowired
private YozoUtils yozoUtils;
@ -474,12 +485,97 @@ public class ContractFileController {
/**
*
*
* @param contractFileEntity
* @return
*/
@PostMapping("/getListByCustomer")
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())){
queryWrapper.eq(ContractFileEntity::getCode, contractFileEntity.getCode());
}
if(StringUtils.isNotEmpty(contractFileEntity.getName())){
queryWrapper.eq(ContractFileEntity::getName, contractFileEntity.getName());
}
queryWrapper.orderByAsc(ContractFileEntity::getBidOpeningDate);
List<ContractFileEntity> list = contractFileService.list(queryWrapper);
return ActionResult.success(list);
}
/**
* /
*
* @return
*/
@NoDataSourceBind()
@ApiOperation("上传文件/图片")
@PostMapping(value = "/Uploader/{type}", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ActionResult uploader(@RequestPart("file") MultipartFile file, @PathVariable("type") String type) throws IOException {
String fileType = UpUtil.getFileType(file);
//验证类型
if (!OptimizeUtil.fileType(configValueUtil.getAllowUploadFileType(), fileType)) {
return ActionResult.fail(MsgCode.FA017.get());
}
UploaderVO vo = uploaderVO(file, type);
return ActionResult.success(vo);
}
/**
*
*
* @param file
* @param type
* @return
* @throws IOException
*/
private UploaderVO uploaderVO(MultipartFile file, String type) throws IOException {
String orgFileName = file.getOriginalFilename();
String fileType = UpUtil.getFileType(file);
// if (OptimizeUtil.fileSize(file.getSize(), 1024000)) {
// return ActionResult.fail("上传失败文件大小超过1M");
// }
String fileName = DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + "." + fileType;
if (type.equals(FileTypeEnum.MAIL)) {
type = FileTypeEnum.TEMPORARY;
}
String filePath = FilePathUtil.getFilePath(type.toLowerCase());
UploaderVO vo = UploaderVO.builder().name(fileName).build();
//上传文件
UploadUtil.uploadFile(configValueUtil.getFileType(), type, fileName, file, filePath);
if (type.equalsIgnoreCase(FileTypeEnum.USERAVATAR)) {
vo.setUrl(UploaderUtil.uploaderImg(fileName));
} else if (type.equalsIgnoreCase(FileTypeEnum.ANNEX)) {
// UserInfo userInfo = userProvider.get();
// vo.setUrl(UploaderUtil.uploaderFile(userInfo.getId() + "#" + fileName + "#" + type));
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));
}
//上传到永中
if ("yozo".equals(configValueUtil.getAllowPreviewFileType())) {
try {
@Cleanup InputStream inputStream = file.getInputStream();
String s = yozoUtils.uploadFileInPreview(inputStream, orgFileName);
Map<String, Object> map = JsonUtil.stringToMap(s);
if ("操作成功".equals(map.get("message"))) {
Map<String, Object> dataMap = JsonUtil.stringToMap(String.valueOf(map.get("data")));
String verId = String.valueOf(dataMap.get("fileVersionId"));
vo.setFileVersionId(verId);
}
} catch (Exception e) {
System.out.println("上传到永中失败");
e.printStackTrace();
}
}
return vo;
}
}

@ -135,4 +135,7 @@ public class ContractFileEntity {
@TableField("APPROVAL")
private String approval;
//客户ID
@TableField(exist = false)
private String customerId;
}

@ -101,7 +101,15 @@ public class CustomerVOServiceImpl extends ServiceImpl<CustomerVMapper, Customer
customerNum++;
customerQueryWrapper.lambda().like(CustomerEntity::getContactName,customerPagination.getContactName());
}
if(StringUtil.isNotEmpty(customerPagination.getKeyword())){
customerNum++;
customerQueryWrapper.lambda().and(wq -> {
// 拼接sql
wq.like(CustomerEntity::getSupplierNm,customerPagination.getKeyword())
.or()
.like(CustomerEntity::getSupplierCd,customerPagination.getKeyword());
});
}
if(AllIdList.size()>0){
customerQueryWrapper.lambda().in(CustomerEntity::getId, AllIdList);
}

@ -79,7 +79,7 @@ public class PaymentEntity {
private String businessdate;
@TableField("DUEDATE")
private String duedate;
private Date duedate;
@TableField("STATUS")
private String status;

@ -4,6 +4,8 @@ package jnpf.payment.model.payment;
import jnpf.payment.model.payment.Payment_item0Model;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
@ -71,7 +73,7 @@ public class PaymentUpForm{
/** 应付日期 **/
@JsonProperty("duedate")
private Long duedate;
private Date duedate;
/** 币别 **/

@ -51,7 +51,7 @@ public class PaymentdocCrForms {
/** 应付日期 **/
@JsonProperty("dueDate")
private String dueDate;
private Date dueDate;
/** 币别 **/
@JsonProperty("currency")

@ -4,6 +4,8 @@ package jnpf.paymentdoc.model.paymentdoc;
import jnpf.paymentdoc.model.paymentdoc.Paymentdoc_item0Model;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
@ -51,7 +53,7 @@ public class PaymentdocUpForm{
/** 应付日期 **/
@JsonProperty("dueDate")
private Long dueDate;
private Date dueDate;
/** 币别 **/

@ -0,0 +1,275 @@
package jnpf.purchasement.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.purchasement.model.purchasement.*;
import jnpf.purchasement.model.purchasement.PurchasementPagination;
import jnpf.purchasement.entity.*;
import jnpf.purchasement.entity.Purchasement_item0Entity;
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.purchasement.entity.PurchasementEntity;
import jnpf.purchasement.service.PurchasementService;
import jnpf.purchasement.entity.Purchasement_item0Entity;
import jnpf.purchasement.service.Purchasement_item0Service;
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;
/**
*
* purchasement
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-20
*/
@Slf4j
@RestController
@Api(tags = "purchasement" , value = "purchasement")
@RequestMapping("/api/purchasement/Purchasement")
public class PurchasementController {
@Autowired
private GeneraterSwapUtil generaterSwapUtil;
@Autowired
private UserProvider userProvider;
@Autowired
private PurchasementService purchasementService;
@Autowired
private Purchasement_item0Service purchasement_item0Service;
/**
*
*
* @param purchasementPagination
* @return
*/
@PostMapping("/getList")
public ActionResult list(@RequestBody PurchasementPagination purchasementPagination)throws IOException{
List<PurchasementEntity> list= purchasementService.getList(purchasementPagination);
//处理id字段转名称若无需转或者为空可删除
for(PurchasementEntity entity:list){
entity.setCreatorUserId(generaterSwapUtil.userSelectValue(entity.getCreatorUserId()));
entity.setLastModifyUserId(generaterSwapUtil.userSelectValue(entity.getLastModifyUserId()));
//entity.setLastModifyTime(generaterSwapUtil.userSelectValue(entity.getLastModifyTime()));
entity.setOrgnizeId(generaterSwapUtil.comSelectValue(entity.getOrgnizeId(), "last"));
entity.setDepartmentId(generaterSwapUtil.posSelectValue(entity.getDepartmentId()));
}
List<PurchasementListVO> listVO=JsonUtil.getJsonToList(list,PurchasementListVO.class);
for(PurchasementListVO purchasementVO:listVO){
}
PageListVO vo=new PageListVO();
vo.setList(listVO);
PaginationVO page=JsonUtil.getJsonToBean(purchasementPagination,PaginationVO.class);
vo.setPagination(page);
return ActionResult.success(vo);
}
/**
*
*
* @param purchasementCrForm
* @return
*/
@PostMapping
@Transactional
public ActionResult create(@RequestBody @Valid PurchasementCrForm purchasementCrForm) throws DataException {
String mainId =RandomUtil.uuId();
UserInfo userInfo=userProvider.get();
purchasementCrForm.setCreatorUserId(userInfo.getUserId());
purchasementCrForm.setCreatorTime(DateUtil.getNow());
purchasementCrForm.setOrgnizeId(StringUtil.isEmpty(userInfo.getDepartmentId()) ? userInfo.getOrganizeId() : userInfo.getDepartmentId());
if(userInfo.getPositionIds()!=null&&userInfo.getPositionIds().length>0){
purchasementCrForm.setDepartmentId(userInfo.getPositionIds()[0]);
}
PurchasementEntity entity = JsonUtil.getJsonToBean(purchasementCrForm, PurchasementEntity.class);
entity.setId(mainId);
purchasementService.save(entity);
List<Purchasement_item0Entity> Purchasement_item0List = JsonUtil.getJsonToList(purchasementCrForm.getPurchasement_item0List(),Purchasement_item0Entity.class);
for(Purchasement_item0Entity entitys : Purchasement_item0List){
entitys.setId(RandomUtil.uuId());
entitys.setPurchasementId(entity.getId());
purchasement_item0Service.save(entitys);
}
return ActionResult.success("创建成功");
}
/**
*
*
* @param id
* @return
*/
@GetMapping("/{id}")
public ActionResult<PurchasementInfoVO> info(@PathVariable("id") String id){
PurchasementEntity entity= purchasementService.getInfo(id);
PurchasementInfoVO vo=JsonUtil.getJsonToBean(entity, PurchasementInfoVO.class);
vo.setCreatorUserId(generaterSwapUtil.userSelectValue(vo.getCreatorUserId()));
if(vo.getCreatorTime()!=null){
vo.setCreatorTime(vo.getCreatorTime());
}
vo.setLastModifyUserId(generaterSwapUtil.userSelectValue(vo.getLastModifyUserId()));
vo.setLastModifyTime(generaterSwapUtil.userSelectValue(vo.getLastModifyTime()));
vo.setOrgnizeId(generaterSwapUtil.comSelectValue(vo.getOrgnizeId(), "last"));
vo.setDepartmentId(generaterSwapUtil.posSelectValue(vo.getDepartmentId()));
//子表
List<Purchasement_item0Entity> Purchasement_item0List = purchasementService.GetPurchasement_item0List(id);
for(Purchasement_item0Entity purchasement_item0Entity : Purchasement_item0List){
}
vo.setPurchasement_item0List(JsonUtil.getJsonToList(Purchasement_item0List,Purchasement_item0Model.class ));
//副表
return ActionResult.success(vo);
}
/**
* ()
*
* @param id
* @return
*/
@GetMapping("/detail/{id}")
public ActionResult<PurchasementInfoVO> detailInfo(@PathVariable("id") String id){
PurchasementEntity entity= purchasementService.getInfo(id);
PurchasementInfoVO vo=JsonUtil.getJsonToBean(entity, PurchasementInfoVO.class);
//子表数据转换
List<Purchasement_item0Entity> jg_purchasement_item0List = purchasementService.GetPurchasement_item0List(id);
List<Purchasement_item0Model> jg_purchasement_item0ModelList = JsonUtil.getJsonToList(jg_purchasement_item0List,Purchasement_item0Model.class);
for(Purchasement_item0Model jg_purchasement_item0Model : jg_purchasement_item0ModelList){
Map<String,Object> purchaseorderIdMap = new HashMap<>();
jg_purchasement_item0Model.setPurchaseorderId(generaterSwapUtil.getPopupSelectValue("383149471917185157","id","fullName",jg_purchasement_item0Model.getPurchaseorderId(),purchaseorderIdMap));
}
vo.setPurchasement_item0List(jg_purchasement_item0ModelList);
//附表数据转换
//添加到详情表单对象中
vo.setCreatorUserId(generaterSwapUtil.userSelectValue(vo.getCreatorUserId()));
vo.setLastModifyUserId(generaterSwapUtil.userSelectValue(vo.getLastModifyUserId()));
vo.setLastModifyTime(generaterSwapUtil.userSelectValue(vo.getLastModifyTime()));
vo.setOrgnizeId(generaterSwapUtil.comSelectValue(vo.getOrgnizeId(), "last"));
vo.setDepartmentId(generaterSwapUtil.posSelectValue(vo.getDepartmentId()));
return ActionResult.success(vo);
}
/**
*
*
* @param id
* @return
*/
@PutMapping("/{id}")
@Transactional
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid PurchasementUpForm purchasementUpForm) throws DataException {
UserInfo userInfo=userProvider.get();
PurchasementEntity entity= purchasementService.getInfo(id);
if(entity!=null){
purchasementUpForm.setLastModifyUserId(userInfo.getUserId());
purchasementUpForm.setLastModifyTime(userInfo.getUserId());
purchasementUpForm.setOrgnizeId(entity.getOrgnizeId());
purchasementUpForm.setDepartmentId(entity.getDepartmentId());
PurchasementEntity subentity=JsonUtil.getJsonToBean(purchasementUpForm, PurchasementEntity.class);
subentity.setCreatorUserId(entity.getCreatorUserId());
subentity.setCreatorTime(entity.getCreatorTime());
purchasementService.update(id, subentity);
QueryWrapper<Purchasement_item0Entity> Purchasement_item0queryWrapper = new QueryWrapper<>();
Purchasement_item0queryWrapper.lambda().eq(Purchasement_item0Entity::getPurchasementId, entity.getId());
purchasement_item0Service.remove(Purchasement_item0queryWrapper);
List<Purchasement_item0Entity> Purchasement_item0List = JsonUtil.getJsonToList(purchasementUpForm.getPurchasement_item0List(),Purchasement_item0Entity.class);
for(Purchasement_item0Entity entitys : Purchasement_item0List){
entitys.setId(RandomUtil.uuId());
entitys.setPurchasementId(entity.getId());
purchasement_item0Service.save(entitys);
}
return ActionResult.success("更新成功");
}else{
return ActionResult.fail("更新失败,数据不存在");
}
}
/**
*
*
* @param id
* @return
*/
@DeleteMapping("/{id}")
@Transactional
public ActionResult delete(@PathVariable("id") String id){
PurchasementEntity entity= purchasementService.getInfo(id);
if(entity!=null){
purchasementService.delete(entity);
QueryWrapper<Purchasement_item0Entity> queryWrapperPurchasement_item0=new QueryWrapper<>();
queryWrapperPurchasement_item0.lambda().eq(Purchasement_item0Entity::getPurchasementId,entity.getId());
purchasement_item0Service.remove(queryWrapperPurchasement_item0);
}
return ActionResult.success("删除成功");
}
}

@ -0,0 +1,104 @@
package jnpf.purchasement.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 com.fasterxml.jackson.annotation.JsonProperty;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-20
*/
@Data
@TableName("jg_purchasement")
public class PurchasementEntity {
@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("DOCUMENTNO")
private String documentno;
@TableField("SUPPLIERNAME")
private String suppliername;
@TableField("STATUS")
private String status;
@TableField("REASON")
private String reason;
@TableField("REMARK")
private String remark;
@TableField("ORDERAMOUNT")
private BigDecimal orderamount;
@TableField("ORDERNUM")
private Integer ordernum;
@TableField("ORDERNOTAMOUNT")
private BigDecimal ordernotamount;
@TableField("INVOICENUM")
private Integer invoicenum;
@TableField("INVOICEAMOUNT")
private BigDecimal invoiceamount;
@TableField("INVOICENOTAMOUNT")
private BigDecimal invoicenotamount;
@TableField("CURRENCY")
private String currency;
}

@ -0,0 +1,70 @@
package jnpf.purchasement.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-20
*/
@Data
@TableName("jg_purchasement_item0")
public class Purchasement_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("PURCHASEMENT_ID")
private String purchasementId;
@TableField("PURCHASEORDER_ID")
private String purchaseorderId;
}

@ -0,0 +1,17 @@
package jnpf.purchasement.mapper;
import jnpf.purchasement.entity.PurchasementEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
* purchasement
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-20
*/
public interface PurchasementMapper extends BaseMapper<PurchasementEntity> {
}

@ -0,0 +1,17 @@
package jnpf.purchasement.mapper;
import jnpf.purchasement.entity.Purchasement_item0Entity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
* jg_purchasement_item0
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-20
*/
public interface Purchasement_item0Mapper extends BaseMapper<Purchasement_item0Entity> {
}

@ -0,0 +1,100 @@
package jnpf.purchasement.model.purchasement;
import jnpf.purchasement.model.purchasement.Purchasement_item0Model;
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-20
*/
@Data
public class PurchasementCrForm {
/** 单据编号 **/
@JsonProperty("documentno")
private String documentno;
/** 供应商名称 **/
@JsonProperty("suppliername")
private String suppliername;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 驳回原因 **/
@JsonProperty("reason")
private String reason;
/** 结算状态 **/
@JsonProperty("status")
private String status;
/** 订单金额 **/
@JsonProperty("orderamount")
private Integer orderamount;
/** 采购订单数量 **/
@JsonProperty("ordernum")
private Integer ordernum;
/** 订单不含税金额 **/
@JsonProperty("ordernotamount")
private Integer ordernotamount;
/** 发票数量 **/
@JsonProperty("invoicenum")
private Integer invoicenum;
/** 发票金额 **/
@JsonProperty("invoiceamount")
private Integer invoiceamount;
/** 发票不含税金额 **/
@JsonProperty("invoicenotamount")
private Integer invoicenotamount;
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 创建时间 **/
@JsonProperty("creatorTime")
private String creatorTime;
/** 修改人id **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
/** 组织id **/
@JsonProperty("orgnizeId")
private String orgnizeId;
/** 部门id **/
@JsonProperty("departmentId")
private String departmentId;
/** 子表数据 **/
@JsonProperty("purchasement_item0List")
private List<Purchasement_item0Model> purchasement_item0List;
}

@ -0,0 +1,103 @@
package jnpf.purchasement.model.purchasement;
import jnpf.purchasement.model.purchasement.Purchasement_item0Model;
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-20
*/
@Data
public class PurchasementInfoVO{
/** 主键 **/
@JsonProperty("id")
private String id;
/** 单据编号 **/
@JsonProperty("documentno")
private String documentno;
/** 供应商名称 **/
@JsonProperty("suppliername")
private String suppliername;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 驳回原因 **/
@JsonProperty("reason")
private String reason;
/** 结算状态 **/
@JsonProperty("status")
private String status;
/** 订单金额 **/
@JsonProperty("orderamount")
private Integer orderamount;
/** 采购订单数量 **/
@JsonProperty("ordernum")
private Integer ordernum;
/** 订单不含税金额 **/
@JsonProperty("ordernotamount")
private Integer ordernotamount;
/** 发票数量 **/
@JsonProperty("invoicenum")
private Integer invoicenum;
/** 发票金额 **/
@JsonProperty("invoiceamount")
private Integer invoiceamount;
/** 发票不含税金额 **/
@JsonProperty("invoicenotamount")
private Integer invoicenotamount;
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 创建时间 **/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonProperty("creatorTime")
private Date creatorTime;
/** 修改人id **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
/** 组织id **/
@JsonProperty("orgnizeId")
private String orgnizeId;
/** 部门id **/
@JsonProperty("departmentId")
private String departmentId;
/** 子表数据 **/
@JsonProperty("purchasement_item0List")
private List<Purchasement_item0Model> purchasement_item0List;
}

@ -0,0 +1,30 @@
package jnpf.purchasement.model.purchasement;
import lombok.Data;
import java.util.Date;
import jnpf.base.Pagination;
import java.util.List;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-20
*/
@Data
public class PurchasementListQuery extends Pagination {
/** 单据编号 */
private String documentno;
/** 供应商名称 */
private String suppliername;
/** 创建人名称 */
private String creatorUserName;
/**
* id
*/
private String menuId;
}

@ -0,0 +1,112 @@
package jnpf.purchasement.model.purchasement;
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-20
*/
@Data
public class PurchasementListVO{
/** 主键 */
private String id;
/** 单据编号 **/
@JsonProperty("documentno")
private String documentno;
/** 供应商名称 **/
@JsonProperty("suppliername")
private String suppliername;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 驳回原因 **/
@JsonProperty("reason")
private String reason;
/** 结算状态 **/
@JsonProperty("status")
private String status;
/** 订单金额 **/
@JsonProperty("orderamount")
private Integer orderamount;
/** 采购订单数量 **/
@JsonProperty("ordernum")
private Integer ordernum;
/** 订单不含税金额 **/
@JsonProperty("ordernotamount")
private Integer ordernotamount;
/** 发票数量 **/
@JsonProperty("invoicenum")
private Integer invoicenum;
/** 发票金额 **/
@JsonProperty("invoiceamount")
private Integer invoiceamount;
/** 发票不含税金额 **/
@JsonProperty("invoicenotamount")
private Integer invoicenotamount;
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 创建时间 **/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonProperty("creatorTime")
private Date creatorTime;
/** 修改人id **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
/** 组织id **/
@JsonProperty("orgnizeId")
private String orgnizeId;
/** 部门id **/
@JsonProperty("departmentId")
private String departmentId;
}

@ -0,0 +1,31 @@
package jnpf.purchasement.model.purchasement;
import lombok.Data;
import jnpf.base.Pagination;
import java.util.List;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-20
*/
@Data
public class PurchasementPagination extends Pagination {
/** 单据编号 */
private String documentno;
/** 供应商名称 */
private String suppliername;
/** 创建人名称 */
private String creatorUserName;
/**
* id
*/
private String menuId;
}

@ -0,0 +1,32 @@
package jnpf.purchasement.model.purchasement;
import lombok.Data;
import jnpf.base.Pagination;
import java.util.*;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-20
*/
@Data
public class PurchasementPaginationExportModel extends Pagination {
private String selectKey;
private String json;
private String dataType;
/** 单据编号 */
private String documentno;
/** 供应商名称 */
private String suppliername;
/** 创建人名称 */
private String creatorUserName;
}

@ -0,0 +1,120 @@
package jnpf.purchasement.model.purchasement;
import jnpf.purchasement.model.purchasement.Purchasement_item0Model;
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-20
*/
@Data
public class PurchasementUpForm{
/** 主键 */
private String id;
/** 单据编号 **/
@JsonProperty("documentno")
private String documentno;
/** 供应商名称 **/
@JsonProperty("suppliername")
private String suppliername;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 驳回原因 **/
@JsonProperty("reason")
private String reason;
/** 结算状态 **/
@JsonProperty("status")
private String status;
/** 订单金额 **/
@JsonProperty("orderamount")
private Integer orderamount;
/** 采购订单数量 **/
@JsonProperty("ordernum")
private Integer ordernum;
/** 订单不含税金额 **/
@JsonProperty("ordernotamount")
private Integer ordernotamount;
/** 发票数量 **/
@JsonProperty("invoicenum")
private Integer invoicenum;
/** 发票金额 **/
@JsonProperty("invoiceamount")
private Integer invoiceamount;
/** 发票不含税金额 **/
@JsonProperty("invoicenotamount")
private Integer invoicenotamount;
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 创建时间 **/
@JsonProperty("creatorTime")
private String creatorTime;
/** 修改人id **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
/** 组织id **/
@JsonProperty("orgnizeId")
private String orgnizeId;
/** 部门id **/
@JsonProperty("departmentId")
private String departmentId;
/** 子表数据 **/
@JsonProperty("purchasement_item0List")
private List<Purchasement_item0Model> purchasement_item0List;
}

@ -0,0 +1,26 @@
package jnpf.purchasement.model.purchasement;
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-20
*/
@Data
public class Purchasement_item0Model {
/** 采购订单 **/
@JsonProperty("purchaseorderId")
private String purchaseorderId;
}

@ -0,0 +1,37 @@
package jnpf.purchasement.service;
import jnpf.purchasement.entity.Purchasement_item0Entity;
import jnpf.purchasement.service.Purchasement_item0Service;
import jnpf.purchasement.entity.PurchasementEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.purchasement.model.purchasement.PurchasementPagination;
import java.util.*;
/**
*
* purchasement
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-20
*/
public interface PurchasementService extends IService<PurchasementEntity> {
List<PurchasementEntity> getList(PurchasementPagination purchasementPagination);
List<PurchasementEntity> getTypeList(PurchasementPagination purchasementPagination,String dataType);
PurchasementEntity getInfo(String id);
void delete(PurchasementEntity entity);
void create(PurchasementEntity entity);
boolean update( String id, PurchasementEntity entity);
// 子表方法
List<Purchasement_item0Entity> GetPurchasement_item0List(String id);
//列表子表数据方法
}

@ -0,0 +1,15 @@
package jnpf.purchasement.service;
import jnpf.purchasement.entity.Purchasement_item0Entity;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* jg_purchasement_item0
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-20
*/
public interface Purchasement_item0Service extends IService<Purchasement_item0Entity> {
}

@ -0,0 +1,287 @@
package jnpf.purchasement.service.impl;
import jnpf.purchasement.entity.*;
import jnpf.purchasement.mapper.PurchasementMapper;
import jnpf.purchasement.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 jnpf.purchasement.model.purchasement.PurchasementPagination;
import jnpf.permission.service.AuthorizeService;
import java.lang.reflect.Field;
import com.baomidou.mybatisplus.annotation.TableField;
import java.util.stream.Collectors;
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.*;
/**
*
* purchasement
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-20
*/
@Service
public class PurchasementServiceImpl extends ServiceImpl<PurchasementMapper, PurchasementEntity> implements PurchasementService{
@Autowired
private UserProvider userProvider;
@Autowired
private AuthorizeService authorizeService;
@Autowired
private Purchasement_item0Service purchasement_item0Service;
@Override
public List<PurchasementEntity> getList(PurchasementPagination purchasementPagination){
String userId=userProvider.get().getUserId();
List<String> AllIdList =new ArrayList();
int total=0;
int purchasementNum =0;
QueryWrapper<PurchasementEntity> purchasementQueryWrapper=new QueryWrapper<>();
int purchasement_item0Num =0;
QueryWrapper<Purchasement_item0Entity> purchasement_item0QueryWrapper=new QueryWrapper<>();
boolean pcPermission = false;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){
Object purchasementObj=authorizeService.getCondition(new AuthorizeConditionModel(purchasementQueryWrapper,purchasementPagination.getMenuId(),"purchasement"));
if (ObjectUtil.isEmpty(purchasementObj)){
return new ArrayList<>();
} else {
purchasementQueryWrapper = (QueryWrapper<PurchasementEntity>)purchasementObj;
purchasementNum++;
}
Object purchasement_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(purchasement_item0QueryWrapper,purchasementPagination.getMenuId(),"purchasement_item0"));
if (ObjectUtil.isEmpty(purchasement_item0Obj)){
return new ArrayList<>();
} else {
purchasement_item0QueryWrapper = (QueryWrapper<Purchasement_item0Entity>)purchasement_item0Obj;
purchasement_item0Num++;
}
}
}
if(!isPc && appPermission){
if (!userProvider.get().getIsAdministrator()){
Object purchasementObj=authorizeService.getCondition(new AuthorizeConditionModel(purchasementQueryWrapper,purchasementPagination.getMenuId(),"purchasement"));
if (ObjectUtil.isEmpty(purchasementObj)){
return new ArrayList<>();
} else {
purchasementQueryWrapper = (QueryWrapper<PurchasementEntity>)purchasementObj;
purchasementNum++;
}
Object purchasement_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(purchasement_item0QueryWrapper,purchasementPagination.getMenuId(),"purchasement_item0"));
if (ObjectUtil.isEmpty(purchasement_item0Obj)){
return new ArrayList<>();
} else {
purchasement_item0QueryWrapper = (QueryWrapper<Purchasement_item0Entity>)purchasement_item0Obj;
purchasement_item0Num++;
}
}
}
if(StringUtil.isNotEmpty(purchasementPagination.getDocumentno())){
purchasementNum++;
purchasementQueryWrapper.lambda().like(PurchasementEntity::getDocumentno,purchasementPagination.getDocumentno());
}
if(StringUtil.isNotEmpty(purchasementPagination.getSuppliername())){
purchasementNum++;
purchasementQueryWrapper.lambda().like(PurchasementEntity::getSuppliername,purchasementPagination.getSuppliername());
}
if(StringUtil.isNotEmpty(purchasementPagination.getCreatorUserName())){
purchasementNum++;
purchasementQueryWrapper.lambda().like(PurchasementEntity::getCreatorUserName,purchasementPagination.getCreatorUserName());
}
if(AllIdList.size()>0){
purchasementQueryWrapper.lambda().in(PurchasementEntity::getId, AllIdList);
}
//排序
if(StringUtil.isEmpty(purchasementPagination.getSidx())){
purchasementQueryWrapper.lambda().orderByDesc(PurchasementEntity::getCreatorTime);
}else{
try {
String sidx = purchasementPagination.getSidx();
PurchasementEntity purchasementEntity = new PurchasementEntity();
Field declaredField = purchasementEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
purchasementQueryWrapper="asc".equals(purchasementPagination.getSort().toLowerCase())?purchasementQueryWrapper.orderByAsc(value):purchasementQueryWrapper.orderByDesc(value);
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
if((total>0 && AllIdList.size()>0) || total==0){
Page<PurchasementEntity> page=new Page<>(purchasementPagination.getCurrentPage(), purchasementPagination.getPageSize());
IPage<PurchasementEntity> userIPage=this.page(page, purchasementQueryWrapper);
return purchasementPagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{
List<PurchasementEntity> list = new ArrayList();
return purchasementPagination.setData(list, list.size());
}
}
@Override
public List<PurchasementEntity> getTypeList(PurchasementPagination purchasementPagination,String dataType){
String userId=userProvider.get().getUserId();
List<String> AllIdList =new ArrayList();
int total=0;
int purchasementNum =0;
QueryWrapper<PurchasementEntity> purchasementQueryWrapper=new QueryWrapper<>();
int purchasement_item0Num =0;
QueryWrapper<Purchasement_item0Entity> purchasement_item0QueryWrapper=new QueryWrapper<>();
boolean pcPermission = false;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if(isPc && pcPermission){
if (!userProvider.get().getIsAdministrator()){
Object purchasementObj=authorizeService.getCondition(new AuthorizeConditionModel(purchasementQueryWrapper,purchasementPagination.getMenuId(),"purchasement"));
if (ObjectUtil.isEmpty(purchasementObj)){
return new ArrayList<>();
} else {
purchasementQueryWrapper = (QueryWrapper<PurchasementEntity>)purchasementObj;
purchasementNum++;
}
Object purchasement_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(purchasement_item0QueryWrapper,purchasementPagination.getMenuId(),"purchasement_item0"));
if (ObjectUtil.isEmpty(purchasement_item0Obj)){
return new ArrayList<>();
} else {
purchasement_item0QueryWrapper = (QueryWrapper<Purchasement_item0Entity>)purchasement_item0Obj;
purchasement_item0Num++;
}
}
}
if(!isPc && appPermission){
if (!userProvider.get().getIsAdministrator()){
Object purchasementObj=authorizeService.getCondition(new AuthorizeConditionModel(purchasementQueryWrapper,purchasementPagination.getMenuId(),"purchasement"));
if (ObjectUtil.isEmpty(purchasementObj)){
return new ArrayList<>();
} else {
purchasementQueryWrapper = (QueryWrapper<PurchasementEntity>)purchasementObj;
purchasementNum++;
}
Object purchasement_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(purchasement_item0QueryWrapper,purchasementPagination.getMenuId(),"purchasement_item0"));
if (ObjectUtil.isEmpty(purchasement_item0Obj)){
return new ArrayList<>();
} else {
purchasement_item0QueryWrapper = (QueryWrapper<Purchasement_item0Entity>)purchasement_item0Obj;
purchasement_item0Num++;
}
}
}
if(StringUtil.isNotEmpty(purchasementPagination.getDocumentno())){
purchasementNum++;
purchasementQueryWrapper.lambda().like(PurchasementEntity::getDocumentno,purchasementPagination.getDocumentno());
}
if(StringUtil.isNotEmpty(purchasementPagination.getSuppliername())){
purchasementNum++;
purchasementQueryWrapper.lambda().like(PurchasementEntity::getSuppliername,purchasementPagination.getSuppliername());
}
if(StringUtil.isNotEmpty(purchasementPagination.getCreatorUserName())){
purchasementNum++;
purchasementQueryWrapper.lambda().like(PurchasementEntity::getCreatorUserName,purchasementPagination.getCreatorUserName());
}
if(AllIdList.size()>0){
purchasementQueryWrapper.lambda().in(PurchasementEntity::getId, AllIdList);
}
//排序
if(StringUtil.isEmpty(purchasementPagination.getSidx())){
purchasementQueryWrapper.lambda().orderByDesc(PurchasementEntity::getCreatorTime);
}else{
try {
String sidx = purchasementPagination.getSidx();
PurchasementEntity purchasementEntity = new PurchasementEntity();
Field declaredField = purchasementEntity.getClass().getDeclaredField(sidx);
declaredField.setAccessible(true);
String value = declaredField.getAnnotation(TableField.class).value();
purchasementQueryWrapper="asc".equals(purchasementPagination.getSort().toLowerCase())?purchasementQueryWrapper.orderByAsc(value):purchasementQueryWrapper.orderByDesc(value);
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
if("0".equals(dataType)){
if((total>0 && AllIdList.size()>0) || total==0){
Page<PurchasementEntity> page=new Page<>(purchasementPagination.getCurrentPage(), purchasementPagination.getPageSize());
IPage<PurchasementEntity> userIPage=this.page(page, purchasementQueryWrapper);
return purchasementPagination.setData(userIPage.getRecords(),userIPage.getTotal());
}else{
List<PurchasementEntity> list = new ArrayList();
return purchasementPagination.setData(list, list.size());
}
}else{
return this.list(purchasementQueryWrapper);
}
}
@Override
public PurchasementEntity getInfo(String id){
QueryWrapper<PurchasementEntity> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(PurchasementEntity::getId,id);
return this.getOne(queryWrapper);
}
@Override
public void create(PurchasementEntity entity){
this.save(entity);
}
@Override
public boolean update(String id, PurchasementEntity entity){
entity.setId(id);
return this.updateById(entity);
}
@Override
public void delete(PurchasementEntity entity){
if(entity!=null){
this.removeById(entity.getId());
}
}
//子表方法
@Override
public List<Purchasement_item0Entity> GetPurchasement_item0List(String id){
QueryWrapper<Purchasement_item0Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(Purchasement_item0Entity::getPurchasementId, id);
return purchasement_item0Service.list(queryWrapper);
}
//列表子表数据方法
}

@ -0,0 +1,41 @@
package jnpf.purchasement.service.impl;
import jnpf.purchasement.entity.*;
import jnpf.purchasement.mapper.Purchasement_item0Mapper;
import jnpf.purchasement.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_purchasement_item0
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-02-20
*/
@Service
public class Purchasement_item0ServiceImpl extends ServiceImpl<Purchasement_item0Mapper, Purchasement_item0Entity> implements Purchasement_item0Service{
}

@ -1,20 +1,42 @@
package jnpf.tradeupload.controller;
import ai.djl.ModelException;
import ai.djl.translate.TranslateException;
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.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
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.NoDataSourceBind;
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.constant.MsgCode;
import jnpf.contractfile.entity.ContractFileEntity;
import jnpf.contractfile.service.ContractFileService;
import jnpf.customer.entity.CustomerEntity;
import jnpf.customer.service.CustomerService;
import jnpf.exception.DataException;
import jnpf.model.UploaderVO;
import jnpf.ocr_sdk.controller.BaiduOcrController;
import jnpf.permission.entity.UserEntity;
import jnpf.utils.YozoUtils;
import jnpf.vehicle.entity.VehicleEntity;
import jnpf.vehicle.service.VehicleService;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.bytedeco.opencv.presets.opencv_core;
import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional;
import jnpf.base.entity.ProvinceEntity;
import jnpf.tradeupload.model.tradeupload.*;
@ -41,10 +63,15 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import jnpf.util.GeneraterSwapUtil;
import java.io.InputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import jnpf.util.file.UploadUtil;
import jnpf.util.enums.FileTypeEnum;
import jnpf.ocr_sdk.baiduUtils.VatInvoice;
/**
*
@ -72,7 +99,378 @@ public class TradeuploadController {
@Autowired
private TradeuploadService tradeuploadService;
@Autowired
private BaiduOcrController baiduOcrController;
@Autowired
private CustomerService customerService;
@Autowired
private ContractFileService contractFileService;
@Autowired
private VehicleService vehicleService;
@Autowired
private YozoUtils yozoUtils;
/**
* /
*
* @return
*/
@NoDataSourceBind()
@ApiOperation("上传文件/图片")
@PostMapping(value = "/UploaderPondList/{type}", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ActionResult uploader(@RequestPart("file") MultipartFile file, @PathVariable("type") String type) throws IOException, ParseException {
String fileType = UpUtil.getFileType(file);
//验证类型
if (!OptimizeUtil.fileType(configValueUtil.getAllowUploadFileType(), fileType)) {
return ActionResult.fail(MsgCode.FA017.get());
}
TradeuploadCrForm tradeuploadCrForm = new TradeuploadCrForm();
String result = VatInvoice.weightNote(file);
JSONObject jsonObject = JSON.parseObject(result);
UploaderVO vo = uploaderVO(file, type);
JSONArray jsonArray = jsonObject.getJSONArray("words_result");
String TareWeight = "";
String CrossWeight = "";
String PlateNum = "";
String SendingCompany = "";
String DeliveryNumber = "";
String ReceivingCompany = "";
String PrintTime = "";
String NetWeight = "";
if (jsonArray.getJSONObject(0).getJSONArray("TareWeight")!=null && jsonArray.getJSONObject(0).getJSONArray("TareWeight").size()>0) {
TareWeight = jsonArray.getJSONObject(0).getJSONArray("TareWeight").getJSONObject(0).getString("word");
}
if (jsonArray.getJSONObject(0).getJSONArray("CrossWeight")!=null && jsonArray.getJSONObject(0).getJSONArray("CrossWeight").size()>0) {
CrossWeight = jsonArray.getJSONObject(0).getJSONArray("CrossWeight").getJSONObject(0).getString("word");
}
if (jsonArray.getJSONObject(0).getJSONArray("PlateNum")!=null && jsonArray.getJSONObject(0).getJSONArray("PlateNum").size()>0) {
PlateNum = jsonArray.getJSONObject(0).getJSONArray("PlateNum").getJSONObject(0).getString("word");
}
if (jsonArray.getJSONObject(0).getJSONArray("SendingCompany")!=null && jsonArray.getJSONObject(0).getJSONArray("SendingCompany").size()>0) {
SendingCompany = jsonArray.getJSONObject(0).getJSONArray("SendingCompany").getJSONObject(0).getString("word");
}
if (jsonArray.getJSONObject(0).getJSONArray("DeliveryNumber")!=null && jsonArray.getJSONObject(0).getJSONArray("DeliveryNumber").size()>0) {
DeliveryNumber = jsonArray.getJSONObject(0).getJSONArray("DeliveryNumber").getJSONObject(0).getString("word");
}
if (jsonArray.getJSONObject(0).getJSONArray("ReceivingCompany")!=null && jsonArray.getJSONObject(0).getJSONArray("ReceivingCompany").size()>0) {
ReceivingCompany = jsonArray.getJSONObject(0).getJSONArray("ReceivingCompany").getJSONObject(0).getString("word");
}
if (jsonArray.getJSONObject(0).getJSONArray("PrintTime")!=null && jsonArray.getJSONObject(0).getJSONArray("PrintTime").size()>0) {
PrintTime = jsonArray.getJSONObject(0).getJSONArray("PrintTime").getJSONObject(0).getString("word");
}
if (jsonArray.getJSONObject(0).getJSONArray("NetWeight")!=null && jsonArray.getJSONObject(0).getJSONArray("NetWeight").size()>0) {
NetWeight = jsonArray.getJSONObject(0).getJSONArray("NetWeight").getJSONObject(0).getString("word");
}
if (StringUtils.isNotEmpty(ReceivingCompany)) {
tradeuploadCrForm.setCustomerId(ReceivingCompany);
QueryWrapper<CustomerEntity> customerQueryWrapper = new QueryWrapper<>();
customerQueryWrapper.lambda().eq(CustomerEntity::getSupplierNm, tradeuploadCrForm.getCustomerId());
CustomerEntity customerEntity = customerService.getOne(customerQueryWrapper);
if (customerEntity != null) {
tradeuploadCrForm.setCustomerId(customerEntity.getId());
tradeuploadCrForm.setCustomerName(customerEntity.getSupplierNm());
tradeuploadCrForm.setClientId(customerEntity.getId());
QueryWrapper<ContractFileEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ContractFileEntity::getCode, customerEntity.getId());
queryWrapper.lambda().eq(ContractFileEntity::getContractType, "1");
queryWrapper.lambda().eq(ContractFileEntity::getStatus, "1");
queryWrapper.lambda().orderByAsc(ContractFileEntity::getBidOpeningDate).last("limit 1");
ContractFileEntity contractFileEntity = contractFileService.getOne(queryWrapper);
if (contractFileEntity != null) {
tradeuploadCrForm.setSalesId(contractFileEntity.getId());
tradeuploadCrForm.setSalesName(contractFileEntity.getContractName());
}
}
}
if (StringUtils.isNotEmpty(PlateNum)) {
tradeuploadCrForm.setVehicleId(PlateNum);
tradeuploadCrForm.setVehicleName(PlateNum);
QueryWrapper<VehicleEntity> vehicleQueryWrapper = new QueryWrapper<>();
vehicleQueryWrapper.lambda().eq(VehicleEntity::getTicketno, PlateNum);
VehicleEntity vehicleEntity = vehicleService.getOne(vehicleQueryWrapper);
if (vehicleEntity != null) {
tradeuploadCrForm.setVehicleId(vehicleEntity.getId());
tradeuploadCrForm.setVehicleName(vehicleEntity.getTicketno());
tradeuploadCrForm.setVehiclePictures(vehicleEntity.getVehiclephotos());
}
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if(StringUtils.isNotEmpty(PrintTime) && PrintTime.length() == 10){
tradeuploadCrForm.setPoundDate(sdf.parse(PrintTime));
}else{
tradeuploadCrForm.setPoundDate(new Date());
}
if (StringUtils.isEmpty(DeliveryNumber)) {
tradeuploadCrForm.setPoundlistNo(String.valueOf(new Date()));
}else {
tradeuploadCrForm.setPoundlistNo(DeliveryNumber);
}
if (StringUtils.isNotEmpty(TareWeight)) {
tradeuploadCrForm.setTareWeight(TareWeight);
}
if (StringUtils.isNotEmpty(CrossWeight)) {
tradeuploadCrForm.setGrossWeight(CrossWeight);
}
if (StringUtils.isEmpty(NetWeight)) {
tradeuploadCrForm.setBuckleWeight("0");
}else {
tradeuploadCrForm.setBuckleWeight(NetWeight);
}
if (StringUtils.isNotEmpty(NetWeight)) {
tradeuploadCrForm.setNetWeight(NetWeight);
}
UserInfo userInfo = userProvider.get();
tradeuploadCrForm.setBusinessId(userInfo.getId());
tradeuploadCrForm.setBusinessName(userInfo.getUserName());
tradeuploadCrForm.setVo(vo);
return ActionResult.success(tradeuploadCrForm);
// JSONObject object = jsonArray.getJSONObject(0);
// Map<String, Object> map1 = new HashMap<>();
// for (int i = 0;i<object.size();i++) {
//// JSONObject object = jsonArray.getJSONObject(i);
// JSONArray array = new JSONArray();
// if (i == 0) {
// array = object.getJSONArray("TareWeight");
// }else if(i == 1){
// array = object.getJSONArray("CrossWeight");
// }else if(i == 2){
// array = object.getJSONArray("PlateNum");
// }else if (i == 3){
// array = object.getJSONArray("SendingCompany");
// }else if (i == 4){
// array = object.getJSONArray("DeliveryNumber");
// }else if (i == 5){
// array = object.getJSONArray("ReceivingCompany");
// }else if (i == 6){
// array = object.getJSONArray("PrintTime");
// }else if (i == 7){
// array = object.getJSONArray("NetWeight");
// }
// Map<String, String> params = new HashMap<>();
// if(array != null && array.size() > 0){
// JSONObject object1 = array.getJSONObject(0);
// params = JSONObject.parseObject(object1.toJSONString(), new TypeReference<Map<String, String>>() {
// });
// }
//
// if (i == 0) {
// map1.put("TareWeight", params.get("word"));
// }else if (i == 1){
// map1.put("CrossWeight", params.get("word"));
// }else if (i == 2){
// map1.put("PlateNum", params.get("word"));
// }else if (i == 3){
// map1.put("SendingCompany", params.get("word"));
// }else if (i == 4){
// map1.put("DeliveryNumber", params.get("word"));
// }else if (i == 5){
// map1.put("ReceivingCompany", params.get("word"));
// }else if (i == 6){
// map1.put("PrintTime", params.get("word"));
// }else if (i == 7){
// map1.put("NetWeight", params.get("word"));
// }
// }
// List<VehicleEntity> list = JSONObject.parseArray(array.toJSONString(),VehicleEntity.class);
// JSONObject jsonObject = (JSONObject) map.get("words_result");
// JSONArray jsonArray = jsonObject.getJSONArray("words_result");
// List<VehicleEntity> list = JSONObject.parseArray(jsonArray.toJSONString(),VehicleEntity.class);
// if(map1.size()>0) {
// if (map1.get("ReceivingCompany")!= null) {
// tradeuploadCrForm.setCustomerId(String.valueOf(map1.get("ReceivingCompany")));
// QueryWrapper<CustomerEntity> customerQueryWrapper = new QueryWrapper<>();
// customerQueryWrapper.lambda().eq(CustomerEntity::getSupplierNm, tradeuploadCrForm.getCustomerId());
// CustomerEntity customerEntity = customerService.getOne(customerQueryWrapper);
// if (customerEntity != null) {
// tradeuploadCrForm.setCustomerId(customerEntity.getId());
// tradeuploadCrForm.setCustomerName(customerEntity.getSupplierNm());
// tradeuploadCrForm.setClientId(customerEntity.getId());
// QueryWrapper<ContractFileEntity> queryWrapper = new QueryWrapper<>();
// queryWrapper.lambda().eq(ContractFileEntity::getCode, customerEntity.getId());
// queryWrapper.lambda().eq(ContractFileEntity::getContractType, "1");
// queryWrapper.lambda().eq(ContractFileEntity::getStatus, "1");
// queryWrapper.lambda().orderByAsc(ContractFileEntity::getBidOpeningDate).last("limit 1");
// ContractFileEntity contractFileEntity = contractFileService.getOne(queryWrapper);
// if (contractFileEntity != null) {
// tradeuploadCrForm.setSalesId(contractFileEntity.getId());
// tradeuploadCrForm.setSalesName(contractFileEntity.getContractName());
// }
// }
// }
// if (map1.get("PlateNum")!= null) {
// tradeuploadCrForm.setVehicleId(String.valueOf(map1.get("PlateNum")));
// tradeuploadCrForm.setVehicleName(String.valueOf(map1.get("PlateNum")));
// QueryWrapper<VehicleEntity> vehicleQueryWrapper = new QueryWrapper<>();
// vehicleQueryWrapper.lambda().eq(VehicleEntity::getTicketno, map1.get("PlateNum"));
// //vehicleQueryWrapper.lambda().eq(VehicleEntity::getTicketno, "鲁FEV620");
// VehicleEntity vehicleEntity = vehicleService.getOne(vehicleQueryWrapper);
// if (vehicleEntity != null) {
// tradeuploadCrForm.setVehicleId(vehicleEntity.getId());
// tradeuploadCrForm.setVehicleName(vehicleEntity.getTicketno());
// tradeuploadCrForm.setVehiclePictures(vehicleEntity.getVehiclephotos());
// }
// }
// if (map1.get("PrintTime") == null) {
// tradeuploadCrForm.setPoundDate(new Date());
// }
// String printTime = String.valueOf(map1.get("PrintTime"));
// //String sdf = "yyyy-MM-dd" ;
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// if(printTime != null && printTime.length() == 10){
// tradeuploadCrForm.setPoundDate(sdf.parse(printTime));
// }else{
// tradeuploadCrForm.setPoundDate(new Date());
// }
// if (map1.get("DeliveryNumber") == null) {
// tradeuploadCrForm.setPoundlistNo(String.valueOf(new Date()));
// }
// tradeuploadCrForm.setPoundlistNo(String.valueOf(map1.get("DeliveryNumber")));
// if (map1.get("TareWeight")!=null) {
// tradeuploadCrForm.setTareWeight(String.valueOf(map1.get("TareWeight")));
// }
// if (map1.get("CrossWeight")!=null) {
// tradeuploadCrForm.setGrossWeight(String.valueOf(map1.get("CrossWeight")));
// }
// if (map1.get("NetWeight") == null) {
// tradeuploadCrForm.setBuckleWeight("0");
// }
// tradeuploadCrForm.setBuckleWeight(String.valueOf(map1.get("NetWeight")));
// if (map1.get("NetWeight") != null) {
// tradeuploadCrForm.setNetWeight(String.valueOf(map1.get("NetWeight")));
// }
//
// UserInfo userInfo = userProvider.get();
// tradeuploadCrForm.setBusinessId(userInfo.getId());
// tradeuploadCrForm.setBusinessName(userInfo.getUserName());
// }
// return ActionResult.success(vo);
}
public boolean dateStrIsValid(String printTime, String sdf) {
SimpleDateFormat dateFormat = new SimpleDateFormat(sdf);
Date date = null;
try {
// 转化为 Date类型测试判断
date = dateFormat.parse(printTime);
return printTime.equals(dateFormat.format(date));
} catch (ParseException e) {
log.error("error{}",e.getMessage(),e);
return false;
}
}
/**
*
*
* @param file
* @param type
* @return
* @throws IOException
*/
private UploaderVO uploaderVO(MultipartFile file, String type) throws IOException {
String orgFileName = file.getOriginalFilename();
String fileType = UpUtil.getFileType(file);
// if (OptimizeUtil.fileSize(file.getSize(), 1024000)) {
// return ActionResult.fail("上传失败文件大小超过1M");
// }
String fileName = DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + "." + fileType;
if (type.equals(FileTypeEnum.MAIL)) {
type = FileTypeEnum.TEMPORARY;
}
String filePath = FilePathUtil.getFilePath(type.toLowerCase());
UploaderVO vo = UploaderVO.builder().name(fileName).build();
//上传文件
UploadUtil.uploadFile(configValueUtil.getFileType(), type, fileName, file, filePath);
if (type.equalsIgnoreCase(FileTypeEnum.USERAVATAR)) {
vo.setUrl(UploaderUtil.uploaderImg(fileName));
} else if (type.equalsIgnoreCase(FileTypeEnum.ANNEX)) {
// UserInfo userInfo = userProvider.get();
// vo.setUrl(UploaderUtil.uploaderFile(userInfo.getId() + "#" + fileName + "#" + type));
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));
}
//上传到永中
if ("yozo".equals(configValueUtil.getAllowPreviewFileType())) {
try {
@Cleanup InputStream inputStream = file.getInputStream();
String s = yozoUtils.uploadFileInPreview(inputStream, orgFileName);
Map<String, Object> map = JsonUtil.stringToMap(s);
if ("操作成功".equals(map.get("message"))) {
Map<String, Object> dataMap = JsonUtil.stringToMap(String.valueOf(map.get("data")));
String verId = String.valueOf(dataMap.get("fileVersionId"));
vo.setFileVersionId(verId);
}
} catch (Exception e) {
System.out.println("上传到永中失败");
e.printStackTrace();
}
}
return vo;
}
/**
*
*
* @param file
* @return
*/
@ApiOperation("磅单识别")
@PostMapping("/poundai")
public ActionResult poundAI(MultipartFile file ) throws ModelException, TranslateException, IOException {
TradeuploadCrForm tradeuploadCrForm = new TradeuploadCrForm();
String result = VatInvoice.weightNote(file);
Map<String,Object> map = JsonUtil.stringToMap(result);
tradeuploadCrForm.setCustomerId(String.valueOf(map.get("ReceivingCompany")));
QueryWrapper<CustomerEntity> customerQueryWrapper = new QueryWrapper<>();
customerQueryWrapper.lambda().eq(CustomerEntity::getSupplierNm,tradeuploadCrForm.getCustomerId());
CustomerEntity customerEntity = customerService.getOne(customerQueryWrapper);
tradeuploadCrForm.setClientId(customerEntity.getId());
QueryWrapper<ContractFileEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ContractFileEntity::getCode,customerEntity.getId());
queryWrapper.lambda().eq(ContractFileEntity::getContractType,"1");
queryWrapper.lambda().eq(ContractFileEntity::getStatus,"1");
queryWrapper.lambda().orderByAsc(ContractFileEntity::getBidOpeningDate).last("limit 1");
ContractFileEntity contractFileEntity = contractFileService.getOne(queryWrapper);
tradeuploadCrForm.setSalesId(contractFileEntity.getContractName());
tradeuploadCrForm.setVehicleId(String.valueOf(map.get("PlateNum")));
QueryWrapper<VehicleEntity> vehicleQueryWrapper = new QueryWrapper<>();
vehicleQueryWrapper.lambda().eq(VehicleEntity::getTicketno,map.get("PlateNum"));
VehicleEntity vehicleEntity = vehicleService.getOne(vehicleQueryWrapper);
if (vehicleEntity != null){
tradeuploadCrForm.setVehiclePictures(vehicleEntity.getVehiclephotos());
}
if (map.get("PrintTime") == null){
tradeuploadCrForm.setPoundDate(new Date());
}
//tradeuploadCrForm.setPoundDate(map.get("PrintTime"));
if (map.get("DeliveryNumber") == null){
tradeuploadCrForm.setPoundlistNo(String.valueOf(new Date()));
}
tradeuploadCrForm.setPoundlistNo(String.valueOf(map.get("DeliveryNumber")));
tradeuploadCrForm.setTareWeight(String.valueOf(map.get("TareWeight")));
tradeuploadCrForm.setGrossWeight(String.valueOf(map.get("CrossWeight")));
if (map.get("NetWeight") == null){
tradeuploadCrForm.setBuckleWeight("0");
}
tradeuploadCrForm.setBuckleWeight(String.valueOf(map.get("NetWeight")));
if (map.get("NetWeight") == null){
tradeuploadCrForm.setNetWeight("0");
}
tradeuploadCrForm.setNetWeight(String.valueOf(map.get("NetWeight")));
UserInfo userInfo = userProvider.get();
tradeuploadCrForm.setBusinessId(userInfo.getUserName());
return ActionResult.success(tradeuploadCrForm);
}
/**
@ -81,29 +479,29 @@ public class TradeuploadController {
* @param tradeuploadPagination
* @return
*/
@PostMapping("/getList")
@PostMapping("/getList")
public ActionResult list(@RequestBody TradeuploadPagination tradeuploadPagination)throws IOException{
List<TradeuploadEntity> list= tradeuploadService.getList(tradeuploadPagination);
//处理id字段转名称若无需转或者为空可删除
for(TradeuploadEntity entity:list){
for(TradeuploadEntity entity:list){
entity.setPoundPictures(generaterSwapUtil.getFileNameInJson(entity.getPoundPictures()));
Map<String,Object> materialIdMap = new HashMap<>();
entity.setMaterialId(generaterSwapUtil.getPopupSelectValue("381037852907038533","id","description",entity.getMaterialId(),materialIdMap));
Map<String,Object> customerIdMap = new HashMap<>();
Map<String,Object> materialIdMap = new HashMap<>();
entity.setMaterialId(generaterSwapUtil.getPopupSelectValue("381037852907038533","id","item_name",entity.getMaterialId(),materialIdMap));
Map<String,Object> customerIdMap = new HashMap<>();
entity.setCustomerId(generaterSwapUtil.getPopupSelectValue("395936123471343749","id","supplier_nm",entity.getCustomerId(),customerIdMap));
Map<String,Object> salesIdMap = new HashMap<>();
Map<String,Object> salesIdMap = new HashMap<>();
entity.setSalesId(generaterSwapUtil.getPopupSelectValue("381037852907038533","id","contract_name",entity.getSalesId(),salesIdMap));
Map<String,Object> vehicleIdMap = new HashMap<>();
Map<String,Object> vehicleIdMap = new HashMap<>();
entity.setVehicleId(generaterSwapUtil.getPopupSelectValue("381432451370615173","id","ticketno",entity.getVehicleId(),vehicleIdMap));
entity.setVehiclePictures(generaterSwapUtil.getFileNameInJson(entity.getVehiclePictures()));
Map<String,Object> creatorUserNameMap = new HashMap<>();
entity.setCreatorUserName(generaterSwapUtil.getPopupSelectValue("ebcc44be142e43b795c0d769abd6d25a","F_RealName","F_RealName",entity.getCreatorUserName(),creatorUserNameMap));
Map<String,Object> naturalIdMap = new HashMap<>();
Map<String,Object> businessIdMap = new HashMap<>();
entity.setBusinessId(generaterSwapUtil.getPopupSelectValue("ebcc44be142e43b795c0d769abd6d25a","F_Id","F_RealName",entity.getBusinessId(),businessIdMap));
Map<String,Object> naturalIdMap = new HashMap<>();
entity.setNaturalId(generaterSwapUtil.getPopupSelectValue("395933800510599301","id","name",entity.getNaturalId(),naturalIdMap));
}
List<TradeuploadListVO> listVO=JsonUtil.getJsonToList(list,TradeuploadListVO.class);
for(TradeuploadListVO tradeuploadVO:listVO){
}
}
List<TradeuploadListVO> listVO=JsonUtil.getJsonToList(list,TradeuploadListVO.class);
for(TradeuploadListVO tradeuploadVO:listVO){
}
PageListVO vo=new PageListVO();
@ -127,20 +525,25 @@ public class TradeuploadController {
UserInfo userInfo=userProvider.get();
tradeuploadCrForm.setCreatorTime(DateUtil.getNow());
TradeuploadEntity entity = JsonUtil.getJsonToBean(tradeuploadCrForm, TradeuploadEntity.class);
entity.setId(mainId);
tradeuploadService.save(entity);
QueryWrapper<TradeuploadEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(TradeuploadEntity::getPoundlistNo,entity.getPoundlistNo());
queryWrapper.lambda().eq(TradeuploadEntity::getCustomerId,entity.getCustomerId());
List<TradeuploadEntity> list = tradeuploadService.list(queryWrapper);
if (list != null && list.size()>0){
return ActionResult.fail("磅单重复");
}
entity.setId(mainId);
tradeuploadService.save(entity);
return ActionResult.success("创建成功");
}
}
/**
*
*
* @return
*/
*
*
* @return
*/
@ApiOperation("模板下载")
@GetMapping("/templateDownload")
public ActionResult<DownloadVO> TemplateDownload(){
@ -155,10 +558,10 @@ public class TradeuploadController {
return ActionResult.success(vo);
}
/**
* Excel
*
* @return
*/
* Excel
*
* @return
*/
@ApiOperation("导出Excel")
@GetMapping("/Actions/Export")
public ActionResult Export(TradeuploadPaginationExportModel tradeuploadPaginationExportModel) throws IOException {
@ -168,25 +571,25 @@ public class TradeuploadController {
TradeuploadPagination tradeuploadPagination=JsonUtil.getJsonToBean(tradeuploadPaginationExportModel, TradeuploadPagination.class);
List<TradeuploadEntity> list= tradeuploadService.getTypeList(tradeuploadPagination,tradeuploadPaginationExportModel.getDataType());
//处理id字段转名称若无需转或者为空可删除
for(TradeuploadEntity entity:list){
for(TradeuploadEntity entity:list){
entity.setPoundPictures(generaterSwapUtil.getFileNameInJson(entity.getPoundPictures()));
Map<String,Object> materialIdMap = new HashMap<>();
entity.setMaterialId(generaterSwapUtil.getPopupSelectValue("381037852907038533","id","description",entity.getMaterialId(),materialIdMap));
Map<String,Object> customerIdMap = new HashMap<>();
Map<String,Object> materialIdMap = new HashMap<>();
entity.setMaterialId(generaterSwapUtil.getPopupSelectValue("381037852907038533","id","item_name",entity.getMaterialId(),materialIdMap));
Map<String,Object> customerIdMap = new HashMap<>();
entity.setCustomerId(generaterSwapUtil.getPopupSelectValue("395936123471343749","id","supplier_nm",entity.getCustomerId(),customerIdMap));
Map<String,Object> salesIdMap = new HashMap<>();
Map<String,Object> salesIdMap = new HashMap<>();
entity.setSalesId(generaterSwapUtil.getPopupSelectValue("381037852907038533","id","contract_name",entity.getSalesId(),salesIdMap));
Map<String,Object> vehicleIdMap = new HashMap<>();
Map<String,Object> vehicleIdMap = new HashMap<>();
entity.setVehicleId(generaterSwapUtil.getPopupSelectValue("381432451370615173","id","ticketno",entity.getVehicleId(),vehicleIdMap));
entity.setVehiclePictures(generaterSwapUtil.getFileNameInJson(entity.getVehiclePictures()));
Map<String,Object> creatorUserNameMap = new HashMap<>();
entity.setCreatorUserName(generaterSwapUtil.getPopupSelectValue("ebcc44be142e43b795c0d769abd6d25a","F_RealName","F_RealName",entity.getCreatorUserName(),creatorUserNameMap));
Map<String,Object> naturalIdMap = new HashMap<>();
Map<String,Object> businessIdMap = new HashMap<>();
entity.setBusinessId(generaterSwapUtil.getPopupSelectValue("ebcc44be142e43b795c0d769abd6d25a","F_Id","F_RealName",entity.getBusinessId(),businessIdMap));
Map<String,Object> naturalIdMap = new HashMap<>();
entity.setNaturalId(generaterSwapUtil.getPopupSelectValue("395933800510599301","id","name",entity.getNaturalId(),naturalIdMap));
}
List<TradeuploadListVO> listVO=JsonUtil.getJsonToList(list,TradeuploadListVO.class);
for(TradeuploadListVO tradeuploadVO:listVO){
}
}
List<TradeuploadListVO> listVO=JsonUtil.getJsonToList(list,TradeuploadListVO.class);
for(TradeuploadListVO tradeuploadVO:listVO){
}
//转换为map输出
List<Map<String, Object>>mapList=JsonUtil.getJsonToListMap(JsonUtil.getObjectToStringDateFormat(listVO,"yyyy-MM-dd HH:mm:ss"));
@ -198,96 +601,96 @@ public class TradeuploadController {
//导出表格
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){
List<ExcelExportEntity> entitys=new ArrayList<>();
if(keys.length>0){
for(String key:keys){
switch(key){
case "poundPictures" :
entitys.add(new ExcelExportEntity("磅单上传" ,"poundPictures"));
break;
entitys.add(new ExcelExportEntity("磅单上传" ,"poundPictures"));
break;
case "materialId" :
entitys.add(new ExcelExportEntity("物料名称" ,"materialId"));
break;
entitys.add(new ExcelExportEntity("物料名称" ,"materialId"));
break;
case "customerId" :
entitys.add(new ExcelExportEntity("客户名称" ,"customerId"));
break;
entitys.add(new ExcelExportEntity("客户名称" ,"customerId"));
break;
case "salesId" :
entitys.add(new ExcelExportEntity("销售合同" ,"salesId"));
break;
entitys.add(new ExcelExportEntity("销售合同" ,"salesId"));
break;
case "vehicleId" :
entitys.add(new ExcelExportEntity("车牌号" ,"vehicleId"));
break;
entitys.add(new ExcelExportEntity("车牌号" ,"vehicleId"));
break;
case "vehiclePictures" :
entitys.add(new ExcelExportEntity("车辆图片" ,"vehiclePictures"));
break;
entitys.add(new ExcelExportEntity("车辆图片" ,"vehiclePictures"));
break;
case "poundDate" :
entitys.add(new ExcelExportEntity("磅单时间" ,"poundDate"));
break;
entitys.add(new ExcelExportEntity("磅单时间" ,"poundDate"));
break;
case "poundlistNo" :
entitys.add(new ExcelExportEntity("磅单号" ,"poundlistNo"));
break;
entitys.add(new ExcelExportEntity("磅单号" ,"poundlistNo"));
break;
case "tareWeight" :
entitys.add(new ExcelExportEntity("皮重" ,"tareWeight"));
break;
entitys.add(new ExcelExportEntity("皮重" ,"tareWeight"));
break;
case "grossWeight" :
entitys.add(new ExcelExportEntity("毛重" ,"grossWeight"));
break;
entitys.add(new ExcelExportEntity("毛重" ,"grossWeight"));
break;
case "buckleWeight" :
entitys.add(new ExcelExportEntity("扣重" ,"buckleWeight"));
break;
entitys.add(new ExcelExportEntity("扣重" ,"buckleWeight"));
break;
case "netWeight" :
entitys.add(new ExcelExportEntity("净重" ,"netWeight"));
break;
entitys.add(new ExcelExportEntity("净重" ,"netWeight"));
break;
case "unit" :
entitys.add(new ExcelExportEntity("单位 " ,"unit"));
break;
entitys.add(new ExcelExportEntity("单位 " ,"unit"));
break;
case "transportType" :
entitys.add(new ExcelExportEntity("运输类型" ,"transportType"));
break;
entitys.add(new ExcelExportEntity("运输类型" ,"transportType"));
break;
case "advance" :
entitys.add(new ExcelExportEntity("是否垫资" ,"advance"));
break;
entitys.add(new ExcelExportEntity("是否垫资" ,"advance"));
break;
case "transportPrice" :
entitys.add(new ExcelExportEntity("运费" ,"transportPrice"));
break;
entitys.add(new ExcelExportEntity("运费" ,"transportPrice"));
break;
case "salesPrice" :
entitys.add(new ExcelExportEntity("销售价格" ,"salesPrice"));
break;
case "creatorUserName" :
entitys.add(new ExcelExportEntity("业务员" ,"creatorUserName"));
break;
entitys.add(new ExcelExportEntity("销售价格" ,"salesPrice"));
break;
case "businessId" :
entitys.add(new ExcelExportEntity("业务员" ,"businessId"));
break;
case "naturalId" :
entitys.add(new ExcelExportEntity("自然人" ,"naturalId"));
break;
entitys.add(new ExcelExportEntity("自然人" ,"naturalId"));
break;
case "remark" :
entitys.add(new ExcelExportEntity("备注" ,"remark"));
break;
entitys.add(new ExcelExportEntity("备注" ,"remark"));
break;
case "creatorTime" :
entitys.add(new ExcelExportEntity("磅单日期" ,"creatorTime"));
break;
default:
break;
}
entitys.add(new ExcelExportEntity("磅单日期" ,"creatorTime"));
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";
@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);
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"));
vo.setName(name);
vo.setUrl(UploaderUtil.uploaderFile(userInfo.getId() + "#" + name + "#" + "Temporary"));
} catch (Exception e) {
log.error("信息导出Excel错误:{}", e.getMessage());
e.printStackTrace();
@ -306,7 +709,7 @@ public class TradeuploadController {
@Transactional
public ActionResult batchRemove(@PathVariable("ids") String ids){
String[] idList = ids.split(",");
int i =0;
int i =0;
for (String allId : idList){
this.delete(allId);
i++;
@ -314,16 +717,16 @@ public class TradeuploadController {
if (i == 0 ){
return ActionResult.fail("删除失败");
}
return ActionResult.success("删除成功");
return ActionResult.success("删除成功");
}
/**
*
*
* @param id
* @return
*/
*
*
* @param id
* @return
*/
@GetMapping("/{id}")
public ActionResult<TradeuploadInfoVO> info(@PathVariable("id") String id){
TradeuploadEntity entity= tradeuploadService.getInfo(id);
@ -332,54 +735,54 @@ public class TradeuploadController {
vo.setCreatorTime(vo.getCreatorTime());
}
//子表
//副表
//子表
//副表
return ActionResult.success(vo);
}
/**
* ()
*
* @param id
* @return
*/
* ()
*
* @param id
* @return
*/
@GetMapping("/detail/{id}")
public ActionResult<TradeuploadInfoVO> detailInfo(@PathVariable("id") String id){
TradeuploadEntity entity= tradeuploadService.getInfo(id);
TradeuploadInfoVO vo=JsonUtil.getJsonToBean(entity, TradeuploadInfoVO.class);
//子表数据转换
//子表数据转换
//附表数据转换
//附表数据转换
//添加到详情表单对象中
vo.setPoundPictures(generaterSwapUtil.getFileNameInJson(vo.getPoundPictures()));
Map<String,Object> materialIdMap = new HashMap<>();
vo.setMaterialId(generaterSwapUtil.getPopupSelectValue("381037852907038533","id","description",vo.getMaterialId(),materialIdMap));
Map<String,Object> customerIdMap = new HashMap<>();
vo.setCustomerId(generaterSwapUtil.getPopupSelectValue("395936123471343749","id","supplier_nm",vo.getCustomerId(),customerIdMap));
Map<String,Object> salesIdMap = new HashMap<>();
vo.setSalesId(generaterSwapUtil.getPopupSelectValue("381037852907038533","id","contract_name",vo.getSalesId(),salesIdMap));
Map<String,Object> vehicleIdMap = new HashMap<>();
vo.setVehicleId(generaterSwapUtil.getPopupSelectValue("381432451370615173","id","ticketno",vo.getVehicleId(),vehicleIdMap));
vo.setVehiclePictures(generaterSwapUtil.getFileNameInJson(vo.getVehiclePictures()));
Map<String,Object> creatorUserNameMap = new HashMap<>();
vo.setCreatorUserName(generaterSwapUtil.getPopupSelectValue("ebcc44be142e43b795c0d769abd6d25a","F_RealName","F_RealName",vo.getCreatorUserName(),creatorUserNameMap));
Map<String,Object> naturalIdMap = new HashMap<>();
vo.setNaturalId(generaterSwapUtil.getPopupSelectValue("395933800510599301","id","name",vo.getNaturalId(),naturalIdMap));
vo.setPoundPictures(generaterSwapUtil.getFileNameInJson(vo.getPoundPictures()));
Map<String,Object> materialIdMap = new HashMap<>();
vo.setMaterialId(generaterSwapUtil.getPopupSelectValue("381037852907038533","id","item_name",vo.getMaterialId(),materialIdMap));
Map<String,Object> customerIdMap = new HashMap<>();
vo.setCustomerId(generaterSwapUtil.getPopupSelectValue("395936123471343749","id","supplier_nm",vo.getCustomerId(),customerIdMap));
Map<String,Object> salesIdMap = new HashMap<>();
vo.setSalesId(generaterSwapUtil.getPopupSelectValue("381037852907038533","id","contract_name",vo.getSalesId(),salesIdMap));
Map<String,Object> vehicleIdMap = new HashMap<>();
vo.setVehicleId(generaterSwapUtil.getPopupSelectValue("381432451370615173","id","ticketno",vo.getVehicleId(),vehicleIdMap));
vo.setVehiclePictures(generaterSwapUtil.getFileNameInJson(vo.getVehiclePictures()));
Map<String,Object> businessIdMap = new HashMap<>();
vo.setBusinessId(generaterSwapUtil.getPopupSelectValue("ebcc44be142e43b795c0d769abd6d25a","F_Id","F_RealName",vo.getBusinessId(),businessIdMap));
Map<String,Object> naturalIdMap = new HashMap<>();
vo.setNaturalId(generaterSwapUtil.getPopupSelectValue("395933800510599301","id","name",vo.getNaturalId(),naturalIdMap));
return ActionResult.success(vo);
}
}
/**
*
*
* @param id
* @return
*/
/**
*
*
* @param id
* @return
*/
@PutMapping("/{id}")
@Transactional
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid TradeuploadUpForm tradeuploadUpForm) throws DataException {
@ -387,9 +790,16 @@ public class TradeuploadController {
TradeuploadEntity entity= tradeuploadService.getInfo(id);
if(entity!=null){
TradeuploadEntity subentity=JsonUtil.getJsonToBean(tradeuploadUpForm, TradeuploadEntity.class);
subentity.setCreatorTime(entity.getCreatorTime());
subentity.setCreatorTime(entity.getCreatorTime());
QueryWrapper<TradeuploadEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(TradeuploadEntity::getPoundlistNo,entity.getPoundlistNo());
queryWrapper.lambda().eq(TradeuploadEntity::getCustomerId,entity.getCustomerId());
List<TradeuploadEntity> list = tradeuploadService.list(queryWrapper);
if (list != null && list.size()>0 && !ObjectUtil.equal(id, list.get(0).getId())){
return ActionResult.fail("磅单重复");
}
tradeuploadService.update(id, subentity);
return ActionResult.success("更新成功");
return ActionResult.success("更新成功");
}else{
return ActionResult.fail("更新失败,数据不存在");
}
@ -397,12 +807,12 @@ public class TradeuploadController {
/**
*
*
* @param id
* @return
*/
/**
*
*
* @param id
* @return
*/
@DeleteMapping("/{id}")
@Transactional
public ActionResult delete(@PathVariable("id") String id){

@ -186,4 +186,5 @@ public class TradeuploadEntity {
@TableField("IS_EXPENSE")
private String isExpense;
}

@ -4,6 +4,8 @@ package jnpf.tradeupload.mapper;
import jnpf.tradeupload.entity.TradeuploadEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
*
* tradeupload
@ -13,5 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* 2023-02-16
*/
public interface TradeuploadMapper extends BaseMapper<TradeuploadEntity> {
List<TradeuploadEntity> queryVehicle(TradeuploadEntity tradeuploadEntity);
}

@ -2,7 +2,11 @@
package jnpf.tradeupload.model.tradeupload;
import com.baomidou.mybatisplus.annotation.TableField;
import jnpf.model.UploaderVO;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
@ -19,6 +23,10 @@ import com.fasterxml.jackson.annotation.JsonProperty;
@Data
public class TradeuploadCrForm {
/** 磅单上传 **/
@JsonProperty("id")
private String id;
/** 磅单上传 **/
@JsonProperty("poundPictures")
private String poundPictures;
@ -35,17 +43,25 @@ public class TradeuploadCrForm {
@JsonProperty("salesId")
private String salesId;
/** 销售合同 **/
@JsonProperty("salesName")
private String salesName;
/** 车牌号 **/
@JsonProperty("vehicleId")
private String vehicleId;
/** 车牌号 **/
@JsonProperty("vehicleName")
private String vehicleName;
/** 车辆图片 **/
@JsonProperty("vehiclePictures")
private String vehiclePictures;
/** 磅单时间 **/
@JsonProperty("poundDate")
private Long poundDate;
private Date poundDate;
/** 磅单号 **/
@JsonProperty("poundlistNo")
@ -88,8 +104,12 @@ public class TradeuploadCrForm {
private String salesPrice;
/** 业务员 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
@JsonProperty("businessId")
private String businessId;
/** 业务员 **/
@JsonProperty("businessName")
private String businessName;
/** 自然人 **/
@JsonProperty("naturalId")
@ -103,6 +123,18 @@ public class TradeuploadCrForm {
@JsonProperty("creatorTime")
private String creatorTime;
/** 客户ID **/
@TableField(exist = false)
private String clientId;
/** 客户名称 **/
@JsonProperty("customerName")
private String customerName;
/** 备注 **/
@JsonProperty("vo")
private UploaderVO vo;
}

@ -92,8 +92,8 @@ public class TradeuploadInfoVO{
private String salesPrice;
/** 业务员 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
@JsonProperty("businessId")
private String businessId;
/** 自然人 **/
@JsonProperty("naturalId")

@ -111,8 +111,8 @@ public class TradeuploadListVO{
/** 业务员 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
@JsonProperty("businessId")
private String businessId;
/** 自然人 **/

@ -109,8 +109,8 @@ public class TradeuploadUpForm{
/** 业务员 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
@JsonProperty("businessId")
private String businessId;
/** 自然人 **/

@ -16,7 +16,7 @@ public interface TradeuploadService extends IService<TradeuploadEntity> {
List<TradeuploadEntity> getList(TradeuploadPagination tradeuploadPagination);
List<TradeuploadEntity> getTypeList(TradeuploadPagination tradeuploadPagination,String dataType);
List<TradeuploadEntity> getTypeList(TradeuploadPagination tradeuploadPagination, String dataType);
@ -26,7 +26,9 @@ public interface TradeuploadService extends IService<TradeuploadEntity> {
void create(TradeuploadEntity entity);
boolean update( String id, TradeuploadEntity entity);
boolean update(String id, TradeuploadEntity entity);
List<TradeuploadEntity> queryVehicleInfo(TradeuploadEntity tradeuploadEntity);
// 子表方法

@ -30,6 +30,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.text.SimpleDateFormat;
import jnpf.util.*;
import javax.annotation.Resource;
import java.util.*;
/**
@ -50,6 +52,9 @@ public class TradeuploadServiceImpl extends ServiceImpl<TradeuploadMapper, Trade
@Autowired
private AuthorizeService authorizeService;
@Resource
private TradeuploadMapper tradeuploadMapper;
@ -61,6 +66,8 @@ public class TradeuploadServiceImpl extends ServiceImpl<TradeuploadMapper, Trade
int total=0;
int tradeuploadNum =0;
QueryWrapper<TradeuploadEntity> tradeuploadQueryWrapper=new QueryWrapper<>();
tradeuploadQueryWrapper.lambda().eq(TradeuploadEntity::getIsExamine,"0");
tradeuploadQueryWrapper.lambda().eq(TradeuploadEntity::getPoundType,"0");
boolean pcPermission = false;
boolean appPermission = false;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
@ -230,6 +237,12 @@ public class TradeuploadServiceImpl extends ServiceImpl<TradeuploadMapper, Trade
entity.setId(id);
return this.updateById(entity);
}
@Override
public List<TradeuploadEntity> queryVehicleInfo(TradeuploadEntity tradeuploadEntity) {
return tradeuploadMapper.queryVehicle(tradeuploadEntity) ;
}
@Override
public void delete(TradeuploadEntity entity){
if(entity!=null){

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="jnpf.purchasement.mapper.PurchasementMapper">
</mapper>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="jnpf.purchasement.mapper.Purchasement_item0Mapper">
</mapper>

@ -2,6 +2,17 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="jnpf.tradeupload.mapper.TradeuploadMapper">
<select id="queryVehicle" resultType="jnpf.tradeupload.entity.TradeuploadEntity">
select
*
from
jg_poundlist
where
vehicle_id = #{vehicleId} and
gross_weight = #{grossWeight} and
tare_weight = #{tareWeight} and
net_weight = #{netWeight} and
creator_time = DATE_SUB(NOW(),interval 15 day)
</select>
</mapper>

21429
SC-web/package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -22,13 +22,13 @@
<div>
<el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">
</el-button>
<el-button type="text" icon="el-icon-download" @click="exportData()">
</el-button>
<el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()">
</el-button>
<!-- <el-button type="text" icon="el-icon-download" @click="exportData()">-->
<!-- </el-button>-->
<!-- <el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()">-->
<!-- </el-button>-->
<el-button type="text" icon="el-icon-plus" @click="1">
</el-button>
<el-button type="text" icon="el-icon-plus" @click="1">
<el-button type="text" icon="el-icon-plus" @click="1">
</el-button>
<el-button type="text" icon="el-icon-plus" @click="1">
</el-button>
@ -81,17 +81,17 @@
<el-table-column prop="creatorUserName" label="制单人" width="120" sortable align="center"
/>
<el-table-column label="操作" fixed="right"
width="150">
<el-table-column label="操作" fixed="right" align="center"
width="200">
<template slot-scope="scope">
<el-button type="text"
@click="addOrUpdateHandle(scope.row.id)">编辑
</el-button>
<el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)">
</el-button>
<el-button type="text"
@click="goDetail(scope.row.id)">详情
</el-button>
<!-- <el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)">-->
<!-- </el-button>-->
<!-- <el-button type="text"-->
<!-- @click="goDetail(scope.row.id)">详情-->
<!-- </el-button>-->
<el-button type="text"
@click="goDetail">撤回申请
</el-button>

@ -404,6 +404,15 @@
data[key] = "";
}
}
// request({
// url: '/api/collection/Collection/autoCreate',
// method: 'get'
// }).then(res => {
// debugger
// this.dataForm.documentNo = res.msg
// debugger
// this.loading = false
// });
},
init(id, isDetail) {
this.dataForm.id = id || 0;

@ -79,6 +79,12 @@
</el-button>
<el-button type="text" @click="goDetail(scope.row.id)">
</el-button>
<el-button type="text" @click="">撤回申请</el-button>
<el-button type="text" @click="">审核</el-button>
<el-button type="text" @click="">弃审</el-button>
<el-button type="text" @click="">提交</el-button>
</template>
</el-table-column>
</JNPF-table>
@ -349,7 +355,20 @@
})
return
}
let id = this.multipleSelection.join()
let ids = this.multipleSelection.join()
if (this.multipleSelection.length === 1) {
let info = {}
info = this.list.find(function(info) {
return info.id == ids
})
if (info.status != 2) {
this.$message({
type: 'error',
message: '审核中,请先通过审核',
duration: 1500
})
return
}
let param = {};
param = this.list.find(function(param) {
debugger
@ -368,6 +387,14 @@
}
});
})
if (this.multipleSelection.length > 1) {
this.$message({
type: 'error',
message: '请选择单条数据',
duration: 1500
})
}
}
},
addOrUpdateHandle(id, isDetail) {
this.formVisible = true

@ -430,24 +430,24 @@
contractTypeOptions: [{
"fullName": "采购合同",
"id": "1"
"id": "0"
}, {
"fullName": "销售合同",
"id": "2"
"id": "1"
},
{
"fullName": "租赁合同",
"id": "3"
"id": "2"
}, {
"fullName": "仓储合同",
"id": "4"
"id": "3"
}, {
"fullName": "运输合同",
"id": "5"
"id": "4"
},
{
"fullName": "施工合同",
"id": "6"
"id": "5"
}
],
rateOptions:[

@ -25,8 +25,8 @@
<div class="JNPF-common-layout-main JNPF-flex-main">
<div class="JNPF-common-head">
<div>
<!-- <el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">-->
<!-- </el-button>-->
<el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">
</el-button>
<!-- <el-button type="text" icon="=el-icon-detail" @click="goDetail(scope.row.id)">-->
<!-- </el-button>-->
<el-button type="text" icon="el-icon-download" @click="exportData()">

@ -2,96 +2,96 @@
<el-dialog title="详情"
:close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
width="600px">
width="1000px">
<el-row :gutter="15" class="">
<el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" >
<template v-if="!loading">
<el-col :span="24" >
<el-form-item label="客户编码"
<el-form-item label="客户编码"
prop="supplierCd" >
<p>{{dataForm.supplierCd}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="客户名称"
<el-form-item label="客户名称"
prop="supplierNm" >
<p>{{dataForm.supplierNm}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="公司ID"
<el-form-item label="公司ID"
prop="orgId" >
<p>{{dataForm.orgId}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="纳税编号"
<el-form-item label="纳税编号"
prop="vatRegistrationNum" >
<p>{{dataForm.vatRegistrationNum}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="客户等级"
<el-form-item label="客户等级"
prop="customerLevel" >
<p>{{ dataForm.customerLevel | dynamicText(customerLevelOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="联系人"
<el-form-item label="联系人"
prop="contactName" >
<p>{{dataForm.contactName}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="国家"
<el-form-item label="国家"
prop="country" >
<p>{{dataForm.country}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="电话"
<el-form-item label="电话"
prop="contactPhone" >
<p>{{dataForm.contactPhone}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="省市县"
<el-form-item label="省市县"
prop="province" >
<p>{{dataForm.province}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="开户行"
<el-form-item label="开户行"
prop="bank" >
<p>{{dataForm.bank}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="是否启用"
<el-form-item label="是否启用"
prop="status" >
<p>{{ dataForm.status | dynamicText(statusOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="银行账号"
<el-form-item label="银行账号"
prop="bankAccount" >
<p>{{dataForm.bankAccount}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="企业性质"
<el-form-item label="企业性质"
prop="enterprise" >
<p>{{ dataForm.enterprise | dynamicText(enterpriseOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="地址"
<el-form-item label="地址"
prop="address" >
<p>{{dataForm.address}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="客户分类"
<el-form-item label="客户分类"
prop="classification" >
<p>{{ dataForm.classification | dynamicText(classificationOptions) }} </p>
</el-form-item>

@ -20,11 +20,11 @@
<div class="JNPF-common-layout-main JNPF-flex-main">
<div class="JNPF-common-head">
<div>
<el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">
</el-button>
<!-- <el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">-->
<!-- </el-button>-->
<el-button type="text" icon="el-icon-download" @click="">编辑
</el-button>
<el-button type="text" icon="el-icon-download" @click="">查看
<el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()">
</el-button>
<el-button type="text" icon="el-icon-download" @click="">审核
</el-button>
@ -33,8 +33,6 @@
<el-button type="text" icon="el-icon-download" @click="">提交
</el-button>
<el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()">
</el-button>
</div>
<div class="JNPF-common-head-right">
<el-tooltip effect="dark" content="刷新" placement="top">
@ -51,6 +49,8 @@
/>
<el-table-column prop="documentNo" label="单据编号" width="200" align="center" fixed="left" sortable
/>
<el-table-column prop="purchaseorderId" label="采购订单号" width="200" align="center" fixed="left" sortable
/>
<el-table-column prop="amount" label="金额" width="150" align="center" sortable
/>
<el-table-column prop="quantity" label="数量" width="120" align="center" sortable
@ -70,7 +70,10 @@
{{ scope.row.invoiceType | dynamicText(invoiceTypeOptions) }}
</template>
</el-table-column>
<el-table-column prop="contractId" label="合同名称" width="120" align="center" sortable
/>
<el-table-column prop="supplierId" label="供应商" width="200" align="center" sortable
/>
<el-table-column label="单据状态" width="120" sortable prop="status" align="center">
<template slot-scope="scope">
{{ scope.row.status | dynamicText(statusOptions) }}
@ -79,17 +82,17 @@
<el-table-column prop="creatorUserName" label="制单人" width="120" align="center" sortable
/>
<el-table-column label="操作" fixed="right"
<el-table-column label="操作" fixed="right" align="center"
width="200">
<template slot-scope="scope">
<el-button type="text"
@click="addOrUpdateHandle(scope.row.id)">编辑
</el-button>
<el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)">
</el-button>
<el-button type="text"
@click="goDetail(scope.row.id)">详情
</el-button>
<!-- <el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)">-->
<!-- </el-button>-->
<!-- <el-button type="text"-->
<!-- @click="goDetail(scope.row.id)">详情-->
<!-- </el-button>-->
<el-button type="text"
@click="">撤回申请

@ -7,98 +7,98 @@
<el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" >
<template v-if="!loading">
<el-col :span="8" >
<el-form-item label="单据编号"
<el-form-item label="单据编号"
prop="documentno" >
<p>{{dataForm.documentno}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="供应商"
<el-form-item label="供应商"
prop="suppliername" >
<p>{{dataForm.suppliername}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="付款类型"
<el-form-item label="付款类型"
prop="paymenttype" >
<p>{{ dataForm.paymenttype | dynamicText(paymenttypeOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="付款账户"
<el-form-item label="付款账户"
prop="paymentaccount" >
<p>{{dataForm.paymentaccount}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="付款银行"
<el-form-item label="付款银行"
prop="paymentbank" >
<p>{{dataForm.paymentbank}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="付款金额"
<el-form-item label="付款金额"
prop="paymentamount" >
<p>{{dataForm.paymentamount}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="收款账户"
<el-form-item label="收款账户"
prop="collectionaccount" >
<p>{{dataForm.collectionaccount}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="收款银行"
<el-form-item label="收款银行"
prop="collectionbank" >
<p>{{dataForm.collectionbank}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="申请金额"
<el-form-item label="申请金额"
prop="requestedamount" >
<p>{{dataForm.requestedamount}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="应付日期"
<el-form-item label="应付日期"
prop="duedate" >
<p>{{jnpf.dateFormat(dataForm.duedate)}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="币别 "
<el-form-item label="币别 "
prop="currency" >
<p>{{ dataForm.currency | dynamicText(currencyOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="结算类型"
<el-form-item label="结算类型"
prop="settlementtype" >
<p>{{ dataForm.settlementtype | dynamicText(settlementtypeOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="来源单号"
<el-form-item label="来源单号"
prop="paymentno" >
<p>{{dataForm.paymentno}}</p>
</el-form-item>
</el-col>
<el-col :span="16" >
<el-form-item label="备注"
<el-form-item label="备注"
prop="remark" >
<p>{{dataForm.remark}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="单据状态"
<el-form-item label="单据状态"
prop="status" >
<p>{{ dataForm.status | dynamicText(statusOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="24">
<el-tabs v-model="activeivpzpd" tab-position="top" class="mb-20">
<el-tab-pane label="Tab 1">
<el-tab-pane label="申请明细">
<el-col :span="24" >
<el-form-item label-width="0">
<div class="JNPF-common-title">

@ -126,7 +126,7 @@
<div class="JNPF-common-title">
<h2></h2>
</div>
<el-table :data="dataForm.payment_item0List" size='mini' show-summary>
<el-table :data="dataForm.payment_item0List" size='mini' show-summary :summary-method="getSummaries" >
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column prop="amount" label="付款金额" align="center" >
<template slot-scope="scope">
@ -154,7 +154,7 @@
</el-input>
</template>
</el-table-column> -->
<el-table-column prop="payPrice" label="已付金额" align="center" >
<el-table-column prop="payPrice" label="已付金额" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.payPrice" placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
@ -243,6 +243,7 @@
props: [],
data() {
return {
excludeFields: [],
visible: false,
loading: false,
isDetail: false,
@ -336,7 +337,15 @@
}
},
computed: {},
watch: {},
watch: {
dataForm: {
deep: true,
handler: function() {
this.popupSelect()
}
}
},
created() {},
mounted() {},
methods: {
@ -349,7 +358,7 @@
return;
}
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
if (!values.every(value => isNaN(value)) && (index === 1 || index === 2 || index === 5 || index === 6|| index === 7|| index === 8 )) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
@ -365,6 +374,15 @@
return sums;
},
popupSelect() {
let amount = 0
for (let i = 0; i < this.dataForm.payment_item0List.length; i++) {
amount = amount + parseFloat(this.dataForm.payment_item0List[i].amount);
}
parseFloat(this.dataForm.paymentamount = amount)
},
payment_item0Exist() {
let isOk = true;
for (let i = 0; i < this.dataForm.payment_item0List.length; i++) {

@ -80,6 +80,10 @@
</el-button>
<el-button type="text" @click="goDetail(scope.row.id)">
</el-button>
<el-button type="text" @click="">撤回申请</el-button>
<el-button type="text" @click="">审核</el-button>
<el-button type="text" @click="">弃审</el-button>
<el-button type="text" @click="">提交</el-button>
</template>
</el-table-column>
</JNPF-table>
@ -355,6 +359,19 @@
return
}
let id = this.multipleSelection.join()
if (this.multipleSelection.length === 1) {
let info = {}
info = this.list.find(function(info) {
return info.id == id
})
if (info.status != 2) {
this.$message({
type: 'error',
message: '审核中,请先通过审核',
duration: 1500
})
return
}
let param = {};
param = this.list.find(function(param) {
debugger
@ -373,6 +390,14 @@
}
});
})
}
if (this.multipleSelection.length > 1) {
this.$message({
type: 'error',
message: '请选择单条数据',
duration: 1500
})
}
},
addOrUpdateHandle(id, isDetail) {
this.formVisible = true

@ -118,35 +118,35 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="付款金额"
prop="paymentAmount">
<el-input v-model="dataForm.paymentAmount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<!-- <el-col :span="8">-->
<!-- <el-form-item label="付款金额"-->
<!-- prop="paymentAmount">-->
<!-- <el-input v-model="dataForm.paymentAmount"-->
<!-- placeholder="请输入" clearable :style='{"width":"100%"}'>-->
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="未付款金额"
prop="unpaymentAmount">
<el-input v-model="dataForm.unpaymentAmount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="8">-->
<!-- <el-form-item label="未付款金额"-->
<!-- prop="unpaymentAmount">-->
<!-- <el-input v-model="dataForm.unpaymentAmount"-->
<!-- placeholder="请输入" clearable :style='{"width":"100%"}'>-->
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单据状态 "
prop="status">
<el-select v-model="dataForm.status"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in statusOptions" :key="index" :label="item.fullName" :value="item.id"
:disabled="item.disabled"></el-option>
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="8">-->
<!-- <el-form-item label="单据状态 "-->
<!-- prop="status">-->
<!-- <el-select v-model="dataForm.status"-->
<!-- placeholder="请选择" clearable :style='{"width":"100%"}'>-->
<!-- <el-option v-for="(item, index) in statusOptions" :key="index" :label="item.fullName" :value="item.id"-->
<!-- :disabled="item.disabled"></el-option>-->
</el-select>
</el-form-item>
</el-col>
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="24">
<el-tabs v-model="activeshpeyb" tab-position="top" class="mb-20">
<el-tab-pane label="申请明细">

@ -33,18 +33,17 @@
<el-button type="text" icon="el-icon-check" @click="addOrUpdateHandle(scope.row.id)">
</el-button>
<el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">
</el-button>
<el-button type="text" icon="el-icon-download" @click="exportData()">
</el-button>
<!-- <el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">-->
<!-- </el-button>-->
<el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()">
</el-button>
<!-- <el-button type="text" icon="el-icon-download" @click="exportData()">-->
<!-- </el-button>-->
<el-button type="text" icon="el-icon-check" @click="3">
</el-button>
<el-button type="text" icon="el-icon-close" @click="3">
</el-button>
<el-button type="success" size="medium" @click="paymentapply()">
<el-button type="text" icon="el-icon-check" size="medium" @click="paymentapply()">
</el-button>
</div>
<div class="JNPF-common-head-right">
@ -104,7 +103,7 @@
</el-table-column>
<el-table-column prop="creatorUserName" label="制单人" width="100" align="center"sortable
/>
<el-table-column label="操作" fixed="right"
<el-table-column label="操作" fixed="right" align="center"
width="200">
<template slot-scope="scope">
<el-button type="text" @click="addOrUpdateHandle(scope.row.id)">

@ -2,66 +2,66 @@
<el-dialog title="详情"
:close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
width="600px">
width="1000px">
<el-row :gutter="15" class="">
<el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" >
<template v-if="!loading">
<el-col :span="8" >
<el-form-item label="单据编号"
<el-form-item label="单据编号"
prop="documentNo" >
<p>{{dataForm.documentNo}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="业务类型"
<el-form-item label="业务类型"
prop="type" >
<p>{{ dataForm.type | dynamicText(typeOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="来源单号"
<el-form-item label="来源单号"
prop="sourceNo" >
<p>{{dataForm.sourceNo}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="出库金额"
<el-form-item label="出库金额"
prop="amount" >
<p>{{dataForm.amount}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="币别"
<el-form-item label="币别"
prop="currency" >
<p>{{ dataForm.currency | dynamicText(currencyOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="出库数量"
<el-form-item label="出库数量"
prop="num" >
<p>{{dataForm.num}}</p>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="客户名称"
<el-form-item label="客户名称"
prop="customerName" >
<p>{{dataForm.customerName}}</p>
</el-form-item>
</el-col>
<el-col :span="16" >
<el-form-item label="备注"
<el-form-item label="备注"
prop="remark" >
<p>{{dataForm.remark}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="出库日期"
<el-form-item label="出库日期"
prop="issueDate" >
<p>{{jnpf.dateFormat(dataForm.issueDate)}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="单据状态"
<el-form-item label="单据状态"
prop="status" >
<p>{{ dataForm.status | dynamicText(statusOptions) }} </p>
</el-form-item>
@ -71,9 +71,9 @@
<el-tab-pane label="磅单明细">
<el-col :span="24" >
<el-form-item label-width="0">
<div class="JNPF-common-title">
<h2>设计子表</h2>
</div>
<!-- <div class="JNPF-common-title">-->
<!-- <h2>设计子表</h2>-->
<!-- </div>-->
<el-table :data="dataForm.receiptout_item0List" size='mini' >
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column prop="licenseNo" label="车牌号">

@ -142,7 +142,7 @@
:bissId="dataForm.contractCode" :columnOptions="salesorder_item0licenseNumcolumnOptions"
propsValue="license_no" relationField="license_no" popupType="dialog"
@change="popupSelectChange2" popupWidth="800px">
</popupSelect>
</template>
</el-table-column>

@ -7,7 +7,7 @@
<el-form ref="elForm" :model="dataForm" size="small" label-width="100px" label-position="right" >
<template v-if="!loading">
<el-col :span="24" >
<el-form-item label="磅单上传"
<el-form-item label="磅单上传"
prop="poundPictures" >
<JNPF-UploadFz v-model="dataForm.poundPictures"
disabled
@ -16,31 +16,31 @@
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="物料名称"
<el-form-item label="物料名称"
prop="materialId" >
<p>{{dataForm.materialId}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="客户名称"
<el-form-item label="客户名称"
prop="customerId" >
<p>{{dataForm.customerId}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="销售合同"
<el-form-item label="销售合同"
prop="salesId" >
<p>{{dataForm.salesId}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="车牌号"
<el-form-item label="车牌号"
prop="vehicleId" >
<p>{{dataForm.vehicleId}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="车辆图片"
<el-form-item label="车辆图片"
prop="vehiclePictures" >
<JNPF-UploadImg v-model="dataForm.vehiclePictures"
disabled
@ -49,91 +49,91 @@
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="磅单时间"
<el-form-item label="磅单时间"
prop="poundDate" >
<p>{{jnpf.dateFormat(dataForm.poundDate)}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="磅单号"
<el-form-item label="磅单号"
prop="poundlistNo" >
<p>{{dataForm.poundlistNo}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="皮重"
<el-form-item label="皮重"
prop="tareWeight" >
<p>{{dataForm.tareWeight}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="毛重"
<el-form-item label="毛重"
prop="grossWeight" >
<p>{{dataForm.grossWeight}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="扣重"
<el-form-item label="扣重"
prop="buckleWeight" >
<p>{{dataForm.buckleWeight}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="净重"
<el-form-item label="净重"
prop="netWeight" >
<p>{{dataForm.netWeight}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="单位 "
<el-form-item label="单位 "
prop="unit" >
<p>{{ dataForm.unit | dynamicText(unitOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="运输类型"
<el-form-item label="运输类型"
prop="transportType" >
<p>{{ dataForm.transportType | dynamicText(transportTypeOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="是否垫资"
<el-form-item label="是否垫资"
prop="advance" >
<p>{{ dataForm.advance | dynamicText(advanceOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="运费"
<el-form-item label="运费"
prop="transportPrice" >
<p>{{dataForm.transportPrice}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="销售价格"
<el-form-item label="销售价格"
prop="salesPrice" >
<p>{{dataForm.salesPrice}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="业务员"
prop="creatorUserName" >
<p>{{dataForm.creatorUserName}}</p>
<el-form-item label="业务员"
prop="businessId" >
<p>{{dataForm.businessId}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="自然人"
<el-form-item label="自然人"
prop="naturalId" >
<p>{{dataForm.naturalId}}</p>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="备注"
<el-form-item label="备注"
prop="remark" >
<p>{{dataForm.remark}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="磅单日期"
<el-form-item label="磅单日期"
prop="creatorTime" >
<p>{{dataForm.creatorTime}}</p>
</el-form-item>
@ -178,7 +178,7 @@
advance : "0",
transportPrice : 0,
salesPrice : '',
creatorUserName : "",
businessId : "",
naturalId : "",
remark : '',
creatorTime : "",

File diff suppressed because it is too large Load Diff

@ -0,0 +1,745 @@
<template>
<el-dialog :title="!dataForm.id ? '新建' : isDetail ? '详情':'编辑'" :close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll width="1500px">
<el-row :gutter="15" class="">
<el-form ref="elForm" :model="dataForm" :rules="rules" size="small" label-width="100px" label-position="right">
<template v-if="!loading">
<el-col :span="24">
<el-form-item label="磅单上传" prop="poundPictures">
<el-upload class="avatar-uploader" :action="action" :show-file-list="false"
:on-success="handleAvatarSuccess">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="物料名称" prop="materialId">
<popupSelect v-model="dataForm.materialId" placeholder="请选择物料编码" clearable field="materialId"
interfaceId="381037852907038533" :columnOptions="materialIdcolumnOptions" propsValue="id"
relationField="item_name" popupType="dialog" popupTitle="选择数据" popupWidth="800px" hasPage
:pageSize="20">
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户名称" prop="customerId">
<popupSelect v-model="dataForm.customerId" placeholder="请选择客户" clearable field="customerId"
interfaceId="395936123471343749" :columnOptions="customerIdcolumnOptions" propsValue="id"
relationField="supplier_nm" popupType="dialog" popupTitle="选择数据" popupWidth="800px" hasPage
:pageSize="20" @change="customerSelect">
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="销售合同" prop="salesId">
<popupSelect v-model="dataForm.salesId" placeholder="请选择合同" clearable field="salesId"
interfaceId="396203872441416837" :columnOptions="salesIdcolumnOptions" propsValue="id"
relationField="contract_name" popupType="dialog" popupTitle="选择数据" popupWidth="800px" :bissId="dataForm.customerId"
hasPage :pageSize="20">
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="供应商" prop="supplierId">
<popupSelect v-model="dataForm.supplierId" placeholder="请选择客户" clearable field="supplierId"
interfaceId="395936123471343749" :columnOptions="supplierIdcolumnOptions" propsValue="id"
relationField="supplier_nm" popupType="dialog" popupTitle="选择数据" popupWidth="800px" hasPage
:pageSize="20" @change="customerSelect">
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="采购合同" prop="salesId">
<popupSelect v-model="dataForm.salesId" placeholder="请选择合同" clearable field="salesId"
interfaceId="396203872441416837" :columnOptions="salesIdcolumnOptions" propsValue="id"
relationField="contract_name" popupType="dialog" popupTitle="选择数据" popupWidth="800px" :bissId="dataForm.supplierId"
hasPage :pageSize="20">
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="采购价格" prop="purchasePrice">
<el-input-number v-model="dataForm.purchasePrice" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车牌号" prop="vehicleId">
<popupSelect v-model="dataForm.vehicleId" placeholder="请选择车辆" clearable field="vehicleId"
interfaceId="381432451370615173" :columnOptions="vehicleIdcolumnOptions" propsValue="id"
relationField="ticketno" popupType="dialog" popupTitle="选择数据" popupWidth="800px" @change="changePicture"
hasPage :pageSize="20">
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="车辆图片" prop="vehiclePictures">
<JNPF-UploadImg v-model="dataForm.vehiclePictures" :fileSize="500" sizeUnit="MB" :limit="9">
</JNPF-UploadImg>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="磅单时间" prop="poundDate">
<el-date-picker v-model="dataForm.poundDate" placeholder="请选择" clearable :style='{"width":"100%"}'
type="date" format="yyyy-MM-dd" value-format="timestamp">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="磅单号" prop="poundlistNo">
<el-input v-model="dataForm.poundlistNo" placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="皮重" prop="tareWeight">
<el-input-number v-model="dataForm.tareWeight" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="毛重" prop="grossWeight">
<el-input-number v-model="dataForm.grossWeight" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="扣重" prop="buckleWeight">
<el-input-number v-model="dataForm.buckleWeight" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="净重" prop="netWeight">
<el-input-number v-model="dataForm.netWeight" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位 " prop="unit">
<el-select v-model="unit" placeholder="请选择" clearable :style='{"width":"100%"}' @change="unitChange">
<el-option v-for="(item, index) in unitOptions" :key="index" :label="item.fullName" :value="item.id"
:disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="运输类型" prop="transportType">
<el-select v-model="transportType" placeholder="请选择" clearable :style='{"width":"100%"}' @change="transportTypeChange">
<el-option v-for="(item, index) in transportTypeOptions" :key="index" :label="item.fullName"
:value="item.id" :disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否垫资" prop="advance">
<el-select v-model="advance" placeholder="请选择" clearable :style='{"width":"100%"}' @change="advanceChange">
<el-option v-for="(item, index) in advanceOptions" :key="index" :label="item.fullName" :value="item.id"
:disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="运费" prop="transportPrice">
<el-input-number v-model="dataForm.transportPrice" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="销售价格" prop="salesPrice">
<el-input-number v-model="dataForm.salesPrice" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="业务员" prop="businessId">
<popupSelect v-model="dataForm.businessId" placeholder="请选择业务员" clearable field="businessId"
interfaceId="ebcc44be142e43b795c0d769abd6d25a" :columnOptions="businessIdcolumnOptions"
propsValue="F_Id" relationField="F_RealName" popupType="dialog" popupTitle="选择数据" popupWidth="800px"
hasPage :pageSize="20" :bissId="dataForm.businessId">
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="自然人" prop="naturalId">
<popupSelect v-model="dataForm.naturalId" placeholder="请选择自然人" clearable field="naturalId"
interfaceId="395933800510599301" :columnOptions="naturalIdcolumnOptions" propsValue="id"
relationField="name" popupType="dialog" popupTitle="选择数据" popupWidth="800px" hasPage :pageSize="20">
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="dataForm.remark" placeholder="请输入备注信息" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
</template>
</el-form>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false"> </el-button>
<el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail"> </el-button>
<el-button type="primary" @click="continueUpload()"> </el-button>
</span>
</el-dialog>
</template>
<script>
import request from '@/utils/request'
import {
getDataInterfaceRes
} from '@/api/systemData/dataInterface'
import {
getDictionaryDataSelector
} from '@/api/systemData/dictionary'
export default {
components: {},
props: [],
data() {
return {
unit: "0",
transportType: "0",
advance: "0",
action: this.define.APIURl + '/api/tradeupload/Tradeupload/UploaderPondList/annexpic',
imageUrl: '',
code: '100',
fileList: [],
visible: false,
loading: false,
isDetail: false,
dataForm: {
poundPictures: [],
materialId: "",
customerId: "",
supplierId: "",
salesId: "",
vehicleId: "",
vehiclePictures: [],
poundDate: '',
poundlistNo: '',
tareWeight: 0,
grossWeight: 0,
buckleWeight: 0,
netWeight: 0,
unit: "0",
transportType: "0",
advance: "0",
transportPrice: 0,
salesPrice: 0,
purchasePrice: 0,
businessId: "",
naturalId: "",
remark: '',
creatorTime: "",
},
rules: {
materialId: [{
required: true,
message: '请选择物料编码',
trigger: 'change'
}, ],
customerId: [{
required: true,
message: '请选择客户',
trigger: 'change'
}, ],
supplierId: [{
required: true,
message: '请选择供应商',
trigger: 'change'
}, ],
salesId: [{
required: true,
message: '请选择合同',
trigger: 'change'
}, ],
vehicleId: [{
required: true,
message: '请选择车辆',
trigger: 'change'
}, ],
vehiclePictures: [{
required: true,
message: '请至少选择一个',
trigger: 'click'
}, ],
poundDate: [{
required: true,
message: '请选择',
trigger: 'change'
}, ],
poundlistNo: [{
required: true,
message: '请输入',
trigger: 'blur'
}, ],
tareWeight: [{
required: true,
message: '请输入',
trigger: 'blur'
}, ],
grossWeight: [{
required: true,
message: '请输入',
trigger: 'blur'
}, ],
buckleWeight: [{
required: true,
message: '请输入',
trigger: 'blur'
}, ],
netWeight: [{
required: true,
message: '请输入',
trigger: 'blur'
}, ],
salesPrice: [{
required: true,
message: '请输入',
trigger: 'blur'
}, ],
purchasePrice: [{
required: true,
message: '请输入',
trigger: 'blur'
}, ],
businessId: [{
required: true,
message: '请选择业务员',
trigger: 'change'
}, ],
},
materialIdcolumnOptions: [{
"label": "物料编码",
"value": "item_code"
}, {
"label": "物料名称",
"value": "item_name"
}, {
"label": "单位",
"value": "primary_unit_of_measure"
}, {
"label": "默认入库区",
"value": "in_area"
}, {
"label": "默认出库区",
"value": "out_area"
}, ],
customerIdcolumnOptions: [{
"label": "客户编码",
"value": "supplier_cd"
}, {
"label": "客户名称",
"value": "supplier_nm"
}, {
"label": "地址",
"value": "address"
}, {
"label": "银行账号",
"value": "bank_account"
}, ],
supplierIdcolumnOptions: [{
"label": "供应商编码",
"value": "supplier_code"
}, {
"label": "供应商名称",
"value": "supplier_name"
}],
salesIdcolumnOptions: [{
"label": "合同编码",
"value": "contract_code"
}, {
"label": "合同名称",
"value": "contract_name"
}, {
"label": "合同类型",
"value": "contract_type"
}, {
"label": "供应商/客户名称",
"value": "name"
}, ],
vehicleIdcolumnOptions: [{
"label": "车牌号",
"value": "ticketno"
}, {
"label": "司机",
"value": "drivername"
}, {
"label": "车辆照片",
"value": "vehiclephotos"
}, {
"label": "手机号",
"value": "contact"
}, ],
unitOptions: [{
"fullName": "吨",
"id": "0"
}, {
"fullName": "千克",
"id": "1"
}],
transportTypeOptions: [{
"fullName": "汽运",
"id": "0"
}, {
"fullName": "船运",
"id": "1"
}, {
"fullName": "火车",
"id": "2"
}],
advanceOptions: [{
"fullName": "否",
"id": "0"
}, {
"fullName": "是",
"id": "1"
}],
businessIdcolumnOptions: [{
"label": "人员名称",
"value": "F_RealName"
}, {
"label": "人员职位",
"value": "F_FullName"
}, ],
naturalIdcolumnOptions: [{
"label": "自然人名称",
"value": "name"
}, {
"label": "自然人手机号",
"value": "contact"
}, {
"label": "自然人地址",
"value": "adress"
}, ],
}
},
computed: {},
watch: {},
created() {},
mounted() {},
methods: {
unitChange(e){
this.dataForm.unit = e;
},
transportTypeChange(e){
this.dataForm.transportType = e;
},
advanceChange(e){
this.dataForm.advance = e;
},
customerSelect(e, d) {
const query = {
code: d.id
}
request({
url: '/api/example/ContractFile/getListByCustomer',
method: 'post',
data: query
}).then((res) => {
if(res.data.length > 0){
// type
this.dataForm.salesId = res.data[0].id
this.dataForm.salesName = res.data[0].contractName
}
})
},
handleAvatarSuccess(res, file) {
this.imageUrl = URL.createObjectURL(file.raw);
this.dataForm.customerId = res.data.customerId;
this.dataForm.customerName = res.data.customerName;
this.dataForm.salesId = res.data.salesId;
this.dataForm.salesName = res.data.salesName;
this.dataForm.vehicleId = res.data.vehicleId;
this.dataForm.poundDate = res.data.poundDate;
this.dataForm.poundlistNo = res.data.poundlistNo;
this.dataForm.tareWeight = res.data.tareWeight;
this.dataForm.grossWeight = res.data.grossWeight;
this.dataForm.buckleWeight = res.data.buckleWeight;
this.dataForm.netWeight = res.data.netWeight;
this.dataForm.vehiclePictures = JSON.parse(res.data.vehiclePictures);
},
changePicture(a, b) {
this.dataForm.vehiclePictures = JSON.parse(b.vehiclephotos);
},
continueUpload() {
var tareWeight = this.dataForm.tareWeight;//
var grossWeight = this.dataForm.grossWeight;//
var buckleWeight = this.dataForm.buckleWeight;//
var netWeight = this.dataForm.netWeight;//
if(grossWeight < tareWeight + buckleWeight + netWeight){
this.$message({
message: '毛重不得小于皮重+扣重+净重',
type: 'success',
duration: 1000
})
return
}
if(buckleWeight >= netWeight){
this.$message({
message: '扣重不得大于净重',
type: 'success',
duration: 1000
})
return
}
if(buckleWeight >= grossWeight){
this.$message({
message: '扣重不得大于毛重',
type: 'success',
duration: 1000
})
return
}
this.$refs['elForm'].validate((valid) => {
if (valid) {
this.request3()
}
})
},
// poundAI(){
// let formData = new FormData();
// let file = this.dataForm.poundPictures
// formData.append('file',file);
// request({
// url: '/api/tradeupload/Tradeupload/poundai',
// method: 'post',
// data: formData
// }).then(res => {
// this.dataInfo(res.data)
// this.loading = false
// });
// },
clearData(data) {
for (let key in data) {
if (data[key] instanceof Array) {
data[key] = [];
} else if (data[key] instanceof Object) {
this.clearData(data[key]);
} else {
data[key] = "";
}
}
},
init(id, isDetail) {
this.dataForm.poundDate = new Date();
this.dataForm.id = id || 0;
this.visible = true;
this.isDetail = isDetail || false;
this.$nextTick(() => {
this.$refs['elForm'].resetFields();
if (this.dataForm.id) {
this.loading = true
request({
url: '/api/tradeupload/Tradeupload/' + this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
});
} else {
this.clearData(this.dataForm)
}
});
this.$store.commit('generator/UPDATE_RELATION_DATA', {})
this.dataForm.businessId = this.$store.state.user.userInfo.userId;
this.dataForm.businessName = this.$store.state.user.userInfo.userName;
},
//
dataFormSubmit() {
var tareWeight = this.dataForm.tareWeight;//
var grossWeight = this.dataForm.grossWeight;//
var buckleWeight = this.dataForm.buckleWeight;//
var netWeight = this.dataForm.netWeight;//
this.dataForm.unit = this.dataForm.unit ? this.dataForm.unit : 0;
this.dataForm.transportType = this.dataForm.transportType ? this.dataForm.transportType : 0;
this.dataForm.advance = this.dataForm.advance ? this.dataForm.advance : 0;
if(grossWeight < tareWeight + buckleWeight + netWeight){
this.$message({
message: '毛重不得小于皮重+扣重+净重',
type: 'success',
duration: 1000
})
return
}
if(buckleWeight >= netWeight){
this.$message({
message: '扣重不得大于净重',
type: 'success',
duration: 1000
})
return
}
if(buckleWeight >= grossWeight){
this.$message({
message: '扣重不得大于毛重',
type: 'success',
duration: 1000
})
return
}
this.$refs['elForm'].validate((valid) => {
if (valid) {
this.request2()
}
})
},
request2() {
var _data = this.dataList()
debugger
if (!this.dataForm.id) {
request({
url: '/api/tradeupload/Tradeupload',
method: 'post',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
} else {
request({
url: '/api/tradeupload/Tradeupload/' + this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
}
},
request3() {
var _data = this.dataList()
if (!this.dataForm.id) {
request({
url: '/api/tradeupload/Tradeupload',
method: 'post',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
})
})
} else {
request({
url: '/api/tradeupload/Tradeupload/' + this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
})
})
}
this.dataForm.vehicleId = null;
this.dataForm.vehiclePictures = null;
this.dataForm.poundDate = null;
this.dataForm.poundlistNo = null;
this.dataForm.tareWeight = null;
this.dataForm.grossWeight = null;
this.dataForm.buckleWeight = null;
this.dataForm.netWeight = null;
},
request() {
var _data = this.dataList()
if (!this.dataForm.id) {
request({
url: '/api/tradeupload/Tradeupload',
method: 'post',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
} else {
request({
url: '/api/tradeupload/Tradeupload/' + this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
}
},
dataList() {
var _data = JSON.parse(JSON.stringify(this.dataForm));
_data.poundPictures = JSON.stringify(_data.poundPictures)
_data.vehiclePictures = JSON.stringify(_data.vehiclePictures)
return _data;
},
dataInfo(dataAll) {
let _dataAll = dataAll
_dataAll.poundPictures = JSON.parse(_dataAll.poundPictures)
_dataAll.vehiclePictures = JSON.parse(_dataAll.vehiclePictures)
this.dataForm = _dataAll
},
},
}
</script>
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 120px;
height: 120px;
line-height: 120px;
text-align: center;
}
.avatar {
width: 120px;
height: 120px;
display: block;
}
</style>

@ -28,7 +28,7 @@
<div class="JNPF-common-layout-main JNPF-flex-main">
<div class="JNPF-common-head">
<div>
<el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">
<el-button type="text" icon="el-icon-plus" @click="addOrUpdateHandle()">
</el-button>
<el-button type="text" icon="el-icon-download" @click="exportData()">
</el-button>
@ -84,13 +84,46 @@
/>
<el-table-column prop="salesPrice" label="销售价格" width="150" align="center" sortable
/>
<el-table-column prop="creatorUserName" label="业务员" width="120" align="center" sortable
<el-table-column prop="businessId" label="业务员" width="120" align="center" sortable
/>
<el-table-column prop="remark" label="备注" width="200" align="center" sortable
/>
<el-table-column prop="poundPictures" label="磅单图片" width="150" align="center">
<template slot-scope="scope">
<span v-for="(item,index) in JSON.parse(scope.row.poundPictures)" :key="index">
<el-popover placement="bottom" trigger="click" width="1000">
<img :src="`/dev${item.url}`" width="100%" />
<img
slot="reference"
:src="`/dev${item.url}`"
:alt="`/dev${item.url}`"
style="max-height: 70px;max-width: 70px; padding: 5px"
/>
</el-popover>
</span>
</template>
</el-table-column>
<el-table-column prop="vehiclePictures" label="车辆图片" width="150" align="center">
<template slot-scope="scope">
<span v-for="(item,index) in JSON.parse(scope.row.vehiclePictures)" :key="index">
<el-popover placement="bottom" trigger="click" width="1000">
<img :src="`/dev${item.url}`" width="100%" />
<img
slot="reference"
:src="`/dev${item.url}`"
:alt="`/dev${item.url}`"
style="max-height: 70px;max-width: 70px; padding: 5px"
/>
</el-popover>
</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right"
width="150">
<template slot-scope="scope">
<el-button type="text"
@click="addOrUpdateHandle2(scope.row.id)">审核
</el-button>
<el-button type="text"
@click="addOrUpdateHandle(scope.row.id)">编辑
</el-button>
@ -107,6 +140,7 @@
</div>
</div>
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh"/>
<JNPF-Form v-if="formVisible2" ref="JNPFForm2" @refresh="refresh2"/>
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
<Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible=false"/>
</div>
@ -116,12 +150,14 @@
import request from '@/utils/request'
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
import JNPFForm from './Form'
import JNPFForm2 from './Form2'
import ExportBox from './ExportBox'
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
import Detail from './Detail'
export default {
components: { JNPFForm, ExportBox, Detail },
components: { JNPFForm, JNPFForm2, ExportBox, Detail },
data() {
return {
detailVisible: false,
@ -144,6 +180,7 @@
sidx: ''
},
formVisible: false,
formVisible2: false,
exportBoxVisible: false,
columnList: [
{ prop: 'creatorTime', label: '磅单日期' },
@ -274,6 +311,12 @@
this.$refs.JNPFForm.init(id, isDetail)
})
},
addOrUpdateHandle2(id, isDetail) {
this.formVisible2 = true
this.$nextTick(() => {
this.$refs.JNPFForm2.init(id, isDetail)
})
},
exportData() {
this.exportBoxVisible = true
this.$nextTick(() => {
@ -306,6 +349,10 @@
this.formVisible = false
if (isrRefresh) this.reset()
},
refresh2(isrRefresh) {
this.formVisible2 = false
if (isrRefresh) this.reset()
},
reset() {
for (let key in this.query) {
this.query[key] = undefined

Loading…
Cancel
Save