|  |  |  | 
|---|
|  |  |  | package com.zy.asrs.controller; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.alibaba.fastjson.JSON; | 
|---|
|  |  |  | import com.alibaba.fastjson.JSONObject; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.mapper.Wrapper; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.zy.asrs.entity.result.WrkTraceVo; | 
|---|
|  |  |  | import com.zy.asrs.service.*; | 
|---|
|  |  |  | import com.zy.common.model.DetlDto; | 
|---|
|  |  |  | import com.zy.common.model.OrderDto; | 
|---|
|  |  |  | import com.zy.common.web.BaseController; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.poi.hssf.usermodel.HSSFWorkbook; | 
|---|
|  |  |  | 
|---|
|  |  |  | List<WrkTraceVo> wrkTraceVos = new ArrayList<>(); | 
|---|
|  |  |  | List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNoGroupByMatnrOfSum(order.getOrderNo()); | 
|---|
|  |  |  | for (WrkDetl wrkDetl : wrkDetls) { | 
|---|
|  |  |  | if (isJSON(wrkDetl.getOrderNo())) { | 
|---|
|  |  |  | List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class); | 
|---|
|  |  |  | for (OrderDto one : orderDtoList) { | 
|---|
|  |  |  | if (one.getOrderNo().equals(order.getOrderNo())) { | 
|---|
|  |  |  | wrkDetl.setAnfme(one.getAnfme()); | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime())); | 
|---|
|  |  |  | if (wrkMast == null) { | 
|---|
|  |  |  | WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime())); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static boolean isJSON(String str) { | 
|---|
|  |  |  | if (Cools.isEmpty(str)) { | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | str = str.trim(); | 
|---|
|  |  |  | if (str.startsWith("{") && str.endsWith("}")) { | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } else if (str.startsWith("[") && str.endsWith("]")) { | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } else return !str.startsWith("[") || !str.endsWith("]"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectAndLogByOrderNoGroupByMatnrOfSum" resultMap="BaseResultMap"> | 
|---|
|  |  |  | select awd.wrk_no, awd.io_time, awd.matnr, sum(awd.anfme) as anfme | 
|---|
|  |  |  | select awd.wrk_no, awd.io_time, awd.matnr, awd.order_no, sum(awd.anfme) as anfme | 
|---|
|  |  |  | from asr_wrk_detl awd | 
|---|
|  |  |  | left join asr_wrk_mast awm on awd.wrk_no = awm.wrk_no and awd.io_time = awm.io_time | 
|---|
|  |  |  | where order_no like '%' + #{orderNo} + '%' | 
|---|
|  |  |  | group by awd.wrk_no, awd.io_time, awd.matnr | 
|---|
|  |  |  | group by awd.wrk_no, awd.io_time, awd.matnr, awd.order_no | 
|---|
|  |  |  | union | 
|---|
|  |  |  | select distinct awdl.wrk_no, awdl.io_time, awdl.matnr, sum(awdl.anfme) as anfme | 
|---|
|  |  |  | select awdl.wrk_no, awdl.io_time, awdl.matnr, awdl.order_no, sum(awdl.anfme) as anfme from | 
|---|
|  |  |  | ( | 
|---|
|  |  |  | select distinct awdl.* | 
|---|
|  |  |  | from asr_wrk_detl_log awdl | 
|---|
|  |  |  | left join asr_wrk_mast_log awml on awdl.wrk_no = awml.wrk_no and awdl.io_time = awml.io_time | 
|---|
|  |  |  | where awdl.order_no like '%' + #{orderNo} + '%' | 
|---|
|  |  |  | and (awml.manu_type is null or awml.manu_type != '手动取消') | 
|---|
|  |  |  | group by awdl.wrk_no, awdl.io_time, awdl.matnr | 
|---|
|  |  |  | ) as awdl | 
|---|
|  |  |  | group by awdl.wrk_no, awdl.io_time, awdl.matnr, awdl.order_no | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <update id="updateInspect"> | 
|---|