billion-admin/src/main/resources/application-druid.yml
@@ -8,7 +8,11 @@ master: url: jdbc:mysql://127.0.0.1:3306/billion-db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: root password: 123456 # master: # url: jdbc:mysql://127.0.0.1:3306/billion-db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 # username: root # password: 123456 # ä»åºæ°æ®æº # slave: # # ä»æ°æ®æºå¼å ³/é»è®¤å ³é billion-admin/src/main/resources/application.yml
@@ -16,7 +16,7 @@ # å¼åç¯å¢é ç½® server: # æå¡å¨çHTTP端å£ï¼é»è®¤ä¸º8080 port: 8080 port: 8081 servlet: # åºç¨ç访é®è·¯å¾ context-path: / billion-main/src/main/java/com/billion/main/api/RestfulAPI.java
@@ -1,18 +1,97 @@ package com.billion.main.api; import cn.hutool.core.collection.CollUtil; import com.billion.main.api.domain.OutPutParameters; import com.billion.main.api.domain.OutPutParametersChild; import com.billion.main.api.domain.WorkOrdersInfo; import com.billion.main.api.domain.WorkOrdersInfoChild; import com.billion.main.bs.domain.BsBomChildInfo; import com.billion.main.bs.domain.BsBomInfo; import com.billion.main.bs.service.IBsBomChildInfoService; import com.billion.main.bs.service.IBsBomInfoService; import com.billion.main.om.domain.OmProductionOrderInfo; import com.billion.main.om.service.IOmProductionOrderInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import java.util.ArrayList; import java.util.List; public class RestfulAPI { @Autowired private IOmProductionOrderInfoService OmProductionOrderInfoService; @Autowired private IBsBomInfoService bsBomInfoService; @Autowired private IBsBomChildInfoService bsBomChildInfoService; public static final String getQualityData = "IPå°å/CollectQualityData"; /** * æ¥æ¶å·¥åä¿¡æ¯ * 1ãå·¥åMESè°ç¨æ¥æ¶å·¥åæ¥å£ï¼å°å·¥åä¿¡æ¯åéç»äº§çº¿MES * 2ã产线MESå°æ¥æ¶å°çå·¥åä¿¡æ¯åå ¥å°å·¥å表åBOM表 */ @PostMapping("/receiveWorkOrdersInfo") public void receiveWorkOrdersInfo(@RequestBody WorkOrdersInfo param){ public OutPutParameters receiveWorkOrdersInfo(@RequestBody WorkOrdersInfo workOrdersInfo) { //ä¿ååæ° List<OmProductionOrderInfo> productionOrderInfoList = new ArrayList<>(); List<BsBomInfo> bomInfoList = new ArrayList<>(); List<BsBomChildInfo> bomChildInfoList = new ArrayList<>(); List<WorkOrdersInfoChild> data = workOrdersInfo.getData(); for (WorkOrdersInfoChild workOrdersInfoChild : data) { OmProductionOrderInfo omProductionOrderInfo = new OmProductionOrderInfo(); BsBomInfo bsBomInfo = new BsBomInfo(); BsBomChildInfo bsBomChildInfo = new BsBomChildInfo(); //ä¿åå·¥åä¿¡æ¯ omProductionOrderInfo.setWorkOrderNo(workOrdersInfo.getOrderNumber()); omProductionOrderInfo.setSalesOrderCode(workOrdersInfo.getBatchNumber()); omProductionOrderInfo.setProductCode(workOrdersInfo.getMaterialNumber()); omProductionOrderInfo.setEngineTye(workOrdersInfo.getEngineType()); omProductionOrderInfo.setEngineName(workOrdersInfo.getEngineName()); omProductionOrderInfo.setPlanQty(Long.valueOf(workOrdersInfo.getProduction_Plan())); omProductionOrderInfo.setPlanStartTime(workOrdersInfo.getStartTime()); omProductionOrderInfo.setRemarks(workOrdersInfo.getDescription()); omProductionOrderInfo.setOrderStatus(workOrdersInfo.getState()); omProductionOrderInfo.setFlag(workOrdersInfo.getFLAG()); //ä¿åBOMä¸»è¡¨ä¿¡æ¯ bsBomInfo.setBomCode(workOrdersInfo.getBomName()); bsBomInfo.setBomName(workOrdersInfo.getBomName()); bsBomInfo.setProductCode(workOrdersInfo.getMaterialNumber()); bsBomInfo.setProductName(workOrdersInfo.getMaterialNumber()); //ä¿åBOMåè¡¨ä¿¡æ¯ bsBomChildInfo.setProductCode(workOrdersInfo.getMaterialNumber()); bsBomChildInfo.setProductName(workOrdersInfo.getMaterialNumber()); bsBomChildInfo.setBomCode(workOrdersInfo.getBomName()); bsBomChildInfo.setLocationCode(workOrdersInfoChild.getStationName()); bsBomChildInfo.setLocationName(workOrdersInfoChild.getStationName()); bsBomChildInfo.setMaterialCode(workOrdersInfoChild.getMaterial()); bsBomChildInfo.setCostQty(workOrdersInfoChild.getCount()); bsBomChildInfo.setChecked(workOrdersInfoChild.getChecked()); bsBomChildInfo.setMaterialName(workOrdersInfoChild.getMaterialName()); // } OutPutParameters outputParams = new OutPutParameters(); //å¤æä¿åçä¸ä¸ªlistæ¯å¦ä¸ºç©º if (CollUtil.isNotEmpty(productionOrderInfoList) && CollUtil.isNotEmpty(bomInfoList) && CollUtil.isNotEmpty(bomChildInfoList)) { //æå ¥æ°æ®åº OmProductionOrderInfoService.insertBatch(productionOrderInfoList); bsBomInfoService.insertBatch(bomInfoList); bsBomChildInfoService.insertBatch(bomChildInfoList); //åºå OutPutParametersChild child = new OutPutParametersChild(workOrdersInfo.getMaterialNumber(), "S", "ééå®æ"); outputParams.addData(child); } else { OutPutParametersChild child = new OutPutParametersChild(workOrdersInfo.getMaterialNumber(), "F", "éé失败"); outputParams.addData(child); } return outputParams; } } billion-main/src/main/java/com/billion/main/api/domain/OutPutParameters.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,48 @@ package com.billion.main.api.domain; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class OutPutParameters extends HashMap<String, Object>{ private String code ="success"; private String message = "APIè°ç¨æå"; private List<OutPutParametersChild> data; public OutPutParameters() { this.data = new ArrayList<>(); } public void addData(OutPutParametersChild child) { this.data.add(child); } public String toJson() { StringBuilder json = new StringBuilder(); json.append("{"); // æ·»å codeåmessageï¼è¿é使ç¨éæå¼ï¼ä½é常æ¨åºè¯¥é¿å è¿æ ·åï¼ json.append("\"code\": \"").append(code).append("\","); json.append("\"message\": \"").append(message).append("\","); // æ·»å data json.append("\"data\": ["); boolean first = true; for (OutPutParametersChild child : data) { if (!first) { json.append(","); } first = false; json.append("{"); json.append("\"productNum\": \"").append(child.getProductNum()).append("\","); json.append("\"resultCode\": \"").append(child.getResultCode()).append("\","); json.append("\"resultText\": \"").append(child.getResultText()).append("\""); json.append("}"); } json.append("]"); json.append("}"); return json.toString(); } } billion-main/src/main/java/com/billion/main/api/domain/OutPutParametersChild.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.billion.main.api.domain; public class OutPutParametersChild { private String productNum; private String resultCode; private String resultText; public OutPutParametersChild(String productNum, String resultCode, String resultText) { this.productNum = productNum; this.resultCode = resultCode; this.resultText = resultText; } public String getProductNum() { return productNum; } public String getResultCode() { return resultCode; } public String getResultText() { return resultText; } } billion-main/src/main/java/com/billion/main/api/domain/WorkOrdersInfo.java
@@ -8,6 +8,18 @@ public class WorkOrdersInfo { private List<WorkOrdersInfoChild> childList; private String ProductionID; private String OrderNumber; private String BatchNumber; private String MaterialNumber; private String EngineType; private String EngineName; private String Production_Plan; private String StartTime; private String Description; private String State; private String FLAG; private String BomName; private List<WorkOrdersInfoChild> data; } billion-main/src/main/java/com/billion/main/api/domain/WorkOrdersInfoChild.java
@@ -4,5 +4,9 @@ @Data public class WorkOrdersInfoChild { private String StationName; private String Material; private String Count; private String Checked; private String MaterialName; } billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java
@@ -63,5 +63,12 @@ /** é»è¾å é¤ */ private String delFlag; /** æ¯å¦æ¹éæ«æ */ @Excel(name = "æ¯å¦æ¹éæ«æ") private String checked; public void setCostQty(String count) { } } billion-main/src/main/java/com/billion/main/bs/service/IBsBomChildInfoService.java
@@ -60,4 +60,5 @@ * @return ç»æ */ public int deleteBsBomChildInfoById(Long id); void insertBatch(List<BsBomChildInfo> confList); } billion-main/src/main/java/com/billion/main/bs/service/IBsBomInfoService.java
@@ -60,4 +60,6 @@ * @return ç»æ */ public int deleteBsBomInfoById(Long id); void insertBatch(List<BsBomInfo> confList); } billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomChildInfoServiceImpl.java
@@ -92,4 +92,9 @@ { return bsBomChildInfoMapper.deleteBsBomChildInfoById(id); } @Override public void insertBatch(List<BsBomChildInfo> confList) { } } billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomInfoServiceImpl.java
@@ -101,4 +101,9 @@ { return bsBomInfoMapper.deleteBsBomInfoById(id); } @Override public void insertBatch(List<BsBomInfo> confList) { } } billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java
@@ -54,4 +54,18 @@ @Excel(name = "å¤æ³¨") private String remarks; /** åå¨æºåå· */ @Excel(name = "åå¨æºåå·") private String engineTye; /** æºå */ @Excel(name = "æºå") private String engineName; /** 订åç¶æ */ @Excel(name = "订åç¶æ") private String flag; public void setPlanStartTime(String startTime) { } } billion-main/src/main/java/com/billion/main/om/service/IOmProductionOrderInfoService.java
@@ -60,4 +60,6 @@ * @return ç»æ */ public int deleteOmProductionOrderInfoById(Long id); void insertBatch(List<OmProductionOrderInfo> confList); } billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java
@@ -123,4 +123,9 @@ { return OmProductionOrderInfoMapper.deleteOmProductionOrderInfoById(id); } @Override public void insertBatch(List<OmProductionOrderInfo> confList) { } } billion-ui/src/api/main/bs/bomInfo.js
@@ -35,6 +35,7 @@ }) } // å é¤åºç¡BOM export function delBomInfo(id) { return request({ billion-ui/src/utils/request.js
@@ -15,7 +15,7 @@ // å建axioså®ä¾ const service = axios.create({ // axiosä¸è¯·æ±é ç½®æbaseURLé项ï¼è¡¨ç¤ºè¯·æ±URLå ¬å ±é¨å baseURL: `http://192.168.20.9:8080`, baseURL: `http://127.0.0.1:8081`, // è¶ æ¶ timeout: 10000 }) billion-ui/src/views/main/bs/bomChildInfo/index.vue
@@ -46,7 +46,6 @@ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">éç½®</el-button> </el-form-item> </el-form> <el-card style="margin-top: 10px" class="box-card"> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button @@ -138,7 +137,6 @@ <el-empty v-else> <span slot="description">ææ æ°æ®</span> </el-empty> </el-card> <pagination v-show="total>0" billion-ui/src/views/main/bs/bomInfo/index.vue
@@ -74,6 +74,16 @@ </el-col> <el-col :span="1.5"> <el-button plain icon="el-icon-setting" size="mini" :disabled="multiple" @click="statusChange" v-hasPermi="['bs:bomInfo:remove']" >ç¶æåæ´</el-button> </el-col> <el-col :span="1.5"> <el-button type="warning" plain icon="el-icon-download" @@ -128,7 +138,7 @@ <el-form-item label="产åå称" prop="productName"> <el-input v-model="form.productName" placeholder="请è¾å ¥äº§åå称" /> </el-form-item> <el-form-item label="å·¥åç¶æ" prop="status"> <el-form-item label="ç¶æ" prop="status"> <el-radio-group v-model="form.status"> <el-radio v-for="dict in dict.type.sys_normal_disable" @@ -150,7 +160,7 @@ </template> <script> import { listBomInfo, getBomInfo, delBomInfo, addBomInfo, updateBomInfo } from "@/api/main/bs/bomInfo"; import { listBomInfo, getBomInfo, delBomInfo, addBomInfo, updateBomInfo,statusChange } from "@/api/main/bs/bomInfo"; export default { name: "BomInfo", @@ -188,6 +198,7 @@ createUser: null, updateUser: null, dataSource: null, }, // 表ååæ° form: {}, @@ -208,7 +219,6 @@ this.loading = true; listBomInfo(this.queryParams).then(response => { this.bomInfoList = response.rows; console.log(this.bomInfoList) this.total = response.total; this.loading = false; @@ -270,6 +280,33 @@ this.open = true; this.title = "ä¿®æ¹åºç¡BOM"; }); console.log(this.from.status) }, /** ç¶æåæ´æé®æä½ */ statusChange(row) { this.reset(); const id = row.id || this.ids getBomInfo(id).then(response => { this.form = response.data; }); console.log(this.from) this.$refs["form"].validate(valid => { if(valid){ if(this.from.status==='1'){ this.from.status='0'; updateBomInfo(this.form).then(response => { this.$modal.msgSuccess("åç¨æå"); this.getList(); }); }else{ this.from.status='1'; updateBomInfo(this.form).then(response => { this.$modal.msgSuccess("å¯ç¨æå"); this.getList(); }); } } }); }, /** æ交æé® */ submitForm() { billion-ui/vue.config.js
@@ -37,7 +37,7 @@ proxy: { // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_API]: { target: `http://192.168.20.9:8080`, target: `http://127.0.0.1:8081`, changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API]: ''