whycxzp
2022-07-19 46386e7a6a447205579d7210790d29f803565b45
excel解析
4个文件已修改
34 ■■■■ 已修改文件
src/main/java/com/whyc/controller/ProductBomApprovingController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/WorksheetMainController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/WorksheetMain.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProductBomApprovingService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/ProductBomApprovingController.java
@@ -37,7 +37,7 @@
    public Response excelParse(@RequestParam("file") MultipartFile file) throws IOException, InvalidFormatException {
        Response<Object> response = new Response<>();
        String name=file.getOriginalFilename();
        if(!name.substring(name.length()-4).equals(".xls") || !name.substring(name.length()-5).equals(".xlsx")){
        if(!name.substring(name.length()-4).equals(".xls") && !name.substring(name.length()-5).equals(".xlsx")){
            response.set(1,false,"文件解析错误");
        }else{
            List<ProductBomApproving> list = service.excelParse(file.getInputStream());
src/main/java/com/whyc/controller/WorksheetMainController.java
@@ -2,6 +2,7 @@
import com.whyc.dto.Response;
import com.whyc.pojo.DocUser;
import com.whyc.pojo.ProductBomApproving;
import com.whyc.pojo.WorksheetMain;
import com.whyc.service.WorksheetMainService;
import com.whyc.util.ActionUtil;
@@ -10,6 +11,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@RestController
@@ -21,8 +23,8 @@
    private WorksheetMainService service;
    @PostMapping("submit")
    @ApiOperation("图纸提交")
    public Response submit(@RequestBody WorksheetMain main){
    @ApiOperation("产品图纸及bom提交")
    public Response submit(@RequestBody WorksheetMain main, @RequestBody List<ProductBomApproving> bomList){
        DocUser user = ActionUtil.getUser();
        boolean res = service.submit(main,user);
        if(res) {
src/main/java/com/whyc/pojo/WorksheetMain.java
@@ -7,6 +7,7 @@
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
@TableName(schema = "db_doc",value = "tb_worksheet_main")
@Alias("WorksheetMain")
@@ -50,6 +51,10 @@
    @TableField(exist = false)
    private String createUser;
    @ApiModelProperty("待审批产品bom")
    @TableField(exist = false)
    private List<ProductBomApproving> approvingBom;
    private LinkedList<WorksheetLink> links;
@@ -172,4 +177,12 @@
    public void setLinks(LinkedList<WorksheetLink> links) {
        this.links = links;
    }
    public List<ProductBomApproving> getApprovingBom() {
        return approvingBom;
    }
    public void setApprovingBom(List<ProductBomApproving> approvingBom) {
        this.approvingBom = approvingBom;
    }
}
src/main/java/com/whyc/service/ProductBomApprovingService.java
@@ -29,12 +29,17 @@
        short lastCellNum = row2.getLastCellNum();
        for (int i = 2; i < lastRowNum; i++) {
            ProductBomApproving bomApproving = new ProductBomApproving();
            for (int j = 0; j < lastCellNum; j++) {
            for (int j = 1; j < lastCellNum; j++) {
                Row row = sheet.getRow(i);
                Cell cell = row.getCell(j);
                String cellValue = cell.getStringCellValue();
                String cellValue = null;
                Double cellValueInt = 0d;
                if(i == 9){
                    cellValueInt = cell.getNumericCellValue();
                }else if(i!=15){
                    cellValue = cell.getStringCellValue();
                }
                switch (j){
                    case 0:{}break;
                    case 1:{bomApproving.setParentCode(cellValue);}break;
                    case 2:{bomApproving.setParentName(cellValue);}break;
                    case 3:{bomApproving.setParentModel(cellValue);}break;
@@ -43,7 +48,7 @@
                    case 6:{bomApproving.setSubName(cellValue);}break;
                    case 7:{bomApproving.setSubModel(cellValue);}break;
                    case 8:{bomApproving.setUnit(cellValue);}break;
                    case 9:{bomApproving.setQuantity(Integer.parseInt(cellValue));}break;
                    case 9:{bomApproving.setQuantity(cellValueInt.intValue());}break;
                    case 10:{bomApproving.setProducer(cellValue);}break;
                    case 11:{bomApproving.setMaterial(cellValue);}break;
                    case 12:{bomApproving.setThickness(cellValue);}break;