浏览代码

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

wangxiaoming 6 年之前
父节点
当前提交
bbd3ed95f3

+ 6 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java

@@ -292,6 +292,12 @@ public interface SalesOrderService {
     Integer listSalesPostFirm(SalesOrder salesOrder);
 
     /**
+     * 批量分配快递方式
+     * @param salesOrder
+     * @return
+     */
+    Integer listSalesPostFirmByIds(SalesOrder salesOrder);
+    /**
      * 查询订单
      * @param postNum
      * @return

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/ApplyPickServiceImpl.java

@@ -165,7 +165,7 @@ public class ApplyPickServiceImpl  implements ApplyPickService {
                 throw new RuntimeException("添加历史审批信息失败"+tasknfo);
             }
             //修改审核信息表
-            info.setApprovalStatusDetails("待"+name+"审批");
+            info.setApprovalStatusDetails("待"+approvalAdmin.getAdminName()+"审批");
             if(approvalOrderMapper.updateApprovalInfo(info) < 1){
                 throw new RuntimeException("修改审批信息失败"+tasknfo);
             }

+ 1 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/ApprovalOrderServiceImpl.java

@@ -80,7 +80,6 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
         approvalProduction.setApplicantOrderNo("123456789");//订单编号未定
         approvalProduction.setApplicantName(admin.getAdminName());
         //申请人ID
-        approvalProduction.setApplicantId(1);
         approvalProduction.setProductionState(1);
         int returnValue2 = approvalOrderMapper.insertApprovalProduction(approvalProduction);
         if(returnValue2 < 1){
@@ -619,7 +618,7 @@ public class ApprovalOrderServiceImpl implements ApprovalOrderService {
                     admininfo = sysMapper.getAdminInfo(admininfo);
                     if(admininfo.getAdminOpenId() == null ){
                         rj = ResponseJson.getFAILURE();
-                        rj.setResultMsg("获取管理信息失败!");
+                        rj.setResultMsg("获取管理信息失败!"+production.getApplicantId());
                         return  rj;
                     }
                     //通知申请人该审批已驳回

+ 1 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/mapper/applyPickMapper.xml

@@ -83,6 +83,7 @@
         <result    column="item_product_box_number"    property="itemProductBoxNumber" />
         <result    column="item_create_time"    property="itemCreateTime" />
         <result    column="item_update_time"    property="itemUpdateTime" />
+        <result    column="item_external_model"    property="itemExternalModel " />
     </resultMap>
     <resultMap  id="approvalInfoMap" type="ApprovalInfo" >
         <result    column="approval_id"    property="approvalId" />

+ 5 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/approval/mapper/approvalOrderMapper.xml

@@ -350,10 +350,10 @@
         AND to_days(#{approvalCreateTime}) = to_days(ai.approval_create_time)
       </if>
       <if test="selectState != null and selectState != '' and selectState == 1">
-        AND ai.approval_status in (1,4)
+        AND hr.record_state  = 1
       </if>
       <if test="selectState != null and selectState != '' and selectState == 2">
-        AND ai.approval_status  = 2
+        AND hr.record_state  = 2
       </if>
       <if test="selectState != null and selectState != '' and selectState == 3">
         AND ai.approval_status in (2,6)
@@ -361,6 +361,9 @@
       <if test="selectState != null and selectState != '' and selectState == 4">
         AND ai.approval_status  = 7
       </if>
+      <if test="selectState != null and selectState != '' and selectState == 5">
+        AND ai.approval_status in (1,4)
+      </if>
     </where>
     group by ai.approval_id
     ORDER BY ai.approval_id DESC

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -978,6 +978,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     }
 
     @Override
+    public Integer listSalesPostFirmByIds(SalesOrder salesOrder) {
+        return salesOrderMapper.listSalesPostFirmByIds(salesOrder);
+    }
+
+    @Override
     public SalesOrder getSalesOrderByPostNum(String postNum) {
         return salesOrderMapper.getSalesOrderByPostNum(postNum);
     }

+ 6 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java

@@ -238,6 +238,12 @@ public interface SalesOrderMapper {
      * @return
      */
     Integer listSalesPostFirm(SalesOrder salesOrder);
+    /**
+     * 批量分配快递方式
+     * @param salesOrder
+     * @return
+     */
+    Integer listSalesPostFirmByIds(SalesOrder salesOrder);
 
     /**
      * 查询订单

+ 14 - 13
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml

@@ -1232,24 +1232,25 @@
         sales_id = #{salesId}
     </update>
 
-    <!-- 批量分配快递方式 -->
+    <!-- 根据批次批量分配快递方式 -->
     <update id="listSalesPostFirm" parameterType="SalesOrder" >
         update tb_rst_sales_order_info
         SET
         sales_post_firm = #{salesPostFirm}
-        <where>
-            <if test="salesBatchId !=null and salesBatchId !=''">
-                AND  sales_batch_id = #{salesBatchId}
-            </if>
-            <if test="salesIds != null and salesIds.length > 0 ">
-                AND sales_id IN
-                <foreach collection="salesIds" item="node" index="index" separator="," open="(" close=")">
-                    #{node}
-                </foreach >
-            </if>
-        </where>
+        WHERE
+        sales_batch_id = #{salesBatchId}
+    </update>
+    <!-- 根据订单id批量分配快递方式 -->
+    <update id="listSalesPostFirmByIds" parameterType="SalesOrder" >
+        update tb_rst_sales_order_info
+        SET
+        sales_post_firm = #{salesPostFirm}
+        where
+         sales_id IN
+         <foreach collection="salesIds" item="node" index="index" separator="," open="(" close=")">
+             #{node}
+         </foreach >
     </update>
-
 
     <select id="getSalesOrderByPostNum" resultType="SalesOrder" parameterType="String" >
         select

+ 19 - 9
watero-rst-web/src/main/java/com/iamberry/rst/controllers/approval/ApprovalController.java

@@ -77,11 +77,16 @@ public class ApprovalController {
         Map<String, Object> taskinfo = approvalTaskService.salesmanSubmitApply(1);
 
         String deliveryDate = request.getParameter("deliveryDate");
+        String inspectionTime = request.getParameter("inspectionDate");
         if(deliveryDate == null ){
             return  ResponseJson.getFAILURE();
         }
+        if(inspectionTime == null ){
+            return  ResponseJson.getFAILURE();
+        }
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         approvalProduction.setProductionDeliveryDate(format.parse(deliveryDate));
+        approvalProduction.setInspectionTime(format.parse(inspectionTime));
 
         //封装生产审批产品项
         List<ApprovalProductionItem> listApprovalProductionItem = new ArrayList<ApprovalProductionItem>();
@@ -100,7 +105,10 @@ public class ApprovalController {
             approvalProductionItem.setItemShouldStorage(orderItem.getInt("itemProductNum"));
             approvalProductionItem.setItemActualStorage(0);
             approvalProductionItem.setItemLackNumber(orderItem.getInt("itemProductNum"));
-            approvalProductionItem.setItemExternalModel(orderItem.getString("itemExternalModel"));
+            if (orderItem.containsKey("itemExternalModel")) {
+                approvalProductionItem.setItemExternalModel(orderItem.getString("itemExternalModel"));
+            }
+
             listApprovalProductionItem.add(approvalProductionItem);
         }
         //封装生产审批合同
@@ -602,6 +610,7 @@ public class ApprovalController {
     public ResponseJson getTo_do(HttpServletRequest request){
         //获取openid,根据openid查询当前登录人信息
         String openId = WechatUtils.getUserBySession(request).getUserOpenid();
+        /*String openId = "oEy-_s_o_1oIv6h_KAs7QkeTQiJY";*/
         Admin admin = sysService.getByOpenid(openId);
         ResponseJson rj =new ResponseJson(200, "查询成功", 200);
         if(admin == null){
@@ -614,26 +623,27 @@ public class ApprovalController {
         if(adminApprovalAuthority == null){
             return new ResponseJson(200, "未找到权限信息", 500);
         }
-        ApprovalInfo approvalInfo = new ApprovalInfo();
-        approvalInfo.setApprovalAdminId(admin.getAdminId());
+
         if(adminApprovalAuthority.getIsSales() == 1){//查询销售 提货数量
-            approvalInfo.setSelectType(1);
-            approvalInfo.setSelectState(1);
+            ApprovalInfo approvalInfo = new ApprovalInfo();
+            approvalInfo.setAdminId(admin.getAdminId());
+            approvalInfo.setSelectState(5);//查询待审批条数
             List<ApprovalInfo> listInfo = approvalOrderService.getApprovalInfo(approvalInfo);
             rj.addResponseKeyValue("salesPickNum",listInfo.size());
         }else{
             rj.addResponseKeyValue("salesPickNum",0);
         }
         if(adminApprovalAuthority.getIsPmc() == 1 || adminApprovalAuthority.getIsManagement() == 1){
-            approvalInfo.setSelectType(2);
-            approvalInfo.setApprovalStatus(1);
+            ApprovalInfo approvalInfo = new ApprovalInfo();
+            approvalInfo.setApprovalAdminId(admin.getAdminId());
+            approvalInfo.setSelectState(1);//查询待审批条数
             List<ApprovalInfo> listInfo = approvalOrderService.getApprovalInfo(approvalInfo);
             rj.addResponseKeyValue("approvalNum",listInfo.size());
         }else{
             rj.addResponseKeyValue("approvalNum",0);
         }
-        if(adminApprovalAuthority.getIsManagement() == 1){
-            approvalInfo.setApprovalAdminId(null);
+        if(adminApprovalAuthority.getIsWarehouse() == 1){
+            ApprovalInfo approvalInfo = new ApprovalInfo();
             approvalInfo.setSelectState(3);
             List<ApprovalInfo> listInfo = approvalOrderService.getApprovalInfo(approvalInfo);
             rj.addResponseKeyValue("warehouseNum",listInfo.size());

+ 650 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/approval/adminApprovalController.java

@@ -0,0 +1,650 @@
+package com.iamberry.rst.controllers.approval;
+
+import com.auth0.jwt.internal.org.apache.commons.io.FileUtils;
+import com.iamberry.rst.core.approval.*;
+import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.core.sys.Admin;
+import com.iamberry.rst.faces.approval.ApplyPickService;
+import com.iamberry.rst.faces.approval.ApprovalOrderService;
+import com.iamberry.rst.faces.approval.ApprovalProductionService;
+import com.iamberry.rst.faces.approval.ApprovalTaskService;
+import com.iamberry.rst.faces.sys.SysService;
+import com.iamberry.wechat.core.entity.WechatUtils;
+import com.iamberry.wechat.file.FileType;
+import com.iamberry.wechat.tools.ResponseJson;
+import com.iamberry.wechat.tools.ResultInfo;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+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.context.ContextLoader;
+import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
+import sun.misc.BASE64Decoder;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import java.io.*;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * Created by Administrator on 2018/10/9.
+ */
+
+@Controller
+@RequestMapping("/approval")
+/*@RequestMapping("/wechat/approval")*/
+public class adminApprovalController {
+    @Autowired
+    private ApprovalOrderService approvalOrderService;
+    @Autowired
+    private ApprovalTaskService approvalTaskService;
+    @Autowired
+    private SysService sysService;
+    @Autowired
+    private ApplyPickService applyPickService;
+    @Autowired
+    private ApprovalProductionService approvalProductionService;
+    @SuppressWarnings("restriction")
+    private BASE64Decoder decoder = new BASE64Decoder();
+    /**
+     * 新增审批信息
+     * @param request
+     * @param approvalProduction
+     * @param productionItems
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/addApproval")
+    public ResponseJson addApproval(HttpServletRequest request, ApprovalProduction approvalProduction, String productionItems,String productionContracts) throws ParseException {
+        ResponseJson rj =new ResponseJson(200, "添加成功", 200);
+        if (approvalProduction == null || productionItems == null) {
+            return  ResponseJson.getFAILURE();
+        }
+        //获取openid,根据openid查询当前登录人信息
+        String openId = WechatUtils.getUserBySession(request).getUserOpenid();
+        /*String openId = "oEy-_s5C7LwmLGTpEGfJoecfsYZc";*/
+
+        //获取审批任务id
+        Map<String, Object> taskinfo = approvalTaskService.salesmanSubmitApply(1);
+
+        String deliveryDate = request.getParameter("deliveryDate");
+        String inspectionTime = request.getParameter("inspectionDate");
+        if(deliveryDate == null ){
+            return  ResponseJson.getFAILURE();
+        }
+        if(inspectionTime == null ){
+            return  ResponseJson.getFAILURE();
+        }
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        approvalProduction.setProductionDeliveryDate(format.parse(deliveryDate));
+        approvalProduction.setInspectionTime(format.parse(inspectionTime));
+
+        //封装生产审批产品项
+        List<ApprovalProductionItem> listApprovalProductionItem = new ArrayList<ApprovalProductionItem>();
+            JSONArray jsonProductionItems = JSONArray.fromObject(productionItems);
+            for (int i = 0; i < jsonProductionItems.size(); i++) {
+                JSONObject orderItem = jsonProductionItems.getJSONObject(i);
+            //添加产品项内容
+            ApprovalProductionItem approvalProductionItem = new ApprovalProductionItem();
+            approvalProductionItem.setItemBrandName(orderItem.getString("itemBrandName"));
+            approvalProductionItem.setItemProductName(orderItem.getString("itemProductName"));
+            approvalProductionItem.setItemColorName(orderItem.getString("itemColorName"));
+            approvalProductionItem.setItemProductNum(orderItem.getInt("itemProductNum"));
+            approvalProductionItem.setItemProductModel(orderItem.getString("itemProductModel"));
+            approvalProductionItem.setItemProductUnit(orderItem.getString("itemProductUnit"));
+            approvalProductionItem.setItemProductBoxNumber(orderItem.getInt("itemProductBoxNumber"));
+            approvalProductionItem.setItemShouldStorage(orderItem.getInt("itemProductNum"));
+            approvalProductionItem.setItemActualStorage(0);
+            approvalProductionItem.setItemLackNumber(orderItem.getInt("itemProductNum"));
+            approvalProductionItem.setItemExternalModel(orderItem.getString("itemExternalModel"));
+            listApprovalProductionItem.add(approvalProductionItem);
+        }
+        //封装生产审批合同
+        List<ApprovalProductionContract> listProductionContract = new ArrayList<ApprovalProductionContract>();
+        if(productionContracts != null){
+            JSONArray jsonproductionContracts = JSONArray.fromObject(productionContracts);
+            for (int i = 0; i < jsonproductionContracts.size(); i++) {
+                JSONObject contract = jsonproductionContracts.getJSONObject(i);
+                ApprovalProductionContract contractInfo = new ApprovalProductionContract();
+                contractInfo.setContractUrl(contract.getString("contractUrl"));
+                contractInfo.setContractType(contract.getString("contractType"));
+                listProductionContract.add(contractInfo);
+            }
+        }
+        boolean returnValue = approvalOrderService.insertApprovalProduction(approvalProduction,listApprovalProductionItem,listProductionContract,taskinfo,openId);
+        if(!returnValue){
+            return  ResponseJson.getFAILURE();
+        }
+        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());
+        //获取项目根目录
+        WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
+        ServletContext servletContext = webApplicationContext.getServletContext();
+        String realPath = servletContext.getRealPath(ResultInfo.CONTRACT_IMAGE);
+        String imgUrl = new Date().getTime()+file.getOriginalFilename();
+        try {
+            //获取输出流
+            OutputStream os=new FileOutputStream(realPath+imgUrl);
+
+            //获取输入流 CommonsMultipartFile 中可以直接得到文件的流
+            InputStream is=file.getInputStream();
+            byte[] bts = new byte[1024];
+            //一个一个字节的读取并写入
+            while(is.read(bts)!=-1)
+            {
+                os.write(bts);
+            }
+            os.flush();
+            os.close();
+            is.close();
+
+        } catch (FileNotFoundException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        responseJson.setReturnCode(200);
+        responseJson.addResponseKeyValue("imgUrl",ResultInfo.CONTRACT_IMAGE+imgUrl);
+        return responseJson;
+    }
+
+    /**
+     * base图片上传
+     * @throws IOException
+     */
+    @SuppressWarnings({ "deprecation", "restriction" })
+    @ResponseBody
+    @RequestMapping("/baseFileUpload")
+    public ResponseJson baseFileUpload(HttpServletRequest req) throws IOException{
+        ResponseJson responseJson = new ResponseJson();
+        //取到前台传过来的 base64图片 并创建要存放在项目中的路径
+        WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
+        ServletContext servletContext = webApplicationContext.getServletContext();
+        String imgFilePath = servletContext.getRealPath(ResultInfo.CONTRACT_IMAGE);
+        try {
+            isExitsPath(imgFilePath);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        //创建分享对象 并存入数据库
+        //String postParams = StrUtils.getPostParamsStr(req);		//data:image/png;base64,iVBORw0
+        String postParams = req.getParameter("file");
+        String[] shareImgUrlArr = org.apache.commons.lang3.StringUtils.split(postParams, ",");
+        String imgUrl = "";
+        HashMap<String, String> map = new HashMap<String, String>();
+        if(shareImgUrlArr != null && shareImgUrlArr.length > 0){
+            // 防止内存溢出
+            String suffixName = new String (shareImgUrlArr[0].split(";")[0].split("/")[1]);
+            String shareImgUrl = new String (shareImgUrlArr[1]);
+
+            // 通过文件头判断后缀
+            byte [] b = new byte[28];
+            shareImgUrl.getBytes(0, 27, b, 0);
+            String temp = new String(b);
+            b = decoder.decodeBuffer(temp);
+
+            // 二进制转换文件头
+            String type = null;
+            String fileHead = byte2hex(b);
+            fileHead = fileHead.toUpperCase();
+
+            // 获取系统支持的文件类型,如果不支持,返回默认的图片
+            FileType[] fileTypes = FileType.values();
+            for (FileType fileType : fileTypes) {
+                if (fileHead.startsWith(fileType.getValue())) {
+                    type = fileType.getSuffix();
+                    break;
+                }
+            }
+            if (type == null) {
+                System.err.println("上传图片异常..." + fileHead);
+            } else {
+                String fileName = getFileName(suffixName, type);
+                boolean flag = generateImage(shareImgUrl, imgFilePath + "/" + fileName);
+                if(flag){
+                    responseJson.setReturnCode(200);
+                    responseJson.addResponseKeyValue("imgUrl","//rst.iamberry.com/"+ResultInfo.CONTRACT_IMAGE+fileName);
+                }else{
+                    responseJson.setReturnCode(500);
+                }
+            }
+        }else{
+            responseJson.setReturnCode(500);
+        }
+
+        //返回值拼凑
+        /*String requurl = req.getContextPath();//获取web项目的路径*/
+
+        return responseJson;
+    }
+
+    /**
+     * 判断路径是否存在 不存在则创建
+     * create date 2016年6月1日
+     * @author 穆再兴
+     * @param path
+     * @return
+     * @throws InterruptedException
+     */
+    public boolean isExitsPath(String path)throws InterruptedException{
+        String [] paths=path.split("/");
+        StringBuilder fullPath=new StringBuilder();
+        for (int i = 0; i < paths.length; i++) {
+            fullPath.append(paths[i]).append("/");
+            File file=new File(fullPath.toString());
+            if(!file.exists()){
+                file.mkdir();
+            }
+        }
+        File file=new File(fullPath.toString());//目录全路径
+        if (!file.exists()) {
+            return true;
+        }else{
+            return false;
+        }
+    }
+    public static String byte2hex(byte[] b) { //一个字节的数,
+        // 转成16进制字符串
+        String hs = "";
+        String tmp = "";
+        for (int n = 0; n < b.length; n++) {
+            //整数转成十六进制表示
+            tmp = (Integer.toHexString(b[n] & 0XFF));
+            if (tmp.length() == 1) {
+                hs = hs + "0" + tmp;
+            } else {
+                hs = hs + tmp;
+            }
+        }
+        tmp = null;
+        return hs;
+    }
+
+    /**
+     * 获取 file 的文件名
+     * create date 2016年6月1日
+     * @author 穆再兴
+     * @param
+     * @param
+     * @return
+     */
+    private String getFileName(String suffixName, String type){
+        long time = new Date().getTime();
+        Long timeStr = new Long(time);
+        return  timeStr + "." + type;
+    }
+
+    /**
+     * 对字节数组字符串进行Base64解码生成图片 并存入对应的路径
+     * create date 2016年6月1日
+     * @author 穆再兴
+     * @param imgStr Base64字符串
+     * @param imgFilePath 存入的路径
+     * @return
+     */
+    private boolean generateImage(String imgStr, String imgFilePath) {
+        if (imgStr == null) {return false;}// 图像数据为空
+        try {
+            // Base64解码
+            @SuppressWarnings("restriction")
+            byte[] bytes = decoder.decodeBuffer(imgStr);
+            for (int i = 0; i < bytes.length; ++i) {
+                if (bytes[i] < 0) {// 调整异常数据
+                    bytes[i] += 256;
+                }
+            }
+            // 生成图片
+            File file = new File(imgFilePath);
+            FileUtils.writeByteArrayToFile(file, bytes);
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+    /**
+ *  查询我发起的/我审核的列表
+ * @param approvalInfo
+ * @param pageSize
+ * @param pageNO
+ * @param totalNum
+ * @param selectType 1.我发起的 2.我审核的 3.仓库确认
+ * @param
+ * @return
+ * @throws Exception
+ */
+    @ResponseBody
+    @RequestMapping(value = "/approvalInfoList")
+    public ResponseJson listApprovalInfo(HttpServletRequest request,
+            ApprovalInfo approvalInfo,Integer selectType,
+            @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) throws Exception {
+        ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+        //获取openid,根据openid查询当前登录人信息
+        String openId = WechatUtils.getUserBySession(request).getUserOpenid();
+        /*String openId = "oEy-_s5C7LwmLGTpEGfJoecfsYZc";*/
+        Admin admin = sysService.getByOpenid(openId);
+        if(admin == null){
+            return new ResponseJson(200, "未查询到登录人信息", 500);
+        }
+        if(selectType != null){
+            if(selectType == 1){//我发起的
+                approvalInfo.setAdminId(admin.getAdminId());
+            }else if(selectType == 2){//我审核的
+                approvalInfo.setApprovalAdminId(admin.getAdminId());
+            }
+            if(selectType == 3){
+                //判断是否是仓库人员
+                AdminApprovalAuthority adminApprovalAuthority = approvalOrderService.getApprovalAuthority(admin.getAdminId());
+                if(adminApprovalAuthority.getIsWarehouse() == 2){
+                    List<ApprovalInfo> list = new ArrayList<>();
+                    return new ResponseJson(200, "非仓库人员不得查询", 501).addResponseKeyValue("approvalList",list);
+                }
+            }
+        }
+
+
+        String stareDate = request.getParameter("stareDate");
+        if(stareDate != null ){
+            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+            approvalInfo.setApprovalCreateTime(format.parse(stareDate));
+        }
+        PagedResult<ApprovalInfo> pagedResult = approvalOrderService.listApprovalInfo(pageNO, pageSize,approvalInfo,totalNum == null);
+
+        if (totalNum != 0) {
+            pagedResult.setTotal(totalNum);
+        }
+        rj.addResponseKeyValue("total", pagedResult.getTotal());
+        rj.addResponseKeyValue("approvalList",pagedResult.getDataList());
+        rj.addResponseKeyValue("admin",admin);
+        return rj;
+    }
+
+    /**
+     * 修改审批状态 (1 通过 2驳回 3撤销 4评论)
+     * @param
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping(value = "/updateApprovalInfo")
+    public ResponseJson updateApprovalInfo(HttpServletRequest request,
+            ApprovalInfo approvalInfo,Integer status) throws Exception {
+        ResponseJson rj =new ResponseJson(200, "操作成功", 200);
+        if(status == null){
+            return  ResponseJson.getFAILURE();
+        }
+        if(approvalInfo == null){
+            return  ResponseJson.getFAILURE();
+        }
+        //获取openid,根据openid查询当前登录人信息
+        String openId = WechatUtils.getUserBySession(request).getUserOpenid();
+        /*String openId = "oEy-_s_o_1oIv6h_KAs7QkeTQiJY";*/
+        Admin admin = sysService.getByOpenid(openId);
+        if(admin == null){
+            return new ResponseJson(200, "未查询到登录人信息", 500);
+        }
+        rj = approvalOrderService.auditApprovalinfo(approvalInfo,admin,status);
+        return rj;
+    }
+
+
+    /**
+     *  查询审批订单详情
+     * @param approvalInfo
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping(value = "/getApprovalInfo")
+    public ResponseJson getApprovalInfo(HttpServletRequest request,
+                                         ApprovalInfo approvalInfo) throws Exception {
+        ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+        if(approvalInfo == null){
+            return  ResponseJson.getFAILURE();
+        }
+        //获取openid,根据openid查询当前登录人信息
+        String openId = WechatUtils.getUserBySession(request).getUserOpenid();
+        /*String openId = "oEy-_s5C7LwmLGTpEGfJoecfsYZc";*/
+        Admin admin = sysService.getByOpenid(openId);
+        if(admin == null){
+            return new ResponseJson(200, "未查询到登录人信息", 500);
+        }
+        //判断是否是仓库人员
+        int isDelivery = 2;
+        /*if(admin.getAdminDept() == 8){//8为仓储部门
+            isDelivery = 1;
+        }*/
+        //判断是否是仓库人员
+        AdminApprovalAuthority adminApprovalAuthority = approvalOrderService.getApprovalAuthority(admin.getAdminId());
+        if(adminApprovalAuthority.getIsWarehouse() == 1){
+            isDelivery = 1;
+        }
+
+        HistoricalRecord historicalRecord = new HistoricalRecord();
+        historicalRecord.setApprovalId(approvalInfo.getApprovalId());
+        historicalRecord.setAdminId(admin.getAdminId());
+        historicalRecord.setRecordState(1);
+        historicalRecord = approvalOrderService.getHistoricalRecord(historicalRecord);
+        List<ApprovalInfo> info = approvalOrderService.getApprovalInfo(approvalInfo);
+        if(info.size() < 1){
+            return  ResponseJson.getFAILURE();
+        }
+        rj.addResponseKeyValue("approvalInfo",info.get(0));
+        rj.addResponseKeyValue("historicalRecord",historicalRecord);
+        rj.addResponseKeyValue("adminid",admin.getAdminId());
+        rj.addResponseKeyValue("isDelivery",isDelivery);
+        return rj;
+    }
+
+    /**
+     * 添加入库信息
+     * @param request
+     * @param inventoryRecordss
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/addInventoryRecords")
+    public ResponseJson addInventoryRecords(HttpServletRequest request, String inventoryRecordss){
+        if (inventoryRecordss == null || inventoryRecordss.equals("")) {
+            return  ResponseJson.getFAILURE();
+        }
+        //获取openid,根据openid查询当前登录人信息
+        String openId = WechatUtils.getUserBySession(request).getUserOpenid();
+        /*String openId = "oEy-_s5C7LwmLGTpEGfJoecfsYZc";*/
+        Admin admin = sysService.getByOpenid(openId);
+        if(admin == null){
+            return new ResponseJson(200, "未查询到登录人信息", 500);
+        }
+        return approvalOrderService.insertInventoryRecords(inventoryRecordss,admin);
+
+    }
+
+
+    /**
+     *  获取某个审批的整个审批流程及仓库审批人信息 1:生成订单审批;2:提货申请
+     * @param
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping(value = "/getFindApplyRu")
+    public ResponseJson getFindApplyRu(HttpServletRequest request,
+                                        Integer type) throws Exception {
+        ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+        if(type == null){
+            return  ResponseJson.getFAILURE();
+        }
+        //获取openid,根据openid查询当前登录人信息
+        String openId = WechatUtils.getUserBySession(request).getUserOpenid();
+        Admin currentAdmin = sysService.getByOpenid(openId);
+        if(currentAdmin == null){
+            return new ResponseJson(200, "未查询到登录人信息", 500);
+        }
+        List<Object> info = approvalTaskService.findApplyRu(type);
+        if(info.size() < 1){
+            return  ResponseJson.getFAILURE();
+        }
+        List<String[]> listString = new ArrayList<>();
+        for (Object obj : info){
+            String[] strings = (String[])obj;
+            String[] str = new String[strings.length];
+            for(int i = 0;i< strings.length;i++){
+                Admin admin = sysService.getByName(strings[i]);
+                if(admin == null){
+                    return new ResponseJson(200, "未找到管理员信息("+strings[i]+")", 500);
+                }
+                str[i] = admin.getAdminName();
+            }
+            listString.add(str);
+        }
+        AdminApprovalAuthority authority = new AdminApprovalAuthority();
+        authority.setIsWarehouse(1);
+        List<AdminApprovalAuthority> listAuthority = approvalOrderService.listApprovalAuthority(authority);
+        Admin adminTwo = new Admin();
+        adminTwo.setAdminId(listAuthority.get(0).getAdminId());
+        List<Admin> listAdmin = sysService.listAdminInfo(adminTwo);
+        rj.addResponseKeyValue("list",listString);
+        rj.addResponseKeyValue("warehouseAdmin",listAdmin);
+        rj.addResponseKeyValue("currentAdmin",currentAdmin);
+        return rj;
+    }
+
+    /**
+     *  查询审批产品项
+     * @param approvalId
+     * @return productionItem
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping(value = "/getProductionItem")
+    public ResponseJson getProductionItem(HttpServletRequest request,Integer approvalId) throws Exception {
+        ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+        if(approvalId == null){
+            return  ResponseJson.getFAILURE();
+        }
+        ApprovalProduction  approvalProduction = new ApprovalProduction();
+        approvalProduction.setApprovalId(approvalId);
+        List<ApprovalProduction> approvalProductionList = approvalProductionService.getApprovalProductionList(approvalProduction);
+        approvalProduction = approvalProductionList.get(0);
+        ApprovalProductionItem approvalProductionItem = new ApprovalProductionItem();
+        approvalProductionItem.setProductionId(approvalProduction.getProductionId());
+        List<ApprovalProductionItem> approvalProductionItemList = approvalProductionService.getApprovalProductionItemList(approvalProductionItem);
+        rj.addResponseKeyValue("apItemList",approvalProductionItemList);
+
+        return rj;
+    }
+
+    /**
+     *  查询入库记录
+     * @param approvalId
+     * @return productionItem
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping(value = "/listInventoryRecords")
+    public ResponseJson listInventoryRecords(HttpServletRequest request,Integer approvalId) throws Exception {
+        ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+        if(approvalId == null){
+            return  ResponseJson.getFAILURE();
+        }
+        List<ApprovalInventoryRecords> listRecords = approvalOrderService.listInventoryRecords(approvalId);
+        rj.addResponseKeyValue("listRecords",listRecords);
+        return rj;
+    }
+
+    /**
+     * 获取优尼雅管理员权限
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/getApprovalAuthority")
+    public ResponseJson getApprovalAuthority(HttpServletRequest request){
+        ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+        //获取openid,根据openid查询当前登录人信息
+        String openId = WechatUtils.getUserBySession(request).getUserOpenid();
+        Admin currentAdmin = sysService.getByOpenid(openId);
+        if(currentAdmin == null){
+            return new ResponseJson(200, "未查询到登录人信息", 500);
+        }
+        if(currentAdmin.getAdminDept() !=9){//9:优尼雅
+            return new ResponseJson(200, "不允许非优尼雅部门员工查询", 500);
+        }
+        AdminApprovalAuthority adminApprovalAuthority = approvalOrderService.getApprovalAuthority(currentAdmin.getAdminId());
+        rj.addResponseKeyValue("adminApprovalAuthority",adminApprovalAuthority);
+        return rj;
+    }
+
+    /**
+     * 查询待办数量
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/getTo_do")
+    public ResponseJson getTo_do(HttpServletRequest request){
+        //获取openid,根据openid查询当前登录人信息
+        /*String openId = WechatUtils.getUserBySession(request).getUserOpenid();*/
+        String openId = "oEy-_s_o_1oIv6h_KAs7QkeTQiJY";
+        Admin admin = sysService.getByOpenid(openId);
+        ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+        if(admin == null){
+            return new ResponseJson(200, "未查询到登录人信息", 500);
+        }
+        if(admin.getAdminDept() !=9){//9:优尼雅
+            return new ResponseJson(200, "不允许非优尼雅部门员工查询", 500);
+        }
+        AdminApprovalAuthority adminApprovalAuthority = approvalOrderService.getApprovalAuthority(admin.getAdminId());
+        if(adminApprovalAuthority == null){
+            return new ResponseJson(200, "未找到权限信息", 500);
+        }
+
+        if(adminApprovalAuthority.getIsSales() == 1){//查询销售 提货数量
+            ApprovalInfo approvalInfo = new ApprovalInfo();
+            approvalInfo.setApprovalAdminId(admin.getAdminId());
+            approvalInfo.setSelectType(1);
+            approvalInfo.setApprovalStatus(1);
+            List<ApprovalInfo> listInfo = approvalOrderService.getApprovalInfo(approvalInfo);
+            rj.addResponseKeyValue("salesPickNum",listInfo.size());
+        }else{
+            rj.addResponseKeyValue("salesPickNum",0);
+        }
+        if(adminApprovalAuthority.getIsPmc() == 1 || adminApprovalAuthority.getIsManagement() == 1){
+            ApprovalInfo approvalInfo = new ApprovalInfo();
+            approvalInfo.setApprovalAdminId(admin.getAdminId());
+            approvalInfo.setSelectState(1);
+            List<ApprovalInfo> listInfo = approvalOrderService.getApprovalInfo(approvalInfo);
+            rj.addResponseKeyValue("approvalNum",listInfo.size());
+        }else{
+            rj.addResponseKeyValue("approvalNum",0);
+        }
+        if(adminApprovalAuthority.getIsWarehouse() == 1){
+            ApprovalInfo approvalInfo = new ApprovalInfo();
+            approvalInfo.setSelectState(3);
+            List<ApprovalInfo> listInfo = approvalOrderService.getApprovalInfo(approvalInfo);
+            rj.addResponseKeyValue("warehouseNum",listInfo.size());
+        }else{
+            rj.addResponseKeyValue("warehouseNum",0);
+        }
+        return rj;
+    }
+}

+ 7 - 3
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderBatchController.java

@@ -107,17 +107,21 @@ public class AdminOrderBatchController {
         if(salesOrder == null){
             return rj;
         }
-        if(salesOrder.getSalesPostFirm() == null || salesOrder.getSalesBatchId() == null){
+        if(salesOrder.getSalesPostFirm() == null){
             return rj;
         }
         /*分配到该批次下的所有订单*/
         Integer flag = 0;
         try{
-            flag = salesOrderService.listSalesPostFirm(salesOrder);
+            if(salesOrder.getSalesBatchId() != null && !salesOrder.getSalesBatchId().equals("")){
+                flag = salesOrderService.listSalesPostFirm(salesOrder);
+            }else if(salesOrder.getSalesIds() != null && salesOrder.getSalesIds().length > 0){
+            flag = salesOrderService.listSalesPostFirmByIds(salesOrder);
+            }
         }catch (Exception e){
             e.printStackTrace();
         }
-        if(flag < 0){
+        if(flag < 1){
             return rj;
         }else{
             rj = ResponseJson.getSUCCESS();