| | |
| | | |
| | | import com.google.gson.reflect.TypeToken; |
| | | import com.whyc.dto.*; |
| | | import com.whyc.pojo.db_wms.Task; |
| | | import com.whyc.util.HttpUtil; |
| | | import com.whyc.util.JsonUtil; |
| | | import com.whyc.util.ThreadLocalUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | public class WmsService { |
| | | |
| | | @Autowired |
| | | private TaskService taskService; |
| | | |
| | | public Response getMaterialList() { |
| | | String httpUrl = "http://192.168.10.133:8051"+"/api/Wms_material/get_all"; |
| | |
| | | String dataStr = (String) response.getData(); |
| | | WmsResponse responseInside = JsonUtil.getGson().fromJson(dataStr, WmsResponse.class); |
| | | response.set(1,responseInside); |
| | | //对下发的任务进行数据库存储 |
| | | Task task = new Task(); |
| | | task.setTaskNo(responseInside.getTask_no()); |
| | | task.setDes(palletDto.getDes()); |
| | | //将字符串列表转为1组字符串,每个元素用逗号分割 |
| | | List<String> pallets = palletDto.getPallets(); |
| | | task.setPallets(String.join(",", pallets)); |
| | | |
| | | List<String> activateParameter = palletDto.getActivateParameter(); |
| | | task.setActivateParameter(String.join(",",activateParameter)); |
| | | |
| | | Date date = new Date(); |
| | | task.setCreateTime(date); |
| | | |
| | | taskService.add(task); |
| | | |
| | | |
| | | } |
| | | return response; |
| | | } |
| | |
| | | } |
| | | return response; |
| | | } |
| | | |
| | | public Response sendTaskStatus(TaskDto taskDto) { |
| | | Task task = new Task(); |
| | | task.setTaskNo(taskDto.getTask_no()); |
| | | task.setTaskType(taskDto.getTask_type()); |
| | | task.setStartLocationCode(taskDto.getStart_location_code()); |
| | | task.setEndLocationCode(taskDto.getEnd_location_code()); |
| | | |
| | | task.setStatus(taskDto.getStatus()); |
| | | task.setStatusTime(ThreadLocalUtil.parse(taskDto.getStatus_time(),1)); |
| | | |
| | | //对接收到的任务进行逻辑判断和数据存储 |
| | | String taskNo = task.getTaskNo(); |
| | | //taskType=4,入库测压任务,这个为仓储自动触发的任务,非主动平台下达, |
| | | // 需要手动添加任务类型,和电池组编号 |
| | | Integer taskType = task.getTaskType(); |
| | | if(taskType == 4){ |
| | | task.setDes(2); |
| | | task.setPallets(taskDto.getPallet()); |
| | | } |
| | | Integer status = task.getStatus(); |
| | | Date statusTime = task.getStatusTime(); |
| | | switch (status){ |
| | | case 1: |
| | | case 11: |
| | | case 21: task.setPickUpStartTime(statusTime);break; |
| | | case 2: |
| | | case 12: |
| | | case 22: task.setPickUpTime(statusTime);break; |
| | | case 13: |
| | | case 23: task.setActivationChamberStartTime(statusTime);break; |
| | | case 14: |
| | | case 24: |
| | | task.setActivationChamberPickUpTime(statusTime);break; |
| | | case 15: |
| | | case 25: |
| | | task.setActivationChamberEndTime(statusTime);break; |
| | | case 4: |
| | | case 16: |
| | | case 26: |
| | | task.setBackFinishTime(statusTime); |
| | | task.setEndTime(new Date()); |
| | | break; |
| | | default: |
| | | throw new IllegalArgumentException("status字段未定义,无法被识别: " + status); |
| | | } |
| | | taskService.update(task); |
| | | |
| | | return new Response().setII(1,"上报状态完成"); |
| | | } |
| | | } |