Pārlūkot izejas kodu

更新设备状态的接口

wangzhinan 3 gadi atpakaļ
vecāks
revīzija
1ce12fbbcc

+ 10 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/Mediicinestockoutdetail.java

@ -81,10 +81,20 @@ public class Mediicinestockoutdetail extends UuidIdentityEntityWithOperator impl
     */
    private String IdOrderDetail;
    private String drugName;
    public Mediicinestockoutdetail() {
    }
    public String getDrugName() {
        return drugName;
    }
    public void setDrugName(String drugName) {
        this.drugName = drugName;
    }
    public String getIdStockOut() {
        return idStockOut;

+ 1 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -172,6 +172,7 @@ public class BaseRequestMapping {
        public static final String updateAddressInfo  = "/updateAddressInfo";
        public static final String UPDATESTATUS  = "/updateStatus";
        public static final String UPDATESALESTATUS  = "/updateSaleStatus";
        public static final String UNBINDDEVICE  = "/unbindDevice";
        public static final String getDeviceListByUserId  = "/getDeviceListByUserId";
        public static final String getUserListByDeviceId  = "/getUserListByDeviceId";
        public static final String getOutOfStockDeviceList  = "/getOutOfStockDeviceList";

+ 14 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/MedicineDeviceEndpoint.java

@ -143,6 +143,20 @@ public class MedicineDeviceEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = BaseRequestMapping.BaseDevice.UNBINDDEVICE)
    @ApiOperation(value = "设备解绑")
    public Envelop unbindDevice(
            @ApiParam(name = "deviceId", value = "设备Id", required = true)
            @RequestParam(value = "deviceId", required = true) String deviceId) throws Exception {
        String str = deviceService.unbindDevice(deviceId);
        JSONObject jsonObject = JSONObject.parseObject(str);
        if (jsonObject.getString("response").equalsIgnoreCase(ConstantUtils.FAIL)) {
            return failed(jsonObject.getString("msg"));
        }
        return success(jsonObject.getString("response"));
    }
    @GetMapping(value = BaseRequestMapping.BaseDevice.docFullInfo)
    @ApiOperation(value = "获取设备信息基础信息列表")
    public PageEnvelop getDeviceFullInfolist(

+ 6 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/MedicineUserEndpoint.java

@ -54,11 +54,13 @@ public class MedicineUserEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value = BaseRequestMapping.BaseUser.allotDevice)
    @ApiOperation(value = "分配设备")
    public Envelop allotDevice(
            @ApiParam(name = "userIds", value = "补货员ids,多个用逗号隔开")
            @ApiParam(name = "userIds", value = "补货员ids,多个用逗号隔开", required = true)
            @RequestParam(value = "userIds", required = true) String userIds,
            @ApiParam(name = "deviceIds", value = "设备ids,多个用英文逗号隔开", required = true)
            @RequestParam(value = "deviceIds") String deviceIds) throws Exception {
        JSONObject result = userService.allotDevice(userIds, deviceIds);
            @ApiParam(name = "deviceIds", value = "设备ids,多个用英文逗号隔开", required = false)
            @RequestParam(value = "deviceIds", required = false) String deviceIds,
            @ApiParam(name = "isAll", value = "是否全部设备", required = true)
            @RequestParam(value = "isAll") Boolean isAll) throws Exception {
        JSONObject result = userService.allotDevice(userIds, deviceIds, isAll);
        return success(result.getString("response"));
    }

+ 74 - 49
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineUserService.java

@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
@ -34,6 +35,9 @@ public class MedicineUserService extends BaseJpaService<Mediicineuser, Mediicine
    @Autowired
    private MediicineDeviceUserDao deviceUserDao;
    @Autowired
    private MediicineDeviceDao deviceDao;
    @Autowired
    private ObjectMapper objectMapper;
@ -242,66 +246,87 @@ public class MedicineUserService extends BaseJpaService<Mediicineuser, Mediicine
     * @return
     * @throws Exception
     */
    public JSONObject allotDevice(String userIds, String deviceIds) throws Exception {
    public JSONObject allotDevice(String userIds, String deviceIds, Boolean isAll) throws Exception {
        JSONObject result = new JSONObject();
        if (StringUtils.isEmpty(userIds) && StringUtils.isEmpty(deviceIds)) {
        if (StringUtils.isEmpty(userIds)) {
            result.put("response", ConstantUtils.FAIL);
            return result;
        }
        //绑定设备
        for (String userId : userIds.split(",")) {
            if (!StringUtils.isEmpty(userId)) {
                //移除不绑定设备
                String sql = "SELECT\n" +
                        "\tt.id AS id,\n" +
                        "\tt.device_id AS deviceId,\n" +
                        "\tt.user_id AS userId,\n" +
                        "\tt.del AS del,\n" +
                        "\tt.create_time AS createTime,\n" +
                        "\tt.create_user AS createUser,\n" +
                        "\tt.create_user_name AS createUserName,\n" +
                        "\tt.update_time AS updateTime,\n" +
                        "\tt.update_user AS updateUser,\n" +
                        "\tt.update_user_name AS updateUserName\n" +
                        "FROM\n" +
                        "\tt_mediicine_device_user AS t\n" +
                        "WHERE\n" +
                        "    t.user_id = '" + userId + "'\n" +
                        "AND '," + deviceIds + ",' NOT LIKE CONCAT('%,',t.device_id,',%')";
                List<Map<String,Object>> list=null;
                list = hibenateUtils.createSQLQuery(sql);
                if (list != null && list.size() > 0) {
                    for (Map<String, Object> stringObjectMap : list) {
                        MediicineDeviceUser mediicineDeviceUser = deviceUserDao.findOne(stringObjectMap.get("id").toString());
                        mediicineDeviceUser.setDel("0");
                        deviceUserDao.save(mediicineDeviceUser);
                //全部设备
                if(isAll) {
                    Iterable<Mediicinedevice> lists = deviceDao.findAll();
                    Iterator iterator = lists.iterator();
                    while(iterator.hasNext()){
                        Mediicinedevice mediicinedevice = ((Mediicinedevice) iterator.next());
                        if (mediicinedevice != null) {
                            String countSql = " select " +
                                    "     COUNT(DISTINCT (t.id)) as count " +
                                    "   from " +
                                    "     t_mediicine_device_user t " +
                                    "  where " +
                                    "  1=1 AND t.del = 1 AND t.device_id = '" + mediicinedevice.getId() + "' AND t.user_id = '" + userId + "'";
                            int count = jdbcTemplate.queryForObject(countSql,Integer.class);
                            if (count > 0) {
                                continue;
                            }
                            MediicineDeviceUser deviceUser = new MediicineDeviceUser();
                            deviceUser.setDel("1");
                            deviceUser.setDeviceId(mediicinedevice.getId());
                            deviceUser.setUserId(userId);
                            deviceUserDao.save(deviceUser);
                        }
                    }
                }
//                if (list != null && list.size() > 0) {
//                    for (MediicineDeviceUser deviceUser : list) {
//                        deviceUser.setDel("0");
//                        deviceUserDao.save(deviceUser);
//                    }
//                }
                for (String deviceId : deviceIds.split(",")) {
                    if (!StringUtils.isEmpty(deviceId)) {
                        String countSql = " select " +
                                "     COUNT(DISTINCT (t.id)) as count " +
                                "   from " +
                                "     t_mediicine_device_user t " +
                                "  where " +
                                "  1=1 AND t.del = 1 AND t.device_id = '" + deviceId + "' AND t.user_id = '" + userId + "'";
                        int count = jdbcTemplate.queryForObject(countSql,Integer.class);
                        if (count > 0) {
                            continue;
                } else {
                    //删除移除设备
                    String sql = "SELECT\n" +
                            "\tt.id AS id,\n" +
                            "\tt.device_id AS deviceId,\n" +
                            "\tt.user_id AS userId,\n" +
                            "\tt.del AS del,\n" +
                            "\tt.create_time AS createTime,\n" +
                            "\tt.create_user AS createUser,\n" +
                            "\tt.create_user_name AS createUserName,\n" +
                            "\tt.update_time AS updateTime,\n" +
                            "\tt.update_user AS updateUser,\n" +
                            "\tt.update_user_name AS updateUserName\n" +
                            "FROM\n" +
                            "\tt_mediicine_device_user AS t\n" +
                            "WHERE\n" +
                            "    t.user_id = '" + userId + "' AND t.del = 1\n" +
                            "AND '," + deviceIds + ",' NOT LIKE CONCAT('%,',t.device_id,',%')";
                    List<Map<String,Object>> list=null;
                    list = hibenateUtils.createSQLQuery(sql);
                    if (list != null && list.size() > 0) {
                        for (Map<String, Object> stringObjectMap : list) {
                            MediicineDeviceUser mediicineDeviceUser = deviceUserDao.findOne(stringObjectMap.get("id").toString());
                            mediicineDeviceUser.setDel("0");
                            deviceUserDao.save(mediicineDeviceUser);
                        }
                    }
                    for (String deviceId : deviceIds.split(",")) {
                        if (!StringUtils.isEmpty(deviceId)) {
                            String countSql = " select " +
                                    "     COUNT(DISTINCT (t.id)) as count " +
                                    "   from " +
                                    "     t_mediicine_device_user t " +
                                    "  where " +
                                    "  1=1 AND t.del = 1 AND t.device_id = '" + deviceId + "' AND t.user_id = '" + userId + "'";
                            int count = jdbcTemplate.queryForObject(countSql,Integer.class);
                            if (count > 0) {
                                continue;
                            }
                            MediicineDeviceUser deviceUser = new MediicineDeviceUser();
                            deviceUser.setDel("1");
                            deviceUser.setDeviceId(deviceId);
                            deviceUser.setUserId(userId);
                            deviceUserDao.save(deviceUser);
                        }
                        MediicineDeviceUser deviceUser = new MediicineDeviceUser();
                        deviceUser.setDel("1");
                        deviceUser.setDeviceId(deviceId);
                        deviceUser.setUserId(userId);
                        deviceUserDao.save(deviceUser);
                    }
                }
            }
        }

+ 47 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicinedeviceService.java

@ -5,9 +5,11 @@ import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.dao.a2dao.MediicineDeviceDao;
import com.yihu.jw.base.dao.a2dao.MediicineDeviceUserDao;
import com.yihu.jw.base.dao.a2dao.MediicinedrugsDao;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.base.util.JavaBeanUtils;
import com.yihu.jw.entity.a1entity.MediicineDeviceUser;
import com.yihu.jw.entity.a1entity.Mediicinedevice;
import com.yihu.jw.entity.a1entity.Mediicinedrugs;
import com.yihu.jw.restmodel.ResponseContant;
@ -33,6 +35,9 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
    @Autowired
    private MediicineDeviceDao deviceDao;
    @Autowired
    private MediicineDeviceUserDao deviceUserDao;
    @Autowired
    private ObjectMapper objectMapper;
@ -204,7 +209,7 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
    /**
     * 更新设备销售状态
     * @param deviceId
     * @param status
     * @param saleStatus
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
@ -228,6 +233,47 @@ public class MedicinedeviceService  extends BaseJpaService<Mediicinedevice, Medi
        return result.toJSONString();
    }
    /**
     * 解绑设备
     * @param deviceId
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    public String unbindDevice(String deviceId){
        JSONObject result = new JSONObject();
        if(StringUtils.isEmpty(deviceId)){
            result.put("msg","deviceId is null");
            result.put("response", ConstantUtils.FAIL);
            return result.toJSONString();
        }
        Mediicinedevice mediicinedevice = deviceDao.findOne(deviceId);
        if (mediicinedevice == null) {
            result.put("msg","device doesn't exist");
            result.put("response", ConstantUtils.FAIL);
            return result.toJSONString();
        }
        List<Map<String, Object>> list = null;
        list = hibenateUtils.createSQLQuery("SELECT * FROM t_mediicine_device_user where del = 1 AND device_id = '" + deviceId + "'");
        if (list != null && list.size() > 0) {
            for (Map<String, Object> stringObjectMap : list) {
                if (!StringUtils.isEmpty(stringObjectMap.get("id").toString())) {
                    MediicineDeviceUser mediicineDeviceUser = deviceUserDao.findOne(stringObjectMap.get("id").toString());
                    if (mediicineDeviceUser != null) {
                        mediicineDeviceUser.setDel("0");
                        deviceUserDao.save(mediicineDeviceUser);
                    }
                }
            }
        }
        mediicinedevice.setBelongCommunity(null);
        mediicinedevice.setCommunity(null);
        this.save(mediicinedevice);
        result.put("response",ConstantUtils.SUCCESS);
        result.put("msg",mediicinedevice);
        return result.toJSONString();
    }
    /**
     * 分页查询设备信息