diff --git a/sql/lis8.0/updatedb_lis8.0.sql b/sql/lis8.0/updatedb_lis8.0.sql index 5e7e922..48d2aaf 100644 --- a/sql/lis8.0/updatedb_lis8.0.sql +++ b/sql/lis8.0/updatedb_lis8.0.sql @@ -296,3 +296,9 @@ ALTER TABLE [dbo].[reg_itemclass] ADD DEFAULT (1) FOR [itemclass_printcnt] ALTER TABLE [dbo].[reg_itemclass] ADD DEFAULT ('') FOR [update_by] ALTER TABLE [dbo].[reg_itemclass] ADD DEFAULT (NULL) FOR [remark] end + +if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'reg_TransitSample' and COLUMN_NAME = 'checkPUR') + begin + alter table reg_TransitSample add checkPUR varchar(1000) + end + diff --git a/transitPF/src/main/java/com/czlis/transitPF/controller/RegTransitSampleController.java b/transitPF/src/main/java/com/czlis/transitPF/controller/RegTransitSampleController.java index f42d547..917ab18 100644 --- a/transitPF/src/main/java/com/czlis/transitPF/controller/RegTransitSampleController.java +++ b/transitPF/src/main/java/com/czlis/transitPF/controller/RegTransitSampleController.java @@ -1,15 +1,21 @@ package com.czlis.transitPF.controller; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.czlis.common.annotation.Anonymous; +import com.czlis.common.core.controller.BaseController; import com.czlis.common.core.domain.Result; +import com.czlis.common.core.page.TableDataInfo; import com.czlis.transitPF.pojo.RegTransitSample; +import com.czlis.transitPF.pojo.RegTransitSampleDTO; import com.czlis.transitPF.service.RegTransitSampleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; 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.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * 区域检验中心,标本流转 @@ -18,15 +24,24 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/transit") @Slf4j -public class RegTransitSampleController { +public class RegTransitSampleController extends BaseController { @Autowired private RegTransitSampleService regTransitSampleService; @ApiOperation("获取流转数据") @GetMapping("/querySample") - public Result getQuerySample(RegTransitSample labQuerySample) { - return regTransitSampleService.getRegTransitSample(labQuerySample); + public TableDataInfo getQuerySample(RegTransitSample labQuerySample) { + startPage(); + List regTransitSampleList = regTransitSampleService.getRegTransitSample(labQuerySample); + return getDataTable(regTransitSampleList); + } + + @Anonymous + @ApiOperation("接口调用") + @PostMapping("/invoke") + public Result invoke(@RequestBody String jsonStr) { + return regTransitSampleService.invoke(jsonStr); } } diff --git a/transitPF/src/main/java/com/czlis/transitPF/mapper/RegTransitSampleMapper.java b/transitPF/src/main/java/com/czlis/transitPF/mapper/RegTransitSampleMapper.java index c0038bd..eecafc0 100644 --- a/transitPF/src/main/java/com/czlis/transitPF/mapper/RegTransitSampleMapper.java +++ b/transitPF/src/main/java/com/czlis/transitPF/mapper/RegTransitSampleMapper.java @@ -2,10 +2,20 @@ package com.czlis.transitPF.mapper; import com.czlis.transitPF.pojo.RegTransitSample; import com.czlis.transitPF.pojo.RegTransitSampleDetail; +import org.apache.ibatis.annotations.Param; import java.util.List; public interface RegTransitSampleMapper { List getRegTransitSample(RegTransitSample labQuerySample); List getRegTransitSampleDetail(RegTransitSampleDetail regTransitSampleDetail); + + void addRegTransitSample(RegTransitSample regTransitSample); + + void addRegTransitSampleDetail(RegTransitSampleDetail regTransitSampleDetail); + + void delRegTransitSample(String barcode); + void delRegTransitSampleDetail(String barcode); + + void updateTest(@Param("checkPUR") String checkPUR,@Param("barcode") String barcode); } diff --git a/transitPF/src/main/java/com/czlis/transitPF/pojo/RegTransitSample.java b/transitPF/src/main/java/com/czlis/transitPF/pojo/RegTransitSample.java index 91c128f..c97b1f6 100644 --- a/transitPF/src/main/java/com/czlis/transitPF/pojo/RegTransitSample.java +++ b/transitPF/src/main/java/com/czlis/transitPF/pojo/RegTransitSample.java @@ -232,6 +232,17 @@ public class RegTransitSample { * 扩展序号 */ private String ExpressNum; + private String create_by; + private Date create_time; + private String update_by; + private Date update_time; + private String DataSource; + private String checkPUR; + + + private String DateType; + private Date DateStart; + private Date DateEnd; diff --git a/transitPF/src/main/java/com/czlis/transitPF/pojo/RegTransitSampleDetail.java b/transitPF/src/main/java/com/czlis/transitPF/pojo/RegTransitSampleDetail.java index 6c68e25..c30ddae 100644 --- a/transitPF/src/main/java/com/czlis/transitPF/pojo/RegTransitSampleDetail.java +++ b/transitPF/src/main/java/com/czlis/transitPF/pojo/RegTransitSampleDetail.java @@ -30,7 +30,13 @@ public class RegTransitSampleDetail { private String OrderItemName; private String GroupItemCode; private String GroupItemName; + /** + * 本院的项目代码 + */ private String SrcOrderItemCode; + /** + * 本院的项目名称 + */ private String SrcOrderItemName; private String FeeCode; private String FeeName; diff --git a/transitPF/src/main/java/com/czlis/transitPF/service/RegTransitSampleService.java b/transitPF/src/main/java/com/czlis/transitPF/service/RegTransitSampleService.java index c3c80b6..e2eb128 100644 --- a/transitPF/src/main/java/com/czlis/transitPF/service/RegTransitSampleService.java +++ b/transitPF/src/main/java/com/czlis/transitPF/service/RegTransitSampleService.java @@ -3,6 +3,10 @@ package com.czlis.transitPF.service; import com.czlis.common.core.domain.Result; import com.czlis.transitPF.pojo.RegTransitSample; +import java.util.List; + public interface RegTransitSampleService { - Result getRegTransitSample(RegTransitSample regTransitSample); + List getRegTransitSample(RegTransitSample regTransitSample); + + Result invoke(String jsonStr); } diff --git a/transitPF/src/main/java/com/czlis/transitPF/service/impl/RegTransitSampleServiceImpl.java b/transitPF/src/main/java/com/czlis/transitPF/service/impl/RegTransitSampleServiceImpl.java index 3269589..20e6313 100644 --- a/transitPF/src/main/java/com/czlis/transitPF/service/impl/RegTransitSampleServiceImpl.java +++ b/transitPF/src/main/java/com/czlis/transitPF/service/impl/RegTransitSampleServiceImpl.java @@ -1,5 +1,8 @@ package com.czlis.transitPF.service.impl; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.czlis.common.core.domain.Result; import com.czlis.transitPF.mapper.RegTransitSampleMapper; import com.czlis.transitPF.pojo.RegTransitSample; @@ -21,15 +24,144 @@ public class RegTransitSampleServiceImpl implements RegTransitSampleService { @Override - public Result getRegTransitSample(RegTransitSample labQuerySample) { - List labQuerySampleList = regTransitSampleMapper.getRegTransitSample(labQuerySample); - RegTransitSampleDetail regTransitSampleDetail = new RegTransitSampleDetail(); - regTransitSampleDetail.setBarcode(labQuerySample.getBarcode()); - List querySampleDetailList = regTransitSampleMapper.getRegTransitSampleDetail(regTransitSampleDetail); - RegTransitSampleDTO regTransitSampleDTO = new RegTransitSampleDTO(); - regTransitSampleDTO.setLabQuerySampleList(labQuerySampleList); - regTransitSampleDTO.setRegTransitSampleDetailList(querySampleDetailList); - return new Result("0","查询成功!", regTransitSampleDTO); + public List getRegTransitSample(RegTransitSample labQuerySample) { + List regTransitSampleList = regTransitSampleMapper.getRegTransitSample(labQuerySample); + // RegTransitSampleDetail regTransitSampleDetail = new RegTransitSampleDetail(); +// List querySampleDetailList = null; +// if(labQuerySample != null){ +// String barcode = labQuerySample.getBarcode(); +// if(barcode != null && barcode.equals("")){ +// regTransitSampleDetail.setBarcode(labQuerySample.getBarcode()); +// querySampleDetailList = regTransitSampleMapper.getRegTransitSampleDetail(regTransitSampleDetail); +// } +// } + +// RegTransitSampleDTO regTransitSampleDTO = new RegTransitSampleDTO(); +// regTransitSampleDTO.setLabQuerySampleList(labQuerySampleList); +// regTransitSampleDTO.setRegTransitSampleDetailList(querySampleDetailList); + //return new Result("0","查询成功!", regTransitSampleDTO); + return regTransitSampleList; } + @Override + public Result invoke(String jsonStr) { + log.info("区域平台入参:{}", jsonStr); + JSONObject jsonObject = null; + try{ + jsonObject = JSONUtil.parseObj(jsonStr); + }catch (Exception e){ + e.printStackTrace(); + return new Result("-1","json格式不合法"); + } + String method = String.valueOf(jsonObject.get("method")); + if(method == null || method.equals("") || method.equals("null")){ + return new Result("-1","json格式不正确,必须包含method节点"); + } + + switch (method){ + case "addTransitSample": //新增数据接口 + return addTransitSample(jsonStr); + case "delTransitSample": + return delTransitSample(jsonStr); + case "queryTransitSample": + return queryTransitSample(jsonStr); + case "test": + return test(); + default: + return new Result("1","该接口还未实现!",method); + } + + } + + /** + *{ + * "method":"addTransitSample", + * "req": { + * """":"", + * "reqDetail": [{ + * "","" + * },{ + * "","" + * } + * ] + * } + * } + * @param jsonStr + * @return + */ + public Result addTransitSample(String jsonStr){ + JSONObject jsonObject = null; + try{ + jsonObject = JSONUtil.parseObj(jsonStr); + }catch (Exception e){ + e.printStackTrace(); + log.error("json格式错误:",e); + return new Result("-1","json格式不合法"); + } + JSONObject reqMain = jsonObject.getJSONObject("req").getJSONObject("reqMain"); + RegTransitSample regTransitSample = JSONUtil.toBean(reqMain, RegTransitSample.class); + JSONArray reqDetailList = jsonObject.getJSONObject("req").getJSONArray("reqDetail"); + String checkPUR = ""; + List regTransitSampleDetailList = reqDetailList.toList(RegTransitSampleDetail.class); + for (RegTransitSampleDetail regTransitSampleDetail : regTransitSampleDetailList) { + checkPUR = checkPUR + "," + regTransitSampleDetail.getOrderItemName(); + } + checkPUR = checkPUR.substring(1); + regTransitSample.setCheckPUR(checkPUR); + regTransitSampleMapper.addRegTransitSample(regTransitSample); + for (RegTransitSampleDetail regTransitSampleDetail : regTransitSampleDetailList) { + regTransitSampleMapper.addRegTransitSampleDetail(regTransitSampleDetail); + } + return new Result("0",""); + } + + + /** + * { + * "method":"delTransitSample", + * "req": { + * "barcode":{ + * "":"", + * } } + * } + * @param jsonStr + * @return + */ + public Result delTransitSample(String jsonStr){ + JSONObject jsonObject = JSONUtil.parseObj(jsonStr); + String barcode = jsonObject.getStr("barcode"); + regTransitSampleMapper.delRegTransitSample(barcode); + regTransitSampleMapper.delRegTransitSampleDetail(barcode); + return new Result("0","删除成功!"); + } + + + public Result queryTransitSample(String jsonStr){ + JSONObject jsonObject = JSONUtil.parseObj(jsonStr); + + return null; + } + + + public Result test(){ + RegTransitSample regTransitSample = new RegTransitSample(); + List regTransitSampleList = regTransitSampleMapper.getRegTransitSample(regTransitSample); + for (RegTransitSample transitSample : regTransitSampleList) { + if(transitSample.getBarcode() == null || transitSample.getBarcode().equals("")) continue; + + RegTransitSampleDetail regTransitSampleDetail = new RegTransitSampleDetail(); + regTransitSampleDetail.setBarcode(transitSample.getBarcode()); + List regTransitSampleDetailList = regTransitSampleMapper.getRegTransitSampleDetail(regTransitSampleDetail); + String tempName = ""; + for (RegTransitSampleDetail transitSampleDetail : regTransitSampleDetailList) { + tempName = tempName + ","+ transitSampleDetail.getSrcOrderItemName(); + } + tempName = tempName.substring(1); + regTransitSampleMapper.updateTest(tempName,transitSample.getBarcode()); + } + return new Result("0","成功!"); + } + + + } diff --git a/transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml b/transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml index 498bb8a..86d8299 100644 --- a/transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml +++ b/transitPF/src/main/resources/mapper/RegTransitSampleMapper.xml @@ -8,6 +8,16 @@ select * from Reg_TransitSample and Barcode = #{Barcode} + and SrcHospName like '%'+#{SrcHospName}+'%' + and PatName like '%'+#{PatName}+'%' + and checkPUR like '%'+#{checkPUR}+'%' + and Status = #{Status} + and AffirmUserName like '%'+#{AffirmUserName}+'%' + and SignInUserName like '%'+#{SignInUserName}+'%' + and (OrderTime between #{DateStart} and #{DateEnd}) + and (AffirmTime between #{DateStart} and #{DateEnd}) + and (SendPackTime between #{DateStart} and #{DateEnd}) + and (SignInTime between #{DateStart} and #{DateEnd}) @@ -18,5 +28,162 @@ + + insert into reg_TransitSample( + PatId, + PatCardType, + PatCardNo, + PatType, + RegNo, + PatName, + PatSex, + PatAge, + AgeUnit, + PatAgeShow, + PatBirthday, + PatIdentity, + Phone, + Address, + PatFeeType, + DepartCode, + DepartName, + AreaCode, + AreaName, + PatBed, + DiagnosisCode, + DiagnosisName, + OrderPatId, + OrderUserCode, + OrderUserName, + OrderTime, + SrcHospCode, + SrcHospName, + Barcode, + SrcHospBarcode, + TubeCode, + TubeName, + tubeColor, + SampleTypeCode, + SampleTypeName, + BodyCode, + BodyName, + IsER, + Status, + AffirmTime, + AffirmUserCode, + AffirmUserName, + SendPackTime, + SendUserCode, + SendUserName, + SignInTime, + SignInUserCode, + SignInUserName, + DstHospCode, + DstHospName, + ExpressComCode, + ExpressComName, + PackSerial, + ExpressNum, + create_by,create_time,update_by,update_time + )values( + #{PatId}, + #{PatCardType}, + #{PatCardNo}, + #{PatType}, + #{RegNo}, + #{PatName}, + #{PatSex}, + #{PatAge}, + #{AgeUnit}, + #{PatAgeShow}, + #{PatBirthday}, + #{PatIdentity}, + #{Phone}, + #{Address}, + #{PatFeeType}, + #{DepartCode}, + #{DepartName}, + #{AreaCode}, + #{AreaName}, + #{PatBed}, + #{DiagnosisCode}, + #{DiagnosisName}, + #{OrderPatId}, + #{OrderUserCode}, + #{OrderUserName}, + #{OrderTime}, + #{SrcHospCode}, + #{SrcHospName}, + #{Barcode}, + #{SrcHospBarcode}, + #{TubeCode}, + #{TubeName}, + #{tubeColor}, + #{SampleTypeCode}, + #{SampleTypeName}, + #{BodyCode}, + #{BodyName}, + #{IsER}, + #{Status}, + #{AffirmTime}, + #{AffirmUserCode}, + #{AffirmUserName}, + #{SendPackTime}, + #{SendUserCode}, + #{SendUserName}, + #{SignInTime}, + #{SignInUserCode}, + #{SignInUserName}, + #{DstHospCode}, + #{DstHospName}, + #{ExpressComCode}, + #{ExpressComName}, + #{PackSerial}, + #{ExpressNum}, + #{create_by},#{create_time},#{update_by},#{update_time} + ) + + + + insert into reg_TransitSample_detail( + OrderItemCode, + OrderItemName, + GroupItemCode, + GroupItemName, + SrcOrderItemCode, + SrcOrderItemName, + FeeCode, + FeeName, + Cost, + Status, + Barcode,OrderItemSerial,create_by,create_time,update_by,update_time + )values( + #{OrderItemCode}, + #{OrderItemName}, + #{GroupItemCode}, + #{GroupItemName}, + #{SrcOrderItemCode}, + #{SrcOrderItemName}, + #{FeeCode}, + #{FeeName}, + #{Cost}, + #{Status}, + #{Barcode},#{OrderItemSerial},#{create_by},#{create_time},#{update_by},#{update_time} + ) + + + + delete from reg_TransitSample where Barcode = #{barcode} + + + + delete from reg_TransitSample_detail where Barcode = #{barcode} + + + + + update reg_TransitSample set checkPUR = #{checkPUR} WHERE Barcode = #{barcode} + + \ No newline at end of file