From 05d42506f6eda85cc93060b1b4d6b779061bf24a Mon Sep 17 00:00:00 2001 From: cl <418351270@qq.com> Date: 星期一, 15 一月 2024 18:27:27 +0800 Subject: [PATCH] 生成 --- jcdm-ui/src/views/main/om/productionOrde/index.vue | 129 +++++++++++++++++++------------ jcdm-ui/src/api/main/om/productionOrde/productionOrde.js | 9 ++ jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js | 2 jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java | 22 +++++ jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java | 31 +++++++ 5 files changed, 143 insertions(+), 50 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java index 44858ae..7e9648d 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java @@ -2,9 +2,13 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; +import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService; import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo; import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService; import com.jcdm.main.webservice.service.ReceivingServices; +import org.apache.commons.lang3.StringUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -34,6 +38,9 @@ { @Autowired private IOmProductionOrdeInfoService omProductionOrdeInfoService; + + @Autowired + private IBsOrderSchedulingService bsOrderSchedulingService; /** * 鏌ヨ鐢熶骇宸ュ崟鍒楄〃 @@ -82,6 +89,30 @@ } /** + * 鏂板鐢熶骇宸ュ崟 + */ + @PostMapping("/orderSchedulingForBoxCode") + public AjaxResult addOrderSchedulingForBoxCode(@RequestBody OmProductionOrdeInfo omProductionOrdeInfo) + { + Integer startCode = Integer.parseInt(omProductionOrdeInfo.getStartCode());//寮�濮嬬紪鍙� + Integer planQty = Math.toIntExact(omProductionOrdeInfo.getPlanQty());//璁″垝鏁伴噺 + String dateTimeRule = omProductionOrdeInfo.getDateTimeRule(); + + for(int i=0;i<planQty;i++){ + BsOrderScheduling bsOrderScheduling = new BsOrderScheduling(); + bsOrderScheduling.setOrderNo(omProductionOrdeInfo.getWorkOrderNo()); + bsOrderScheduling.setModel(omProductionOrdeInfo.getTypeZ()); + bsOrderScheduling.setEngineNo(omProductionOrdeInfo.getTypeZ() + " "+dateTimeRule+ StringUtils.leftPad(String.valueOf(startCode),3, "0")); + bsOrderScheduling.setStatus("1"); + bsOrderSchedulingService.insertBsOrderScheduling(bsOrderScheduling); + startCode ++; + } + + omProductionOrdeInfo.setOrderStatus("2");//鏇存柊宸ュ崟鐘舵�� + return toAjax(omProductionOrdeInfoService.updateOmProductionOrdeInfo(omProductionOrdeInfo)); + } + + /** * 淇敼鐢熶骇宸ュ崟 */ @PreAuthorize("@ss.hasPermi('om:productionOrde:edit')") diff --git a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java index 88409e3..f0307dd 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java +++ b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/domain/OmProductionOrdeInfo.java @@ -164,6 +164,28 @@ private String flag; + + + private String dateTimeRule; + private String startCode; + + + public String getDateTimeRule() { + return dateTimeRule; + } + + public void setDateTimeRule(String dateTimeRule) { + this.dateTimeRule = dateTimeRule; + } + + public String getStartCode() { + return startCode; + } + + public void setStartCode(String startCode) { + this.startCode = startCode; + } + /** 鐢熶骇閫氱煡鍗曞彿 */ @Excel(name = "鐢熶骇閫氱煡鍗曞彿") private String productionNotice; diff --git a/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js b/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js index 4129e13..8727d5c 100644 --- a/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js +++ b/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js @@ -17,6 +17,8 @@ }) } + + // 鏂板璁㈠崟鎺掍骇 export function addOrderScheduling(data) { return request({ diff --git a/jcdm-ui/src/api/main/om/productionOrde/productionOrde.js b/jcdm-ui/src/api/main/om/productionOrde/productionOrde.js index 76bdb18..5e64466 100644 --- a/jcdm-ui/src/api/main/om/productionOrde/productionOrde.js +++ b/jcdm-ui/src/api/main/om/productionOrde/productionOrde.js @@ -33,6 +33,15 @@ }) } +// 鏂板璁㈠崟鎺掍骇 +export function addOrderSchedulingForBoxCode(data) { + return request({ + url: '/om/productionOrde/orderSchedulingForBoxCode', + method: 'post', + data: data + }) +} + // 鏂板鐢熶骇宸ュ崟 export function addProductionOrde(data) { return request({ diff --git a/jcdm-ui/src/views/main/om/productionOrde/index.vue b/jcdm-ui/src/views/main/om/productionOrde/index.vue index 4f1359c..97d14a7 100644 --- a/jcdm-ui/src/views/main/om/productionOrde/index.vue +++ b/jcdm-ui/src/views/main/om/productionOrde/index.vue @@ -345,39 +345,27 @@ <el-form-item label="绉嶇被" prop="typeZ"> <el-input disabled v-model="form.typeZ" placeholder="璇疯緭鍏ョ绫�" /> </el-form-item> - <el-form-item label="骞翠唤" prop="year"> - <el-select @change="changeYear(form.year)" v-model="form.year" placeholder="璇烽�夋嫨骞翠唤" clearable> - <el-option v-for="dict in dict.type.year" - :key="dict.value" - :label="dict.label" - :value="dict.value"/> - </el-select> + <el-form-item label="鏃ユ湡" prop="dateTime"> + <el-date-picker clearable + v-model="form.dateTime" + type="date" + value-format="yyyy-MM-dd" + placeholder="璇烽�夋嫨鏃ユ湡" @input="handleCodeChange"> + </el-date-picker> </el-form-item> - <el-form-item label="鏈堜唤" prop="month"> - <el-select @change="changeMonth(form.month)" v-model="form.month" placeholder="璇烽�夋嫨鏈堜唤" clearable> - <el-option v-for="dict in dict.type.month" - :key="dict.value" - :label="dict.label" - :value="dict.value"/> - </el-select> + <el-form-item label="鏃ユ湡瑙勫垯" prop="dateTimeRule" hidden> + <el-input v-model="form.dateTimeRule"/> </el-form-item> - <el-form-item label="鏃ユ湡" prop="day"> - <el-select @change="changeDay(form.day)" v-model="form.day" placeholder="璇烽�夋嫨鏃ユ湡" clearable> - <el-option v-for="dict in dict.type.day" - :key="dict.value" - :label="dict.label" - :value="dict.value"/> - </el-select> + + <el-form-item label="璧峰缂栧彿" prop="startCode"> + <el-input v-model="form.startCode" placeholder="璇疯緭鍏ヨ捣濮嬬紪鍙�" @input="handleCodeChange"/> </el-form-item> - <el-form-item label="鏁伴噺" prop="actualQty"> - <el-input disabled v-model="form.actualQty" placeholder="璇疯緭鍏ユ暟閲�" /> - </el-form-item> - <el-form-item label="缂栫爜" prop="adds"> - <el-input disabled v-model="form.adds" placeholder="璇风敓鎴愮紪鐮�" /> + <el-form-item label="璧锋缂栧彿" prop="startEndCode"> + <el-input disabled v-model="form.startEndCode"/> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="CreateSubmitForm">纭� 瀹�</el-button> + <el-button type="primary" @click="submitFormForBoxCode">纭� 瀹�</el-button> <el-button @click="cancel">鍙� 娑�</el-button> </div> </el-dialog> @@ -391,8 +379,15 @@ import { listProductBom } from "@/api/main/bs/ProductBom/ProductBom"; import { listTechnologyRoute} from "@/api/main/bs/technologyRoute/technologyRoute"; import ItemSelect from "@/components/itemSelect/single.vue"; -import { getProductionNotice, upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde"; -import { listOrderScheduling, getOrderScheduling, delOrderScheduling, addOrderScheduling, updateOrderScheduling,generateNumbers } from "@/api/main/bs/orderScheduling/orderScheduling"; +import { addOrderSchedulingForBoxCode,getProductionNotice, upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde"; +import { + listOrderScheduling, + getOrderScheduling, + delOrderScheduling, + addOrderScheduling, + updateOrderScheduling, + generateNumbers +} from "@/api/main/bs/orderScheduling/orderScheduling"; export default { name: "ProductionOrde", @@ -493,6 +488,44 @@ this.initWorkshop(); }, methods: { + //鏃ユ湡鎴栧紑濮嬬紪鍙疯緭鍏ユ椂 + handleCodeChange(data){ + let dateTime = this.form.dateTime; + let planQty = this.form.planQty; + let startCode = this.form.startCode + if(dateTime !== null && dateTime !== undefined + && startCode !== null && startCode !== undefined) { + let dateTimes = dateTime.split("-"); + let year = dateTimes[0]; + let month = dateTimes[1]; + let day = dateTimes[2]; + let dictYear = this.dict.type.year; + let dictMonth = this.dict.type.month; + let startCode = this.form.startCode + let dateTimeRule = ""; + + //骞� + for (let i = 0; i < dictYear.length; i++) { + if (year === dictYear[i].label) { + dateTimeRule = dictYear[i].value + // this.form.startEndCode = startEndCode; + } + } + //鏈� + for (let i = 0; i < dictMonth.length; i++) { + if (month === dictMonth[i].label) { + dateTimeRule = dateTimeRule + dictMonth[i].value; + } + } + //鏃� + dateTimeRule = dateTimeRule + day; + this.form.dateTimeRule = dateTimeRule; + //璧嬪�艰捣濮嬬紪鐮� + this.form.startEndCode = dateTimeRule + startCode + "----" + dateTimeRule + String(parseInt(startCode) + parseInt(planQty)-1).padStart(3, '0') ; + } + }, + + getProductionNotice(){ getProductionNotice(this.queryParams).then(response => { this.$modal.msgSuccess("鎺ユ敹鎴愬姛"); @@ -673,7 +706,7 @@ console.log(response.data) this.form = response.data; this.Createopen = true; - this.titleName = "鐢熸垚璁㈠崟"; + this.titleName = "鐢熸垚绠变綋鏉$爜"; // return Array.from({ length: parseInt(this.actualQty) }, (_, index) => index + 1); }); this.$modal.msgSuccess(Row.actualQty); @@ -712,6 +745,22 @@ } }); }, + + /** 鐢熸垚绠变綋鏉$爜鎻愪氦鎸夐挳 */ + submitFormForBoxCode() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.id != null) { + addOrderSchedulingForBoxCode(this.form).then(response => { + this.$modal.msgSuccess("淇濆瓨鎴愬姛"); + this.open = false; + this.getList(); + }); + } + } + }); + }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { const ids = row.id || this.ids; @@ -727,26 +776,6 @@ this.download('om/productionOrde/export', { ...this.queryParams }, `productionOrde_${new Date().getTime()}.xlsx`) - }, - /** 鎻愪氦鎸夐挳 */ - CreateSubmitForm() { - this.$refs["form"].validate(valid => { - if (valid) { - if (this.form.orderNumber != null) { - updateOrderScheduling(this.form).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.open = false; - this.getList(); - }); - } else { - addOrderScheduling(this.form).then(response => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.open = false; - this.getList(); - }); - } - } - }); }, } -- Gitblit v1.9.3