From 7737ed3ab344422b320289694dbcf4ade70a9d00 Mon Sep 17 00:00:00 2001 From: hdy <1105738590@qq.com> Date: 星期六, 28 十二月 2024 09:02:02 +0800 Subject: [PATCH] 工单bom下发接口 --- billion-ui/vue.config.js | 2 billion-admin/src/main/resources/application.yml | 2 billion-main/src/main/java/com/billion/main/om/service/IOmProductionOrderInfoService.java | 2 billion-main/src/main/java/com/billion/main/api/domain/WorkOrdersInfo.java | 14 ++ billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomInfoServiceImpl.java | 5 + billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java | 7 + billion-main/src/main/java/com/billion/main/bs/service/IBsBomInfoService.java | 2 billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomChildInfoServiceImpl.java | 5 + billion-ui/src/utils/request.js | 2 billion-main/src/main/java/com/billion/main/api/domain/OutPutParameters.java | 48 +++++++++ billion-main/src/main/java/com/billion/main/api/domain/WorkOrdersInfoChild.java | 6 + billion-main/src/main/java/com/billion/main/bs/service/IBsBomChildInfoService.java | 1 billion-main/src/main/java/com/billion/main/api/RestfulAPI.java | 81 ++++++++++++++++ billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java | 14 ++ billion-ui/src/views/main/bs/bomInfo/index.vue | 43 ++++++++ billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java | 5 + billion-main/src/main/java/com/billion/main/api/domain/OutPutParametersChild.java | 23 ++++ billion-ui/src/views/main/bs/bomChildInfo/index.vue | 2 billion-admin/src/main/resources/application-druid.yml | 6 + billion-ui/src/api/main/bs/bomInfo.js | 1 20 files changed, 259 insertions(+), 12 deletions(-) diff --git a/billion-admin/src/main/resources/application-druid.yml b/billion-admin/src/main/resources/application-druid.yml index 405c2a1..adef446 100644 --- a/billion-admin/src/main/resources/application-druid.yml +++ b/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: # # 浠庢暟鎹簮寮�鍏�/榛樿鍏抽棴 diff --git a/billion-admin/src/main/resources/application.yml b/billion-admin/src/main/resources/application.yml index f798e77..421b350 100644 --- a/billion-admin/src/main/resources/application.yml +++ b/billion-admin/src/main/resources/application.yml @@ -16,7 +16,7 @@ # 寮�鍙戠幆澧冮厤缃� server: # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080 - port: 8080 + port: 8081 servlet: # 搴旂敤鐨勮闂矾寰� context-path: / diff --git a/billion-main/src/main/java/com/billion/main/api/RestfulAPI.java b/billion-main/src/main/java/com/billion/main/api/RestfulAPI.java index 6827be5..0532630 100644 --- a/billion-main/src/main/java/com/billion/main/api/RestfulAPI.java +++ b/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銆佸伐鍘侻ES璋冪敤鎺ユ敹宸ュ崟鎺ュ彛锛屽皢宸ュ崟淇℃伅鍙戦�佺粰浜х嚎MES * 2銆佷骇绾縈ES灏嗘帴鏀跺埌鐨勫伐鍗曚俊鎭瓨鍏ュ埌宸ュ崟琛ㄥ拰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(); + //鍒ゆ柇淇濆瓨鐨勪笁涓猯ist鏄惁涓虹┖ + 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; } + + + } + diff --git a/billion-main/src/main/java/com/billion/main/api/domain/OutPutParameters.java b/billion-main/src/main/java/com/billion/main/api/domain/OutPutParameters.java new file mode 100644 index 0000000..a071075 --- /dev/null +++ b/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鍜宮essage锛堣繖閲屼娇鐢ㄩ潤鎬佸�硷紝浣嗛�氬父鎮ㄥ簲璇ラ伩鍏嶈繖鏍峰仛锛� + 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(); + } + + + + +} + + diff --git a/billion-main/src/main/java/com/billion/main/api/domain/OutPutParametersChild.java b/billion-main/src/main/java/com/billion/main/api/domain/OutPutParametersChild.java new file mode 100644 index 0000000..3cf42d7 --- /dev/null +++ b/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; + } +} diff --git a/billion-main/src/main/java/com/billion/main/api/domain/WorkOrdersInfo.java b/billion-main/src/main/java/com/billion/main/api/domain/WorkOrdersInfo.java index ce85b00..00ddf11 100644 --- a/billion-main/src/main/java/com/billion/main/api/domain/WorkOrdersInfo.java +++ b/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; } diff --git a/billion-main/src/main/java/com/billion/main/api/domain/WorkOrdersInfoChild.java b/billion-main/src/main/java/com/billion/main/api/domain/WorkOrdersInfoChild.java index d8a47c8..1b68073 100644 --- a/billion-main/src/main/java/com/billion/main/api/domain/WorkOrdersInfoChild.java +++ b/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; } diff --git a/billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java b/billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java index aec9639..59b1766 100644 --- a/billion-main/src/main/java/com/billion/main/bs/domain/BsBomChildInfo.java +++ b/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) { + } } diff --git a/billion-main/src/main/java/com/billion/main/bs/service/IBsBomChildInfoService.java b/billion-main/src/main/java/com/billion/main/bs/service/IBsBomChildInfoService.java index 1c372c0..60d277d 100644 --- a/billion-main/src/main/java/com/billion/main/bs/service/IBsBomChildInfoService.java +++ b/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); } diff --git a/billion-main/src/main/java/com/billion/main/bs/service/IBsBomInfoService.java b/billion-main/src/main/java/com/billion/main/bs/service/IBsBomInfoService.java index 6ea8f12..91ff3ab 100644 --- a/billion-main/src/main/java/com/billion/main/bs/service/IBsBomInfoService.java +++ b/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); } diff --git a/billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomChildInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomChildInfoServiceImpl.java index 0c66a17..9a1e5b6 100644 --- a/billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomChildInfoServiceImpl.java +++ b/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) { + + } } diff --git a/billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomInfoServiceImpl.java index 85dcbec..db859ba 100644 --- a/billion-main/src/main/java/com/billion/main/bs/service/impl/BsBomInfoServiceImpl.java +++ b/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) { + + } } diff --git a/billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java b/billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java index 6a60569..82b1fb1 100644 --- a/billion-main/src/main/java/com/billion/main/om/domain/OmProductionOrderInfo.java +++ b/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) { + } } diff --git a/billion-main/src/main/java/com/billion/main/om/service/IOmProductionOrderInfoService.java b/billion-main/src/main/java/com/billion/main/om/service/IOmProductionOrderInfoService.java index 2933786..fba650a 100644 --- a/billion-main/src/main/java/com/billion/main/om/service/IOmProductionOrderInfoService.java +++ b/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); } diff --git a/billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java index 0a24522..c9a60a2 100644 --- a/billion-main/src/main/java/com/billion/main/om/service/impl/OmProductionOrderInfoServiceImpl.java +++ b/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) { + + } } diff --git a/billion-ui/src/api/main/bs/bomInfo.js b/billion-ui/src/api/main/bs/bomInfo.js index 493b6cc..ab418d2 100644 --- a/billion-ui/src/api/main/bs/bomInfo.js +++ b/billion-ui/src/api/main/bs/bomInfo.js @@ -35,6 +35,7 @@ }) } + // 鍒犻櫎鍩虹BOM export function delBomInfo(id) { return request({ diff --git a/billion-ui/src/utils/request.js b/billion-ui/src/utils/request.js index afe98c1..1e6c75a 100644 --- a/billion-ui/src/utils/request.js +++ b/billion-ui/src/utils/request.js @@ -15,7 +15,7 @@ // 鍒涘缓axios瀹炰緥 const service = axios.create({ // axios涓姹傞厤缃湁baseURL閫夐」锛岃〃绀鸿姹俇RL鍏叡閮ㄥ垎 - baseURL: `http://192.168.20.9:8080`, + baseURL: `http://127.0.0.1:8081`, // 瓒呮椂 timeout: 10000 }) diff --git a/billion-ui/src/views/main/bs/bomChildInfo/index.vue b/billion-ui/src/views/main/bs/bomChildInfo/index.vue index 19d0ada..141e2b2 100644 --- a/billion-ui/src/views/main/bs/bomChildInfo/index.vue +++ b/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" diff --git a/billion-ui/src/views/main/bs/bomInfo/index.vue b/billion-ui/src/views/main/bs/bomInfo/index.vue index b05d20f..e45adc8 100644 --- a/billion-ui/src/views/main/bs/bomInfo/index.vue +++ b/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() { diff --git a/billion-ui/vue.config.js b/billion-ui/vue.config.js index e01fb44..2a005c8 100644 --- a/billion-ui/vue.config.js +++ b/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]: '' -- Gitblit v1.9.3