| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping(value = "/orderDetl/order/v1/report/auth") |
| | | @ManagerAuth(memo = "上报MES实际组货单") |
| | | public R reportBatchOrder(ReportOrderBatchDetlParam param) { |
| | | List<OrderDetlPakout> orderDetlPakoutList = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>() |
| | | .eq("batch", param.getBatch()) |
| | | ); |
| | | for (OrderDetlPakout orderDetl : orderDetlPakoutList){ |
| | | orderDetl.setStatus(param.getStatus()); |
| | | orderDetlService.updateById(orderDetl); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | 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.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.OrderDomainParam; |
| | | import com.zy.asrs.entity.param.QualityGroupListParam; |
| | | import com.zy.asrs.entity.result.OrderPakoutDetailVo; |
| | | import com.zy.asrs.entity.result.OrderPakoutMainVo; |
| | | import com.zy.asrs.entity.result.WrkTraceVo; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.constant.MesConstant; |
| | | import com.zy.common.model.DetlDto; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import com.zy.common.web.BaseController; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | |
| | | import java.util.*; |
| | | |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping("order/pakout") |
| | | public class OrderPakoutController extends BaseController { |
| | |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | | private WrkMastLogService wrkMastLogService; |
| | | @Autowired |
| | | private ApiLogService apiLogService; |
| | | |
| | | @RequestMapping(value = "/order/nav/list/auth") |
| | | @ManagerAuth |
| | |
| | | } |
| | | return R.error(); |
| | | } |
| | | |
| | | |
| | | |
| | | @RequestMapping(value = "/actual/shipment/order/report/auth") |
| | | @ManagerAuth(memo = "上报MES实际组货单") |
| | | public R actualShipmentOrder(@RequestParam String itemName) { |
| | | Long userId = getUserId(); |
| | | List<OrderPakoutDetailVo> OrderPakoutDetailVoList = orderDetlService.selectOrderPakoutDetailVoListV1(itemName); |
| | | List<String> boxList = new ArrayList<>(); |
| | | List<String> rollList = new ArrayList<>(); |
| | | for (OrderPakoutDetailVo orderDetl : OrderPakoutDetailVoList){ |
| | | if (!boxList.contains(orderDetl.getBatch())){ |
| | | boxList.add(orderDetl.getBatch()); |
| | | } |
| | | if (!rollList.contains(orderDetl.getModel())){ |
| | | rollList.add(orderDetl.getModel()); |
| | | } |
| | | } |
| | | String box = String.join(",", boxList); |
| | | String roll = String.join(",", rollList); |
| | | |
| | | QualityGroupListParam qualityGroupListParam = new QualityGroupListParam(itemName,box,roll); |
| | | |
| | | |
| | | |
| | | String response = ""; |
| | | boolean success = false; |
| | | try { |
| | | response = new HttpHandler.Builder() |
| | | .setUri(MesConstant.URL) |
| | | .setPath(MesConstant.PAKIN_URL) |
| | | .setJson(JSON.toJSONString(qualityGroupListParam)) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | if (jsonObject.getBoolean("state")) { |
| | | success = true; |
| | | // 修改订单状态 4.完成 ===>> 16.已上报 |
| | | if (!orderService.updateItemName(itemName, 16L, userId)) { |
| | | throw new CoolException("服务器内部错误,请联系管理员"); |
| | | } |
| | | } else { |
| | | // 修改订单状态 4.完成 ===>> 17.已上报 |
| | | if (!orderService.updateItemName(itemName, 17L, userId)) { |
| | | throw new CoolException("服务器内部错误,请联系管理员"); |
| | | } |
| | | log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(qualityGroupListParam), response); |
| | | throw new CoolException("上报mes系统失败"); |
| | | } |
| | | } catch (Exception e) { |
| | | // 修改订单状态 4.完成 ===>> 17.已上报 |
| | | if (!orderService.updateItemName(itemName, 17L, userId)) { |
| | | throw new CoolException("服务器内部错误,请联系管理员"); |
| | | } |
| | | log.error("fail", e); |
| | | } finally { |
| | | try { |
| | | // 保存接口日志 |
| | | apiLogService.save( |
| | | "上报MES实际组货单", |
| | | MesConstant.URL + MesConstant.PAKIN_URL, |
| | | null, |
| | | "127.0.0.1", |
| | | JSON.toJSONString(qualityGroupListParam), |
| | | response, |
| | | success |
| | | ); |
| | | } catch (Exception e) { log.error("", e); } |
| | | } |
| | | |
| | | |
| | | |
| | | return R.ok(); |
| | | } |
| | | } |
| New file |
| | |
| | | package com.zy.asrs.entity.param; |
| | | |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * Created by vincent on 2021/3/31 |
| | | */ |
| | | @Data |
| | | public class QualityGroupListParam { |
| | | |
| | | private String groupOrderNumber;//组货单号(唯一标识) |
| | | |
| | | private String sjalbz;//一厂立库实际出库包装组号(多个逗号拼接) //箱号 |
| | | private String sjaljh;//一厂立库实际出库卷号(多个逗号拼接) //卷号 ,分隔 |
| | | |
| | | private String factory = "1";//厂部信息(1一厂,2二厂) |
| | | private String groupStatus = "1";//组货状态(1确认出库) |
| | | |
| | | |
| | | //无用 |
| | | private String sjapbz = "";//一厂平库实际出库包装组号(多个逗号拼接) |
| | | private String sjapjh = "";//一厂平库实际出库卷号(多个逗号拼接) |
| | | private String sjbpbz = "";//二厂平库实际出库包装组号(多个逗号拼接) |
| | | private String sjbpjh = "";//二厂平库实际出库卷号(多个逗号拼接) |
| | | private String sjblbz = "";//二厂立库实际出库包装组号(多个逗号拼接) |
| | | private String sjbljh = "";//二厂立库实际出库卷号(多个逗号拼接) |
| | | |
| | | public QualityGroupListParam() { |
| | | } |
| | | |
| | | public QualityGroupListParam(String groupOrderNumber) { |
| | | this.groupOrderNumber = groupOrderNumber; |
| | | } |
| | | |
| | | public QualityGroupListParam(String groupOrderNumber, String sjalbz, String sjaljh) { |
| | | this.groupOrderNumber = groupOrderNumber; |
| | | this.sjalbz = sjalbz; |
| | | this.sjaljh = sjaljh; |
| | | } |
| | | } |
| | |
| | | |
| | | int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty); |
| | | |
| | | |
| | | List<OrderPakoutDetailVo> selectOrderPakoutDetailVoList(@Param("itemName") String itemName, |
| | | @Param("modiTimeStart") Date modiTimeStart, |
| | | @Param("modiTimeEnd") Date modiTimeEnd, |
| | | @Param("pageNumber") Integer curr, |
| | | @Param("pageSize") Integer limit); |
| | | |
| | | List<OrderPakoutDetailVo> selectOrderPakoutDetailVoListV1(@Param("itemName") String itemName); |
| | | |
| | | Long selectOrderPakoutDetailVoListTotal(@Param("itemName") String itemName, |
| | | @Param("modiTimeStart") Date modiTimeStart, |
| | | @Param("modiTimeEnd") Date modiTimeEnd); |
| | |
| | | @Param("status") Integer status, |
| | | @Param("modiTimeStart") Date modiTimeStart, |
| | | @Param("modiTimeEnd") Date modiTimeEnd); |
| | | |
| | | int updateItemName(@Param("itemName")String itemName, |
| | | @Param("settle")Long settle,@Param("userId") Long userId); |
| | | } |
| | |
| | | boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty); |
| | | |
| | | List<OrderPakoutDetailVo> selectOrderPakoutDetailVoList(String itemName, Date modiTimeStart, Date modiTimeEnd, Integer curr, Integer limit); |
| | | List<OrderPakoutDetailVo> selectOrderPakoutDetailVoListV1(String itemName); |
| | | Long selectOrderPakoutDetailVoListTotal(String itemName,Date modiTimeStart,Date modiTimeEnd); |
| | | } |
| | |
| | | |
| | | Long selectOrderPakoutMainVoListTotal(String itemName, String cstmrName, Integer settle, Integer status, Date modiTimeStart,Date modiTimeEnd); |
| | | |
| | | boolean updateItemName(String itemName,Long settle, Long userId); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<OrderPakoutDetailVo> selectOrderPakoutDetailVoListV1(String itemName) { |
| | | return this.baseMapper.selectOrderPakoutDetailVoListV1(itemName); |
| | | } |
| | | |
| | | @Override |
| | | public List<OrderPakoutDetailVo> selectOrderPakoutDetailVoList(String itemName, Date modiTimeStart, Date modiTimeEnd, Integer curr, Integer limit) { |
| | | return this.baseMapper.selectOrderPakoutDetailVoList(itemName,modiTimeStart,modiTimeEnd,curr,limit); |
| | | } |
| | |
| | | return this.baseMapper.updateSettle(orderId, settle, userId) > 0; |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void remove(Long orderId) { |
| | | if (!this.deleteById(orderId)) { |
| | |
| | | return this.baseMapper.selectOrderPakoutMainVoListTotal(itemName,cstmrName,settle, status,modiTimeStart,modiTimeEnd); |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateItemName(String itemName,Long settle, Long userId) { |
| | | return this.baseMapper.updateItemName(itemName,settle, userId) > 0; |
| | | } |
| | | |
| | | } |
| | |
| | | where d.row1 between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) order by d.update_time desc |
| | | </select> |
| | | |
| | | <select id="selectOrderPakoutDetailVoListV1" resultMap="PakoutDetailResultMap"> |
| | | select a.* from v_pakout_detail as a |
| | | where 1=1 |
| | | AND item_name = #{itemName} |
| | | </select> |
| | | |
| | | <select id="selectOrderPakoutDetailVoListTotal" resultType="Long"> |
| | | SELECT count(1) FROM v_pakout_detail |
| | | WHERE 1 = 1 |
| | |
| | | and (settle = 10 or settle = 13 or settle = 98) |
| | | </update> |
| | | |
| | | <update id="updateItemName"> |
| | | update man_order_pakout |
| | | set settle = #{settle} |
| | | ,update_by = #{userId} |
| | | ,update_time = getdate() |
| | | where 1=1 |
| | | and item_name = #{itemName} |
| | | </update> |
| | | |
| | | <select id="selectOrderPakoutMainVoList" resultMap="PakoutMainResultMap"> |
| | | select d.* from ( |
| | | select |
| | |
| | | |
| | | // 调用后台API上报数据 |
| | | $.ajax({ |
| | | url: baseUrl + "/api/report/confirm", |
| | | headers: { |
| | | 'token': localStorage.getItem('token') |
| | | url: baseUrl + "/order/pakout/actual/shipment/order/report/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: { |
| | | itemName: groupOrderNo // 传递组货单号 |
| | | }, |
| | | data: JSON.stringify({ |
| | | item_name: groupOrderNo // 传递组货单号 |
| | | }), |
| | | dataType: 'json', |
| | | contentType: 'application/json;charset=UTF-8', |
| | | method: 'post', |
| | | method: 'POST', |
| | | success: (res) => { |
| | | this.reportLoading = false; |
| | | if (typeof done === 'function') { |