对比新文件 |
| | |
| | | package com.gk.firework.Controller; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.gk.firework.Controller.Base.BaseController; |
| | | import com.gk.firework.Domain.*; |
| | | import com.gk.firework.Domain.BO.DirectionProductBO; |
| | | import com.gk.firework.Domain.BO.SaleOrderDetailInfoBO; |
| | | import com.gk.firework.Domain.DO.ProductDO; |
| | | import com.gk.firework.Domain.Exception.BusinessException; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.gk.firework.Domain.Log.JsonParams; |
| | | import com.gk.firework.Domain.SaleOrderDetailInfo; |
| | | import com.gk.firework.Domain.Utils.*; |
| | | import com.gk.firework.Domain.Vo.*; |
| | | import com.gk.firework.Service.*; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.io.File; |
| | | import java.io.FileInputStream; |
| | | import java.io.InputStream; |
| | | import java.math.BigDecimal; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.text.DateFormat; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.gk.firework.Domain.Enum.ErrorCode.*; |
| | | |
| | | |
| | | /** |
| | | * @author : jingjy |
| | | * @date : 2021/3/31 8:53 |
| | | */ |
| | | @Api(tags = "订单信息") |
| | | @RequestMapping("/order") |
| | | @RestController |
| | | public class SaleOrderController extends BaseController { |
| | | @Value("${productPath}") |
| | | private String productPath; //配置文件配置的物理保存地址 |
| | | @Autowired |
| | | private CustomerService customerService; |
| | | @Autowired |
| | | private UserService userService; |
| | | @Autowired |
| | | private SaleOrderService saleOrderService; |
| | | @Autowired |
| | | private SaleOrderDetailService saleOrderDetailService; |
| | | @Autowired |
| | | private ProductService productService; |
| | | @Autowired |
| | | private ProductPriceService productPriceService; |
| | | @Autowired |
| | | private StockService stockService; |
| | | @Autowired |
| | | private EntryService entryService; |
| | | @Autowired |
| | | private EntryDetailService entryDetailService; |
| | | @Autowired |
| | | private SoldNoStockService soldNoStockService; |
| | | @Autowired |
| | | private ExcelExportService excelExportService; |
| | | |
| | | @PostMapping("/create") |
| | | @JsonParams |
| | | public Msg createOrder(@RequestParam String encryptStr) { |
| | | |
| | | String jsonStr = new String(Base64.getDecoder().decode(encryptStr.replaceAll(" +","+")), |
| | | StandardCharsets.UTF_8); |
| | | |
| | | JSONObject jsonObject = JSON.parseObject(jsonStr); |
| | | |
| | | Msg msg = new Msg(true); |
| | | JSONObject customer = jsonObject.getJSONObject("customer"); |
| | | JSONObject order = jsonObject.getJSONObject("order"); |
| | | JSONArray detailObject = jsonObject.getJSONArray("detailInfos"); |
| | | String userId = jsonObject.getString("operator"); |
| | | Integer num = order.getInteger("boxNum"); |
| | | String total = order.getString("total"); |
| | | String pay = order.getString("pay"); |
| | | String change = order.getString("change"); |
| | | String type = jsonObject.getString("type"); |
| | | Date salesTime = new Date(); |
| | | if (customer == null || detailObject == null || detailObject.isEmpty()) { |
| | | msg.setCode(ERROR_10001.getCode()); |
| | | msg.setMessage(ERROR_10001.getMsg()); |
| | | return msg; |
| | | } |
| | | |
| | | if (userId == null) { |
| | | msg.setCode(ERROR_10004.getCode()); |
| | | msg.setMessage(ERROR_10004.getMsg()+":用户信息错误"); |
| | | return msg; |
| | | } |
| | | UserInfo userInfo = userService.getById(userId); |
| | | if (userInfo == null) { |
| | | msg.setCode(ERROR_10004.getCode()); |
| | | msg.setMessage(ERROR_10004.getMsg()+":用户信息错误"); |
| | | return msg; |
| | | } |
| | | |
| | | |
| | | |
| | | // 优化1 单独校验数据 |
| | | // List<String> directionCodes = new ArrayList<>(detailObject.size()); |
| | | Set<String> direction10Codes = new HashSet<>(); |
| | | for (int i = 0; i < detailObject.size(); i++) { |
| | | JSONObject object = detailObject.getJSONObject(i); |
| | | String directionCodeStr = object.getString("directionCode"); |
| | | if (FireworkDeal.isNotDirectionCode(directionCodeStr)) { |
| | | msg.setCode(ERROR_10004.getCode()); |
| | | msg.setMessage(ERROR_10004.getMsg()+":流向码:" + directionCodeStr + "错误"); |
| | | return msg; |
| | | } |
| | | // directionCodes.add(directionCodeStr); |
| | | // 10位码 |
| | | direction10Codes.add(directionCodeStr.substring(0, 10)); |
| | | } |
| | | List<String> direction10CodesList = new ArrayList<>(direction10Codes); |
| | | // 获取所有流向码的 |
| | | List<ProductDO> productDos = productService.selectDoByDirections(direction10CodesList); |
| | | // 10位 -> 产品 映射 |
| | | Map<String, ProductDO> productDOMap = new HashMap<>(productDos.size()); |
| | | for (ProductDO p : productDos) { |
| | | productDOMap.put(p.getDirectionCode(), p); |
| | | } |
| | | // 校验哪个产品不存在 |
| | | for (String directionCode : direction10CodesList) { |
| | | if (!productDOMap.containsKey(directionCode)) { |
| | | msg.setCode(ERROR_10004.getCode()); |
| | | msg.setMessage(ERROR_10004.getMsg()+":流向码:" + directionCode + "不存在"); |
| | | return msg; |
| | | } |
| | | } |
| | | // 产品对应价格 |
| | | List<ProductPriceInfo> productPriceInfos = productPriceService.selectByCodes(userInfo.getCompanynumber(), direction10CodesList); |
| | | // 10位 -> 产品价格 映射 |
| | | Map<String, BigDecimal> productPriceMap = new HashMap<>(productPriceInfos.size()); |
| | | for (ProductPriceInfo productPriceInfo : productPriceInfos) { |
| | | BigDecimal price = BigDecimal.ZERO; |
| | | if (productPriceInfo.getPrice() != null) { |
| | | price = productPriceInfo.getPrice(); |
| | | } |
| | | productPriceMap.put(productPriceInfo.getItemcode(), price); |
| | | } |
| | | |
| | | // for (String directionCode : direction10CodesList) { |
| | | // if (!productPriceMap.containsKey(directionCode)) { |
| | | // msg.setCode(ERROR_10004.getCode()); |
| | | // msg.setMessage(ERROR_10004.getMsg()+":流向码:" + directionCode + "价格不存在"); |
| | | // return msg; |
| | | // } |
| | | // } |
| | | |
| | | |
| | | // List<DirectionProductBO> directionProductBOS = new ArrayList<>(detailObject.size()); |
| | | // DirectionProductBO directionProductBO; |
| | | // for (int i = 0; i < detailObject.size(); i++) { |
| | | // directionProductBO = new DirectionProductBO(); |
| | | // JSONObject object = detailObject.getJSONObject(i); |
| | | // String directionCodeStr = object.getString("directionCode"); |
| | | // directionProductBO.setDirectionCode(directionCodeStr); |
| | | // directionProductBO.setItemCode(directionCodeStr.substring(0,10)); |
| | | // directionProductBO.setSlice(productDOMap.get(directionProductBO.getItemCode()).getSlice()); |
| | | // directionProductBOS.add(directionProductBO); |
| | | // } |
| | | |
| | | // List<StockInfo> stockInfos = stockService.selectStockByDirectionsAndSlices(directionProductBOS); |
| | | |
| | | |
| | | // Map<String, StockInfo> stockInfoMap = new HashMap<>(); |
| | | List<SaleOrderDetailInfoBO> detailInfoList = new ArrayList<>(); |
| | | for (int i = 0; i < detailObject.size(); i++) { |
| | | // 遍历 jsonArray 数组,把每一个对象转成 json 对象 |
| | | JSONObject object = detailObject.getJSONObject(i); |
| | | String directionCodeStr = object.getString("directionCode"); |
| | | ProductDO productDO = productDOMap.get(directionCodeStr.substring(0, 10)); |
| | | |
| | | if (productDO == null || productDO.getSlice() == null) { |
| | | msg.setCode(ERROR_10004.getCode()); |
| | | msg.setMessage(ERROR_10004.getMsg()+":流向码:" + directionCodeStr + "错误"); |
| | | return msg; |
| | | } |
| | | String slice = productDO.getSlice(); |
| | | ProductInfo productInfo = BeanUtils.copy(productDO, ProductInfo.class); |
| | | // 需要分表查询暂不优化 |
| | | StockInfo stockInfo = stockService.selectStockByDirectionAndSlice(directionCodeStr, slice); |
| | | // StockInfo stockInfo = stockService.selectStockByDirection(directionCodeStr); |
| | | if (stockInfo == null) { |
| | | msg.setCode(ERROR_50001.getCode()); |
| | | msg.setMessage(ERROR_50001.getMsg()+":流向码为:" + directionCodeStr + " 未入库,销售失败"); |
| | | return msg; |
| | | } |
| | | |
| | | if (stockInfo.getStatus() != null && stockInfo.getStatus().equals(StockInfo.STOCK_SOLD)) { |
| | | msg.setCode(ERROR_50002.getCode()); |
| | | msg.setMessage(ERROR_50002.getMsg()+":流向码为:" + directionCodeStr + " 已售出,销售失败"); |
| | | return msg; |
| | | } |
| | | |
| | | if (FireworkDeal.is22Characters(directionCodeStr)){ |
| | | List<ProductVo>productVoList = new ArrayList<>(); |
| | | DirectionDetail directionDetail = FireworkDeal.dealDirectionCode(directionCodeStr); |
| | | ProductVo productVo = BeanUtils.copy(productInfo, ProductVo.class); |
| | | productVo.setDirectionCode(directionCodeStr); |
| | | productVo.setItemCode(directionDetail.getItemCode()); |
| | | productVo.setDateCode(directionDetail.getDateCode()); |
| | | productVo.setSerialNo(directionDetail.getSerialNo()); |
| | | FireworkDeal.getProductVos(directionCodeStr,directionDetail,directionDetail,productVoList,productVo); |
| | | for (ProductVo productVo1 : productVoList){ |
| | | SaleOrderDetailInfoBO detailInfo = new SaleOrderDetailInfoBO(); |
| | | detailInfo.setItemcode(productInfo.getDirectionCode()); |
| | | detailInfo.setDirectioncode(productVo1.getDirectionCode()); |
| | | detailInfo.setItemname(productVo1.getName()); |
| | | detailInfo.setPrice(productPriceMap.get(detailInfo.getDirectioncode())); |
| | | if (detailInfo.getPrice() == null) { |
| | | detailInfo.setPrice(BigDecimal.ZERO); |
| | | } |
| | | detailInfo.setSpecification(productVo1.getSpecification()); |
| | | detailInfo.setProductDO(productDOMap.get(detailInfo.getItemcode())); |
| | | detailInfoList.add(detailInfo); |
| | | } |
| | | num = productVoList.size(); |
| | | }else { |
| | | SaleOrderDetailInfoBO detailInfo = new SaleOrderDetailInfoBO(); |
| | | detailInfo.setItemcode(productInfo.getDirectionCode()); |
| | | detailInfo.setDirectioncode(directionCodeStr); |
| | | detailInfo.setItemname(productInfo.getName()); |
| | | detailInfo.setPrice(productPriceMap.get(detailInfo.getDirectioncode())); |
| | | if (detailInfo.getPrice() == null) { |
| | | detailInfo.setPrice(BigDecimal.ZERO); |
| | | } |
| | | detailInfo.setProductDO(productDOMap.get(detailInfo.getItemcode())); |
| | | detailInfo.setSpecification(productInfo.getSpecification()); |
| | | detailInfoList.add(detailInfo); |
| | | num = 1; |
| | | } |
| | | } |
| | | String idCardNum = customer.getString("idCardNumber"); |
| | | String workerName = customer.getString("workerName"); |
| | | if (StringUtils.isBlank(idCardNum) || StringUtils.isBlank(workerName)) { |
| | | msg.setCode(ERROR_50001.getCode()); |
| | | msg.setMessage(ERROR_50001.getMsg()+":身份信息有误"); |
| | | return msg; |
| | | } |
| | | |
| | | String auth = getAuth(); |
| | | auth = StringUtils.isBlank(auth) ? "NOAUTH" : auth; |
| | | |
| | | msg = saleOrderService.doSalesProcess(customer, num, idCardNum, userInfo, detailInfoList, type, salesTime, pay, total, change, auth); |
| | | |
| | | return msg; |
| | | } |
| | | |
| | | @GetMapping(value = {"/get/idCardNum/{idCardNum}/pageIndex/{pageIndex}/pageSize/{pageSize}/directionCode/{directionCode}", |
| | | "/get/idCardNum/{idCardNum}/pageIndex/{pageIndex}/pageSize/{pageSize}"}) |
| | | public Msg getOrderListByIdCardNum(@PathVariable String idCardNum, |
| | | @PathVariable Integer pageIndex, |
| | | @PathVariable Integer pageSize, |
| | | String sort, String order, |
| | | @PathVariable(required = false) String directionCode) { |
| | | Msg msg = new Msg(true); |
| | | if (StringUtils.isBlank(idCardNum)) { |
| | | msg.setCode(ERROR_10001.getCode()); |
| | | msg.setMessage(ERROR_10001.getMsg()+":身份证号为空,查询失败!"); |
| | | return msg; |
| | | } |
| | | if (pageIndex == null){ |
| | | pageIndex = 0; |
| | | } |
| | | if (pageSize == null || pageSize == 0){ |
| | | pageSize = 10; |
| | | } |
| | | |
| | | PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order); |
| | | Map<String, Object> condition = new HashMap<>(4); |
| | | condition.put("idCardNum",idCardNum); |
| | | if (StringUtils.isNotBlank(directionCode)) { |
| | | condition.put("directionCode", directionCode); |
| | | } |
| | | pageInfo.setCondition(condition); |
| | | saleOrderService.selectReturnDataGrid(pageInfo); |
| | | |
| | | msg.setResult(pageInfo); |
| | | return msg; |
| | | } |
| | | |
| | | @PostMapping("/saleDetailList") |
| | | public Msg getSaleOneDetail(@RequestBody JSONObject jsonObject) { |
| | | String directionCode = jsonObject.getString("directionCode"); |
| | | String userId = jsonObject.getString("userId"); |
| | | |
| | | if (StringUtils.isBlank(userId)) { |
| | | throw new BusinessException("操作员信息为空"); |
| | | } |
| | | List<SaleDetailVo> details = saleOrderDetailService.getDetailList(directionCode); |
| | | return success(details); |
| | | } |
| | | |
| | | @PostMapping("/return2storage") |
| | | @JsonParams |
| | | public Msg returnProduct2(@RequestBody JSONObject jsonObject) { |
| | | String userId = jsonObject.getString("userId"); |
| | | String directionCode = jsonObject.getString("directionCode"); |
| | | String auth = getAuth(); |
| | | auth = StringUtils.isBlank(auth) ? "NOAUTH" : auth; |
| | | saleOrderDetailService.returnAndStorage(directionCode,userId,auth); |
| | | return success(); |
| | | } |
| | | |
| | | @PostMapping("/return") |
| | | @JsonParams |
| | | public Msg returnProduct(@RequestBody JSONObject object) { |
| | | Msg msg = new Msg(true); |
| | | JSONArray directionCodes = object.getJSONArray("directionCodes"); |
| | | StringBuilder message = new StringBuilder(); |
| | | for (Object dire : directionCodes){ |
| | | if (dire == null){ |
| | | message.append("流向码:").append("为空退货失败!"); |
| | | continue; |
| | | } |
| | | String directionCode = dire.toString(); |
| | | if (StringUtils.isBlank(directionCode) || FireworkDeal.isNotDirectionCode(directionCode)) { |
| | | message.append("流向码:").append(directionCode).append("不符合规则,退货失败!"); |
| | | continue; |
| | | } |
| | | |
| | | UserInfo userInfo = userService.getById(getUser().getId()); |
| | | String auth = getAuth(); |
| | | auth = StringUtils.isBlank(auth) ? "NOAUTH" : auth; |
| | | StockInfo stockInfo = stockService.selectStockByDirection(directionCode); |
| | | if (stockInfo == null) { |
| | | message.append("流向码:+").append(directionCode).append("库存状态异常,退货失败!"); |
| | | continue; |
| | | } |
| | | ProductInfo productInfo = productService.selectByDirection(directionCode.substring(0, 10)); |
| | | |
| | | // 创建入库单,type为2,创建入库明细,修改stock |
| | | EntryOrderInfo entryOrderInfo = entryService.generateEntryOrderInfo(EntryUtils.TH_ENTRY, userInfo, new Date(), "", auth); |
| | | EntryDetailInfo entryDetailInfo = new EntryDetailInfo(entryOrderInfo.getCode(), directionCode, productInfo.getDirectionCode(), |
| | | productInfo.getName(), productInfo.getManufacturer(), new Date(),userInfo.getCompanynumber()); |
| | | entryOrderInfo.setNum(1); |
| | | entryDetailInfo.setNum(1); |
| | | |
| | | SaleOrderDetailInfo detailInfo = saleOrderService.selectOrderByDirectionReturnflag(directionCode,(byte) 0, null); |
| | | if (detailInfo == null){ |
| | | msg = new Msg(ERROR_50001,"没有找到销售订单详情或该商品已退货"); |
| | | break; |
| | | } |
| | | CustomerInfo customerInfo = customerService.getCustomerBySaleOrder(detailInfo.getOrdercode()); |
| | | Byte flag = 1; |
| | | detailInfo.setReturnflag(flag); |
| | | saleOrderDetailService.updateById(detailInfo); |
| | | |
| | | int i = stockService.doReturn(stockInfo,userInfo,customerInfo, new Date()); |
| | | |
| | | if (i != 1){ |
| | | message.append("流向码:+").append(directionCode).append("库存更新失败!"); |
| | | }else { |
| | | entryService.save(entryOrderInfo); |
| | | entryDetailService.save(entryDetailInfo); |
| | | } |
| | | } |
| | | |
| | | if (StringUtils.isNotBlank(message)){ |
| | | msg.setCode(ERROR_999.getCode()); |
| | | msg.setMessage(message.toString()); |
| | | } |
| | | return msg; |
| | | } |
| | | |
| | | @PostMapping("/returnBatch") |
| | | @JsonParams |
| | | public List<Msg> returnBatch(@RequestBody JSONArray jsonArray){ |
| | | if (jsonArray.size() < 1){ |
| | | return null; |
| | | } |
| | | List<Msg>msgList = new ArrayList<>(); |
| | | for (int i =0 ; i<jsonArray.size(); i++){ |
| | | Msg msg = new Msg(true); |
| | | JSONObject object = jsonArray.getJSONObject(i); |
| | | String userId = object.getString("userId"); |
| | | String datetime = object.getString("datetime"); |
| | | String directionCode = object.getString("directionCode"); |
| | | Date date; |
| | | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | try { |
| | | date = dateFormat.parse(datetime); |
| | | } catch (ParseException e) { |
| | | msg = new Msg(ERROR_10003, "日期类型错误!"); |
| | | msgList.add(msg); |
| | | continue; |
| | | } |
| | | UserInfo userInfo = userService.getById(userId); |
| | | String auth = getAuth(); |
| | | auth = StringUtils.isBlank(auth) ? "NOAUTH" : auth; |
| | | EntryOrderInfo entryOrderInfo = entryService.generateEntryOrderInfo(EntryUtils.TH_ENTRY, userInfo, new Date(), "", auth); |
| | | List<ProductVo>productVos = new ArrayList<>(); |
| | | if (StringUtils.isBlank(directionCode) || FireworkDeal.isNotDirectionCode(directionCode)) { |
| | | msg = new Msg(ERROR_10004,"流向码无效"); |
| | | msgList.add(msg); |
| | | continue; |
| | | } |
| | | ProductVo productVo = productService.selectVoByDirection(directionCode); |
| | | if (FireworkDeal.is22Characters(directionCode)) { |
| | | DirectionDetail directionDetail = FireworkDeal.dealDirectionCode(directionCode); |
| | | FireworkDeal.getProductVos(directionCode,directionDetail,directionDetail,productVos,productVo); |
| | | }else { |
| | | productVos.add(productVo); |
| | | } |
| | | |
| | | // 创建入库单,type为2,创建入库明细,修改stock |
| | | EntryDetailInfo entryDetailInfo = new EntryDetailInfo(entryOrderInfo.getCode(), directionCode, productVo.getDirectionCode(), |
| | | productVo.getName(), productVo.getManufacturer(), new Date(),userInfo.getCompanynumber()); |
| | | entryOrderInfo.setNum(1); |
| | | entryDetailInfo.setNum(1); |
| | | |
| | | //先行校验是否存在不能退货的商品 |
| | | boolean doReturnFlag = true; |
| | | for (ProductVo productVo1 : productVos){ |
| | | StockInfo stockInfo = stockService.selectStockByDirection(productVo1.getDirectionCode()); |
| | | SaleOrderDetailInfo detailInfo = saleOrderService.selectOrderByDirectionReturnflag(productVo1.getDirectionCode(),(byte) 0,datetime); |
| | | if (detailInfo == null || stockInfo == null){ |
| | | doReturnFlag = false; |
| | | msg = new Msg(ERROR_50001,"没有找到销售订单详情或该商品已退货"); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | //如果不存在,进行退货操作 |
| | | if (doReturnFlag){ |
| | | for (ProductVo productVo1 : productVos){ |
| | | StockInfo stockInfo = stockService.selectStockByDirection(productVo1.getDirectionCode()); |
| | | SaleOrderDetailInfo detailInfo = saleOrderService.selectOrderByDirectionReturnflag(productVo1.getDirectionCode(),(byte) 0,datetime); |
| | | CustomerInfo customerInfo = customerService.getCustomerBySaleOrder(detailInfo.getOrdercode()); |
| | | Byte flag = 1; |
| | | detailInfo.setReturnflag(flag); |
| | | saleOrderDetailService.updateById(detailInfo); |
| | | |
| | | int j = stockService.doReturn(stockInfo,userInfo,customerInfo, date); |
| | | if (j == 0){ |
| | | msg = new Msg(ERROR_40001,"退货失败"); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | entryService.save(entryOrderInfo); |
| | | entryDetailService.save(entryDetailInfo); |
| | | } |
| | | |
| | | msgList.add(msg); |
| | | } |
| | | return msgList; |
| | | } |
| | | |
| | | @PostMapping("/saleRecord1") |
| | | @ApiOperation(value = "实名购买查询(按流向码查询)", httpMethod = "POST") |
| | | @ApiImplicitParams({}) |
| | | Object saleInquiry1(@RequestBody FilterObject jsonFilter) { |
| | | Integer pageIndex = jsonFilter.getPageIndex(); |
| | | Integer pageSize = jsonFilter.getPageSize(); |
| | | IPage page = saleOrderService.selectSaleRecord1(new Page<>(pageIndex, pageSize), jsonFilter.getFilter(),getUser()); |
| | | return success(page); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/saleRecord2") |
| | | @ApiOperation(value = "实名购买查询(按零售单位查询)", httpMethod = "POST") |
| | | @ApiImplicitParams({}) |
| | | Object saleInquiry2(@RequestBody FilterObject jsonFilter) { |
| | | Integer pageIndex = jsonFilter.getPageIndex(); |
| | | Integer pageSize = jsonFilter.getPageSize(); |
| | | IPage page = saleOrderService.selectSaleRecord2(new Page<>(pageIndex, pageSize), jsonFilter.getFilter(),getUser()); |
| | | return success(page); |
| | | } |
| | | |
| | | @PostMapping("/saleRecord3") |
| | | @ApiOperation(value = "销售汇总统计", httpMethod = "POST") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "pageIndex",value = "当前页码",required = true), |
| | | @ApiImplicitParam(name = "pageSize",value = "页大小",required = true), |
| | | @ApiImplicitParam(name = "filter.itemcode",value = "流向码",required = true), |
| | | @ApiImplicitParam(name = "filter.itemname",value = "产品名称",required = true), |
| | | @ApiImplicitParam(name = "filter.province",value = "省",required = true), |
| | | @ApiImplicitParam(name = "filter.city",value = "市",required = true), |
| | | @ApiImplicitParam(name = "filter.district",value = "区",required = true), |
| | | @ApiImplicitParam(name = "filter.street",value = "街道",required = true), |
| | | @ApiImplicitParam(name = "filter.committee",value = "委员会",required = true), |
| | | @ApiImplicitParam(name = "filter.starttime",value = "开始时间",required = true), |
| | | @ApiImplicitParam(name = "filter.endtime",value = "结束时间",required = true), |
| | | @ApiImplicitParam(name = "filter.safetysupervision",value = "监管分类",required = true), |
| | | @ApiImplicitParam(name = "filter.enterprisename",value = "企业名称",required = true), |
| | | @ApiImplicitParam(name = "filter.parententerprisename",value = "上级企业名称",required = true), |
| | | }) |
| | | Object saleInquiry3(@RequestBody FilterObject jsonFilter) { |
| | | Integer pageIndex = jsonFilter.getPageIndex(); |
| | | Integer pageSize = jsonFilter.getPageSize(); |
| | | PageInfoExtension<Map> page = saleOrderService.selectSaleRecord3(new Page<>(pageIndex, pageSize), jsonFilter.getFilter(),getUser()); |
| | | return success(page); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/export/saleRecord3") |
| | | @ApiOperation(value = "销售汇总统计导出", httpMethod = "POST") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "pageIndex",value = "当前页码",required = true), |
| | | @ApiImplicitParam(name = "pageSize",value = "页大小",required = true), |
| | | @ApiImplicitParam(name = "filter.itemcode",value = "流向码",required = true), |
| | | @ApiImplicitParam(name = "filter.itemname",value = "产品名称",required = true), |
| | | @ApiImplicitParam(name = "filter.province",value = "省",required = true), |
| | | @ApiImplicitParam(name = "filter.city",value = "市",required = true), |
| | | @ApiImplicitParam(name = "filter.district",value = "区",required = true), |
| | | @ApiImplicitParam(name = "filter.street",value = "街道",required = true), |
| | | @ApiImplicitParam(name = "filter.committee",value = "委员会",required = true), |
| | | @ApiImplicitParam(name = "filter.starttime",value = "开始时间",required = true), |
| | | @ApiImplicitParam(name = "filter.endtime",value = "结束时间",required = true), |
| | | @ApiImplicitParam(name = "filter.safetysupervision",value = "监管分类",required = true), |
| | | @ApiImplicitParam(name = "filter.enterprisename",value = "企业名称",required = true), |
| | | @ApiImplicitParam(name = "filter.parententerprisename",value = "上级企业名称",required = true), |
| | | }) |
| | | Object exportSaleInquiry3(@RequestBody FilterObject jsonFilter) { |
| | | List<Map> list = saleOrderService.selectExportSaleRecord3( jsonFilter.getFilter(),getUser()); |
| | | return success(list); |
| | | } |
| | | |
| | | @PostMapping("/saleRecord4") |
| | | @ApiOperation(value = "实名销售分析导出", httpMethod = "POST") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "pageIndex",value = "当前页码",required = true), |
| | | @ApiImplicitParam(name = "pageSize",value = "页大小",required = true), |
| | | @ApiImplicitParam(name = "filter.starttime",value = "开始时间",required = true), |
| | | @ApiImplicitParam(name = "filter.endtime",value = "结束时间",required = true), |
| | | @ApiImplicitParam(name = "filter.enterprisename",value = "上级企业名称",required = true), |
| | | @ApiImplicitParam(name = "filter.parententerprisename",value = "上级企业名称",required = true), |
| | | @ApiImplicitParam(name = "filter.identify",value = "购买人身份证",required = true), |
| | | @ApiImplicitParam(name = "filter.itemcode",value = "产品流向码",required = true), |
| | | }) |
| | | Object saleInquiry4(@RequestBody FilterObject jsonFilter) { |
| | | Integer pageIndex = jsonFilter.getPageIndex(); |
| | | Integer pageSize = jsonFilter.getPageSize(); |
| | | IPage page = saleOrderService.selectSaleRecord4(new Page<>(pageIndex, pageSize), jsonFilter.getFilter(),getUser()); |
| | | |
| | | Msg result = success(page); |
| | | |
| | | String jsonStr = JSON.toJSONString(result); |
| | | String base64Str = Base64.getEncoder().encodeToString(jsonStr.getBytes(StandardCharsets.UTF_8)); |
| | | |
| | | return base64Str; |
| | | } |
| | | |
| | | @PostMapping("/customer/upload/{idCard}") |
| | | @ApiOperation(value = "补全customer照片信息", httpMethod = "POST") |
| | | Msg customerUpload(@PathVariable String idCard, MultipartFile file) { |
| | | customerService.uploadPhoto(idCard, file); |
| | | return success(); |
| | | } |
| | | |
| | | @PostMapping("/export/saleRecord4") |
| | | @ApiOperation(value = "实名销售分析", httpMethod = "POST") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "filter.starttime",value = "开始时间",required = true), |
| | | @ApiImplicitParam(name = "filter.endtime",value = "结束时间",required = true), |
| | | @ApiImplicitParam(name = "filter.enterprisename",value = "上级企业名称",required = true), |
| | | @ApiImplicitParam(name = "filter.parententerprisename",value = "上级企业名称",required = true), |
| | | @ApiImplicitParam(name = "filter.identify",value = "购买人身份证",required = true), |
| | | @ApiImplicitParam(name = "filter.itemcode",value = "产品流向码",required = true), |
| | | }) |
| | | Object exportSaleInquiry4(@RequestBody FilterObject jsonFilter) { |
| | | List<Map> list = saleOrderService.selectExportSaleRecord4(jsonFilter.getFilter(), getUser()); |
| | | return success(list); |
| | | } |
| | | |
| | | /** |
| | | * @Description: 根据销售企业的单位编号和人员的身份证获取购买明细 |
| | | * @date 2021/4/14 12:38 |
| | | */ |
| | | @PostMapping("/getPurchaseDetailInUnit") |
| | | @ApiOperation(value = "实名购买查询(按购买人查询)", httpMethod = "POST") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "pageIndex",value = "当前页码",required = true), |
| | | @ApiImplicitParam(name = "pageSize",value = "页大小",required = true), |
| | | @ApiImplicitParam(name = "filter.starttime",value = "开始时间",required = true), |
| | | @ApiImplicitParam(name = "filter.endtime",value = "结束时间",required = true), |
| | | @ApiImplicitParam(name = "filter.identify",value = "省份证",required = true), |
| | | @ApiImplicitParam(name = "filter.enterprisenumber",value = "企业单位编号",required = true), |
| | | }) |
| | | Object getPurchaseDetailInUnit(@RequestBody FilterObject jsonFilter) { |
| | | Integer pageIndex = jsonFilter.getPageIndex(); |
| | | Integer pageSize = jsonFilter.getPageSize(); |
| | | IPage page = saleOrderService.getPurchaseDetailInUnit(new Page<>(pageIndex, pageSize), jsonFilter.getFilter(),getUser()); |
| | | return success(page); |
| | | } |
| | | |
| | | |
| | | |
| | | @GetMapping(value = {"/soldNoStock/directionCode/{directionCode}/pageIndex/{pageIndex}/pageSize/{pageSize}", |
| | | "/soldNoStock/pageIndex/{pageIndex}/pageSize/{pageSize}"}) |
| | | public Msg getSoldNoStockInfo(@PathVariable Integer pageIndex, |
| | | @PathVariable Integer pageSize, |
| | | String sort, String order, |
| | | @PathVariable(required = false) String directionCode) { |
| | | Msg msg = new Msg(true); |
| | | pageIndex = pageIndex == null? 10:pageIndex; |
| | | pageSize = pageSize == null? 10:pageSize; |
| | | |
| | | PageInfo pageInfo = new PageInfo(pageIndex, pageSize, sort, order); |
| | | Map<String, Object> condition = new HashMap<>(4); |
| | | if (StringUtils.isNotBlank(directionCode)) { |
| | | condition.put("directionCode", directionCode); |
| | | } |
| | | UserInfo userInfo = userService.getById(getUser().getId()); |
| | | if (userInfo.getCompanynumber() != null){ |
| | | condition.put("companyNumber",userInfo.getCompanynumber()); |
| | | } |
| | | pageInfo.setCondition(condition); |
| | | soldNoStockService.selectSoldNoStockDataGrid(pageInfo); |
| | | |
| | | msg.setResult(pageInfo); |
| | | return msg; |
| | | } |
| | | |
| | | @GetMapping(value = "/dailySaleReport") |
| | | public Msg dailySaleReport(@RequestParam (value = "startDate")String startDate, |
| | | @RequestParam (value = "endDate")String endDate, |
| | | @RequestParam (value = "pageIndex")Integer pageIndex, |
| | | @RequestParam (value = "pageSize")Integer pageSize, |
| | | String sort, String order) { |
| | | Msg msg = new Msg(true); |
| | | if (StringUtils.isBlank(startDate) || StringUtils.isBlank(endDate)) { |
| | | msg.setCode(ERROR_10001.getCode()); |
| | | msg.setMessage(ERROR_10001.getMsg()+":日期为空,查询失败!"); |
| | | return msg; |
| | | } |
| | | pageIndex = pageIndex == null ? 0 : pageIndex ; |
| | | pageSize = pageSize == null ? 10 : pageSize ; |
| | | |
| | | PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order); |
| | | Map<String, Object> condition = new HashMap<>(4); |
| | | UserInfo userInfo = userService.getById(getUser().getId()); |
| | | if (StringUtils.isNotBlank(userInfo.getCompanynumber())){ |
| | | condition.put("companynumber",userInfo.getCompanynumber()); |
| | | } |
| | | condition.put("startDate",startDate); |
| | | condition.put("endDate",endDate); |
| | | pageInfo.setCondition(condition); |
| | | PageInfoExtension pageInfoExtension = saleOrderService.selectDailySaleReport(pageInfo); |
| | | msg.setResult(pageInfoExtension); |
| | | return msg; |
| | | } |
| | | |
| | | @GetMapping(value = "/info") |
| | | public Msg getOrderInfo(@RequestParam (value = "startDate")String startDate, |
| | | @RequestParam (value = "endDate")String endDate, |
| | | @RequestParam (value = "code",required = false)String code, |
| | | @RequestParam (value = "pageIndex")Integer pageIndex, |
| | | @RequestParam (value = "pageSize")Integer pageSize, |
| | | String sort, String order) { |
| | | Msg msg = new Msg(true); |
| | | if (StringUtils.isBlank(startDate) || StringUtils.isBlank(endDate)) { |
| | | msg.setCode(ERROR_10001.getCode()); |
| | | msg.setMessage(ERROR_10001.getMsg()+":日期为空,查询失败!"); |
| | | return msg; |
| | | } |
| | | pageIndex = pageIndex == null ? 0 : pageIndex ; |
| | | pageSize = pageSize == null ? 10 : pageSize ; |
| | | |
| | | PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order); |
| | | Map<String, Object> condition = new HashMap<>(4); |
| | | UserInfo userInfo = userService.getById(getUser().getId()); |
| | | if (StringUtils.isNotBlank(userInfo.getCompanynumber())){ |
| | | condition.put("companynumber",userInfo.getCompanynumber()); |
| | | } |
| | | if (StringUtils.isNotBlank(code)){ |
| | | condition.put("code",code); |
| | | } |
| | | condition.put("startDate",startDate); |
| | | condition.put("endDate",endDate); |
| | | pageInfo.setCondition(condition); |
| | | saleOrderService.selectOrderDataGrid(pageInfo); |
| | | |
| | | msg.setResult(pageInfo); |
| | | return msg; |
| | | } |
| | | |
| | | @GetMapping("/detail") |
| | | public Msg getSaleDetailByCode(@RequestParam("code")String code){ |
| | | Msg msg = new Msg(true); |
| | | List<SaleOrderDetailInfo>detailInfos = saleOrderDetailService.selectByOrderCode(code); |
| | | msg.setResult(detailInfos); |
| | | return msg; |
| | | } |
| | | |
| | | @GetMapping("/serialNo") |
| | | public Msg getSerialNo(){ |
| | | Msg msg = new Msg(true); |
| | | UserInfo userInfo = userService.getById(getUser().getId()); |
| | | int countNum = saleOrderService.getDailySaleCount(userInfo); |
| | | msg.setResult(countNum); |
| | | return msg; |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "销售汇总统计", httpMethod = "POST") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "pageIndex",value = "当前页码",required = true), |
| | | @ApiImplicitParam(name = "pageSize",value = "页大小",required = true), |
| | | @ApiImplicitParam(name = "filter.province",value = "省",required = true), |
| | | @ApiImplicitParam(name = "filter.city",value = "市",required = true), |
| | | @ApiImplicitParam(name = "filter.district",value = "区",required = true), |
| | | @ApiImplicitParam(name = "filter.street",value = "街道",required = true), |
| | | @ApiImplicitParam(name = "filter.committee",value = "委员会",required = true), |
| | | @ApiImplicitParam(name = "filter.starttime",value = "开始时间",required = true), |
| | | @ApiImplicitParam(name = "filter.endtime",value = "结束时间",required = true), |
| | | @ApiImplicitParam(name = "filter.safetysupervision",value = "监管分类",required = true), |
| | | @ApiImplicitParam(name = "filter.enterprisename",value = "企业名称",required = true), |
| | | @ApiImplicitParam(name = "filter.parententerprisename",value = "上级企业名称",required = true), |
| | | }) |
| | | @PostMapping("/enterpriseESS") |
| | | public Msg enterpriseEnterSellStore(@RequestBody FilterObject jsonFilter){ |
| | | Integer pageIndex = jsonFilter.getPageIndex(); |
| | | Integer pageSize = jsonFilter.getPageSize(); |
| | | PageInfo pageInfo = new PageInfo(pageIndex, pageSize); |
| | | UserInfo userInfo = userService.getById(getUser().getId()); |
| | | saleOrderService.selectEnterpriseEnterSellStoreDataGrid(pageInfo,jsonFilter.getFilter(),userInfo); |
| | | return success(pageInfo); |
| | | } |
| | | |
| | | @PostMapping("/enterpriseESSExport") |
| | | public Msg enterpriseEnterSellStoreExport(@RequestBody FilterObject jsonFilter){ |
| | | UserInfo userInfo = userService.getById(getUser().getId()); |
| | | List<EnterpriseDataVo> enterpriseDataVos =saleOrderService.selectEnterpriseEnterSellStoreData(jsonFilter.getFilter(),userInfo); |
| | | return success(enterpriseDataVos); |
| | | } |
| | | |
| | | @PostMapping("/cityESS") |
| | | public Msg cityEnterSellStore(@RequestBody FilterObject jsonFilter){ |
| | | Integer pageIndex = jsonFilter.getPageIndex(); |
| | | Integer pageSize = jsonFilter.getPageSize(); |
| | | PageInfo pageInfo = new PageInfo(pageIndex, pageSize); |
| | | saleOrderService.selectCityEnterSellStoreDataGrid(pageInfo,jsonFilter.getFilter()); |
| | | return success(pageInfo); |
| | | } |
| | | |
| | | @PostMapping("/createBatch") |
| | | @JsonParams |
| | | public List<Msg> createOrderBatch(@RequestParam String encryptStr){ |
| | | String jsonStr = new String(Base64.getDecoder().decode(encryptStr), StandardCharsets.UTF_8); |
| | | JSONArray jsonArray = JSON.parseArray(jsonStr); |
| | | |
| | | if (jsonArray.size() < 1){ |
| | | return null; |
| | | } |
| | | List<Msg>msgList = new ArrayList<>(); |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | JSONObject jsonObject = jsonArray.getJSONObject(i); |
| | | // Msg msg = dealOrderCreated(jsonObject); |
| | | Msg msg = createOrder(Base64.getEncoder().encodeToString(jsonObject.toJSONString().getBytes(StandardCharsets.UTF_8))); |
| | | msgList.add(msg); |
| | | } |
| | | |
| | | return msgList; |
| | | } |
| | | |
| | | private Msg dealOrderCreated(JSONObject jsonObject) { |
| | | JSONObject customer = jsonObject.getJSONObject("customer"); |
| | | JSONObject order = jsonObject.getJSONObject("order"); |
| | | JSONArray detailObject = jsonObject.getJSONArray("detailInfos"); |
| | | String userId = jsonObject.getString("operator"); |
| | | Integer num = order.getInteger("boxNum"); |
| | | String total = order.getString("total"); |
| | | String pay = order.getString("pay"); |
| | | String change = order.getString("change"); |
| | | String type = jsonObject.getString("type"); |
| | | String time = jsonObject.getString("datetime"); |
| | | Date salesTime; |
| | | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | try { |
| | | salesTime = dateFormat.parse(time); |
| | | } catch (ParseException e) { |
| | | return new Msg(ERROR_10003,"出库日期类型错误"); |
| | | } |
| | | |
| | | if (customer == null || detailObject == null || detailObject.isEmpty()) { |
| | | return new Msg(ERROR_10001); |
| | | } |
| | | |
| | | boolean isUser = userService.checkUserById(userId); |
| | | if (!isUser) { |
| | | return new Msg(ERROR_20001); |
| | | } |
| | | UserInfo userInfo = userService.getById(userId); |
| | | |
| | | List<SaleOrderDetailInfo> detailInfoList = new ArrayList<>(); |
| | | for (int j = 0; j < detailObject.size(); j++) { |
| | | // 遍历 jsonArray 数组,把每一个对象转成 json 对象 |
| | | JSONObject object = detailObject.getJSONObject(j); |
| | | String directionCodeStr = object.getString("directionCode"); |
| | | if (FireworkDeal.isNotDirectionCode(directionCodeStr)) { |
| | | return new Msg(ERROR_10004,"流向码:"+directionCodeStr+"错误"); |
| | | } |
| | | |
| | | if (!productService.hasProductByDire(directionCodeStr.substring(0, 10))) { |
| | | return new Msg(ERROR_10004,"流向码:"+directionCodeStr+"错误"); |
| | | } |
| | | ProductInfo productInfo = productService.selectByDirection(directionCodeStr.substring(0, 10)); |
| | | if (FireworkDeal.is22Characters(directionCodeStr)){ |
| | | List<ProductVo>productVoList = new ArrayList<>(); |
| | | DirectionDetail directionDetail = FireworkDeal.dealDirectionCode(directionCodeStr); |
| | | ProductVo productVo = productService.selectVoByDirection(directionCodeStr); |
| | | FireworkDeal.getProductVos(directionCodeStr,directionDetail,directionDetail,productVoList,productVo); |
| | | for (ProductVo productVo1 : productVoList){ |
| | | SaleOrderDetailInfo detailInfo = new SaleOrderDetailInfo(productInfo.getDirectionCode(), productVo1.getDirectionCode()); |
| | | ProductPriceInfo productPriceInfo = productPriceService.selectByCode(userInfo.getCompanynumber(), productVo1.getName()); |
| | | BigDecimal price = productPriceInfo == null ? new BigDecimal("0") : productPriceInfo.getPrice() == null ? BigDecimal.valueOf(0) : productPriceInfo.getPrice(); |
| | | detailInfo.setPrice(price); |
| | | detailInfo.setItemname(productVo1.getName()); |
| | | detailInfo.setSpecification(productVo1.getSpecification()); |
| | | detailInfoList.add(detailInfo); |
| | | } |
| | | num = productVoList.size(); |
| | | }else { |
| | | SaleOrderDetailInfo detailInfo = new SaleOrderDetailInfo(productInfo.getDirectionCode(), directionCodeStr); |
| | | ProductPriceInfo productPriceInfo = productPriceService.selectByCode(userInfo.getCompanynumber(), productInfo.getName()); |
| | | BigDecimal price = productPriceInfo == null ? new BigDecimal("0") : productPriceInfo.getPrice() == null ? BigDecimal.valueOf(0) : productPriceInfo.getPrice(); |
| | | detailInfo.setPrice(price); |
| | | detailInfo.setItemname(productInfo.getName()); |
| | | detailInfo.setSpecification(productInfo.getSpecification()); |
| | | detailInfoList.add(detailInfo); |
| | | num = 1; |
| | | } |
| | | } |
| | | |
| | | String idCardNum = customer.getString("idCardNumber"); |
| | | String workerName = customer.getString("workerName"); |
| | | if (StringUtils.isBlank(idCardNum) || StringUtils.isBlank(workerName)) { |
| | | return new Msg(ERROR_50001,"身份信息有误"); |
| | | } |
| | | |
| | | String auth = getAuth(); |
| | | auth = StringUtils.isBlank(auth) ? "NOAUTH" : auth; |
| | | idCardNum = idCardNum.replaceAll("[\r\n]","").trim(); |
| | | |
| | | //校验数据是否已上传 |
| | | CustomerInfo customerExist = customerService.getCustomerByIdCardNum(idCardNum); |
| | | if (customerExist != null){ |
| | | SaleOrderInfo orderInfo = saleOrderService.isExist(customerExist.getId(),userInfo.getCompanynumber(),salesTime); |
| | | if (orderInfo != null){ |
| | | return new Msg(SUCCESS,"数据已上传"); |
| | | } |
| | | } |
| | | // return saleOrderService.doSalesProcess(customer, num, idCardNum, userInfo, detailInfoList, type, salesTime, pay, total, change, auth); |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @Description: 销售查询 |
| | | * @date 2021/11/10 9:32 |
| | | */ |
| | | @PostMapping("/salenum-query") |
| | | @ApiOperation(value = "销售查询") |
| | | Object getSaleNumInfo(@RequestBody FilterObject filter) { |
| | | Integer pageIndex = filter.getPageIndex(); |
| | | Integer pageSize = filter.getPageSize(); |
| | | IPage page = saleOrderDetailService.selectSaleNumInfo(new Page<>(pageIndex, pageSize), filter.getFilter(), getUser()); |
| | | return success(page); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/salenum-detail") |
| | | @ApiOperation(value = "销售详情") |
| | | Object getSaleNumInfoDetail(@RequestBody FilterObject filter) { |
| | | Integer pageIndex = filter.getPageIndex(); |
| | | Integer pageSize = filter.getPageSize(); |
| | | IPage page = saleOrderDetailService.selectSaleNumInfoDetail(new Page<>(pageIndex, pageSize), filter.getFilter(), getUser()); |
| | | return success(page); |
| | | } |
| | | |
| | | |
| | | @GetMapping("/idcard-check") |
| | | @ApiOperation(value = "身份证校验") |
| | | Msg idcardCheck(@RequestParam String idcard) { |
| | | boolean flag = IdCardUtil.strongVerifyIdNumber(idcard); |
| | | return success(flag); |
| | | } |
| | | |
| | | @PostMapping("/importSaleProduct") |
| | | @ApiOperation(value = "导入销售流向码",response = Msg.class) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "file",value = "文件",required = true), |
| | | }) |
| | | public Msg importSaleProduct(MultipartFile file){ |
| | | Msg msg = new Msg(); |
| | | msg.setCode("200"); |
| | | msg.setMessage("success"); |
| | | |
| | | String filesave =""; |
| | | try { |
| | | SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMddHHmmssSSS" ); |
| | | if (file == null) |
| | | { |
| | | msg.setCode("404"); |
| | | msg.setMessage("未找到上传文件"); |
| | | return msg; |
| | | } |
| | | |
| | | long size = file.getSize(); |
| | | if(0 == size) |
| | | { |
| | | msg.setCode("404"); |
| | | msg.setMessage("上传文件大小为空"); |
| | | return msg; |
| | | } |
| | | |
| | | if(!FileOptUtils.isDirExists(productPath)){ |
| | | msg.setCode("500"); |
| | | msg.setMessage("发生错误或不为目录"); |
| | | return msg; |
| | | } |
| | | |
| | | filesave = productPath + getUser().getUsername() + "_" + sdf.format(new Date()) +".xlsx"; |
| | | |
| | | file.transferTo(new File(filesave)); |
| | | InputStream in = new FileInputStream(filesave); |
| | | String name = file.getOriginalFilename(); |
| | | Boolean isExcel2007 = name.substring(name.lastIndexOf(".") + 1).endsWith("xlsx")? true:false; |
| | | BooleanReason blret = excelExportService.imporSaleProductExcel(in,getUser().getUsername(),isExcel2007); |
| | | if(blret.getValue().equals(false)) |
| | | { |
| | | msg.setCode("500"); |
| | | msg.setMessage(blret.getResultmsg()); |
| | | return msg; |
| | | }else { |
| | | msg.setMessage(blret.getResultmsg()); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | msg.setCode("500"); |
| | | msg.setMessage("导入发生错误"); |
| | | return msg; |
| | | } |
| | | |
| | | return msg; |
| | | } |
| | | |
| | | |
| | | @PostMapping("/importSaleOrder") |
| | | @ApiOperation(value = "导入实名销售",response = Msg.class) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "file",value = "文件",required = true), |
| | | }) |
| | | public Msg importSaleOrder(MultipartFile file){ |
| | | Msg msg = new Msg(); |
| | | msg.setCode("200"); |
| | | msg.setMessage("success"); |
| | | |
| | | String filesave =""; |
| | | try { |
| | | SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMddHHmmssSSS" ); |
| | | if (file == null) |
| | | { |
| | | msg.setCode("404"); |
| | | msg.setMessage("未找到上传文件"); |
| | | return msg; |
| | | } |
| | | |
| | | long size = file.getSize(); |
| | | if(0 == size) |
| | | { |
| | | msg.setCode("404"); |
| | | msg.setMessage("上传文件大小为空"); |
| | | return msg; |
| | | } |
| | | |
| | | if(!FileOptUtils.isDirExists(productPath)){ |
| | | msg.setCode("500"); |
| | | msg.setMessage("发生错误或不为目录"); |
| | | return msg; |
| | | } |
| | | |
| | | filesave = productPath + getUser().getUsername() + "_" + sdf.format(new Date()) +".xlsx"; |
| | | |
| | | file.transferTo(new File(filesave)); |
| | | InputStream in = new FileInputStream(filesave); |
| | | String name = file.getOriginalFilename(); |
| | | Boolean isExcel2007 = name.substring(name.lastIndexOf(".") + 1).endsWith("xlsx")? true:false; |
| | | BooleanReason blret = excelExportService.imporSaleOrderExcel(in,getUser().getUsername(),isExcel2007); |
| | | if(blret.getValue().equals(false)) |
| | | { |
| | | msg.setCode("500"); |
| | | msg.setMessage(blret.getResultmsg()); |
| | | return msg; |
| | | }else { |
| | | msg.setMessage(blret.getResultmsg()); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | msg.setCode("500"); |
| | | msg.setMessage("导入发生错误"); |
| | | return msg; |
| | | } |
| | | |
| | | return msg; |
| | | } |
| | | } |