diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/WmsToAcsService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/WmsToAcsService.java index f28f090f..3f72ef1e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/WmsToAcsService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/WmsToAcsService.java @@ -73,4 +73,11 @@ public interface WmsToAcsService { * @return */ JSONObject request(JSONObject arr,String url); + + /** + * 异步入库 + * @param arr + * @param url + */ + void asyncRequest(JSONObject arr,String url); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/impl/WmsToAcsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/impl/WmsToAcsServiceImpl.java index a873539e..4e2ffbe3 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/impl/WmsToAcsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/acs/service/impl/WmsToAcsServiceImpl.java @@ -1,17 +1,26 @@ package org.nl.wms.ext_manage.acs.service.impl; +import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpRequest; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.apache.http.HttpResponse; +import org.nl.common.enums.StatusEnum; import org.nl.common.utils.AcsUtil; +import org.nl.common.utils.AsyncHttpRequest; import org.nl.common.utils.IdUtil; import org.nl.common.utils.MapOf; +import org.nl.modules.wql.util.SpringContextHolder; import org.nl.wms.ext_manage.acs.service.WmsToAcsService; +import org.nl.wms.system_manage.service.param.impl.SysParamServiceImpl; import org.springframework.stereotype.Service; import java.util.Map; +import java.util.concurrent.Future; @Service @@ -145,5 +154,16 @@ public class WmsToAcsServiceImpl implements WmsToAcsService{ public JSONObject request(JSONObject arr, String url) { return AcsUtil.notifyAcs(url, arr); } + + @Override + public void asyncRequest(JSONObject arr, String api) { + String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("IS_CONNECT_ACS").getValue(); + if (StrUtil.equals(StatusEnum.STATUS_FLASE.getCode(), isConnect)) { + return; + } + String acsUrl = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("acs_url").getValue(); + Future execute = AsyncHttpRequest.post(acsUrl + api, arr.toString()).execute(null); + log.info("异步下发ACS参数----------------------------------------+"+acsUrl+",---"+arr.toString()); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps_manage/saleorder/controller/MpsSaleOrderIcExtController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps_manage/saleorder/controller/MpsSaleOrderIcExtController.java index b421393d..23861dad 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps_manage/saleorder/controller/MpsSaleOrderIcExtController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps_manage/saleorder/controller/MpsSaleOrderIcExtController.java @@ -6,9 +6,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.apache.commons.lang3.StringUtils; import org.nl.common.anno.Log; import org.nl.common.utils.IdUtil; +import org.nl.common.utils.MapOf; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.mps_manage.other.service.orderExt.IMpsSaleOrderIcExtService; import org.nl.wms.mps_manage.other.service.orderExt.dao.MpsSaleOrderIcExt; +import org.nl.wms.mps_manage.saleorder.service.IMpsSaleOrderService; +import org.nl.wms.mps_manage.saleorder.service.dao.MpsSaleOrder; import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -21,6 +24,7 @@ import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; +import java.util.Map; /** *

@@ -37,7 +41,7 @@ public class MpsSaleOrderIcExtController { @Autowired private IMpsSaleOrderIcExtService extService; @Autowired - private IPdmProduceWorkorderService workorderService; + private IMpsSaleOrderService saleOrderService; @PostMapping @Log("新增订单扩展表") @@ -51,9 +55,13 @@ public class MpsSaleOrderIcExtController { @Log("新增订单扩展表") //("新增订单扩展表") public ResponseEntity query(@RequestBody JSONObject whereJson) { - MpsSaleOrderIcExt one = extService.getOne(new QueryWrapper() + Map map = extService.getMap(new QueryWrapper() .eq("sale_id", whereJson.getString("sale_id")).eq("material_code", whereJson.getString("material_code"))); - return new ResponseEntity<>(one,HttpStatus.OK); + if (map==null){ + MpsSaleOrder saleOrder = saleOrderService.getById(whereJson.getString("sale_id")); + map= MapOf.of("sale_code",saleOrder.getSale_code(),"material_code",whereJson.getString("material_code"),"bar_code","","print_no",0,"orderext_id",""); + } + return new ResponseEntity<>(map,HttpStatus.OK); } @PostMapping("/getExtList") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/controller/TmpKZController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/controller/TmpKZController.java index 9e7a5c15..531487cd 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/controller/TmpKZController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/pda/controller/TmpKZController.java @@ -18,6 +18,7 @@ import org.nl.common.TableDataInfo; import org.nl.common.anno.Log; import org.nl.common.enums.AcsTaskEnum; import org.nl.common.enums.StatusEnum; +import org.nl.common.utils.MapOf; import org.nl.common.utils.RedissonUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.ext_manage.acs.service.WmsToAcsService; @@ -38,10 +39,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.math.BigDecimal; +import java.util.*; import java.util.stream.Collectors; @RestController @@ -191,14 +190,48 @@ public class TmpKZController { @Log("手动送空框") @SaIgnore public ResponseEntity sendVechile(@RequestBody JSONObject param){ - return new ResponseEntity<>(HttpStatus.OK); + return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK); } @PostMapping("/kz/resend") @Log("刻字任务重新下发") @SaIgnore public ResponseEntity resend(@RequestBody JSONObject param){ - return new ResponseEntity<>(HttpStatus.OK); + SchBaseTask baseTask = taskService.getById(param.getString("task_id")); + if (baseTask.getTask_status().equals(StatusEnum.TASK_FINISH.getCode())){ + throw new BadRequestException("任务已经完成"); + }; + if (baseTask.getTask_type().equals(AcsTaskEnum.TASK_Engrave_CALL.getCode())){ + //下发 + Map qtyArr = JSONObject.parseObject(baseTask.getQtyArr(), Map.class); + JSONObject jo = new JSONObject(); + jo.put("start_point_code", baseTask.getPoint_code1()); + jo.put("task_code", baseTask.getTask_code()); + jo.put("all_weight", baseTask.getMaterial_qty().intValue()); + String[] to_sort_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}; + String[] to_devices_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}; + String[] to_weight_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}; + List sort = qtyArr.keySet().stream().sorted(Comparator.comparingInt(key -> Integer.valueOf(key.substring(key.lastIndexOf("_") + 1)))).collect(Collectors.toList()); + for (int i1 = 0; i1 < sort.size(); i1++) { + String key = sort.get(i1); + to_sort_array[i1] = String.valueOf(i1+1); + to_devices_array[i1] = String.valueOf(key); + to_weight_array[i1] = String.valueOf(new BigDecimal(qtyArr.get(key))); + } + jo.put("to_sort_array", Arrays.stream(to_sort_array).collect(Collectors.joining(","))); + jo.put("to_devices_array",Arrays.stream(to_devices_array).collect(Collectors.joining(","))); + jo.put("to_weight_array", Arrays.stream(to_weight_array).collect(Collectors.joining(","))); + JSONObject result = wmsToAcsService.request(jo, "api/wms/engravingIn"); + if (!result.getString("status").equals("200")){ + log.error("刻字上料输送线任务下发异常:{}",result.getString("message")); + baseTask.setRemark(result.getString("message")); + taskService.updateById(baseTask); + throw new BadRequestException(result.getString("message")); + } + }else { + taskService.operation(MapOf.of("method_name","immediateNotifyAcs","task_id",param.getString("task_id"))); + } + return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK); } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveSendEmpTask.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveSendEmpTask.java index fd77ac5e..062d5031 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveSendEmpTask.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveSendEmpTask.java @@ -98,12 +98,7 @@ public class EngraveSendEmpTask extends AbstractAcsTask { String start_point_code = param.getString("device_code"); //?刻字满料请求:可以存在多个任务? List list = taskService.list(new QueryWrapper() - .lt("task_status", StatusEnum.TASK_FINISH.getCode()) - .and(wa->wa - .eq("point_code1", param.getString("device_code")) - .or() - .eq("point_code3", param.getString("device_code"))) - ); + .lt("task_status", StatusEnum.TASK_FINISH.getCode()).eq("task_type",AcsTaskEnum.TASK_Engrave_EMPTY.getCode())); if (!CollectionUtils.isEmpty(list)){ throw new BadRequestException(String.format("设备%s存在未完成任务"+list.stream().map(SchBaseTask::getTask_id).collect(Collectors.toList()).toString(), param.getString("device_code"))); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveTranSportTask.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveTranSportTask.java index f13201c1..51fad12d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveTranSportTask.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveTranSportTask.java @@ -42,8 +42,6 @@ public class EngraveTranSportTask extends AbstractAcsTask { @Autowired private ISchBaseTaskService taskService; @Autowired - private IPdmProduceWorkorderService workorderService; - @Autowired private IMdMeMaterialbaseService materialbaseService; @Autowired private WmsToAcsService wms; @@ -94,22 +92,17 @@ public class EngraveTranSportTask extends AbstractAcsTask { String[] to_sort_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}; String[] to_devices_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}; String[] to_weight_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}; - int i=0; List sort = qtyArr.keySet().stream().sorted(Comparator.comparingInt(key -> Integer.valueOf(key.substring(key.lastIndexOf("_") + 1)))).collect(Collectors.toList()); for (int i1 = 0; i1 < sort.size(); i1++) { String key = sort.get(i1); - to_sort_array[i] = String.valueOf(i1+1); - to_devices_array[i] = String.valueOf(key); - to_weight_array[i] = String.valueOf(new BigDecimal(qtyArr.get(key))); + to_sort_array[i1] = String.valueOf(i1+1); + to_devices_array[i1] = String.valueOf(key); + to_weight_array[i1] = String.valueOf(new BigDecimal(qtyArr.get(key))); } jo.put("to_sort_array", Arrays.stream(to_sort_array).collect(Collectors.joining(","))); jo.put("to_devices_array",Arrays.stream(to_devices_array).collect(Collectors.joining(","))); jo.put("to_weight_array", Arrays.stream(to_weight_array).collect(Collectors.joining(","))); - JSONObject result = wms.request(jo, "api/wms/engravingIn"); - if (!result.getString("status").equals("200")){ - log.error("刻字上料输送线任务下发异常:{}",result.getString("message")); - throw new BadRequestException(result.getString("message")); - } + wms.asyncRequest(jo, "api/wms/engravingIn"); taskService.save(baseTask); return baseTask.getTask_id(); }catch (Exception ex){ diff --git a/mes/qd/src/views/wms/old_manage/old_package/index.vue b/mes/qd/src/views/wms/old_manage/old_package/index.vue index 354e20d3..d70cf7e7 100644 --- a/mes/qd/src/views/wms/old_manage/old_package/index.vue +++ b/mes/qd/src/views/wms/old_manage/old_package/index.vue @@ -268,29 +268,34 @@ append-to-body :visible.sync="dialogVisible" destroy-on-close - width="400px" + width="600px" :show-close="true" @open="printFormm()" @close="close()" > - - - - - - - - - - - - - 重置箱号 - - + + + + + + + + + + + + + + 重置箱号 + + + + + + 取 消 - 确 定 + 打 印 @@ -489,6 +494,7 @@ export default { form.cascader = val }, submit() {}, + resetno() {}, handleSelectionChange(val, row) { if (val.length > 1) { this.$refs.table.clearSelection() @@ -579,12 +585,9 @@ export default { }) }, printFormm(){ - const param ={"sale_id":this.form.sale_id,"material_code":this.form.material_code} + const param ={"sale_id":this.currentRow.sale_id,"material_code":this.currentRow.material_code} orderExt.getQuery(param).then(res => { - if (res.length == 0 || !res) { - this.crud.notify('该工单需要打印的箱数为0', CRUD.NOTIFICATION_TYPE.INFO) - return - } + this.printForm = res }) }, close(){ @@ -593,34 +596,32 @@ export default { }, print(){ this.dialogVisible =true - // if (!this.currentRow.workorder_code) { - // this.crud.notify('请选择一条工单记录进行打印', CRUD.NOTIFICATION_TYPE.INFO) - // return - // } - // orderExt.getExtList(this.currentRow).then(res => { - // if (res.length == 0 || !res) { - // this.crud.notify('该工单需要打印的箱数为0', CRUD.NOTIFICATION_TYPE.INFO) - // return - // } - // res.forEach((item) => { - // const LODOP = getLodop() - // LODOP.SET_SHOW_MODE('HIDE_DISBUTTIN_SETUP', 1)// 隐藏那些无效按钮 - // // 打印纸张大小设置https://www.it610.com/article/2094844.html - // LODOP.SET_PRINT_PAGESIZE(1, '80mm', '50mm', '') - // // LODOP.ADD_PRINT_RECT('0mm', '0mm', '48mm', '28mm', 0, 1) - // LODOP.ADD_PRINT_BARCODE('10mm', '12mm', '60mm', '25mm', '128Auto', item.bar_code) - // LODOP.SET_PRINT_STYLEA(0, 'ShowBarText', 0) - // LODOP.ADD_PRINT_TEXT('35mm', '22mm', '40mm', '20mm', item.bar_code.substring(0, 9)) - // LODOP.SET_PRINT_STYLEA(0, 'FontSize', 20) - // LODOP.ADD_PRINT_TEXT('42mm', '25mm', '40mm', '20mm', item.bar_code.substring(9, 16)) - // console.log(item.barcode) - // LODOP.SET_PRINT_STYLEA(0, 'FontSize', 20) - // LODOP.PRINT()// 打印 - // // LODOP.PREVIEW() - // }) - // }) - // this.crud.notify('打印成功', CRUD.NOTIFICATION_TYPE.SUCCESS) - // this.crud.toQuery() + }, + printNumber(){ + orderExt.getExtList(this.currentRow).then(res => { + if (res.length == 0 || !res) { + this.crud.notify('该工单需要打印的箱数为0', CRUD.NOTIFICATION_TYPE.INFO) + return + } + res.forEach((item) => { + const LODOP = getLodop() + LODOP.SET_SHOW_MODE('HIDE_DISBUTTIN_SETUP', 1)// 隐藏那些无效按钮 + // 打印纸张大小设置https://www.it610.com/article/2094844.html + LODOP.SET_PRINT_PAGESIZE(1, '80mm', '50mm', '') + // LODOP.ADD_PRINT_RECT('0mm', '0mm', '48mm', '28mm', 0, 1) + LODOP.ADD_PRINT_BARCODE('10mm', '12mm', '60mm', '25mm', '128Auto', item.bar_code) + LODOP.SET_PRINT_STYLEA(0, 'ShowBarText', 0) + LODOP.ADD_PRINT_TEXT('35mm', '22mm', '40mm', '20mm', item.bar_code.substring(0, 9)) + LODOP.SET_PRINT_STYLEA(0, 'FontSize', 20) + LODOP.ADD_PRINT_TEXT('42mm', '25mm', '40mm', '20mm', item.bar_code.substring(9, 16)) + console.log(item.barcode) + LODOP.SET_PRINT_STYLEA(0, 'FontSize', 20) + LODOP.PRINT()// 打印 + // LODOP.PREVIEW() + }) + }) + this.crud.notify('打印成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + this.crud.toQuery() }, // 改变状态 format_is_used(is_used) {