From e6d3207a4c961c6de9ada7263bc2994835b497b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E4=B8=96=E5=BC=BA?= Date: Thu, 5 Jan 2023 16:24:55 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PurchaseorderController.java | 429 ++++++++++++++++ .../entity/PurchaseorderEntity.java | 149 ++++++ .../entity/Purchaseorder_item0Entity.java | 129 +++++ .../mapper/PurchaseorderMapper.java | 17 + .../mapper/Purchaseorder_item0Mapper.java | 17 + .../purchaseorder/PurchaseorderCrForm.java | 100 ++++ .../purchaseorder/PurchaseorderInfoVO.java | 102 ++++ .../purchaseorder/PurchaseorderListQuery.java | 24 + .../purchaseorder/PurchaseorderListVO.java | 117 +++++ .../PurchaseorderPagination.java | 25 + .../PurchaseorderPaginationExportModel.java | 26 + .../purchaseorder/PurchaseorderUpForm.java | 120 +++++ .../Purchaseorder_item0Model.java | 70 +++ .../service/PurchaseorderService.java | 37 ++ .../service/Purchaseorder_item0Service.java | 15 + .../impl/PurchaseorderServiceImpl.java | 267 ++++++++++ .../impl/Purchaseorder_item0ServiceImpl.java | 41 ++ .../main/resources/PurchaseorderMapper.xml | 7 + .../resources/Purchaseorder_item0Mapper.xml | 7 + .../basicInformation/purchaseorder/Detail.vue | 281 +++++++++++ .../purchaseorder/ExportBox.vue | 68 +++ .../basicInformation/purchaseorder/Form.vue | 467 ++++++++++++++++++ .../basicInformation/purchaseorder/index.vue | 289 +++++++++++ 23 files changed, 2804 insertions(+) create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/controller/PurchaseorderController.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/entity/PurchaseorderEntity.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/entity/Purchaseorder_item0Entity.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/mapper/PurchaseorderMapper.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/mapper/Purchaseorder_item0Mapper.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderCrForm.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderInfoVO.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderListQuery.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderListVO.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderPagination.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderPaginationExportModel.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderUpForm.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/Purchaseorder_item0Model.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/PurchaseorderService.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/Purchaseorder_item0Service.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/PurchaseorderServiceImpl.java create mode 100644 SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/Purchaseorder_item0ServiceImpl.java create mode 100644 SC-boot/linkage-scm/src/main/resources/PurchaseorderMapper.xml create mode 100644 SC-boot/linkage-scm/src/main/resources/Purchaseorder_item0Mapper.xml create mode 100644 SC-web/src/views/scm/basicInformation/purchaseorder/Detail.vue create mode 100644 SC-web/src/views/scm/basicInformation/purchaseorder/ExportBox.vue create mode 100644 SC-web/src/views/scm/basicInformation/purchaseorder/Form.vue create mode 100644 SC-web/src/views/scm/basicInformation/purchaseorder/index.vue diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/controller/PurchaseorderController.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/controller/PurchaseorderController.java new file mode 100644 index 00000000..c88a1857 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/controller/PurchaseorderController.java @@ -0,0 +1,429 @@ + + +package jnpf.purchaseorder.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.purchaseorder.model.purchaseorder.*; +import jnpf.purchaseorder.model.purchaseorder.PurchaseorderPagination; +import jnpf.purchaseorder.entity.*; +import jnpf.purchaseorder.entity.Purchaseorder_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.purchaseorder.entity.PurchaseorderEntity; +import jnpf.purchaseorder.service.PurchaseorderService; +import jnpf.purchaseorder.entity.Purchaseorder_item0Entity; +import jnpf.purchaseorder.service.Purchaseorder_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; + +/** + * + * purchaseorder + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-01-05 + */ +@Slf4j +@RestController +@Api(tags = "purchaseorder" , value = "purchaseorder") +@RequestMapping("/api/purchaseorder/Purchaseorder") +public class PurchaseorderController { + + @Autowired + private GeneraterSwapUtil generaterSwapUtil; + + @Autowired + private ConfigValueUtil configValueUtil; + + @Autowired + private UserProvider userProvider; + + @Autowired + private PurchaseorderService purchaseorderService; + + @Autowired + private Purchaseorder_item0Service purchaseorder_item0Service; + + + + /** + * 列表 + * + * @param purchaseorderPagination + * @return + */ + @PostMapping("/getList") + public ActionResult list(@RequestBody PurchaseorderPagination purchaseorderPagination)throws IOException{ + List list= purchaseorderService.getList(purchaseorderPagination); + //处理id字段转名称,若无需转或者为空可删除 + for(PurchaseorderEntity entity:list){ + entity.setDepartmentId(generaterSwapUtil.comSelectValues(entity.getDepartmentId())); + } + List listVO=JsonUtil.getJsonToList(list,PurchaseorderListVO.class); + for(PurchaseorderListVO purchaseorderVO:listVO){ + } + + + PageListVO vo=new PageListVO(); + vo.setList(listVO); + PaginationVO page=JsonUtil.getJsonToBean(purchaseorderPagination,PaginationVO.class); + vo.setPagination(page); + return ActionResult.success(vo); + } + + + /** + * 创建 + * + * @param purchaseorderCrForm + * @return + */ + @PostMapping + @Transactional + public ActionResult create(@RequestBody @Valid PurchaseorderCrForm purchaseorderCrForm) throws DataException { + String mainId =RandomUtil.uuId(); + UserInfo userInfo=userProvider.get(); + PurchaseorderEntity entity = JsonUtil.getJsonToBean(purchaseorderCrForm, PurchaseorderEntity.class); + entity.setId(mainId); + purchaseorderService.save(entity); + List Purchaseorder_item0List = JsonUtil.getJsonToList(purchaseorderCrForm.getPurchaseorder_item0List(),Purchaseorder_item0Entity.class); + for(Purchaseorder_item0Entity entitys : Purchaseorder_item0List){ + entitys.setId(RandomUtil.uuId()); + entitys.setPurchaseorderId(entity.getId()); + + + + + + + + + + + + + purchaseorder_item0Service.save(entitys); + } + + + + return ActionResult.success("创建成功"); +} + + + + /** + * 模板下载 + * + * @return + */ + @ApiOperation("模板下载") + @GetMapping("/templateDownload") + public ActionResult TemplateDownload(){ + UserInfo userInfo=userProvider.get(); + DownloadVO vo=DownloadVO.builder().build(); + try{ + vo.setName("职员信息.xlsx"); + vo.setUrl(UploaderUtil.uploaderFile("/api/Common/DownloadModel?encryption=" ,userInfo.getId()+"#"+"职员信息.xlsx"+"#"+"Temporary")); + }catch(Exception e){ + log.error("信息导出Excel错误:{}" ,e.getMessage()); + } + return ActionResult.success(vo); + } + /** + * 导出Excel + * + * @return + */ + @ApiOperation("导出Excel") + @GetMapping("/Actions/Export") + public ActionResult Export(PurchaseorderPaginationExportModel purchaseorderPaginationExportModel) throws IOException { + if (StringUtil.isEmpty(purchaseorderPaginationExportModel.getSelectKey())){ + return ActionResult.fail("请选择导出字段"); + } + PurchaseorderPagination purchaseorderPagination=JsonUtil.getJsonToBean(purchaseorderPaginationExportModel, PurchaseorderPagination.class); + List list= purchaseorderService.getTypeList(purchaseorderPagination,purchaseorderPaginationExportModel.getDataType()); + //处理id字段转名称,若无需转或者为空可删除 + for(PurchaseorderEntity entity:list){ + entity.setDepartmentId(generaterSwapUtil.comSelectValues(entity.getDepartmentId())); + } + List listVO=JsonUtil.getJsonToList(list,PurchaseorderListVO.class); + for(PurchaseorderListVO purchaseorderVO:listVO){ + } + + //转换为map输出 + List>mapList=JsonUtil.getJsonToListMap(JsonUtil.getObjectToStringDateFormat(listVO,"yyyy-MM-dd HH:mm:ss")); + String[]keys=!StringUtil.isEmpty(purchaseorderPaginationExportModel.getSelectKey())?purchaseorderPaginationExportModel.getSelectKey().split(","):new String[0]; + UserInfo userInfo=userProvider.get(); + DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),mapList,keys,userInfo); + return ActionResult.success(vo); + } + //导出表格 + public DownloadVO creatModelExcel(String path,List>list,String[]keys,UserInfo userInfo){ + DownloadVO vo=DownloadVO.builder().build(); + List entitys=new ArrayList<>(); + if(keys.length>0){ + for(String key:keys){ + switch(key){ + case "documentno" : + entitys.add(new ExcelExportEntity("单据编号" ,"documentno")); + break; + case "suppliername" : + entitys.add(new ExcelExportEntity("供应商名称" ,"suppliername")); + break; + case "contractname" : + entitys.add(new ExcelExportEntity("合同名称" ,"contractname")); + break; + case "creatorusername" : + entitys.add(new ExcelExportEntity("制单人" ,"creatorusername")); + break; + case "departmentId" : + entitys.add(new ExcelExportEntity("采购部门" ,"departmentId")); + break; + case "contractno" : + entitys.add(new ExcelExportEntity("对方合同号" ,"contractno")); + break; + case "num" : + entitys.add(new ExcelExportEntity("数量" ,"num")); + break; + case "amount" : + entitys.add(new ExcelExportEntity("金额" ,"amount")); + break; + case "notamount" : + entitys.add(new ExcelExportEntity("不含税金额" ,"notamount")); + break; + case "currency" : + entitys.add(new ExcelExportEntity("币别 " ,"currency")); + break; + case "remark" : + entitys.add(new ExcelExportEntity("备注" ,"remark")); + break; + case "erpno" : + entitys.add(new ExcelExportEntity("ERP订单号" ,"erpno")); + break; + case "payprice" : + entitys.add(new ExcelExportEntity("已付款金额" ,"payprice")); + break; + case "invoicenum" : + entitys.add(new ExcelExportEntity("发票数量" ,"invoicenum")); + break; + case "invoiceamount" : + entitys.add(new ExcelExportEntity("发票金额" ,"invoiceamount")); + break; + case "advanceamount" : + entitys.add(new ExcelExportEntity("垫资金额" ,"advanceamount")); + break; + case "status" : + entitys.add(new ExcelExportEntity("单据状态" ,"status")); + break; + case "creatortime" : + 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"; + + String fileName = configValueUtil.getTemporaryFilePath() + name; + @Cleanup FileOutputStream output = new FileOutputStream(XSSEscape.escapePath(fileName)); + workbook.write(output); + //上传文件 + UploadUtil.uploadFile(configValueUtil.getFileType(), fileName, FileTypeEnum.TEMPORARY, name); + + vo.setName(name); + vo.setUrl(UploaderUtil.uploaderFile(userInfo.getId() + "#" + name + "#" + "Temporary")); + } catch (Exception e) { + log.error("信息导出Excel错误:{}", e.getMessage()); + e.printStackTrace(); + } + return vo; + } + + + /** + * 批量删除 + * + * @param ids + * @return + */ + @DeleteMapping("/batchRemove/{ids}") + @Transactional + public ActionResult batchRemove(@PathVariable("ids") String ids){ + String[] idList = ids.split(","); + int i =0; + for (String allId : idList){ + this.delete(allId); + i++; + } + if (i == 0 ){ + return ActionResult.fail("删除失败"); + } + return ActionResult.success("删除成功"); + } + + + /** + * 信息 + * + * @param id + * @return + */ + @GetMapping("/{id}") + public ActionResult info(@PathVariable("id") String id){ + PurchaseorderEntity entity= purchaseorderService.getInfo(id); + PurchaseorderInfoVO vo=JsonUtil.getJsonToBean(entity, PurchaseorderInfoVO.class); + + //子表 + List Purchaseorder_item0List = purchaseorderService.GetPurchaseorder_item0List(id); + for(Purchaseorder_item0Entity purchaseorder_item0Entity : Purchaseorder_item0List){ + } + vo.setPurchaseorder_item0List(JsonUtil.getJsonToList(Purchaseorder_item0List,Purchaseorder_item0Model.class )); + //副表 + return ActionResult.success(vo); + } + + /** + * 表单信息(详情页) + * + * @param id + * @return + */ + @GetMapping("/detail/{id}") + public ActionResult detailInfo(@PathVariable("id") String id){ + PurchaseorderEntity entity= purchaseorderService.getInfo(id); + PurchaseorderInfoVO vo=JsonUtil.getJsonToBean(entity, PurchaseorderInfoVO.class); + + //子表数据转换 + List jg_purchaseorder_item0List = purchaseorderService.GetPurchaseorder_item0List(id); + List jg_purchaseorder_item0ModelList = JsonUtil.getJsonToList(jg_purchaseorder_item0List,Purchaseorder_item0Model.class); + for(Purchaseorder_item0Model jg_purchaseorder_item0Model : jg_purchaseorder_item0ModelList){ + } + vo.setPurchaseorder_item0List(jg_purchaseorder_item0ModelList); + + //附表数据转换 + +//添加到详情表单对象中 + vo.setDepartmentId(generaterSwapUtil.comSelectValues(vo.getDepartmentId())); + + return ActionResult.success(vo); + } + + + + + /** + * 更新 + * + * @param id + * @return + */ + @PutMapping("/{id}") + @Transactional + public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid PurchaseorderUpForm purchaseorderUpForm) throws DataException { + UserInfo userInfo=userProvider.get(); + PurchaseorderEntity entity= purchaseorderService.getInfo(id); + if(entity!=null){ + PurchaseorderEntity subentity=JsonUtil.getJsonToBean(purchaseorderUpForm, PurchaseorderEntity.class); + purchaseorderService.update(id, subentity); + + QueryWrapper Purchaseorder_item0queryWrapper = new QueryWrapper<>(); + Purchaseorder_item0queryWrapper.lambda().eq(Purchaseorder_item0Entity::getPurchaseorderId, entity.getId()); + purchaseorder_item0Service.remove(Purchaseorder_item0queryWrapper); + + List Purchaseorder_item0List = JsonUtil.getJsonToList(purchaseorderUpForm.getPurchaseorder_item0List(),Purchaseorder_item0Entity.class); + for(Purchaseorder_item0Entity entitys : Purchaseorder_item0List){ + + + + + + + + + + + + + entitys.setId(RandomUtil.uuId()); + entitys.setPurchaseorderId(entity.getId()); + purchaseorder_item0Service.save(entitys); + } + + return ActionResult.success("更新成功"); + }else{ + return ActionResult.fail("更新失败,数据不存在"); + } + } + + + + /** + * 删除 + * + * @param id + * @return + */ + @DeleteMapping("/{id}") + @Transactional + public ActionResult delete(@PathVariable("id") String id){ + PurchaseorderEntity entity= purchaseorderService.getInfo(id); + if(entity!=null){ + purchaseorderService.delete(entity); + QueryWrapper queryWrapperPurchaseorder_item0=new QueryWrapper<>(); + queryWrapperPurchaseorder_item0.lambda().eq(Purchaseorder_item0Entity::getPurchaseorderId,entity.getId()); + purchaseorder_item0Service.remove(queryWrapperPurchaseorder_item0); + + } + return ActionResult.success("删除成功"); + } + + + + + + +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/entity/PurchaseorderEntity.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/entity/PurchaseorderEntity.java new file mode 100644 index 00000000..f012af0b --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/entity/PurchaseorderEntity.java @@ -0,0 +1,149 @@ +package jnpf.purchaseorder.entity; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import com.fasterxml.jackson.annotation.JsonProperty; + + +/** + * + * 采购订单 + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-01-05 + */ +@Data +@TableName("jg_purchaseorder") +public class PurchaseorderEntity { + + @TableId("ID") + private String id; + + @TableField("F_CREATORUSERID") + private String creatoruserid; + + @TableField("F_CREATORUSERNAME") + private String creatorusername; + + @TableField("F_CREATORTIME") + private Date creatortime; + + @TableField("F_LASTMODIFYUSERID") + private String lastmodifyuserid; + + @TableField("F_LASTMODIFYUSERNAME") + private String lastmodifyusername; + + @TableField("F_LASTMODIFYTIME") + private Date lastmodifytime; + + @TableField("F_DELETEUSERID") + private String deleteuserid; + + @TableField("F_DELETEUSERNAME") + private String deleteusername; + + @TableField("F_DELETETIME") + private Date deletetime; + + @TableField("F_DELETEMARK") + private String deletemark; + + @TableField("ORGNIZE_ID") + private String orgnizeId; + + @TableField("DEPARTMENT_ID") + private String departmentId; + + @TableField("DOCUMENTNO") + private String documentno; + + @TableField("ERPNO") + private String erpno; + + @TableField("CONTRACTCODE") + private String contractcode; + + @TableField("CONTRACTNAME") + private String contractname; + + @TableField("CONTRACTNO") + private String contractno; + + @TableField("SUPPLIERCODE") + private String suppliercode; + + @TableField("SUPPLIERNAME") + private String suppliername; + + @TableField("NUM") + private BigDecimal num; + + @TableField("AMOUNT") + private BigDecimal amount; + + @TableField("NOTAMOUNT") + private BigDecimal notamount; + + @TableField("RATE") + private BigDecimal rate; + + @TableField("POUNDNUM") + private Integer poundnum; + + @TableField("CURRENCY") + private String currency; + + @TableField("ADVANCEAMOUNT") + private BigDecimal advanceamount; + + @TableField("PAYPRICE") + private BigDecimal payprice; + + @TableField("INVOICENUM") + private BigDecimal invoicenum; + + @TableField("INVOICEAMOUNT") + private BigDecimal invoiceamount; + + @TableField("REFUNDABLENUM") + private BigDecimal refundablenum; + + @TableField("REFUNDABLEAMOUNT") + private BigDecimal refundableamount; + + @TableField("STATUS") + private String status; + + @TableField("SOURCESYSTEM") + private String sourcesystem; + + @TableField("ISSETTLE") + private String issettle; + + @TableField("ISSUE") + private String issue; + + @TableField("ISTRANSFER") + private String istransfer; + + @TableField("REMARK") + private String remark; + +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/entity/Purchaseorder_item0Entity.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/entity/Purchaseorder_item0Entity.java new file mode 100644 index 00000000..675408bb --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/entity/Purchaseorder_item0Entity.java @@ -0,0 +1,129 @@ +package jnpf.purchaseorder.entity; + +import com.alibaba.fastjson.annotation.JSONField; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import com.fasterxml.jackson.annotation.JsonProperty; + + +/** + * + * 采购订单明细 + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-01-05 + */ +@Data +@TableName("jg_purchaseorder_item0") +public class Purchaseorder_item0Entity { + + @TableId("ID") + private String id; + + @TableField("F_CREATORUSERID") + private String creatoruserid; + + @TableField("F_CREATORUSERNAME") + private String creatorusername; + + @TableField("F_CREATORTIME") + private Date creatortime; + + @TableField("F_LASTMODIFYUSERID") + private String lastmodifyuserid; + + @TableField("F_LASTMODIFYUSERNAME") + private String lastmodifyusername; + + @TableField("F_LASTMODIFYTIME") + private Date lastmodifytime; + + @TableField("F_DELETEUSERID") + private String deleteuserid; + + @TableField("F_DELETEUSERNAME") + private String deleteusername; + + @TableField("F_DELETETIME") + private Date deletetime; + + @TableField("F_DELETEMARK") + private String deletemark; + + @TableField("ORGNIZE_ID") + private String orgnizeId; + + @TableField("DEPARTMENT_ID") + private String departmentId; + + @TableField("PURCHASEORDER_ID") + private String purchaseorderId; + + @TableField("POUNDLIST_ID") + private String poundlistId; + + @TableField("LICENSENUM") + private String licensenum; + + @TableField("MATERIALCODE") + private String materialcode; + + @TableField("MATERIALNAME") + private String materialname; + + @TableField("SUPPLIERNAME") + private String suppliername; + + @TableField("POUNTDATE") + private Date pountdate; + + @TableField("POUNTUSER") + private String pountuser; + + @TableField("POUNTTYPE") + private String pounttype; + + @TableField("ADVANCE") + private String advance; + + @TableField("NETWEIGHT") + private BigDecimal netweight; + + @TableField("PRICE") + private BigDecimal price; + + @TableField("SETTLEMENT") + private BigDecimal settlement; + + @TableField("RATE") + private String rate; + + @TableField("UNIT") + private String unit; + + @TableField("AMOUNT") + private BigDecimal amount; + + @TableField("NOTAMOUNT") + private BigDecimal notamount; + + @TableField("POUNDPICTURES") + private String poundpictures; + + @TableField("VEHICLEPICTURES") + private String vehiclepictures; + + @TableField("REMARK") + private String remark; + +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/mapper/PurchaseorderMapper.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/mapper/PurchaseorderMapper.java new file mode 100644 index 00000000..53c9ca4b --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/mapper/PurchaseorderMapper.java @@ -0,0 +1,17 @@ +package jnpf.purchaseorder.mapper; + + +import jnpf.purchaseorder.entity.PurchaseorderEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * + * purchaseorder + * 版本: V3.2.0 + * 版权: LINKAGE-BOOT + * 作者: LINKAGE-BOOT研发团队 + * 日期: 2023-01-05 + */ +public interface PurchaseorderMapper extends BaseMapper { + +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/mapper/Purchaseorder_item0Mapper.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/mapper/Purchaseorder_item0Mapper.java new file mode 100644 index 00000000..506c8da8 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/mapper/Purchaseorder_item0Mapper.java @@ -0,0 +1,17 @@ +package jnpf.purchaseorder.mapper; + + +import jnpf.purchaseorder.entity.Purchaseorder_item0Entity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * + * jg_purchaseorder_item0 + * 版本: V3.2.0 + * 版权: LINKAGE-BOOT + * 作者: LINKAGE-BOOT研发团队 + * 日期: 2023-01-05 + */ +public interface Purchaseorder_item0Mapper extends BaseMapper { + +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderCrForm.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderCrForm.java new file mode 100644 index 00000000..35c2a040 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderCrForm.java @@ -0,0 +1,100 @@ + + +package jnpf.purchaseorder.model.purchaseorder; + +import jnpf.purchaseorder.model.purchaseorder.Purchaseorder_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-01-05 + */ +@Data +public class PurchaseorderCrForm { + + /** 单据编号 **/ + @JsonProperty("documentno") + private String documentno; + + /** 供应商名称 **/ + @JsonProperty("suppliername") + private String suppliername; + + /** 合同名称 **/ + @JsonProperty("contractname") + private String contractname; + + /** 制单人 **/ + @JsonProperty("creatorusername") + private String creatorusername; + + /** 采购部门 **/ + @JsonProperty("departmentId") + private String departmentId; + + /** 对方合同号 **/ + @JsonProperty("contractno") + private String contractno; + + /** 数量 **/ + @JsonProperty("num") + private Integer num; + + /** 金额 **/ + @JsonProperty("amount") + private String amount; + + /** 不含税金额 **/ + @JsonProperty("notamount") + private String notamount; + + /** 币别 **/ + @JsonProperty("currency") + private String currency; + + /** 备注 **/ + @JsonProperty("remark") + private String remark; + + /** ERP订单号 **/ + @JsonProperty("erpno") + private String erpno; + + /** 已付款金额 **/ + @JsonProperty("payprice") + private String payprice; + + /** 发票数量 **/ + @JsonProperty("invoicenum") + private String invoicenum; + + /** 发票金额 **/ + @JsonProperty("invoiceamount") + private String invoiceamount; + + /** 垫资金额 **/ + @JsonProperty("advanceamount") + private String advanceamount; + + /** 单据状态 **/ + @JsonProperty("status") + private String status; + + /** 制单时间 **/ + @JsonProperty("creatortime") + private Long creatortime; + + /** 子表数据 **/ + @JsonProperty("purchaseorder_item0List") + private List purchaseorder_item0List; + + +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderInfoVO.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderInfoVO.java new file mode 100644 index 00000000..3d0dbcb7 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderInfoVO.java @@ -0,0 +1,102 @@ + + + +package jnpf.purchaseorder.model.purchaseorder; + +import jnpf.purchaseorder.model.purchaseorder.Purchaseorder_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-01-05 + */ +@Data +public class PurchaseorderInfoVO{ + /** 主键 **/ + @JsonProperty("id") + private String id; + + /** 单据编号 **/ + @JsonProperty("documentno") + private String documentno; + + /** 供应商名称 **/ + @JsonProperty("suppliername") + private String suppliername; + + /** 合同名称 **/ + @JsonProperty("contractname") + private String contractname; + + /** 制单人 **/ + @JsonProperty("creatorusername") + private String creatorusername; + + /** 采购部门 **/ + @JsonProperty("departmentId") + private String departmentId; + + /** 对方合同号 **/ + @JsonProperty("contractno") + private String contractno; + + /** 数量 **/ + @JsonProperty("num") + private Integer num; + + /** 金额 **/ + @JsonProperty("amount") + private String amount; + + /** 不含税金额 **/ + @JsonProperty("notamount") + private String notamount; + + /** 币别 **/ + @JsonProperty("currency") + private String currency; + + /** 备注 **/ + @JsonProperty("remark") + private String remark; + + /** ERP订单号 **/ + @JsonProperty("erpno") + private String erpno; + + /** 已付款金额 **/ + @JsonProperty("payprice") + private String payprice; + + /** 发票数量 **/ + @JsonProperty("invoicenum") + private String invoicenum; + + /** 发票金额 **/ + @JsonProperty("invoiceamount") + private String invoiceamount; + + /** 垫资金额 **/ + @JsonProperty("advanceamount") + private String advanceamount; + + /** 单据状态 **/ + @JsonProperty("status") + private String status; + + /** 制单时间 **/ + @JsonProperty("creatortime") + private Long creatortime; + + /** 子表数据 **/ + @JsonProperty("purchaseorder_item0List") + private List purchaseorder_item0List; +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderListQuery.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderListQuery.java new file mode 100644 index 00000000..684a3de2 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderListQuery.java @@ -0,0 +1,24 @@ +package jnpf.purchaseorder.model.purchaseorder; + +import lombok.Data; +import java.util.Date; +import jnpf.base.Pagination; +import java.util.List; +/** + * + * + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-01-05 + */ +@Data +public class PurchaseorderListQuery extends Pagination { + + /** 单据编号 */ + private String documentno; + /** + * 菜单id + */ + private String menuId; +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderListVO.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderListVO.java new file mode 100644 index 00000000..0be933b6 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderListVO.java @@ -0,0 +1,117 @@ + + +package jnpf.purchaseorder.model.purchaseorder; + + +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-01-05 + */ +@Data +public class PurchaseorderListVO{ + + /** 主键 */ + private String id; + + + /** 单据编号 **/ + @JsonProperty("documentno") + private String documentno; + + + /** 供应商名称 **/ + @JsonProperty("suppliername") + private String suppliername; + + + /** 合同名称 **/ + @JsonProperty("contractname") + private String contractname; + + + /** 制单人 **/ + @JsonProperty("creatorusername") + private String creatorusername; + + + /** 采购部门 **/ + @JsonProperty("departmentId") + private String departmentId; + + + /** 对方合同号 **/ + @JsonProperty("contractno") + private String contractno; + + + /** 数量 **/ + @JsonProperty("num") + private Integer num; + + /** 金额 **/ + @JsonProperty("amount") + private String amount; + + + /** 不含税金额 **/ + @JsonProperty("notamount") + private String notamount; + + + /** 币别 **/ + @JsonProperty("currency") + private String currency; + + + /** 备注 **/ + @JsonProperty("remark") + private String remark; + + + /** ERP订单号 **/ + @JsonProperty("erpno") + private String erpno; + + + /** 已付款金额 **/ + @JsonProperty("payprice") + private String payprice; + + + /** 发票数量 **/ + @JsonProperty("invoicenum") + private String invoicenum; + + + /** 发票金额 **/ + @JsonProperty("invoiceamount") + private String invoiceamount; + + + /** 垫资金额 **/ + @JsonProperty("advanceamount") + private String advanceamount; + + + /** 单据状态 **/ + @JsonProperty("status") + private String status; + + + /** 制单时间 **/ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @JsonProperty("creatortime") + private Date creatortime; + + +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderPagination.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderPagination.java new file mode 100644 index 00000000..52eb5a7c --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderPagination.java @@ -0,0 +1,25 @@ +package jnpf.purchaseorder.model.purchaseorder; + + +import lombok.Data; +import jnpf.base.Pagination; +import java.util.List; + +/** + * + * + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-01-05 + */ +@Data +public class PurchaseorderPagination extends Pagination { + + /** 单据编号 */ + private String documentno; + /** + * 菜单id + */ + private String menuId; +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderPaginationExportModel.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderPaginationExportModel.java new file mode 100644 index 00000000..28dee8c6 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderPaginationExportModel.java @@ -0,0 +1,26 @@ +package jnpf.purchaseorder.model.purchaseorder; + +import lombok.Data; +import jnpf.base.Pagination; +import java.util.*; +/** + * + * + * @版本: V3.2.0 + * @版权: LINKAGE-BOOT + * @作者: LINKAGE-BOOT研发团队 + * @日期: 2023-01-05 + */ +@Data +public class PurchaseorderPaginationExportModel extends Pagination { + + private String selectKey; + + private String json; + + private String dataType; + + + /** 单据编号 */ + private String documentno; +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderUpForm.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderUpForm.java new file mode 100644 index 00000000..da6fccef --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/PurchaseorderUpForm.java @@ -0,0 +1,120 @@ + + +package jnpf.purchaseorder.model.purchaseorder; + +import jnpf.purchaseorder.model.purchaseorder.Purchaseorder_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-01-05 + */ +@Data +public class PurchaseorderUpForm{ + /** 主键 */ + private String id; + + + /** 单据编号 **/ + @JsonProperty("documentno") + private String documentno; + + + /** 供应商名称 **/ + @JsonProperty("suppliername") + private String suppliername; + + + /** 合同名称 **/ + @JsonProperty("contractname") + private String contractname; + + + /** 制单人 **/ + @JsonProperty("creatorusername") + private String creatorusername; + + + /** 采购部门 **/ + @JsonProperty("departmentId") + private String departmentId; + + + /** 对方合同号 **/ + @JsonProperty("contractno") + private String contractno; + + + /** 数量 **/ + @JsonProperty("num") + private Integer num; + + + /** 金额 **/ + @JsonProperty("amount") + private String amount; + + + /** 不含税金额 **/ + @JsonProperty("notamount") + private String notamount; + + + /** 币别 **/ + @JsonProperty("currency") + private String currency; + + + /** 备注 **/ + @JsonProperty("remark") + private String remark; + + + /** ERP订单号 **/ + @JsonProperty("erpno") + private String erpno; + + + /** 已付款金额 **/ + @JsonProperty("payprice") + private String payprice; + + + /** 发票数量 **/ + @JsonProperty("invoicenum") + private String invoicenum; + + + /** 发票金额 **/ + @JsonProperty("invoiceamount") + private String invoiceamount; + + + /** 垫资金额 **/ + @JsonProperty("advanceamount") + private String advanceamount; + + + /** 单据状态 **/ + @JsonProperty("status") + private String status; + + + /** 制单时间 **/ + @JsonProperty("creatortime") + private Long creatortime; + + /** 子表数据 **/ + @JsonProperty("purchaseorder_item0List") + private List purchaseorder_item0List; + +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/Purchaseorder_item0Model.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/Purchaseorder_item0Model.java new file mode 100644 index 00000000..f475b82c --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/model/purchaseorder/Purchaseorder_item0Model.java @@ -0,0 +1,70 @@ +package jnpf.purchaseorder.model.purchaseorder; + +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-01-05 + */ +@Data +public class Purchaseorder_item0Model { + + /** 车牌号 **/ + @JsonProperty("licensenum") + private String licensenum; + + /** 物料名称 **/ + @JsonProperty("materialname") + private String materialname; + + /** 类型 **/ + @JsonProperty("pounttype") + private String pounttype; + + /** 净重 **/ + @JsonProperty("netweight") + private String netweight; + + /** 单位 **/ + @JsonProperty("unit") + private String unit; + + /** 是否垫资 **/ + @JsonProperty("advance") + private String advance; + + /** 单价 **/ + @JsonProperty("price") + private String price; + + /** 结算重量 **/ + @JsonProperty("settlement") + private String settlement; + + /** 税率 **/ + @JsonProperty("rate") + private String rate; + + /** 金额 **/ + @JsonProperty("amount") + private String amount; + + /** 不含税金额 **/ + @JsonProperty("notamount") + private String notamount; + + /** 备注 **/ + @JsonProperty("remark") + private String remark; + + +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/PurchaseorderService.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/PurchaseorderService.java new file mode 100644 index 00000000..18355448 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/PurchaseorderService.java @@ -0,0 +1,37 @@ +package jnpf.purchaseorder.service; +import jnpf.purchaseorder.entity.Purchaseorder_item0Entity; +import jnpf.purchaseorder.service.Purchaseorder_item0Service; + +import jnpf.purchaseorder.entity.PurchaseorderEntity; +import com.baomidou.mybatisplus.extension.service.IService; +import jnpf.purchaseorder.model.purchaseorder.PurchaseorderPagination; +import java.util.*; +/** + * + * purchaseorder + * 版本: V3.2.0 + * 版权: LINKAGE-BOOT + * 作者: LINKAGE-BOOT研发团队 + * 日期: 2023-01-05 + */ +public interface PurchaseorderService extends IService { + + List getList(PurchaseorderPagination purchaseorderPagination); + + List getTypeList(PurchaseorderPagination purchaseorderPagination,String dataType); + + + + PurchaseorderEntity getInfo(String id); + + void delete(PurchaseorderEntity entity); + + void create(PurchaseorderEntity entity); + + boolean update( String id, PurchaseorderEntity entity); + +// 子表方法 + List GetPurchaseorder_item0List(String id); + + //列表子表数据方法 +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/Purchaseorder_item0Service.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/Purchaseorder_item0Service.java new file mode 100644 index 00000000..37a17bcc --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/Purchaseorder_item0Service.java @@ -0,0 +1,15 @@ +package jnpf.purchaseorder.service; + +import jnpf.purchaseorder.entity.Purchaseorder_item0Entity; +import com.baomidou.mybatisplus.extension.service.IService; +/** + * + * jg_purchaseorder_item0 + * 版本: V3.2.0 + * 版权: LINKAGE-BOOT + * 作者: LINKAGE-BOOT研发团队 + * 日期: 2023-01-05 + */ +public interface Purchaseorder_item0Service extends IService { + +} diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/PurchaseorderServiceImpl.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/PurchaseorderServiceImpl.java new file mode 100644 index 00000000..ffe65e41 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/PurchaseorderServiceImpl.java @@ -0,0 +1,267 @@ +package jnpf.purchaseorder.service.impl; + +import jnpf.purchaseorder.entity.*; +import jnpf.purchaseorder.mapper.PurchaseorderMapper; +import jnpf.purchaseorder.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.purchaseorder.model.purchaseorder.PurchaseorderPagination; + +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.*; + +/** + * + * purchaseorder + * 版本: V3.2.0 + * 版权: LINKAGE-BOOT + * 作者: LINKAGE-BOOT研发团队 + * 日期: 2023-01-05 + */ +@Service +public class PurchaseorderServiceImpl extends ServiceImpl implements PurchaseorderService{ + + + @Autowired + private UserProvider userProvider; + + @Autowired + private AuthorizeService authorizeService; + + + @Autowired + private Purchaseorder_item0Service purchaseorder_item0Service; + + + + + @Override + public List getList(PurchaseorderPagination purchaseorderPagination){ + String userId=userProvider.get().getUserId(); + List AllIdList =new ArrayList(); + int total=0; + int purchaseorderNum =0; + QueryWrapper purchaseorderQueryWrapper=new QueryWrapper<>(); + int purchaseorder_item0Num =0; + QueryWrapper purchaseorder_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 purchaseorderObj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorderQueryWrapper,purchaseorderPagination.getMenuId(),"purchaseorder")); + if (ObjectUtil.isEmpty(purchaseorderObj)){ + return new ArrayList<>(); + } else { + purchaseorderQueryWrapper = (QueryWrapper)purchaseorderObj; + purchaseorderNum++; + } + Object purchaseorder_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorder_item0QueryWrapper,purchaseorderPagination.getMenuId(),"purchaseorder_item0")); + if (ObjectUtil.isEmpty(purchaseorder_item0Obj)){ + return new ArrayList<>(); + } else { + purchaseorder_item0QueryWrapper = (QueryWrapper)purchaseorder_item0Obj; + purchaseorder_item0Num++; + } + } + } + if(!isPc && appPermission){ + if (!userProvider.get().getIsAdministrator()){ + Object purchaseorderObj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorderQueryWrapper,purchaseorderPagination.getMenuId(),"purchaseorder")); + if (ObjectUtil.isEmpty(purchaseorderObj)){ + return new ArrayList<>(); + } else { + purchaseorderQueryWrapper = (QueryWrapper)purchaseorderObj; + purchaseorderNum++; + } + + + Object purchaseorder_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorder_item0QueryWrapper,purchaseorderPagination.getMenuId(),"purchaseorder_item0")); + if (ObjectUtil.isEmpty(purchaseorder_item0Obj)){ + return new ArrayList<>(); + } else { + purchaseorder_item0QueryWrapper = (QueryWrapper)purchaseorder_item0Obj; + purchaseorder_item0Num++; + } + + + } + } + if(StringUtil.isNotEmpty(purchaseorderPagination.getDocumentno())){ + purchaseorderNum++; + purchaseorderQueryWrapper.lambda().like(PurchaseorderEntity::getDocumentno,purchaseorderPagination.getDocumentno()); + } + + if(AllIdList.size()>0){ + purchaseorderQueryWrapper.lambda().in(PurchaseorderEntity::getId, AllIdList); + } + //排序 + if(StringUtil.isEmpty(purchaseorderPagination.getSidx())){ + purchaseorderQueryWrapper.lambda().orderByDesc(PurchaseorderEntity::getId); + }else{ + try { + String sidx = purchaseorderPagination.getSidx(); + PurchaseorderEntity purchaseorderEntity = new PurchaseorderEntity(); + Field declaredField = purchaseorderEntity.getClass().getDeclaredField(sidx); + declaredField.setAccessible(true); + String value = declaredField.getAnnotation(TableField.class).value(); + purchaseorderQueryWrapper="asc".equals(purchaseorderPagination.getSort().toLowerCase())?purchaseorderQueryWrapper.orderByAsc(value):purchaseorderQueryWrapper.orderByDesc(value); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + } + if((total>0 && AllIdList.size()>0) || total==0){ + Page page=new Page<>(purchaseorderPagination.getCurrentPage(), purchaseorderPagination.getPageSize()); + IPage userIPage=this.page(page, purchaseorderQueryWrapper); + return purchaseorderPagination.setData(userIPage.getRecords(),userIPage.getTotal()); + }else{ + List list = new ArrayList(); + return purchaseorderPagination.setData(list, list.size()); + } + } + @Override + public List getTypeList(PurchaseorderPagination purchaseorderPagination,String dataType){ + String userId=userProvider.get().getUserId(); + List AllIdList =new ArrayList(); + int total=0; + int purchaseorderNum =0; + QueryWrapper purchaseorderQueryWrapper=new QueryWrapper<>(); + int purchaseorder_item0Num =0; + QueryWrapper purchaseorder_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 purchaseorderObj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorderQueryWrapper,purchaseorderPagination.getMenuId(),"purchaseorder")); + if (ObjectUtil.isEmpty(purchaseorderObj)){ + return new ArrayList<>(); + } else { + purchaseorderQueryWrapper = (QueryWrapper)purchaseorderObj; + purchaseorderNum++; + } + Object purchaseorder_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorder_item0QueryWrapper,purchaseorderPagination.getMenuId(),"purchaseorder_item0")); + if (ObjectUtil.isEmpty(purchaseorder_item0Obj)){ + return new ArrayList<>(); + } else { + purchaseorder_item0QueryWrapper = (QueryWrapper)purchaseorder_item0Obj; + purchaseorder_item0Num++; + } + } + } + if(!isPc && appPermission){ + if (!userProvider.get().getIsAdministrator()){ + Object purchaseorderObj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorderQueryWrapper,purchaseorderPagination.getMenuId(),"purchaseorder")); + if (ObjectUtil.isEmpty(purchaseorderObj)){ + return new ArrayList<>(); + } else { + purchaseorderQueryWrapper = (QueryWrapper)purchaseorderObj; + purchaseorderNum++; + } + + + Object purchaseorder_item0Obj=authorizeService.getCondition(new AuthorizeConditionModel(purchaseorder_item0QueryWrapper,purchaseorderPagination.getMenuId(),"purchaseorder_item0")); + if (ObjectUtil.isEmpty(purchaseorder_item0Obj)){ + return new ArrayList<>(); + } else { + purchaseorder_item0QueryWrapper = (QueryWrapper)purchaseorder_item0Obj; + purchaseorder_item0Num++; + } + + + } + } + if(StringUtil.isNotEmpty(purchaseorderPagination.getDocumentno())){ + purchaseorderNum++; + purchaseorderQueryWrapper.lambda().like(PurchaseorderEntity::getDocumentno,purchaseorderPagination.getDocumentno()); + } + + if(AllIdList.size()>0){ + purchaseorderQueryWrapper.lambda().in(PurchaseorderEntity::getId, AllIdList); + } + //排序 + if(StringUtil.isEmpty(purchaseorderPagination.getSidx())){ + purchaseorderQueryWrapper.lambda().orderByDesc(PurchaseorderEntity::getId); + }else{ + try { + String sidx = purchaseorderPagination.getSidx(); + PurchaseorderEntity purchaseorderEntity = new PurchaseorderEntity(); + Field declaredField = purchaseorderEntity.getClass().getDeclaredField(sidx); + declaredField.setAccessible(true); + String value = declaredField.getAnnotation(TableField.class).value(); + purchaseorderQueryWrapper="asc".equals(purchaseorderPagination.getSort().toLowerCase())?purchaseorderQueryWrapper.orderByAsc(value):purchaseorderQueryWrapper.orderByDesc(value); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + } + if("0".equals(dataType)){ + if((total>0 && AllIdList.size()>0) || total==0){ + Page page=new Page<>(purchaseorderPagination.getCurrentPage(), purchaseorderPagination.getPageSize()); + IPage userIPage=this.page(page, purchaseorderQueryWrapper); + return purchaseorderPagination.setData(userIPage.getRecords(),userIPage.getTotal()); + }else{ + List list = new ArrayList(); + return purchaseorderPagination.setData(list, list.size()); + } + }else{ + return this.list(purchaseorderQueryWrapper); + } + } + + @Override + public PurchaseorderEntity getInfo(String id){ + QueryWrapper queryWrapper=new QueryWrapper<>(); + queryWrapper.lambda().eq(PurchaseorderEntity::getId,id); + return this.getOne(queryWrapper); + } + + @Override + public void create(PurchaseorderEntity entity){ + this.save(entity); + } + + @Override + public boolean update(String id, PurchaseorderEntity entity){ + entity.setId(id); + return this.updateById(entity); + } + @Override + public void delete(PurchaseorderEntity entity){ + if(entity!=null){ + this.removeById(entity.getId()); + } + } + //子表方法 + @Override + public List GetPurchaseorder_item0List(String id){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(Purchaseorder_item0Entity::getPurchaseorderId, id); + return purchaseorder_item0Service.list(queryWrapper); + } + + //列表子表数据方法 + + +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/Purchaseorder_item0ServiceImpl.java b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/Purchaseorder_item0ServiceImpl.java new file mode 100644 index 00000000..575d17b3 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/java/jnpf/purchaseorder/service/impl/Purchaseorder_item0ServiceImpl.java @@ -0,0 +1,41 @@ +package jnpf.purchaseorder.service.impl; + +import jnpf.purchaseorder.entity.*; +import jnpf.purchaseorder.mapper.Purchaseorder_item0Mapper; +import jnpf.purchaseorder.service.*; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jnpf.util.RandomUtil; +import java.math.BigDecimal; +import cn.hutool.core.util.ObjectUtil; +import jnpf.permission.model.authorize.AuthorizeConditionModel; + + + + + + + + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import java.text.SimpleDateFormat; +import jnpf.util.*; +import java.util.*; + +/** + * + * jg_purchaseorder_item0 + * 版本: V3.2.0 + * 版权: LINKAGE-BOOT + * 作者: LINKAGE-BOOT研发团队 + * 日期: 2023-01-05 + */ +@Service +public class Purchaseorder_item0ServiceImpl extends ServiceImpl implements Purchaseorder_item0Service{ + + +} \ No newline at end of file diff --git a/SC-boot/linkage-scm/src/main/resources/PurchaseorderMapper.xml b/SC-boot/linkage-scm/src/main/resources/PurchaseorderMapper.xml new file mode 100644 index 00000000..8be9fa6a --- /dev/null +++ b/SC-boot/linkage-scm/src/main/resources/PurchaseorderMapper.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SC-boot/linkage-scm/src/main/resources/Purchaseorder_item0Mapper.xml b/SC-boot/linkage-scm/src/main/resources/Purchaseorder_item0Mapper.xml new file mode 100644 index 00000000..4f111661 --- /dev/null +++ b/SC-boot/linkage-scm/src/main/resources/Purchaseorder_item0Mapper.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SC-web/src/views/scm/basicInformation/purchaseorder/Detail.vue b/SC-web/src/views/scm/basicInformation/purchaseorder/Detail.vue new file mode 100644 index 00000000..757d3b4b --- /dev/null +++ b/SC-web/src/views/scm/basicInformation/purchaseorder/Detail.vue @@ -0,0 +1,281 @@ + + diff --git a/SC-web/src/views/scm/basicInformation/purchaseorder/ExportBox.vue b/SC-web/src/views/scm/basicInformation/purchaseorder/ExportBox.vue new file mode 100644 index 00000000..e61a2182 --- /dev/null +++ b/SC-web/src/views/scm/basicInformation/purchaseorder/ExportBox.vue @@ -0,0 +1,68 @@ + + + + \ No newline at end of file diff --git a/SC-web/src/views/scm/basicInformation/purchaseorder/Form.vue b/SC-web/src/views/scm/basicInformation/purchaseorder/Form.vue new file mode 100644 index 00000000..739f86ef --- /dev/null +++ b/SC-web/src/views/scm/basicInformation/purchaseorder/Form.vue @@ -0,0 +1,467 @@ + + diff --git a/SC-web/src/views/scm/basicInformation/purchaseorder/index.vue b/SC-web/src/views/scm/basicInformation/purchaseorder/index.vue new file mode 100644 index 00000000..c93b8014 --- /dev/null +++ b/SC-web/src/views/scm/basicInformation/purchaseorder/index.vue @@ -0,0 +1,289 @@ + + +