Pārlūkot izejas kodu

Merge branch 'dev' of chenjiasheng/wlyy2.0 into medicare

wangzhinan 3 gadi atpakaļ
vecāks
revīzija
e108dd726b

+ 2 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/dao/a2dao/MediicineDeviceDao.java

@ -26,5 +26,6 @@ public interface MediicineDeviceDao extends PagingAndSortingRepository<Mediicine
    Mediicinedevice findMediicinedeviceByEquNum(String equNum);
    @Query(value = "select * from t_mediicine_device as a where 1=1 limit ?1,?2 ",nativeQuery = true)
    Iterable<Mediicinedevice> findDeviceAll(int page, int size);
}

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/a2dao/MediicineorderDao.java

@ -38,5 +38,7 @@ public interface MediicineorderDao extends PagingAndSortingRepository<Mediicineo
    List<Mediicineorder> findMediicineordersBySocialSecurityCardNum(String cardNum);
    List<Mediicineorder> findMediicineordersBySocialSecurityCardNumAndSellState(String cardNum, String sellState);
}

+ 2 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/dao/a2dao/MediicinewarrayDao.java

@ -12,10 +12,10 @@ import java.util.List;
public interface MediicinewarrayDao extends PagingAndSortingRepository<Mediicinewarray, String> {
    //温度报警
    @Query("select a from Mediicinewarray a where a.type='temperature' and a.idDevice like %?1% and a.equClass like  %?2% and  (?3 = -999  or a.networkStatus=?3 ) and  (?4 = -999  or (a.temperature between ?4 and ?5)) and ( a.equName like %?6% or a.equNum like %?6%  ) and a.logTime between ?7 and  ?8 ")
    @Query("select a from Mediicinewarray a where a.type like '%温度%' and a.idDevice like %?1% and a.equClass like  %?2% and  (?3 = -999  or a.networkStatus=?3 ) and  (?4 = -999  or (a.temperature between ?4 and ?5)) and ( a.equName like %?6% or a.equNum like %?6%  ) and a.logTime between ?7 and  ?8 ")
    List<Mediicinewarray> gettemperature(String idDevice,String equClass,float networkStatus,float temperaturebeg,float temperatureend,String codename,Date beg , Date end);
    //湿度报警
    @Query("select a from Mediicinewarray a where a.type='humidity' and a.idDevice like %?1% and a.equClass like  %?2% and  (?3 = -999  or a.networkStatus=?3 ) and  (?4 = -999  or (a.temperature between ?4 and ?5)) and ( a.equName like %?6% or a.equNum like %?6%  ) and a.logTime between ?7 and  ?8 ")
    @Query("select a from Mediicinewarray a where a.type like '%湿度%' and a.idDevice like %?1% and a.equClass like  %?2% and  (?3 = -999  or a.networkStatus=?3 ) and  (?4 = -999  or (a.temperature between ?4 and ?5)) and ( a.equName like %?6% or a.equNum like %?6%  ) and a.logTime between ?7 and  ?8 ")
    List<Mediicinewarray> gethumidity(String idDevice,String equClass,float networkStatus,float humiditybeg,float humidityend,String codename,Date beg , Date end);
    //离线报警
    @Query("select a from Mediicinewarray a where a.type='offline' and a.idDevice like %?1% and a.equClass like  %?2% and  (?3 = -999  or a.networkStatus=?3 ) and  (?4 = -999  or (a.temperature between ?4 and ?5)) and ( a.equName like %?6% or a.equNum like %?6%  ) and a.logTime between ?7 and  ?8 ")

+ 134 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/FundsManagementEndpoint.java

@ -0,0 +1,134 @@
package com.yihu.jw.base.endpoint.a4endpoint;
import com.yihu.jw.base.service.a3service.MedicineOrderService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = "/Funds")
@Api(value = "资金管理", description = "资金管理", tags = {"资金管理--对账单"})
public class FundsManagementEndpoint extends EnvelopRestEndpoint {
    @Autowired
    MedicineOrderService medicineOrderService;
    @ApiOperation(value = "对账单-导出账单")
    @GetMapping("/reconciliationExcel")
    public Envelop reconciliationExcel(@ApiParam(name="belongCommunity",value = "社区编码",required = false)
                                  @RequestParam(value = "belongCommunity" ,required = false)String belongCommunity,
                                  @ApiParam(name = "equNum" ,value = "设备编码" ,required = false)
                                  @RequestParam(value = "equNum",required = false)String equNum,
                                  @ApiParam(name = "startTime" ,value = "开始时间",required = false)
                                  @RequestParam(value = "startTime" ,required = false)String startTime,
                                  @ApiParam(name = "endTime",value = "截止时间",required = false)
                                  @RequestParam(value = "endTime",required = false)String endTime,
                                  @ApiParam(name = "page",value = "页码",required = false)
                                  @RequestParam(value = "page",defaultValue = "1",required = false)int page,
                                  @ApiParam(name = "size",value = "页码",required = false)
                                  @RequestParam(value = "size",defaultValue = "15",required = false)int size,
                                  HttpServletResponse response){
        MixEnvelop expressages = null;
        try {
            expressages = medicineOrderService.getSumAmountExcel(belongCommunity,equNum,startTime,endTime,page,size);
            List<Map<String, Object>> list = expressages.getDetailModelList();
            response.setContentType("octets/stream");
            response.setHeader("Content-Disposition", "attachment; filename=" + new String("pushDataList.xls".getBytes("utf-8"), "iso8859-1"));
            OutputStream os = response.getOutputStream();
            medicineOrderService.pushListWrite(os, list);
            return success(expressages);
        } catch (Exception e) {
            return failedException(e);
        }
    }
    @ApiOperation(value = "对账单")
    @GetMapping("/reconciliation")
    public Envelop reconciliation(@ApiParam(name="belongCommunity",value = "社区编码",required = false)
                                  @RequestParam(value = "belongCommunity" ,required = false)String belongCommunity,
                                  @ApiParam(name = "equNum" ,value = "设备编码" ,required = false)
                                  @RequestParam(value = "equNum",required = false)String equNum,
                                  @ApiParam(name = "startTime" ,value = "开始时间",required = false)
                                  @RequestParam(value = "startTime" ,required = false)String startTime,
                                  @ApiParam(name = "endTime",value = "截止时间",required = false)
                                  @RequestParam(value = "endTime",required = false)String endTime,
                                  @ApiParam(name = "page",value = "页码",required = false)
                                      @RequestParam(value = "page",defaultValue = "1",required = false)int page,
                                  @ApiParam(name = "size",value = "页码",required = false)
                                      @RequestParam(value = "size",defaultValue = "15",required = false)int size){
        List<Map<String,Object>> list = null;
        try {
            list = medicineOrderService.getSumAmount(belongCommunity,equNum,startTime,endTime,page,size);
            return success(list);
        } catch (Exception e) {
            return failedException(e);
        }
    }
    @ApiOperation(value = "查看设备订单详情")
    @GetMapping("/deviceInfo")
    public Envelop deviceInfo(@ApiParam(name = "prescribeNum",value = "处方号",required = false)
                              @RequestParam(value = "prescribeNum",required = false)String prescribeNum,
                              @ApiParam(name = "amount",value = "金额",required = false)
                              @RequestParam(value = "amount",required = false)String amount,
                              @ApiParam(name = "startTime" ,value = "开始时间",required = false)
                              @RequestParam(value = "startTime" ,required = false)String startTime,
                              @ApiParam(name = "endTime",value = "截止时间",required = false)
                              @RequestParam(value = "endTime",required = false)String endTime,
                              @ApiParam(name = "deviceId",value = "设备编号",required = true)
                              @RequestParam(value = "deviceId",required = true)String deviceId,
                              @ApiParam(name = "page",value = "页码",required = false)
                                  @RequestParam(value = "page",defaultValue = "1",required = false)int page,
                              @ApiParam(name = "size",value = "页码",required = false)
                                  @RequestParam(value = "size",defaultValue = "15",required = false)int size){
        List<Map<String,Object>> list = medicineOrderService.getDeviceInfo(prescribeNum,amount,startTime,endTime,deviceId,page,size);
        return success(list);
    }
    @ApiOperation(value = "导出设备订单详情")
    @GetMapping("/deviceInfoExcel")
    public Envelop deviceInfoExcel(@ApiParam(name = "prescribeNum",value = "处方号",required = false)
                              @RequestParam(value = "prescribeNum",required = false)String prescribeNum,
                              @ApiParam(name = "amount",value = "金额",required = false)
                              @RequestParam(value = "amount",required = false)String amount,
                              @ApiParam(name = "startTime" ,value = "开始时间",required = false)
                              @RequestParam(value = "startTime" ,required = false)String startTime,
                              @ApiParam(name = "endTime",value = "截止时间",required = false)
                              @RequestParam(value = "endTime",required = false)String endTime,
                              @ApiParam(name = "deviceId",value = "设备编号",required = true)
                              @RequestParam(value = "deviceId",required = true)String deviceId,
                              @ApiParam(name = "page",value = "页码",required = false)
                              @RequestParam(value = "page",defaultValue = "1",required = false)int page,
                              @ApiParam(name = "size",value = "页码",required = false)
                              @RequestParam(value = "size",defaultValue = "15",required = false)int size,
                                   HttpServletResponse response){
        try {
            MixEnvelop expressages = medicineOrderService.getDeviceInfoExcel(prescribeNum,amount,startTime,endTime,deviceId,page,size);
            List<Map<String, Object>> list = expressages.getDetailModelList();
            response.setContentType("octets/stream");
            response.setHeader("Content-Disposition", "attachment; filename=" + new String("deviceInfoExcel.xls".getBytes("utf-8"), "iso8859-1"));
            OutputStream os = response.getOutputStream();
            medicineOrderService.deviceInfoExcel(os, list);
            return success(expressages);
        } catch (Exception e) {
            return failedException(e);
        }
    }
    @ApiOperation("所有设备销售额")
    @GetMapping("/getAmount")
    public Envelop getAmount(){
        return success(medicineOrderService.getAllAmount());
    }
}

