diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/purchaserequisition/PurchaseRequisition.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/purchaserequisition/PurchaseRequisition.java index 1e398463..972ad7f1 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/purchaserequisition/PurchaseRequisition.java +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/purchaserequisition/PurchaseRequisition.java @@ -38,6 +38,8 @@ public class PurchaseRequisition extends BaseEntity { private String supplierName; // 供应商名称 @ApiModelProperty("供应商编码") private String supplierCode; // 供应商编码 + @ApiModelProperty("供应商唯一编码") + private String supplierOnlyCode; // 供应商编码 @ApiModelProperty("物流公司名称") private String logisticsCompanyName; // 物流公司名称 @ApiModelProperty("物流公司编码") @@ -56,4 +58,17 @@ public class PurchaseRequisition extends BaseEntity { private String completionStatus;//完成状态 @ApiModelProperty("完成状态") private String completionStatusKey;//完成状态 + + + @ApiModelProperty("监管0未审核,1审核通过,2审核不通过") + private String purchaseState = "0"; + + @ApiModelProperty("监管审批意见") + private String purchaseRemarks; + + @ApiModelProperty("银行0未审核,1审核通过,2审核不通过") + private String bankState = "0"; // 银行0未审核,1审核通过,2审核不通过', + + @ApiModelProperty("银行审批意见") + private String bankRemarks; // 银行审批意见', } diff --git a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/purchaserequisitionpro/PurchaseRequisitionPro.java b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/purchaserequisitionpro/PurchaseRequisitionPro.java index 4755f0c5..514dfd43 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/purchaserequisitionpro/PurchaseRequisitionPro.java +++ b/yxt_supervise/supervise-customer/supervise-customer-api/src/main/java/com/yxt/supervise/customer/api/purchaserequisitionpro/PurchaseRequisitionPro.java @@ -58,4 +58,10 @@ public class PurchaseRequisitionPro extends BaseEntity { private String secondCode;// 第二代码 @ApiModelProperty("零售金额") private String retailAmount;// 零售金额 + @ApiModelProperty("含税金额") + private Double taxInclusiveAmount;// 含税金额 + @ApiModelProperty("配货金额") + private Double distributionAmount;// 配货金额 + @ApiModelProperty("订单编号") + private String preqCode;// 订单编号 } diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/productinformation/ProductInformationService.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/productinformation/ProductInformationService.java index f530be20..ed63f76a 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/productinformation/ProductInformationService.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/productinformation/ProductInformationService.java @@ -536,4 +536,13 @@ public class ProductInformationService extends MybatisBaseService qw = new QueryWrapper<>(); + qw.eq("code",proCode); + List list = baseMapper.selectList(qw); + if(list==null||list.isEmpty()) + return null; + return list.get(0); + } } \ No newline at end of file diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionMapper.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionMapper.java index 10cf5175..a0400b5a 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionMapper.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionMapper.java @@ -14,6 +14,7 @@ import com.yxt.supervise.customer.api.restrictedbrand.RestrictedBrand; import com.yxt.supervise.customer.api.restrictedbrand.RestrictedBrandVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -27,4 +28,8 @@ public interface PurchaseRequisitionMapper extends BaseMapper selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); //查询导出的数据 List exportExcel(@Param(Constants.WRAPPER) Wrapper qw); + @Select("select sum(packageTotalPrice) amount from purchase_requisition_pro prp " + + "left join purchase_requisition pr on pr.sid =prp.mainSid " + + "where pr.purchaseState=1 and pr.bankState=1 and pr.supplierOnlyCode=#{supplierOnlyCode}") + double amountBySupplierOnlyCode(@Param("supplierOnlyCode") String supplierOnlyCode); } diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionRest.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionRest.java index 157b28fa..4e361068 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionRest.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionRest.java @@ -4,17 +4,14 @@ import com.alibaba.excel.EasyExcel; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.supervise.customer.api.gdwholesalegd.GdWholesaleGdExcelVo; -import com.yxt.supervise.customer.api.gdwholesalegd.GdWholesaleGdQuery; -import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisitionExcelVo; -import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisitionFeign; -import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisitionQuery; -import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisitionVo; -import com.yxt.supervise.customer.api.restrictedbrand.RestrictedBrandQuery; -import com.yxt.supervise.customer.api.restrictedbrand.RestrictedBrandVo; +import com.yxt.supervise.customer.api.purchaserequisition.*; +import com.yxt.supervise.customer.api.purchaserequisitionpro.PurchaseRequisitionPro; +import com.yxt.supervise.customer.api.supplierbankinfo.PurchaseRequisitionCheckVo; +import com.yxt.supervise.customer.biz.supplierbankinfo.SupplierBankInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -35,7 +32,10 @@ import java.util.List; public class PurchaseRequisitionRest implements PurchaseRequisitionFeign { @Autowired - PurchaseRequisitionService purchaseRequisitionService; + private PurchaseRequisitionService purchaseRequisitionService; + @Autowired + private SupplierBankInfoService supplierBankInfoService; + @ApiOperation("根据条件分页查询数据的列表") @PostMapping("/listPage") public ResultBean> listPage(@RequestBody PagerQuery pq) { @@ -43,15 +43,16 @@ public class PurchaseRequisitionRest implements PurchaseRequisitionFeign { PagerVo pv = purchaseRequisitionService.listPageVo(pq); return rb.success().setData(pv); } + @PostMapping("/exportExcel") @ApiOperation(value = "采购订单数据导出") public void exportExcel(@RequestBody PagerQuery pq, HttpServletResponse response) throws IOException { //得到所有要导出的数据 List excelVos = purchaseRequisitionService.exportExcel(pq); String fileName = "采购订单" + System.currentTimeMillis() + ".xlsx"; - response.setContentType( "application/vnd.ms-excel"); + response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf8"); - response.setHeader("Content-disposition","attachment;filename="+ fileName ); + response.setHeader("Content-disposition", "attachment;filename=" + fileName); // 这里 需要指定写用哪个class去读,然后写到第一个sheet,名字为模板 然后文件流会自动关闭 // 如果这里想使用03 则 传入excelType参数即可 ServletOutputStream outputStream = response.getOutputStream(); @@ -62,9 +63,14 @@ public class PurchaseRequisitionRest implements PurchaseRequisitionFeign { @ApiOperation("上传采购订单的EXCEL文件") @PostMapping(value = "/uploadXlsxFile") - public ResultBean importBrandSort(@RequestParam("file") MultipartFile file) { + public ResultBean uploadXlsxFile(@RequestParam("file") MultipartFile file) { ResultBean rb = ResultBean.fireFail(); - log.debug("---{},{}", file.getOriginalFilename(), file.getName()); + String filename = file.getOriginalFilename(); + if (StringUtils.isBlank(filename)) + return rb.setMsg("文件名不可为空"); + if (filename.length() < 15) + return rb.setMsg("文件名格式错误"); + rb = purchaseRequisitionService.uploadXlsxFile(file); return rb; } @@ -74,4 +80,28 @@ public class PurchaseRequisitionRest implements PurchaseRequisitionFeign { log.debug("--checkCodeByFileName---{}", filename); return purchaseRequisitionService.checkCodeByFileName(filename); } + + @ApiOperation("检测供应商信息状态") + @GetMapping("/checkSupplier/{sid}") + public ResultBean> checkSupplier(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + List list = supplierBankInfoService.checkPurchaseRequisition(sid); + return rb.success().setData(list); + } + + @ApiOperation("请求审核状态改为通过") + @GetMapping("/updatePurchaseStateSucess/{sid}") + public ResultBean updatePurchaseStateSucess(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + purchaseRequisitionService.updatePurchaseStateSucess(sid); + return rb.success(); + } + + @ApiOperation("上传后待提交给银行的订单列表") + @GetMapping("/listOfCheck") + public ResultBean> listOfCheck() { + ResultBean rb = ResultBean.fireFail(); + List pv = purchaseRequisitionService.listOfCheck(); + return rb.success().setData(pv); + } } diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionService.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionService.java index 89409eef..7b29df4d 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionService.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisition/PurchaseRequisitionService.java @@ -1,35 +1,39 @@ package com.yxt.supervise.customer.biz.purchaserequisition; -import com.alibaba.fastjson.JSONObject; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.builder.ExcelReaderBuilder; +import com.alibaba.excel.read.listener.ReadListener; +import com.alibaba.excel.read.metadata.holder.ReadRowHolder; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.supervise.customer.api.gdwholesalegd.GdWholesaleGd; -import com.yxt.supervise.customer.api.gdwholesalegd.GdWholesaleGdExcelVo; -import com.yxt.supervise.customer.api.gdwholesalegd.GdWholesaleGdQuery; import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisition; import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisitionExcelVo; import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisitionQuery; import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisitionVo; -import com.yxt.supervise.customer.api.restrictedbrand.RestrictedBrand; -import com.yxt.supervise.customer.api.restrictedbrand.RestrictedBrandQuery; -import com.yxt.supervise.customer.api.restrictedbrand.RestrictedBrandVo; +import com.yxt.supervise.customer.api.purchaserequisitionpro.PurchaseRequisitionPro; +import com.yxt.supervise.customer.biz.purchaserequisitionpro.PurchaseRequisitionProService; +import com.yxt.supervise.customer.tools.StrTool; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.ss.usermodel.CellType; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.math.BigDecimal; import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -40,6 +44,8 @@ import java.util.Map; @Service public class PurchaseRequisitionService extends MybatisBaseService { + @Autowired + private PurchaseRequisitionProService purchaseRequisitionProService; public PagerVo listPageVo(PagerQuery pq) { PurchaseRequisitionQuery query = pq.getParams(); @@ -66,6 +72,7 @@ public class PurchaseRequisitionService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return p; } + public List exportExcel(PagerQuery pq) { PurchaseRequisitionQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -90,513 +97,219 @@ public class PurchaseRequisitionService extends MybatisBaseService checkCodeByFileName(String filename) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(filename)) + return rb.setMsg("文件名不可为空"); + if (filename.length() < 15) + return rb.setMsg("文件名格式错误"); + String code = filename.substring(0, 14); + PurchaseRequisition purchaseRequisition = fetchByCode(code); + if (purchaseRequisition == null) + return rb.success().setData("nothas"); + return rb.success().setData("hased"); + } - public void supplierAnalysis() throws ParseException { - ztspglhzb(); - gysddmxb(); + public PurchaseRequisition fetchByCode(String code) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("code", code); + List list = baseMapper.selectList(qw); + if (list == null || list.isEmpty()) + return null; + return list.get(0); } - /** - * 在途商品管理汇总表 - * - * @throws ParseException - */ - public void ztspglhzb() throws ParseException { -// Date date = new Date(); -// SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd"); -// baseMapper.deleteAll(); -// List> list = baseMapper.ztspglhzb();//--在途商品管理汇总表 -// for (Map m : list) { -// String billTotalPrice = m.get("billTotalPrice") != null ? m.get("billTotalPrice").toString() : "0";//订单总额 -// String prodValue = m.get("prodValue") != null ? m.get("prodValue").toString() : "0";//实际到货价值 -// String arrivalDate = m.get("arrivalDate") != null ? m.get("arrivalDate").toString() : "0";//全部到货日期 -// SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); -// m.put("date", sdf.format(date)); -// m.put("no", sdf1.format(date).toString() + "01");//编号 -// BigDecimal bigDecimal = new BigDecimal(billTotalPrice); //总金额 -// BigDecimal bigDecimal1 = new BigDecimal(prodValue);//到货金额 -// BigDecimal subtract = bigDecimal.subtract(bigDecimal1);//有未到货的货值 -// Date parse = sdf.parse(arrivalDate); -// long nowMillisecond = date.getTime(); -// long arrivalMillisecond = parse.getTime();//到货日期 -// if (nowMillisecond > arrivalMillisecond && subtract.compareTo(new BigDecimal("0")) == 1) {//是否延期 大于到货日期 并且在途货值大于0 为延期 -// m.put("sfyq", "是"); -// } else { -// m.put("sfyq", "否"); -// } -// if (subtract.compareTo(new BigDecimal("0")) == 1) { -// m.put("wdhjz", subtract.toString()); -// m.put("cchjz", "0"); -// } else { -// m.put("wdhjz", "0"); -// BigDecimal subtract2 = bigDecimal1.subtract(bigDecimal); -// m.put("cchjz", subtract2.toString()); -// } -// } -// log.info("ztspglhzb:{}", JSONObject.toJSONString(list)); -// baseMapper.insertZtspglhzb(list); + public ResultBean uploadXlsxFile(MultipartFile file) { + ResultBean rb = ResultBean.fireFail(); + PurchaseRequisition pr = new PurchaseRequisition(); + pr.setPurchasingOrgCode("1"); + pr.setPurchasingOrgName("36524集团"); + pr.setPurchasingDeptCode("9001"); + pr.setPurchasingDeptName("365生活通"); + + List proList = new ArrayList<>(); + try { + ExcelReaderBuilder read = EasyExcel.read(file.getInputStream(), createReadListener(pr, proList)); + read.sheet().doRead(); + } catch (IOException e) { + e.printStackTrace(); + return rb.setMsg("读取Excel文件异常:" + e.getMessage()); + } + + boolean canInsert = checkOrderAndDelete(pr); + if (canInsert) { + baseMapper.insert(pr); + purchaseRequisitionProService.saveBatch(proList); + return rb.success().setData(pr); + } + return rb.setMsg("该订单号已经审核过,不可修改。"); } - /** - * 供应商订单明细表 - */ - public void gysddmxb() { -// Date date = new Date(); -// SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd"); -// List> list2 = baseMapper.gysddmxb();//--供应商订单明细表 -// for (Map m : list2) { -// SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); -// String format = sdf.format(date); -// m.put("date", format.toString()); -// String no = sdf1.format(date).toString() + "01";//编号 -// m.put("no", no); -// } -// log.info("gysddmxb:{}", JSONObject.toJSONString(list2)); -// baseMapper.deleteGysddmxb(); -// baseMapper.insertGysddmxb(list2); + private boolean checkOrderAndDelete(PurchaseRequisition pr) { + String code = pr.getCode(); + if (StringUtils.isBlank(code)) { + return false; + } + PurchaseRequisition ppr = this.fetchByCode(code); + if (ppr == null) + return true; + if ("0".equals(ppr.getPurchaseState()) && "0".equals(ppr.getBankState())) { + purchaseRequisitionProService.deletebyMainSid(ppr.getSid()); + this.deleteBySid(ppr.getSid()); + return true; + } + return false; } - // -// public ResultBean readBrandPeriodSorXls1(InputStream is) { -// /* int ii=uddatePrice(); -// if(ii==1){ -// return; -// }*/ -// HSSFWorkbook hssfWorkbook = null; -// try { -// hssfWorkbook = new HSSFWorkbook(is); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// -// List lisss=new ArrayList<>(); -// List lisss2=new ArrayList<>(); -// HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0); -// PurchaseRequisition pr=new PurchaseRequisition(); -// List prps=new ArrayList<>(); -// pr.setPurchasingOrgCode("1"); -// pr.setPurchasingOrgName("36524集团"); -// pr.setPurchasingDeptCode("9001"); -// pr.setPurchasingDeptName("365生活通"); -// // 循环行Row -// for (int rowNum = 0; rowNum <=hssfSheet.getLastRowNum(); rowNum++) { -// HSSFRow hssfRow = hssfSheet.getRow(rowNum); -// int i = 0; -// try{ -// //设置单号 填单人 填单时间 -// /*if(rowNum==0){ -// for ( ; i < hssfRow.getLastCellNum(); i++) { -// setRow0(pr, hssfRow, i); -// } -// }*/ -// //设置单号 填单人 填单时间 -// if(rowNum==1){ -// for ( ; i < hssfRow.getLastCellNum(); i++) { -// setRow1(pr, hssfRow, i); -// } -// } -// //设置供货单位 仓位 到货日期 -// if(rowNum==2){ -// for ( ; i < hssfRow.getLastCellNum(); i++) { -// setRow2(pr, hssfRow, i); -// } -// } -// //设置采购员 入库单位 单据到效期 -// if(rowNum==3){ -// for ( ; i < hssfRow.getLastCellNum(); i++) { -// setRow3(pr, hssfRow, i); -// } -// } -// //设置采购员 入库单位 单据到效期 -// if(rowNum==4){ -// for ( ; i < hssfRow.getLastCellNum(); i++) { -// setRow4(pr, hssfRow, i); -// } -// } -// if(rowNum>6){ -// ProductInformation p=new ProductInformation(); -// PurchaseRequisitionPro prp = new PurchaseRequisitionPro(); -// prp.setMainSid(pr.getSid()); -// String hsje="";//含税金额 -// for ( ; i < hssfRow.getLastCellNum(); i++) { -// HSSFCell brandIdHSSFCell = hssfRow.getCell(i); -// if(brandIdHSSFCell!=null){ -// if (i == 1) {//商品代码 -// brandIdHSSFCell.setCellType(CellType.STRING); -// String code = brandIdHSSFCell.getStringCellValue(); -// ProductInformationVo productInformation=productInformationService.selectByCode(code); -// if(productInformation==null){ -// p.setCode(code); -// }else{ -// prp.setCategory(productInformation.getCategory()); -// prp.setCategoryKey(productInformation.getCategoryKey()); -// prp.setBrand(productInformation.getBrand()); -// prp.setBrandCode(productInformation.getBrandSid()); -// } -// prp.setProCode(code); -// prp.setContent("code");//规格型号 -// } -// if (i == 2) {//名称 -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String name = brandIdHSSFCell.getStringCellValue(); -// prp.setProName(name); -// p.setName(name); -// } -// } -// if (i == 3) {//数量 -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String value = brandIdHSSFCell.getStringCellValue(); -// prp.setNumber(value); -// } -// } -// if (i == 10) {//第二代码 -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String value = brandIdHSSFCell.getStringCellValue(); -// prp.setSecondCode(value); -// } -// } -// if (i == 53) {//包装数量 -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String value = brandIdHSSFCell.getStringCellValue(); -// prp.setPackageNumber(value); -// } -// } -// if (i == 53) {//包内数量 对应采购订单的规格 -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String value= brandIdHSSFCell.getStringCellValue(); -// prp.setPackageNumber(value); -// prp.setPackageInsideNumber(value); -// BigDecimal v3 = new BigDecimal(value);//包内数量 规格 -// String packagePrice = prp.getPackagePrice();//包装价格 -// BigDecimal v4 = new BigDecimal(packagePrice); -// BigDecimal divide = v4.divide(v3, 2,BigDecimal.ROUND_HALF_UP);//单价 -// String number = prp.getNumber();//数量 -// BigDecimal v5 = new BigDecimal(number); -// BigDecimal v6 = divide .multiply( v5);//订货总金额 -// String packageInsideNumber = prp.getPackageInsideNumber(); -// BigDecimal v = new BigDecimal(packagePrice).divide(new BigDecimal(packageInsideNumber),2,BigDecimal.ROUND_HALF_UP); -// prp.setUnitPrice(v.toString()); -// BigDecimal bigDecimal = new BigDecimal(hsje); -// BigDecimal v10 = bigDecimal.divide(new BigDecimal(value),2,BigDecimal.ROUND_HALF_UP); -// prp.setUnitPriceTax(v10.toString()); -// prp.setTotalPrice(v6.toString()); -// ProductInformationVo productInformationVo = productInformationService.selectByCode(prp.getProCode()); -// productInformationVo.setNewestPurchasePrice(divide.toString()); -// BigDecimal v122 = new BigDecimal(packagePrice).divide(new BigDecimal(prp.getPackageNumber()),2,BigDecimal.ROUND_HALF_UP); -// productInformationVo.setLatestPurchasePrice(v122.toString()); -// ProductInformation pif=new ProductInformation(); -// BeanUtil.copyProperties(productInformationVo,pif); -// productInformationService.updateById(pif); -// } -// -// if(StringUtils.isNotBlank(p.getCode())){ -// p.setBrandSid("supervise"); -// p.setBrand("监管"); -// String categoryKey = prp.getCategoryKey(); -// DictCommonDetailsVo category = dictCommonService.fetchByKeyAndType(categoryKey, "category"); -// if(category==null){ -// category=new DictCommonDetailsVo(); -// category.setDictKey(categoryKey); -// category.setDictValue(prp.getCategory()); -// category.setDictType("category"); -// DictCommon dictCommon = new DictCommon(); -// BeanUtil.copyProperties(category,dictCommon); -// dictCommonService.insert(dictCommon); -// } -// p.setCategoryKey(category.getDictKey()); -// p.setCategory(category.getDictValue()); -// productInformationService.insert(p); -// } -// } -// if (i == 4) {//包装规格 -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String value= brandIdHSSFCell.getStringCellValue(); -// prp.setPackageSpec(value); -// } -// } -// if (i == 11) {//单位 -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String value= brandIdHSSFCell.getStringCellValue(); -// prp.setUnit(value); -// p.setUnit(value); -// } -// } -// if (i == 34) {//包装价格(元) -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String value= brandIdHSSFCell.getStringCellValue(); -// prp.setPackagePrice(value); -// // prp.setPackageInsideNumber(i1+""); -// -// } -// } -// if (i == 37) {//包合计(元) -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String value= brandIdHSSFCell.getStringCellValue(); -// prp.setPackageTotalPrice(value); -// //latestPurchasePrice -// } -// } -// -// if (i == 54) {//零售金额 -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String value= brandIdHSSFCell.getStringCellValue(); -// prp.setRetailAmount(value); -// } -// } -// if (i == 51) {//品类 -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String value= brandIdHSSFCell.getStringCellValue(); -// String[] split = value.split("\\["); -// String v = split[0];//类别value -// String key=split[1].replace("]","");//key -// prp.setCategory(v); -// prp.setCategoryKey(key); -// } -// } -// if (i == 12) {//配货价格 -// brandIdHSSFCell.setCellType(CellType.STRING); -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// String value= brandIdHSSFCell.getStringCellValue(); -// prp.setRetailAmount(value); -// } -// } -// -// if (i == 7) {//含税单价(元) -// brandIdHSSFCell.setCellType(CellType.STRING); -// if(StringUtils.isBlank(prp.getProCode())){ -// continue; -// } -// if (StringUtils.isNotBlank(brandIdHSSFCell.getStringCellValue())) { -// hsje= brandIdHSSFCell.getStringCellValue(); -// } -// } -// }else{ -// System.err.println("rowNum="+rowNum+",i="+i+",value=null"); -// } -// } -// if(StringUtils.isNotBlank(prp.getProCode())){ -// prps.add(prp); -// } -// } -// }catch(Exception e){ -// e.printStackTrace(); -// System.err.println("i="+i+",value=null"); -// } -// -// lisss.add(rowNum+""); -// -// } -// log.info("productInformation:{}", JSONObject.toJSONString(pr)); -// ResultBean objectResultBean=ResultBean.fireFail(); -// SupplierInfoVo supplierInfoVo = supplierInfoService.selectByCodeForIndex(pr.getSupplierCode()); -// if(supplierInfoVo==null){ -// return objectResultBean.setMsg("供应商不存在!"); -// } -// // List> suplierZtyz=baseMapper.suplierZtyz(pr.getSupplierCode()); 临时注释掉 2023-01-16 -// List> suplierZtyz=baseMapper.suplierZtyz2(pr.getSupplierCode()); -// if(suplierZtyz.size()>0){ -// return objectResultBean.setMsg("供应商有在途商品!"); -// } -// purchaseRequisitionService.insert(pr); -// for (PurchaseRequisitionPro p: prps){ -// purchaseRequisitionProService.insert(p); -// /* String proCode = p.getProCode();*/ -// /*int row=purchaseRequisitionProService.selectProdCodeTable(proCode); -// if(row==0){ -// purchaseRequisitionProService.insertProdCodeTable(proCode); -// }*/ -// } -// GdRescategoryProdService.resetCache(); -// log.info("x:{}",JSON.toJSONString(lisss)); -// String x1 = JSON.toJSONString(lisss2); -// log.info("x1:{}",JSON.toJSONString(lisss2)); -// return objectResultBean.success().setData(pr.getCode()); -// //return message; -// } -// -// private void setRow0(PurchaseRequisition pr, HSSFRow hssfRow, int i) { -// HSSFCell brandIdHSSFCell = hssfRow.getCell(i); -// if(brandIdHSSFCell!=null){ -// if (i == 1) {//单号 -// brandIdHSSFCell.setCellType(CellType.STRING); -// String code = brandIdHSSFCell.getStringCellValue(); -// if(com.yxt.common.base.utils.StringUtils.isNotBlank(code)){ -// PurchaseRequisition purchaseRequisition = purchaseRequisitionService.selectByCode(code); -// if(purchaseRequisition!=null){ -// String newCode = purchaseRequisition.getNewCode(); -// String[] split = newCode.split(","); -// split[split.length]=code; -// String str=""; -// for(String s:split){ -// str=str+","+s; -// } -// String substring = str.substring(1, str.length()); -// purchaseRequisition.setNewCode(substring); -// purchaseRequisitionService.updateById(purchaseRequisition); -// } -// pr.setOldCode(code); -// } -// } -// } -// } -// private void setRow1(PurchaseRequisition pr, HSSFRow hssfRow, int i) { -// HSSFCell brandIdHSSFCell = hssfRow.getCell(i); -// if(brandIdHSSFCell!=null){ -// if (i == 1) {//单号 -// brandIdHSSFCell.setCellType(CellType.STRING); -// String code = brandIdHSSFCell.getStringCellValue(); -// PurchaseRequisition purchaseRequisition = baseMapper.selectByCode(code); -// Map map=new HashMap<>(); -// map.put("code",code); -// baseMapper.deleteByMap(map); -// purchaseRequisition=new PurchaseRequisition(); -// Map map1=new HashMap<>(); -// if(purchaseRequisition!=null){ -// map1.put("mainSid",purchaseRequisition.getSid()); -// purchaseRequisitionProService.deleteByMap(map1); -// } -// -// //ProductInformationVo productInformationVo = baseMapper.selectByCode(code); -// pr.setCode(code); -// -// } -// if (i == 3) {//填单人 -// brandIdHSSFCell.setCellType(CellType.STRING); -// String value = brandIdHSSFCell.getStringCellValue(); -// //ProductInformationVo productInformationVo = baseMapper.selectByCode(code); -// String[] split = value.split("\\["); -// String v = split[0];//类别value -// String key=split[1].replace("]","");//key -// pr.setBuyerName(v); -// pr.setBuyerCode(key); -// } -// if (i == 5) {//填单时间 -// brandIdHSSFCell.setCellType(CellType.STRING); -// String value = brandIdHSSFCell.getStringCellValue(); -// //ProductInformationVo productInformationVo = baseMapper.selectByCode(code); -// pr.setPurchaseDate(value); -// } -// } -// } -// private void setRow2(PurchaseRequisition pr, HSSFRow hssfRow, int i) { -// HSSFCell brandIdHSSFCell = hssfRow.getCell(i); -// if(brandIdHSSFCell!=null){ -// if (i == 1) {//供货单位 供应商 -// brandIdHSSFCell.setCellType(CellType.STRING); -// String value = brandIdHSSFCell.getStringCellValue(); -// String[] split = value.split("\\["); -// String v = split[0];//类别value -// String key=split[1].replace("]","");//key -// SupplierInfoVo supplierInfoVo = supplierInfoService.selectByCodeForIndex(key); -// pr.setSupplierCode(supplierInfoVo.getCodeUnified()); -// pr.setSupplierName(v); -// -// } -// if (i == 3) {//仓位 -// brandIdHSSFCell.setCellType(CellType.STRING); -// String value = brandIdHSSFCell.getStringCellValue(); -// String[] split = value.split("\\["); -// String v ="供应链仓";// split[0];//类别value -// String key="112";//split[1].replace("]","");//key -// WarehousePositionVo warehousePositionVo = warehousePositionService.selectByCode(key); -// if(warehousePositionVo==null){ -// WarehousePosition warehousePosition=new WarehousePosition(); -// warehousePosition.setName(v); -// warehousePosition.setCode(key); -// warehousePositionService.insert(warehousePosition); -// } -// pr.setWarehousePosition(v); -// pr.setWarehousePositionCode(key); -// } -// if (i == 5) {//到货日期 -// brandIdHSSFCell.setCellType(CellType.STRING); -// String value = brandIdHSSFCell.getStringCellValue(); -// //ProductInformationVo productInformationVo = baseMapper.selectByCode(code); -// pr.setArrivalDate(value); -// } -// } -// } - private void setRow3(PurchaseRequisition pr, HSSFRow hssfRow, int i) { - HSSFCell brandIdHSSFCell = hssfRow.getCell(i); - if (brandIdHSSFCell != null) { - if (i == 1) {//采购员 - brandIdHSSFCell.setCellType(CellType.STRING); - String value = brandIdHSSFCell.getStringCellValue(); - //ProductInformationVo productInformationVo = baseMapper.selectByCode(code); + private ReadListener> createReadListener(PurchaseRequisition pr, List proList) { + return new ReadListener>() { + private void full1(Map map) { + String code = map.get(1); + pr.setCode(code); + pr.setPurchaseDate(map.get(5)); + } + + private void full2(Map map) { + String str1 = map.get(1); + String[] arr1 = StrTool.splitBySquareBrackets(str1); + pr.setSupplierName(arr1[0]); + pr.setSupplierCode(arr1[1]); + pr.setWarehousePosition("供应链仓"); + pr.setWarehousePositionCode("112"); + pr.setArrivalDate(map.get(5)); + } + + private void full3(Map map) { + String str1 = map.get(1); + String[] arr1 = StrTool.splitBySquareBrackets(str1); + pr.setBuyerName(arr1[0]); + pr.setBuyerCode(arr1[1]); + pr.setExpiryDate(map.get(5)); + } + + private void full4(Map map) { + pr.setCompletionStatus(map.get(5)); + pr.setCompletionStatusKey("0");//0未完成 + } + + private void addPro(Map map) { + PurchaseRequisitionPro prp = new PurchaseRequisitionPro(); + prp.setMainSid(pr.getSid()); + prp.setPreqCode(pr.getCode()); + String hsje = "";//含税金额 + prp.setProCode(map.get(1)); + // prp.setCategory(productInformation.getCategory()); + // prp.setCategoryKey(productInformation.getCategoryKey()); + // prp.setBrand(productInformation.getBrand()); + // prp.setBrandCode(productInformation.getBrandSid()); + prp.setContent("code");//规格型号 + prp.setProName(map.get(2)); + prp.setNumber(map.get(3)); + prp.setPackageSpec(map.get(4)); + prp.setPackageNumber(map.get(5)); + hsje = map.get(7); + Double d = 0.0; + try { + d = Double.valueOf(hsje); + } catch (Exception e) { + e.printStackTrace(); + } + prp.setTaxInclusiveAmount(d); + prp.setSecondCode(map.get(10)); + prp.setUnit(map.get(11)); + prp.setRetailAmount(map.get(12)); + String s15 = map.get(15); + Double distributionAmount = 0.0; + try { + distributionAmount = Double.valueOf(s15); + } catch (Exception e) { + e.printStackTrace(); + } + prp.setDistributionAmount(distributionAmount); + prp.setPackagePrice(map.get(34)); //包装价格(元) + prp.setPackageTotalPrice(map.get(37));//包合计(元) + String value = map.get(51); String[] split = value.split("\\["); String v = split[0];//类别value String key = split[1].replace("]", "");//key - pr.setBuyerName(v); - pr.setBuyerCode(key); - pr.setLogisticsCompanyCode(key); - pr.setLogisticsCompanyName(v); + prp.setCategory(v); + prp.setCategoryKey(key); + + prp.setPackageNumber(map.get(53)); + prp.setPackageInsideNumber(map.get(53)); + BigDecimal v3 = new BigDecimal(map.get(53));//包内数量 规格 + String packagePrice = prp.getPackagePrice();//包装价格 + BigDecimal v4 = new BigDecimal(packagePrice); + BigDecimal divide = v4.divide(v3, 2, BigDecimal.ROUND_HALF_UP);//单价 + String number = prp.getNumber();//数量 + BigDecimal v5 = new BigDecimal(number); + BigDecimal v6 = divide.multiply(v5);//订货总金额 + String packageInsideNumber = prp.getPackageInsideNumber(); + BigDecimal vv = new BigDecimal(packagePrice).divide(new BigDecimal(packageInsideNumber), 2, BigDecimal.ROUND_HALF_UP); + prp.setUnitPrice(vv.toString()); + BigDecimal bigDecimal = new BigDecimal(hsje); + BigDecimal v10 = bigDecimal.divide(new BigDecimal(map.get(53)), 2, BigDecimal.ROUND_HALF_UP); + prp.setUnitPriceTax(v10.toString()); + prp.setTotalPrice(v6.toString()); + + prp.setRetailAmount(map.get(54)); + + proList.add(prp); } - if (i == 5) {//单据到效期 - brandIdHSSFCell.setCellType(CellType.STRING); - String value = brandIdHSSFCell.getStringCellValue(); - //ProductInformationVo productInformationVo = baseMapper.selectByCode(code); - pr.setExpiryDate(value); + @Override + public void invoke(Map map, AnalysisContext analysisContext) { + ReadRowHolder readRowHolder = analysisContext.readRowHolder(); + int rowIndex = readRowHolder.getRowIndex(); + if (1 == rowIndex) { + full1(map); + } + if (2 == rowIndex) { + full2(map); + } + if (3 == rowIndex) { + full3(map); + } + if (4 == rowIndex) { + full4(map); + } + if (rowIndex > 6) + addPro(map); } - } - } - private void setRow4(PurchaseRequisition pr, HSSFRow hssfRow, int i) { - HSSFCell brandIdHSSFCell = hssfRow.getCell(i); - if (brandIdHSSFCell != null) { - if (i == 5) {//完成状态 - brandIdHSSFCell.setCellType(CellType.STRING); - String value = brandIdHSSFCell.getStringCellValue(); - //ProductInformationVo productInformationVo = baseMapper.selectByCode(code); - pr.setCompletionStatus(value); - pr.setCompletionStatusKey("0");//0未完成 + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + } - } + }; } + public void updateOnlyCodeBySid(String sid, String codeUnified) { + UpdateWrapper uw = new UpdateWrapper<>(); + uw.set("supplierOnlyCode", codeUnified); + uw.eq("sid", sid); + this.update(uw); + } - private void createRow3(HSSFSheet sheet, int rownum, String[] col1, HSSFCellStyle style) { - //声明列对象 - HSSFCell cell = null; - //创建标题 - HSSFRow row2 = sheet.createRow(rownum); - for (int i = 0; i < col1.length; i++) { - cell = row2.createCell(i); - cell.setCellValue(col1[i]); - cell.setCellStyle(style); - } + public double amountOfSupplier(String supplierOnlyCode) { + return baseMapper.amountBySupplierOnlyCode(supplierOnlyCode); } - public ResultBean checkCodeByFileName(String filename) { - ResultBean rb = ResultBean.fireFail(); - if (StringUtils.isBlank(filename)) - return rb.setMsg("文件名不可为空"); - if (filename.length() < 15) - return rb.setMsg("文件名格式错误"); - String code = filename.substring(0, 14); - PurchaseRequisition purchaseRequisition = fetchByCode(code); - if (purchaseRequisition == null) - return rb.success().setData("nothas"); - return rb.success().setData("hased"); + public void updatePurchaseStateSucess(String sid) { + UpdateWrapper uw = new UpdateWrapper<>(); + uw.set("purchaseState", "1"); + uw.eq("sid", sid); + this.update(uw); } - public PurchaseRequisition fetchByCode(String code) { + public List listOfCheck() { + List list = listByState("1"); + return list; + } + + private List listByState(String state) { QueryWrapper qw = new QueryWrapper<>(); - qw.eq("code", code); - List list = baseMapper.selectList(qw); - if (list == null || list.isEmpty()) - return null; - return list.get(0); + qw.eq("state", state); + return baseMapper.selectList(qw); } } diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisitionpro/PurchaseRequisitionProRest.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisitionpro/PurchaseRequisitionProRest.java index f976f207..5d9fd274 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisitionpro/PurchaseRequisitionProRest.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisitionpro/PurchaseRequisitionProRest.java @@ -7,19 +7,13 @@ import com.yxt.common.core.vo.PagerVo; import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisitionExcelVo; import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisitionQuery; import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisitionVo; -import com.yxt.supervise.customer.api.purchaserequisitionpro.PurchaseRequisitionProExcelVo; -import com.yxt.supervise.customer.api.purchaserequisitionpro.PurchaseRequisitionProFeign; -import com.yxt.supervise.customer.api.purchaserequisitionpro.PurchaseRequisitionProQuery; -import com.yxt.supervise.customer.api.purchaserequisitionpro.PurchaseRequisitionProVo; +import com.yxt.supervise.customer.api.purchaserequisitionpro.*; import com.yxt.supervise.customer.biz.purchaserequisition.PurchaseRequisitionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; @@ -37,6 +31,7 @@ import java.util.List; public class PurchaseRequisitionProRest implements PurchaseRequisitionProFeign { @Autowired PurchaseRequisitionProService purchaseRequisitionProService; + @ApiOperation("根据条件分页查询数据的列表") @PostMapping("/listPage") public ResultBean> listPage(@RequestBody PagerQuery pq) { @@ -44,15 +39,16 @@ public class PurchaseRequisitionProRest implements PurchaseRequisitionProFeign { PagerVo pv = purchaseRequisitionProService.listPageVo(pq); return rb.success().setData(pv); } + @PostMapping("/exportExcel") @ApiOperation(value = "采购订单商品导出") public void exportExcel(@RequestBody PagerQuery pq, HttpServletResponse response) throws IOException { //得到所有要导出的数据 List excelVos = purchaseRequisitionProService.exportExcel(pq); String fileName = "采购订单商品" + System.currentTimeMillis() + ".xlsx"; - response.setContentType( "application/vnd.ms-excel"); + response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf8"); - response.setHeader("Content-disposition","attachment;filename="+ fileName ); + response.setHeader("Content-disposition", "attachment;filename=" + fileName); // 这里 需要指定写用哪个class去读,然后写到第一个sheet,名字为模板 然后文件流会自动关闭 // 如果这里想使用03 则 传入excelType参数即可 ServletOutputStream outputStream = response.getOutputStream(); @@ -60,4 +56,20 @@ public class PurchaseRequisitionProRest implements PurchaseRequisitionProFeign { outputStream.flush(); outputStream.close(); } + + @ApiOperation("通过订单sid查询订单内的商品列表") + @GetMapping("/listByMainSid/{mainsid}") + public ResultBean> listByMainSid(@PathVariable("mainsid") String mainsid) { + ResultBean rb = ResultBean.fireFail(); + List list = purchaseRequisitionProService.listByMainSid(mainsid); + return rb.success().setData(list); + } + + @ApiOperation("通过mainsid检查商品状态") + @GetMapping("/checkByMainSid/{mainsid}") + public ResultBean> checkByMainSid(@PathVariable("mainsid") String mainsid) { + ResultBean rb = ResultBean.fireFail(); + List list = purchaseRequisitionProService.checkByMainSid(mainsid); + return rb.success().setData(list); + } } diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisitionpro/PurchaseRequisitionProService.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisitionpro/PurchaseRequisitionProService.java index 08e66e79..1a027ca1 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisitionpro/PurchaseRequisitionProService.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/purchaserequisitionpro/PurchaseRequisitionProService.java @@ -1,26 +1,43 @@ package com.yxt.supervise.customer.biz.purchaserequisitionpro; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.supervise.customer.api.purchaserequisitionpro.PurchaseRequisitionPro; -import com.yxt.supervise.customer.api.purchaserequisitionpro.PurchaseRequisitionProExcelVo; -import com.yxt.supervise.customer.api.purchaserequisitionpro.PurchaseRequisitionProQuery; -import com.yxt.supervise.customer.api.purchaserequisitionpro.PurchaseRequisitionProVo; +import com.yxt.supervise.customer.api.productinformation.ProductInformation; +import com.yxt.supervise.customer.api.purchaserequisitionpro.*; +import com.yxt.supervise.customer.api.restrictedbrand.RestrictedBrand; +import com.yxt.supervise.customer.api.restrictedcategory.RestrictedCategory; +import com.yxt.supervise.customer.biz.productinformation.ProductInformationService; +import com.yxt.supervise.customer.biz.restrictedbrand.RestrictedBrandService; +import com.yxt.supervise.customer.biz.restrictedcategory.RestrictedCategoryService; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @author wangpengfei * @date 2023/3/30 15:49 */ @Service -public class PurchaseRequisitionProService extends MybatisBaseService { +public class PurchaseRequisitionProService extends MybatisBaseService { + + @Autowired + private ProductInformationService productInformationService; + @Autowired + private RestrictedCategoryService restrictedCategoryService; + @Autowired + private RestrictedBrandService restrictedBrandService; + public PagerVo listPageVo(PagerQuery pq) { PurchaseRequisitionProQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -55,6 +72,7 @@ public class PurchaseRequisitionProService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return p; } + public List exportExcel(PagerQuery pq) { PurchaseRequisitionProQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -87,4 +105,74 @@ public class PurchaseRequisitionProService extends MybatisBaseService pagging = baseMapper.exportExcel(qw); return pagging; } + + public void deletebyMainSid(String mainSid) { + Map map = new HashMap<>(); + map.put("mainSid", mainSid); + baseMapper.deleteByMap(map); + } + + public List listByMainSid(String mainsid) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("mainSid", mainsid); + return baseMapper.selectList(qw); + } + + public List checkByMainSid(String mainsid) { + List voList = new ArrayList<>(); + List prolist = this.listByMainSid(mainsid); + for (PurchaseRequisitionPro pro : prolist) { + String proCode = pro.getProCode(); + String proName = pro.getProName(); + String mainSid = pro.getMainSid(); + String preqCode = pro.getPreqCode(); + ProductInformation pi = productInformationService.fetchByCode(proCode); + if (pi == null) { + PurchaseRequisitionProCheckVo vo = new PurchaseRequisitionProCheckVo(mainSid, preqCode, proCode, proName, 1); + vo.setMsg("商品档案无此商品"); + voList.add(vo); + continue; + } + String brand = pi.getBrand(); + String brandSid = pi.getBrandSid(); + String category = pi.getCategory(); + String categoryKey = pi.getCategoryKey(); + + RestrictedBrand rb = restrictedBrandService.fetchByCode(brandSid); + if (rb == null) { + PurchaseRequisitionProCheckVo vo = new PurchaseRequisitionProCheckVo(mainSid, preqCode, proCode, proName, 2); + vo.setBrandCode(brandSid); + vo.setBrandName(brand); + vo.setCategoryCode(categoryKey); + vo.setCategoryName(category); + vo.setMsg("品牌【" + brand + "】不属于监管品牌"); + voList.add(vo); + } + RestrictedCategory rc = restrictedCategoryService.fetchByCode(categoryKey); + if (rc == null) { + PurchaseRequisitionProCheckVo vo = new PurchaseRequisitionProCheckVo(mainSid, preqCode, proCode, proName, 3); + vo.setBrandCode(brandSid); + vo.setBrandName(brand); + vo.setCategoryCode(categoryKey); + vo.setCategoryName(category); + vo.setMsg("品类【" + category + "】不属于监管品类"); + voList.add(vo); + } + String brandCode = pro.getBrandCode(); + if (StringUtils.isBlank(brandCode)) { + this.updateBrandCateBySid(pro.getSid(), brandSid, brand, categoryKey, category); + } + } + return voList; + } + + private void updateBrandCateBySid(String sid, String brandSid, String brand, String categoryKey, String category) { + UpdateWrapper uw = new UpdateWrapper<>(); + uw.set("brandCode", brandSid); + uw.set("brand", brand); + uw.set("categoryKey", categoryKey); + uw.set("category", category); + uw.eq("sid", sid); + this.update(uw); + } } diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/restrictedbrand/RestrictedBrandService.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/restrictedbrand/RestrictedBrandService.java index 318d2eae..47bc01af 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/restrictedbrand/RestrictedBrandService.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/restrictedbrand/RestrictedBrandService.java @@ -181,4 +181,14 @@ public class RestrictedBrandService extends MybatisBaseService qw = new QueryWrapper<>(); + qw.eq("code", code); + List list = baseMapper.selectList(qw); + if (list == null || list.isEmpty()) + return null; + return list.get(0); + + } } \ No newline at end of file diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/restrictedcategory/RestrictedCategoryService.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/restrictedcategory/RestrictedCategoryService.java index 46f467b4..ac0c59db 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/restrictedcategory/RestrictedCategoryService.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/restrictedcategory/RestrictedCategoryService.java @@ -164,13 +164,13 @@ public class RestrictedCategoryService extends MybatisBaseService qw = new QueryWrapper<>(); + qw.eq("categoryKey", categoryKey); + List list = baseMapper.selectList(qw); + if (list == null || list.isEmpty()) + return null; + return list.get(0); + } + /* public Map limitJudgement(String categoryKey, String brandCode) { Map result = new HashMap<>(); RestrictedCategory r = baseMapper.selectByCategorys(categoryKey); diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/supplierbankinfo/SupplierBankInfoService.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/supplierbankinfo/SupplierBankInfoService.java index a7603c3e..56f91a94 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/supplierbankinfo/SupplierBankInfoService.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/supplierbankinfo/SupplierBankInfoService.java @@ -33,12 +33,17 @@ import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.supervise.customer.api.purchaserequisition.PurchaseRequisition; +import com.yxt.supervise.customer.api.purchaserequisitionpro.InTransitCheckVo; import com.yxt.supervise.customer.api.supplierbankinfo.*; import com.yxt.supervise.customer.api.suppliercontractinfo.SupplierContractInfoDto; -import com.yxt.supervise.customer.api.supplierindex.SupplierIndexQuery; +import com.yxt.supervise.customer.api.supplierindex.SupplierIndex; +import com.yxt.supervise.customer.biz.gdinstorage.GdInstorageService; +import com.yxt.supervise.customer.biz.purchaserequisition.PurchaseRequisitionService; import com.yxt.supervise.customer.biz.suppliercontractinfo.SupplierContractInfoService; import com.yxt.supervise.customer.biz.supplierindex.SupplierIndexService; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -59,184 +64,324 @@ import java.util.*; */ @Service public class SupplierBankInfoService extends MybatisBaseService { - @Resource - private SupplierContractInfoService supplierContractInfoService; - @Resource - private SupplierIndexService supplierIndexService; - - private QueryWrapper createQueryWrapper(SupplierBankInfoQuery query) { - // todo: 这里根据具体业务调整查询条件 - // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); - QueryWrapper qw = new QueryWrapper<>(); - - if (StringUtils.isNotBlank(query.getCodeUnified())) { - qw.like("codeUnified", query.getCodeUnified()); - } - if (StringUtils.isNotBlank(query.getName())) { - qw.like("name", query.getName()); - } - if (StringUtils.isNotBlank(query.getContacts())) { - qw.like("contacts", query.getContacts()); - } - if (StringUtils.isNotBlank(query.getLegalRepresentative())) { - qw.like("legalRepresentative", query.getLegalRepresentative()); - } - if (StringUtils.isNotBlank(query.getBusinessLicenseNo())) { - qw.like("businessLicenseNo", query.getBusinessLicenseNo()); - }if (StringUtils.isNotBlank(query.getBankAccountNumber())) { - qw.like("bankAccountNumber", query.getBankAccountNumber()); - } - return qw; - } - - public PagerVo listPageVo(PagerQuery pq) { - SupplierBankInfoQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - SupplierBankInfoQuery params = pq.getParams(); - String name = params.getName(); - if(StringUtils.isNotBlank(name)){ - qw.like("i.name",name); - } - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public void saveOrUpdateDto(SupplierBankInfoDto dto){ + @Resource + private SupplierContractInfoService supplierContractInfoService; + @Resource + private SupplierIndexService supplierIndexService; + + @Autowired + private PurchaseRequisitionService purchaseRequisitionService; + @Autowired + private GdInstorageService gdInstorageService; + + private QueryWrapper createQueryWrapper(SupplierBankInfoQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + if (StringUtils.isNotBlank(query.getCodeUnified())) { + qw.like("codeUnified", query.getCodeUnified()); + } + if (StringUtils.isNotBlank(query.getName())) { + qw.like("name", query.getName()); + } + if (StringUtils.isNotBlank(query.getContacts())) { + qw.like("contacts", query.getContacts()); + } + if (StringUtils.isNotBlank(query.getLegalRepresentative())) { + qw.like("legalRepresentative", query.getLegalRepresentative()); + } + if (StringUtils.isNotBlank(query.getBusinessLicenseNo())) { + qw.like("businessLicenseNo", query.getBusinessLicenseNo()); + } + if (StringUtils.isNotBlank(query.getBankAccountNumber())) { + qw.like("bankAccountNumber", query.getBankAccountNumber()); + } + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + SupplierBankInfoQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + SupplierBankInfoQuery params = pq.getParams(); + String name = params.getName(); + if (StringUtils.isNotBlank(name)) { + qw.like("i.name", name); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public void saveOrUpdateDto(SupplierBankInfoDto dto) { String dtoSid = dto.getSid(); - if (StringUtils.isBlank(dtoSid)) { + if (StringUtils.isBlank(dtoSid)) { this.insertByDto(dto); - return; - } - this.updateByDto(dto); - } - - public void insertByDto(SupplierBankInfoDto dto){ - SupplierBankInfo entity = new SupplierBankInfo(); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.insert(entity); - List codeIndex = dto.getCodeIndex(); - baseMapper.insertSUpplierIndex(entity.getName(),entity.getCodeUnified(),entity.getSid(),entity.getCodeUnified()); - for (String index : codeIndex) { - if (!index.equals(entity.getCodeUnified())){ - baseMapper.insertSUpplierIndex(entity.getName(),entity.getCodeUnified(),entity.getSid(),index); - } - } - baseMapper.deleteSupplierFiles(entity.getSid(),"1"); - String[] businessLicenseFiles = dto.getBusinessLicenseFiles(); - if(businessLicenseFiles!=null){ - List> maps=new ArrayList<>(); - for(String s:businessLicenseFiles){ - Mapm=new HashMap<>(); - m.put("mainSid",entity.getSid()); - m.put("url",s); - m.put("type","1"); - m.put("sid", UUID.randomUUID().toString()); - maps.add(m); - } - if(maps.size()>0){ - baseMapper.insertSupplierFiles(maps); - } - } - baseMapper.deleteSupplierFiles(entity.getSid(),"2"); - String[] contractFiles = dto.getContractInfo().getContractFiles(); - if(contractFiles!=null){ - List> maps=new ArrayList<>(); - for(String s:contractFiles){ - Mapm=new HashMap<>(); - m.put("mainSid",entity.getSid()); - m.put("url",s); - m.put("type","2"); - m.put("sid", UUID.randomUUID().toString()); - maps.add(m); - } - if(maps.size()>0){ - baseMapper.insertSupplierFiles(maps); - } - } - SupplierContractInfoDto supplierContractInfoDto = dto.getContractInfo(); - supplierContractInfoDto.setSupplierSid(entity.getSid()); - supplierContractInfoService.saveOrUpdateDto(supplierContractInfoDto); - } - - public void updateByDto(SupplierBankInfoDto dto){ - String dtoSid = dto.getSid(); + return; + } + this.updateByDto(dto); + } + + public void insertByDto(SupplierBankInfoDto dto) { + SupplierBankInfo entity = new SupplierBankInfo(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + List codeIndex = dto.getCodeIndex(); + baseMapper.insertSUpplierIndex(entity.getName(), entity.getCodeUnified(), entity.getSid(), entity.getCodeUnified()); + for (String index : codeIndex) { + if (!index.equals(entity.getCodeUnified())) { + baseMapper.insertSUpplierIndex(entity.getName(), entity.getCodeUnified(), entity.getSid(), index); + } + } + baseMapper.deleteSupplierFiles(entity.getSid(), "1"); + String[] businessLicenseFiles = dto.getBusinessLicenseFiles(); + if (businessLicenseFiles != null) { + List> maps = new ArrayList<>(); + for (String s : businessLicenseFiles) { + Map m = new HashMap<>(); + m.put("mainSid", entity.getSid()); + m.put("url", s); + m.put("type", "1"); + m.put("sid", UUID.randomUUID().toString()); + maps.add(m); + } + if (maps.size() > 0) { + baseMapper.insertSupplierFiles(maps); + } + } + baseMapper.deleteSupplierFiles(entity.getSid(), "2"); + String[] contractFiles = dto.getContractInfo().getContractFiles(); + if (contractFiles != null) { + List> maps = new ArrayList<>(); + for (String s : contractFiles) { + Map m = new HashMap<>(); + m.put("mainSid", entity.getSid()); + m.put("url", s); + m.put("type", "2"); + m.put("sid", UUID.randomUUID().toString()); + maps.add(m); + } + if (maps.size() > 0) { + baseMapper.insertSupplierFiles(maps); + } + } + SupplierContractInfoDto supplierContractInfoDto = dto.getContractInfo(); + supplierContractInfoDto.setSupplierSid(entity.getSid()); + supplierContractInfoService.saveOrUpdateDto(supplierContractInfoDto); + } + + public void updateByDto(SupplierBankInfoDto dto) { + String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { return; - } - SupplierBankInfo entity = baseMapper.selectBySid(dtoSid); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.updateById(entity); - supplierIndexService.delByMainSid(dtoSid); - List codeIndex = dto.getCodeIndex(); - baseMapper.insertSUpplierIndex(entity.getName(),entity.getCodeUnified(),dtoSid,entity.getCodeUnified()); - for (String index : codeIndex) { - if (!index.equals(entity.getCodeUnified())){ - baseMapper.insertSUpplierIndex(entity.getName(),entity.getCodeUnified(),entity.getSid(),index); - } - } - baseMapper.deleteSupplierFiles(entity.getSid(),"1"); - String[] businessLicenseFiles = dto.getBusinessLicenseFiles(); - if(businessLicenseFiles!=null){ - List> maps=new ArrayList<>(); - for(String s:businessLicenseFiles){ - Mapm=new HashMap<>(); - m.put("mainSid",entity.getSid()); - m.put("url",s); - m.put("type","1"); - m.put("sid", UUID.randomUUID().toString()); - maps.add(m); - } - baseMapper.insertSupplierFiles(maps); - } - baseMapper.deleteSupplierFiles(entity.getSid(),"2"); - String[] contractFiles = dto.getContractInfo().getContractFiles(); - if(contractFiles!=null){ - List> maps=new ArrayList<>(); - for(String s:contractFiles){ - Mapm=new HashMap<>(); - m.put("mainSid",entity.getSid()); - m.put("url",s); - m.put("type","2"); - m.put("sid", UUID.randomUUID().toString()); - maps.add(m); - } - baseMapper.insertSupplierFiles(maps); - } - SupplierContractInfoDto supplierContractInfoDto = dto.getContractInfo(); - supplierContractInfoDto.setSupplierSid(entity.getSid()); - supplierContractInfoService.saveOrUpdateDto(supplierContractInfoDto); - } - public ResultBean delBySids(String sids) { - ResultBean resultBean = ResultBean.fireFail(); - String[] split = sids.split(","); - int i= baseMapper.delBySids(split); - return resultBean.success().setData("1"); - } - public SupplierBankInfoDetailsVo fetchDetailsVoBySid(String sid){ - SupplierBankInfo entity = baseMapper.selectBySid(sid); - SupplierBankInfoDetailsVo vo = new SupplierBankInfoDetailsVo(); - SupplierContractInfoDto contractInfo = new SupplierContractInfoDto(); - BeanUtil.copyProperties(entity, vo); - String s1=baseMapper.selectSupplierFiles(sid,"1"); - if(StringUtils.isNotBlank(s1)){ - vo.setBusinessLicenseFiles(s1.split(",")); - }else{ - vo.setBusinessLicenseFiles(new String[]{}); - } - String s2=baseMapper.selectSupplierFiles(sid,"2"); - if(StringUtils.isNotBlank(s2)){ - contractInfo.setContractFiles(s2.split(",")); - contractInfo.setContractFiles(s2.split(",")); - }else{ - contractInfo.setContractFiles(new String[]{}); - } - vo.setContractInfo(contractInfo); - return vo; - } - - public SupplierBankInfo selectByCode(String codeUnified) { - return baseMapper.selectByCode(codeUnified); - } + } + SupplierBankInfo entity = baseMapper.selectBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + supplierIndexService.delByMainSid(dtoSid); + List codeIndex = dto.getCodeIndex(); + baseMapper.insertSUpplierIndex(entity.getName(), entity.getCodeUnified(), dtoSid, entity.getCodeUnified()); + for (String index : codeIndex) { + if (!index.equals(entity.getCodeUnified())) { + baseMapper.insertSUpplierIndex(entity.getName(), entity.getCodeUnified(), entity.getSid(), index); + } + } + baseMapper.deleteSupplierFiles(entity.getSid(), "1"); + String[] businessLicenseFiles = dto.getBusinessLicenseFiles(); + if (businessLicenseFiles != null) { + List> maps = new ArrayList<>(); + for (String s : businessLicenseFiles) { + Map m = new HashMap<>(); + m.put("mainSid", entity.getSid()); + m.put("url", s); + m.put("type", "1"); + m.put("sid", UUID.randomUUID().toString()); + maps.add(m); + } + baseMapper.insertSupplierFiles(maps); + } + baseMapper.deleteSupplierFiles(entity.getSid(), "2"); + String[] contractFiles = dto.getContractInfo().getContractFiles(); + if (contractFiles != null) { + List> maps = new ArrayList<>(); + for (String s : contractFiles) { + Map m = new HashMap<>(); + m.put("mainSid", entity.getSid()); + m.put("url", s); + m.put("type", "2"); + m.put("sid", UUID.randomUUID().toString()); + maps.add(m); + } + baseMapper.insertSupplierFiles(maps); + } + SupplierContractInfoDto supplierContractInfoDto = dto.getContractInfo(); + supplierContractInfoDto.setSupplierSid(entity.getSid()); + supplierContractInfoService.saveOrUpdateDto(supplierContractInfoDto); + } + + public ResultBean delBySids(String sids) { + ResultBean resultBean = ResultBean.fireFail(); + String[] split = sids.split(","); + int i = baseMapper.delBySids(split); + return resultBean.success().setData("1"); + } + + public SupplierBankInfoDetailsVo fetchDetailsVoBySid(String sid) { + SupplierBankInfo entity = baseMapper.selectBySid(sid); + SupplierBankInfoDetailsVo vo = new SupplierBankInfoDetailsVo(); + SupplierContractInfoDto contractInfo = new SupplierContractInfoDto(); + BeanUtil.copyProperties(entity, vo); + String s1 = baseMapper.selectSupplierFiles(sid, "1"); + if (StringUtils.isNotBlank(s1)) { + vo.setBusinessLicenseFiles(s1.split(",")); + } else { + vo.setBusinessLicenseFiles(new String[]{}); + } + String s2 = baseMapper.selectSupplierFiles(sid, "2"); + if (StringUtils.isNotBlank(s2)) { + contractInfo.setContractFiles(s2.split(",")); + contractInfo.setContractFiles(s2.split(",")); + } else { + contractInfo.setContractFiles(new String[]{}); + } + vo.setContractInfo(contractInfo); + return vo; + } + + public SupplierBankInfo selectByCode(String codeUnified) { + return baseMapper.selectByCode(codeUnified); + } + + public List checkPurchaseRequisition(String purchaseRequisitionSid) { + List list = checkSupplierByPRSid(purchaseRequisitionSid); + if (list.isEmpty()) { + PurchaseRequisition pr = purchaseRequisitionService.fetchBySid(purchaseRequisitionSid); + if (pr == null) { + PurchaseRequisitionCheckVo vo = new PurchaseRequisitionCheckVo(purchaseRequisitionSid, "", 5); + vo.setMsg("没有对应采购订单"); + list.add(vo); + return list; + } + InTransitCheckVo ivo = checkInTransitByUniCode(pr.getSupplierOnlyCode()); + if (ivo.getHasInTransit()) { + PurchaseRequisitionCheckVo vo = new PurchaseRequisitionCheckVo(purchaseRequisitionSid, "", 3); + vo.setSupplierCode(pr.getSupplierCode()); + vo.setSupplierName(pr.getSupplierName()); + vo.setSupplierCodeUnified(pr.getSupplierOnlyCode()); + vo.setMsg("供应商[" + pr.getSupplierName() + "]有在途货值"); + list.add(vo); + } + } + return list; + } + + public List checkSupplierByPRSid(String purchaseRequisitionSid) { + List list = new ArrayList<>(); + PurchaseRequisition pr = purchaseRequisitionService.fetchBySid(purchaseRequisitionSid); + if (pr == null) { + PurchaseRequisitionCheckVo vo = new PurchaseRequisitionCheckVo(purchaseRequisitionSid, "", 5); + vo.setMsg("没有对应采购订单"); + list.add(vo); + return list; + } + String prCode = pr.getCode(); + String prSid = pr.getSid(); + String supplierCode = pr.getSupplierCode(); + String supplierName = pr.getSupplierName(); + String supplierOnlyCode = pr.getSupplierOnlyCode(); + + List silist = supplierIndexService.listByCode(supplierCode); + if (silist != null && silist.size() > 1) { + PurchaseRequisitionCheckVo vo = new PurchaseRequisitionCheckVo(prSid, prCode, 4); + vo.setSupplierCode(supplierCode); + vo.setSupplierName(supplierName); + vo.setSupplierCodeUnified(supplierOnlyCode); + vo.setMsg("【" + supplierCode + "】在索引表中有重复值"); + list.add(vo); + return list; + } + + if (silist == null || silist.isEmpty()) { + SupplierBankInfo sbi = this.fetchByName(supplierName); + if (sbi == null) { + PurchaseRequisitionCheckVo vo = new PurchaseRequisitionCheckVo(prSid, prCode, 1); + vo.setSupplierCode(supplierCode); + vo.setSupplierName(supplierName); + vo.setSupplierCodeUnified(supplierOnlyCode); + vo.setMsg("没有该供应商信息"); + list.add(vo); + } else { + String sbiCodeUnified = sbi.getCodeUnified(); + String sbiSid = sbi.getSid(); + String name = sbi.getName(); + SupplierIndex sui = new SupplierIndex(); + sui.setPSid(sbiSid); + sui.setCode(supplierCode); + sui.setName(supplierName); + sui.setCodeUnified(sbiCodeUnified); + sui.setNameUnified(name); + supplierIndexService.save(sui); + if (StringUtils.isBlank(supplierOnlyCode)) { + purchaseRequisitionService.updateOnlyCodeBySid(purchaseRequisitionSid, sbiCodeUnified); + } + Integer purchaseRequisition = sbi.getPurchaseRequisition(); + Integer bankState = sbi.getBankState(); + Integer lockingStatus = sbi.getLockingStatus(); + if (purchaseRequisition != null && purchaseRequisition.equals(1) && bankState != null && bankState.equals(1) && lockingStatus != null && lockingStatus.equals(0)) + return list; + + PurchaseRequisitionCheckVo vo = new PurchaseRequisitionCheckVo(prSid, prCode, 6); + vo.setSupplierCode(supplierCode); + vo.setSupplierName(supplierName); + vo.setSupplierCodeUnified(supplierOnlyCode); + vo.setMsg("该供应商没有审核"); + list.add(vo); + } + return list; + } + + SupplierIndex si = silist.get(0); + SupplierBankInfo supplierBankInfo = this.fetchBySid(si.getPSid()); + if (supplierBankInfo == null) { + PurchaseRequisitionCheckVo vo = new PurchaseRequisitionCheckVo(prSid, prCode, 2); + vo.setSupplierCode(supplierCode); + vo.setSupplierName(supplierName); + vo.setSupplierCodeUnified(supplierOnlyCode); + vo.setMsg("索引与供应商关联错误"); + list.add(vo); + return list; + } + + Integer purchaseRequisition = supplierBankInfo.getPurchaseRequisition(); + Integer bankState = supplierBankInfo.getBankState(); + Integer lockingStatus = supplierBankInfo.getLockingStatus(); + + if (purchaseRequisition != null && purchaseRequisition.equals(1) && bankState != null && bankState.equals(1) && lockingStatus != null && lockingStatus.equals(0)) + return list; + + PurchaseRequisitionCheckVo vo = new PurchaseRequisitionCheckVo(prSid, prCode, 6); + vo.setSupplierCode(supplierCode); + vo.setSupplierName(supplierName); + vo.setSupplierCodeUnified(supplierOnlyCode); + vo.setMsg("该供应商没有审核"); + list.add(vo); + return list; + } + + public SupplierBankInfo fetchByName(String supplierName) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("name", supplierName); + List list = baseMapper.selectList(qw); + if (list == null || list.isEmpty()) + return null; + return list.get(0); + } + + public InTransitCheckVo checkInTransitByUniCode(String supplierOnlyCode) { + InTransitCheckVo vo = new InTransitCheckVo(supplierOnlyCode); + vo.setOrderAmount(purchaseRequisitionService.amountOfSupplier(supplierOnlyCode)); + vo.setInstorageAmount(gdInstorageService.amountOfSupplier(supplierOnlyCode)); + return vo; + } } \ No newline at end of file diff --git a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/supplierindex/SupplierIndexService.java b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/supplierindex/SupplierIndexService.java index c4252688..2e48fe56 100644 --- a/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/supplierindex/SupplierIndexService.java +++ b/yxt_supervise/supervise-customer/supervise-customer-biz/src/main/java/com/yxt/supervise/customer/biz/supplierindex/SupplierIndexService.java @@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.vo.PagerVo; @@ -62,8 +61,8 @@ public class SupplierIndexService extends ServiceImpl qw = new QueryWrapper<>(); SupplierIndexQuery params = pq.getParams(); String name = params.getName(); - if(StringUtils.isNotBlank(name)){ - qw.like("i.name",name); + if (StringUtils.isNotBlank(name)) { + qw.like("i.name", name); } IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); @@ -114,4 +113,15 @@ public class SupplierIndexService extends ServiceImpl qw = new QueryWrapper<>(); + qw.eq("code", supplierCode); + return baseMapper.selectOne(qw); + } + public List listByCode(String supplierCode) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("code", supplierCode); + return baseMapper.selectList(qw); + } }