diff --git a/admin-hanhai-vue/.env.development b/admin-hanhai-vue/.env.development index f944f3f..4fc3274 100644 --- a/admin-hanhai-vue/.env.development +++ b/admin-hanhai-vue/.env.development @@ -1,5 +1,5 @@ NODE_ENV=development -VUE_APP_API_BASE_URL=http://localhost:8003/school-api/ +VUE_APP_API_BASE_URL=http://localhost:8000/school-api/ VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview diff --git a/admin-hanhai-vue/.env.production b/admin-hanhai-vue/.env.production index da11fb6..f4c58d7 100644 --- a/admin-hanhai-vue/.env.production +++ b/admin-hanhai-vue/.env.production @@ -1,4 +1,4 @@ NODE_ENV=production -VUE_APP_API_BASE_URL=http://localhost:8003/school-api/ +VUE_APP_API_BASE_URL=http://localhost:8000/school-api/ VUE_APP_CAS_BASE_URL=http://localhost:8888/cas VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/HanHaiMember/HanHaiMemberList.vue b/admin-hanhai-vue/src/views/HanHaiMember/HanHaiMemberList.vue index 99a989e..8065dd1 100644 --- a/admin-hanhai-vue/src/views/HanHaiMember/HanHaiMemberList.vue +++ b/admin-hanhai-vue/src/views/HanHaiMember/HanHaiMemberList.vue @@ -132,11 +132,11 @@ dataIndex: 'headImage', scopedSlots: {customRender: 'imgSlot'} }, - { - title:'真实姓名', - align:"center", - dataIndex: 'name' - }, + // { + // title:'真实姓名', + // align:"center", + // dataIndex: 'name' + // }, { title:'openid', align:"center", @@ -182,7 +182,7 @@ deleteBatch: "/hanHaiMember/hanHaiMember/deleteBatch", exportXlsUrl: "/hanHaiMember/hanHaiMember/exportXls", importExcelUrl: "hanHaiMember/hanHaiMember/importExcel", - + }, dictOptions:{}, superFieldList:[], @@ -202,12 +202,12 @@ getSuperFieldList(){ let fieldList=[]; fieldList.push({type:'string',value:'nickName',text:'昵称',dictCode:''}) - fieldList.push({type:'string',value:'headImage',text:'用户头像',dictCode:''}) - fieldList.push({type:'string',value:'name',text:'真实姓名',dictCode:''}) - fieldList.push({type:'string',value:'phone',text:'手机号码',dictCode:''}) - fieldList.push({type:'string',value:'account',text:'登录账号',dictCode:''}) - fieldList.push({type:'string',value:'password',text:'登录密码',dictCode:''}) - fieldList.push({type:'string',value:'passwordSalt',text:'登录盐',dictCode:''}) + // fieldList.push({type:'string',value:'headImage',text:'用户头像',dictCode:''}) + // fieldList.push({type:'string',value:'name',text:'真实姓名',dictCode:''}) + // fieldList.push({type:'string',value:'phone',text:'手机号码',dictCode:''}) + // fieldList.push({type:'string',value:'account',text:'登录账号',dictCode:''}) + // fieldList.push({type:'string',value:'password',text:'登录密码',dictCode:''}) + // fieldList.push({type:'string',value:'passwordSalt',text:'登录盐',dictCode:''}) fieldList.push({type:'string',value:'sex',text:'性别',dictCode:''}) this.superFieldList = fieldList } diff --git a/admin-hanhai-vue/src/views/HanHaiMember/modules/HanHaiMemberForm.vue b/admin-hanhai-vue/src/views/HanHaiMember/modules/HanHaiMemberForm.vue index 225bb84..85d9460 100644 --- a/admin-hanhai-vue/src/views/HanHaiMember/modules/HanHaiMemberForm.vue +++ b/admin-hanhai-vue/src/views/HanHaiMember/modules/HanHaiMemberForm.vue @@ -13,41 +13,41 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + @@ -136,7 +136,7 @@ that.confirmLoading = false; }) } - + }) }, } diff --git a/admin-hanhai-vue/src/views/HanHaiMemberAccount/HanHaiMemberList.vue b/admin-hanhai-vue/src/views/HanHaiMemberAccount/HanHaiMemberList.vue index ee749b0..bf7a8cb 100644 --- a/admin-hanhai-vue/src/views/HanHaiMemberAccount/HanHaiMemberList.vue +++ b/admin-hanhai-vue/src/views/HanHaiMemberAccount/HanHaiMemberList.vue @@ -68,9 +68,9 @@ - 编辑 + - + 更多 @@ -137,13 +137,13 @@ align:"center", dataIndex: 'name' }, + // { + // title:'手机号码', + // align:"center", + // dataIndex: 'phone' + // }, { - title:'手机号码', - align:"center", - dataIndex: 'phone' - }, - { - title:'登录账号', + title:'登录账号(手机号码)', align:"center", dataIndex: 'account' }, @@ -162,11 +162,11 @@ align:"center", dataIndex: 'sex' }, - { - title:'角色', - align:"center", - dataIndex: 'isDa' - }, + // { + // title:'角色', + // align:"center", + // dataIndex: 'isDai' + // }, { title: '操作', dataIndex: 'action', @@ -182,7 +182,7 @@ deleteBatch: "/hanHaiMember/hanHaiMember/deleteBatch", exportXlsUrl: "/hanHaiMember/hanHaiMember/exportXls", importExcelUrl: "hanHaiMember/hanHaiMember/importExcel", - + }, dictOptions:{}, superFieldList:[], @@ -201,14 +201,14 @@ }, getSuperFieldList(){ let fieldList=[]; - fieldList.push({type:'string',value:'nickName',text:'昵称',dictCode:''}) - fieldList.push({type:'string',value:'headImage',text:'用户头像',dictCode:''}) - fieldList.push({type:'string',value:'name',text:'真实姓名',dictCode:''}) - fieldList.push({type:'string',value:'phone',text:'手机号码',dictCode:''}) - fieldList.push({type:'string',value:'account',text:'登录账号',dictCode:''}) - fieldList.push({type:'string',value:'password',text:'登录密码',dictCode:''}) - fieldList.push({type:'string',value:'passwordSalt',text:'登录盐',dictCode:''}) - fieldList.push({type:'string',value:'sex',text:'性别',dictCode:''}) + // fieldList.push({type:'string',value:'nickName',text:'昵称',dictCode:''}) + // fieldList.push({type:'string',value:'headImage',text:'用户头像',dictCode:''}) + // fieldList.push({type:'string',value:'name',text:'真实姓名',dictCode:''}) + // fieldList.push({type:'string',value:'phone',text:'手机号码',dictCode:''}) + fieldList.push({type:'string',value:'account',text:'登录账号(手机号码)',dictCode:''}) + // fieldList.push({type:'string',value:'password',text:'登录密码',dictCode:''}) + // fieldList.push({type:'string',value:'passwordSalt',text:'登录盐',dictCode:''}) + // fieldList.push({type:'string',value:'sex',text:'性别',dictCode:''}) this.superFieldList = fieldList } } diff --git a/admin-hanhai-vue/src/views/HanHaiMemberAccount/modules/HanHaiMemberForm.vue b/admin-hanhai-vue/src/views/HanHaiMemberAccount/modules/HanHaiMemberForm.vue index ea8889c..5ab014e 100644 --- a/admin-hanhai-vue/src/views/HanHaiMemberAccount/modules/HanHaiMemberForm.vue +++ b/admin-hanhai-vue/src/views/HanHaiMemberAccount/modules/HanHaiMemberForm.vue @@ -18,14 +18,14 @@ + + + + + - - - - - - - + + diff --git a/admin-hanhai-vue/src/views/HanHaiMemberPass/HanHaiMemberList.vue b/admin-hanhai-vue/src/views/HanHaiMemberPass/HanHaiMemberList.vue index 6f68dd6..f3cbb92 100644 --- a/admin-hanhai-vue/src/views/HanHaiMemberPass/HanHaiMemberList.vue +++ b/admin-hanhai-vue/src/views/HanHaiMemberPass/HanHaiMemberList.vue @@ -137,13 +137,13 @@ align:"center", dataIndex: 'name' }, + // { + // title:'手机号码', + // align:"center", + // dataIndex: 'phone' + // }, { - title:'手机号码', - align:"center", - dataIndex: 'phone' - }, - { - title:'登录账号', + title:'登录账号(手机号码)', align:"center", dataIndex: 'account' }, @@ -162,11 +162,11 @@ align:"center", dataIndex: 'sex' }, - { - title:'角色', - align:"center", - dataIndex: 'isDa' - }, + // { + // title:'角色', + // align:"center", + // dataIndex: 'isDa' + // }, { title: '操作', dataIndex: 'action', @@ -182,7 +182,7 @@ deleteBatch: "/hanHaiMember/hanHaiMember/deleteBatch", exportXlsUrl: "/hanHaiMember/hanHaiMember/exportXls", importExcelUrl: "hanHaiMember/hanHaiMember/importExcel", - + }, dictOptions:{}, superFieldList:[], @@ -201,14 +201,14 @@ }, getSuperFieldList(){ let fieldList=[]; - fieldList.push({type:'string',value:'nickName',text:'昵称',dictCode:''}) - fieldList.push({type:'string',value:'headImage',text:'用户头像',dictCode:''}) - fieldList.push({type:'string',value:'name',text:'真实姓名',dictCode:''}) - fieldList.push({type:'string',value:'phone',text:'手机号码',dictCode:''}) - fieldList.push({type:'string',value:'account',text:'登录账号',dictCode:''}) - fieldList.push({type:'string',value:'password',text:'登录密码',dictCode:''}) - fieldList.push({type:'string',value:'passwordSalt',text:'登录盐',dictCode:''}) - fieldList.push({type:'string',value:'sex',text:'性别',dictCode:''}) + // fieldList.push({type:'string',value:'nickName',text:'昵称',dictCode:''}) + // fieldList.push({type:'string',value:'headImage',text:'用户头像',dictCode:''}) + // fieldList.push({type:'string',value:'name',text:'真实姓名',dictCode:''}) + // fieldList.push({type:'string',value:'phone',text:'手机号码',dictCode:''}) + fieldList.push({type:'string',value:'account',text:'登录账号(手机号码)',dictCode:''}) + // fieldList.push({type:'string',value:'password',text:'登录密码',dictCode:''}) + // fieldList.push({type:'string',value:'passwordSalt',text:'登录盐',dictCode:''}) + // fieldList.push({type:'string',value:'sex',text:'性别',dictCode:''}) this.superFieldList = fieldList } } diff --git a/admin-hanhai-vue/src/views/subSchool/ShcoolSubList.vue b/admin-hanhai-vue/src/views/subSchool/ShcoolSubList.vue new file mode 100644 index 0000000..f77dc14 --- /dev/null +++ b/admin-hanhai-vue/src/views/subSchool/ShcoolSubList.vue @@ -0,0 +1,344 @@ + + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/subSchool/modules/ShcoolSubForm.vue b/admin-hanhai-vue/src/views/subSchool/modules/ShcoolSubForm.vue new file mode 100644 index 0000000..99d83df --- /dev/null +++ b/admin-hanhai-vue/src/views/subSchool/modules/ShcoolSubForm.vue @@ -0,0 +1,184 @@ + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/subSchool/modules/ShcoolSubModal.Style#Drawer.vue b/admin-hanhai-vue/src/views/subSchool/modules/ShcoolSubModal.Style#Drawer.vue new file mode 100644 index 0000000..a540798 --- /dev/null +++ b/admin-hanhai-vue/src/views/subSchool/modules/ShcoolSubModal.Style#Drawer.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/admin-hanhai-vue/src/views/subSchool/modules/ShcoolSubModal.vue b/admin-hanhai-vue/src/views/subSchool/modules/ShcoolSubModal.vue new file mode 100644 index 0000000..2b0b22e --- /dev/null +++ b/admin-hanhai-vue/src/views/subSchool/modules/ShcoolSubModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.java index 40bf3b1..b5704f0 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.java @@ -54,7 +54,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; public class HanHaiMemberController extends JeecgController { @Autowired private IHanHaiMemberService hanHaiMemberService; - + /** * 分页列表查询 * @@ -135,7 +135,7 @@ public class HanHaiMemberController extends JeecgController { @Autowired private IShcoolSubService shcoolSubService; - + @Autowired + private IHanHaiMemberService hanHaiMemberService; + @Autowired + private ISchoolOrderLogService schoolOrderLogService; + /** * 分页列表查询 * @@ -71,7 +84,7 @@ public class ShcoolSubController extends JeecgController pageList = shcoolSubService.page(page, queryWrapper); return Result.OK(pageList); } - + /** * 添加 * @@ -85,21 +98,48 @@ public class ShcoolSubController extends JeecgController edit(@RequestBody ShcoolSub shcoolSub) { - shcoolSubService.updateById(shcoolSub); - return Result.OK("编辑成功!"); - } - + + /** + * 编辑 + * + * @param shcoolSub + * @return + */ + @AutoLog(value = "报修表-编辑") + @ApiOperation(value="报修表-编辑", notes="报修表-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody ShcoolSub shcoolSub) { + ShcoolSub byId1 = shcoolSubService.getById(shcoolSub.getId()); + //查看订单状态是否已完成 + if(byId1.getState().equals("1")){ + return Result.error("订单订单已结单,不能修改"); + } + + if(StringUtils.isNotBlank(shcoolSub.getGiveAccount())){ + //增加转单记录 + //根据标识查询转单师傅信息 + HanHaiMember byId = hanHaiMemberService.getById(shcoolSub.getGiveAccount()); + SchoolOrderLog schoolOrderLog = new SchoolOrderLog(); + + schoolOrderLog.setOrderNo(shcoolSub.getOrderNo()); + schoolOrderLog.setType("0"); + schoolOrderLog.setGiveUser(shcoolSub.getGiveAccount()); + schoolOrderLog.setOrderId(shcoolSub.getId()); + schoolOrderLog.setCreateTime(new Date()); + schoolOrderLog.setCentext("后台员转单给:"+byId.getName()); + schoolOrderLog.setUserId(shcoolSub.getUserId()); + schoolOrderLogService.save(schoolOrderLog); + + } + shcoolSub.setCleckState("0"); + shcoolSub.setReturnValue(""); + shcoolSub.setSuccessPrice(BigDecimal.ZERO); + shcoolSub.setSuccessTitle(""); + shcoolSub.setSucessText(""); + shcoolSub.setSuccessImage(""); + shcoolSubService.updateById(shcoolSub); + return Result.OK("编辑成功!"); + } /** * 通过id删除 * @@ -113,7 +153,7 @@ public class ShcoolSubController extends JeecgController { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/service/IShcoolSubService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/service/IShcoolSubService.java index 0513532..0451fc9 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/service/IShcoolSubService.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/service/IShcoolSubService.java @@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 报修表 * @Author: jeecg-boot - * @Date: 2024-09-03 + * @Date: 2024-09-29 * @Version: V1.0 */ public interface IShcoolSubService extends IService { diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/service/impl/ShcoolSubServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/service/impl/ShcoolSubServiceImpl.java index a7dfa95..d8dc726 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/service/impl/ShcoolSubServiceImpl.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/service/impl/ShcoolSubServiceImpl.java @@ -10,7 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 报修表 * @Author: jeecg-boot - * @Date: 2024-09-03 + * @Date: 2024-09-29 * @Version: V1.0 */ @Service diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue/ShcoolSubList.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue/ShcoolSubList.vue index 40ebfa6..9b83b3c 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue/ShcoolSubList.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue/ShcoolSubList.vue @@ -4,6 +4,58 @@
+ + + + + + + + + + + + + + 查询 + 重置 + + {{ toggleSearchStatus ? '收起' : '展开' }} + + + +
@@ -122,11 +174,25 @@ return parseInt(index)+1; } }, + { + title:'创建日期', + align:"center", + sorter: true, + dataIndex: 'createTime', + customRender:function (text) { + return !text?"":(text.length>10?text.substr(0,10):text) + } + }, { title:'楼栋', align:"center", dataIndex: 'building' }, + { + title:'工单号', + align:"center", + dataIndex: 'orderNo' + }, { title:'室号', align:"center", @@ -166,18 +232,23 @@ { title:'状态', align:"center", - dataIndex: 'state' + dataIndex: 'state_dictText' }, { title:'结单/驳回', align:"center", - dataIndex: 'cleckState' + dataIndex: 'cleckState_dictText' }, { title:'驳回原因', align:"center", dataIndex: 'returnValue' }, + { + title:'填单日期', + align:"center", + dataIndex: 'startTime' + }, { title:'结单结果', align:"center", @@ -204,6 +275,11 @@ align:"center", dataIndex: 'giveAccount_dictText' }, + { + title:'结单日期', + align:"center", + dataIndex: 'endTime' + }, { title: '操作', dataIndex: 'action', @@ -219,7 +295,7 @@ deleteBatch: "/shcoolSub/shcoolSub/deleteBatch", exportXlsUrl: "/shcoolSub/shcoolSub/exportXls", importExcelUrl: "shcoolSub/shcoolSub/importExcel", - + }, dictOptions:{}, superFieldList:[], @@ -238,22 +314,26 @@ }, getSuperFieldList(){ let fieldList=[]; + fieldList.push({type:'date',value:'createTime',text:'创建日期'}) fieldList.push({type:'string',value:'building',text:'楼栋',dictCode:''}) + fieldList.push({type:'string',value:'orderNo',text:'工单号',dictCode:''}) fieldList.push({type:'string',value:'room',text:'室号',dictCode:''}) fieldList.push({type:'string',value:'project',text:'项目',dictCode:''}) fieldList.push({type:'string',value:'name',text:'姓名',dictCode:''}) fieldList.push({type:'string',value:'context',text:'简介',dictCode:''}) fieldList.push({type:'string',value:'phone',text:'电话',dictCode:''}) fieldList.push({type:'string',value:'image',text:'照片',dictCode:''}) - fieldList.push({type:'sel_search',value:'userId',text:'用户标识',dictTable:"han_hai_member", dictText:'account', dictCode:'id'}) - fieldList.push({type:'string',value:'state',text:'状态',dictCode:''}) - fieldList.push({type:'string',value:'cleckState',text:'结单/驳回',dictCode:''}) + fieldList.push({type:'sel_search',value:'userId',text:'用户标识',dictTable:"han_hai_member", dictText:'nick_name', dictCode:'id'}) + fieldList.push({type:'string',value:'state',text:'状态',dictCode:'sch_order_state'}) + fieldList.push({type:'string',value:'cleckState',text:'结单/驳回',dictCode:'sch_pay_state'}) fieldList.push({type:'string',value:'returnValue',text:'驳回原因',dictCode:''}) + fieldList.push({type:'datetime',value:'startTime',text:'填单日期'}) fieldList.push({type:'string',value:'successTitle',text:'结单结果',dictCode:''}) fieldList.push({type:'BigDecimal',value:'successPrice',text:'结单金额',dictCode:''}) fieldList.push({type:'string',value:'sucessText',text:'处理说明',dictCode:''}) fieldList.push({type:'string',value:'successImage',text:'照片',dictCode:''}) - fieldList.push({type:'sel_search',value:'giveAccount',text:'分配维修员',dictTable:"han_hai_member", dictText:'account', dictCode:'id'}) + fieldList.push({type:'sel_search',value:'giveAccount',text:'分配维修员',dictTable:"han_hai_member", dictText:'nick_name', dictCode:'id'}) + fieldList.push({type:'datetime',value:'endTime',text:'结单日期'}) this.superFieldList = fieldList } } @@ -261,4 +341,4 @@ \ No newline at end of file + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue/modules/ShcoolSubForm.vue b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue/modules/ShcoolSubForm.vue index c92b83b..45e7c9f 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue/modules/ShcoolSubForm.vue +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue/modules/ShcoolSubForm.vue @@ -8,6 +8,11 @@
+ + + + + @@ -40,37 +45,32 @@ - - - - - - + - - + + - - + + - + - + - + @@ -80,7 +80,12 @@ - + + + + + + @@ -171,9 +176,9 @@ that.confirmLoading = false; }) } - + }) }, } } - \ No newline at end of file + diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue3/ShcoolSub.data.ts b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue3/ShcoolSub.data.ts index f5c41ac..0ce3408 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue3/ShcoolSub.data.ts +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/shcoolSub/vue3/ShcoolSub.data.ts @@ -5,10 +5,24 @@ import { render } from '/@/utils/common/renderUtils'; //列表数据 export const columns: BasicColumn[] = [ { + title: '创建日期', + align:"center", + sorter: true, + dataIndex: 'createTime', + customRender:({text}) =>{ + return !text?"":(text.length>10?text.substr(0,10):text) + }, + }, + { title: '楼栋', align:"center", dataIndex: 'building' }, + { + title: '工单号', + align:"center", + dataIndex: 'orderNo' + }, { title: '室号', align:"center", @@ -48,18 +62,23 @@ export const columns: BasicColumn[] = [ { title: '状态', align:"center", - dataIndex: 'state' + dataIndex: 'state_dictText' }, { title: '结单/驳回', align:"center", - dataIndex: 'cleckState' + dataIndex: 'cleckState_dictText' }, { title: '驳回原因', align:"center", dataIndex: 'returnValue' }, + { + title: '填单日期', + align:"center", + dataIndex: 'startTime' + }, { title: '结单结果', align:"center", @@ -86,9 +105,71 @@ export const columns: BasicColumn[] = [ align:"center", dataIndex: 'giveAccount_dictText' }, + { + title: '结单日期', + align:"center", + dataIndex: 'endTime' + }, ]; //查询数据 export const searchFormSchema: FormSchema[] = [ + { + label: "楼栋", + field: "building", + component: 'Input', + colProps: {span: 6}, + }, + { + label: "室号", + field: "room", + component: 'Input', + colProps: {span: 6}, + }, + { + label: "项目", + field: "project", + component: 'Input', + colProps: {span: 6}, + }, + { + label: "姓名", + field: "name", + component: 'Input', + colProps: {span: 6}, + }, + { + label: "电话", + field: "phone", + component: 'Input', + colProps: {span: 6}, + }, + { + label: "状态", + field: "state", + component: 'JDictSelectTag', + componentProps:{ + dictCode:"sch_order_state" + }, + colProps: {span: 6}, + }, + { + label: "结单/驳回", + field: "cleckState", + component: 'JDictSelectTag', + componentProps:{ + dictCode:"sch_pay_state" + }, + colProps: {span: 6}, + }, + { + label: "分配维修员", + field: "giveAccount", + component: 'JSearchSelect', + componentProps:{ + dict:"han_hai_member,nick_name,id" + }, + colProps: {span: 6}, + }, ]; //表单数据 export const formSchema: FormSchema[] = [ @@ -97,6 +178,11 @@ export const formSchema: FormSchema[] = [ field: 'building', component: 'Input', }, + { + label: '工单号', + field: 'orderNo', + component: 'Input', + }, { label: '室号', field: 'room', @@ -134,38 +220,39 @@ export const formSchema: FormSchema[] = [ field: 'userId', component: 'JSearchSelect', componentProps:{ - dict:"han_hai_member,account,id" + dict:"han_hai_member,nick_name,id" }, - }, - { - label: '状态', - field: 'state', - component: 'Input', - }, - { - label: '结单/驳回', - field: 'cleckState', - component: 'Input', + dynamicDisabled:true }, { label: '驳回原因', field: 'returnValue', + component: 'InputTextArea',//TODO 注意string转换问题 + dynamicDisabled:true + }, + { + label: '填单日期', + field: 'startTime', component: 'Input', + dynamicDisabled:true }, { label: '结单结果', field: 'successTitle', component: 'Input', + dynamicDisabled:true }, { label: '结单金额', field: 'successPrice', component: 'InputNumber', + dynamicDisabled:true }, { label: '处理说明', field: 'sucessText', - component: 'Input', + component: 'InputTextArea',//TODO 注意string转换问题 + dynamicDisabled:true }, { label: '照片', @@ -179,7 +266,13 @@ export const formSchema: FormSchema[] = [ field: 'giveAccount', component: 'JSearchSelect', componentProps:{ - dict:"han_hai_member,account,id" + dict:"han_hai_member,nick_name,id" }, }, + { + label: '结单日期', + field: 'endTime', + component: 'Input', + dynamicDisabled:true + }, ]; diff --git a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.class b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.class index abf6d33..8f61596 100644 Binary files a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.class and b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/hanHaiMember/controller/HanHaiMemberController.class differ diff --git a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/shcoolSub/controller/ShcoolSubController.class b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/shcoolSub/controller/ShcoolSubController.class index d238bf8..c280c16 100644 Binary files a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/shcoolSub/controller/ShcoolSubController.class and b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/shcoolSub/controller/ShcoolSubController.class differ diff --git a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/shcoolSub/entity/ShcoolSub.class b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/shcoolSub/entity/ShcoolSub.class index c493e68..c127643 100644 Binary files a/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/shcoolSub/entity/ShcoolSub.class and b/jeecg-boot-base/jeecg-boot-base-core/target/classes/org/jeecg/modules/shcoolSub/entity/ShcoolSub.class differ diff --git a/jeecg-boot-base/jeecg-boot-base-tools/target/classes/org/jeecg/common/modules/redis/writer/JeecgRedisCacheWriter.class b/jeecg-boot-base/jeecg-boot-base-tools/target/classes/org/jeecg/common/modules/redis/writer/JeecgRedisCacheWriter.class index 0eeaa52..4f487eb 100644 Binary files a/jeecg-boot-base/jeecg-boot-base-tools/target/classes/org/jeecg/common/modules/redis/writer/JeecgRedisCacheWriter.class and b/jeecg-boot-base/jeecg-boot-base-tools/target/classes/org/jeecg/common/modules/redis/writer/JeecgRedisCacheWriter.class differ diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/IndexApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/IndexApiServiceImpl.java index 678999a..7522500 100644 --- a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/IndexApiServiceImpl.java +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiservice/impl/IndexApiServiceImpl.java @@ -1,5 +1,6 @@ package org.jeecg.modules.apiservice.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; import org.apache.commons.lang.StringUtils; @@ -16,15 +17,23 @@ import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; import org.jeecg.modules.pay.MpWxPayService; import org.jeecg.modules.schoolIndex.entity.SchoolIndex; import org.jeecg.modules.schoolIndex.service.ISchoolIndexService; +import org.jeecg.modules.schoolOrderLog.entity.SchoolOrderLog; +import org.jeecg.modules.schoolOrderLog.service.ISchoolOrderLogService; import org.jeecg.modules.shcoolFloor.entity.ShcoolFloor; import org.jeecg.modules.shcoolFloor.service.IShcoolFloorService; import org.jeecg.modules.shcoolSub.entity.ShcoolSub; +import org.jeecg.modules.shcoolSub.mapper.ShcoolSubMapper; import org.jeecg.modules.shcoolSub.service.IShcoolSubService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.transaction.Transactional; import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; import java.util.Date; import java.util.List; @@ -47,6 +56,11 @@ public class IndexApiServiceImpl implements IndexApiService { @Resource private ISchoolIndexService schoolIndexService; + //工单流转明细 + @Resource + private ISchoolOrderLogService schoolOrderLogService; + @Resource + private ShcoolSubMapper shcoolSubMapper; @@ -89,11 +103,38 @@ public class IndexApiServiceImpl implements IndexApiService { @Override public Result addUserSchoolOrder(String token,ShcoolSub bean){ HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiOpenId(token); + // 获取当前日期 + LocalDate today = LocalDate.now(); + // 定义一个DateTimeFormatter,用于将日期格式化为YYYYMMDD + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + // 使用formatter将today格式化为字符串 + String formattedDate = today.format(formatter); + + + LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIN); + LocalDateTime todayEnd = todayStart.plusDays(1).minusNanos(1); // 加上一天然后减去一秒,得到当天的23:59:59.999999999 + + // 使用lambdaQuery()构建查询条件(注意:lambdaQuery()并非MyBatis-Plus的标准API,这里使用LambdaQueryWrapper作为示例) + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.between(ShcoolSub::getCreateTime, todayStart, todayEnd); // 假设getCreateTime是获取创建时间的getter方法 + + // 执行查询并获取数量 + // 注意:这里假设orderMapper有一个selectCount方法,它实际上可能是自定义的或使用MyBatis-Plus提供的工具方法 + Long aLong = shcoolSubMapper.selectCount(queryWrapper); + + String orderNo = formattedDate + (aLong+1); + + + bean.setOrderNo(orderNo); bean.setUserId(hanHaiMember.getId()); bean.setState("0"); bean.setCreateTime(new Date()); + bean.setStartTime(new Date()); + //接单人 + String giveUser = ""; //查看传入的是几楼 + HanHaiMember hanHaiMember1 = new HanHaiMember(); if(StringUtils.isNotBlank(bean.getBuilding())){ ShcoolFloor shcoolFloor = shcoolFloorService.lambdaQuery() .eq(ShcoolFloor::getName,bean.getBuilding()) @@ -101,30 +142,77 @@ public class IndexApiServiceImpl implements IndexApiService { //得到维修账号 if(shcoolFloor!=null){ //根据维修账号查询用户信息 - HanHaiMember hanHaiMember1 = hanHaiMemberService.lambdaQuery() + hanHaiMember1 = hanHaiMemberService.lambdaQuery() .eq(HanHaiMember::getAccount,shcoolFloor.getUserAccount()) .one(); - bean.setGiveAccount(hanHaiMember1.getId()); - } - } - - + //判断是否为空 + if(hanHaiMember1==null){ + return Result.error("该楼栋暂无维修人员"); + } + giveUser = hanHaiMember1.getId(); + bean.setGiveAccount(giveUser); + } + } shcoolSubService.save(bean); + + //增加工单流转明细 + SchoolOrderLog schoolOrderLog = new SchoolOrderLog(); + schoolOrderLog.setOrderId(bean.getId()); + //生成工单号逻辑:// 年月份日期 + 当天的需要到单日期 + schoolOrderLog.setOrderNo(orderNo); + schoolOrderLog.setGiveUser(giveUser); + schoolOrderLog.setType("0"); + schoolOrderLog.setCentext(hanHaiMember.getNickName()+"提交工单"+"=>分配给"+hanHaiMember1.getName()); + schoolOrderLog.setUserId(hanHaiMember.getId()); + schoolOrderLog.setOrderName(bean.getName()); + schoolOrderLog.setCreateTime(new Date()); + schoolOrderLogService.save(schoolOrderLog); return Result.OK("增加成功"); } //驳回 @Override + @Transactional public Result editSchoolOrderError(String token,ShcoolSub bean){ HanHaiMember hanHaiMember = shiroRealm.checkUserTokenIsEffectHanHaiAccount(token); if(StringUtils.isBlank(bean.getId())){ return Result.error("订单标识不能为空"); } + //驳回原因不能为空 + if(StringUtils.isBlank(bean.getReturnValue())){ + return Result.error("驳回原因不能为空"); + } + + //根据标识查询用户信息 + ShcoolSub sub = shcoolSubService.getById(bean.getId()); + + //增加转单记录 + //根据标识查询转单师傅信息 + HanHaiMember byId = hanHaiMemberService.getById(sub.getGiveAccount()); + SchoolOrderLog schoolOrderLog = new SchoolOrderLog(); + + schoolOrderLog.setOrderNo(sub.getOrderNo()); + schoolOrderLog.setType("2"); + schoolOrderLog.setGiveUser(sub.getGiveAccount()); + schoolOrderLog.setOrderId(sub.getId()); + schoolOrderLog.setCreateTime(new Date()); + schoolOrderLog.setCentext(byId.getName()+":驳回订单"); + schoolOrderLog.setUserId(sub.getUserId()); + schoolOrderLogService.save(schoolOrderLog); + + + + bean.setSuccessPrice(BigDecimal.ZERO); + bean.setSuccessTitle(""); + bean.setSucessText(""); + bean.setSuccessImage(""); bean.setCleckState("2"); bean.setGiveAccount("-------"); shcoolSubService.updateById(bean); + + return Result.OK("驳回成功"); } @@ -135,8 +223,14 @@ public class IndexApiServiceImpl implements IndexApiService { if(StringUtils.isBlank(bean.getId())){ return Result.error("订单标识不能为空"); } - bean.setGiveAccount("-----"); + bean.setGiveAccount(""); bean.setCleckState("2"); + + //驳回原因不能为空 + if(StringUtils.isBlank(bean.getReturnValue())){ + return Result.error("驳回原因不能为空"); + } + shcoolSubService.updateById(bean); return Result.OK("驳回成功"); } @@ -150,7 +244,28 @@ public class IndexApiServiceImpl implements IndexApiService { } bean.setCleckState("1"); bean.setState("1"); + bean.setEndTime(new Date()); + bean.setReturnValue(""); shcoolSubService.updateById(bean); + + //根据标识查询用户信息 + ShcoolSub sub = shcoolSubService.getById(bean.getId()); + + //增加转单记录 + //根据标识查询转单师傅信息 + HanHaiMember byId = hanHaiMemberService.getById(sub.getGiveAccount()); + SchoolOrderLog schoolOrderLog = new SchoolOrderLog(); + + schoolOrderLog.setOrderNo(sub.getOrderNo()); + schoolOrderLog.setType("1"); + schoolOrderLog.setGiveUser(sub.getGiveAccount()); + schoolOrderLog.setOrderId(sub.getId()); + schoolOrderLog.setCreateTime(new Date()); + schoolOrderLog.setCentext(byId.getName()+":师傅结单"); + schoolOrderLog.setUserId(sub.getUserId()); + schoolOrderLogService.save(schoolOrderLog); + + return Result.OK("结单成功"); } @@ -163,6 +278,7 @@ public class IndexApiServiceImpl implements IndexApiService { } bean.setCleckState("1"); bean.setState("1"); + bean.setEndTime(new Date()); shcoolSubService.updateById(bean); return Result.OK("结单成功"); } diff --git a/jeecg-boot-module-system/src/main/resources/application-dev.yml b/jeecg-boot-module-system/src/main/resources/application-dev.yml index 725819f..de21f50 100644 --- a/jeecg-boot-module-system/src/main/resources/application-dev.yml +++ b/jeecg-boot-module-system/src/main/resources/application-dev.yml @@ -1,5 +1,5 @@ server: - port: 8003 + port: 8000 tomcat: max-swallow-size: -1 error: