Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
pt-tobacco-lims-service
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangweidong
pt-tobacco-lims-service
Commits
97a01da3
Commit
97a01da3
authored
Jun 07, 2020
by
wangweidong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统计查询修改
parent
4e59cc64
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
686 additions
and
274 deletions
+686
-274
DateUtils.java
src/main/java/com/patzn/lims/common/DateUtils.java
+52
-0
Tf.java
src/main/java/com/patzn/lims/common/Tf.java
+0
-60
DrugStatisticController.java
...m/patzn/lims/drug/controller/DrugStatisticController.java
+71
-0
QueryEntity.java
src/main/java/com/patzn/lims/drug/dto/QueryEntity.java
+20
-0
SevenInspection.java
src/main/java/com/patzn/lims/drug/dto/SevenInspection.java
+21
-0
StatisticNotOK.java
src/main/java/com/patzn/lims/drug/dto/StatisticNotOK.java
+26
-0
StatisticPersonalTest.java
...n/java/com/patzn/lims/drug/dto/StatisticPersonalTest.java
+69
-0
StatisticSampleItem.java
...ain/java/com/patzn/lims/drug/dto/StatisticSampleItem.java
+27
-0
StatisticSampleRank.java
...ain/java/com/patzn/lims/drug/dto/StatisticSampleRank.java
+21
-0
DrugItemMapper.java
src/main/java/com/patzn/lims/drug/mapper/DrugItemMapper.java
+22
-0
DrugSampleMapper.java
...ain/java/com/patzn/lims/drug/mapper/DrugSampleMapper.java
+9
-0
IDrugItemService.java
...in/java/com/patzn/lims/drug/service/IDrugItemService.java
+14
-1
IDrugSampleService.java
.../java/com/patzn/lims/drug/service/IDrugSampleService.java
+7
-0
DrugSampleServiceImpl.java
...m/patzn/lims/drug/service/impl/DrugSampleServiceImpl.java
+23
-0
DrugSampleVO.java
src/main/java/com/patzn/lims/drug/vo/DrugSampleVO.java
+4
-0
PtOnlFormFieldController.java
...atzn/lims/online/controller/PtOnlFormFieldController.java
+1
-1
PtOnlFormHeadController.java
...patzn/lims/online/controller/PtOnlFormHeadController.java
+2
-2
TableDataDTO.java
src/main/java/com/patzn/lims/online/dto/TableDataDTO.java
+0
-20
PtOnlFormField.java
...ain/java/com/patzn/lims/online/entity/PtOnlFormField.java
+0
-89
PtOnlFormHead.java
...main/java/com/patzn/lims/online/entity/PtOnlFormHead.java
+0
-84
PtOnlFormFieldMapper.java
...va/com/patzn/lims/online/mapper/PtOnlFormFieldMapper.java
+1
-1
PtOnlFormHeadMapper.java
...ava/com/patzn/lims/online/mapper/PtOnlFormHeadMapper.java
+1
-1
IPtOnlFormFieldService.java
...com/patzn/lims/online/service/IPtOnlFormFieldService.java
+1
-1
IPtOnlFormHeadService.java
.../com/patzn/lims/online/service/IPtOnlFormHeadService.java
+2
-2
PtOnlFormFieldServiceImpl.java
...n/lims/online/service/impl/PtOnlFormFieldServiceImpl.java
+1
-1
PtOnlFormHeadServiceImpl.java
...zn/lims/online/service/impl/PtOnlFormHeadServiceImpl.java
+6
-5
application-wwd.yml
src/main/resources/application-wwd.yml
+1
-1
application.yml
src/main/resources/application.yml
+1
-1
DrugItemMapper.xml
src/main/resources/mapper/drug/DrugItemMapper.xml
+247
-4
DrugSampleMapper.xml
src/main/resources/mapper/drug/DrugSampleMapper.xml
+36
-0
No files found.
src/main/java/com/patzn/lims/common/DateUtils.java
View file @
97a01da3
...
...
@@ -2,6 +2,8 @@ package com.patzn.lims.common;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.joda.time.DateTime
;
import
java.sql.Timestamp
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
...
...
@@ -506,4 +508,54 @@ public class DateUtils {
return
map
;
}
// 获取上周的开始时间
@SuppressWarnings
(
"unused"
)
public
static
Date
getBeginDayOfLastWeek
()
{
Date
date
=
new
Date
();
if
(
date
==
null
)
{
return
null
;
}
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
int
dayofweek
=
cal
.
get
(
Calendar
.
DAY_OF_WEEK
);
if
(
dayofweek
==
1
)
{
dayofweek
+=
7
;
}
cal
.
add
(
Calendar
.
DATE
,
2
-
dayofweek
-
7
);
return
getDayStartTime
(
cal
.
getTime
());
}
// 获取上周的结束时间
public
static
Date
getEndDayOfLastWeek
()
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
getBeginDayOfLastWeek
());
cal
.
add
(
Calendar
.
DAY_OF_WEEK
,
6
);
Date
weekEndSta
=
cal
.
getTime
();
return
getDayEndTime
(
weekEndSta
);
}
// 获取某个日期的结束时间
public
static
Timestamp
getDayEndTime
(
Date
d
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
if
(
null
!=
d
)
calendar
.
setTime
(
d
);
calendar
.
set
(
calendar
.
get
(
Calendar
.
YEAR
),
calendar
.
get
(
Calendar
.
MONTH
),
calendar
.
get
(
Calendar
.
DAY_OF_MONTH
),
23
,
59
,
59
);
calendar
.
set
(
Calendar
.
MILLISECOND
,
999
);
return
new
Timestamp
(
calendar
.
getTimeInMillis
());
}
// 获取某个日期的开始时间
public
static
Timestamp
getDayStartTime
(
Date
d
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
if
(
null
!=
d
)
calendar
.
setTime
(
d
);
calendar
.
set
(
calendar
.
get
(
Calendar
.
YEAR
),
calendar
.
get
(
Calendar
.
MONTH
),
calendar
.
get
(
Calendar
.
DAY_OF_MONTH
),
0
,
0
,
0
);
calendar
.
set
(
Calendar
.
MILLISECOND
,
0
);
return
new
Timestamp
(
calendar
.
getTimeInMillis
());
}
}
src/main/java/com/patzn/lims/common/Tf.java
deleted
100644 → 0
View file @
4e59cc64
package
com
.
patzn
.
lims
.
common
;
import
com.patzn.lims.online.entity.PtOnlFormField
;
import
com.patzn.lims.online.entity.PtOnlFormHead
;
import
org.apache.commons.lang3.StringUtils
;
import
java.math.BigDecimal
;
import
java.util.List
;
public
class
Tf
{
public
static
String
getCtf
(
PtOnlFormHead
head
,
List
<
PtOnlFormField
>
fields
){
String
tableName
=
head
.
getTableName
();
String
tableText
=
head
.
getTableTxt
();
StringBuffer
sqlString
=
new
StringBuffer
();
sqlString
.
append
(
" CREATE TABLE "
);
sqlString
.
append
(
tableName
).
append
(
"("
);
for
(
PtOnlFormField
field:
fields
)
{
sqlString
.
append
(
field
.
getDbFieldName
());
if
(
"Long"
.
equals
(
field
.
getDbType
())){
sqlString
.
append
(
" int8 "
);
}
else
if
(
"String"
.
equals
(
field
.
getDbType
())){
sqlString
.
append
(
" varchar("
).
append
(
field
.
getDbLength
()).
append
(
") "
).
append
(
" COLLATE pg_catalog.default "
);
}
else
if
(
"Date"
.
equals
(
field
.
getDbType
())){
sqlString
.
append
(
" timestamp(0) "
);
}
else
if
(
"Integer"
.
equals
(
field
.
getDbType
())){
sqlString
.
append
(
" int2 "
);
}
else
if
(
"BigDecimal"
.
equals
(
field
.
getDbType
())){
sqlString
.
append
(
" numeric( "
).
append
(
field
.
getDbLength
()).
append
(
" ) "
);
}
else
if
(
"text"
.
equals
(
field
.
getDbType
())){
sqlString
.
append
(
" text COLLATE pg_catalog.default "
);
}
if
(
null
!=
field
.
getDbIsNull
()&&
1
==
field
.
getDbIsNull
()){
sqlString
.
append
(
" NOT NULL "
);
}
String
defaultValue
=
field
.
getDbDefaultVal
();
if
(
StringUtils
.
isNotBlank
(
defaultValue
)){
if
(
"Long"
.
equals
(
field
.
getDbType
())||
"Integer"
.
equals
(
field
.
getDbType
())||
"BigDecimal"
.
equals
(
field
.
getDbType
())){
sqlString
.
append
(
" DEFAULT "
).
append
(
defaultValue
).
append
(
" ,"
);
}
else
{
sqlString
.
append
(
" DEFAULT '"
).
append
(
defaultValue
).
append
(
"' ,"
);
}
}
else
{
sqlString
.
append
(
" DEFAULT NULL,"
);
}
}
if
(
sqlString
.
length
()>
0
){
sqlString
=
sqlString
.
deleteCharAt
(
sqlString
.
length
()-
1
);
}
sqlString
.
append
(
" ); "
);
for
(
PtOnlFormField
field:
fields
)
{
if
(
StringUtils
.
isNotBlank
(
field
.
getDbFieldTxt
())){
sqlString
.
append
(
" COMMENT ON COLUMN "
).
append
(
tableName
).
append
(
"."
).
append
(
field
.
getDbFieldName
());
sqlString
.
append
(
" IS "
).
append
(
"'"
).
append
(
field
.
getDbFieldTxt
()).
append
(
"' ;"
);
}
}
sqlString
.
append
(
" COMMENT ON TABLE "
).
append
(
tableName
).
append
(
" IS "
).
append
(
"'"
).
append
(
tableText
).
append
(
"' ;"
);
sqlString
.
append
(
" ALTER TABLE "
).
append
(
tableName
).
append
(
" ADD CONSTRAINT "
).
append
(
tableName
).
append
(
"_pkey"
).
append
(
" PRIMARY KEY (id); "
);
return
sqlString
.
toString
();
}
}
src/main/java/com/patzn/lims/drug/controller/DrugStatisticController.java
0 → 100644
View file @
97a01da3
package
com
.
patzn
.
lims
.
drug
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.patzn.lims.core.api.PtResult
;
import
com.patzn.lims.core.web.SuperController
;
import
com.patzn.lims.drug.dto.StatisticNotOK
;
import
com.patzn.lims.drug.dto.StatisticPersonalTest
;
import
com.patzn.lims.drug.dto.StatisticSampleItem
;
import
com.patzn.lims.drug.dto.StatisticSampleRank
;
import
com.patzn.lims.drug.service.IDrugItemService
;
import
com.patzn.lims.drug.vo.DrugItemVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* <p>
* 食药物料类型 前端控制器
* </p>
*
* @author wwd
* @since 2020-02-29
*/
@Api
(
tags
=
"统计分析"
)
@RestController
@RequestMapping
(
"/v1/statistic"
)
public
class
DrugStatisticController
extends
SuperController
{
@Autowired
private
IDrugItemService
drugItemService
;
@ApiOperation
(
value
=
"个人任务量查询"
,
notes
=
"查询数据列表"
)
@PostMapping
(
"/list_data"
)
public
PtResult
<
StatisticPersonalTest
>
getPersonaTestStatistic
(
StatisticPersonalTest
test
)
{
return
success
(
drugItemService
.
getPersonaTestStatistic
(
test
,
getAccount
()));
}
@ApiOperation
(
value
=
"物料报检量排行榜查询"
,
notes
=
"查询数据列表"
)
@PostMapping
(
"/sample_rank"
)
public
PtResult
<
List
<
StatisticSampleRank
>>
getSampleRank
(
StatisticSampleRank
rank
)
{
return
success
(
drugItemService
.
getSampleRank
(
rank
,
getAccount
()));
}
@ApiOperation
(
value
=
"不合格项目查询"
,
notes
=
"查询数据列表"
)
@PostMapping
(
"/item_fail"
)
public
PtResult
<
List
<
StatisticNotOK
>>
getSampleRank
(
StatisticNotOK
notOK
)
{
return
success
(
drugItemService
.
getItemFail
(
notOK
,
getAccount
()));
}
@ApiOperation
(
value
=
"不合格项目查询"
,
notes
=
"查询数据列表"
)
@PostMapping
(
"/page_item_fail"
)
public
PtResult
<
IPage
<
DrugItemVO
>>
pageItemFail
(
DrugItemVO
notOK
)
{
return
success
(
drugItemService
.
pageItemFail
(
getPage
(),
notOK
,
getAccount
()));
}
@ApiOperation
(
value
=
"报检量项目量统计"
,
notes
=
"报检量项目量统计"
)
@PostMapping
(
"/get_sample_item_num"
)
public
PtResult
<
StatisticSampleItem
>
getSampleItemNum
(
StatisticSampleItem
sampleItem
)
{
return
success
(
drugItemService
.
getSampleItemNum
(
sampleItem
,
getAccount
()));
}
}
src/main/java/com/patzn/lims/drug/dto/QueryEntity.java
0 → 100644
View file @
97a01da3
package
com
.
patzn
.
lims
.
drug
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
@Data
@Accessors
(
chain
=
true
)
@ApiModel
public
class
QueryEntity
{
private
String
day
;
private
String
week
;
private
String
month
;
private
String
year
;
private
Date
beginDate
;
private
Date
endDate
;
}
src/main/java/com/patzn/lims/drug/dto/SevenInspection.java
0 → 100644
View file @
97a01da3
package
com
.
patzn
.
lims
.
drug
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
@Data
@Accessors
(
chain
=
true
)
@ApiModel
public
class
SevenInspection
{
@ApiModelProperty
(
value
=
"日期"
)
private
String
dayIns
;
@ApiModelProperty
(
value
=
"日期"
)
private
Integer
insNum
;
}
src/main/java/com/patzn/lims/drug/dto/StatisticNotOK.java
0 → 100644
View file @
97a01da3
package
com
.
patzn
.
lims
.
drug
.
dto
;
import
com.patzn.lims.drug.eunms.SingleJudgeEnum
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
@Data
@Accessors
(
chain
=
true
)
@ApiModel
//不合格项目统计
public
class
StatisticNotOK
extends
QueryEntity
{
//不合格总量
private
Integer
number
;
//项目名称
private
String
name
;
//项目名称
private
SingleJudgeEnum
judgeEnum
;
}
src/main/java/com/patzn/lims/drug/dto/StatisticPersonalTest.java
0 → 100644
View file @
97a01da3
package
com
.
patzn
.
lims
.
drug
.
dto
;
import
com.patzn.lims.drug.eunms.ItemStatusEnum
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
import
java.util.List
;
@Data
@Accessors
(
chain
=
true
)
@ApiModel
//个人检测量统计
public
class
StatisticPersonalTest
{
//项目总量
private
Integer
taskTotal
;
//已检测量
private
Integer
testedTotal
;
//周同比
private
String
weekOnWeek
;
//日同比
private
String
dayOnDay
;
//未检测量
private
Integer
noTestNum
;
//当天项目数量
private
Integer
dayNum
;
//昨天项目数量
private
Integer
yesDayNum
;
//本周项目数量
private
Integer
weekNum
;
//上周项目数量
private
Integer
lastWeekNum
;
private
Long
uid
;
//上周结束
private
ItemStatusEnum
itemStatusEnum
;
//上周开始
private
Date
lastWeekBegin
;
//上周结束
private
Date
lastWeekEnd
;
//个人报检总量
private
Integer
inspectionTotal
;
//今日报检量
private
Integer
inspectionDayNum
;
//七日内每天的报检量
private
List
<
SevenInspection
>
listSeven
;
//个人样品接收量
private
Integer
receiveTotal
;
//个人今日样品接收量
private
Integer
receiveDayNum
;
//七日内每天的接收量
private
List
<
SevenInspection
>
listSevenReceive
;
}
src/main/java/com/patzn/lims/drug/dto/StatisticSampleItem.java
0 → 100644
View file @
97a01da3
package
com
.
patzn
.
lims
.
drug
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
@Data
@Accessors
(
chain
=
true
)
@ApiModel
//物料报检排行榜统计
public
class
StatisticSampleItem
extends
QueryEntity
{
//今日报检总量
private
Integer
daySample
;
//今日项目量
private
Integer
dayItem
;
//总报检总
private
Integer
totalSample
;
private
List
<
StatisticSampleRank
>
sampleRank
;
private
List
<
StatisticSampleRank
>
itemRank
;
}
src/main/java/com/patzn/lims/drug/dto/StatisticSampleRank.java
0 → 100644
View file @
97a01da3
package
com
.
patzn
.
lims
.
drug
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
@Data
@Accessors
(
chain
=
true
)
@ApiModel
//物料报检排行榜统计
public
class
StatisticSampleRank
extends
QueryEntity
{
//报检总量
private
Integer
number
;
//物料名称
private
String
name
;
}
src/main/java/com/patzn/lims/drug/mapper/DrugItemMapper.java
View file @
97a01da3
package
com
.
patzn
.
lims
.
drug
.
mapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.patzn.lims.core.web.Account
;
import
com.patzn.lims.drug.dto.StatisticNotOK
;
import
com.patzn.lims.drug.dto.StatisticPersonalTest
;
import
com.patzn.lims.drug.dto.StatisticSampleRank
;
import
com.patzn.lims.drug.entity.DrugItem
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.patzn.lims.drug.vo.DrugItemVO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* <p>
* 食药资质项目表 Mapper 接口
...
...
@@ -21,4 +27,20 @@ public interface DrugItemMapper extends BaseMapper<DrugItem> {
Page
<
DrugItemVO
>
selectVOList
(
Page
page
,
@Param
(
"vo"
)
DrugItemVO
vo
);
Page
<
DrugItemVO
>
selectVOInputList
(
Page
page
,
@Param
(
"vo"
)
DrugItemVO
vo
);
int
getPersonalTestNumber
(
@Param
(
"vo"
)
Account
account
);
StatisticPersonalTest
getPersonTest
(
@Param
(
"vo"
)
StatisticPersonalTest
personalTest
);
List
<
StatisticSampleRank
>
getSampleRank
(
@Param
(
"rank"
)
StatisticSampleRank
rank
,
@Param
(
"account"
)
Account
account
);
List
<
StatisticNotOK
>
getItemFail
(
@Param
(
"notOK"
)
StatisticNotOK
notOK
,
@Param
(
"account"
)
Account
account
);
Page
<
DrugItemVO
>
pageItemFail
(
Page
page
,
@Param
(
"vo"
)
DrugItemVO
notOK
);
List
<
StatisticSampleRank
>
selectSampleNumByDay
(
@Param
(
"daysList"
)
List
<
String
>
daysList
);
List
<
StatisticSampleRank
>
selectItemNumByDay
(
@Param
(
"daysList"
)
List
<
String
>
daysList
);
}
src/main/java/com/patzn/lims/drug/mapper/DrugSampleMapper.java
View file @
97a01da3
...
...
@@ -7,6 +7,8 @@ import com.patzn.lims.drug.vo.DrugSampleOosVO;
import
com.patzn.lims.drug.vo.DrugSampleVO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* <p>
* 食药样品主表 Mapper 接口
...
...
@@ -26,4 +28,11 @@ public interface DrugSampleMapper extends BaseMapper<DrugSample> {
Page
<
DrugSampleOosVO
>
selectOosExecute
(
Page
page
,
@Param
(
"vo"
)
DrugSampleOosVO
vo
);
Page
<
DrugSampleOosVO
>
selectOosRegisterHis
(
Page
page
,
@Param
(
"vo"
)
DrugSampleOosVO
vo
);
List
<
DrugSampleVO
>
selectInsList
(
@Param
(
"daysList"
)
List
<
String
>
daysList
,
@Param
(
"userId"
)
Long
userId
);
List
<
DrugSampleVO
>
selectReceiveList
(
@Param
(
"daysList"
)
List
<
String
>
daysList
,
@Param
(
"userId"
)
Long
userId
);
int
selectCountPersonalSampleReceive
(
@Param
(
"userId"
)
Long
userId
);
}
src/main/java/com/patzn/lims/drug/service/IDrugItemService.java
View file @
97a01da3
...
...
@@ -3,12 +3,14 @@ package com.patzn.lims.drug.service;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.patzn.lims.core.web.Account
;
import
com.patzn.lims.core.web.IBaseService
;
import
com.patzn.lims.drug.dto.
DrugItemRelEquipDTO
;
import
com.patzn.lims.drug.dto.
*
;
import
com.patzn.lims.drug.entity.DrugItem
;
import
com.patzn.lims.drug.entity.DrugItemAllocate
;
import
com.patzn.lims.drug.eunms.ItemStatusEnum
;
import
com.patzn.lims.drug.vo.DrugItemVO
;
import
java.util.List
;
/**
* <p>
* 食药资质项目表 服务类
...
...
@@ -65,4 +67,15 @@ public interface IDrugItemService extends IBaseService<DrugItem> {
boolean
backCheckEnv
(
Long
[]
itemIds
,
Account
account
,
String
remark
);
boolean
bathAddEquip
(
DrugItemRelEquipDTO
equipDTO
);
StatisticPersonalTest
getPersonaTestStatistic
(
StatisticPersonalTest
test
,
Account
account
);
List
<
StatisticSampleRank
>
getSampleRank
(
StatisticSampleRank
rank
,
Account
account
);
List
<
StatisticNotOK
>
getItemFail
(
StatisticNotOK
rank
,
Account
account
);
Page
<
DrugItemVO
>
pageItemFail
(
Page
page
,
DrugItemVO
notOK
,
Account
account
);
StatisticSampleItem
getSampleItemNum
(
StatisticSampleItem
sampleItem
,
Account
account
);
}
src/main/java/com/patzn/lims/drug/service/IDrugSampleService.java
View file @
97a01da3
...
...
@@ -84,4 +84,11 @@ public interface IDrugSampleService extends IBaseService<DrugSample> {
boolean
editSampleVO
(
DrugSampleDTO
dto
,
Account
account
);
boolean
scanSubmit
(
String
sampleCode
,
int
i
,
Account
account
);
List
<
DrugSampleVO
>
getInsList
(
List
<
String
>
daysList
,
Long
userId
);
List
<
DrugSampleVO
>
getReceiveList
(
List
<
String
>
daysList
,
Long
userId
);
int
countPersonalSampleReceive
(
Long
userId
);
}
src/main/java/com/patzn/lims/drug/service/impl/DrugSampleServiceImpl.java
View file @
97a01da3
...
...
@@ -275,6 +275,12 @@ public class DrugSampleServiceImpl extends BaseServiceImpl<DrugSampleMapper, Dru
String
code
=
lmsCodeRuleService
.
getKey
(
CodeTypeEnum
.
DRUG_SAMPLE
,
drugSample
);
drugSample
.
setSampleCode
(
code
);
}
if
(
null
==
drugSample
.
getPcPersonId
()){
drugSample
.
setPcPersonId
(
account
.
getUserId
());
drugSample
.
setPcPerson
(
account
.
getUserName
());
}
if
(
save
(
drugSample
)){
DrugSampleOperation
operation
=
dto
.
getDrugSampleOperation
();
operation
.
setSampleId
(
drugSample
.
getId
());
...
...
@@ -1174,4 +1180,21 @@ public class DrugSampleServiceImpl extends BaseServiceImpl<DrugSampleMapper, Dru
return
true
;
}
@Override
public
List
<
DrugSampleVO
>
getInsList
(
List
<
String
>
daysList
,
Long
userId
)
{
return
baseMapper
.
selectInsList
(
daysList
,
userId
);
}
@Override
public
List
<
DrugSampleVO
>
getReceiveList
(
List
<
String
>
daysList
,
Long
userId
)
{
return
baseMapper
.
selectReceiveList
(
daysList
,
userId
);
}
@Override
public
int
countPersonalSampleReceive
(
Long
userId
)
{
return
baseMapper
.
selectCountPersonalSampleReceive
(
userId
);
}
}
src/main/java/com/patzn/lims/drug/vo/DrugSampleVO.java
View file @
97a01da3
...
...
@@ -96,4 +96,8 @@ public class DrugSampleVO extends DrugSample {
@ApiModelProperty
(
value
=
"送样时间结束"
)
private
Date
sendTimeEnd
;
@ApiModelProperty
(
value
=
"ctimeStr"
)
private
String
ctimeStr
;
}
src/main/java/com/patzn/lims/online/controller/PtOnlFormFieldController.java
View file @
97a01da3
...
...
@@ -3,8 +3,8 @@ package com.patzn.lims.online.controller;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.patzn.lims.core.PtConstants
;
import
com.patzn.lims.core.api.PtResult
;
import
com.patzn.lims.core.online.entity.PtOnlFormField
;
import
com.patzn.lims.core.web.ServiceController
;
import
com.patzn.lims.online.entity.PtOnlFormField
;
import
com.patzn.lims.online.service.IPtOnlFormFieldService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
...
...
src/main/java/com/patzn/lims/online/controller/PtOnlFormHeadController.java
View file @
97a01da3
...
...
@@ -3,9 +3,9 @@ package com.patzn.lims.online.controller;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.patzn.lims.core.PtConstants
;
import
com.patzn.lims.core.api.PtResult
;
import
com.patzn.lims.core.online.dto.TableDataDTO
;
import
com.patzn.lims.core.online.entity.PtOnlFormHead
;
import
com.patzn.lims.core.web.ServiceController
;
import
com.patzn.lims.online.dto.TableDataDTO
;
import
com.patzn.lims.online.entity.PtOnlFormHead
;
import
com.patzn.lims.online.service.IPtOnlFormHeadService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
...
...
src/main/java/com/patzn/lims/online/dto/TableDataDTO.java
deleted
100644 → 0
View file @
4e59cc64
package
com
.
patzn
.
lims
.
online
.
dto
;
import
com.patzn.lims.online.entity.PtOnlFormField
;
import
com.patzn.lims.online.entity.PtOnlFormHead
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
@Data
@Accessors
(
chain
=
true
)
@ApiModel
public
class
TableDataDTO
{
//表信息
private
PtOnlFormHead
head
;
//字段信息
private
List
<
PtOnlFormField
>
fields
;
}
src/main/java/com/patzn/lims/online/entity/PtOnlFormField.java
deleted
100644 → 0
View file @
4e59cc64
package
com
.
patzn
.
lims
.
online
.
entity
;
import
java.util.Date
;
import
com.patzn.lims.core.bean.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* <p>
* 字段表
* </p>
*
* @author wwd
* @since 2020-05-13
*/
@Data
@Accessors
(
chain
=
true
)
@ApiModel
public
class
PtOnlFormField
extends
BaseEntity
{
@ApiModelProperty
(
value
=
"表ID"
)
private
Long
formHeadId
;
@ApiModelProperty
(
value
=
"字段名字"
)
private
String
dbFieldName
;
@ApiModelProperty
(
value
=
"字段备注"
)
private
String
dbFieldTxt
;
@ApiModelProperty
(
value
=
"原字段名"
)
private
String
dbFieldNameOld
;
@ApiModelProperty
(
value
=
"是否主键0否1是"
)
private
Integer
dbIsKey
;
@ApiModelProperty
(
value
=
"是否允许为空0否 1是"
)
private
Integer
dbIsNull
;
@ApiModelProperty
(
value
=
"数据库字段类型"
)
private
String
dbType
;
@ApiModelProperty
(
value
=
"数据库字段长度"
)
private
Integer
dbLength
;
@ApiModelProperty
(
value
=
"小数点"
)
private
Integer
dbPointLength
;
@ApiModelProperty
(
value
=
"表字段默认值"
)
private
String
dbDefaultVal
;
@ApiModelProperty
(
value
=
"字典code"
)
private
String
dictField
;
@ApiModelProperty
(
value
=
"字典表"
)
private
String
dictTable
;
@ApiModelProperty
(
value
=
"字典TXT"
)
private
String
dictText
;
@ApiModelProperty
(
value
=
"表单控件类型"
)
private
String
fieldShowType
;
@ApiModelProperty
(
value
=
"跳转url"
)
private
String
fieldHref
;
@ApiModelProperty
(
value
=
"表单控件长度"
)
private
Integer
fieldLength
;
@ApiModelProperty
(
value
=
"表单字段校验规则"
)
private
String
fieldValidType
;
@ApiModelProperty
(
value
=
"字段是否必填"
)
private
String
fieldMustInput
;
@ApiModelProperty
(
value
=
"扩展参数JSON"
)
private
String
fieldExtendJson
;
@ApiModelProperty
(
value
=
"填值规则code"
)
private
String
fieldValueRuleCode
;
@ApiModelProperty
(
value
=
"是否查询条件0否1是"
)
private
Integer
isQuery
;
@ApiModelProperty
(
value
=
"表单是否显示"
)
private
Integer
isShowForm
;
@ApiModelProperty
(
value
=
"列表是否显示"
)
private
Integer
isShowList
;
@ApiModelProperty
(
value
=
"是否只读"
)
private
Integer
isReadOnly
;
@ApiModelProperty
(
value
=
"查询模式"
)
private
String
queryMode
;
@ApiModelProperty
(
value
=
"外键主表名"
)
private
String
mainTable
;
@ApiModelProperty
(
value
=
"外键主键字段"
)
private
String
mainField
;
@ApiModelProperty
(
value
=
"排序"
)
private
Integer
orderNum
;
@ApiModelProperty
(
value
=
"修改人"
)
private
Long
updateBy
;
private
Date
updateTime
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createBy
;
}
src/main/java/com/patzn/lims/online/entity/PtOnlFormHead.java
deleted
100644 → 0
View file @
4e59cc64
package
com
.
patzn
.
lims
.
online
.
entity
;
import
java.util.Date
;
import
com.patzn.lims.core.bean.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
/**
* <p>
* 表单表
* </p>
*
* @author wwd
* @since 2020-05-07
*/
@Data
@Accessors
(
chain
=
true
)
@ApiModel
public
class
PtOnlFormHead
extends
BaseEntity
{
@ApiModelProperty
(
value
=
"表名"
)
private
String
tableName
;
@ApiModelProperty
(
value
=
"表类型:0单表、1主表、2.附表"
)
private
Integer
tableType
;
@ApiModelProperty
(
value
=
"表版本"
)
private
Integer
tableVersion
;
@ApiModelProperty
(
value
=
"表说明"
)
private
String
tableTxt
;
@ApiModelProperty
(
value
=
"是否带checkbox"
)
private
String
isCheckbox
;
@ApiModelProperty
(
value
=
"同步数据库状态"
)
private
String
isDbSynch
;
@ApiModelProperty
(
value
=
"是否分页"
)
private
String
isPage
;
@ApiModelProperty
(
value
=
"是否是树"
)
private
String
isTree
;
@ApiModelProperty
(
value
=
"主键生成序列"
)
private
String
idSequence
;
@ApiModelProperty
(
value
=
"主键类型"
)
private
String
idType
;
@ApiModelProperty
(
value
=
"查询模式"
)
private
String
queryMode
;
@ApiModelProperty
(
value
=
"映射关系0一对多 1一对一"
)
private
Integer
relationType
;
@ApiModelProperty
(
value
=
"子表"
)
private
String
subTableStr
;
@ApiModelProperty
(
value
=
"附表排序序号"
)
private
Integer
tabOrderNum
;
@ApiModelProperty
(
value
=
"树形表单父ID"
)
private
String
treeParentIdField
;
@ApiModelProperty
(
value
=
"树表主键字段"
)
private
String
treeIdField
;
@ApiModelProperty
(
value
=
"树开表单列字段"
)
private
String
treeFieldname
;
@ApiModelProperty
(
value
=
"表单分类"
)
private
String
formCategory
;
@ApiModelProperty
(
value
=
"PC表单模板"
)
private
String
formTemplate
;
@ApiModelProperty
(
value
=
"表单"
)
private
String
formTemplateMobile
;
@ApiModelProperty
(
value
=
"是否有横向滚动条"
)
private
Integer
scroll
;
@ApiModelProperty
(
value
=
"复制版本号"
)
private
Integer
copyVersion
;
@ApiModelProperty
(
value
=
"复制表类型1为复制表 0为原始表"
)
private
Integer
copyType
;
@ApiModelProperty
(
value
=
"原始表ID"
)
private
Long
physicId
;
@ApiModelProperty
(
value
=
"更新人"
)
private
Long
updateBy
;
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updateTime
;
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createBy
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"主题模板"
)
private
String
themeTemplate
;
}
src/main/java/com/patzn/lims/online/mapper/PtOnlFormFieldMapper.java
View file @
97a01da3
package
com
.
patzn
.
lims
.
online
.
mapper
;
import
com.patzn.lims.online.entity.PtOnlFormField
;
import
com.patzn.lims.
core.
online.entity.PtOnlFormField
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
...
...
src/main/java/com/patzn/lims/online/mapper/PtOnlFormHeadMapper.java
View file @
97a01da3
package
com
.
patzn
.
lims
.
online
.
mapper
;
import
com.patzn.lims.online.entity.PtOnlFormHead
;
import
com.patzn.lims.
core.
online.entity.PtOnlFormHead
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
src/main/java/com/patzn/lims/online/service/IPtOnlFormFieldService.java
View file @
97a01da3
package
com
.
patzn
.
lims
.
online
.
service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.patzn.lims.core.online.entity.PtOnlFormField
;
import
com.patzn.lims.core.web.IBaseService
;
import
com.patzn.lims.online.entity.PtOnlFormField
;
import
java.util.List
;
...
...
src/main/java/com/patzn/lims/online/service/IPtOnlFormHeadService.java
View file @
97a01da3
package
com
.
patzn
.
lims
.
online
.
service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.patzn.lims.core.online.dto.TableDataDTO
;
import
com.patzn.lims.core.online.entity.PtOnlFormHead
;
import
com.patzn.lims.core.web.Account
;
import
com.patzn.lims.core.web.IBaseService
;
import
com.patzn.lims.online.dto.TableDataDTO
;
import
com.patzn.lims.online.entity.PtOnlFormHead
;
/**
* <p>
...
...
src/main/java/com/patzn/lims/online/service/impl/PtOnlFormFieldServiceImpl.java
View file @
97a01da3
package
com
.
patzn
.
lims
.
online
.
service
.
impl
;
import
com.patzn.lims.online.entity.PtOnlFormField
;
import
com.patzn.lims.
core.
online.entity.PtOnlFormField
;
import
com.patzn.lims.online.mapper.PtOnlFormFieldMapper
;
import
com.patzn.lims.online.service.IPtOnlFormFieldService
;
import
com.patzn.lims.core.web.BaseServiceImpl
;
...
...
src/main/java/com/patzn/lims/online/service/impl/PtOnlFormHeadServiceImpl.java
View file @
97a01da3
...
...
@@ -3,12 +3,13 @@ package com.patzn.lims.online.service.impl;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.lims.common.Tf
;
import
com.patzn.lims.core.api.PtAssert
;
import
com.patzn.lims.core.online.Tf
;
import
com.patzn.lims.core.online.dto.TableDataDTO
;
import
com.patzn.lims.core.online.entity.PtOnlFormField
;
import
com.patzn.lims.core.online.entity.PtOnlFormHead
;
import
com.patzn.lims.core.online.entity.PtOnlFormIndex
;
import
com.patzn.lims.core.web.Account
;
import
com.patzn.lims.online.dto.TableDataDTO
;
import
com.patzn.lims.online.entity.PtOnlFormField
;
import
com.patzn.lims.online.entity.PtOnlFormHead
;
import
com.patzn.lims.online.mapper.PtOnlFormHeadMapper
;
import
com.patzn.lims.online.service.IPtOnlFormFieldService
;
import
com.patzn.lims.online.service.IPtOnlFormHeadService
;
...
...
@@ -75,7 +76,7 @@ public class PtOnlFormHeadServiceImpl extends BaseServiceImpl<PtOnlFormHeadMappe
if
(
CollectionUtils
.
isEmpty
(
fields
)){
return
false
;
}
baseMapper
.
executeDDL
(
Tf
.
getCtf
(
head
,
fields
));
baseMapper
.
executeDDL
(
Tf
.
getCtf
(
head
,
fields
,
null
));
PtOnlFormHead
uHead
=
new
PtOnlFormHead
();
uHead
.
setId
(
id
);
uHead
.
setIsDbSynch
(
"是"
);
...
...
src/main/resources/application-wwd.yml
View file @
97a01da3
...
...
@@ -8,7 +8,7 @@ swagger:
spring
:
datasource
:
driver-class-name
:
com.p6spy.engine.spy.P6SpyDriver
url
:
jdbc:p6spy:postgresql://
192.168.0.28:5432/dev_ptlims
url
:
jdbc:p6spy:postgresql://
localhost:5432/tobacco_lims_dev
username
:
postgres
password
:
111111
data
:
...
...
src/main/resources/application.yml
View file @
97a01da3
...
...
@@ -7,7 +7,7 @@ spring:
suffix
:
.html
# 环境 dev|test|pro
profiles
:
active
:
dev
active
:
wwd
application
:
name
:
pt-lims
messages
:
...
...
src/main/resources/mapper/drug/DrugItemMapper.xml
View file @
97a01da3
...
...
@@ -133,12 +133,255 @@
SELECT
i.*,s.name AS "sampleName",s.code AS "nameCode",
s.sample_code,s.category,
c.allocate_time,
o.test_time
s.sample_code,s.category,o.test_time
FROM item i JOIN drug_sample s ON i.sample_id = s.id
JOIN drug_item_allocate c ON i.id = c.item_id
JOIN drug_item_operation o ON i.id = o.item_id
WHERE c.user_id =#{vo.uid}
ORDER BY i.order_by ,i.type,i.name
</select>
<select
id=
"getPersonalTestNumber"
resultType=
"int"
>
SELECT count(*) FROM drug_item i
JOIN drug_item_operation o ON i.id = o.item_id
WHERE i.deleted = 0
<if
test=
"null!=vo.userId"
>
AND o.tester_id = #{vo.userId}
</if>
</select>
<select
id=
"getPersonTest"
resultType=
"com.patzn.lims.drug.dto.StatisticPersonalTest"
>
WITH no_test AS (
SELECT
count( * )
FROM
drug_item i
JOIN drug_item_operation a ON i.ID = a.item_id
WHERE
i.deleted = 0
<if
test=
"null!=vo.uid"
>
AND a.tester_id = #{vo.uid}
</if>
<if
test=
"null!=vo.itemStatusEnum"
>
AND i.status = #{vo.itemStatusEnum}
</if>
),
this_day_test AS (
SELECT
count( * )
FROM
drug_item i
JOIN drug_item_operation a ON i.ID = a.item_id
WHERE
i.deleted = 0
<if
test=
"null!=vo.uid"
>
AND a.tester_id = #{vo.uid}
</if>
AND to_char ( i.ctime, 'yyyy-MM-dd' ) = to_char ( now( ), 'yyyy-MM-dd' )
),
that_day_test AS (
SELECT
count( * )
FROM
drug_item i
JOIN drug_item_operation a ON i.ID = a.item_id
WHERE
i.deleted = 0
<if
test=
"null!=vo.uid"
>
AND a.tester_id = #{vo.uid}
</if>
AND to_char ( i.ctime, 'yyyy-MM-dd' ) = to_char ( now( ) - INTERVAL '1D', 'yyyy-MM-dd' )
),
this_week_test AS (
SELECT
count( * )
FROM
drug_item i
JOIN drug_item_operation a ON i.ID = a.item_id
WHERE
i.deleted = 0
<if
test=
"null!=vo.uid"
>
AND a.tester_id = #{vo.uid}
</if>
AND to_char ( i.ctime - ( extract ( dow FROM i.ctime ) - 1 || 'day' ) :: INTERVAL, 'yyyy-MM-dd' ) = to_char ( now( ) - ( extract ( dow FROM now( ) ) - 1 || 'day' ) :: INTERVAL, 'yyyy-MM-dd' )
),
that_week_test AS (
SELECT
count( * )
FROM
drug_item i
JOIN drug_item_operation a ON i.ID = a.item_id
WHERE
i.deleted = 0
<if
test=
"null!=vo.uid"
>
AND a.tester_id = #{vo.uid}
</if>
<if
test=
"null!=vo.lastWeekBegin"
>
AND i.ctime >= #{vo.lastWeekBegin}
</if>
<if
test=
"null!=vo.lastWeekEnd"
>
AND i.ctime
<![CDATA[<=]]>
#{vo.lastWeekEnd}
</if>
) SELECT
t.count AS "noTestNum",
( SELECT count FROM this_day_test ) AS "dayNum",
( SELECT count FROM that_day_test ) AS "yesDayNum" ,
( SELECT count FROM this_week_test ) AS "weekNum" ,
( SELECT count FROM that_week_test ) AS "lastWeekNum"
FROM
no_test t
LIMIT 1
</select>
<select
id=
"getSampleRank"
resultType=
"com.patzn.lims.drug.dto.StatisticSampleRank"
>
SELECT name ,count(*) AS "number" FROM drug_sample WHERE
deleted =0
<if
test=
"rank.day"
>
AND to_char ( ctime, 'yyyy-MM-dd' ) = to_char ( now(), 'yyyy-MM-dd' )
</if>
<if
test=
"rank.week"
>
AND to_char ( ctime - ( extract ( dow FROM ctime ) - 1 || 'day' ) :: INTERVAL, 'yyyy-MM-dd' ) = to_char ( now( ) - ( extract ( dow FROM now() ) - 1 || 'day' ) :: INTERVAL, 'yyyy-MM-dd' )
</if>
<if
test=
"rank.month"
>
AND to_char ( ctime, 'yyyy-MM' ) = to_char ( now(), 'yyyy-MM' )
</if>
<if
test=
"rank.year"
>
AND to_char ( ctime, 'yyyy' ) = to_char ( now(), 'yyyy' )
</if>
<if
test=
"null!=rank.beginDate"
>
AND ctime >= #{rank.beginDate}
</if>
<if
test=
"null!=rank.endDate"
>
AND ctime
<![CDATA[<=]]>
#{rank.endDate}
</if>
GROUP BY name ORDER BY number desc
</select>
<select
id=
"getItemFail"
resultType=
"com.patzn.lims.drug.dto.StatisticSampleRank"
>
SELECT i.name,count(*) AS "number" FROM drug_item i
JOIN drug_sample s ON i.sample_id = s.id
WHERE i.deleted = 0
<if
test=
"notOK.day"
>
AND to_char ( i.ctime, 'yyyy-MM-dd' ) = to_char ( now(), 'yyyy-MM-dd' )
</if>
<if
test=
"notOK.week"
>
AND to_char ( i.ctime - ( extract ( dow FROM i.ctime ) - 1 || 'day' ) :: INTERVAL, 'yyyy-MM-dd' ) = to_char ( now( ) - ( extract ( dow FROM now() ) - 1 || 'day' ) :: INTERVAL, 'yyyy-MM-dd' )
</if>
<if
test=
"notOK.month"
>
AND to_char ( i.ctime, 'yyyy-MM' ) = to_char ( now(), 'yyyy-MM' )
</if>
<if
test=
"notOK.year"
>
AND to_char ( i.ctime, 'yyyy' ) = to_char ( now(), 'yyyy' )
</if>
<if
test=
"null!=notOK.beginDate"
>
AND i.ctime >= #{notOK.beginDate}
</if>
<if
test=
"null!=notOK.endDate"
>
AND i.ctime
<![CDATA[<=]]>
#{notOK.endDate}
</if>
AND s.deleted =0 AND i.single_judge = #{notOK.judgeEnum} GROUP BY i.name
</select>
<select
id=
"selectSampleNumByDay"
resultType=
"com.patzn.lims.drug.dto.StatisticSampleRank"
>
SELECT COUNT(*) AS "number",
to_char( ctime, 'yyyy-MM-dd') AS "name"
FROM
drug_sample
WHERE
deleted = 0 AND to_char( ctime, 'yyyy-MM-dd' ) IN
<foreach
collection=
"daysList"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
GROUP BY
to_char(
ctime,
'yyyy-MM-dd')
</select>
<select
id=
"selectItemNumByDay"
resultType=
"com.patzn.lims.drug.dto.StatisticSampleRank"
>
SELECT COUNT(*) AS "number",
to_char( i.ctime, 'yyyy-MM-dd') AS "name"
FROM
drug_item i JOIN drug_sample s ON i.sample_id = s.id
WHERE
i.deleted = 0 AND s.deleted = 0 AND to_char( i.ctime, 'yyyy-MM-dd' ) IN
<foreach
collection=
"daysList"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
GROUP BY
to_char(
i.ctime,
'yyyy-MM-dd')
</select>
<select
id=
"pageItemFail"
resultType=
"com.patzn.lims.drug.vo.DrugItemVO"
>
WITH item AS (
SELECT i.id,i.name,i.test_value,i.single_judge,i.limit_value,i.standard_name,i.code,i.sample_id,i.order_by FROM drug_item i WHERE i.deleted = 0
<if
test=
"vo.status!=null"
>
AND i.status = #{vo.status}
</if>
<if
test=
"vo.companyId!=null"
>
AND i.company_id = #{vo.companyId}
</if>
<if
test=
"vo.singleJudge!=null"
>
AND i.single_judge = #{vo.singleJudge}
</if>
<if
test=
"vo.singleJudgeNot!=null"
>
AND i.single_judge != #{vo.singleJudgeNot}
</if>
<include
refid=
"itemWhere"
/>
<if
test=
"vo.statusList!=null"
>
AND i.status IN
<foreach
collection=
"vo.statusList"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
<if
test=
"vo.sampleIds!=null"
>
AND i.sample_id IN
<foreach
collection=
"vo.sampleIds"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
<if
test=
"vo.sampleId!=null"
>
AND i.sample_id = #{vo.sampleId}
</if>
)
SELECT
i.*,s.name AS "sampleName",s.code AS "nameCode",
s.sample_code,s.category
FROM item i JOIN drug_sample s ON i.sample_id = s.id
<where>
<if
test=
"null!=vo.sampleCode"
>
AND s.sample_code LIKE CONCAT('%',#{vo.sampleCode},'%')
</if>
</where>
ORDER BY i.name
</select>
</mapper>
src/main/resources/mapper/drug/DrugSampleMapper.xml
View file @
97a01da3
...
...
@@ -256,4 +256,40 @@
</select>
<select
id=
"selectInsList"
resultType=
"com.patzn.lims.drug.vo.DrugSampleVO"
>
SELECT to_char(ctime,'yyyy-MM-dd') AS "ctimeStr" FROM drug_sample WHERE deleted = 0
AND pc_person_id = #{userId}
AND to_char(ctime,'yyyy-MM-dd') IN
<foreach
collection=
"daysList"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</select>
<select
id=
"selectReceiveList"
resultType=
"com.patzn.lims.drug.vo.DrugSampleVO"
>
SELECT to_char(o.receive_time,'yyyy-MM-dd') AS "ctimeStr" FROM
drug_sample s
JOIN drug_sample_operation o ON s.ID = o.sample_id
WHERE s.deleted = 0
AND o.receiver_id = #{userId}
AND to_char(o.receive_time,'yyyy-MM-dd') IN
<foreach
collection=
"daysList"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</select>
<select
id=
"selectCountPersonalSampleReceive"
resultType=
"int"
>
SELECT
count(1)
FROM
drug_sample s
JOIN drug_sample_operation o ON s.ID = o.sample_id
WHERE s.deleted = 0
AND o.receiver_id = #{userId}
</select>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment