wangxiaoming 6 lat temu
rodzic
commit
95a31937c0

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

@@ -304,5 +304,17 @@ public interface SalesOrderService {
      */
     Integer updateDeliver(SalesOrder salesOrder);
 
+    /**
+     * 获取出库数量
+     * @param salesOrder
+     * @return
+     */
+    Integer getDeliverNum(SalesOrder salesOrder);
 
+    /**
+     * 查询订单集合与订单项集合
+     * @param salesOrder
+     * @return
+     */
+    List<SalesOrder> salesOrderListAndItem(SalesOrder salesOrder);
 }

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

@@ -987,5 +987,15 @@ public class SalesOrderServiceImpl implements SalesOrderService {
         return salesOrderMapper.updateDeliver(salesOrder);
     }
 
+    @Override
+    public Integer getDeliverNum(SalesOrder salesOrder) {
+        return salesOrderMapper.getDeliverNum(salesOrder);
+    }
+
+    @Override
+    public List<SalesOrder> salesOrderListAndItem(SalesOrder salesOrder) {
+        return salesOrderMapper.salesOrderListAndItem(salesOrder);
+    }
+
 
 }

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

@@ -252,4 +252,18 @@ public interface SalesOrderMapper {
      */
     Integer updateDeliver(SalesOrder salesOrder);
 
+    /**
+     * 获取出库数量
+     * @param salesOrder
+     * @return
+     */
+    Integer getDeliverNum(SalesOrder salesOrder);
+
+    /**
+     * 查询订单集合与订单项集合
+     * @param salesOrder
+     * @return
+     */
+    List<SalesOrder> salesOrderListAndItem(SalesOrder salesOrder);
+
 }

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

@@ -1259,4 +1259,114 @@
         AND sales_shipping_status = 1
     </update>
 
