Shanks 7 年之前
父節點
當前提交
efa6eaf4cf

+ 1 - 2
src/main/java/com/ygj/yuemum/controller/admin/JlRegionController.java

@@ -19,7 +19,6 @@ public class JlRegionController {
     private JlRegionService jlRegionService;
     @GetMapping("/getNP")
     public String getNP(@RequestParam("IDcard")  String idcard) {
-        System.out.println(idcard.length());
         String year = idcard.substring(6,10);
         String month = idcard.substring(10,12);
         String day = idcard.substring(12,14);
@@ -30,7 +29,7 @@ public class JlRegionController {
         rejso.put("city",jlRegionService.getnp(Integer.valueOf(city)));
         rejso.put("constellation",IDcard.getConstellation(Integer.valueOf(month), Integer.valueOf(day)));
         rejso.put("zodiac",IDcard.getYear(Integer.valueOf(year)));
-        rejso.put("np",city);
+        rejso.put("np",province);
         String jsor = JSONObject.toJSONString(rejso);
         return jsor;
     }

+ 15 - 4
src/main/java/com/ygj/yuemum/controller/maternitymatron/JlServiceUserController.java

@@ -2,10 +2,7 @@ package com.ygj.yuemum.controller.maternitymatron;
 
 
 import com.alibaba.fastjson.JSONObject;
-import com.ygj.yuemum.domain.maternitymatron.JlServiceUser;
-import com.ygj.yuemum.domain.maternitymatron.JlServiceUserInfo;
-import com.ygj.yuemum.domain.maternitymatron.JlStoreX;
-import com.ygj.yuemum.domain.maternitymatron.QueryServiceUser;
+import com.ygj.yuemum.domain.maternitymatron.*;
 import com.ygj.yuemum.domain.utils.AddMMInfo;
 import com.ygj.yuemum.service.maternitymatron.JlServiceUserInfoService;
 import com.ygj.yuemum.service.maternitymatron.JlServiceUserService;
@@ -13,6 +10,7 @@ import com.ygj.yuemum.service.maternitymatron.JlStoreXService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.text.ParseException;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -38,6 +36,19 @@ public class JlServiceUserController {
         String jso = JSONObject.toJSONString(trains);
         return jso;
     }
+    @GetMapping("/queryServiceUserStock")
+    public String queryServiceUserStock(@RequestParam("page") Integer page, @RequestParam("limit") Integer limit) {
+        Map<String, Object> trains= jlServiceUserService.queryServiceUserStock(page,limit);
+        String jso = JSONObject.toJSONString(trains);
+        return jso;
+    }
+    @PostMapping("/queryServiceUserStockCondition")
+    public String queryServiceUserStockCondition(@ModelAttribute QueryServiceUserStock queryServiceUserStock) throws ParseException {
+        Map<String, Object> trains= jlServiceUserService.queryServiceUserStockCondition(queryServiceUserStock);
+        String jso = JSONObject.toJSONString(trains);
+        return jso;
+    }
+
     @PostMapping("/queryMMList")
     public String queryMMList(@ModelAttribute QueryServiceUser queryServiceUser) {
 

+ 17 - 5
src/main/java/com/ygj/yuemum/controller/maternitymatron/MmStockController.java

@@ -1,6 +1,8 @@
 package com.ygj.yuemum.controller.maternitymatron;
 
+import com.alibaba.fastjson.JSONObject;
 import com.ygj.yuemum.domain.maternitymatron.MmStock;
+import com.ygj.yuemum.domain.maternitymatron.QueryListMMStock;
 import com.ygj.yuemum.service.maternitymatron.MmStockService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.propertyeditors.CustomDateEditor;
@@ -8,9 +10,11 @@ import org.springframework.web.bind.WebDataBinder;
 import org.springframework.web.bind.annotation.*;
 
 import java.text.DateFormat;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 @RestController
 public class MmStockController {
@@ -24,10 +28,12 @@ public class MmStockController {
     }
 
     @PostMapping("/addMmStock")
-    public int add(@ModelAttribute MmStock mmStock) { return mmStockService.addMmStock(mmStock);    }
+    public int add(@ModelAttribute MmStock mmStock) throws ParseException {
+        return mmStockService.addMmStock(mmStock);
+    }
 
-    @GetMapping("/deleteMmStock/{id}")
-    public int delete(@PathVariable("id") Integer id) {
+    @GetMapping("/deleteMmStock")
+    public int delete(@RequestParam("id") Integer id) {
         return mmStockService.deleteMmStock(id);
     }
 
@@ -38,9 +44,15 @@ public class MmStockController {
     public List<MmStock> getMmStock(@RequestParam("servant_code") Integer servant_code) {
         return  mmStockService.getMmStock(servant_code);
     }
+    @PostMapping("/getdelMMStocklist")
+    public List<MmStock> getdelMMStocklist(@ModelAttribute QueryListMMStock queryListMMStock) {
+        return  mmStockService.getdelMMStocklist(queryListMMStock);
+    }
     @GetMapping("/refMMStock")
-    public List<MmStock> refMMStock(@RequestParam("servant_code") Integer servant_code) {
-        return  mmStockService.refMMStock(servant_code);
+    public String refMMStock(@RequestParam("page") Integer page,@RequestParam("limit")Integer limit,@RequestParam("servant_code") Integer servant_code) {
+        Map<String, Object> trains= mmStockService.refMMStock(page,limit,servant_code);
+        String jso = JSONObject.toJSONString(trains);
+        return jso;
     }
 
     @InitBinder

+ 6 - 0
src/main/java/com/ygj/yuemum/dao/maternitymatron/JlServiceUserDao.java

@@ -2,6 +2,7 @@ package com.ygj.yuemum.dao.maternitymatron;
 
 import com.ygj.yuemum.domain.maternitymatron.JlServiceUser;
 import com.ygj.yuemum.domain.maternitymatron.QueryServiceUser;
+import com.ygj.yuemum.domain.maternitymatron.QueryServiceUserStock;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -19,8 +20,13 @@ public interface JlServiceUserDao {
 
     List<QueryServiceUser> queryMMList(QueryServiceUser record);
 
+    List<JlServiceUser> queryServiceUserStock();
+
+    List<QueryServiceUserStock> queryServiceUserStockCondition(QueryServiceUserStock record);
+
 
     int getcount();
+    int getStock(QueryServiceUserStock queryServiceUserStock);
     int getquerycount(QueryServiceUser record);
     int getpmid();
 

+ 5 - 0
src/main/java/com/ygj/yuemum/dao/maternitymatron/MmStockDao.java

@@ -1,6 +1,7 @@
 package com.ygj.yuemum.dao.maternitymatron;
 
 import com.ygj.yuemum.domain.maternitymatron.MmStock;
+import com.ygj.yuemum.domain.maternitymatron.QueryListMMStock;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -15,7 +16,11 @@ public interface MmStockDao {
 
     List<MmStock> selectByPrimaryKey(Integer servant_code);
 
+    List<MmStock> getdelMMStocklist(QueryListMMStock queryListMMStock);
+
     List<MmStock> refMMStock(Integer servant_code);
 
+    int getStockCount(Integer id);
+
     int updateByPrimaryKeySelective(MmStock record);
 }

+ 23 - 0
src/main/java/com/ygj/yuemum/domain/maternitymatron/QueryListMMStock.java

@@ -0,0 +1,23 @@
+package com.ygj.yuemum.domain.maternitymatron;
+
+public class QueryListMMStock {
+
+    private Integer id;
+    private Integer servant_code;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getServant_code() {
+        return servant_code;
+    }
+
+    public void setServant_code(Integer servant_code) {
+        this.servant_code = servant_code;
+    }
+}

+ 140 - 0
src/main/java/com/ygj/yuemum/domain/maternitymatron/QueryServiceUserStock.java

@@ -0,0 +1,140 @@
+package com.ygj.yuemum.domain.maternitymatron;
+
+public class QueryServiceUserStock {
+
+    private Integer id;
+    private String truename;
+    private String status;
+    private String cityname;
+    private String np;
+    private String experience;
+    private String gender;
+    private String constellation;
+    private String zodiac;
+    private String babynumber;
+    private String service_start;
+    private String service_end;
+    private String ids;
+    int page;
+    int limit;
+
+    public String getIds() {
+        return ids;
+    }
+
+    public void setIds(String ids) {
+        this.ids = ids;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getTruename() {
+        return truename;
+    }
+
+    public void setTruename(String truename) {
+        this.truename = truename;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getCityname() {
+        return cityname;
+    }
+
+    public void setCityname(String cityname) {
+        this.cityname = cityname;
+    }
+
+    public String getNp() {
+        return np;
+    }
+
+    public void setNp(String np) {
+        this.np = np;
+    }
+
+    public String getExperience() {
+        return experience;
+    }
+
+    public void setExperience(String experience) {
+        this.experience = experience;
+    }
+
+    public String getGender() {
+        return gender;
+    }
+
+    public void setGender(String gender) {
+        this.gender = gender;
+    }
+
+    public String getConstellation() {
+        return constellation;
+    }
+
+    public void setConstellation(String constellation) {
+        this.constellation = constellation;
+    }
+
+    public String getZodiac() {
+        return zodiac;
+    }
+
+    public void setZodiac(String zodiac) {
+        this.zodiac = zodiac;
+    }
+
+    public String getBabynumber() {
+        return babynumber;
+    }
+
+    public void setBabynumber(String babynumber) {
+        this.babynumber = babynumber;
+    }
+
+    public String getService_start() {
+        return service_start;
+    }
+
+    public void setService_start(String service_start) {
+        this.service_start = service_start;
+    }
+
+    public String getService_end() {
+        return service_end;
+    }
+
+    public void setService_end(String service_end) {
+        this.service_end = service_end;
+    }
+
+    public int getPage() {
+        return page;
+    }
+
+    public void setPage(int page) {
+        this.page = page;
+    }
+
+    public int getLimit() {
+        return limit;
+    }
+
+    public void setLimit(int limit) {
+        this.limit = limit;
+    }
+}

+ 71 - 6
src/main/java/com/ygj/yuemum/service/maternitymatron/JlServiceUserService.java

@@ -2,23 +2,29 @@ package com.ygj.yuemum.service.maternitymatron;
 
 import com.github.pagehelper.PageHelper;
 import com.ygj.yuemum.dao.maternitymatron.JlServiceUserDao;
+import com.ygj.yuemum.dao.maternitymatron.MmStockDao;
 import com.ygj.yuemum.domain.maternitymatron.JlServiceUser;
+import com.ygj.yuemum.domain.maternitymatron.MmStock;
 import com.ygj.yuemum.domain.maternitymatron.QueryServiceUser;
+import com.ygj.yuemum.domain.maternitymatron.QueryServiceUserStock;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 @Service
 public class JlServiceUserService {
 
     @Autowired
     private JlServiceUserDao jlServiceUserDao;
+    @Autowired
     private JlServiceUserInfoService jlServiceUserInfoService;
+    @Autowired
     private JlStoreXService jlStoreXService;
-
+    @Autowired
+    private MmStockDao mmStockDao;
 
 
     public List<JlServiceUser> getJlServiceUsers() {
@@ -32,20 +38,79 @@ public class JlServiceUserService {
         PageHelper.startPage(page, limit);
         List<JlServiceUser> mmlists = jlServiceUserDao.getMMList();
         Map<String, Object> tableData = new HashMap<>();
-        Integer count  = jlServiceUserDao.getcount();
+        Integer count = jlServiceUserDao.getcount();
         tableData.put("items", mmlists);
         tableData.put("total", count);
         return tableData;
     }
+
     public Map<String, Object> queryMMList(QueryServiceUser queryServiceUser) {
         PageHelper.startPage(queryServiceUser.getPage(), queryServiceUser.getLimit());
         List<QueryServiceUser> mmlists = jlServiceUserDao.queryMMList(queryServiceUser);
         Map<String, Object> tableData = new HashMap<>();
-        Integer count  = jlServiceUserDao.getquerycount(queryServiceUser);
+        Integer count = jlServiceUserDao.getquerycount(queryServiceUser);
         tableData.put("items", mmlists);
         tableData.put("total", count);
         return tableData;
     }
+
+    public Map<String, Object> queryServiceUserStock(int page, int limit) {
+        PageHelper.startPage(page, limit);
+        List<JlServiceUser> mmlists = jlServiceUserDao.queryServiceUserStock();
+        Map<String, Object> tableData = new HashMap<>();
+        Integer count = jlServiceUserDao.getcount();
+        tableData.put("items", mmlists);
+        tableData.put("total", count);
+        return tableData;
+    }
+
+    public Map<String, Object> queryServiceUserStockCondition(QueryServiceUserStock queryServiceUserStock) throws ParseException {
+        // 1.根据日期筛选出月嫂 获取 把不能服务的记录下来 然后数据库里 not in
+        // 2.根据id获取月嫂相关信息
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        ArrayList idlist = new ArrayList();
+        String ids = "";
+        if (queryServiceUserStock.getService_start()!=null && queryServiceUserStock.getService_end()!=null) {
+            List<MmStock> stocks = mmStockDao.getAll();
+            Date startDate = sdf.parse(queryServiceUserStock.getService_start());
+            Date endDate = sdf.parse(queryServiceUserStock.getService_end());
+            Calendar cal = Calendar.getInstance();
+            List<Date> lDate = new ArrayList<Date>();
+            lDate.add(startDate);
+            cal.setTime(startDate);
+            while (true) {
+                cal.add(Calendar.DAY_OF_MONTH, 1);
+                if (endDate.after(cal.getTime())) {
+                    lDate.add(cal.getTime());
+                } else {
+                    break;
+                }
+            }
+            lDate.add(endDate);
+            for (Date day : lDate) {
+                for (MmStock res : stocks) {
+                    if (day.getTime() >= sdf.parse(res.getStart_date()).getTime() && day.getTime() <= sdf.parse(res.getEnd_date()).getTime() ) {
+                        idlist.add(res.getServant_code());
+                    }
+                }
+            }
+            for (int i = 0; i < idlist.size(); i++) {
+                ids = ids + idlist.get(i) + ",";
+            }
+            if(ids.length()>0) {
+                queryServiceUserStock.setIds(ids.substring(0, ids.length() - 1));
+            }
+        }
+        PageHelper.startPage(queryServiceUserStock.getPage(), queryServiceUserStock.getLimit());
+        List<QueryServiceUserStock> stockLists = jlServiceUserDao.queryServiceUserStockCondition(queryServiceUserStock);
+        Map<String, Object> tableData = new HashMap<>();
+        Integer count = jlServiceUserDao.getStock(queryServiceUserStock);
+        tableData.put("items", stockLists);
+        tableData.put("total", count);
+        return tableData;
+    }
+
+
     public int getPMId() {
         return jlServiceUserDao.getpmid();
     }

+ 52 - 5
src/main/java/com/ygj/yuemum/service/maternitymatron/MmStockService.java

@@ -1,11 +1,15 @@
 package com.ygj.yuemum.service.maternitymatron;
 
+import com.github.pagehelper.PageHelper;
 import com.ygj.yuemum.dao.maternitymatron.MmStockDao;
 import com.ygj.yuemum.domain.maternitymatron.MmStock;
+import com.ygj.yuemum.domain.maternitymatron.QueryListMMStock;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 @Service
 public class MmStockService {
@@ -20,8 +24,41 @@ public class MmStockService {
         return mmStocks;
     }
 
-    public int addMmStock(MmStock mmStock) {
-        return mmStockDao.insertSelective(mmStock);
+    public int addMmStock(MmStock mmStock) throws ParseException {
+        // 1.根据月嫂id获取月嫂近一年的所有数据 id,status,start_date,end_date
+        // 2.通过用户输入的开始和结束日期 生成每天的日期
+        // 3.判断每天的日期是否在所有的时间段内
+        // 4.Y return error | N add
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        List<MmStock> stocks = mmStockDao.selectByPrimaryKey(mmStock.getServant_code());
+        Date startDate = sdf.parse(mmStock.getStart_date());
+        Date endDate = sdf.parse(mmStock.getEnd_date());
+        Calendar cal = Calendar.getInstance();
+        List<Date> lDate = new ArrayList<Date>();
+        int errorMessage = 1;
+        lDate.add(startDate);
+        cal.setTime(startDate);
+        while (true) {
+            cal.add(Calendar.DAY_OF_MONTH, 1);
+            if (endDate.after(cal.getTime())) {
+                lDate.add(cal.getTime());
+            } else {
+                break;
+            }
+        }
+        lDate.add(endDate);
+        outer: for (Date day : lDate) {
+            for(MmStock res : stocks){
+                if (day.getTime() >= sdf.parse(res.getStart_date()).getTime() && day.getTime() <= sdf.parse(res.getEnd_date()).getTime() ) {
+                    errorMessage = 0;
+                    break outer;
+                }
+            }
+        }
+        if(errorMessage == 1) {
+            errorMessage = mmStockDao.insertSelective(mmStock);
+        }
+        return errorMessage;
     }
 
     public int deleteMmStock(Integer id) {
@@ -36,7 +73,17 @@ public class MmStockService {
         return mmStockDao.selectByPrimaryKey(servant_code);
     }
 
-    public List<MmStock> refMMStock(Integer servant_code) {
-        return mmStockDao.refMMStock(servant_code);
+    public Map<String, Object> refMMStock(int page, int limit, Integer servant_code) {
+        PageHelper.startPage(page, limit);
+        List<MmStock> mmlists = mmStockDao.refMMStock(servant_code);
+        Map<String, Object> tableData = new HashMap<>();
+        Integer count = mmStockDao.getStockCount(servant_code);
+        tableData.put("items", mmlists);
+        tableData.put("total", count);
+        return tableData;
+    }
+
+    public List<MmStock> getdelMMStocklist(QueryListMMStock queryListMMStock) {
+        return mmStockDao.getdelMMStocklist(queryListMMStock);
     }
 }

+ 1 - 0
src/main/resources/application.yml

@@ -4,6 +4,7 @@ mybatis:
   config-location: classpath:mybatis/mybatis-config.xml
   mapper-locations: mybatis/mapper/admin/*.xml,mybatis/mapper/maternitymatron/*.xml
   mybatis.type-aliases-package: com.ygj.yuemum.domain/admin,com.ygj.yuemum.domain/maternitymatron
+  log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 spring:
   datasource:
     driverClassName: com.mysql.jdbc.Driver

+ 136 - 7
src/main/resources/mybatis/mapper/maternitymatron/JlServiceUserMapper.xml

@@ -37,6 +37,20 @@
         <result column="np" property="np" jdbcType="VARCHAR"/>
     </resultMap>
 
+    <resultMap id="queryStockResultMap" type="com.ygj.yuemum.domain.maternitymatron.JlServiceUser">
+        <id column="id" property="id" jdbcType="INTEGER"/>
+        <result column="truename" property="truename" jdbcType="VARCHAR"/>
+        <result column="age" property="age" jdbcType="VARCHAR"/>
+        <result column="status" property="status" jdbcType="VARCHAR"/>
+        <result column="cityname" property="cityname" jdbcType="VARCHAR"/>
+        <result column="np" property="np" jdbcType="VARCHAR"/>
+        <result column="constellation" property="constellation" jdbcType="VARCHAR"/>
+        <result column="zodiac" property="zodiac" jdbcType="VARCHAR"/>
+        <result column="seniority" property="seniority" jdbcType="VARCHAR"/>
+        <result column="gender" property="gender" jdbcType="VARCHAR"/>
+        <result column="babynumber" property="babynumber" jdbcType="VARCHAR"/>
+        <result column="ids" property="ids" jdbcType="VARCHAR"/>
+    </resultMap>
     <sql id="Base_Column_List">
         id, password, truename,mobile_phone,status,last_login_time,last_login_ip,salt,token,zone_code,updated_at,stock_status,usertype
     </sql>
@@ -46,9 +60,49 @@
         count(1)
         from jl_service_user
     </select>
-
-
-
+    <select id="getStock" resultType="java.lang.Integer" parameterType="com.ygj.yuemum.domain.maternitymatron.QueryServiceUser">
+        select
+        count(1)
+        from jl_service_user
+        LEFT JOIN jl_service_user_info on jl_service_user.id = jl_service_user_info.id
+        LEFT JOIN (select service_id,GROUP_CONCAT(jl_region.`name`) cityname from jl_store_service LEFT JOIN jl_region
+        on jl_store_service.store_id = jl_region.`code` group by service_id) as
+        city ON jl_service_user.id = city.service_id
+        where 1=1
+        <if test="ids != null">
+            and jl_service_user.id not in ( #{ids,jdbcType=INTEGER} )
+        </if>
+        <if test="truename != null">
+            and jl_service_user.truename like #{truename,jdbcType=VARCHAR}
+        </if>
+        <if test="constellation != null">
+            and constellation = #{constellation,jdbcType=VARCHAR}
+        </if>
+        <if test="zodiac != null">
+            and zodiac = #{zodiac,jdbcType=VARCHAR}
+        </if>
+        <if test="np != null">
+            and city = #{np,jdbcType=VARCHAR}
+        </if>
+        <if test="experience != null">
+            and seniority = #{experience,jdbcType=VARCHAR}
+        </if>
+        <if test="gender != null">
+            and gender = #{gender,jdbcType=VARCHAR}
+        </if>
+        <if test="status != null">
+            and status = #{status,jdbcType=VARCHAR}
+        </if>
+        <if test="gender != null">
+            and gender = #{gender,jdbcType=VARCHAR}
+        </if>
+        <if test="babynumber != null">
+            and babynumber = #{babynumber,jdbcType=VARCHAR}
+        </if>
+        <if test="cityname != null">
+            and cityname in #{cityname,jdbcType=VARCHAR}
+        </if>
+    </select>
     <!--获取主键-->
     <select id="getpmid" resultType="java.lang.Integer" >
         SELECT auto_increment
@@ -63,7 +117,7 @@
             and jl_service_user.id = #{id,jdbcType=INTEGER}
         </if>
         <if test="truename != null">
-            and jl_service_user.truename = #{truename,jdbcType=VARCHAR}
+            and jl_service_user.truename like #{truename,jdbcType=VARCHAR}
         </if>
         <if test="status != null">
             and status = #{status,jdbcType=VARCHAR}
@@ -102,8 +156,28 @@
         order by id
     </select>
 
+    <select id="queryServiceUserStock" resultMap="queryStockResultMap">
+        select
+        jl_service_user.id,
+        jl_service_user.truename,
+        jl_service_user_info.constellation,
+        year(CURDATE())-substring(jl_service_user_info.idcard,7,4) age,
+        jl_service_user_info.zodiac,
+        fgetcityname(CONCAT(substring(jl_service_user_info.idcard,1,4),'00')) np,
+        city.cityname,
+        jl_service_user_info.seniority,
+        jl_service_user_info.gender,
+        jl_service_user.status,
+        jl_service_user_info.babynumber
+        from jl_service_user
+        LEFT JOIN jl_service_user_info on jl_service_user.id = jl_service_user_info.id
+        LEFT JOIN (select service_id,GROUP_CONCAT(jl_region.`name`) cityname from jl_store_service LEFT JOIN jl_region
+        on jl_store_service.store_id = jl_region.`code` group by service_id) as
+        city ON jl_service_user.id = city.service_id
+        order by  gender desc , babynumber desc , status asc
+    </select>
 
-    <select id="queryMMList" resultMap="ListResultMap" parameterType="com.ygj.yuemum.domain.maternitymatron.QueryServiceUser">
+    <select id="queryMMList" resultMap="ListResultMap" parameterType="com.ygj.yuemum.domain.maternitymatron.QueryServiceUserStock">
         select
         jl_service_user.id,
         jl_service_user.truename,
@@ -119,10 +193,10 @@
         city ON jl_service_user.id = city.service_id
         where 1=1
         <if test="id != null">
-          and jl_service_user.id = #{id,jdbcType=INTEGER}
+          and jl_service_user.id = #{ids,jdbcType=INTEGER}
         </if>
         <if test="truename != null">
-            and jl_service_user.truename = #{truename,jdbcType=VARCHAR}
+            and jl_service_user.truename like #{truename,jdbcType=VARCHAR}
         </if>
         <if test="status != null">
             and status = #{status,jdbcType=VARCHAR}
@@ -145,6 +219,61 @@
         order by id
     </select>
 
+    <select id="queryServiceUserStockCondition" resultMap="queryStockResultMap" parameterType="com.ygj.yuemum.domain.maternitymatron.QueryServiceUser">
+        select
+        jl_service_user.id,
+        jl_service_user.truename,
+        jl_service_user_info.constellation,
+        year(CURDATE())-substring(jl_service_user_info.idcard,7,4) age,
+        jl_service_user_info.zodiac,
+        fgetcityname(CONCAT(substring(jl_service_user_info.idcard,1,4),'00')) np,
+        city.cityname,
+        jl_service_user_info.seniority,
+        jl_service_user_info.gender,
+        jl_service_user.status,
+        jl_service_user_info.babynumber
+        from jl_service_user
+        LEFT JOIN jl_service_user_info on jl_service_user.id = jl_service_user_info.id
+        LEFT JOIN (select service_id,GROUP_CONCAT(jl_region.`name`) cityname from jl_store_service LEFT JOIN jl_region
+        on jl_store_service.store_id = jl_region.`code` group by service_id) as
+        city ON jl_service_user.id = city.service_id
+        where 1=1
+        <if test="ids != null">
+            and jl_service_user.id not in ( #{ids,jdbcType=INTEGER} )
+        </if>
+        <if test="truename != null">
+            and jl_service_user.truename like #{truename,jdbcType=VARCHAR}
+        </if>
+        <if test="constellation != null">
+            and constellation = #{constellation,jdbcType=VARCHAR}
+        </if>
+        <if test="zodiac != null">
+            and zodiac = #{zodiac,jdbcType=VARCHAR}
+        </if>
+        <if test="np != null">
+            and city = #{np,jdbcType=VARCHAR}
+        </if>
+        <if test="experience != null">
+            and seniority = #{experience,jdbcType=VARCHAR}
+        </if>
+        <if test="gender != null">
+            and gender = #{gender,jdbcType=VARCHAR}
+        </if>
+        <if test="status != null">
+            and status = #{status,jdbcType=VARCHAR}
+        </if>
+        <if test="gender != null">
+            and gender = #{gender,jdbcType=VARCHAR}
+        </if>
+        <if test="babynumber != null">
+            and babynumber = #{babynumber,jdbcType=VARCHAR}
+        </if>
+        <if test="cityname != null">
+            and cityname in #{cityname,jdbcType=VARCHAR}
+        </if>
+        order by  gender desc , babynumber desc , status asc
+    </select>
+
     <!-- 得到所有的月嫂信息 -->
     <select id="getAll" resultMap="BaseResultMap">
         select

+ 23 - 1
src/main/resources/mybatis/mapper/maternitymatron/MmStockMapper.xml

@@ -22,7 +22,7 @@
     </select>
 
     <!-- 根据id查找某个库存信息 -->
-    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="com.ygj.yuemum.domain.maternitymatron.MmStock" >
         select
         id,
         servant_code,
@@ -34,6 +34,28 @@
         order by id desc
     </select>
 
+    <select id="getStockCount" parameterType="java.lang.Integer" resultType="java.lang.Integer" >
+        select
+        count(1)
+        from mm_stock
+        where servant_code = #{servant_code,jdbcType=INTEGER}
+    </select>
+
+    <select id="getdelMMStocklist" resultMap="BaseResultMap" parameterType="com.ygj.yuemum.domain.maternitymatron.QueryListMMStock">
+        select
+        id,
+        servant_code,
+        stock_status,
+        DATE_FORMAT(start_date,'%Y-%m-%d') start_date,
+        DATE_FORMAT(end_date,'%Y-%m-%d') end_date
+        from mm_stock
+        where servant_code = #{servant_code,jdbcType=INTEGER}
+            <if test="id != null" >
+                and id != #{id,jdbcType=INTEGER}
+            </if>
+        order by id desc
+    </select>
+
     <select id="refMMStock" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
         select
         id,