+ 4 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/a4endpoint/MedicineWarrayEndpoint.java

@ -6,6 +6,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.service.a3service.MedicineOrderService;
import com.yihu.jw.base.service.a3service.MedicineWarrayService;
import com.yihu.jw.entity.a1entity.Mediicinewarray;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
@ -41,8 +42,8 @@ public class MedicineWarrayEndpoint extends EnvelopRestEndpoint {
    public PageEnvelop getTemperature(
            @ApiParam(name = "idDevice", value = "设备id")
            @RequestParam(value = "idDevice", required = false) String idDevice,
            @ApiParam(name = "equClass", value = "设备分类")
            @RequestParam(value = "equClass", required = false) String equClass,
            @ApiParam(name = "equType", value = "设备分类")
            @RequestParam(value = "equType", required = false) String equType,
            @ApiParam(name = "networkStatus", value = "网络状态")
            @RequestParam(value = "networkStatus", required = false) String networkStatus,
            @ApiParam(name = "lowT", value = "温度下限", required = false, defaultValue = "")
@ -59,7 +60,7 @@ public class MedicineWarrayEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        JSONObject result = warraytService.getTemperature(idDevice, equClass,networkStatus, lowT, heightT, content,startTime, endTime,page,size,wechatId);
        JSONObject result = warraytService.getTemperature(idDevice, equType,networkStatus, lowT, heightT, content,startTime, endTime,page,size,wechatId);
        return success(result.getJSONArray("msg"),result.getInteger("count"),page,size);
    }

+ 11 - 7
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/open/nologin/ServiceNoLoginEndPoint.java

@ -20,6 +20,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -200,14 +201,17 @@ public class ServiceNoLoginEndPoint extends EnvelopRestEndpoint {
            @RequestParam(value = "humidity", required = false) Float humidity,
            @ApiParam(name = "type",value = "故障类型",required = false)
            @RequestParam(value = "type",required = false)String type) throws Exception {
        Map<String,Object> mediicinewarray = warrayService.warning(equNum,temperature,humidity,type);
        if (mediicinewarray==null){
            return failed("请确认设备编码是否正确");
        if (StringUtils.isEmpty(type)){
            Map<String,Object> mediicinewarray = warrayService.warning(equNum,temperature,humidity,type);
            if (mediicinewarray==null){
                return failed("请确认设备编码是否正确");
            }
            if (mediicinewarray.get("msg")==null){
                return success("设备正常");
            }
            return success(mediicinewarray.get("msg"));
        }
        if (mediicinewarray.get("msg")==null){
            return success("设备正常");
        }
        return success(mediicinewarray.get("msg"));
        return success(deviceService.uploadDeviceInfo(equNum, temperature, humidity, type));
    }
}

+ 5 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedOrderService.java

@ -80,22 +80,24 @@ public class MedOrderService {
            mediicineorder.setDeptName(params.getString("rx_doctor_name"));
            mediicineorder.setDoctorAdvice(params.getString("rx_doctoradvice"));
            mediicineorder.setAllergyInfo(params.getString("rx_allergy_info"));
            mediicineorder.setPickUpNum(params.getString("pick_up_num"));
            mediicineorder.setSocialSecurityCardNum(params.getString("securityCardNum"));
            mediicineorder.setPickUpNum(order);
            mediicineorder.setAmount(params.getString("orderAmount"));
            mediicineorder.setSocialSecurityCardNum(params.getString("SecurityCardNum"));
            mediicineorder.setSocialinsurPayment(params.getString("socialinsurPayment"));
            mediicineorder.setOrderAmount(params.getString("orderAmount"));
            mediicineorder.setPayTime(params.getDate("payTime"));
            Mediicineorder ord=mediicineorderDao.save(mediicineorder);
            JSONArray jsonArray=params.getJSONArray("rx_drugs");
            List<Mediicineorderdetail> mediicineorderdetailList=new ArrayList<>();
            Mediicineorderdetail mediicineorderdetail=new Mediicineorderdetail();
            for (int i = 0; i <jsonArray.size() ; i++) {
                Mediicineorderdetail mediicineorderdetail=new Mediicineorderdetail();
                JSONObject jsonObject=jsonArray.getJSONObject(i);
                mediicineorderdetail.setId(jsonObject.getString("drug_id"));
                mediicineorderdetail.setDrugSku(jsonObject.getString("drug_sku "));
                mediicineorderdetail.setDrugCode(jsonObject.getString("drug_code"));
                mediicineorderdetail.setSpecif(jsonObject.getString("drug_specs"));
                mediicineorderdetail.setDrugNum(jsonObject.getString("drug_num"));
                mediicineorderdetail.setQuantity(jsonObject.getString("drug_num"));
                mediicineorderdetail.setPrice(jsonObject.getFloat("drug_price"));
                mediicineorderdetail.setUseNum(jsonObject.getString("drug_use_num"));
                mediicineorderdetail.setUseWay(jsonObject.getString("drug_use_way"));

+ 251 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineOrderService.java

@ -13,15 +13,24 @@ import com.yihu.jw.entity.base.role.RoleDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.hospital.DmHospitalDO;
import com.yihu.jw.hospital.HospitalDao;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import jxl.format.VerticalAlignment;
import jxl.write.*;
import org.apache.commons.collections4.IterableUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.awt.print.Pageable;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.Boolean;
import java.util.*;
import java.util.logging.Logger;
import java.util.stream.Collectors;
@ -1480,4 +1489,246 @@ public class MedicineOrderService extends BaseJpaService<Mediicineorder, Mediici
        result.put("msg", jsonObject);
        return result;
    }
    public MixEnvelop getSumAmountExcel(String belongCommunity, String equNum, String startTime, String endTime,int page,int size) {
        List<Map<String,Object>> mapList=new ArrayList<>();
        Map<String,Object> countMap = new HashMap<>();
        //第几页
        countMap.put("page",page);
        //多少条
        countMap.put("size",size);
        page = (page - 1) * size;
        //查询出所有的设备
        Iterable <Mediicinedevice> mediicinedevices = deviceDao.findDeviceAll(page,size);
        List<Mediicinedevice> mediicinedeviceList= IterableUtils.toList(mediicinedevices);
        String countSql = " select " +
                "     COUNT(DISTINCT (t.id)) as count " +
                "   from " +
                "     t_mediicine_device as t " +
                "  where " +
                "  1=1   " ;
        Logger.getAnonymousLogger().info("finalCountSql="+countSql);
        int decCount = jdbcTemplate.queryForObject(countSql,Integer.class);
        //总页数
        int total=decCount/size+(decCount%size>0?1:0);
        countMap.put("total",total);
        //总条数
        countMap.put("count",decCount);
        mapList.add(countMap);
        //将同一个设备的社区/名称/设备编码/历史记录/总金额放到一个Map中,并将这些Map放到同一个list中返回
        for (Mediicinedevice mediicinedevice:mediicinedeviceList){
            Map<String,Object> map=new HashMap<>();
            map.put("community",mediicinedevice.getCommunity());
            map.put("equName",mediicinedevice.getEquNum()+(mediicinedevice.getEquName()==null?"":"/"+mediicinedevice.getEquName()));
            String oneSql="SELECT SUM(t.amount) AS sumAmount,\n" +
                    "                COUNT(*) AS count,\n" +
                    "                t.shipping_equ AS equNum\n" +
                    "                FROM t_mediicine_order  t WHERE t.sell_state = 1 AND t.shipping_equ = '" + mediicinedevice.getEquNum()+"'";
            String conditionSql="";
            if (org.apache.commons.lang3.StringUtils.isNoneBlank(belongCommunity)){
                conditionSql += "AND t.belong_community ='"+belongCommunity+"'";
            }
            if (org.apache.commons.lang3.StringUtils.isNoneBlank(equNum)){
                conditionSql += "AND t.shipping_equ = '" + equNum + "'";
            }
            if (org.apache.commons.lang3.StringUtils.isNoneBlank(startTime)){
                conditionSql += "AND t.shipping_time >= "+ startTime  ;
            }
            if (org.apache.commons.lang3.StringUtils.isNoneBlank(endTime)){
                conditionSql += "AND t.shipping_time <= "+ endTime ;
            }
            oneSql=oneSql+conditionSql;
            List<Map<String,Object>> list = hibenateUtils.createSQLQuery(oneSql);
            for (Map<String,Object> oneMap:list){
                String count = oneMap.get("count")==null?"0":oneMap.get("count").toString();
                String sumAmount=oneMap.get("sumAmount")==null?"0":oneMap.get("sumAmount").toString();
                map.put("ordercount",count);
                map.put("sumAmount",sumAmount);
            }
            mapList.add(map);
        }
        return MixEnvelop.getSuccessListWithPage2(BaseHospitalRequestMapping.Prescription.api_success,mapList);
    }
    public List<Map<String,Object>> getSumAmount(String belongCommunity, String equNum, String startTime, String endTime,int page,int size) {
        List<Map<String,Object>> mapList=new ArrayList<>();
        page = (page - 1) * size;
        //查询出所有的设备
        Iterable <Mediicinedevice> mediicinedevices = deviceDao.findDeviceAll(page,size);
        List<Mediicinedevice> mediicinedeviceList= IterableUtils.toList(mediicinedevices);
        String countSql = " select " +
                "     COUNT(DISTINCT (t.id)) as count " +
                "   from " +
                "     t_mediicine_device as t " +
                "  where " +
                "  1=1   " ;
        Logger.getAnonymousLogger().info("finalCountSql="+countSql);
        int decCount = jdbcTemplate.queryForObject(countSql,Integer.class);
        Map<String,Object> countMap = new HashMap<>();
        countMap.put("count",decCount);
        mapList.add(countMap);
        //将同一个设备的社区/名称/设备编码/历史记录/总金额放到一个Map中,并将这些Map放到同一个list中返回
        for (Mediicinedevice mediicinedevice:mediicinedeviceList){
            Map<String,Object> map=new HashMap<>();
            map.put("community",mediicinedevice.getCommunity());
            map.put("equName",mediicinedevice.getEquNum()+(mediicinedevice.getEquName()==null?"":"/"+mediicinedevice.getEquName()));
            String oneSql="SELECT SUM(t.amount) AS sumAmount,\n" +
                    "                COUNT(*) AS count,\n" +
                    "                t.shipping_equ AS equNum\n" +
                    "                FROM t_mediicine_order  t WHERE t.sell_state = 1 AND t.shipping_equ = '" + mediicinedevice.getEquNum()+"'";
            if (org.apache.commons.lang3.StringUtils.isNoneBlank(belongCommunity)){
                oneSql += "AND t.belong_community ='"+belongCommunity+"'";
            }
            if (org.apache.commons.lang3.StringUtils.isNoneBlank(equNum)){
                oneSql += "AND t.shipping_equ = '" + equNum + "'";
            }
            if (org.apache.commons.lang3.StringUtils.isNoneBlank(startTime)){
                oneSql += "AND t.shipping_time >= "+ startTime  ;
            }
            if (org.apache.commons.lang3.StringUtils.isNoneBlank(endTime)){
                oneSql += "AND t.shipping_time <= "+ endTime ;
            }
            List<Map<String,Object>> list = hibenateUtils.createSQLQuery(oneSql);
            for (Map<String,Object> oneMap:list){
                String count = oneMap.get("count")==null?"0":oneMap.get("count").toString();
                String sumAmount=oneMap.get("sumAmount")==null?"0":oneMap.get("sumAmount").toString();
                map.put("ordercount",count);
                map.put("sumAmount",sumAmount);
            }
            mapList.add(map);
        }
        return mapList;
    }
    public void pushListWrite(OutputStream os, List<Map<String, Object>> list)throws Exception {
        WritableWorkbook wwb = jxl.Workbook.createWorkbook(os);
        try {
            WritableSheet sheet;
            sheet = wwb.createSheet("sheet", 1);
            String header[] = {"社区", "设备编号/设备名", "历史订单", "总销售额"};
            int i = 0;
            for (String h : header) {
                addCell(sheet, 0, i, h);
                i++;
            }
            int j = 1;
            for (Map<String, Object> tmp : list) {
                addCell(sheet, j, 0, tmp.get("community")==null ? "" : tmp.get("community").toString());
                addCell(sheet, j, 1, tmp.get("equName") == null? "" : tmp.get("equName").toString());
                addCell(sheet, j, 2, tmp.get("ordercount") == null ? "" : tmp.get("ordercount").toString());
                addCell(sheet, j, 3, tmp.get("sumAmount") == null ? "" :tmp.get("sumAmount").toString());
                j++;
            }
            wwb.write();
            wwb.close();
        } catch (IOException e) {
            e.printStackTrace();
            if (wwb != null) wwb.close();
            throw e;
        }
    }
    public void addCell(WritableSheet ws, int row, int column, String data) throws WriteException {
        Label label = new Label(column, row, data);
        WritableCellFormat cellFormat = new WritableCellFormat();
        cellFormat.setAlignment(jxl.format.Alignment.CENTRE);
        cellFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
        label.setCellFormat(cellFormat);
        ws.addCell(label);
    }
    public List<Map<String,Object>> getDeviceInfo(String prescribeNum, String amount, String startTime, String endTime, String deviceId,int page,int size) {
        String sql="SELECT\n" +
                "       t.prescribe_time AS 'prescribeTime',\n" +
                "       t.prescribe_num AS 'prescribeNum',\n" +
                "       t.amount AS 'amount',\n" +
                "       t.socialinsur_payment AS 'socialinsurPayment',\n" +
                "       t.amount AS 'sumAmount'" +
                "FROM t_mediicine_order t\n" +
                "WHERE " +
                "t.shipping_equ='"+deviceId+"'";
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(prescribeNum)){
            sql += " AND t.prescribe_num='"+prescribeNum+"'";
        }
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(amount)){
            sql += " AND t.amount='"+amount+"'";
        }
        if(org.apache.commons.lang3.StringUtils.isNoneBlank(startTime)){
            sql += " AND t.prescribe_time>='"+startTime+"'";
        }
        if(org.apache.commons.lang3.StringUtils.isNoneBlank(endTime)){
            sql += " AND t.prescribe_time<='"+endTime+"'";
        }
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,size);
        return list;
    }
    public MixEnvelop getDeviceInfoExcel(String prescribeNum, String amount, String startTime, String endTime, String deviceId,int page,int size) {
        String sql="SELECT\n" +
                "       t.prescribe_time AS 'prescribeTime',\n" +
                "       t.prescribe_num AS 'prescribeNum',\n" +
                "       t.amount AS 'amount',\n" +
                "       t.socialinsur_payment AS 'socialinsurPayment',\n" +
                "       t.amount AS 'sumAmount'" +
                "FROM t_mediicine_order t\n" +
                "WHERE " +
                "t.shipping_equ='"+deviceId+"'";
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(prescribeNum)){
            sql += " AND t.prescribe_num='"+prescribeNum+"'";
        }
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(amount)){
            sql += " AND t.amount='"+amount+"'";
        }
        if(org.apache.commons.lang3.StringUtils.isNoneBlank(startTime)){
            sql += " AND t.prescribe_time>='"+startTime+"'";
        }
        if(org.apache.commons.lang3.StringUtils.isNoneBlank(endTime)){
            sql += " AND t.prescribe_time<='"+endTime+"'";
        }
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,page,size);
        return MixEnvelop.getSuccessListWithPage2(BaseHospitalRequestMapping.Prescription.api_success,list);
    }
    public void deviceInfoExcel(OutputStream os, List<Map<String, Object>> list)throws Exception {
        WritableWorkbook wwb = jxl.Workbook.createWorkbook(os);
        try {
            WritableSheet sheet;
            sheet = wwb.createSheet("sheet", 1);
            String header[] = {"开方时间", "处方号", "交易金额", "社保抵扣","合计"};
            int i = 0;
            for (String h : header) {
                addCell(sheet, 0, i, h);
                i++;
            }
            int j = 1;
            for (Map<String, Object> tmp : list) {
                addCell(sheet, j, 0, tmp.get("prescribeTime")==null ? "" : tmp.get("prescribeTime").toString());
                addCell(sheet, j, 1, tmp.get("prescribeNum") == null? "" : tmp.get("prescribeNum").toString());
                addCell(sheet, j, 2, tmp.get("amount") == null ? "0" : tmp.get("amount").toString());
                addCell(sheet, j, 3, tmp.get("socialinsurPayment") == null ? "" :tmp.get("socialinsurPayment").toString());
                addCell(sheet, j, 4, tmp.get("sumAmount") == null ? "" :tmp.get("sumAmount").toString());
                j++;
            }
            wwb.write();
            wwb.close();
        } catch (IOException e) {
            e.printStackTrace();
            if (wwb != null) wwb.close();
            throw e;
        }
    }
    public List<Map<String,Object>> getAllAmount() {
        String sql="SELECT sum(t.amount) AS 'sumAmount' " +
                "from t_mediicine_order t ," +
                "t_mediicine_device a " +
                "where " +
                "a.equ_num=t.shipping_equ " +
                "and t.sell_state='1' ";
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
        return list;
    }
}

