123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597 |
- package com.iamberry.rst.controllers.scm;
- import com.alibaba.fastjson.JSONObject;
- import com.iamberry.rst.core.cm.StoreShip;
- import com.iamberry.rst.core.order.EOrderRequestData;
- import com.iamberry.rst.core.order.ProductColor;
- import com.iamberry.rst.core.page.PagedResult;
- import com.iamberry.rst.core.scm.ScmOrderInfo;
- import com.iamberry.rst.core.scm.ScmOrderItem;
- import com.iamberry.rst.core.sys.Admin;
- import com.iamberry.rst.core.tools.LogisticsInfo;
- import com.iamberry.rst.util.GenerateKeyUtil;
- import com.iamberry.rst.utils.OrderUtils;
- import com.iamberry.rst.faces.cm.StoreShipService;
- import com.iamberry.rst.faces.order.LogisticsInfoService;
- import com.iamberry.rst.faces.product.ProductService;
- import com.iamberry.rst.faces.scm.ScmOrderInfoService;
- import com.iamberry.rst.faces.scm.ScmOrderItemService;
- import com.iamberry.rst.utils.*;
- import com.iamberry.wechat.tools.AddrUtil;
- import com.iamberry.wechat.tools.DateTimeUtil;
- import com.iamberry.wechat.tools.ResponseJson;
- import com.iamberry.wechat.tools.UUIDGenerator;
- import net.sf.json.JSONArray;
- import org.apache.shiro.authz.annotation.Logical;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.multipart.commons.CommonsMultipartFile;
- import org.springframework.web.servlet.ModelAndView;
- import javax.servlet.http.HttpServletRequest;
- import java.io.File;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.util.*;
- /**
- * 上朵定制-订单列表
- */
- @Controller
- @RequestMapping("/admin/scm_order")
- public class AdminScmOrderController {
- private static final Logger LOGGER = LoggerFactory.getLogger(AdminScmOrderController.class);
- @Autowired
- private ScmOrderInfoService scmOrderInfoService;
- @Autowired
- private ScmOrderItemService scmOrderItemService;
- @Autowired
- private LogisticsInfoService logisticsInfoService;
- @Autowired
- private ProductService productService;
- @Autowired
- private GenerateKeyUtil generateKeyUtil;
- @Autowired
- private StoreShipService storeShipService;
- private static final String pathHead = "D";
- /**
- * 订单列表
- * @param request
- * @return
- */
- @RequiresPermissions("scmOrder:order:list")
- @RequestMapping("/order_list")
- public ModelAndView orderList(HttpServletRequest request, ScmOrderItem scmOrderItem,
- @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
- @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
- @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
- ModelAndView mv = new ModelAndView("scm/scm_order_list");
- PagedResult<ScmOrderItem> pagedResult = scmOrderItemService.getScmOrderItemListPage(pageNO, pageSize, scmOrderItem, totalNum == 0);
- if (totalNum != 0){
- pagedResult.setTotal(totalNum);
- }
- StitchAttrUtil.getSa()
- .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
- .setModelAndView(scmOrderItem, mv, "/admin/scm_order/order_list", pagedResult);
- List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
- mv.addObject("logisticsInfoList",logisticsInfoList);
- return mv;
- }
- /**
- * 添加订单
- * @param request
- * @return
- */
- @RequiresPermissions("scmOrder:order:add")
- @RequestMapping("/to_add_order")
- public ModelAndView toAddOrder(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("scm/scm_add_order");
- List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
- mv.addObject("logisticsInfoList",logisticsInfoList);
- return mv;
- }
- /**
- * 添加订单
- * @param request
- * @param scmOrderInfo
- * @param orderItemString
- * @return
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping("/add_order")
- @RequiresPermissions("scmOrder:order:add")
- public ResponseJson addSalesOrder(HttpServletRequest request,ScmOrderInfo scmOrderInfo,String orderItemString) throws Exception {
- ResponseJson rj = new ResponseJson();
- if(scmOrderInfo.getOrderAddressTel() != null && !"".equals(scmOrderInfo.getOrderAddressTel())){
- scmOrderInfo.setOrderAddressTel(scmOrderInfo.getOrderAddressTel().trim());
- }
- Admin admin = AdminUtils.getLoginAdmin();
- JSONArray jsonArray = JSONArray.fromObject(orderItemString);
- List<ScmOrderItem> salesOrderItemList = (List) JSONArray.toCollection(jsonArray, ScmOrderItem.class);
- for (ScmOrderItem scmOrderItem:salesOrderItemList) {
- if(scmOrderItem.getOrderItemNum() > 0 && scmOrderItem.getOrderItemColorId() > 0){
- ProductColor productColor = productService.getProduceColor(scmOrderItem.getOrderItemColorId());
- if(productColor == null){
- return new ResponseJson(500, "商品不存在", 500);
- }
- scmOrderItem.setOrderItemProductId(productColor.getColorProductId()); ////产品id
- scmOrderItem.setOrderItemProductType(productColor.getProductType());
- scmOrderItem.setOrderItemProductName(productColor.getProductName());
- scmOrderItem.setOrderItemProductPic(productColor.getColorPicture());
- scmOrderItem.setOrderItemColorName(productColor.getColorName());
- scmOrderItem.setOrderItemColorBar(productColor.getColorBar()); ///产品SKU码(百胜)
- scmOrderItem.setOrderItemProductPrice(productColor.getColorPrice());
- scmOrderItem.setOrderItemProductDiscount(productColor.getColorDiscount());
- scmOrderItem.setOrderItemCreateTime(new Date());
- }else{
- return new ResponseJson(500, "添加商品错误", 500);
- }
- }
- String orderMadeId = generateKeyUtil.getScmOrderMadeId(); //获取生产编号
- String realPath = request.getSession().getServletContext().getRealPath("/common/scmOrder/qrCode/"+orderMadeId+"/");
- realPath = realPath+"/";
- String name = orderMadeId+".png";
- QrCodeUtil.madeQrCode(realPath,name,orderMadeId,200);
- String url = "common/scmOrder/qrCode/"+orderMadeId+"/"+orderMadeId+".png";
- scmOrderInfo.setOrderMadeId(orderMadeId);
- scmOrderInfo.setOrderShippingStatus(0);
- scmOrderInfo.setOrderStatus(1);
- scmOrderInfo.setOrderAdminId(admin.getAdminId());
- scmOrderInfo.setOrderMadeIdPath(url); //二维码地址
- scmOrderInfo.setScmOrderItemList(salesOrderItemList);
- Integer bl = 0;
- String errorMsg = "";
- try {
- bl = scmOrderInfoService.save(scmOrderInfo);
- }catch (Exception e){
- errorMsg = e.getMessage();
- e.printStackTrace();
- return new ResponseJson(500, "添加订单失败,失败原因:"+errorMsg, 500);
- }
- if(bl > 0){
- rj = new ResponseJson(200, "添加订单成功", 200);
- rj.addResponseKeyValue("path",realPath);
- rj.addResponseKeyValue("orderMadeId",orderMadeId);
- return rj;
- }else{
- return new ResponseJson(500, "添加订单失败,失败原因:"+errorMsg, 500);
- }
- }
- /**
- * 修改订单页面
- * @param request
- * @return
- */
- @RequiresPermissions("scmOrder:order:update")
- @RequestMapping("/to_update_order")
- public ModelAndView toUpdateOrder(HttpServletRequest request,Integer orderId) {
- ModelAndView mv = new ModelAndView("scm/scm_update_order");
- List<LogisticsInfo> logisticsInfoList = logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
- mv.addObject("logisticsInfoList",logisticsInfoList);
- mv.addObject("orderId",orderId);
- return mv;
- }
- /**
- * 修改订单
- * @param request
- * @param scmOrderInfo
- * @param orderItemString
- * @return
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping("/update_order")
- @RequiresPermissions("scmOrder:order:update")
- public ResponseJson updateOrder(HttpServletRequest request,ScmOrderInfo scmOrderInfo,String orderItemString) throws Exception {
- ResponseJson rj = new ResponseJson();
- if(scmOrderInfo.getOrderAddressTel() != null && !"".equals(scmOrderInfo.getOrderAddressTel())){
- scmOrderInfo.setOrderAddressTel(scmOrderInfo.getOrderAddressTel().trim());
- }
- Admin admin = AdminUtils.getLoginAdmin();
- JSONArray jsonArray = JSONArray.fromObject(orderItemString);
- List<ScmOrderItem> salesOrderItemList = (List) JSONArray.toCollection(jsonArray, ScmOrderItem.class);
- for (ScmOrderItem scmOrderItem:salesOrderItemList) {
- if(scmOrderItem.getOrderItemNum() > 0 && scmOrderItem.getOrderItemColorId() > 0){
- ProductColor productColor = productService.getProduceColor(scmOrderItem.getOrderItemColorId());
- if(productColor == null){
- return new ResponseJson(500, "商品不存在或商品错误", 500);
- }
- scmOrderItem.setOrderItemProductId(productColor.getColorProductId()); ////产品id
- scmOrderItem.setOrderItemProductType(productColor.getProductType());
- scmOrderItem.setOrderItemProductName(productColor.getProductName());
- scmOrderItem.setOrderItemProductPic(productColor.getColorPicture());
- scmOrderItem.setOrderItemColorName(productColor.getColorName());
- scmOrderItem.setOrderItemColorBar(productColor.getColorBar()); ///产品SKU码(百胜)
- scmOrderItem.setOrderItemProductPrice(productColor.getColorPrice());
- scmOrderItem.setOrderItemProductDiscount(productColor.getColorDiscount());
- scmOrderItem.setOrderItemCreateTime(new Date());
- }else{
- return new ResponseJson(500, "修改商品错误", 500);
- }
- }
- scmOrderInfo.setScmOrderItemList(salesOrderItemList);
- Integer bl = 0;
- String errorMsg = "";
- try {
- bl = scmOrderInfoService.update(scmOrderInfo);
- }catch (Exception e){
- errorMsg = e.getMessage();
- e.printStackTrace();
- return new ResponseJson(500, "修改订单失败,失败原因:"+errorMsg, 500);
- }
- if(bl > 0){
- rj = new ResponseJson(200, "修改订单成功", 200);
- // rj.addResponseKeyValue("path",realPath);
- // rj.addResponseKeyValue("orderMadeId",orderMadeId);
- return rj;
- }else{
- return new ResponseJson(500, "修改订单失败,失败原因:"+errorMsg, 500);
- }
- }
- /**
- * 删除订单
- * @param request
- * @return
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping("/delete_order")
- @RequiresPermissions("scmOrder:order:delete")
- public ResponseJson deleteOrder(HttpServletRequest request,Integer orderId) throws Exception {
- ResponseJson rj = new ResponseJson();
- ScmOrderInfo scmOrderInfo = scmOrderInfoService.getScmOrderInfoById(orderId);
- if(scmOrderInfo == null ){
- return new ResponseJson(500, "删除失败", 500);
- }
- Integer flag = scmOrderInfoService.delete(orderId);
- if(flag > 0){
- rj = new ResponseJson(200, "删除订单成功", 200);
- return rj;
- }else{
- return new ResponseJson(500, "删除失败", 500);
- }
- }
- /**
- * 查询订单
- * @param request
- * @param scmOrderInfo
- * @return
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping("/get_order")
- @RequiresPermissions(value = {"scmOrder:order:add", "scmOrder:update:add", "scmOrder:order:list", "scmOrder:order:send"}, logical = Logical.OR)
- public ResponseJson getOrder(HttpServletRequest request,ScmOrderInfo scmOrderInfo) throws Exception {
- if(scmOrderInfo.getOrderId() == null && (scmOrderInfo.getOrderMadeId() == null||"".equals(scmOrderInfo.getOrderMadeId())) &&
- (scmOrderInfo.getOrderNo() == null || "".equals(scmOrderInfo.getOrderNo()))){
- return new ResponseJson(500, "查询失败", 500);
- }
- ResponseJson rj = new ResponseJson(200, "查询成功", 200);
- List<ScmOrderInfo> scmOrderInfoList = scmOrderInfoService.getScmOrderInfoList(scmOrderInfo);
- rj.addResponseKeyValue("scmOrderInfoList",scmOrderInfoList);
- return rj;
- }
- /**
- * 查询订单 -- 生产编号
- * @param request
- * @param orderMadeId
- * @return
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping("/get_order_madeId")
- @RequiresPermissions(value = {"scmOrder:order:add", "scmOrder:update:add", "scmOrder:order:list", "scmOrder:order:send"}, logical = Logical.OR)
- public ResponseJson getOrderNo(HttpServletRequest request,String orderMadeId) throws Exception {
- ScmOrderInfo scmOrderInfo = scmOrderInfoService.getScmOrderInfoByMadeId(orderMadeId);
- if(scmOrderInfo == null){
- ResponseJson rj = new ResponseJson(500, "查询失败", 500);
- return rj;
- }
- ScmOrderItem scmOrderItem = new ScmOrderItem();
- scmOrderItem.setOrderId(scmOrderInfo.getOrderId());
- List<ScmOrderItem> scmOrderItemList = scmOrderItemService.getScmOrderItemList(scmOrderItem);
- scmOrderInfo.setScmOrderItemList(scmOrderItemList);
- ResponseJson rj = new ResponseJson(200, "查询成功", 200);
- rj.addResponseKeyValue("scmOrderInfo",scmOrderInfo);
- return rj;
- }
- /**
- * 上传设计文件
- * @RequestParam("file") 将name=file控件得到的文件封装成CommonsMultipartFile 对象
- */
- @ResponseBody
- @RequestMapping("/fileUpload")
- public ResponseJson fileUpload(HttpServletRequest request, @RequestParam("file") CommonsMultipartFile file) throws IOException {
- ResponseJson responseJson = new ResponseJson();
- System.out.println("fileName:"+file.getOriginalFilename());
- String realPath = request.getSession().getServletContext().getRealPath("/");
- if(file.getOriginalFilename() == null || "".equals(file.getOriginalFilename())){
- responseJson.setReturnCode(500);
- return responseJson;
- }
- String oldName = file.getOriginalFilename();
- //名称
- String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().toString().lastIndexOf("."));
- String name = System.currentTimeMillis()+suffix;
- String path = UploadFileUtils.scmUploadFile(realPath,name,file);
- String url = request.getScheme()+"://"+ request.getServerName();
- responseJson.setReturnCode(200);
- responseJson.addResponseKeyValue("allImgUrl",url + "/" + path);
- responseJson.addResponseKeyValue("imgUrl",path);
- responseJson.addResponseKeyValue("oldName",oldName);
- responseJson.addResponseKeyValue("name",name);
- return responseJson;
- }
- /**
- * 订单发货页面
- * @param request
- * @return
- */
- @RequiresPermissions("scmOrder:order:send")
- @RequestMapping("/order_ship")
- public ModelAndView orderShip(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("scm/scm_send_order");
- return mv;
- }
- /**
- * 订单发货
- * @param request
- * @param scmOrderInfo
- * @return
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping("/send_order")
- @RequiresPermissions(value = {"scmOrder:order:send"}, logical = Logical.OR)
- public ResponseJson sendOrder(HttpServletRequest request,ScmOrderInfo scmOrderInfo) throws Exception {
- if(scmOrderInfo.getOrderId() == null && (scmOrderInfo.getOrderMadeId() == null||"".equals(scmOrderInfo.getOrderMadeId())) &&
- (scmOrderInfo.getOrderNo() == null || "".equals(scmOrderInfo.getOrderNo()))){
- return new ResponseJson(500, "查询失败", 500);
- }
- ResponseJson rj = new ResponseJson(200, "查询成功", 200);
- List<ScmOrderInfo> scmOrderInfoList = scmOrderInfoService.getScmOrderInfoList(scmOrderInfo);
- rj.addResponseKeyValue("scmOrderInfoList",scmOrderInfoList);
- return rj;
- }
- /**
- * 打单发货
- * @param orderMadeId
- * @param request
- * @return
- */
- @ResponseBody
- @RequestMapping("/scm_print_order")
- @RequiresPermissions("scmOrder:order:send")
- public ResponseJson printOrder(@RequestParam("orderMadeId") String orderMadeId,
- HttpServletRequest request) {
- ScmOrderInfo scmOrderInfo = scmOrderInfoService.getScmOrderInfoByMadeId(orderMadeId);
- if(scmOrderInfo == null){
- LOGGER.error("{} 获取电子面单失败,原因:{}", orderMadeId, "未查询到该订单");
- return ResponseJson.getFAILURE().addResponseKeyValue("error","未查询到该订单");
- }
- if(scmOrderInfo.getOrderShippingStatus() != 0){
- LOGGER.error("{} 获取电子面单失败,原因:{}", orderMadeId, "该订单已发货");
- return ResponseJson.getFAILURE().addResponseKeyValue("error","该订单已发货");
- }
- ScmOrderItem scmOrderItem = new ScmOrderItem();
- scmOrderItem.setOrderId(scmOrderInfo.getOrderId());
- List<ScmOrderItem> scmOrderItemList = scmOrderItemService.getScmOrderItemList(scmOrderItem);
- scmOrderInfo.setScmOrderItemList(scmOrderItemList);
- StoreShip storeShip = null;
- if(scmOrderInfo.getOrderStoreId() != null){
- storeShip = storeShipService.getStoreShipByStoreId(scmOrderInfo.getOrderStoreId());
- }
- if(storeShip == null){
- LOGGER.error("{} 获取电子面单失败,原因:{}", orderMadeId, "该订单没有绑定店铺或店铺没有发货人信息");
- return ResponseJson.getFAILURE().addResponseKeyValue("error","该订单没有绑定店铺或店铺没有发货人信息");
- }
- String post = scmOrderInfo.getOrderPostFirm();
- Integer orderId = scmOrderInfo.getOrderId();
- /*
- * 组装数据
- */
- EOrderRequestData eOrderRequestData = new EOrderRequestData();
- eOrderRequestData.ShipperCode = (post);
- eOrderRequestData.OrderCode = (UUID.randomUUID().toString().replace("-", ""));
- eOrderRequestData.PayType = (3);
- eOrderRequestData.ExpType = ("1");
- eOrderRequestData.Cost = (0.00);
- eOrderRequestData.OtherCost = (0.0);
- eOrderRequestData.Remark = scmOrderInfo.getOrderMadeId() + "-" + scmOrderInfo.getOrderNo();
- // 不同的快递公司需要做不同的处理
- if (post.equalsIgnoreCase("EMS")) {
- // 省内EMS
- eOrderRequestData.CustomerName = ("90000009971400");
- eOrderRequestData.CustomerPwd = ("90000009971400");
- } else if (post.equalsIgnoreCase("SF")) {
- // 顺丰
- eOrderRequestData.MonthCode = ("7690035114");
- } else if (post.equalsIgnoreCase("YZBK")) {
- // 省外EMS
- eOrderRequestData.CustomerName = ("90000009971400");
- eOrderRequestData.CustomerPwd = ("90000009971400");
- eOrderRequestData.ExpType = "9";
- eOrderRequestData.ShipperCode = "EMS";
- } else if (post.equalsIgnoreCase("STO")) {
- // 申通快递
- eOrderRequestData.CustomerName = ("爱贝源");
- /*eOrderRequestData.CustomerPwd = ("Iamberry321.");*/
- eOrderRequestData.CustomerPwd = ("Sto20200211");
- eOrderRequestData.SendSite = ("广东东莞公司");
- } else if (post.equalsIgnoreCase("DBL")) {
- //德邦 (360特惠件)
- eOrderRequestData.CustomerName = ("651476854");
- eOrderRequestData.ExpType = ("2");
- }
- LOGGER.info( "===orderNO:" + scmOrderInfo.getOrderNo() + "快递方式:" + post+ "订单编号:"+ scmOrderInfo.getOrderId());
- // 收件人信息
- String[] addrs = scmOrderInfo.getOrderAddressInfo().split(" ");
- if (addrs.length <= 3) {
- addrs = scmOrderInfo.getOrderAddressInfo().split("-");
- }
- // 获取收件人邮编
- String postCode = AddrUtil.getPostCode(addrs[2]);
- if (postCode == null || "".equals(postCode)) {
- postCode = AddrUtil.getPostCode(addrs[1]);
- }
- if (postCode == null || "".equals(postCode)) {
- postCode = AddrUtil.getPostCode(addrs[0]);
- }
- Map<String, Object> receiver = new HashMap<String, Object>();
- receiver.put("Name", scmOrderInfo.getOrderAddressName());
- receiver.put("Tel", scmOrderInfo.getOrderAddressTel());
- receiver.put("ProvinceName", AddrUtil.dealProvince(addrs[0]));
- receiver.put("CityName", addrs[1]);
- receiver.put("ExpAreaName", addrs[2]);
- receiver.put("Address", scmOrderInfo.getOrderAddressInfo());
- receiver.put("PostCode", postCode);
- eOrderRequestData.Receiver = (receiver);
- // 发件人信息
- Map<String, Object> sender = new HashMap<String, Object>();
- sender.put("Name", storeShip.getStoreShipName());
- sender.put("Tel", storeShip.getStoreShipTel());
- sender.put("ProvinceName", storeShip.getStoreShipProvince());
- sender.put("CityName", storeShip.getStoreShipCity());
- sender.put("ExpAreaName", "清溪镇");
- sender.put("Address", storeShip.getStoreShipAddress());
- sender.put("PostCode", "523660");
- eOrderRequestData.Sender = (sender);
- // 产品信息
- List<Map<String, Object>> commodity = new ArrayList<>();
- // 整个产品的重量
- Double colorIsWeight = 0.00;
- StringBuilder goodName = new StringBuilder();
- int Goodsquantity = 0;
- for (ScmOrderItem temp : scmOrderItemList) {
- goodName.append(temp.getProductAbbreviation())
- .append("(").append(temp.getColorAbbreviation()).append(")*").append(temp.getOrderItemNum()).append(";");
- if(temp.getColorIsWeight() != null){
- colorIsWeight += temp.getColorIsWeight();
- }
- Goodsquantity += temp.getOrderItemNum();
- }
- // 20181113增加需求:产品名称后面增加打印订单日期
- goodName.append("【D").append(DateTimeUtil.format(new Date(), "MMdd")).append("】");
- String uuid = UUIDGenerator.getUUID().substring(0, 8);
- // 增加产品信息
- Map<String, Object> product1 = new HashMap<String, Object>();
- product1.put("GoodsName", uuid);
- product1.put("Goodsquantity", Goodsquantity);
- // 计算产品重量deliver_statistics
- product1.put("GoodsWeight", colorIsWeight/1000);
- commodity.add(product1);
- eOrderRequestData.Commodity = (commodity);
- eOrderRequestData.Weight = (colorIsWeight/1000);
- eOrderRequestData.Quantity = (1);
- eOrderRequestData.IsReturnPrintTemplate = (1);
- try {
- String json = OrderUtils.orderOnlineByJson(eOrderRequestData);
- JSONObject jsonObject = JSONObject.parseObject(json);
- boolean flag = jsonObject.getBoolean("Success");
- if (flag) {
- // 替换产品名称
- json = json.replace(uuid, goodName.toString());
- // 获取电子面单成功
- String code = jsonObject.getJSONObject("Order").getString("LogisticCode");
- // 订单发货
- ScmOrderInfo soi = new ScmOrderInfo();
- soi.setOrderPostFirm(eOrderRequestData.ShipperCode);
- soi.setOrderPostNum(code);
- soi.setOrderShippingStatus(1);
- soi.setOrderSendTime(new Date());
- soi.setOrderId(orderId);
- Integer fl = scmOrderInfoService.updateStatus(soi);
- // 保存HTML
- String filePath = request.getServletContext().getRealPath("/common/scmOrder/");
- File dir = new File(filePath + File.separator + "send_order");
- if (!dir.exists()) {
- dir.mkdir();
- }
- File file = new File(dir.getAbsolutePath() + File.separator + orderMadeId + ".txt");
- if (!file.createNewFile()) {
- return ResponseJson.getFAILURE().addResponseKeyValue("error", "创建文件失败");
- }
- FileWriter fileWriter = null;
- try {
- fileWriter = new FileWriter(file, false);
- fileWriter.write(json);
- } catch (Exception e) {
- LOGGER.error("", e);
- } finally {
- if (fileWriter != null) {
- fileWriter.close();
- }
- }
- } else {
- // 获取电子面单失败
- LOGGER.error("{} 获取电子面单失败,原因:{}", orderId, jsonObject.get("Reason"));
- }
- return ResponseJson.getSUCCESS().addResponseKeyValue("json", json);
- } catch (Exception e) {
- LOGGER.error("", e);
- return ResponseJson.getFAILURE().addResponseKeyValue("error", e.getMessage());
- }
- }
- }
|