From 13137e3acdb759d1541f754fba81c616f418e2a1 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 26 一月 2024 09:57:16 +0800
Subject: [PATCH] 添加车轮数据、AGV接口等
---
代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/GantryJob.cs | 155 +++++
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data.cs | 21
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobTask.cs | 17
代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs | 33 +
代码管理/WMS/WMS_Server/WIDESEA_WMS/ToMes/AddToFloat3.cs | 6
代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_dataService.cs | 41 +
代码管理/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js | 63 ++
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToPCS/ToPCSController.cs | 27
代码管理/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs | 28
代码管理/PCS/WCS_Server/WIDESEA_WCS/Common/Request.cs | 46 +
项目资料/DB/dt_geometry_data.sql | 76 ++
项目资料/其他/库区分配.txt | 6
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/Request.cs | 46 +
代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs | 9
代码管理/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js | 75 ++
代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_dataService.cs | 12
代码管理/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs | 60 -
代码管理/PCS/WCS_Server/WIDESEA_Comm/DBItem/MachineDB.cs | 82 ++
代码管理/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue | 73 ++
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs | 113 +++
项目资料/系统文件/太原重工WMS系统说明V1.0.docx | 0
项目资料/通信协议/PCS与桁架协议/新增设备需要采集的信息.xlsx | 0
代码管理/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_dataService.cs | 27
代码管理/PCS/WCS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_dataRepository.cs | 24
代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/LocationCreation.cs | 3
项目资料/DB/dt_geometry_data(车轮数据).xlsx | 0
代码管理/WMS/WMS_Server/WIDESEA_WMS/ToMes/UpdateStation.cs | 26
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/Task.cs | 52 +
项目资料/通信协议/PCS与桁架协议/协议.xlsx | 0
代码管理/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_dataMapConfig.cs | 16
代码管理/PCS/WCS_Client/src/router/viewGird.js | 4
代码管理/PCS/WCS_Server/WIDESEA_Comm/DBItem/OperationType.cs | 24
项目资料/其他/会议/机加工检测上下料自动化项目WMS与MES信息交互、网络布局事宣讨论会议纪要.png | 0
代码管理/PCS/WCS_Server/WIDESEA_Comm/DBItem/WheelDataDB.cs | 37 +
代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs | 45 +
项目资料/其他/会议/车轮厂二线机加工上下料自动化项目专题会.png | 0
项目资料/通信协议/PCS与AGV和桁架防呆交互协议/AGV与桁架防呆协议.xlsx | 0
代码管理/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs | 13
代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToWMS/ToWMSController.cs | 22
代码管理/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs | 34 +
代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_geometry_dataController.cs | 21
代码管理/WMS/WMS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj | 1
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/QueryData.cs | 25
代码管理/PCS/WCS_Server/WIDESEA_WCS/ToWMS/ToWmsServer.cs | 25
代码管理/WMS/WMS_Server/WIDESEA_WMS/ToPCS/ToPCSServer.cs | 19
代码管理/PCS/WCS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs | 18
代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/CreatePLCinfodetail.cs | 257 ++++++++
代码管理/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/One_two_unitJob.cs | 0
代码管理/WMS/WMS_Server/WIDESEA_WMS/ToPCS/AddTask.cs | 46 +
/dev/null | 0
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Startup.cs | 2
代码管理/WMS/WMS_Server/WIDESEA_WMS/ToPCS/TaskData.cs | 32 +
代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_geometry_dataController.cs | 33 +
代码管理/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs | 1
代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToWms/ToWMSController.cs | 6
55 files changed, 1,734 insertions(+), 68 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js"
new file mode 100644
index 0000000..8935403
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/extension/widesea_wcs/baseinfo/dt_geometry_data.js"
@@ -0,0 +1,75 @@
+/*****************************************************************************************
+** Author:jxx 2022
+** QQ:283591387
+**瀹屾暣鏂囨。瑙侊細http://v2.volcore.xyz/document/api 銆愪唬鐮佺敓鎴愰〉闈iewGrid銆�
+**甯哥敤绀轰緥瑙侊細http://v2.volcore.xyz/document/vueDev
+**鍚庡彴鎿嶄綔瑙侊細http://v2.volcore.xyz/document/netCoreDev
+*****************************************************************************************/
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+ components: {
+ //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+ gridHeader: '',
+ gridBody: '',
+ gridFooter: '',
+ //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+ modelHeader: '',
+ modelBody: '',
+ modelFooter: ''
+ },
+ tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+ buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+ methods: {
+ //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+ onInit() { //妗嗘灦鍒濆鍖栭厤缃墠锛�
+ //绀轰緥锛氬湪鎸夐挳鐨勬渶鍓嶉潰娣诲姞涓�涓寜閽�
+ // this.buttons.unshift({ //涔熷彲浠ョ敤push鎴栬�卻plice鏂规硶鏉ヤ慨鏀筨uttons鏁扮粍
+ // name: '鎸夐挳', //鎸夐挳鍚嶇О
+ // icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+ // type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+ // onClick: function () {
+ // this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+ // }
+ // });
+
+ //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+ // this.boxOptions.labelWidth = 150;
+ },
+ onInited() {
+ //妗嗘灦鍒濆鍖栭厤缃悗
+ //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+ //this.detailOptions.columns.forEach(column=>{ });
+ },
+ searchBefore(param) {
+ //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+ //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+ return true;
+ },
+ searchAfter(result) {
+ //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+ return true;
+ },
+ addBefore(formData) {
+ //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+ return true;
+ },
+ updateBefore(formData) {
+ //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+ return true;
+ },
+ rowClick({ row, column, event }) {
+ //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+ // this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+ },
+ modelOpenAfter(row) {
+ //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+ //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+ //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+ //(3)this.editFormFields.瀛楁='xxx';
+ //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+ //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+ }
+ }
+};
+export default extension;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js"
index f5ece9d..fa1cd96 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/router/viewGird.js"
@@ -181,6 +181,10 @@
path: '/dt_log_pcs',
name: 'dt_log_pcs',
component: () => import('@/views/widesea_system/system/dt_log_pcs.vue')
+ } ,{
+ path: '/dt_geometry_data',
+ name: 'dt_geometry_data',
+ component: () => import('@/views/widesea_wcs/baseinfo/dt_geometry_data.vue')
}]
export default viewgird
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue"
new file mode 100644
index 0000000..07dedbc
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Client/src/views/widesea_wcs/baseinfo/dt_geometry_data.vue"
@@ -0,0 +1,73 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wcs/baseinfo/dt_geometry_data.js姝ゅ缂栧啓
+ -->
+<template>
+ <view-grid ref="grid"
+ :columns="columns"
+ :detail="detail"
+ :editFormFields="editFormFields"
+ :editFormOptions="editFormOptions"
+ :searchFormFields="searchFormFields"
+ :searchFormOptions="searchFormOptions"
+ :table="table"
+ :extend="extend">
+ </view-grid>
+</template>
+<script>
+ import extend from "@/extension/widesea_wcs/baseinfo/dt_geometry_data.js";
+ import { ref, defineComponent } from "vue";
+ export default defineComponent({
+ setup() {
+ const table = ref({
+ key: 'TypeId',
+ footer: "Foots",
+ cnName: '杞﹁疆淇℃伅',
+ name: 'baseinfo/dt_geometry_data',
+ url: "/dt_geometry_data/",
+ sortName: "TypeId"
+ });
+ const editFormFields = ref({"Description":"","a":"","b":"","c":"","d":"","e":"","f":"","g":"","h":""});
+ const editFormOptions = ref([[{"title":"鍥惧彿","required":true,"field":"Description","type":"text"}],
+ [{"title":"","required":true,"field":"a","type":"text"},
+ {"title":"","required":true,"field":"b","type":"text"}],
+ [{"title":"","required":true,"field":"c","type":"text"},
+ {"title":"","required":true,"field":"d","type":"text"}],
+ [{"title":"","required":true,"field":"e","type":"text"},
+ {"title":"","required":true,"field":"f","type":"text"}],
+ [{"title":"","required":true,"field":"g","type":"text"},
+ {"title":"","required":true,"field":"h","type":"decimal"}]]);
+ const searchFormFields = ref({"Description":""});
+ const searchFormOptions = ref([[{"title":"鍥惧彿","field":"Description","type":"like"}]]);
+ const columns = ref([{field:'TypeId',title:'TypeId',type:'int',width:110,hidden:true,readonly:true,require:true,align:'left'},
+ {field:'Description',title:'鍥惧彿',type:'string',width:120,require:true,align:'left',sort:true},
+ {field:'a',title:'a',type:'float',width:110,require:true,align:'left'},
+ {field:'b',title:'b',type:'float',width:110,require:true,align:'left'},
+ {field:'c',title:'c',type:'float',width:110,require:true,align:'left'},
+ {field:'d',title:'d',type:'float',width:110,require:true,align:'left'},
+ {field:'e',title:'e',type:'float',width:110,require:true,align:'left'},
+ {field:'f',title:'f',type:'float',width:110,require:true,align:'left'},
+ {field:'g',title:'g',type:'float',width:110,require:true,align:'left'},
+ {field:'h',title:'h',type:'float',width:110,require:true,align:'left'}]);
+ const detail = ref({
+ cnName: "#detailCnName",
+ table: "#detailTable",
+ columns: [],
+ sortName: "",
+ key: ""
+ });
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+ });
+</script>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/DBItem/MachineDB.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/DBItem/MachineDB.cs"
new file mode 100644
index 0000000..715a35f
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/DBItem/MachineDB.cs"
@@ -0,0 +1,82 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Comm.ItemDB;
+
+namespace WIDESEA_Comm.DBItem
+{
+ public partial class MachineDB
+ {
+ public event Action<string, MachineDB> OnReadSignal;
+
+ public string R_Name { get; set; }
+ /// <summary>
+ /// SN
+ /// </summary>
+ public string R_o_wp_id { get; set; }
+ /// <summary>
+ /// 寮�濮嬫椂闂�
+ /// </summary>
+ public DateTime R_o_mach_start_time { get; set; }
+ /// <summary>
+ /// 瀹屾垚鏃堕棿
+ /// </summary>
+ public DateTime R_o_mach_finish_time { get; set; }
+ /// <summary>
+ /// 鎿嶄綔浜�
+ /// </summary>
+ public string R_o_operator { get; set; }
+ /// <summary>
+ /// 鍘诲悜
+ /// </summary>
+ public string R_o_shift { get; set; }
+ /// <summary>
+ /// 璐ㄦ鐘舵�� 0:鏈畾涔�,1:OK,2:NG
+ /// </summary>
+ public short R_o_wp_status { get; set; }
+ /// <summary>
+ /// 缁撴灉
+ /// </summary>
+ public short R_o_result { get; set; }
+ /// <summary>
+ /// 閿欒浠g爜
+ /// </summary>
+ public short R_o_error_code { get; set; }
+
+ public short R_o_substation { get; set; }
+
+ public string R_o_value_result_real_1 { get; set; }
+ public string R_o_value_result_real_2 { get; set; }
+ public string R_o_value_result_real_3 { get; set; }
+ public string R_o_value_result_real_4 { get; set; }
+ public bool R_o_value_result_bool { get; set; }
+ public short oi_on { get; set; }
+ public short R_oi_on
+ {
+ get
+ {
+ return oi_on;
+ }
+ set
+ {
+ if (value == 1 && R_Name.Contains("瑙嗚妫�娴�"))
+ ReadSignal(OperationType.OperationType_Record, this);
+ else if (value == 1 && R_Name.Contains("閾炬潯鏈�"))
+ ReadSignal(OperationType.OperationType_Processor, this);
+ oi_on = value;
+
+
+ }
+ }
+
+ public void ReadSignal(string type, MachineDB reader)
+ {
+ Task.Run(() =>
+ {
+ OnReadSignal?.Invoke(type, reader);
+ });
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/DBItem/OperationType.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/DBItem/OperationType.cs"
new file mode 100644
index 0000000..003a50d
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/DBItem/OperationType.cs"
@@ -0,0 +1,24 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Comm.DBItem
+{
+ public class OperationType
+ {
+ /// <summary>
+ /// 鍙褰曟暟鎹�
+ /// </summary>
+ public const string OperationType_Record = "Record";
+ /// <summary>
+ /// 澶勭悊鏁版嵁
+ /// </summary>
+ public const string OperationType_Processor = "Processor";
+ /// <summary>
+ /// 杞﹁疆鏁版嵁
+ /// </summary>
+ public const string OperationType_WheelData = "WheelData";
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/DBItem/WheelDataDB.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/DBItem/WheelDataDB.cs"
new file mode 100644
index 0000000..189cd78
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/DBItem/WheelDataDB.cs"
@@ -0,0 +1,37 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Comm.DBItem
+{
+ public partial class WheelDataDB
+ {
+ public event Action<string, WheelDataDB> OnReadSignal;
+ public string R_Name { get; set; }
+ public int R_o_wp_type { get; set; }
+ /// <summary>
+ /// 1-鎵惧埌鏁版嵁锛�2-鏈壘鍒板伐浠剁被鍨嬫暟鎹�
+ /// </summary>
+ public short R_i_status { get; set; }
+ public int R_i_parameter_a { get; set; }
+ public int R_i_parameter_b { get; set; }
+ public int R_i_parameter_c { get; set; }
+ public int R_i_parameter_d { get; set; }
+ public int R_i_parameter_e { get; set; }
+ public int R_i_parameter_f { get; set; }
+ public int R_i_parameter_g { get; set; }
+ public int R_i_parameter_h { get; set; }
+ public string R_i_skip_op { get; set; }
+
+ public short R_oi_on { get; set; }
+ public void ReadSignal(string type, WheelDataDB reader)
+ {
+ Task.Run(() =>
+ {
+ OnReadSignal?.Invoke(type, reader);
+ });
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs"
new file mode 100644
index 0000000..96e0d5f
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/dt_geometry_data.cs"
@@ -0,0 +1,113 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+ [Entity(TableCnName = "杞﹁疆淇℃伅",TableName = "dt_geometry_data")]
+ public partial class dt_geometry_data:BaseEntity
+ {
+ /// <summary>
+ ///
+ /// </summary>
+ [Key]
+ [Display(Name ="TypeId")]
+ [Column(TypeName="int")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings=false)]
+ public int TypeId { get; set; }
+
+ /// <summary>
+ ///鍥惧彿
+ /// </summary>
+ [Display(Name ="鍥惧彿")]
+ [MaxLength(100)]
+ [Column(TypeName="nvarchar(100)")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings=false)]
+ public string Description { get; set; }
+
+ /// <summary>
+ ///
+ /// </summary>
+ [Display(Name ="a")]
+ [Column(TypeName="float")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings=false)]
+ public float a { get; set; }
+
+ /// <summary>
+ ///
+ /// </summary>
+ [Display(Name ="b")]
+ [Column(TypeName="float")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings=false)]
+ public float b { get; set; }
+
+ /// <summary>
+ ///
+ /// </summary>
+ [Display(Name ="c")]
+ [Column(TypeName="float")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings=false)]
+ public float c { get; set; }
+
+ /// <summary>
+ ///
+ /// </summary>
+ [Display(Name ="d")]
+ [Column(TypeName="float")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings=false)]
+ public float d { get; set; }
+
+ /// <summary>
+ ///
+ /// </summary>
+ [Display(Name ="e")]
+ [Column(TypeName="float")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings=false)]
+ public float e { get; set; }
+
+ /// <summary>
+ ///
+ /// </summary>
+ [Display(Name ="f")]
+ [Column(TypeName="float")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings=false)]
+ public float f { get; set; }
+
+ /// <summary>
+ ///
+ /// </summary>
+ [Display(Name ="g")]
+ [Column(TypeName="float")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings=false)]
+ public float g { get; set; }
+
+ /// <summary>
+ ///
+ /// </summary>
+ [Display(Name ="h")]
+ [Column(TypeName="float")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings=false)]
+ public float h { get; set; }
+
+
+ }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data.cs"
new file mode 100644
index 0000000..2808f8b
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/BaseInfo/partial/dt_geometry_data.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Entity.SystemModels;
+
+namespace WIDESEA_Entity.DomainModels
+{
+
+ public partial class dt_geometry_data
+ {
+ //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯�
+ }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_dataMapConfig.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_dataMapConfig.cs"
new file mode 100644
index 0000000..529e30f
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/MappingConfiguration/BaseInfo/dt_geometry_dataMapConfig.cs"
@@ -0,0 +1,16 @@
+using WIDESEA_Entity.MappingConfiguration;
+using WIDESEA_Entity.DomainModels;
+using Microsoft.EntityFrameworkCore.Metadata.Builders;
+
+namespace WIDESEA_Entity.MappingConfiguration
+{
+ public class dt_geometry_dataMapConfig : EntityMappingConfiguration<dt_geometry_data>
+ {
+ public override void Map(EntityTypeBuilder<dt_geometry_data>
+ builderTable)
+ {
+ //b.Property(x => x.StorageName).HasMaxLength(45);
+ }
+ }
+}
+
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Request.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Request.cs"
new file mode 100644
index 0000000..8c95980
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Common/Request.cs"
@@ -0,0 +1,46 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_WCS
+{
+ public class Request
+ {
+ /// <summary>
+ /// post璇锋眰
+ /// </summary>
+ /// <param name="postData">鍙傛暟</param>
+ /// <param name="address">璺緞</param>
+ /// <returns></returns>
+ public static string RequestData(string postData, string url = "")
+ {
+ string reponse = string.Empty;
+ try
+ {
+ //string tmp = "";
+ //if (null != postData)
+ // tmp = JsonConvert.SerializeObject(postData);
+ byte[] param = Encoding.UTF8.GetBytes(postData);
+ HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
+ request.Method = "POST";
+ request.ContentType = "application/json";
+ request.GetRequestStream().Write(param, 0, param.Length);
+ using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
+ {
+ Stream stream = response.GetResponseStream();
+ StreamReader streamReader = new StreamReader(stream);
+ string webResponse = streamReader.ReadToEnd();
+ reponse = webResponse;
+ }
+ }
+ catch (Exception ex)
+ {
+ reponse = ex.Message;
+ }
+ return reponse;
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs"
new file mode 100644
index 0000000..91d5fbc
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IRepositories/BaseInfo/Idt_geometry_dataRepository.cs"
@@ -0,0 +1,18 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶笽dt_geometry_dataRepository缂栧啓鎺ュ彛
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Extensions.AutofacManager;
+namespace WIDESEA_WCS.IRepositories
+{
+ public partial interface Idt_geometry_dataRepository : IDependency,IRepository<dt_geometry_data>
+ {
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_dataService.cs"
new file mode 100644
index 0000000..7c53170
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Idt_geometry_dataService.cs"
@@ -0,0 +1,12 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ */
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.IServices
+{
+ public partial interface Idt_geometry_dataService : IService<dt_geometry_data>
+ {
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs"
new file mode 100644
index 0000000..e18b7d8
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/IServices/BaseInfo/Partial/Idt_geometry_dataService.cs"
@@ -0,0 +1,13 @@
+/*
+*鎵�鏈夊叧浜巇t_geometry_data绫荤殑涓氬姟浠g爜鎺ュ彛搴斿湪姝ゅ缂栧啓
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+namespace WIDESEA_WCS.IServices
+{
+ public partial interface Idt_geometry_dataService
+ {
+ }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/ParentCarJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/ParentCarJob.cs"
deleted file mode 100644
index 358a49d..0000000
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/ParentCarJob.cs"
+++ /dev/null
@@ -1,18 +0,0 @@
-锘縰sing Quartz;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WIDESEA_WCS
-{
- [DisallowConcurrentExecution]
- public class ParentCarJob : IJob
- {
- public Task Execute(IJobExecutionContext context)
- {
- return Task.CompletedTask;
- }
- }
-}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs"
index b9ae9b1..cc62517 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/Task/AutoTaskJob.cs"
@@ -14,7 +14,10 @@
[DisallowConcurrentExecution]
public class AutoTaskJob : JobBase, IJob
{
- LocationCreation Creation = new LocationCreation();
+ /// <summary>
+ /// 鑷姩浠诲姟
+ /// </summary>
+ Createplcinfodetail Creation = new Createplcinfodetail();
public Task Execute(IJobExecutionContext context)
{
try
@@ -28,7 +31,9 @@
private void DoAction(IJobExecutionContext context)
{
//throw new NotImplementedException();
- Creation.HCJCreation();
+ //Creation.HCJCreation();
+ //Creation.PLCinfodetail();
+
}
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/GantryJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/GantryJob.cs"
new file mode 100644
index 0000000..baffdeb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/GantryJob.cs"
@@ -0,0 +1,155 @@
+锘縰sing Quartz;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Comm.DBItem;
+using WIDESEA_Comm.ItemDB;
+using WIDESEA_Core.EFDbContext;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_WCS.Repositories;
+using WIDESEA_WCS.WCSClient;
+
+namespace WIDESEA_WCS
+{
+ /// <summary>
+ /// 妗佹灦
+ /// </summary>
+ [DisallowConcurrentExecution]
+ public class GantryJob : IJob
+ {
+ public Task Execute(IJobExecutionContext context)
+ {
+ try
+ {
+ var client = context.JobDetail.JobDataMap.Get("JobParams") as PLCClient;
+ if (client == null)
+ {
+ return Task.CompletedTask;
+ }
+
+ //鑷姩閲嶈繛
+ if (!client.IsConnected)
+ {
+ client.Connect();
+ return Task.CompletedTask;
+ }
+
+ //DoAction(client);
+ //ExecuteJob(context, DoAction);
+ }
+ catch { }
+ return Task.CompletedTask;
+ }
+ static List<MachineDB> MachineDBs = new List<MachineDB>();
+ static List<WheelDataDB> wheelDataDBs = new List<WheelDataDB>();
+ private void DoAction(PLCClient client)
+ {
+ try
+ {
+ VOLContext Context = new VOLContext();
+ Idt_plcinfoheadRepository repository = new dt_plcinfoheadRepository(Context);
+ Idt_plcinfodetailRepository plcRepository = new dt_plcinfodetailRepository(Context);
+
+ var plc = repository.FindFirst(x => x.plcinfo_name == client.PLCName);
+ var numbers = plcRepository.Find(x => x.plcdetail_iotype == plc.plcinfo_iotyep).GroupBy(x => x.plcdetail_number).ToList();
+ foreach (var number in numbers)
+ {
+ if (number.Key.Contains("杈婇亾涓嬫枡"))
+ {
+ PropertyInfo[] propertyInfos = typeof(WheelDataDB).GetProperties();//鑾峰彇鎵�鏈夊睘鎬�
+ WheelDataDB dBItem = wheelDataDBs.Where(x => x.R_Name == number.Key).FirstOrDefault();
+ if (dBItem == null)
+ {
+ dBItem = new();
+ dBItem.OnReadSignal += HandleReadSignal;
+ wheelDataDBs.Add(dBItem);
+ }
+ List<dt_plcinfodetail> details = plcRepository.Find(x => x.plcdetail_iotype == plc.plcinfo_iotyep && x.plcdetail_number == number.Key).ToList();
+ for (int i = 0; i < propertyInfos.Length; i++)
+ {
+ if (i == 0)
+ {
+ dBItem.R_Name = number.Key;
+ }
+ else
+ {
+ object readData = DBExtension.Read(details.Where(x => x.plcdetail_name == propertyInfos[i].Name).FirstOrDefault(), client);
+ if (readData != null) { }
+ object obj = propertyInfos[i].GetValue(dBItem);
+ if (obj != readData)
+ propertyInfos[i].SetValue(dBItem, readData);
+ }
+ }
+ }
+ else
+ {
+
+ PropertyInfo[] propertyInfos = typeof(MachineDB).GetProperties();//鑾峰彇鎵�鏈夊睘鎬�
+ MachineDB dBItem = MachineDBs.Where(x => x.R_Name == number.Key).FirstOrDefault();
+ if (dBItem == null)
+ {
+ dBItem = new();
+ dBItem.OnReadSignal += HandleReadSignal;
+ MachineDBs.Add(dBItem);
+ }
+ List<dt_plcinfodetail> details = plcRepository.Find(x => x.plcdetail_iotype == plc.plcinfo_iotyep && x.plcdetail_number == number.Key).ToList();
+ for (int i = 0; i < propertyInfos.Length; i++)
+ {
+ if (i == 0)
+ {
+ dBItem.R_Name = number.Key;
+ }
+ else
+ {
+ object readData = DBExtension.Read(details.Where(x => x.plcdetail_name == propertyInfos[i].Name).FirstOrDefault(), client);
+ if (readData != null) { }
+ object obj = propertyInfos[i].GetValue(dBItem);
+ if (obj != readData)
+ propertyInfos[i].SetValue(dBItem, readData);
+ }
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+
+ throw;
+ }
+ }
+ public void HandleReadSignal(string type, MachineDB DBItem)
+ {
+ switch (type)
+ {
+ case OperationType.OperationType_Record:
+
+ break;
+ case OperationType.OperationType_Processor:
+
+ break;
+ case OperationType.OperationType_WheelData:
+
+ break;
+ }
+ }
+ public void HandleReadSignal(string type, WheelDataDB DBItem)
+ {
+ switch (type)
+ {
+ case OperationType.OperationType_Record:
+
+ break;
+ case OperationType.OperationType_Processor:
+
+ break;
+ case OperationType.OperationType_WheelData:
+
+ break;
+ }
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/One_two_unitJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/One_two_unitJob.cs"
similarity index 100%
rename from "\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/One_two_unitJob.cs"
rename to "\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/One_two_unitJob.cs"
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs"
new file mode 100644
index 0000000..3804ccf
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Jobs/equipment/PipelineJob.cs"
@@ -0,0 +1,45 @@
+锘縰sing Quartz;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_WCS.WCSClient;
+
+namespace WIDESEA_WCS
+{
+ /// <summary>
+ /// 閾炬潯鏈�
+ /// </summary>
+ [DisallowConcurrentExecution]
+ public class PipelineJob : IJob
+ {
+ public Task Execute(IJobExecutionContext context)
+ {
+ try
+ {
+ var client = context.JobDetail.JobDataMap.Get("JobParams") as PLCClient;
+ if (client == null)
+ {
+ return Task.CompletedTask;
+ }
+
+ //鑷姩閲嶈繛
+ if (!client.IsConnected)
+ {
+ client.Connect();
+ return Task.CompletedTask;
+ }
+
+ DoAction(client);
+ }
+ catch { }
+ return Task.CompletedTask;
+ }
+
+ private void DoAction(PLCClient client)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/CreatePLCinfodetail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/CreatePLCinfodetail.cs"
new file mode 100644
index 0000000..a99d2d1
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/CreatePLCinfodetail.cs"
@@ -0,0 +1,257 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.FreeDB;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.JobsPart.Common
+{
+ public class Createplcinfodetail
+ {
+ FreeDB FreeDB = new FreeDB();
+ public void PLCinfodetail()
+ {
+ try
+ {
+ //for (int i = 1; i <= 3; i++)
+ //{
+ int i = 7;
+ string name = "3鍗曞厓閾炬潯鏈�";
+ dt_plcinfodetail plcinfodetail = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 0.0 + (i - 1) * 330 + "",
+ plcdetail_valtype = "int16",
+ plcdetail_name = "R_oi_on",
+ plcdetail_number = name,
+ plcdetail_remark = "PLC->1, PMS->0 after setting i_ variables"
+ };
+ FreeDB.Add(plcinfodetail);
+ dt_plcinfodetail plcinfodetail1 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 2.0 + (i - 1) * 330 + "",
+ plcdetail_len = 20,
+ plcdetail_valtype = "string",
+ plcdetail_name = "R_o_wp_id",
+ plcdetail_number = name,
+ plcdetail_remark = "杞﹁疆SN"
+ };
+ FreeDB.Add(plcinfodetail1);
+ dt_plcinfodetail plcinfodetail2 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 22.0 + (i - 1) * 330 + "",
+ plcdetail_valtype = "datetime",
+ plcdetail_name = "R_o_mach_start_time",
+ plcdetail_number = name,
+ plcdetail_remark = "寮�濮嬫椂闂�"
+ };
+ FreeDB.Add(plcinfodetail2);
+ dt_plcinfodetail plcinfodetail3 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 38.0 + (i - 1) * 330 + "",
+ plcdetail_valtype = "datetime",
+ plcdetail_name = "R_o_mach_finish_time",
+ plcdetail_number = name,
+ plcdetail_remark = "瀹屾垚鏃堕棿"
+ };
+ FreeDB.Add(plcinfodetail3);
+ dt_plcinfodetail plcinfodetail4 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 54.0 + (i - 1) * 330 + "",
+ plcdetail_len = 20,
+ plcdetail_valtype = "string",
+ plcdetail_name = "R_o_operator",
+ plcdetail_number = name,
+ plcdetail_remark = "鎿嶄綔浜�"
+ };
+ FreeDB.Add(plcinfodetail4);
+ dt_plcinfodetail plcinfodetail5 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 74.0 + (i - 1) * 330 + "",
+ plcdetail_len = 20,
+ plcdetail_valtype = "string",
+ plcdetail_name = "R_o_shift",
+ plcdetail_number = name,
+ plcdetail_remark = "鍘诲悜"
+ };
+ FreeDB.Add(plcinfodetail5);
+ dt_plcinfodetail plcinfodetail6 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 94.0 + (i - 1) * 330 + "",
+ plcdetail_valtype = "int16",
+ plcdetail_name = "R_o_wp_status",
+ plcdetail_number = name,
+ plcdetail_remark = "璐ㄦ鐘舵�� 0:鏈畾涔�,1:OK,2:NG"
+ };
+ FreeDB.Add(plcinfodetail6);
+ dt_plcinfodetail plcinfodetail7 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 96.0 + (i - 1) * 330 + "",
+ plcdetail_valtype = "int16",
+ plcdetail_name = "R_o_result",
+ plcdetail_number = name,
+ plcdetail_remark = "缁撴灉"
+ };
+ FreeDB.Add(plcinfodetail7);
+ dt_plcinfodetail plcinfodetail8 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 98.0 + (i - 1) * 330 + "",
+ plcdetail_valtype = "int16",
+ plcdetail_name = "R_o_error_code",
+ plcdetail_number = name,
+ plcdetail_remark = "閿欒浠g爜"
+ };
+ FreeDB.Add(plcinfodetail8);
+ dt_plcinfodetail plcinfodetail9 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 100.0 + (i - 1) * 330 + "",
+ plcdetail_valtype = "int16",
+ plcdetail_name = "R_o_substation",
+ plcdetail_number = name,
+ plcdetail_remark = " "
+ };
+ FreeDB.Add(plcinfodetail9);
+ dt_plcinfodetail plcinfodetail10 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 102.0 + (i - 1) * 330 + "",
+ plcdetail_valtype = "string",
+ plcdetail_len = 55,
+ plcdetail_name = "R_o_value_result_real_1",
+ plcdetail_number = name,
+ plcdetail_remark = "缁撴灉1"
+ };
+ FreeDB.Add(plcinfodetail10);
+ dt_plcinfodetail plcinfodetail11 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 157.0 + (i - 1) * 330 + "",
+ plcdetail_valtype = "string",
+ plcdetail_len = 55,
+ plcdetail_name = "R_o_value_result_real_2",
+ plcdetail_number = name,
+ plcdetail_remark = "缁撴灉2"
+ };
+ FreeDB.Add(plcinfodetail11);
+ dt_plcinfodetail plcinfodetail12 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 212.0 + (i - 1) * 330 + "",
+ plcdetail_valtype = "string",
+ plcdetail_len = 55,
+ plcdetail_name = "R_o_value_result_real_3",
+ plcdetail_number = name,
+ plcdetail_remark = "缁撴灉3"
+ };
+ FreeDB.Add(plcinfodetail12);
+ dt_plcinfodetail plcinfodetail13 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 267 + (i - 1) * 330 + "",
+ plcdetail_valtype = "string",
+ plcdetail_len = 55,
+ plcdetail_name = "R_o_value_result_real_4",
+ plcdetail_number = name,
+ plcdetail_remark = "缁撴灉4"
+ };
+ FreeDB.Add(plcinfodetail13);
+ dt_plcinfodetail plcinfodetail14 = new dt_plcinfodetail()
+ {
+ plcdetail_id = Guid.NewGuid(),
+ plcdetail_iotype = "Truss",
+ plcdetail_db = "DB611",
+ plcdetail_value = 322.1 + (i - 1) * 330 + "",
+ plcdetail_valtype = "boolean",
+ plcdetail_name = "R_o_value_result_bool",
+ plcdetail_number = name,
+ plcdetail_remark = " "
+ };
+ FreeDB.Add(plcinfodetail14);
+ //dt_plcinfodetail plcinfodetail15 = new dt_plcinfodetail()
+ //{
+ // plcdetail_id = Guid.NewGuid(),
+ // plcdetail_iotype = "Truss",
+ // plcdetail_db = "DB611",
+ // plcdetail_value = 4.0 + (i - 1) * 330 + "",
+ // plcdetail_valtype = "string",
+ // plcdetail_len = 18,
+ // plcdetail_name = "fault_channel",
+ // plcdetail_number = name,
+ // plcdetail_remark = "閿欒娑堟伅棰戦亾"
+ //};
+ //FreeDB.Add(plcinfodetail15);
+ //dt_plcinfodetail plcinfodetail16 = new dt_plcinfodetail()
+ //{
+ // plcdetail_id = Guid.NewGuid(),
+ // plcdetail_iotype = "Truss",
+ // plcdetail_db = "DB611",
+ // plcdetail_value = 22.0 + (i - 1) * 330 + "",
+ // plcdetail_valtype = "string",
+ // plcdetail_len = 14,
+ // plcdetail_name = "fault_axes_drives",
+ // plcdetail_number = name,
+ // plcdetail_remark = "閿欒娑堟伅axes(杞�)椹卞姩鍣�"
+ //};
+ //FreeDB.Add(plcinfodetail16);
+ //dt_plcinfodetail plcinfodetail17 = new dt_plcinfodetail()
+ //{
+ // plcdetail_id = Guid.NewGuid(),
+ // plcdetail_iotype = "Truss",
+ // plcdetail_db = "DB611",
+ // plcdetail_value = 36.0 + (i - 1) * 330 + "",
+ // plcdetail_valtype = "string",
+ // plcdetail_len = 16,
+ // plcdetail_name = "fault_user_0_to1",
+ // plcdetail_number = name,
+ // plcdetail_remark = "閿欒娑堟伅鐢ㄦ埛鍖哄煙0...1"
+ //};
+ //FreeDB.Add(plcinfodetail17);
+ //}
+ }
+ catch (Exception ex)
+ {
+
+ throw;
+ }
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/LocationCreation.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/LocationCreation.cs"
index 103a191..2ed04cb 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/LocationCreation.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/LocationCreation.cs"
@@ -11,6 +11,9 @@
public class LocationCreation
{
FreeDB freeDB = new FreeDB();
+ /// <summary>
+ /// 璐т綅鐢熸垚
+ /// </summary>
public void HCJCreation()
{
try
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_dataRepository.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_dataRepository.cs"
new file mode 100644
index 0000000..52e5a80
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Repositories/BaseInfo/dt_geometry_dataRepository.cs"
@@ -0,0 +1,24 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *Repository鎻愪緵鏁版嵁搴撴搷浣滐紝濡傛灉瑕佸鍔犳暟鎹簱鎿嶄綔璇峰湪褰撳墠鐩綍涓婸artial鏂囦欢澶筪t_geometry_dataRepository缂栧啓浠g爜
+ */
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.EFDbContext;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.Repositories
+{
+ public partial class dt_geometry_dataRepository : RepositoryBase<dt_geometry_data> , Idt_geometry_dataRepository
+ {
+ public dt_geometry_dataRepository(VOLContext dbContext)
+ : base(dbContext)
+ {
+
+ }
+ public static Idt_geometry_dataRepository Instance
+ {
+ get { return AutofacContainerModule.GetService<Idt_geometry_dataRepository>(); } }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_dataService.cs"
new file mode 100644
index 0000000..5104dfb
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/Partial/dt_geometry_dataService.cs"
@@ -0,0 +1,41 @@
+/*
+ *鎵�鏈夊叧浜巇t_geometry_data绫荤殑涓氬姟浠g爜搴斿湪姝ゅ缂栧啓
+*鍙娇鐢╮epository.璋冪敤甯哥敤鏂规硶锛岃幏鍙朎F/Dapper绛変俊鎭�
+*濡傛灉闇�瑕佷簨鍔¤浣跨敤repository.DbContextBeginTransaction
+*涔熷彲浣跨敤DBServerProvider.鎵嬪姩鑾峰彇鏁版嵁搴撶浉鍏充俊鎭�
+*鐢ㄦ埛淇℃伅銆佹潈闄愩�佽鑹茬瓑浣跨敤UserContext.Current鎿嶄綔
+*dt_geometry_dataService瀵瑰銆佸垹銆佹敼鏌ャ�佸鍏ャ�佸鍑恒�佸鏍镐笟鍔′唬鐮佹墿灞曞弬鐓erviceFunFilter
+*/
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+using System.Linq;
+using WIDESEA_Core.Utilities;
+using System.Linq.Expressions;
+using WIDESEA_Core.Extensions;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.AspNetCore.Http;
+using WIDESEA_WCS.IRepositories;
+
+namespace WIDESEA_WCS.Services
+{
+ public partial class dt_geometry_dataService
+ {
+ private readonly IHttpContextAccessor _httpContextAccessor;
+ private readonly Idt_geometry_dataRepository _repository;//璁块棶鏁版嵁搴�
+
+ [ActivatorUtilitiesConstructor]
+ public dt_geometry_dataService(
+ Idt_geometry_dataRepository dbRepository,
+ IHttpContextAccessor httpContextAccessor
+ )
+ : base(dbRepository)
+ {
+ _httpContextAccessor = httpContextAccessor;
+ _repository = dbRepository;
+ //澶氱鎴蜂細鐢ㄥ埌杩檌nit浠g爜锛屽叾浠栨儏鍐靛彲浠ヤ笉鐢�
+ //base.Init(dbRepository);
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_dataService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_dataService.cs"
new file mode 100644
index 0000000..c1faaa6
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/Services/BaseInfo/dt_geometry_dataService.cs"
@@ -0,0 +1,27 @@
+/*
+ *Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,姝ゅ浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *鎵�鏈変笟鍔$紪鍐欏叏閮ㄥ簲鍦≒artial鏂囦欢澶逛笅dt_geometry_dataService涓嶪dt_geometry_dataService涓紪鍐�
+ */
+using WIDESEA_WCS.IRepositories;
+using WIDESEA_WCS.IServices;
+using WIDESEA_Core.BaseProvider;
+using WIDESEA_Core.Extensions.AutofacManager;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS.Services
+{
+ public partial class dt_geometry_dataService : ServiceBase<dt_geometry_data, Idt_geometry_dataRepository>
+ , Idt_geometry_dataService, IDependency
+ {
+ public dt_geometry_dataService(Idt_geometry_dataRepository repository)
+ : base(repository)
+ {
+ Init(repository);
+ }
+ public static Idt_geometry_dataService Instance
+ {
+ get { return AutofacContainerModule.GetService<Idt_geometry_dataService>(); } }
+ }
+ }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs"
new file mode 100644
index 0000000..7359fba
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs"
@@ -0,0 +1,34 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.Utilities;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS
+{
+ public partial class ToMesServer
+ {
+ /// <summary>
+ /// 娣诲姞宸ュ崟淇℃伅
+ /// </summary>
+ /// <param name="requestTemp"></param>
+ /// <returns></returns>
+ public static WebResponseContent AddWorkinfo(dt_Workinfo requestTemp)
+ {
+ WebResponseContent content = new WebResponseContent();
+ return content;
+ }
+ /// <summary>
+ /// 娣诲姞宸ュ崟璇︽儏
+ /// </summary>
+ /// <param name="requestTemp"></param>
+ /// <returns></returns>
+ public static WebResponseContent AddActualProduction(dt_ActualProduction requestTemp)
+ {
+ WebResponseContent content = new WebResponseContent();
+ return content;
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToWMS/ToWmsServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToWMS/ToWmsServer.cs"
new file mode 100644
index 0000000..d5452ea
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToWMS/ToWmsServer.cs"
@@ -0,0 +1,25 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.Utilities;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WCS
+{
+ public partial class ToWmsServer
+ {
+ /// <summary>
+ /// 鍚慦MS鐢宠娣诲姞AGV浠诲姟
+ /// </summary>
+ /// <param name="requestTemp"></param>
+ /// <returns></returns>
+ public static WebResponseContent AddTask(string requestTemp)
+ {
+ WebResponseContent content = new WebResponseContent();
+ return content;
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs"
new file mode 100644
index 0000000..34bdaa6
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs"
@@ -0,0 +1,33 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core.Utilities;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_WCS;
+
+namespace WIDESEA_WebApi.Controllers.ToMes
+{
+ [Route("api/ToMes")]
+ [ApiController]
+ public class ToMESController : ControllerBase
+ {
+ /// <summary>
+ /// 娣诲姞宸ュ崟淇℃伅
+ /// </summary>
+ /// <param name="request"></param>
+ /// <returns></returns>
+ [HttpPost, Route("AddWorkinfo")]
+ public WebResponseContent AddWorkinfo([FromBody] dt_Workinfo request)
+ {
+ return ToMesServer.AddWorkinfo(request);
+ }
+ /// <summary>
+ /// 娣诲姞宸ュ崟璇︽儏
+ /// </summary>
+ /// <param name="request"></param>
+ /// <returns></returns>
+ [HttpPost, Route("AddActualProduction")]
+ public WebResponseContent AddActualProduction([FromBody] dt_ActualProduction request)
+ {
+ return ToMesServer.AddActualProduction(request);
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToWMS/ToWMSController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToWMS/ToWMSController.cs"
new file mode 100644
index 0000000..38dd7a0
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToWMS/ToWMSController.cs"
@@ -0,0 +1,22 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core.Utilities;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WebApi.Controllers.ToWMS
+{
+ [Route("api/ToWMS")]
+ [ApiController]
+ public class ToWMSController : ControllerBase
+ {
+ /// <summary>
+ /// 娣诲姞AGV浠诲姟
+ /// </summary>
+ /// <param name="request"></param>
+ /// <returns></returns>
+ [HttpPost, Route("AddWorkinfo")]
+ public WebResponseContent AddTask([FromBody] dt_Workinfo request)
+ {
+ return null;
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_geometry_dataController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_geometry_dataController.cs"
new file mode 100644
index 0000000..c804835
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/Partial/dt_geometry_dataController.cs"
@@ -0,0 +1,33 @@
+/*
+ *鎺ュ彛缂栧啓澶�...
+*濡傛灉鎺ュ彛闇�瑕佸仛Action鐨勬潈闄愰獙璇侊紝璇峰湪Action涓婁娇鐢ㄥ睘鎬�
+*濡�: [ApiActionPermission("dt_geometry_data",Enums.ActionPermissionOptions.Search)]
+ */
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.AspNetCore.Http;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_WCS.IServices;
+
+namespace WIDESEA_WCS.Controllers
+{
+ public partial class dt_geometry_dataController
+ {
+ private readonly Idt_geometry_dataService _service;//璁块棶涓氬姟浠g爜
+ private readonly IHttpContextAccessor _httpContextAccessor;
+
+ [ActivatorUtilitiesConstructor]
+ public dt_geometry_dataController(
+ Idt_geometry_dataService service,
+ IHttpContextAccessor httpContextAccessor
+ )
+ : base(service)
+ {
+ _service = service;
+ _httpContextAccessor = httpContextAccessor;
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_geometry_dataController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_geometry_dataController.cs"
new file mode 100644
index 0000000..b0d0faa
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WebApi/Controllers/WIDESEA_WCS/dt_geometry_dataController.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉瑕佸鍔犳柟娉曡鍦ㄥ綋鍓嶇洰褰曚笅Partial鏂囦欢澶筪t_geometry_dataController缂栧啓
+ */
+using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core.Controllers.Basic;
+using WIDESEA_Entity.AttributeManager;
+using WIDESEA_WCS.IServices;
+namespace WIDESEA_WCS.Controllers
+{
+ [Route("api/dt_geometry_data")]
+ [PermissionTable(Name = "dt_geometry_data")]
+ public partial class dt_geometry_dataController : ApiBaseController<Idt_geometry_dataService>
+ {
+ public dt_geometry_dataController(Idt_geometry_dataService service)
+ : base(service)
+ {
+ }
+ }
+}
+
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js"
index 9fd079b..6ef59f3 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Client/src/extension/widesea_wms/system/dt_stationinfo.js"
@@ -42,6 +42,69 @@
//绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
// this.boxOptions.labelWidth = 150;
this.buttons.splice(1, 0, {
+ name: "鍙栨秷绂佺敤",
+ icon: 'md-refresh',
+ type: 'primary',
+ onClick: function () {
+ let rows = this.$refs.table.getSelected();
+ if (rows.length == 0) return this.$error("璇烽�夋嫨瑕佸彇娑堢鐢ㄧ殑鏁版嵁");
+
+ this.$confirm('纭瑕佸彇娑堢鐢ㄥ悧?', '璀﹀憡', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ center: true
+ }).then(() => {
+ let data = [];
+ let parm = {
+ "data": data,
+ "type": "1"
+ }
+ rows.forEach(t => data.push(t.id))
+ this.http.post("/api/dt_stationinfo/SetStationEnable", parm, "鍙栨秷绂佺敤涓�...").then(x => {
+ if (x.status) {
+ this.$Message.success("鍙栨秷绂佺敤鎴愬姛!");
+ this.refresh();
+ } else {
+ this.$Message.error(x.message);
+ }
+ })
+ });
+ }
+ })
+
+ this.buttons.splice(1, 0, {
+ name: "绂佺敤",
+ icon: 'md-refresh',
+ type: 'danger',
+ onClick: function () {
+ let rows = this.$refs.table.getSelected();
+ if (rows.length == 0) return this.$error("璇烽�夋嫨瑕佺鐢ㄧ殑鏁版嵁");
+
+ this.$confirm('纭瑕佺鐢ㄥ悧?', '璀﹀憡', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning',
+ center: true
+ }).then(() => {
+ let data = [];
+ let parm = {
+ "data": data,
+ "type": "0"
+ }
+ rows.forEach(t => data.push(t.id))
+ this.http.post("/api/dt_stationinfo/SetStationEnable", parm, "閿佸畾涓�...").then(x => {
+ if (x.status) {
+ this.$Message.success("绂佺敤鎴愬姛锛�");
+ this.refresh();
+ } else {
+ this.$Message.error(x.message);
+ }
+ })
+ });
+ }
+ })
+ this.buttons.splice(1, 0, {
name: "绉诲簱",
icon: 'el-icon-document',
type: 'danger',
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs"
index f232c6f..b5bf24c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/TaskEnum/AGVTaskTypeEnum.cs"
@@ -10,30 +10,30 @@
/// <summary>
/// 閫佹弧鏂欐灦
/// </summary>
- SendFull = 1,
+ //SendFull = 1,
/// <summary>
/// 鍙栫┖鏂欐灦
/// </summary>
- TakeEmpty = 2,
+ //TakeEmpty = 2,
/// <summary>
- /// 缁勭洏鍏ュ簱
+ /// 鍏ュ簱
/// </summary>
- [Description("缁勭洏鍏ュ簱")]
- TaskType_Inbound = 3,
+ [Description("鍏ュ簱")]
+ TaskType_Inbound = 1,
/// <summary>
- /// 鎼繍
+ /// 鍑哄簱
/// </summary>
- [Description("鎼繍")]
- TaskType_Outbound = 4,
+ [Description("鍑哄簱")]
+ TaskType_Outbound = 2,
/// <summary>
- /// 璋冩嫧鍏ュ簱
+ /// 澶栧崗鍏ュ簱
/// </summary>
- [Description("璋冩嫧鍏ュ簱")]
- TaskType_AllotInbound = 5,
+ [Description("澶栧崗鍏ュ簱")]
+ TaskType_OutsourceInbound = 3,
/// <summary>
- /// 璋冩嫧鍑哄簱
+ /// 澶栧崗鍑哄簱
/// </summary>
- [Description("璋冩嫧鍑哄簱")]
- TaskType_AllotOutbound = 6,
+ [Description("澶栧崗鍑哄簱")]
+ TaskType_OutsourceOutbound = 4,
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs"
index 5e05756..04c7c5f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/ToAGV/RequestTask.cs"
@@ -28,5 +28,6 @@
/// 浠诲姟绛夌骇
/// </summary>
public int? Priority { get; set; }
+ public int? agv_qty { get; set; }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/QueryData.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/QueryData.cs"
new file mode 100644
index 0000000..b214806
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/QueryData.cs"
@@ -0,0 +1,25 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.FreeDB;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WMS
+{
+ public class QueryData
+ {
+ static FreeDB freeDB = new FreeDB();
+ /// <summary>
+ /// 鏌ヨ鐗╂枡淇℃伅
+ /// </summary>
+ /// <param name="type"></param>
+ /// <returns></returns>
+ public static dt_materielinfo QueryMateriel(string type)
+ {
+ var materielinfo = freeDB.Select<dt_materielinfo>().Where(x => x.materiel_id == type).First();
+ return materielinfo;
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Request.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Request.cs"
new file mode 100644
index 0000000..766e7ca
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Request.cs"
@@ -0,0 +1,46 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_WMS
+{
+ public class Request
+ {
+ /// <summary>
+ /// post璇锋眰
+ /// </summary>
+ /// <param name="postData">鍙傛暟</param>
+ /// <param name="address">璺緞</param>
+ /// <returns></returns>
+ public static string RequestData(string postData, string url = "")
+ {
+ string reponse = string.Empty;
+ try
+ {
+ //string tmp = "";
+ //if (null != postData)
+ // tmp = JsonConvert.SerializeObject(postData);
+ byte[] param = Encoding.UTF8.GetBytes(postData);
+ HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
+ request.Method = "POST";
+ request.ContentType = "application/json";
+ request.GetRequestStream().Write(param, 0, param.Length);
+ using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
+ {
+ Stream stream = response.GetResponseStream();
+ StreamReader streamReader = new StreamReader(stream);
+ string webResponse = streamReader.ReadToEnd();
+ reponse = webResponse;
+ }
+ }
+ catch (Exception ex)
+ {
+ reponse = ex.Message;
+ }
+ return reponse;
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Task.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Task.cs"
index 4233123..9ebde49 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Task.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/Task.cs"
@@ -1,11 +1,13 @@
锘縰sing System;
using System.Collections.Generic;
using System.Linq;
+using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Comm;
using WIDESEA_Common;
using WIDESEA_Core.EFDbContext;
+using WIDESEA_Core.FreeDB;
using WIDESEA_Entity.DomainModels;
using WIDESEA_WMS.IRepositories;
using WIDESEA_WMS.Repositories;
@@ -14,6 +16,7 @@
{
public class Task
{
+ static FreeDB freeDB = new FreeDB();
/// <summary>
/// 娣诲姞鍘嗗彶浠诲姟
/// </summary>
@@ -54,5 +57,54 @@
htyRepository.Add(agvtask_Hty, true);
repository.Delete(task, true);
}
+ /// <summary>
+ /// 搴撳瓨澶勭悊
+ /// </summary>
+ /// <param name="task"></param>
+ public static void Updateinventory(dt_agvtask task)
+ {
+ string[] bindSNs = task.bindSN.Split(",");
+ if (bindSNs.Length > 0)
+ {
+ var Materiel = QueryData.QueryMateriel(task.agv_materielid);
+ List<dt_inventory> inventorys = new List<dt_inventory>();
+ foreach (string bindSN in bindSNs)
+ {
+ dt_inventory inventory = new dt_inventory()
+ {
+ SN = bindSN,//寰呭畬鍠�
+ };
+ inventorys.Add(inventory);
+ }
+ if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString())
+ freeDB.AddRange(inventorys);
+ else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
+ freeDB.Remove(inventorys);
+ }
+ }
+
+ /// <summary>
+ /// 鑷姩鏇存柊缂撳瓨鏋剁姸鎬�
+ /// </summary>
+ /// <param name="task"></param>
+ public static void AutoUpdateHCJState(dt_agvtask task)
+ {
+ VOLContext context = new VOLContext();
+ Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
+ var station1 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_fromaddress);
+ var station2 = stationinfoRepository.FindFirst(t => t.stationCode == task.agv_toaddress);
+
+ station2.quantity = station1.quantity;
+ station2.bindSN = station1.bindSN;
+ station2.location_state = LocationStateEnum.Stroge.ToString();
+ station2.tray_status = station1.tray_status;
+ stationinfoRepository.Update(station2, true);
+
+ station1.quantity = 0;
+ station1.bindSN = string.Empty;
+ station1.location_state = LocationStateEnum.Empty.ToString();
+ station1.tray_status = string.Empty;
+ stationinfoRepository.Update(station1, true);
+ }
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
index a090f04..80e2015 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToAGV/ToAGVServer.cs"
@@ -47,30 +47,34 @@
if (task.agv_taskstate == StateName)
{
respone.success = 2;
- respone.Message = tasteInfo.TASK_NO + "锛氶噸澶嶈皟鐢紝浠诲姟鐘舵�佷负锛�" + tasteInfo.TASK_State;
- return respone;
+ throw new Exception(tasteInfo.TASK_NO + "锛氶噸澶嶈皟鐢紝浠诲姟鐘舵�佷负锛�" + tasteInfo.TASK_State);
}
- if (tasteInfo.TASK_State == 1)
+ if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing)
task.agv_executingBeginTime = DateTime.Now;
- if (tasteInfo.TASK_State == 2)
+ else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete)
task.agv_executingEndTime = DateTime.Now;
- if (tasteInfo.TASK_State == 3)
+ else if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Executing1)
task.agv_completeBeginTime = DateTime.Now;
task.agv_taskstate = StateName;
var count = repository.Update(task, true);
if (count < 1)
throw new Exception("浠诲姟鐘舵�佹洿鏂板け璐ワ紒浠诲姟ID锛�" + tasteInfo.TASK_NO + "锛涗换鍔$姸鎬侊細" + tasteInfo.TASK_State);
- if (tasteInfo.TASK_State == 4)
+ if (tasteInfo.TASK_State == (int)AGVTaskStateEnum.Complete1)
+ {
Task.AddHtyTask(task);
-
-
+ Task.Updateinventory(task);
+ Task.AutoUpdateHCJState(task);
+ }
}
catch (Exception ex)
{
respone.success = 3;
respone.Message = ex.Message;
}
- WriteWMSLog.LogAdd(tasteInfo.TASK_NO, respone.success == 1 ? "鎴愬姛 " : "澶辫触", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), "AGV鍙嶉浠诲姟鐘舵��", "UpdateTaskState", respone.Message);
+ finally
+ {
+ WriteWMSLog.LogAdd(tasteInfo.TASK_NO, respone.success == 1 ? "鎴愬姛 " : "澶辫触", "WMS", "AGV", json, JsonConvert.SerializeObject(respone), "AGV鍙嶉浠诲姟鐘舵��", "UpdateTaskState", respone.Message);
+ }
return respone;
}
@@ -87,6 +91,7 @@
RequestTask requestTask = new RequestTask();
string postJson = string.Empty;
string report = string.Empty;
+ string url = "http://127.0.0.1/api/TaskCreat/CreatTask";
try
{
requestTask.TASK_NO = agvtask.agv_tasknum;
@@ -94,8 +99,9 @@
requestTask.TO_POSITION = agvtask.agv_toaddress;
requestTask.Material = agvtask.agv_materielid;
requestTask.Priority = agvtask.agv_grade;
+ requestTask.agv_qty = agvtask.agv_qty;
postJson = JsonConvert.SerializeObject(requestTask);
- report = RequestData(postJson);
+ report = Request.RequestData(postJson, url);
respone = JsonConvert.DeserializeObject<AGVRespone>(report);
if (respone.success != 1)
throw new Exception(respone.Message);
@@ -108,40 +114,6 @@
respone.Message = ex.Message;
}
WriteWMSLog.LogAdd(requestTask.TASK_NO, respone.success == 1 ? "鎴愬姛 " : "澶辫触", "AGV", "WMS", postJson, report, "涓嬪彂AGV浠诲姟", "SendAGVTask", respone.Message);
- }
-
- /// <summary>
- /// post璇锋眰
- /// </summary>
- /// <param name="postData">鍙傛暟</param>
- /// <param name="address">璺緞</param>
- /// <returns></returns>
- public static string RequestData(string postData, string address = "")
- {
- string reponse = string.Empty;
- try
- {
- //string tmp = "";
- //if (null != postData)
- // tmp = JsonConvert.SerializeObject(postData);
- byte[] param = Encoding.UTF8.GetBytes(postData);
- HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
- request.Method = "POST";
- request.ContentType = "application/json";
- request.GetRequestStream().Write(param, 0, param.Length);
- using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
- {
- Stream stream = response.GetResponseStream();
- StreamReader streamReader = new StreamReader(stream);
- string webResponse = streamReader.ReadToEnd();
- reponse = webResponse;
- }
- }
- catch (Exception ex)
- {
- reponse = ex.Message;
- }
- return reponse;
}
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/AddToFloat3.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/AddToFloat3.cs"
index 98f323b..f281e92 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/AddToFloat3.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/AddToFloat3.cs"
@@ -49,7 +49,7 @@
{
station2.quantity = station1.quantity;
station2.bindSN = station1.bindSN;
- station2.location_state = station1.location_state;
+ station2.location_state = LocationStateEnum.Stroge.ToString();
station2.tray_status = station1.tray_status;
freeDB.Update(station2);
@@ -64,11 +64,11 @@
throw new Exception("璧峰鎴栫洰鐨勫湴鍧�锛屽凡瀛樺湪浠诲姟锛�");
}
content.OK();
- WriteDBLog.Success($"鎵嬪姩绉诲簱", new { 鏁版嵁 = requestTemp }, "WMS", UserContext.Current.UserTrueName);
+ WriteDBLog.Success($"鎵嬪姩绉诲簱", new { 鏁版嵁 = requestTemp }, "WMS", UserContext.Current.UserName + UserContext.Current.UserTrueName);
}
catch (Exception ex)
{
- WriteDBLog.Error($"鎵嬪姩绉诲簱", new { 鏁版嵁 = requestTemp, 寮傚父淇℃伅 = ex.Message }, "WMS", UserContext.Current.UserTrueName);
+ WriteDBLog.Error($"鎵嬪姩绉诲簱", new { 鏁版嵁 = requestTemp, 寮傚父淇℃伅 = ex.Message }, "WMS", UserContext.Current.UserName + UserContext.Current.UserTrueName);
content.Error(ex.Message);
}
return content;
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/UpdateStation.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/UpdateStation.cs"
new file mode 100644
index 0000000..1d7f49e
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/UpdateStation.cs"
@@ -0,0 +1,26 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.Utilities;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Entity.DomainModels.Mes;
+
+namespace WIDESEA_WMS
+{
+ public partial class ToMesServer
+ {
+ /// <summary>
+ /// 鏇存柊璐т綅鐘舵��
+ /// </summary>
+ /// <param name="requestTemp"></param>
+ /// <returns></returns>
+ public WebResponseContent UpdateStation(dt_agvtask requestTemp)
+ {
+ WebResponseContent content = new WebResponseContent();
+
+ return content;
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToPCS/AddTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToPCS/AddTask.cs"
new file mode 100644
index 0000000..d771ab6
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToPCS/AddTask.cs"
@@ -0,0 +1,46 @@
+锘縰sing Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net.Http.Json;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.FreeDB;
+using WIDESEA_Core.Utilities;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WMS.ToPCS
+{
+ public partial class ToPCSServer
+ {
+ public WebResponseContent AddTask(string json)
+ {
+ WebResponseContent content = new WebResponseContent();
+ TaskData taskData = new TaskData();
+ try
+ {
+ if (string.IsNullOrEmpty(json) || json == "null")
+ throw new Exception("鏈幏鍙栧埌璇锋眰鍙傛暟鏁版嵁");
+ taskData = JsonConvert.DeserializeObject<TaskData>(json);
+ var haveInTask = freeDB.Select<dt_agvtask>()
+ .Where(t => t.agv_fromaddress == taskData.fromaddress
+ || t.agv_fromaddress == taskData.toaddress
+ || t.agv_toaddress == taskData.fromaddress
+ || t.agv_toaddress == taskData.toaddress
+ ).Any();
+ if (haveInTask)
+ throw new Exception("褰撳墠璧风偣鎴栫粓鐐瑰凡瀛樺湪浠诲姟锛�");
+
+ dt_agvtask taskinfo = new dt_agvtask()
+ {
+
+ };
+ }
+ catch (Exception ex)
+ {
+ content.Message = ex.Message;
+ }
+ return content;
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToPCS/TaskData.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToPCS/TaskData.cs"
new file mode 100644
index 0000000..26345ca
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToPCS/TaskData.cs"
@@ -0,0 +1,32 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_WMS.ToPCS
+{
+ public class TaskData
+ {
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ public string TaskNum { get; set; }
+ /// <summary>
+ /// 璧风偣鍦板潃
+ /// </summary>
+ public string fromaddress { get; set; }
+ /// <summary>
+ /// 缁堢偣鍦板潃
+ /// </summary>
+ public string toaddress { get; set; }
+ /// <summary>
+ /// 鐗╂枡绫诲瀷
+ /// </summary>
+ public string materielid { get; set; }
+ /// <summary>
+ /// 杞﹁疆SN鍙�
+ /// </summary>
+ public string WheelSN { get; set; }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToPCS/ToPCSServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToPCS/ToPCSServer.cs"
new file mode 100644
index 0000000..bf92377
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToPCS/ToPCSServer.cs"
@@ -0,0 +1,19 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.FreeDB;
+using WIDESEA_Entity.DomainModels;
+
+namespace WIDESEA_WMS.ToPCS
+{
+ public partial class ToPCSServer
+ {
+ FreeDB freeDB = new FreeDB();
+ public ToPCSServer()
+ {
+
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobTask.cs"
new file mode 100644
index 0000000..4e1c021
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/JobTask.cs"
@@ -0,0 +1,17 @@
+锘縰sing Pomelo.AspNetCore.TimedJob;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+
+namespace WIDESEA_WebApi.Controllers
+{
+ public class JobTask : Job
+ {
+ [Invoke(Begin = "2024-01-19 00:00", Interval = 1000*5, /*IsEnabled = true,*/ SkipWhileExecuting = true)]
+ public void TaskTime()
+ {
+ //Console.WriteLine(DateTime.Now.ToString());
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToPCS/ToPCSController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToPCS/ToPCSController.cs"
new file mode 100644
index 0000000..0534079
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToPCS/ToPCSController.cs"
@@ -0,0 +1,27 @@
+锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using WIDESEA_Core.Utilities;
+using WIDESEA_Entity.DomainModels.Mes;
+using WIDESEA_WMS;
+using WIDESEA_WMS.ToPCS;
+
+namespace WIDESEA_WebApi.Controllers.ToPCS
+{
+ [Route("api/ToPCS")]
+ [ApiController]
+ public class ToPCSController : ControllerBase
+ {
+ ToPCSServer Server=new ToPCSServer();
+ /// <summary>
+ /// 娣诲姞AGV浠诲姟
+ /// </summary>
+ /// <param name="request"></param>
+ /// <returns></returns>
+ [HttpPost, Route("AddTask"), Authorize, AllowAnonymous]
+ public WebResponseContent AddTask([FromBody] object saveModel)
+ {
+ return Server.AddTask(JsonConvert.SerializeObject(saveModel));
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToMes/ToWMSController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToWms/ToWMSController.cs"
similarity index 82%
rename from "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToMes/ToWMSController.cs"
rename to "\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToWms/ToWMSController.cs"
index 08abc08..ed5be07 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToMes/ToWMSController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToWms/ToWMSController.cs"
@@ -4,14 +4,14 @@
using WIDESEA_Entity.DomainModels.Mes;
using WIDESEA_WMS;
-namespace WIDESEA_WCSServer.Controllers.ToMes
+namespace WIDESEA_WCSServer.Controllers.ToWms
{
- [Route("api/ToMes")]
+ [Route("api/ToWms")]
[ApiController]
public class ToWMSController : ControllerBase
{
/// <summary>
- /// 3妤艰澶囧彨鏂欙紙鎵嬪姩锛屼复鏃讹級
+ /// 绉诲簱锛堟墜鍔紝涓存椂锛�
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Startup.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Startup.cs"
index 894bcf0..c998f9b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Startup.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Startup.cs"
@@ -184,6 +184,7 @@
{
options.MaxRequestBodySize = 1024 * 1024 * 100;//100M
});
+ services.AddTimedJob();//娣诲姞瀹氭椂鍣�
}
public void ConfigureContainer(ContainerBuilder builder)
@@ -251,6 +252,7 @@
{
endpoints.MapControllers();
});
+ app.UseTimedJob();//娣诲姞瀹氭椂鍣�
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj"
index 53bb872..e7aeb61 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/WIDESEA_WebApi.csproj"
@@ -25,6 +25,7 @@
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.15.1" />
<PackageReference Include="Quartz" Version="3.6.3" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.0.0" />
+ <PackageReference Include="TimedJob" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\350\275\246\350\275\256\346\225\260\346\215\256\051.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\350\275\246\350\275\256\346\225\260\346\215\256\051.xlsx"
new file mode 100644
index 0000000..966f062
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data\050\350\275\246\350\275\256\346\225\260\346\215\256\051.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data.sql" "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data.sql"
new file mode 100644
index 0000000..e4e17d1
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/DB/dt_geometry_data.sql"
@@ -0,0 +1,76 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : DESKTOP-SCT31AM
+ Source Server Type : SQL Server
+ Source Server Version : 13001601
+ Source Catalog : WIDESEA_DB
+ Source Schema : dbo
+
+ Target Server Type : SQL Server
+ Target Server Version : 13001601
+ File Encoding : 65001
+
+ Date: 25/01/2024 11:03:06
+*/
+
+
+-- ----------------------------
+-- Table structure for dt_geometry_data
+-- ----------------------------
+IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[dt_geometry_data]') AND type IN ('U'))
+ DROP TABLE [dbo].[dt_geometry_data]
+GO
+
+CREATE TABLE [dbo].[dt_geometry_data] (
+ [TypeId] int IDENTITY(1,1) NOT NULL,
+ [Description] nvarchar(100) COLLATE Chinese_PRC_CI_AS NOT NULL,
+ [a] float(53) NOT NULL,
+ [b] float(53) NOT NULL,
+ [c] float(53) NOT NULL,
+ [d] float(53) NOT NULL,
+ [e] float(53) NOT NULL,
+ [f] float(53) NOT NULL,
+ [g] float(53) NOT NULL,
+ [h] float(53) NOT NULL
+)
+GO
+
+ALTER TABLE [dbo].[dt_geometry_data] SET (LOCK_ESCALATION = TABLE)
+GO
+
+
+-- ----------------------------
+-- Records of dt_geometry_data
+-- ----------------------------
+SET IDENTITY_INSERT [dbo].[dt_geometry_data] ON
+GO
+
+INSERT INTO [dbo].[dt_geometry_data] ([TypeId], [Description], [a], [b], [c], [d], [e], [f], [g], [h]) VALUES (N'1', N'TSW-003D (915KKD)', N'69', N'12', N'126', N'-28', N'972', N'185', N'27', N'70')
+GO
+
+INSERT INTO [dbo].[dt_geometry_data] ([TypeId], [Description], [a], [b], [c], [d], [e], [f], [g], [h]) VALUES (N'2', N'TSW-051 (840HESA)', N'70', N'12', N'128', N'-30', N'900', N'197', N'27', N'70')
+GO
+
+INSERT INTO [dbo].[dt_geometry_data] ([TypeId], [Description], [a], [b], [c], [d], [e], [f], [g], [h]) VALUES (N'3', N'TSW-005 (840HDSA)', N'70', N'12', N'128', N'-30', N'898', N'185', N'27', N'70')
+GO
+
+SET IDENTITY_INSERT [dbo].[dt_geometry_data] OFF
+GO
+
+
+-- ----------------------------
+-- Auto increment value for dt_geometry_data
+-- ----------------------------
+DBCC CHECKIDENT ('[dbo].[dt_geometry_data]', RESEED, 3)
+GO
+
+
+-- ----------------------------
+-- Primary Key structure for table dt_geometry_data
+-- ----------------------------
+ALTER TABLE [dbo].[dt_geometry_data] ADD CONSTRAINT [PK__dt_geome__516F03B53F710A80] PRIMARY KEY CLUSTERED ([TypeId])
+WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
+ON [PRIMARY]
+GO
+
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\344\274\232\350\256\256/\346\234\272\345\212\240\345\267\245\346\243\200\346\265\213\344\270\212\344\270\213\346\226\231\350\207\252\345\212\250\345\214\226\351\241\271\347\233\256WMS\344\270\216MES\344\277\241\346\201\257\344\272\244\344\272\222\343\200\201\347\275\221\347\273\234\345\270\203\345\261\200\344\272\213\345\256\243\350\256\250\350\256\272\344\274\232\350\256\256\347\272\252\350\246\201.png" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\344\274\232\350\256\256/\346\234\272\345\212\240\345\267\245\346\243\200\346\265\213\344\270\212\344\270\213\346\226\231\350\207\252\345\212\250\345\214\226\351\241\271\347\233\256WMS\344\270\216MES\344\277\241\346\201\257\344\272\244\344\272\222\343\200\201\347\275\221\347\273\234\345\270\203\345\261\200\344\272\213\345\256\243\350\256\250\350\256\272\344\274\232\350\256\256\347\272\252\350\246\201.png"
new file mode 100644
index 0000000..4f9f01a
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\344\274\232\350\256\256/\346\234\272\345\212\240\345\267\245\346\243\200\346\265\213\344\270\212\344\270\213\346\226\231\350\207\252\345\212\250\345\214\226\351\241\271\347\233\256WMS\344\270\216MES\344\277\241\346\201\257\344\272\244\344\272\222\343\200\201\347\275\221\347\273\234\345\270\203\345\261\200\344\272\213\345\256\243\350\256\250\350\256\272\344\274\232\350\256\256\347\272\252\350\246\201.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\344\274\232\350\256\256/\350\275\246\350\275\256\345\216\202\344\272\214\347\272\277\346\234\272\345\212\240\345\267\245\344\270\212\344\270\213\346\226\231\350\207\252\345\212\250\345\214\226\351\241\271\347\233\256\344\270\223\351\242\230\344\274\232.png" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\344\274\232\350\256\256/\350\275\246\350\275\256\345\216\202\344\272\214\347\272\277\346\234\272\345\212\240\345\267\245\344\270\212\344\270\213\346\226\231\350\207\252\345\212\250\345\214\226\351\241\271\347\233\256\344\270\223\351\242\230\344\274\232.png"
new file mode 100644
index 0000000..41a1bd1
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\344\274\232\350\256\256/\350\275\246\350\275\256\345\216\202\344\272\214\347\272\277\346\234\272\345\212\240\345\267\245\344\270\212\344\270\213\346\226\231\350\207\252\345\212\250\345\214\226\351\241\271\347\233\256\344\270\223\351\242\230\344\274\232.png"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\345\272\223\345\214\272\345\210\206\351\205\215.txt" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\345\272\223\345\214\272\345\210\206\351\205\215.txt"
index 5f175fa..66329d5 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\345\272\223\345\214\272\345\210\206\351\205\215.txt"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\345\272\223\345\214\272\345\210\206\351\205\215.txt"
@@ -1,8 +1,10 @@
-搴撳尯1锛�32涓簱浣�,16鍒�;鏈�澶�16涓搧绉嶏紙50浠朵互涓嬶級灏忎紬杞﹁疆
-搴撳尯2锛�1鎺�36涓簱浣�,4鎺掑叡144(144*5浠�),鏈�澶�4鍝佺;閽堝闈炲父瑙勮溅杞�(50-180浠�):涓嶅悓鍨嬪彿鍚岀倝鍙�
+搴撳尯1锛�32涓簱浣�,16鍒�;鏈�澶�16涓搧绉嶏紙50浠朵互涓嬶級灏忎紬杞﹁疆 鍚屽瀷鍙峰悓鐐夊彿涓�鍒�
+搴撳尯2锛�1鎺�36涓簱浣�,4鎺掑叡144(144*5浠�),鏈�澶�4鍝佺;閽堝闈炲父瑙勮溅杞�(50-180浠�):鍚屽瀷鍙峰悓鐐夊彿
搴撳尯3锛�1鎺�45涓簱浣�,5鎺掑叡225锛�225*5锛夋渶澶�5涓搧绉嶏紱閽堝甯歌(840銆�915):鍚屽瀷鍙�(鍥惧彿鍞竴,鏍规嵁鍥惧彿鍖哄垎鍨嬪彿)/涓嶅悓鐐夊彿 锛侊紒锛佷骇鍝佷唬鐮佸共浠�涔堢敤
搴撳尯4锛�1鎺�40涓簱浣�,3鎺掑叡120锛�120*5锛夋渶澶�3涓搧绉嶏紱閽堝1100mm-1300mm杞﹁疆/涔熻兘瀛樻斁1100mm浠ヤ笅杞﹁疆:涓嶅悓鍨嬪彿鍚岀倝鍙�
+72 11*6
+鏍规嵁璁㈠崟鏁版潵杩樻槸鏍规嵁鍨嬪彿鏉�
閫昏緫锛氬綋搴撳尯1婊★紱50浠ヤ笅杞﹁疆鐩存帴鍑哄簱
搴撳尯2婊″簱鍖�3搴撲綅澶氭斁搴撳尯3鍚﹀垯鏀惧鍗忓簱
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\347\216\260\345\234\272\345\233\276\347\211\207/0c01d30d1a8c2e38df4f76d1460b9e0.jpg" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\347\216\260\345\234\272\345\233\276\347\211\207/0c01d30d1a8c2e38df4f76d1460b9e0.jpg"
deleted file mode 100644
index 8216a58..0000000
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\205\266\344\273\226/\347\216\260\345\234\272\345\233\276\347\211\207/0c01d30d1a8c2e38df4f76d1460b9e0.jpg"
+++ /dev/null
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\347\263\273\347\273\237\346\226\207\344\273\266/\345\244\252\345\216\237\351\207\215\345\267\245WMS\347\263\273\347\273\237\350\257\264\346\230\216V1.0.docx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\347\263\273\347\273\237\346\226\207\344\273\266/\345\244\252\345\216\237\351\207\215\345\267\245WMS\347\263\273\347\273\237\350\257\264\346\230\216V1.0.docx"
new file mode 100644
index 0000000..d01a2af
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\347\263\273\347\273\237\346\226\207\344\273\266/\345\244\252\345\216\237\351\207\215\345\267\245WMS\347\263\273\347\273\237\350\257\264\346\230\216V1.0.docx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/AGV\344\270\216\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/AGV\344\270\216\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx"
new file mode 100644
index 0000000..03e8f96
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216AGV\345\222\214\346\241\201\346\236\266\351\230\262\345\221\206\344\272\244\344\272\222\345\215\217\350\256\256/AGV\344\270\216\346\241\201\346\236\266\351\230\262\345\221\206\345\215\217\350\256\256.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\345\215\217\350\256\256.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\345\215\217\350\256\256.xlsx"
index cd9b3d4..2d5c8ac 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\345\215\217\350\256\256.xlsx"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\345\215\217\350\256\256.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\346\226\260\345\242\236\350\256\276\345\244\207\351\234\200\350\246\201\351\207\207\351\233\206\347\232\204\344\277\241\346\201\257.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\346\226\260\345\242\236\350\256\276\345\244\207\351\234\200\350\246\201\351\207\207\351\233\206\347\232\204\344\277\241\346\201\257.xlsx"
new file mode 100644
index 0000000..575ea7e
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/PCS\344\270\216\346\241\201\346\236\266\345\215\217\350\256\256/\346\226\260\345\242\236\350\256\276\345\244\207\351\234\200\350\246\201\351\207\207\351\233\206\347\232\204\344\277\241\346\201\257.xlsx"
Binary files differ
--
Gitblit v1.9.3