|  |  | 
 |  |  | package com.zy.asrs.controller; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson.JSON; | 
 |  |  | import com.alibaba.fastjson.JSONObject; | 
 |  |  | import com.core.annotations.AppAuth; | 
 |  |  | import com.core.common.BaseRes; | 
 |  |  | import com.core.common.Cools; | 
 |  |  | import com.core.common.R; | 
 |  |  | import com.core.exception.CoolException; | 
 |  |  | import com.zy.asrs.entity.param.*; | 
 |  |  | import com.zy.asrs.entity.param.CheckParam; | 
 |  |  | import com.zy.asrs.entity.param.MatSyncParam; | 
 |  |  | import com.zy.asrs.entity.param.OrderProdSyncParam; | 
 |  |  | import com.zy.asrs.entity.param.OrderSyncParam; | 
 |  |  | import com.zy.asrs.service.OpenService; | 
 |  |  | import com.zy.common.utils.Synchro; | 
 |  |  | import com.zy.common.web.BaseController; | 
 |  |  | 
 |  |  |                 break; | 
 |  |  |             case "MO": | 
 |  |  |                 mappingPakInOrderParam(param, true, "银座委外生产订单"); | 
 |  |  |                 mappingOrderParam(param, false, "银座未包装成品出库单"); | 
 |  |  |                 if (!Cools.isEmpty(param.getChildren())) { | 
 |  |  |                     mappingOrderParamChild(param, false, "银座委外材料出库单"); | 
 |  |  |                 } | 
 |  |  |                 break; | 
 |  |  |             case "OM": | 
 |  |  |                 mappingPakInOrderParam(param, true, "银座生产订单"); | 
 |  |  |                 mappingOrderParam(param, false, "银座委外未包装成品出库单"); | 
 |  |  |                 if (!Cools.isEmpty(param.getChildren())) { | 
 |  |  |                     mappingOrderParamChild(param, false, "银座生产材料出库单"); | 
 |  |  |                 } | 
 |  |  | 
 |  |  |                 break; | 
 |  |  |             case "MO": | 
 |  |  |                 mappingPakInOrderParam(param, true, "银座生产订单"); | 
 |  |  |                 mappingOrderParam(param, false, "银座未包装成品出库单"); | 
 |  |  |                 if (!Cools.isEmpty(param.getChildren())) { | 
 |  |  |                     mappingOrderParamChild(param, false, "银座生产材料出库单"); | 
 |  |  |                 } | 
 |  |  |                 break; | 
 |  |  |             case "OM": | 
 |  |  |                 mappingPakInOrderParam(param, true, "银座委外生产订单"); | 
 |  |  |                 mappingOrderParam(param, false, "银座委外未包装成品出库单"); | 
 |  |  |                 if (!Cools.isEmpty(param.getChildren())) { | 
 |  |  |                     mappingOrderParamChild(param, false, "银座委外材料出库单"); | 
 |  |  |                 } | 
 |  |  | 
 |  |  |  | 
 |  |  |         //return orderSyncParam; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     private void mappingOrderParam(OrderProdSyncParam param, boolean pakin, String docName) { | 
 |  |  |         //生成单据主体 | 
 |  |  |         OrderSyncParam orderSyncParam = new OrderSyncParam(); | 
 |  |  |         Synchro.Copy(param, orderSyncParam); | 
 |  |  |  | 
 |  |  |         if (Cools.isEmpty(orderSyncParam.getCPOID())) { | 
 |  |  |             orderSyncParam.setCPOID(param.getOrderNoT()); | 
 |  |  |         } | 
 |  |  |         if (Cools.isEmpty(orderSyncParam.getDdate())) { | 
 |  |  |             orderSyncParam.setDdate(param.getOrderTime()); | 
 |  |  |         } | 
 |  |  |         orderSyncParam.setCPOID("C" + orderSyncParam.getCPOID()); | 
 |  |  |         //生成单据明细 | 
 |  |  |         OrderSyncParam.OrderDetl orderDetl = new OrderSyncParam.OrderDetl(); | 
 |  |  |         Synchro.Copy(param, orderDetl); | 
 |  |  |  | 
 |  |  |         if (!param.getCInvCode().startsWith("50")) { | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         //orderDetl.setcInvCode(param.getCInvCode()); | 
 |  |  |         //orderDetl.setiQuantity(param.getIQuantity()); | 
 |  |  |         orderDetl.setCDefine22(param.getIvouchrowno()); | 
 |  |  |         //orderDetl.setbFree1(param.getBFree1()); | 
 |  |  |         orderDetl.setId(param.getId()); | 
 |  |  |         orderDetl.setIvouchrowno(param.getIvouchrowno()); | 
 |  |  |         orderDetl.setINum(param.getINum()); | 
 |  |  |         orderDetl.setIinvexchrate(param.getIinvexchrate()); | 
 |  |  |  | 
 |  |  |         //添加单据明细到单据主体 | 
 |  |  |         List<OrderSyncParam.OrderDetl> orderDetls = new ArrayList<>(); | 
 |  |  |         orderDetls.add(orderDetl); | 
 |  |  |  | 
 |  |  |         orderSyncParam.setChildren(orderDetls); | 
 |  |  |  | 
 |  |  | //        String docName = param.getIQuantity() > 0 ?  "银座产品生产入库单" : "入库退回单"; | 
 |  |  | //        boolean pakin = param.getIQuantity() > 0 ? true : false; | 
 |  |  |  | 
 |  |  |         openService.syncOrder(orderSyncParam, pakin, docName); | 
 |  |  |  | 
 |  |  |         //return orderSyncParam; | 
 |  |  |     } | 
 |  |  | } |