+ 5 - 5
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineWarrayService.java

@ -45,7 +45,7 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
    private HibenateUtils hibenateUtils;
    public JSONObject getTemperature(
            String idDevice, String equClass, String netStatus, String lowT, String heightT,
            String idDevice, String equType, String netStatus, String lowT, String heightT,
                String content, String startTime, String endTime, int page, int size,String wechatId) throws Exception {
        JSONObject result = new JSONObject();
        String sql = "SELECT\n" +
@ -91,13 +91,13 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
        String conditionSql = "";
        conditionSql += " and t.type='temperature'";
//        conditionSql += " and t.type like '%温度%'";
        if (!StringUtils.isEmpty(idDevice)){
            conditionSql += " and t.id_device = '" + idDevice + "'";
        }
        if (!StringUtils.isEmpty(equClass)){
            conditionSql += " and t.equ_class = '" + equClass + "'";
        if (!StringUtils.isEmpty(equType)){
            conditionSql += " and t.equ_type = '" + equType + "'";
        }
        if (!StringUtils.isEmpty(netStatus)){
            conditionSql += " and t.network_status = '" + netStatus + "'";
@ -184,7 +184,7 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
                "    t_mediicine_warray AS t where 1=1";
        String conditionSql = "";
        conditionSql += " and t.type='humidity'";
//        conditionSql += " and t.type like '%湿度%'";
        if (!StringUtils.isEmpty(idDevice)){
            conditionSql += " and t.id_device = '" + idDevice + "'";

+ 138 - 9
svr/svr-base/src/main/java/com/yihu/jw/base/service/user/UserService.java

@ -43,6 +43,7 @@ import org.springframework.util.CollectionUtils;
import javax.swing.text.html.parser.Entity;
import java.io.IOException;
import java.sql.PreparedStatement;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.logging.Logger;
@ -335,6 +336,7 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
        JSONObject user = jsonObject.getJSONObject("user");
//        JSONArray org = jsonObject.getJSONArray("org");
        JSONArray area = user.getJSONArray("area");
        JSONArray belongArea = user.getJSONArray("belongArea");
        JSONArray equipment = user.getJSONArray("equipment");
       /* //归属租户为默认租户,表示用户为超级管理员,不需要机构
@ -401,6 +403,30 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
            }
        }
        result.put("area",list);
        List<WlyyUserAreaDO> arealist=new ArrayList<>();
        if (belongArea!=null&&belongArea.size()!=0){
            userAreaDao.deleteByUserId(userDO.getId());
            for (int i=0;i<belongArea.size();i++){
                JSONObject object = belongArea.getJSONObject(i);
                WlyyUserAreaDO userAreaDO = new WlyyUserAreaDO();
                userAreaDO.setUserId(userDO.getId());
                userAreaDO.setCity(object.getString("city"));
                userAreaDO.setCityName(object.getString("cityName"));
                userAreaDO.setTown(object.getString("town"));
                userAreaDO.setTownName(object.getString("townName"));
                if (!StringUtils.isEmpty(object.getString("hospital"))){
                    userAreaDO.setHospital(object.getString("hospital"));
                    userAreaDO.setHospitalName(object.getString("hospitalName"));
                }
                userAreaDO.setCreateTime(new Date());
                userAreaDO.setUpdateTime(new Date());
                userAreaDO.setDel(1);
                userAreaDO=userAreaDao.save(userAreaDO);
                arealist.add(userAreaDO);
            }
        }
        result.put("belongArea",arealist);
        //用户所管设备添加
        //equipment:[{"equipmentId":"","equipmentName":""}]
        List<WlyyUserEquipmentDO> equipmentDOS=new ArrayList<>();
@ -457,6 +483,7 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
        JSONObject jsonObject = JSONObject.parseObject(jsonData);
        JSONObject user = jsonObject.getJSONObject("user");
 //       JSONArray org = jsonObject.getJSONArray("org");
        JSONArray belongArea = user.getJSONArray("belongArea");
        JSONArray area = user.getJSONArray("area");
        JSONArray equipment = user.getJSONArray("equipment");
       /* if (null == user ||  CollectionUtils.isEmpty(org) && !user.getString("saasId").equalsIgnoreCase(defaultSaasId)) {
@ -471,6 +498,8 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
            UserDO oldUser = userDao.findOne(userDO.getId());
            userDO.setPassword(oldUser.getPassword());
            userDO.setSalt(oldUser.getSalt());
            userDO.setEnabled(1);
            userDO.setLocked(0);
            userDO.setUpdateTime(new Date());
        } catch (Exception e) {
            result.put("msg", "convert user jsonObject to UserDO failed," + e.getCause());
@ -529,6 +558,30 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
            }
        }
        result.put("area",list);
        List<WlyyUserAreaDO> arealist=new ArrayList<>();
        if (belongArea!=null&&belongArea.size()!=0){
            userAreaDao.deleteByUserId(userDO.getId());
            for (int i=0;i<belongArea.size();i++){
                JSONObject object = belongArea.getJSONObject(i);
                WlyyUserAreaDO userAreaDO = new WlyyUserAreaDO();
                userAreaDO.setUserId(userDO.getId());
                userAreaDO.setCity(object.getString("city"));
                userAreaDO.setCityName(object.getString("cityName"));
                userAreaDO.setTown(object.getString("town"));
                userAreaDO.setTownName(object.getString("townName"));
                if (!StringUtils.isEmpty(object.getString("hospital"))){
                    userAreaDO.setHospital(object.getString("hospital"));
                    userAreaDO.setHospitalName(object.getString("hospitalName"));
                }
                userAreaDO.setCreateTime(new Date());
                userAreaDO.setUpdateTime(new Date());
                userAreaDO.setDel(1);
                userAreaDO=userAreaDao.save(userAreaDO);
                arealist.add(userAreaDO);
            }
        }
        result.put("belongArea",arealist);
        //用户所管设备添加
        //equipment:[{"equipmentId":"","equipmentName":""}]
        List<WlyyUserEquipmentDO> equipmentDOS=new ArrayList<>();
@ -582,7 +635,18 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
            return result;
        }
        //用户角色
        RoleDO roleDO = roleDao.findOne(user.getRoleId());
        List<RoleDO> roleDO =new ArrayList<>();
        if (user.getRoleId().contains(",")){
            String [] roleIds = user.getRoleId().split(",");
            for (int i = 0; i <roleIds.length ; i++) {
                RoleDO role = roleDao.findOne(roleIds[i]);
                roleDO.add(role);
            }
        }else {
            RoleDO roleOne = roleDao.findOne(user.getRoleId());
            roleDO.add(roleOne);
        }
        //用户所属区域
        List<WlyyUserAreaDO> userAreaDOList = userAreaDao.findAllByUserId(userId);
@ -876,6 +940,7 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
     */
    public JSONObject userInfoList(String name,String saasid,String roleId,int page,int size,String wechatId) throws Exception {
        JSONObject result = new JSONObject();
        List<String>roleList=new ArrayList();
   /*     int start = 0 == page ? page++ : (page - 1) * size;
        int end = 0 == size ? 15 : page * size;*/
        String realName = null == name ? "" : name;
@ -930,11 +995,14 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
//        result.put("count", count);
//        result.put("msg", JavaBeanUtils.getInstance().mapListJson(list));
        List<WlyyUserAreaDO> areaDOList=new ArrayList<>();
        String finalSql="SELECT\n" +
                "\t\t\tusr . ID AS \"id\",\n" +
                "\t\t\tusr . NAME AS \"realName\",\n" +
                "\t\t\tusr .username AS \"username\",\n" +
                "\t\t\tusr .update_time AS \"updateTime\",\n" +
                "\t\t\tusr .create_time AS \"createTime\",\n" +
                "\t\t\tusr .role_id AS \"roleId\",\n" +
                "\t\t\tCASE \n" +
                "\t\tWHEN usr .enabled=0 THEN\n" +
                "\t\t\t'已失效'\n" +
@ -942,15 +1010,15 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
                "\t\t\t'生效中'\n" +
                "\t\tEND  AS \"enabled\",\n" +
                "\t\tusr .mobile AS \"mobile\",\n" +
                "\t\tsaas. NAME AS \"saasName\",\n" +
                "\t\tROLE . NAME AS \"roleName\"\n" +
                "\t\tsaas. NAME AS \"saasName\"\n" +
//                "\t\tROLE . NAME AS \"roleName\"\n" +
                "\tFROM\n" +
                "\t\tbase_user usr,\n" +
                "\t\tbase_saas saas,\n" +
                "\t\tbase_role ROLE\n" +
                "\t\tbase_saas saas\n" +
//                "\t\tbase_role ROLE\n" +
                "\tWHERE\n" +
                "\t\tusr .saas_id = saas. ID\n" +
                "\tAND usr .role_id = ROLE . ID\n" ;
                "\t\tusr .saas_id = saas. ID\n" ;
//                "\tAND usr .role_id = ROLE . ID\n" ;
                if(!realName.equals(null) && !realName.equals("")){
                    finalSql = finalSql + " and usr . NAME LIKE '%"+realName+"%'";
                }
@ -958,7 +1026,7 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
                    finalSql = finalSql + " and saas. id = '"+saasidValue+"'";
                }
                if(!roleIdValue.equals(null) && !roleIdValue.equals("")){
                    finalSql = finalSql + " and usr .role_id = '"+roleIdValue+"'";
                    finalSql = finalSql + " and usr .role_id like '%"+roleIdValue+"%'";
                }
                finalSql = finalSql + " ORDER BY usr .create_time DESC";
        Logger.getAnonymousLogger().info("finalSql="+finalSql);
@ -974,6 +1042,26 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
                sql+=" LIMIT  " + (page - 1) * size + "," + size + "";
                Logger.getAnonymousLogger().info("sql="+sql);
                list = jdbcTemplate.queryForList(sql);
                for (Map<String,Object> map:list){
                    String id = (String) map.get("id");
                    if (map.get("id")!=null){
                        areaDOList = userAreaDao.findAllByUserId(id);
                        map.put("area",areaDOList);
                    }
                    if (map.get("roleId")!=null){
                        if (map.get("roleId").toString().contains(",")){
                            String[] roleIds=map.get("roleId").toString().split(",");
                            for (String role:roleIds){
                                RoleDO roleDO=roleDao.findOne(role);
                                roleList.add(roleDO.getName());
                            }
                        }else {
                            RoleDO roleDO=roleDao.findOne(map.get("roleId").toString());
                            roleList.add(roleDO.getName());
                        }
                        map.put("roleName",roleList);
                    }
                }
            }else {
                String oracleSql="SELECT\n" +
                        "\t*\n" +
@ -994,12 +1082,53 @@ public class UserService extends BaseJpaService<UserDO, UserDao> {
                        "\tROWNUM >= "+(page-1)*size;
                Logger.getAnonymousLogger().info("oracleSql="+oracleSql);
                list = jdbcTemplate.queryForList(oracleSql);
                for (Map<String,Object> map:list){
                    String id = (String) map.get("id");
                    if (map.get("id")!=null){
                        areaDOList = userAreaDao.findAllByUserId(id);
                        map.put("area",areaDOList);
                    }
                    if (map.get("roleId")!=null){
                        if (map.get("roleId").toString().contains(",")){
                            String[] roleIds=map.get("roleId").toString().split(",");
                            for (String role:roleIds){
                                RoleDO roleDO=roleDao.findOne(role);
                                roleList.add(roleDO.getName());
                            }
                        }else {
                            RoleDO roleDO=roleDao.findOne(map.get("roleId").toString());
                            roleList.add(roleDO.getName());
                        }
                        map.put("roleName",roleList);
                    }
                }
            }
        }else {
            sql+=" LIMIT  " + (page - 1) * size + "," + size + "";
            Logger.getAnonymousLogger().info("sql="+sql);
            list = jdbcTemplate.queryForList(sql);
            for (Map<String,Object> map:list){
                String id = (String) map.get("id");
                if (map.get("id")!=null){
                    areaDOList = userAreaDao.findAllByUserId(id);
                    map.put("area",areaDOList);
                }
                if (map.get("roleId")!=null){
                    if (map.get("roleId").toString().contains(",")){
                        String[] roleIds=map.get("roleId").toString().split(",");
                        for (String role:roleIds){
                            RoleDO roleDO=roleDao.findOne(role);
                            roleList.add(roleDO.getName());
                        }
                    }else {
                        RoleDO roleDO=roleDao.findOne(map.get("roleId").toString());
                        roleList.add(roleDO.getName());
                    }
                    map.put("roleName",roleList);
                }
            }
        }

+ 5 - 3
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/med/MedOrderService.java

@ -79,22 +79,24 @@ public class MedOrderService {
            mediicineorder.setDeptName(params.getString("rx_doctor_name"));
            mediicineorder.setDoctorAdvice(params.getString("rx_doctoradvice"));
            mediicineorder.setAllergyInfo(params.getString("rx_allergy_info"));
            mediicineorder.setPickUpNum(mediicineorder.getPrescribeNum());
            mediicineorder.setSocialSecurityCardNum(params.getString("securityCardNum"));
            mediicineorder.setPickUpNum(order);
            mediicineorder.setAmount(params.getString("orderAmount"));
            mediicineorder.setSocialSecurityCardNum(params.getString("SecurityCardNum"));
            mediicineorder.setSocialinsurPayment(params.getString("socialinsurPayment"));
            mediicineorder.setOrderAmount(params.getString("orderAmount"));
            mediicineorder.setPayTime(params.getDate("payTime"));
            Mediicineorder ord=mediicineorderDao.save(mediicineorder);
            JSONArray jsonArray=params.getJSONArray("rx_drugs");
            List<Mediicineorderdetail> mediicineorderdetailList=new ArrayList<>();
            Mediicineorderdetail mediicineorderdetail=new Mediicineorderdetail();
            for (int i = 0; i <jsonArray.size() ; i++) {
                Mediicineorderdetail mediicineorderdetail=new Mediicineorderdetail();
                JSONObject jsonObject=jsonArray.getJSONObject(i);
                mediicineorderdetail.setId(jsonObject.getString("drug_id"));
                mediicineorderdetail.setDrugSku(jsonObject.getString("drug_sku "));
                mediicineorderdetail.setDrugCode(jsonObject.getString("drug_code"));
                mediicineorderdetail.setSpecif(jsonObject.getString("drug_specs"));
                mediicineorderdetail.setDrugNum(jsonObject.getString("drug_num"));
                mediicineorderdetail.setQuantity(jsonObject.getString("drug_num"));
                mediicineorderdetail.setPrice(jsonObject.getFloat("drug_price"));
                mediicineorderdetail.setUseNum(jsonObject.getString("drug_use_num"));
                mediicineorderdetail.setUseWay(jsonObject.getString("drug_use_way"));