+
+    <select id="getDeliverNum" resultType="Integer" parameterType="SalesOrder" >
+        SELECT COUNT(t.sales_id)
+        FROM tb_rst_sales_order_info t
+        <where>
+            <if test="salesCreateTime !=null and salesCreateTime !=''">
+                AND date_format(t.sales_create_time,'%Y-%m-%d') =  date_format( #{salesCreateTime},'%Y-%m-%d')
+            </if>
+            <if test="salesShippingStatus !=null">
+                AND t.sales_shipping_status =  #{salesShippingStatus}
+            </if>
+            <if test="salesDeliver !=null">
+                AND t.sales_deliver = #{salesDeliver}
+            </if>
+        </where>
+    </select>
+
+
+    <resultMap id="SalesOrderAndItemMap" type="SalesOrder" >
+        <id column="sales_id" property="salesId" jdbcType="INTEGER" />
+        <collection property="salesOrderItemList" column="sales_id" javaType="ArrayList" select="selectSalesOrderItemList"/>
+    </resultMap>
+
+    <!-- 订单集合 -->
+    <select id="salesOrderListAndItem" resultMap="SalesOrderAndItemMap" parameterType="SalesOrder" >
+        select
+        tb_rst_sales_order_info.*
+        from tb_rst_sales_order_info
+        <where>
+            <if test="salesIsDownload !=null and salesIsDownload !=''">
+                AND sales_is_download = #{salesIsDownload}
+            </if>
+            <if test="salesShippingStatus !=null">
+                AND sales_shipping_status = #{salesShippingStatus}
+            </if>
+            <if test="salesStatus !=null">
+                AND sales_status = #{salesStatus}
+            </if>
+            <if test="salesOrderStatus !=null">
+                AND sales_order_status = #{salesOrderStatus}
+            </if>
+            <if test="salesDeliver !=null">
+                AND sales_deliver = #{salesDeliver}
+            </if>
+            <if test="salesStoreId !=null and salesStoreId !=''">
+                AND sales_store_id = #{salesStoreId}
+            </if>
+            <if test="salesPostFirm !=null and salesPostFirm !=''">
+                AND sales_post_firm = #{salesPostFirm}
+            </if>
+            <if test="salesCompanyId !=null and salesCompanyId !=''">
+                AND sales_company_id = #{salesCompanyId}
+            </if>
+            <if test="salesId !=null">
+                AND sales_id = #{salesId}
+            </if>
+            <if test="salesOrderId !=null and salesOrderId !=''">
+                AND sales_orderId = #{salesOrderId}
+            </if>
+            <if test="salesDealCode !=null and salesDealCode !=''">
+                AND sales_deal_code = #{salesDealCode}
+            </if>
+            <if test="salesAddressTel !=null and salesAddressTel !=''">
+                AND sales_address_tel like CONCAT('%',#{salesAddressTel},'%')
+            </if>
+            <if test="salesAddressName !=null and salesAddressName !=''">
+                AND sales_address_name like CONCAT('%',#{salesAddressName},'%')
+            </if>
+            <if test="salesBatchId !=null and salesBatchId !=''">
+                AND sales_batch_id = #{salesBatchId}
+            </if>
+            <if test="salesAddressInfo !=null and salesAddressInfo !=''">
+                AND sales_address_info like CONCAT('%',#{salesAddressInfo},'%')
+            </if>
+            <if test="itemProductName !=null and itemProductName !=''">
+                AND oi.item_product_color like CONCAT('%',#{itemProductName},'%')
+            </if>
+            <if test="startDate != null and startDate != ''">
+                AND sales_create_time <![CDATA[>=]]> #{startDate}
+            </if>
+            <if test="endDate != null and endDate != ''">
+                AND sales_create_time <![CDATA[<=]]> #{endDate}
+            </if>
+            <if test="salesAdminId != null ">
+                AND sales_admin_id = #{salesAdminId}
+            </if>
+            <if test="salesAddType != null ">
+                AND sales_add_type = #{salesAddType}
+            </if>
+            <if test="salesIds != null and salesIds != ''">
+                AND sales_id IN
+                <foreach collection="salesIds" item="node" index="index" separator="," open="(" close=")">
+                    #{node}
+                </foreach >
+            </if>
+        </where>
+        GROUP BY tb_rst_sales_order_info.sales_id
+        ORDER BY tb_rst_sales_order_info.sales_id DESC
+    </select>
+
+
+    <!-- 订单集合 -->
+    <select id="selectSalesOrderItemList" resultType="SalesOrderItem" parameterType="Integer" >
+        select
+          *
+        from tb_rst_sales_order_item
+        WHERE  item_order_id = #{salesId}
+    </select>
+
+
 </mapper>

+ 4 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/approval/ApplyPickController.java

@@ -24,6 +24,7 @@ import javax.servlet.http.HttpServletRequest;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Pattern;
 
 @Controller
 @RequestMapping("/wechat/applyPick")
@@ -238,6 +239,9 @@ public class ApplyPickController {
         if(applyPickShipCertificate == null || "".equals(applyPickShipCertificate) ){
             return new ResponseJson(500, "发货凭证为空!", 500);
         }
+        if(!Pattern.matches("^[0-9a-zA-Z]{1,50}", applyPickShipCertificate)){
+            return new ResponseJson(500, "发货凭证只能为数字和英文字母!", 500);
+        }
         ApprovalApplyPick aap =  applyPickService.getApprovalApplyPickById(applyPickId);
         if(aap == null){
             return new ResponseJson(500, "提货信息有误!", 500);
@@ -257,5 +261,4 @@ public class ApplyPickController {
         }
         return rj;
     }
-
 }

+ 61 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -486,5 +486,66 @@ public class AwaitSendController {
         return rj;
     }
 
+    /**
+     * 出库
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("salesOrder:deliver:deliverList")
+    @RequestMapping("/getDeliverNum")
+    public ResponseJson getDeliverNum(HttpServletRequest request,Integer type) {
+        ResponseJson rj = ResponseJson.getSUCCESS();
+
+        Calendar calendarStart = Calendar.getInstance();
+        calendarStart.set(Calendar.HOUR_OF_DAY,0);
+        calendarStart.set(Calendar.MINUTE,0);
+        calendarStart.set(Calendar.SECOND,0);
+
+        Calendar calendarEnd = Calendar.getInstance();
+        calendarEnd.set(Calendar.HOUR_OF_DAY,23);
+        calendarEnd.set(Calendar.MINUTE,59);
+        calendarEnd.set(Calendar.SECOND,59);
+
+        List<Map<String,Object>> list = new ArrayList<>();
+
+        SalesOrder salesOrder = new SalesOrder();
+        if(type == 1){
+            salesOrder.setStartDate(calendarStart.getTime());
+            salesOrder.setEndDate(calendarEnd.getTime());
+        }else{
+            //2:昨日
+            calendarStart.add(Calendar.DATE, -1);// 日期减1
+            calendarEnd.add(Calendar.DATE, -1);// 日期减1
+            salesOrder.setStartDate(calendarStart.getTime());
+            salesOrder.setEndDate(calendarEnd.getTime());
+        }
+
+//        salesOrderService.getDeliverNum(salesOrder);
+
+        //type: 1:今日
+        Map<String,Object> map = new HashMap<>();
+        Integer num = 0;
+
+        salesOrder.setSalesShippingStatus(11);
+        List<SalesOrder> salesOrderList = salesOrderService.salesOrderListAndItem(salesOrder);
+        for (SalesOrder so:salesOrderList) {
+            for (SalesOrderItem salesOrderItem : so.getSalesOrderItemList()) {
+                map.put("bar",salesOrderItem.getItemColorBar());
+                map.put("product",salesOrderItem.getItemProductName());
+                map.put("color",salesOrderItem.getItemProductColor());
+                Integer barNum = salesOrderItem.getItemNum();
+                for (Map<String,Object> m:list) {
+                    if(m.get("bar") != null && m.get("bar").equals(salesOrderItem.getItemColorBar())){
+                        barNum += (Integer)m.get("num");
+                    }
+                }
+                map.put("num",barNum);
+            }
+        }
+        list.add(map);
+
+        return rj;
+    }
 
 }