上传出库单

product
tengxi 2 years ago
parent ef673933fa
commit e3187edd3d

@ -18,7 +18,7 @@ import jnpf.exception.DataException;
import org.springframework.transaction.annotation.Transactional;
import jnpf.base.entity.ProvinceEntity;
import jnpf.paymentdoc.model.paymentdoc.*;
import jnpf.paymentdoc.model.paymentdoc.PaymentdocPagination;
import jnpf.paymentdoc.entity.*;
import jnpf.paymentdoc.entity.Paymentdoc_item0Entity;
import jnpf.util.*;

@ -1,40 +1,53 @@
package jnpf.receiptout.controller;
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 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.UserInfo;
import jnpf.base.vo.DownloadVO;
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 jnpf.receiptout.entity.ReceiptoutEntity;
import org.springframework.transaction.annotation.Transactional;
import jnpf.base.entity.ProvinceEntity;
import jnpf.receiptout.model.receiptout.*;
import jnpf.receiptout.service.ReceiptoutService;
import jnpf.receiptout.model.receiptout.ReceiptoutPagination;
import jnpf.receiptout.entity.*;
import jnpf.receiptout.entity.Receiptout_item0Entity;
import jnpf.util.*;
import jnpf.util.enums.FileTypeEnum;
import jnpf.util.file.UploadUtil;
import lombok.Cleanup;
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.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import jnpf.receiptout.entity.ReceiptoutEntity;
import jnpf.receiptout.service.ReceiptoutService;
import jnpf.receiptout.entity.Receiptout_item0Entity;
import jnpf.receiptout.service.Receiptout_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 java.util.ArrayList;
import java.util.List;
import java.util.Map;
import jnpf.util.GeneraterSwapUtil;
import java.util.*;
import jnpf.util.file.UploadUtil;
import jnpf.util.enums.FileTypeEnum;
/**
*
@ -42,7 +55,7 @@ import java.util.Map;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-12
* @ 2023-02-08
*/
@Slf4j
@RestController
@ -62,6 +75,8 @@ public class ReceiptoutController {
@Autowired
private ReceiptoutService receiptoutService;
@Autowired
private Receiptout_item0Service receiptout_item0Service;
@ -76,15 +91,10 @@ public class ReceiptoutController {
List<ReceiptoutEntity> list= receiptoutService.getList(receiptoutPagination);
//处理id字段转名称若无需转或者为空可删除
for(ReceiptoutEntity entity:list){
Map<String,Object> sourceNoMap = new HashMap<>();
entity.setSourceNo(generaterSwapUtil.getPopupSelectValue("392956668264114117","document_no","document_no",entity.getSourceNo(),sourceNoMap));
entity.setCreatorUserName(generaterSwapUtil.userSelectValue(entity.getCreatorUserName()));
entity.setCreatorUserId(generaterSwapUtil.userSelectValue(entity.getCreatorUserId()));
entity.setLastModifyUserName(generaterSwapUtil.userSelectValue(entity.getLastModifyUserName()));
entity.setLastModifyUserId(generaterSwapUtil.userSelectValue(entity.getLastModifyUserId()));
if (StringUtil.isNotBlank(entity.getOrgnizeId())){
entity.setOrgnizeId(generaterSwapUtil.comSelectValue(entity.getOrgnizeId(), "all"));
}
entity.setDepartmentId(generaterSwapUtil.posSelectValue(entity.getDepartmentId()));
}
List<ReceiptoutListVO> listVO=JsonUtil.getJsonToList(list,ReceiptoutListVO.class);
for(ReceiptoutListVO receiptoutVO:listVO){
@ -110,16 +120,31 @@ public class ReceiptoutController {
public ActionResult create(@RequestBody @Valid ReceiptoutCrForm receiptoutCrForm) throws DataException {
String mainId =RandomUtil.uuId();
UserInfo userInfo=userProvider.get();
receiptoutCrForm.setDocumentNo(generaterSwapUtil.getBillNumber("chuku", false));
receiptoutCrForm.setCreatorTime(DateUtil.getNow());
receiptoutCrForm.setCreatorUserName(userInfo.getUserId());
receiptoutCrForm.setCreatorUserId(userInfo.getUserId());
receiptoutCrForm.setOrgnizeId(StringUtil.isEmpty(userInfo.getDepartmentId()) ? userInfo.getOrganizeId() : userInfo.getDepartmentId());
if(userInfo.getPositionIds()!=null&&userInfo.getPositionIds().length>0){
receiptoutCrForm.setDepartmentId(userInfo.getPositionIds()[0]);
}
ReceiptoutEntity entity = JsonUtil.getJsonToBean(receiptoutCrForm, ReceiptoutEntity.class);
entity.setId(mainId);
receiptoutService.save(entity);
List<Receiptout_item0Entity> Receiptout_item0List = JsonUtil.getJsonToList(receiptoutCrForm.getReceiptout_item0List(),Receiptout_item0Entity.class);
for(Receiptout_item0Entity entitys : Receiptout_item0List){
entitys.setId(RandomUtil.uuId());
entitys.setReceiptinId(entity.getId());
receiptout_item0Service.save(entitys);
}
return ActionResult.success("创建成功");
@ -160,15 +185,10 @@ public class ReceiptoutController {
List<ReceiptoutEntity> list= receiptoutService.getTypeList(receiptoutPagination,receiptoutPaginationExportModel.getDataType());
//处理id字段转名称若无需转或者为空可删除
for(ReceiptoutEntity entity:list){
Map<String,Object> sourceNoMap = new HashMap<>();
entity.setSourceNo(generaterSwapUtil.getPopupSelectValue("392956668264114117","document_no","document_no",entity.getSourceNo(),sourceNoMap));
entity.setCreatorUserName(generaterSwapUtil.userSelectValue(entity.getCreatorUserName()));
entity.setCreatorUserId(generaterSwapUtil.userSelectValue(entity.getCreatorUserId()));
entity.setLastModifyUserName(generaterSwapUtil.userSelectValue(entity.getLastModifyUserName()));
entity.setLastModifyUserId(generaterSwapUtil.userSelectValue(entity.getLastModifyUserId()));
if (StringUtil.isNotBlank(entity.getOrgnizeId())){
entity.setOrgnizeId(generaterSwapUtil.comSelectValue(entity.getOrgnizeId(), "all"));
}
entity.setDepartmentId(generaterSwapUtil.posSelectValue(entity.getDepartmentId()));
}
List<ReceiptoutListVO> listVO=JsonUtil.getJsonToList(list,ReceiptoutListVO.class);
for(ReceiptoutListVO receiptoutVO:listVO){
@ -191,30 +211,30 @@ public class ReceiptoutController {
case "documentNo" :
entitys.add(new ExcelExportEntity("单据编号" ,"documentNo"));
break;
case "customerName" :
entitys.add(new ExcelExportEntity("客户名称" ,"customerName"));
case "type" :
entitys.add(new ExcelExportEntity("业务类型" ,"type"));
break;
case "sourceNo" :
entitys.add(new ExcelExportEntity("来源单号" ,"sourceNo"));
break;
case "amount" :
entitys.add(new ExcelExportEntity("出库金额" ,"amount"));
break;
case "num" :
entitys.add(new ExcelExportEntity("出库数量" ,"num"));
break;
case "currency" :
entitys.add(new ExcelExportEntity("币别" ,"currency"));
break;
case "issueDate" :
entitys.add(new ExcelExportEntity("出库日期" ,"issueDate"));
break;
case "sourceNo" :
entitys.add(new ExcelExportEntity("来源单号" ,"sourceNo"));
case "num" :
entitys.add(new ExcelExportEntity("出库数量" ,"num"));
break;
case "type" :
entitys.add(new ExcelExportEntity("业务类型" ,"type"));
case "customerName" :
entitys.add(new ExcelExportEntity("客户名称" ,"customerName"));
break;
case "remark" :
entitys.add(new ExcelExportEntity("备注" ,"remark"));
break;
case "issueDate" :
entitys.add(new ExcelExportEntity("出库日期" ,"issueDate"));
break;
case "status" :
entitys.add(new ExcelExportEntity("单据状态" ,"status"));
break;
@ -222,25 +242,13 @@ public class ReceiptoutController {
entitys.add(new ExcelExportEntity("创建时间" ,"creatorTime"));
break;
case "creatorUserName" :
entitys.add(new ExcelExportEntity("创建人" ,"creatorUserName"));
break;
case "creatorUserId" :
entitys.add(new ExcelExportEntity("创建人id" ,"creatorUserId"));
break;
case "lastModifyUserName" :
entitys.add(new ExcelExportEntity("修改人名称" ,"lastModifyUserName"));
break;
case "lastModifyUserId" :
entitys.add(new ExcelExportEntity("修改人id" ,"lastModifyUserId"));
entitys.add(new ExcelExportEntity("创建人名称" ,"creatorUserName"));
break;
case "lastModifyTime" :
entitys.add(new ExcelExportEntity("修改时间" ,"lastModifyTime"));
break;
case "orgnizeId" :
entitys.add(new ExcelExportEntity("组织id" ,"orgnizeId"));
break;
case "departmentId" :
entitys.add(new ExcelExportEntity("部门id" ,"departmentId"));
case "lastModifyUserName" :
entitys.add(new ExcelExportEntity("修改人名称" ,"lastModifyUserName"));
break;
default:
break;
@ -309,19 +317,16 @@ public class ReceiptoutController {
vo.setCreatorTime(vo.getCreatorTime());
}
vo.setCreatorUserName(generaterSwapUtil.userSelectValue(vo.getCreatorUserName()));
vo.setCreatorUserId(generaterSwapUtil.userSelectValue(vo.getCreatorUserId()));
vo.setLastModifyUserName(generaterSwapUtil.userSelectValue(vo.getLastModifyUserName()));
vo.setLastModifyUserId(generaterSwapUtil.userSelectValue(vo.getLastModifyUserId()));
if(vo.getLastModifyTime()!=null){
vo.setLastModifyTime(vo.getLastModifyTime());
}
if (StringUtil.isNotBlank(vo.getOrgnizeId())){
vo.setOrgnizeId(generaterSwapUtil.comSelectValue(vo.getOrgnizeId(), "all"));
}
vo.setDepartmentId(generaterSwapUtil.posSelectValue(vo.getDepartmentId()));
vo.setLastModifyUserName(generaterSwapUtil.userSelectValue(vo.getLastModifyUserName()));
//子表
List<Receiptout_item0Entity> Receiptout_item0List = receiptoutService.GetReceiptout_item0List(id);
for(Receiptout_item0Entity receiptout_item0Entity : Receiptout_item0List){
}
vo.setReceiptout_item0List(JsonUtil.getJsonToList(Receiptout_item0List,Receiptout_item0Model.class ));
//副表
return ActionResult.success(vo);
}
@ -338,19 +343,23 @@ public class ReceiptoutController {
ReceiptoutInfoVO vo=JsonUtil.getJsonToBean(entity, ReceiptoutInfoVO.class);
//子表数据转换
List<Receiptout_item0Entity> jg_receiptout_item0List = receiptoutService.GetReceiptout_item0List(id);
List<Receiptout_item0Model> jg_receiptout_item0ModelList = JsonUtil.getJsonToList(jg_receiptout_item0List,Receiptout_item0Model.class);
for(Receiptout_item0Model jg_receiptout_item0Model : jg_receiptout_item0ModelList){
Map<String,Object> licenseNoMap = new HashMap<>();
jg_receiptout_item0Model.setLicenseNo(generaterSwapUtil.getPopupSelectValue("392933248017164229","license_no","license_no",jg_receiptout_item0Model.getLicenseNo(),licenseNoMap));
Map<String,Object> reservoirareaIdMap = new HashMap<>();
jg_receiptout_item0Model.setReservoirareaId(generaterSwapUtil.getPopupSelectValue("392939299932268421","id","areaname",jg_receiptout_item0Model.getReservoirareaId(),reservoirareaIdMap));
}
vo.setReceiptout_item0List(jg_receiptout_item0ModelList);
//附表数据转换
//添加到详情表单对象中
Map<String,Object> sourceNoMap = new HashMap<>();
vo.setSourceNo(generaterSwapUtil.getPopupSelectValue("392956668264114117","document_no","document_no",vo.getSourceNo(),sourceNoMap));
vo.setCreatorUserName(generaterSwapUtil.userSelectValue(vo.getCreatorUserName()));
vo.setCreatorUserId(generaterSwapUtil.userSelectValue(vo.getCreatorUserId()));
vo.setLastModifyUserName(generaterSwapUtil.userSelectValue(vo.getLastModifyUserName()));
vo.setLastModifyUserId(generaterSwapUtil.userSelectValue(vo.getLastModifyUserId()));
if (StringUtil.isNotBlank(vo.getOrgnizeId())){
vo.setOrgnizeId(generaterSwapUtil.comSelectValue(vo.getOrgnizeId(), "all"));
}
vo.setDepartmentId(generaterSwapUtil.posSelectValue(vo.getDepartmentId()));
return ActionResult.success(vo);
}
@ -370,16 +379,36 @@ public class ReceiptoutController {
UserInfo userInfo=userProvider.get();
ReceiptoutEntity entity= receiptoutService.getInfo(id);
if(entity!=null){
receiptoutUpForm.setLastModifyUserName(userInfo.getUserId());
receiptoutUpForm.setLastModifyUserId(userInfo.getUserId());
receiptoutUpForm.setLastModifyTime(DateUtil.getNow());
receiptoutUpForm.setOrgnizeId(entity.getOrgnizeId());
receiptoutUpForm.setDepartmentId(entity.getDepartmentId());
receiptoutUpForm.setLastModifyUserName(userInfo.getUserId());
ReceiptoutEntity subentity=JsonUtil.getJsonToBean(receiptoutUpForm, ReceiptoutEntity.class);
subentity.setCreatorTime(entity.getCreatorTime());
subentity.setCreatorUserName(entity.getCreatorUserName());
subentity.setCreatorUserId(entity.getCreatorUserId());
receiptoutService.update(id, subentity);
QueryWrapper<Receiptout_item0Entity> Receiptout_item0queryWrapper = new QueryWrapper<>();
Receiptout_item0queryWrapper.lambda().eq(Receiptout_item0Entity::getReceiptinId, entity.getId());
receiptout_item0Service.remove(Receiptout_item0queryWrapper);
List<Receiptout_item0Entity> Receiptout_item0List = JsonUtil.getJsonToList(receiptoutUpForm.getReceiptout_item0List(),Receiptout_item0Entity.class);
for(Receiptout_item0Entity entitys : Receiptout_item0List){
entitys.setId(RandomUtil.uuId());
entitys.setReceiptinId(entity.getId());
receiptout_item0Service.save(entitys);
}
return ActionResult.success("更新成功");
}else{
return ActionResult.fail("更新失败,数据不存在");
@ -400,6 +429,9 @@ public class ReceiptoutController {
ReceiptoutEntity entity= receiptoutService.getInfo(id);
if(entity!=null){
receiptoutService.delete(entity);
QueryWrapper<Receiptout_item0Entity> queryWrapperReceiptout_item0=new QueryWrapper<>();
queryWrapperReceiptout_item0.lambda().eq(Receiptout_item0Entity::getReceiptinId,entity.getId());
receiptout_item0Service.remove(queryWrapperReceiptout_item0);
}
return ActionResult.success("删除成功");

@ -18,7 +18,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-12
* @ 2023-02-08
*/
@Data
@TableName("jg_receiptout")

@ -20,7 +20,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-12
* @ 2023-02-08
*/
@Data
@TableName("jg_receiptout_item0")
@ -80,11 +80,11 @@ public class Receiptout_item0Entity {
@TableField("MATERIAL_NAME")
private String materialName;
@TableField("AREA_CODE")
private String areaCode;
@TableField("WAREHOUSE_ID")
private String warehouseId;
@TableField("AREA_NAME")
private String areaName;
@TableField("RESERVOIRAREA_ID")
private String reservoirareaId;
@TableField("UNIT")
private String unit;
@ -110,4 +110,7 @@ public class Receiptout_item0Entity {
@TableField("REMARK")
private String remark;
@TableField("SALESORDERITEM_ID")
private String salesorderitemId;
}

@ -1,8 +1,8 @@
package jnpf.receiptout.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.receiptout.entity.ReceiptoutEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
@ -10,7 +10,7 @@ import jnpf.receiptout.entity.ReceiptoutEntity;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-12
* 2023-02-08
*/
public interface ReceiptoutMapper extends BaseMapper<ReceiptoutEntity> {

@ -1,8 +1,8 @@
package jnpf.receiptout.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.receiptout.entity.Receiptout_item0Entity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
*
@ -10,7 +10,7 @@ import jnpf.receiptout.entity.Receiptout_item0Entity;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-12
* 2023-02-08
*/
public interface Receiptout_item0Mapper extends BaseMapper<Receiptout_item0Entity> {

@ -2,6 +2,7 @@
package jnpf.receiptout.model.receiptout;
import jnpf.receiptout.model.receiptout.Receiptout_item0Model;
import lombok.Data;
import java.util.List;
import java.math.BigDecimal;
@ -14,7 +15,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-12
* @ 2023-02-08
*/
@Data
public class ReceiptoutCrForm {
@ -23,38 +24,38 @@ public class ReceiptoutCrForm {
@JsonProperty("documentNo")
private String documentNo;
/** 客户名称 **/
@JsonProperty("customerName")
private String customerName;
/** 业务类型 **/
@JsonProperty("type")
private String type;
/** 来源单号 **/
@JsonProperty("sourceNo")
private String sourceNo;
/** 出库金额 **/
@JsonProperty("amount")
private String amount;
/** 出库数量 **/
@JsonProperty("num")
private String num;
/** 币别 **/
@JsonProperty("currency")
private String currency;
/** 出库日期 **/
@JsonProperty("issueDate")
private Long issueDate;
/** 来源单号 **/
@JsonProperty("sourceNo")
private String sourceNo;
/** 出库数量 **/
@JsonProperty("num")
private String num;
/** 业务类型 **/
@JsonProperty("type")
private String type;
/** 客户名称 **/
@JsonProperty("customerName")
private String customerName;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 出库日期 **/
@JsonProperty("issueDate")
private Long issueDate;
/** 单据状态 **/
@JsonProperty("status")
private String status;
@ -63,34 +64,21 @@ public class ReceiptoutCrForm {
@JsonProperty("creatorTime")
private String creatorTime;
/** 创建人 **/
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 修改人名称 **/
@JsonProperty("lastModifyUserName")
private String lastModifyUserName;
/** 修改人id **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
/** 组织id **/
@JsonProperty("orgnizeId")
private String orgnizeId;
/** 部门id **/
@JsonProperty("departmentId")
private String departmentId;
/** 修改人名称 **/
@JsonProperty("lastModifyUserName")
private String lastModifyUserName;
/** 子表数据 **/
@JsonProperty("receiptout_item0List")
private List<Receiptout_item0Model> receiptout_item0List;
}

@ -3,6 +3,7 @@
package jnpf.receiptout.model.receiptout;
import jnpf.receiptout.model.receiptout.Receiptout_item0Model;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
@ -15,7 +16,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-12
* @ 2023-02-08
*/
@Data
public class ReceiptoutInfoVO{
@ -27,38 +28,38 @@ public class ReceiptoutInfoVO{
@JsonProperty("documentNo")
private String documentNo;
/** 客户名称 **/
@JsonProperty("customerName")
private String customerName;
/** 业务类型 **/
@JsonProperty("type")
private String type;
/** 来源单号 **/
@JsonProperty("sourceNo")
private String sourceNo;
/** 出库金额 **/
@JsonProperty("amount")
private String amount;
/** 出库数量 **/
@JsonProperty("num")
private String num;
/** 币别 **/
@JsonProperty("currency")
private String currency;
/** 出库日期 **/
@JsonProperty("issueDate")
private Long issueDate;
/** 来源单号 **/
@JsonProperty("sourceNo")
private String sourceNo;
/** 出库数量 **/
@JsonProperty("num")
private String num;
/** 业务类型 **/
@JsonProperty("type")
private String type;
/** 客户名称 **/
@JsonProperty("customerName")
private String customerName;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 出库日期 **/
@JsonProperty("issueDate")
private Long issueDate;
/** 单据状态 **/
@JsonProperty("status")
private String status;
@ -68,33 +69,20 @@ public class ReceiptoutInfoVO{
@JsonProperty("creatorTime")
private Date creatorTime;
/** 创建人 **/
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 修改人名称 **/
@JsonProperty("lastModifyUserName")
private String lastModifyUserName;
/** 修改人id **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 修改时间 **/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonProperty("lastModifyTime")
private Date lastModifyTime;
/** 组织id **/
@JsonProperty("orgnizeId")
private String orgnizeId;
/** 部门id **/
@JsonProperty("departmentId")
private String departmentId;
/** 修改人名称 **/
@JsonProperty("lastModifyUserName")
private String lastModifyUserName;
/** 子表数据 **/
@JsonProperty("receiptout_item0List")
private List<Receiptout_item0Model> receiptout_item0List;
}

@ -10,7 +10,7 @@ import java.util.List;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-12
* @ 2023-02-08
*/
@Data
public class ReceiptoutListQuery extends Pagination {
@ -18,6 +18,9 @@ public class ReceiptoutListQuery extends Pagination {
/** 单据编号 */
private String documentNo;
/** 业务类型 */
private String type;
/** 客户名称 */
private String customerName;
/**

@ -15,7 +15,7 @@ import java.math.BigDecimal;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-12
* @ 2023-02-08
*/
@Data
public class ReceiptoutListVO{
@ -29,9 +29,14 @@ public class ReceiptoutListVO{
private String documentNo;
/** 客户名称 **/
@JsonProperty("customerName")
private String customerName;
/** 业务类型 **/
@JsonProperty("type")
private String type;
/** 来源单号 **/
@JsonProperty("sourceNo")
private String sourceNo;
/** 出库金额 **/
@ -39,30 +44,19 @@ public class ReceiptoutListVO{
private String amount;
/** 出库数量 **/
@JsonProperty("num")
private String num;
/** 币别 **/
@JsonProperty("currency")
private String currency;
/** 出库日期 **/
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@JsonProperty("issueDate")
private Date issueDate;
/** 来源单号 **/
@JsonProperty("sourceNo")
private String sourceNo;
/** 出库数量 **/
@JsonProperty("num")
private String num;
/** 业务类型 **/
@JsonProperty("type")
private String type;
/** 客户名称 **/
@JsonProperty("customerName")
private String customerName;
/** 备注 **/
@ -70,6 +64,12 @@ public class ReceiptoutListVO{
private String remark;
/** 出库日期 **/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonProperty("issueDate")
private Date issueDate;
/** 单据状态 **/
@JsonProperty("status")
private String status;
@ -81,40 +81,20 @@ public class ReceiptoutListVO{
private Date creatorTime;
/** 创建人 **/
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 修改人名称 **/
@JsonProperty("lastModifyUserName")
private String lastModifyUserName;
/** 修改人id **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 修改时间 **/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonProperty("lastModifyTime")
private Date lastModifyTime;
/** 组织id **/
@JsonProperty("orgnizeId")
private String orgnizeId;
/** 部门id **/
@JsonProperty("departmentId")
private String departmentId;
/** 修改人名称 **/
@JsonProperty("lastModifyUserName")
private String lastModifyUserName;
}

@ -11,7 +11,7 @@ import java.util.List;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-12
* @ 2023-02-08
*/
@Data
public class ReceiptoutPagination extends Pagination {
@ -19,6 +19,9 @@ public class ReceiptoutPagination extends Pagination {
/** 单据编号 */
private String documentNo;
/** 业务类型 */
private String type;
/** 客户名称 */
private String customerName;
/**

@ -9,7 +9,7 @@ import java.util.*;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-12
* @ 2023-02-08
*/
@Data
public class ReceiptoutPaginationExportModel extends Pagination {
@ -24,6 +24,9 @@ public class ReceiptoutPaginationExportModel extends Pagination {
/** 单据编号 */
private String documentNo;
/** 业务类型 */
private String type;
/** 客户名称 */
private String customerName;
}

@ -2,6 +2,7 @@
package jnpf.receiptout.model.receiptout;
import jnpf.receiptout.model.receiptout.Receiptout_item0Model;
import lombok.Data;
import java.util.List;
import java.math.BigDecimal;
@ -15,7 +16,7 @@ import lombok.Data;
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-01-12
* @ 2023-02-08
*/
@Data
public class ReceiptoutUpForm{
@ -28,9 +29,14 @@ public class ReceiptoutUpForm{
private String documentNo;
/** 客户名称 **/
@JsonProperty("customerName")
private String customerName;
/** 业务类型 **/
@JsonProperty("type")
private String type;
/** 来源单号 **/
@JsonProperty("sourceNo")
private String sourceNo;
/** 出库金额 **/
@ -38,29 +44,19 @@ public class ReceiptoutUpForm{
private String amount;
/** 出库数量 **/
@JsonProperty("num")
private String num;
/** 币别 **/
@JsonProperty("currency")
private String currency;
/** 出库日期 **/
@JsonProperty("issueDate")
private Long issueDate;
/** 来源单号 **/
@JsonProperty("sourceNo")
private String sourceNo;
/** 出库数量 **/
@JsonProperty("num")
private String num;
/** 业务类型 **/
@JsonProperty("type")
private String type;
/** 客户名称 **/
@JsonProperty("customerName")
private String customerName;
/** 备注 **/
@ -68,6 +64,11 @@ public class ReceiptoutUpForm{
private String remark;
/** 出库日期 **/
@JsonProperty("issueDate")
private Long issueDate;
/** 单据状态 **/
@JsonProperty("status")
private String status;
@ -78,39 +79,22 @@ public class ReceiptoutUpForm{
private String creatorTime;
/** 创建人 **/
/** 创建人名称 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 创建人id **/
@JsonProperty("creatorUserId")
private String creatorUserId;
/** 修改人名称 **/
@JsonProperty("lastModifyUserName")
private String lastModifyUserName;
/** 修改人id **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
/** 组织id **/
@JsonProperty("orgnizeId")
private String orgnizeId;
/** 部门id **/
@JsonProperty("departmentId")
private String departmentId;
/** 修改人名称 **/
@JsonProperty("lastModifyUserName")
private String lastModifyUserName;
/** 子表数据 **/
@JsonProperty("receiptout_item0List")
private List<Receiptout_item0Model> receiptout_item0List;
}

@ -0,0 +1,70 @@
package jnpf.receiptout.model.receiptout;
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-08
*/
@Data
public class Receiptout_item0Model {
/** 车牌号 **/
@JsonProperty("licenseNo")
private String licenseNo;
/** 物料名称 **/
@JsonProperty("materialName")
private String materialName;
/** 库区id **/
@JsonProperty("reservoirareaId")
private String reservoirareaId;
/** 仓库id **/
@JsonProperty("warehouseId")
private String warehouseId;
/** 出库数量 **/
@JsonProperty("deliveryNum")
private String deliveryNum;
/** 计量单位 **/
@JsonProperty("unit")
private String unit;
/** 单价 **/
@JsonProperty("price")
private String price;
/** 税率 **/
@JsonProperty("rate")
private String rate;
/** 金额 **/
@JsonProperty("amount")
private String amount;
/** 税额 **/
@JsonProperty("rateAmount")
private String rateAmount;
/** 批次号 **/
@JsonProperty("batchNo")
private String batchNo;
/** 磅单类型 **/
@JsonProperty("deleteUserId")
private String deleteUserId;
}

@ -1,17 +1,18 @@
package jnpf.receiptout.service;
import jnpf.receiptout.entity.Receiptout_item0Entity;
import jnpf.receiptout.service.Receiptout_item0Service;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.receiptout.entity.ReceiptoutEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.receiptout.model.receiptout.ReceiptoutPagination;
import java.util.List;
import java.util.*;
/**
*
* receiptout
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-12
* 2023-02-08
*/
public interface ReceiptoutService extends IService<ReceiptoutEntity> {
@ -30,6 +31,7 @@ public interface ReceiptoutService extends IService<ReceiptoutEntity> {
boolean update( String id, ReceiptoutEntity entity);
// 子表方法
List<Receiptout_item0Entity> GetReceiptout_item0List(String id);
//列表子表数据方法
}

@ -1,16 +1,14 @@
package jnpf.receiptout.service;
import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.receiptout.entity.Receiptout_item0Entity;
import com.baomidou.mybatisplus.extension.service.IService;
/**
*
* jg_receiptout_item0
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-12
* 2023-02-08
*/
public interface Receiptout_item0Service extends IService<Receiptout_item0Entity> {

@ -1,27 +1,36 @@
package jnpf.receiptout.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jnpf.receiptout.entity.*;
import jnpf.receiptout.mapper.ReceiptoutMapper;
import jnpf.receiptout.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.permission.service.AuthorizeService;
import jnpf.receiptout.entity.ReceiptoutEntity;
import jnpf.receiptout.entity.Receiptout_item0Entity;
import jnpf.receiptout.mapper.ReceiptoutMapper;
import jnpf.receiptout.model.receiptout.ReceiptoutPagination;
import jnpf.receiptout.service.ReceiptoutService;
import jnpf.util.ServletUtil;
import jnpf.util.StringUtil;
import jnpf.util.UserProvider;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import jnpf.permission.service.AuthorizeService;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
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.*;
/**
*
@ -29,10 +38,10 @@ import java.util.List;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-12
* 2023-02-08
*/
@Service
public class ReceiptoutServiceImpl extends ServiceImpl<ReceiptoutMapper, ReceiptoutEntity> implements ReceiptoutService {
public class ReceiptoutServiceImpl extends ServiceImpl<ReceiptoutMapper, ReceiptoutEntity> implements ReceiptoutService{
@Autowired
@ -42,6 +51,9 @@ public class ReceiptoutServiceImpl extends ServiceImpl<ReceiptoutMapper, Receipt
private AuthorizeService authorizeService;
@Autowired
private Receiptout_item0Service receiptout_item0Service;
@ -100,6 +112,11 @@ public class ReceiptoutServiceImpl extends ServiceImpl<ReceiptoutMapper, Receipt
if(StringUtil.isNotEmpty(receiptoutPagination.getDocumentNo())){
receiptoutNum++;
receiptoutQueryWrapper.lambda().like(ReceiptoutEntity::getDocumentNo,receiptoutPagination.getDocumentNo());
}
if(StringUtil.isNotEmpty(receiptoutPagination.getType())){
receiptoutNum++;
receiptoutQueryWrapper.lambda().eq(ReceiptoutEntity::getType,receiptoutPagination.getType());
}
if(StringUtil.isNotEmpty(receiptoutPagination.getCustomerName())){
@ -112,7 +129,7 @@ public class ReceiptoutServiceImpl extends ServiceImpl<ReceiptoutMapper, Receipt
}
//排序
if(StringUtil.isEmpty(receiptoutPagination.getSidx())){
receiptoutQueryWrapper.lambda().orderByDesc(ReceiptoutEntity::getCreatorTime);
receiptoutQueryWrapper.lambda().orderByDesc(ReceiptoutEntity::getId);
}else{
try {
String sidx = receiptoutPagination.getSidx();
@ -189,6 +206,11 @@ public class ReceiptoutServiceImpl extends ServiceImpl<ReceiptoutMapper, Receipt
if(StringUtil.isNotEmpty(receiptoutPagination.getDocumentNo())){
receiptoutNum++;
receiptoutQueryWrapper.lambda().like(ReceiptoutEntity::getDocumentNo,receiptoutPagination.getDocumentNo());
}
if(StringUtil.isNotEmpty(receiptoutPagination.getType())){
receiptoutNum++;
receiptoutQueryWrapper.lambda().eq(ReceiptoutEntity::getType,receiptoutPagination.getType());
}
if(StringUtil.isNotEmpty(receiptoutPagination.getCustomerName())){
@ -201,7 +223,7 @@ public class ReceiptoutServiceImpl extends ServiceImpl<ReceiptoutMapper, Receipt
}
//排序
if(StringUtil.isEmpty(receiptoutPagination.getSidx())){
receiptoutQueryWrapper.lambda().orderByDesc(ReceiptoutEntity::getCreatorTime);
receiptoutQueryWrapper.lambda().orderByDesc(ReceiptoutEntity::getId);
}else{
try {
String sidx = receiptoutPagination.getSidx();
@ -252,6 +274,12 @@ public class ReceiptoutServiceImpl extends ServiceImpl<ReceiptoutMapper, Receipt
}
}
//子表方法
@Override
public List<Receiptout_item0Entity> GetReceiptout_item0List(String id){
QueryWrapper<Receiptout_item0Entity> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(Receiptout_item0Entity::getReceiptinId, id);
return receiptout_item0Service.list(queryWrapper);
}
//列表子表数据方法

@ -1,10 +1,30 @@
package jnpf.receiptout.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.receiptout.entity.Receiptout_item0Entity;
import jnpf.receiptout.entity.*;
import jnpf.receiptout.mapper.Receiptout_item0Mapper;
import jnpf.receiptout.service.Receiptout_item0Service;
import jnpf.receiptout.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.*;
/**
*
@ -12,10 +32,10 @@ import org.springframework.stereotype.Service;
* V3.2.0
* LINKAGE-BOOT
* LINKAGE-BOOT
* 2023-01-12
* 2023-02-08
*/
@Service
public class Receiptout_item0ServiceImpl extends ServiceImpl<Receiptout_item0Mapper, Receiptout_item0Entity> implements Receiptout_item0Service {
public class Receiptout_item0ServiceImpl extends ServiceImpl<Receiptout_item0Mapper, Receiptout_item0Entity> implements Receiptout_item0Service{
}

@ -6,66 +6,142 @@
<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-col :span="8" >
<el-form-item label="单据编号"
prop="documentNo" >
<p>{{dataForm.documentNo}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="客户名称"
prop="customerName" >
<p>{{dataForm.customerName}}</p>
<el-col :span="8" >
<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="来源单号"
prop="sourceNo" >
<p>{{dataForm.sourceNo}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-col :span="8" >
<el-form-item label="出库金额"
prop="amount" >
<p>{{dataForm.amount}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="出库数量"
prop="num" >
<p>{{dataForm.num}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-col :span="8" >
<el-form-item label="币别"
prop="currency" >
<p>{{ dataForm.currency | dynamicText(currencyOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="出库日期"
prop="issueDate" >
<p>{{jnpf.dateFormat(dataForm.issueDate)}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="来源单号"
prop="sourceNo" >
<p>{{dataForm.sourceNo}}</p>
<el-col :span="8" >
<el-form-item label="出库数量"
prop="num" >
<p>{{dataForm.num}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="业务类型"
prop="type" >
<p>{{ dataForm.type | dynamicText(typeOptions) }} </p>
<el-col :span="8" >
<el-form-item label="客户名称"
prop="customerName" >
<p>{{dataForm.customerName}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-col :span="16" >
<el-form-item label="备注"
prop="remark" >
<p>{{dataForm.remark}}</p>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-col :span="12" >
<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="单据状态"
prop="status" >
<p>{{ dataForm.status | dynamicText(statusOptions) }} </p>
</el-form-item>
</el-col>
<el-col :span="24">
<el-tabs v-model="activefqhgdj" tab-position="top" class="mb-20">
<el-tab-pane label="磅单明细">
<el-col :span="24" >
<el-form-item label-width="0">
<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="车牌号">
<template slot-scope="scope">
<p>{{scope.row.licenseNo}}</p>
</template>
</el-table-column>
<el-table-column prop="materialName" label="物料名称">
<template slot-scope="scope">
<p>{{scope.row.materialName}}</p>
</template>
</el-table-column>
<el-table-column prop="reservoirareaId" label="库区id">
<template slot-scope="scope">
<p>{{scope.row.reservoirareaId}}</p>
</template>
</el-table-column>
<el-table-column prop="warehouseId" label="仓库id">
<template slot-scope="scope">
<p>{{scope.row.warehouseId}}</p>
</template>
</el-table-column>
<el-table-column prop="deliveryNum" label="出库数量">
<template slot-scope="scope">
<p>{{scope.row.deliveryNum}}</p>
</template>
</el-table-column>
<el-table-column prop="unit" label="计量单位">
<template slot-scope="scope">
<p>{{ scope.row.unit | dynamicText(unitOptions) }}</p>
</template>
</el-table-column>
<el-table-column prop="price" label="单价">
<template slot-scope="scope">
<p>{{scope.row.price}}</p>
</template>
</el-table-column>
<el-table-column prop="rate" label="税率">
<template slot-scope="scope">
<p>{{ scope.row.rate | dynamicText(rateOptions) }}</p>
</template>
</el-table-column>
<el-table-column prop="amount" label="金额">
<template slot-scope="scope">
<p>{{scope.row.amount}}</p>
</template>
</el-table-column>
<el-table-column prop="rateAmount" label="税额">
<template slot-scope="scope">
<p>{{scope.row.rateAmount}}</p>
</template>
</el-table-column>
<el-table-column prop="batchNo" label="批次号">
<template slot-scope="scope">
<p>{{scope.row.batchNo}}</p>
</template>
</el-table-column>
<el-table-column prop="deleteUserId" label="磅单类型">
<template slot-scope="scope">
<p>{{ scope.row.deleteUserId | dynamicText(deleteUserIdOptions) }}</p>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-col>
</el-tab-pane >
</el-tabs>
</el-col>
</template>
</el-form>
</el-row>
@ -90,28 +166,29 @@
dataForm: {
id :'',
documentNo : '',
customerName : '',
type : "0",
sourceNo : "XS002",
amount : '',
currency : "0",
num : '',
currency : "",
issueDate : '',
sourceNo : '',
type : "",
customerName : '',
remark : '',
status : "",
issueDate : '',
status : "0",
creatorTime : "",
creatorUserName : "",
creatorUserId : "",
lastModifyUserName : "",
lastModifyUserId : "",
lastModifyTime : "",
orgnizeId : "",
departmentId : "",
lastModifyUserName : "",
receiptout_item0List:[],
},
activefqhgdj:'0',
typeOptions:[{"fullName":"销售出库","id":"0"},{"fullName":"购销出库","id":"1"}],
currencyOptions:[{"fullName":"人民币","id":"0"},{"fullName":"美元","id":"1"},{"fullName":"英镑","id":"2"}],
typeOptions:[{"fullName":"采购入库","id":"0"},{"fullName":"购赊入库","id":"1"}],
statusOptions:[{"fullName":"已保存","id":"0"},{"fullName":"审批中","id":"1"},{"fullName":"已审批","id":"2"}],
unitOptions:[{"fullName":"吨","id":"0"},{"fullName":"千克","id":"1"}],
rateOptions:[{"fullName":"13","id":"0"},{"fullName":"9","id":"1"},{"fullName":"6","id":"2"},{"fullName":"5","id":"3"},{"fullName":"3","id":"4"},{"fullName":"0","id":"5"}],
deleteUserIdOptions:[{"fullName":"贸易","id":"0"},{"fullName":"其它","id":"1"}],
}
},
computed: {},
@ -123,6 +200,9 @@
methods: {
dataInfo(dataAll){
let _dataAll =dataAll
for(let i=0;i<_dataAll.receiptout_item0List.length;i++){
var _list = _dataAll.receiptout_item0List[i];
}
this.dataForm = _dataAll
},

@ -2,103 +2,220 @@
<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="600px">
width="1000px">
<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-col :span="8" >
<el-form-item label="单据编号"
prop="documentNo" >
<el-input v-model="dataForm.documentNo"
placeholder="请输入单据编号" readonly clearable :style='{"width":"100%"}'>
placeholder="系统自动生成" readonly >
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="客户名称"
prop="customerName" >
<el-input v-model="dataForm.customerName"
placeholder="请输入客户名称" clearable :style='{"width":"100%"}'>
<el-col :span="8" >
<el-form-item label="业务类型"
prop="type" >
<el-select v-model="dataForm.type"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in typeOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</el-input>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="出库金额"
prop="amount" >
<el-input v-model="dataForm.amount"
placeholder="请输入出库金额" clearable :style='{"width":"100%"}'>
<el-col :span="8" >
<el-form-item label="来源单号"
prop="sourceNo" >
<popupSelect v-model="dataForm.sourceNo"
placeholder="请选择" clearable field="sourceNo" interfaceId="392956668264114117" :columnOptions="sourceNocolumnOptions" propsValue="document_no" relationField="document_no" popupType="dialog"
popupTitle="选择数据" popupWidth="800px"
hasPage :pageSize="20" @change="popupSelectChangeSourceNo" >
</el-input>
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="出库数量"
prop="num" >
<el-input v-model="dataForm.num"
placeholder="请输入出库数量" clearable :style='{"width":"100%"}'>
<el-col :span="8" >
<el-form-item label="出库金额"
prop="amount" >
<el-input v-model="dataForm.amount"
placeholder="请输入出库金额" readonly clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-col :span="8" >
<el-form-item label="币别"
prop="currency" >
<el-select v-model="dataForm.currency"
placeholder="请选择币别" clearable :style='{"width":"100%"}'>
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in currencyOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="出库日期"
prop="issueDate" >
<el-date-picker v-model="dataForm.issueDate"
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="24" >
<el-form-item label="来源单号"
prop="sourceNo" >
<el-input v-model="dataForm.sourceNo"
placeholder="请输入来源单号" clearable :style='{"width":"100%"}'>
<el-col :span="8" >
<el-form-item label="出库数量"
prop="num" >
<el-input v-model="dataForm.num"
placeholder="请输入出库数量" readonly clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-form-item label="业务类型"
prop="type" >
<el-select v-model="dataForm.type"
placeholder="请选择业务类型" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in typeOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
<el-col :span="8" >
<el-form-item label="客户名称"
prop="customerName" >
<el-input v-model="dataForm.customerName"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-select>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-col :span="16" >
<el-form-item label="备注"
prop="remark" >
<el-input v-model="dataForm.remark"
placeholder="请输入备注信息" :style='{"width":"100%"}' true type="textarea" :autosize='{"minRows":4,"maxRows":4}' >
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" >
<el-col :span="12" >
<el-form-item label="出库日期"
prop="issueDate" >
<el-date-picker v-model="dataForm.issueDate"
placeholder="请选择出库日期" clearable :style='{"width":"100%"}' type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" >
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" >
<el-form-item label="单据状态"
prop="status" >
<el-select v-model="dataForm.status"
placeholder="请选择单据状态" clearable :style='{"width":"100%"}'>
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-col :span="24">
<el-tabs v-model="activefqhgdj" tab-position="top" class="mb-20">
<el-tab-pane label="磅单明细">
<el-col :span="24" >
<el-form-item label-width="0">
<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="车牌号">
<template slot-scope="scope">
<popupSelect v-model="scope.row.licenseNo"
placeholder="请选择" clearable :field="'licenseNo'+scope.$index" interfaceId="392933248017164229" :bissId="dataForm.sourceNo" :columnOptions="receiptout_item0licenseNocolumnOptions" propsValue="license_num" relationField="license_num" popupType="dialog"
popupWidth="800px"
hasPage :pageSize="20" @change="popupSelectlicenseNo" >
</popupSelect>
</template>
</el-table-column>
<el-table-column prop="materialName" label="物料名称">
<template slot-scope="scope">
<el-input v-model="scope.row.materialName"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="reservoirareaId" label="库区id">
<template slot-scope="scope">
<popupSelect v-model="scope.row.reservoirareaId"
placeholder="请选择" clearable :field="'reservoirareaId'+scope.$index" interfaceId="392939299932268421" :columnOptions="receiptout_item0reservoirareaIdcolumnOptions" propsValue="id" relationField="areaname" popupType="dialog"
popupWidth="800px" @change="popupSelectChangeReservoirarea"
>
</popupSelect>
</template>
</el-table-column>
<el-table-column prop="warehouseId" label="仓库id">
<template slot-scope="scope">
<el-input v-model="scope.row.warehouseId"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="deliveryNum" label="出库数量">
<template slot-scope="scope">
<el-input v-model="scope.row.deliveryNum"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="unit" label="计量单位">
<template slot-scope="scope">
<el-select v-model="scope.row.unit"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in unitOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="price" label="单价">
<template slot-scope="scope">
<el-input v-model="scope.row.price"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="rate" label="税率">
<template slot-scope="scope">
<el-select v-model="scope.row.rate"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in rateOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="amount" label="金额">
<template slot-scope="scope">
<el-input v-model="scope.row.amount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="rateAmount" label="税额">
<template slot-scope="scope">
<el-input v-model="scope.row.rateAmount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="batchNo" label="批次号">
<template slot-scope="scope">
<el-input v-model="scope.row.batchNo"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="deleteUserId" label="磅单类型">
<template slot-scope="scope">
<el-select v-model="scope.row.deleteUserId"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in deleteUserIdOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="操作" width="50" >
<template slot-scope="scope">
<el-button size="mini" type="text" class="JNPF-table-delBtn" @click="delreceiptout_item0List(scope.$index)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="table-actions" @click="addreceiptout_item0List()">
<el-button type="text" icon="el-icon-plus">添加</el-button>
</div>
</el-form-item>
</el-col>
</el-tab-pane >
</el-tabs>
</el-col>
</template>
</el-form>
</el-row>
@ -122,35 +239,49 @@
isDetail: false,
dataForm: {
documentNo : '',
customerName : '',
type : "0",
sourceNo : "XS002",
amount : '',
currency : "0",
num : '',
currency : "",
issueDate : '',
sourceNo : '',
type : "",
customerName : '',
remark : '',
status : "",
issueDate : '',
status : "0",
creatorTime : "",
creatorUserName : "",
creatorUserId : "",
lastModifyUserName : "",
lastModifyUserId : "",
lastModifyTime : "",
orgnizeId : "",
departmentId : "",
lastModifyUserName : "",
receiptout_item0List:[],
},
activefqhgdj:'0',
rules:
{
amount: [
type: [
{
required: true,
message: '请至少选择一个',
trigger: 'change'
},
],
num: [
sourceNo: [
{
required: true,
message: '请至少选择一个',
trigger: 'change'
},
],
},
typeOptions:[{"fullName":"销售出库","id":"0"},{"fullName":"购销出库","id":"1"}],
sourceNocolumnOptions:[ {"label":"单据编号","value":"document_no"}, {"label":"币别","value":"currency"}, {"label":"客户名称","value":"costomer_name"},],
currencyOptions:[{"fullName":"人民币","id":"0"},{"fullName":"美元","id":"1"},{"fullName":"英镑","id":"2"}],
typeOptions:[{"fullName":"采购入库","id":"0"},{"fullName":"购赊入库","id":"1"}],
statusOptions:[{"fullName":"已保存","id":"0"},{"fullName":"审批中","id":"1"},{"fullName":"已审批","id":"2"}],
receiptout_item0licenseNocolumnOptions:[ {"label":"车辆号","value":"license_no"}, {"label":"物料名称","value":"material_name"}, {"label":"出库数量","value":"settlement"}, {"label":"计量单位","value":"unit"}, {"label":"含税单价","value":"unit_price"}, {"label":"税率","value":"rate"}, {"label":"金额","value":"price"}, {"label":"批次号","value":"poundlist_id"}, {"label":"磅单类型","value":"pound_type"},],
receiptout_item0reservoirareaIdcolumnOptions:[ {"label":"库区名称","value":"areaname"}, {"label":"最高库存","value":"maximum"}, {"label":"安全库存","value":"safety"}, {"label":"最低库存","value":"minimum"}, {"label":"仓库名称","value":"name"},],
unitOptions:[{"fullName":"吨","id":"0"},{"fullName":"千克","id":"1"}],
rateOptions:[{"fullName":"13","id":"0"},{"fullName":"9","id":"1"},{"fullName":"6","id":"2"},{"fullName":"5","id":"3"},{"fullName":"3","id":"4"},{"fullName":"0","id":"5"}],
deleteUserIdOptions:[{"fullName":"贸易","id":"0"},{"fullName":"其它","id":"1"}],
}
},
computed: {},
@ -159,6 +290,45 @@
},
mounted() {},
methods: {
popupSelectChangeSourceNo(e,d){
this.dataForm.customerName = d.costomer_name;
this.dataForm.currency = d.currency;
},
popupSelectlicenseNo(a, b){
for (let i = 0; i < this.dataForm.receiptout_item0List.length; i++) {
if(a == this.dataForm.receiptout_item0List[i].licenseNo){
this.dataForm.receiptout_item0List[i].materialName = b.material_name;
this.dataForm.receiptout_item0List[i].deliveryNum = b.settlement;
this.dataForm.receiptout_item0List[i].unit = b.unit;
this.dataForm.receiptout_item0List[i].price = b.unit_price;
this.dataForm.receiptout_item0List[i].rate = b.rate;
this.dataForm.receiptout_item0List[i].amount = b.price;
this.dataForm.receiptout_item0List[i].batchNo = b.poundlist_id;
this.dataForm.receiptout_item0List[i].deleteUserId = b.pound_type;
this.dataForm.receiptout_item0List[i].rateAmount = b.price * b.rate;
}
}
},
popupSelectChangeReservoirarea(a,b){
for (let i = 0; i < this.dataForm.receiptout_item0List.length; i++) {
if(a == this.dataForm.receiptout_item0List[i].reservoirareaId){
this.dataForm.receiptout_item0List[i].warehouseId = b.name;
}
}
},
receiptout_item0Exist() {
let isOk = true;
for(let i=0;i<this.dataForm.receiptout_item0List.length;i++){
const e = this.dataForm.receiptout_item0List[i];
}
return isOk;
},
clearData(data){
for (let key in data) {
if (data[key] instanceof Array) {
@ -195,6 +365,7 @@
dataFormSubmit() {
this.$refs['elForm'].validate((valid) => {
if (valid) {
if (!this.receiptout_item0Exist()) return
this.request()
}
})
@ -235,12 +406,38 @@
})
}
},
addreceiptout_item0List(){
let item = {
licenseNo:undefined,
materialName:undefined,
reservoirareaId:undefined,
warehouseId:undefined,
deliveryNum:undefined,
unit:undefined,
price:undefined,
rate:undefined,
amount:undefined,
rateAmount:undefined,
batchNo:undefined,
deleteUserId:undefined,
}
this.dataForm.receiptout_item0List.push(item)
},
delreceiptout_item0List(index) {
this.dataForm.receiptout_item0List.splice(index, 1);
},
dataList(){
var _data = JSON.parse(JSON.stringify(this.dataForm));
for(let i=0;i<_data.receiptout_item0List.length;i++){
var _list = _data.receiptout_item0List[i];
}
return _data;
},
dataInfo(dataAll){
let _dataAll =dataAll
for(let i=0;i<_dataAll.receiptout_item0List.length;i++){
var _list = _dataAll.receiptout_item0List[i];
}
this.dataForm = _dataAll
},
},

@ -9,6 +9,16 @@
<el-input v-model="query.documentNo" placeholder="请输入" clearable> </el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="业务类型">
<el-select v-model="query.type" placeholder="请选择"
clearable>
<el-option v-for="(item, index) in typeOptions" :key="index"
:label="item.fullName" :value="item.id"
:disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="客户名称">
<el-input v-model="query.customerName" placeholder="请输入" clearable> </el-input>
@ -46,9 +56,9 @@
<el-table-column prop="customerName" label="客户名称" width="0" align="left"
/>
<el-table-column prop="amount" label="出库金额" width="0" align="left"
sortable="custom" />
/>
<el-table-column prop="num" label="出库数量" width="0" align="left"
sortable="custom" />
/>
<el-table-column label="币别" width="0" prop="currency" algin="left"
>
<template slot-scope="scope">
@ -74,8 +84,8 @@
</template>
</el-table-column>
<el-table-column prop="creatorTime" label="创建时间" width="0" align="left"
sortable="custom" />
<el-table-column prop="creatorUserName" label="创建人" width="0" align="left"
/>
<el-table-column prop="creatorUserName" label="创建人名称" width="0" align="left"
/>
<el-table-column label="操作" fixed="right"
width="150" >
@ -115,6 +125,7 @@ width="150" >
detailVisible: false,
query: {
documentNo:undefined,
type:undefined,
customerName:undefined,
},
treeProps: {
@ -129,7 +140,7 @@ width="150" >
currentPage: 1,
pageSize: 20,
sort: "desc",
sidx: "creatorTime",
sidx: "",
},
formVisible: false,
exportBoxVisible: false,
@ -145,12 +156,12 @@ width="150" >
{prop: 'remark', label: '备注'},
{prop: 'status', label: '单据状态'},
{prop: 'creatorTime', label: '创建时间'},
{prop: 'creatorUserName', label: '创建人'},
{prop: 'creatorUserName', label: '创建人名称'},
],
typeOptions:[{"fullName":"销售出库","id":"0"},{"fullName":"购销出库","id":"1"}],
typeProps:{"label":"fullName","value":"id"},
currencyOptions:[{"fullName":"人民币","id":"0"},{"fullName":"美元","id":"1"},{"fullName":"英镑","id":"2"}],
currencyProps:{"label":"fullName","value":"id"},
typeOptions:[{"fullName":"采购入库","id":"0"},{"fullName":"购赊入库","id":"1"}],
typeProps:{"label":"fullName","value":"id"},
statusOptions:[{"fullName":"已保存","id":"0"},{"fullName":"审批中","id":"1"},{"fullName":"已审批","id":"2"}],
statusProps:{"label":"fullName","value":"id"},
}
@ -279,7 +290,7 @@ width="150" >
currentPage: 1,
pageSize: 20,
sort: "desc",
sidx: "creatorTime",
sidx: "",
}
this.initData()
},

Loading…
Cancel
Save